Choosing Your First Game Engine

When just starting out in game development, one of the hardest and most immediate decisions you will have to make is “What Game Engine Should I Start With?”. Of course, as the saying goes, you don’t know what you don’t know, making it almost impossible to make such a decision without a ton of research. Right now there are 3 very popular game engines, Unity, Unreal Engine and Godot, each of which is a very good engine in it’s own right. So it makes sense to start with one of them certainly, does it not?

In my humble opinion, no, it doesn’t. Even the simplest among those three is still a very complicated application to learn and the amount of stuff you need to learn to start making games is quite large. This is of course on top of other game development tasks required to create a game like getting art assets from somewhere, learning the programming language of your game engine of choice and of course learning how games work (internally) in the first place.

If you are just starting out, I highly recommend you find a game engine that is:

  • Extremely simple while having all of the tools you need in one place
  • Comes with several game assets to play with (art and music to create a game)
  • Makes programming easier or more accessible
  • Has several tutorials or learning materials
  • Ideally, its also free

There is one engine over time I find has all of these attributes and is my recommendation to start developing games, Microsoft’s MakeCode Arcade. It is completely free, runs in your browser, comes packed with tutorials and assets to work with, has all the tools you need to create (simple) 2D games of a variety of styles and perhaps most importantly, it’s fun to work with. On top of that it has a visual programming system where you create game logic using a series of Lego brick style constructs, but you can switch to the Python or JavaScript programming language at any time. Even better, I have a 30 minute MakeCode Arcade tutorial that teaches you everything you need to know to get started!

If MakeCode Arcade isn’t a good fit for you, another excellent option with very similar characteristics (except the ability to switch to JavaScript and Python) is the excellent GDevelop game engine. If you are more interested in the coding side of game development and do not need a level editor or other 2D tools and instead want something easy to use but a bit more focused on coding two turnkey suggestions are RayLib a C based game development framework that includes everything you need to get started coding, as well as the Lua based LÖVE framework, a game development framework we featured in our Game Development for Complete Beginners tutorial series.

The best things about all of these suggestions is, they have incredibly short learning curves and you will get great results almost right away. You don’t need to spend a long time learning them, perhaps only a weekend. The skills you pick up and the knowledge you gain will be surprisingly applicable if you decide you want to move on to a game engine like Unity, Unreal or the Godot Engine. I would argue spending a few days on a “simpler” game engine to start, with make switching to a more complicated engine later a much easier task than just starting with that engine from day one!

Key Links

MakeCode Arcade

GDevelop game engine


You can learn more about my suggestions for choosing your first game engine in the video below.

Scroll to Top