In the age of game engines “What Game Engine Should I Use” is perhaps the single most common question. The answer whoever is a completely unsatisfying “it depends”. So in this article and video we are going to look at a number of different scenarios and give recommendations. For the record, the game engine you should use is the one you like best and that fits all your needs. Granted, if you are just starting out, you aren’t qualified to make that decision, so I’m here to give you some starting points.
I Am Looking For A Game Engine To…
Land A Job
This one is pretty easy, if you are looking to learn the game engine that is most in demand on resumes, that’s Unity. Head on over to Indeed.com and search for Unity and you will find 1200+ jobs, compared to @450 for Unreal Engine. That said once you’ve shipped a professional title, what game engine you use becomes less and less important. But if you are looking specifically to land a job, Unity wins.
Make Your First Game in 2D
Artist Looking To Create A Portfolio
If you are an artist that is mostly looking for a game engine to showcase your work, Unreal Engine is hands-down my recommendation. While most game engines can be made to look good with enough effort, Unreal looks great out of the box. Plus for this purpose it would be completely free to use and is a valuable skill to add to the resume. Additionally they have a very artist friendly programming interface called Blueprints, if you want to move beyond just showcasing your 3D work and add some logic or make an actual game.
Work On An Open Source Game Engine
If working with or working on open source is your priority, the clear winner in this space is the Godot Game Engine. There are dozens of other open source game engines, but none with this level of community, enthusiasm and potential. As an added plus, the source code is also very easy to comprehend. Plus we have an excellent tutorial series for Godot available here. There are however dozens of often smaller or more specialized game engine projects out there you could contribute to.
Ship a 2D Cross Platform Title
If you are looking for a game engine to produce a 2D or 2.5D game on multiple platforms you are absolutely spoiled for choice. Unity has perhaps the most titles shipped under it’s belt and is getting better and better 2D tools with every release. Godot is another excellent option for cross platform 2D games, as it Game Maker (although each additional platform has an added cost). Cocos Creator is another great choice, which is based on Cocos2D and has been used for hundreds of game titles. If it was me personally though, starting out to make a 2D game for multiple platforms, I would choose Defold. Defold is an excellent streamlined, production tested, “source available” 2D game engine. It’s not for everybody, it has a pretty different approach to game development, but if you like it, you will like it a lot. You can learn more about Defold here.
Learn How to Make Your Own Game Engine
If you are looking for a game engine to… well, learn how to make your own game engine, I have a few suggestions here. As mentioned earlier, the source code for Godot is open and easy to understand and broken up in a very logical manner. Another great option (and it was used in a popular game engine development book) is the open source Ogre, although this isn’t a complete game engine. At the end of the day though, there is a game engine written specifically for the purpose of education and that is the G3D innovation engine, which you can learn more about here.
Make Your First 3D Game
My answer here ultimately comes down to your personal level of skill or comfort level programming. If you’ve got no desire to write code, I would recommend checking out BuildBox or Core (you can learn more about BuildBox here and Core here). If you are comfortable with programming I would recommend either Unity (huge community, huge asset store, tons of tutorials) or Godot (good community, decent tutorials and to my experiences, easier to learn). Unity and Godot have much different approaches, so if you don’t like one, try the other and vice versa.
Teach My Younger Child How To Create Games
If you are looking to get a younger member involved in games, there are a number of great options depending on their age and ability (specifically their math and reading skills). I have written a complete guide on the subject of getting kids started in game development. Since that article was written there are a couple of excellent new options including Microsoft’s excellent MakeCode, which you can learn more about here.
Ship a 3D Cross Platform Title
If your goal is to create and ship a commercial 3D game cross platform this is going to come down to a number of factors. In terms of platforms supported, it’s hard to beat Unreal and Unity, these two add modern console and hardware support first and are priority targets for hardware manufacturers to work with. If you are looking to sell a game, cost is obviously a big factor too. Both of those engines have “free” versions up until you hit a certain amount of revenue and in this regard Unreal Engine is a huge bargain, with no cost or royalties until you’ve earned a $1,000,000 dollars! There are other engines such as Lumberyard (used to make Star Citizen) which is completely free so long as you use Amazon services for online components (which many AAA games do anyways) and CryEngine (The Hunt, Rome and The Climb) which has a flat 6% commission rate. Of course there is also Godot, however Godot is currently waiting on the 4.0 release for a big improvement in graphic quality and performance.
In this scenario it’s going to more come down to equations on your end. Is source access important (if so Unity is out without a huge license paid), or targeting the newest consoles, or recruiting developers, or game budget, etc… etc… In this scenario it’s those factors that are going to drive your decision.
Create an HTML5 Game
If you are trying to make a game targeting the web many game engines we’ve already discussed can export a web version (GameMaker, Godot, GDevelop, Unity, etc), but if you want to work directly in web technologies, two immediate recommendations come to mind. If I was creating a 2D web game, I would use the excellent Phaser framework (learn more here), while in the case of 3D I would use PlayCanvas (learn more here) or Babylon.js (learn more here)
The world of game engines is a thriving place and there are dozens if not hundreds of engines I could have mentioned here. If you are interested in learning about other game engines options you can check out over 100+ game engine review here.
There are several game engines I am keeping my eye on and the fact a game engine didn’t make this list doesn’t mean I don’t recommend it. There are so many scenarios and so many options, heck, there is a good chance I just forgot about a given engine! In the AAA space there is the re-invented CryEngine or always interesting (but painful to build) Lumberyard and the exciting and capable Unigine engine that FINALLY made a free version available. Then we have new options like the just released FLAX, the in beta The Machinery to look forward to. There are also dozens of battle tested frameworks like SDL, SFML, MonoGame, LibGDX or completely new options on languages such as Rust, Haxe and Beef to try out. We have never been more spoiled for choice, so if you try the above recommendations and nothing fits you, don’t worry, there are a ton of other roads to explore!