I want to write games that run on all the major platforms.
I also want people to be able to play them by downloading a file and double clicking it. That means a single .exe/.app file.
I’m happy to use OpenGL directly for graphics (I’ll mostly be working in 2D). What I don’t know how to do is show a window, handle mouse/keyboard input and play sounds in a cross-platform manner.
I don’t really mind what the underlying language is, though would prefer to avoid C++ and Java. C#, Ruby or Python would be preferable, in that order 🙂
Please, SO, save me from having to write Flash games!
The “Java platform” works reasonably well, once the JRE is installed — there is JWS (Java Web-Start) and the JRE can be packaged with the client I suppose.
There are a number of cross-platform game libraries for Java with OpenGL bindings such as Java Monkey Engine. There are also 2D libraries such as Slick. If you want a “really lightweight game library” (e.g. just basic OpenGL, keyboard/mouse IO, and precise timing) then I would highly recommend LWJGL which provides just that.
Java isn’t suitable for all games — but it be an option that worked very well for me for a course project. It was developed on Windows/Linux and played on Windows/Linux/OS X (get a non-ancient JRE installed for OS X … bundled version is often severely dated.)
Edit I lied — I really really dislike Java so I actually wrote my game/projects in Scala [it is a must to try for a JVM target] and just took advantage of the JVM and existing libraries 😉 They ran well with no performance/GC issues on Java 6u18+.