A MACHINE THAT TURNS CAFFEINE INTO CODE

We’re going to take a bit of a break discussing the component system and talk about engines as a whole. While writing your own engine is a thing you can do; if you’re wanting to get into serious game development one of the prebuilt engines can get you up and running nearly instantly. To that end I’ll be talking about Unity, Unreal, Godot, and Game Maker Studio; the four names I hear the most when I talk to people about game development. There are dozens of great engines out there and I will be talking about a few more in future and a few more after that — if you have a personal favorite I’ll get to it but feel free to email me and tell me why.

Starting with Unity, first announced in 2005, it’s grown into one of the largest market shares in independent game development, with some reports labeling it as the engine behind almost half the projects out there. This hasn’t stopped it from being used by some big names, it’s the powerhouse behind games like Blizzard’s Hearthstone and Kerbal Space Program. It’s simple to start, and has a great asset store where you can find everything from ready to go projects to mix and match animation sets which can quickly allow you to get a product out. On the programming side, the Unity language of choice is C#, which is pretty quick to learn and is itself becoming one of the more common languages to know for development in general. They also opt for an Entity Component framework, which we will have already covered , allowing for you to reuse bits of code to try and keep your time spent repeating yourself to a minimum.

Next we have Epic’s Unreal 4 game engine, successor to the Unreal 3 engine which powered the large majority of triple A games in the last generation including Gears of War, Mass Effect, and the Batman Arkham series. Unreal 4 has been used for some ground breaking games like Control, Final Fantasy 7 Remake, and has opened itself up for the hobby market giving you some ground breaking tools at any level. While it’s initial learning curve can be a bit more steep than Unity, it can’t be understated that the documentation is top notch and it’s marketplace is quickly growing to allow new users to start running as soon as they can. In the back end, Epic went with an interesting choice with the prominence of visual scripting, or Blueprints, as they’re called in engine. This allowed for even novice programmers to quickly string together function sets to great effect while still allowing a C++ powered set of tools for those who want to get into the nitty gritty of the system.

Godot is a relative newcomer in the game engine scene, first released in 2014 it may only be six years old but it’s made a big splash. A big focus on a single game creation system for multiple platforms it can use Opengl to do both 2d and 3d games. Scripting side Godot is entirely open source written in C++ and supports C++, C#, and a python like language known as GDscript, there are also bindings available for Rust, Nim, and D. While it hasn’t found it’s first big name app it’s a well loved engine that is rapidly evolving to greater and greater heights.

Game maker is one of the big grand daddy game engines, getting it’s first release in 1999 only one year after the unreal engine officially hit the market. It’s a simple 2d game engine that is geared towards visual editing and not needing to know script to produce games. It’s a great first start to game development with components that allow for a user to quickly produce platformers and adventure games as well as the ability to export to all of the major platforms. The only black mark in my opinion is the fact it is a commercial only engine; opting out of the revenue share of other commercial engines and going instead for a licence only option. While the licence is the most affordable of the three commercial options on this list — it’s still a hinderance to wider spread adoption.

Over the next few issues I’m going to do a deeper dive into the different engines. Giving some tips and tricks on how to use them, as well as some design philosophies that can help with advancing your game quicker.