Indie Game Engine Choices 2011
February 25th, 2011What? Is it 2011 already?! And I will be finished with Spandex Force: Superhero U soon? This means that it’s time to plan ahead for my next game project!
One of the most crucial choices right now is what game engine to use for my next game. I use the term “game engine” very loosely – I don’t care about all the added bling bling right now. In fact, I would be just fine with a low-level engine that provided graphics and audio abstraction layers. Granted, extra functionality will result in a shorter development time, but first and foremost I am going to look at what platforms are available for distribution with the different game engines. For a small developer like me it means incredibly much if I can reach an extra market with not much extra effort!
It’s worth noting that this is a non-comprehensive list of all the available game engines. These are simply the ones I think are of most interest to me as an indie developer.
| Engine Name | Language | Windows | Mac | Web | iPhone | Android | Xbox 360 | Linux |
|---|---|---|---|---|---|---|---|---|
| Flash/haXe | haXe | X | X | X | (X) | (X) | (X) | |
| Flash/Actionscript | Actionscript | X | X | X | (X) | (X) | ||
| Unity | C#/JS | X | X | (X) | X | X | ||
| LWJGL | Java | X | X | (X) | (X) | X | ||
| Simple DirectMedia Layer | C++ | X | X | X | X | X | ||
| Gosu | C++ | X | X | X | X | |||
| Allegro | C++ | X | X | (X) | X | |||
| BlitzMax | Misc | X | X | X | ||||
| SFML | C++ | X | X | X | ||||
| ClanLib | C++ | X | X | X | ||||
| Game Maker | Misc | X | X | |||||
| pygame | Python | X | X | (X) | (X) | X | ||
| Silverlight | Misc | X | (X) | (X) | (X) | |||
| XNA Game Studio | C# | X | X | |||||
| Upcoming Engines | Language | Windows | Mac | Web | iPhone | Android | Xbox 360 | Linux |
| Monkey/Mojo | Misc | X | X | X | X | X | X | |
| ExEn | C# | X | X | X | X | X |
So, what’s this table all about? This is a list of different game engines/SDKs/development environments that are suitable for indie games. An X marks support, while an (X) marks dubious support that may or may not work correctly/easily.
The platforms are sorted in order of priority, from left to right. Web has a very high focus, but if the benefits of the other platforms outweigh that of web based distribution, I could definitely skip it. After all, iPhone (which includes iPad) and Android might be emerging as quite valid alternatives.
Based on the platform support, each engine is listed in order of priority. Essentially, a development environment that e.g. lacks support for Mac will be at the bottom of the list, plain and simple.
A quick look would show that haXe is the way to go, but that’s not the entire truth. The language is not widely spread, and the support is quite lacking. Actionscript is what I’m using for my current game, but it’s not really a great environment to develop in. Other than those two, Unity and LWJGL have some sort of support for web based games, but I still claim that the Unity plugin and Java work pretty poorly in browsers. I’m not dismissing LWJGL completely, though – I’d love to develop in Java.
If I were to decide that web based distribution isn’t all that cool after all, I think that SDL is a clear winner. I have made a small game in it earlier and it’s decent to work with. The problem is that the Android port is of an old version, and I’m not sure how functional the iPhone port is.
Lastly, I have to make some honorary mentions regarding ExEn and Monkey. ExEn is a project to port XNA to various platforms, and it’s really very interesting. Monkey, on the other hand, is a new upcoming language + graphics framework by the developer behind BlitzMax. Not only will it support the listed platforms, but also HTML5. Quite, quite interesting!
Have I missed something?






