Developing 3D video games isn’t easy. It typically requires hours of modelling and animation and complex code that takes three dimensions into account. They tend to be more expensive, and require more resources to produce.
Contrast this with 2D games; simple 2D games can be made in minutes. The code is far simpler, and the resources are 2D—which are much less difficult to create. There is a reason why most indie games are 2D, flat games like platformers, top downs, or isometrics are just better for small or solo teams.
If you are planning to be part of a small game dev team, or if you’re a solo developer, picking out a 2D engine is a good choice. Some small teams and even solo developers do make 3D games (it’s not impossible), however 2D games are just easier to work with.
Therefore, here is a list of some of the best 2D engines, both free and otherwise. The list is unordered, not only because ‘best’ is relative, but also because engine choice is usually personal to a team or a project. Therefore I’ve tried to assemble a list that covers many development types and creators, rather than just listing every engine.
Godot (pronounced ‘G’dough’) is open source and completely free. It’s been praised for being very lightweight and fast, and it’s capable of creating both 3D and 2D games. It functions a little differently than other engines, and it has its own programming language: GDScript. GDScript is similar to Python, so it shouldn’t be a challenge to learn for those with a Python background, or for beginners. It also allows for visual scripting with connectable blocks and scripting in other languages, like C++ and C#. It features quite a few publishing targets: Windows, Mac, Linux, HTML5, iOS and Android.
On the flipside, many people have described it’s tools as restrictive, finding it difficult to achieve the same customization found in other engines. It also has a bit of a learning curve—since the engine does work differently, especially if you’re coming at if from working with a different engine.
Godot doesn’t have any best selling games made in its environment yet, but that doesn’t stop it from being a very promising engine for new studios.
GameMaker Studio 2
It is the evolution of the original GameMaker, and it hosts some impressive features. The first is that outside of audio, the engine can produce an entire game without the need for other programs. It has a decently robust sprite making engine built in, an animation system, a level editor, and tiling and mapping features. GMS 2 excels at starting and making games quickly, with an extremely rapid setup time and an easy to learn programming language, it’s easy to get your ideas into code right away. It also features its own visual programming language called Drag and Drop, making this a good 2d game engine for no coding.
However, this ease of startup comes at an expense. While it’s easy to start a game and the engine is flexible when it comes to code, it’s very easy for messy code or design practices to return with a vengeance later on in a project. Good organization is important. Along with this, while it exports to many platforms, each platform sits under a separate paid license. These license fees can add up to a very hefty sum if a developer wants to publish to more than one platform. Finally, when coding, GMS 2 uses a proprietary programming language: GML. While this isn’t a problem for some people, it makes it very difficult if you try to migrate your project to anywhere but GameMaker Studio.
GameMaker Studio 2 has had some pretty famous games released for it. Hyper Light Drifter, UNDERTALE, Nidhogg, and Risk of Rain were all made using this engine. The desktop license starts at $99, but that price goes up significantly if you want to publish to console.
Unity is one of the most used game engines of all time, and many people are already familiar with it. The engine is built around making 3D games, but Unity is also good for 2D as well. It has a massive community full of helpful tutorials, and it also has the Unity Asset Store, which is full of useful tools and assets to help game development.
Unity has been used to produce a few well known 2D games, like Ori and the Blind Forest, Cuphead, and West of Loathing. Unity is free to download and use for projects with funding or revenue under $100k. This makes it affordable for indie developers, although it moves up to a more expensive pricing model after that cap is reached.
The Corona Engine is free to use, and it uses the easy to learn and use Lua programming language. Corona is designed around making mobile games, in fact when making your game. The preview for the game is displayed in a phone emulator. Corona is also useful because it features live game making, where the changes you make to the game are instantly visible.
Corona is a bit bare bones, there is no real interface like other engines, just an IDE and the game preview. All assets must be made in other programs, and all the animations must be sprite sheets. This can be both intimidating and freeing, and more work. However, Lua is fairly easy to learn, and the documentation is well written and easy to follow.
LibGDX is less of a game engine and more of a framework; offering loads of features but no real beginner friendly interface. This is freeing for many people who are skilled at programming. And want to ditch the black boxes found in more pedestrian game engines. But don’t want to go through all the work of developing their own engine. It’s made for the Java platform, and games can be written in Java, Scala, or Clojure. Being on the Java platform means that the games made using libGDX are very portable. And can run on a number of platforms.
Ren’py is a very different kind of engine. It’s specific like RPG Maker in that it’s designed around a central popular topic. For Ren’py the game of choice is visual novels. If you’re a fan of visual novels or dating sims you’ve probably played a game made on Ren’py. It has a very easy to learn built in scripting language, with Python support if more complexity is required. It’s open source and free. And it exports to Windows, Linux, OSX. Android, and iOS with support for HTML 5 under development.
Finding the right one to invest in can be difficult but rewarding. And starting your career in game design is as simple as downloading a program and watching some tutorials.