A Roundup of Game Engines
This last month of April was a patchwork of different things for me with Ludum Dare 35 appearing in the middle. Before LD35 as I normally do, I took time to look at some alternative tools/languages to the Unity3D C# set that I usually use. The LD competition is a great time to learn something new. There is no better motivator than a hard deadline. There are many game creation tools out there and they are constantly being update/upgraded and new ones come online all the time. There are a few that I look at again at least every few months to see how they are progressing. Here is a list of some that I either read up on or tried out:
- Atomic Game Engine – An interesting javascript/typescript engine with a component-based architecture and a Unity-like editor. I really wanted to like this one as I do want to get more into Typescript, but I found the editor controls and asset import capabilities to be lacking and clunky when compared to Unity3d. That doesn’t mean I won’t revisit this one in a few months to see what has improved.
- GoDot Engine – This is one of the coolest ones in my opinion, but in its current state as I tried it, it was unable to produce a stable WebGL build of one of the simple demo projects. That made it a definite no-go for the Ludum Dare competition. If you want more people to play your game in a compo, you should really have a web version available. People don’t like to have to take the extra step to download, then unzip, then double click to run your game. Games with installers are even less liked (I typically will not review compo game with an installer). Something else that I don’t like about GoDot is that while it is also component-based (which is good IMO), it uses its own made up Python-like language for scripting. Why not just use Python, or a subset of it or something?
- Love2D – This one is a C++ engine with Lua bindings. While it uses one of my favorite scripting languages, it does not have an editor to help with asset importing or level design. Also, while there are some 3D libraries for it, the engine was not designed with it in mind as far as I’ve been able to determine.
- Duality – 2D only C#, component-based, Unity-like editor. I haven’t tried this one out, but my general sense it that Unity3d would win this fight.
- Unreal Engine – A big player in the game engine field. This engine is packed with features and is pretty much free unless you make a game that makes lots of money. Then you have to pay them, but I wouldn’t mind since that would mean I’d raked in lots of dough. My issue with this engine is C++. Yeah I know about the visual Blueprints scripting system, but as a coder, that doesn’t appeal to me. I also don’t want to deal with C++ crud when I’m trying to design a game. C++ is a strange thing for me. I like it, and I hate it at the same time.
- Haxe Flixel – Mostly because this is a Haxe library and I think Haxe is really cool. It can transpile to many different languages (C++, Lua, C#, PHP, javascript) which means that the output from it can run on just about anything. I definitely plan on messing with this one at some point.
Every time I do this, I am reminded of how strong the Unity3d ecosystem is. For me, it gives me the most productivity and the widest platform reach with the best tools at this point in time. That doesn’t mean, however that I will stop looking for something better because after all programmers like shiny things.