I’m one of those people who plays with lots of tech and checks every new engine or tool to evaluate it’s suitability for me ideas.
This was great when I was a Technical Director making choices for the benefit of the team but not so great when I’m working by myself and am often driven more by the technology needs than the requirements of the the game in development.
At the moment the main focus is getting several smaller games out and released on several different formats and to do this I need to use multiplatform tools.
Believe me I’ve tried them all over the last two years and evaluated everything. Some got ditched for the simplest of reasons and while they aren’t the right tool for me that doesn’t mean they aren’t the right tool for you so don’t take it that if something isn’t on this list it’s not worth your time to evaluate it for your purposes.
Also I’m a cheap bastard so these tools need to be cheap to get started with and not have silly licencing restrictions. (I don’t mind splash screens and credit where credit is due)
Moai is ace but I’m not using it at the moment for anything in development.
Moai SDK is a minimalist, open-source game framework optimized for smooth performance in native apps on Android, iOS and Chrome (via NaCl). It provides 2D and isometric rendering and animation, physics, text handling, particle systems, and more from Lua script or C++. Scripting Moai in Lua is a fast way to build and tune games, and gives you a single code base across multiple device platforms and app stores. Full access to the source means you’ll never have to make a compromise in your game play experience or delay your schedule to wait for help.
I love Moai and it’s been developed by game developers for their own use. It’s also being used by Double Fine for Double Fine Adventure of Kick Starter fame.
The main reason I’m not using it right now is I want to hit as many platforms as possible without messing around in a dozen different dev environments and IDE’s and really I’d need to put a few days for each platform fine tuning the host which would be ideal in a company environment or if I’d got one really strong product I’d be able to take the stress of a couple of weeks in a dozen different environments.
A downside to Moai is the documentation. The problem is it’s by a small studio for internal use and then opened up to the wider community specifying it’s for Pro devs. It’s actually seriously small and the code is easy to read so you’ll soon be up to speed but don’t expect your hand to be held. You want to use Adverts in your game then add the code to the host and link it to Moai yourself. You’re a pro. Works for me but might not work for people who don’t have 20+ years coding experience.
Haxe, HaxeNME, HaxeFlixel
Haxe is a EMCA styled language that will be very familier to Flash developers who are used to AS3. Since my last experience of flash development was back when scripting was a second class citizen so I came to this pretty blind but Haxe is the language and NME is a set of libs that are very similar to the Flash ones with Flixel being, obviously, the port of flixel to haxe.
Why use this instead of flash? Well it’s more portable because it compiles to native code which also means it’s faster so if you’re a coder/designer locked into Adobe products it should be a no brainer to give it a go. For the rest of us it’s a bit more difficult of a choice but it still took me a couple of goes to decide that this is the right system for my smaller 2D games.
Haxe can be compiled to all popular programming platforms with its fast compiler – JavaScript, Flash, NekoVM, PHP, C++, C# and Java (soon) – which means your apps will support all popular mobile devices, such as iOS, Android, Windows Mobile, webOS and more.
NME is a free, open-source framework that enables development for iOS, Android, webOS, BlackBerry, Windows, Mac, Linux and Flash Player from a single codebase. Unlike most cross-platform frameworks, NME applications are not written in a low-level language (like C or C++) and does not require a virtual machine or runtime (like Java and Adobe AIR) in order to run on a target platform.
HaxeFlixel is proudly made with Haxe, NME and originally based on as3 code from Flixel. Haxe is a programming language similar to as3 but far superior and open-source.
HaxeFlixel currently lets you compile games to IOS, Android, Blackberry, WebOS, Mac, Windows, Linux and Flash.
Three projects interlinked make up this one section which is why it gets three blockquotes
You can code your own libs in Haxe of course and other libs are available but Flixel for flash is pretty mature and some quick 2D games have been made with it making it a good choice for me.
As with Moai documentation can be sketchy in this part of the development world. There’s tonnes of it but you’re never quite sure which bits are correct for your use case. Once you find your way around (and for flash devs that’s 10 mins) it’s pretty easy and Googling for how to do something in AS3 will normally give you an answer between 0-100% correct heavily weighted towards the ‘whooopie’ end of the spectrum.
The world uses Unity it seems. Some really nice games have been produced with it but the Pro licence is pretty expensive for the starving indie. Fortunately the terms of the free licence (formally called indie if my memory is correct) are really liberal and the splash screen Unity adds upfront will satisfy them.
The downside of the free version isn’t the the splash screen but the features that are cut out such as shaders which I really like and want to use given the styles of games I’d like to write in this engine. That said this engine allows RAPID!!!! development of simple 3D games that don’t require shaders or gazillions of particles so that’s where I’m using it.
For independent developers and studios, Unity’s democratizing ecosystem smashes the time and cost barriers to creating uniquely beautiful games. They are using Unity to build a livelihood doing what they love: creating games that hook and delight players on any platform.
I’m sticking with 3.5 because as well as the standard licence I snagged the free iOS and Android licences a while back and I’m pretty sure they don’t carry forward into new major version numbers. If I have a killer project for Unity then I might upgrade.
Final negative note; you need the pro version to add features to Unity and you can’t even form nice WWW get and post requests without it.
UDK
Last but not least is the version of the Unreal Engine open to people without enough dosh to satisfy Epic.
What is it?
This is the free edition of Unreal Engine 3 that provides access to the award-winning 3D game engine and professional toolset used in blockbuster video game development, architectural visualization, mobile game development, 3D rendering, digital films and more.
Who’s it for?
Anyone. Everyone. You. Unreal Engine 3 has been used by game developers, researchers, television studios, machinima directors, artists and students. If you have an idea that needs to be brought to life in a game engine, UDK is for you.
While this is obviously a great engine for FPS developers it’s also been used in some really cool titles such as Waves by Squid In A Box and that is exactly the style of game I plan on using UDK for.
I have a plan for a much larger game that might use UDK in the future but we’ll see.
So that’s the current toolset in terms of development environments and libs. The rest of it’s just text editors and old versions of Adobe products I’ve got legit licences for for graphics with SFXR for sfx generation.