Steam doesn't require an API unless you're using their achievements system or integrating features to interact with the Steam interface whilst your game is playing. All you basically need to do is send them your game and they can add it for downloading. If you have cross-platform version of the game, they will manage the sorting on their end for people to download the game on their computers respectively.
By jlnr (dev)
Date 2012-04-19 01:49
If a Gosu game became big & serious enough for Steam and if Ocra were a problem, one could probably still port it to C++ in a matter of days. I wouldn't worry about it...(& we only know after someone tries :) )
The only forseeable problem is that steam games must be a stand-alone executable. (I forgot Valve's exact wording, but that's what I understood of what was on their site.) This is why there are some games built in flash for sale on Steam, but they have to be contained in an .exe wrapper to be vended.
I think if you use Gosu with C++ there's no problem right? :)
Right. It must be self-contained, I believe. (i.e. not external files like "media" or "sound" or "maps" but all bundled in the final executable)
Contact Steam if you have any questions regarding their policies on this.
I think the reason we've forgotten about it is because Gosu doesn't (and can't easily be made to) work with it.
As Eris pointed out, you wouldn't be able to use Gosu -- I recall stumbling across a Google Code project that was meant to be porting Gosu to Java, but I'm not sure whether or not it ever got anywhere.
You could certainly use JRuby to write a game, and it would be a lot easier to ship it, but you'd have to use Rubygame or Slick2d.
(also @erisdiscord) Why not? I didn't know that... :/
JRuby is written in Java and runs on the Java VM, so any C extension support would most likely have to be a wrapper around JNI.
There is experimental support for C extensions in the latest version, but experimental's the keyword here: most libraries that use it aren't quite working yet and there's no guarantee it won't crash. The more non-trivial a library is (Gosu is very non-trivial; most SWIG-generated bindings are), the less likely it is to work.
Also, I'd be surprised if JRuby's extension support is binary-compatible with MRI; you probably have to recompile. It's pretty hard to actually find any information about it, though.
By jlnr (dev)
Date 2012-05-17 08:08
You can install JRuby on OS X with rvm and then do gem install gosu --platform ruby
. The source gem can be built on OS X specifically for trying out other Ruby interpreters.
I think I tried it on JRuby and didn't even understand the error message. But I made the Tutorial work on Rubinius and MacRuby once! ;)
Loading...