What Engine Should I Use for My Game?

No, I’m not considering switching engines for Starcom: Nexus. This is a post oriented toward other developers, particularly new developers, who are facing decision paralysis in choosing an engine for their game.

One of the most common question on /r/gamedev is “what engine should I use for my game?” It seems to come up almost daily.

Spoiler Alert: I’m not going to tell you what engine to use. But I am going to do a survey of the engines used by popular games. Looking at quality games in your chosen genre should give you an idea what is at least possible with an engine.

Caveats:

  • I’m focusing on games released on Steam, the largest market for desktop games and a likely target for solo and small developers.
  • In my research I looked at a lot of games quickly and was not always able to identify the engine used for a particular title. Hopefully I didn’t mis-identify any engines.

What is a game engine? Why are they used?

A game engine is a collection of tools and software libraries that handle functionality that is common across different games. This might include: rendering graphics, physics simulation to handle movement and collisions, audio, etc. An engine allows a developer to implement common functionality very quickly without having to re-invent the wheel at every turn and allows them to focus on the features that make their game unique. They also tend to push developers toward particular development models.

Besides providing baseline functionality, most modern engines also provide a graphical editor to make creation of the game’s world and assets easier.

Fretting over which engine to use is completely understandable: once you’ve started development, changing engines becomes progressively more difficult. Not only will you have to reimplement almost all of the functionality and modify many assets, but every game engine has its unique quirks, bugs and design patterns. Changing engines means throwing that experience out and starting fresh.

So choosing which engine to use is important.

The Most Played Games on Steam

I’ll start with a list of the 50 currently most played games on Steam (as of October 2019), along with their respective engines:

RankGameEngine
1CS:GOSource
2Dota 2Source 2
3PUBGUnreal 4
4Destiny 2Custom
5Rainbow Six SiegeCustom (AnvilNext)
6GTA VCustom (RAGE)
7Monster Hunter: WorldCustom (MT Framework)
8RustUnity
9Team Fortress 2Source
10WarframeCustom (Evolution)
11ARK: Survival EvolvedUnreal 4
12Football Manager 2019???
13Rocket LeagueUnreal 3
14Sid Meier's Civilization VICustom
15Source SDK Base 2013
16Total War: Warhammer IICustom
17Euro Truck Simulator 2Custom (Prism3D)
18Garry's ModSource
19Dead by DaylightUnreal
20Sid Meier's Civilization VCustom
21Hearts of Iron IVCustom (Clausewitz)
22Dota UnderlordsSource
23World of Tanks BlitzCustom (CORE)
247 Days to DieUnity
25TerrariaCustom XNA
26Cities: SkylinesUnity
27Path of ExileCustom(?)
28Europa Universalis IVCustom (Clausewitz)
29Arma 3Custom (Real Virtuality 4)
30Farming Simulator 19Custom (?)
31The Witcher 3: Wild HuntCustom (REDengine)
32War ThunderCustom
33Fallout 4Custom (Creation)
34Wallpaper Engine???
35StellarisCustom (Clausewitz)
36UnturnedUnity
37NBA 2K20Custom
38DayZCustom
39PaladinsUnreal
40The Elder Scrolls VCustom (Creation)
41Crusader Kings IICustom (Clausewitz)
42RimWorldUnity
43The Elder Scrolls OnlineCustom
44Stardew ValleyCustom XNA
45Don't Starve TogetherCustom
46Counter-StrikeGoldSrc (Source Predecessor)
47Black Desert OnlineCustom (Black Desert)
48Age of Empires IICustom (Genie)
49Assassin's Creed OdyssseyCustom (AnvilNext)
50FactorioCustom

Note: I use the term “custom” to refer to a proprietary engine developed for in-house, even if it is used on more than one title or series.

A few things jump out immediately:

  1. Most of them use a custom game engine
  2. Most of them were made by a AAA studio and/or were part of an existing franchise
  3. The list is dominated by multiplayer games

This makes sense: AAA studios have large budgets both for development and marketing. Sequels have a built-in base audience and have existing technology to leverage. Multiplayer games have much longer playtimes than single player games.

Do not take this list as evidence that you should make a custom engine. If you’re reading this, you are probably not a AAA studio with a proprietary engine you’ve developed over years.

Also, this isn’t really a list of what you might necessarily consider “popular” games.  NBA 2K20, to pick an egregious example, has a 15% Steam review score. According to Steam 250, that makes it the 2nd most disliked game on Steam, which is not a position one would associate with “popular.” While many of the games on the list are legitimately popular, it misses many great games with finite playtimes.

The Most Popular Games on Steam

Speaking of the Steam 250, they use an algorithm that produces an alternative selection of “popular” games. You can read about it here, but in short it looks at the approval rating (% positive reviews) and the number of reviews. So a game with a 89% score out of a 1000 reviews can rank higher than a game with a 90% score out of 100 reviews.

Here are the top 50 and their respective engines:

RankGameEngine
1Portal 2Source
2The Witcher 3: Wild HuntCustom (REDEngine)
3TerrariaXNA
4FactorioCustom
5Counter-StrikeGoldSrc
6Left 4 Dead 2Source
7Stardew ValleyXNA
8The Binding of Isaac: RebirthCustom C++ (Based on original Flash game)
9PortalSource
10Euro Truck Simulator 2Custom (Prism3D)
11RimWorldUnity
12Mount & Blade: WarbandCustom
13Doki Doki Literature ClubRen'Py
14Garry's ModSource
15Hotline MiamiGame Maker 7
16BattleBlock TheaterCustom
17South Park: The Stick of TruthCustom
18Life is StrangeUnreal 3
19Half-Life 2Source
20Don't Starve TogetherCustom
21A Hat in TimeUnreal 3
22DishonoredUnreal 3
23Don't StarveCustom
24One Finger Death PunchXNA
25Civilization VCustom
26The Wolf Among UsCustom
27Iron SnoutGame Maker
28To The MoonRPG Maker XP
29Tomb Raider (2013)Custom
30VA-11 Hall-AGame Maker Studio
31BroforceUnity
32OneShotRPG Maker XP
33UndertaleGame Maker Studio
34Counter-Strike: SourceSource
35Katana ZeroGame Maker Studio 2
36MirrorUnity
37Slay the SpireLibGDX
38Castle CrashersFlash
39FTLCustom C++/SDL
40Fallout: New VegasCustom
41Super HexagonCustom
42Eternal SeniaRPG Maker
43The ExpendabrosUnity
44Saints Row: The ThirdCustom
45Slime RancherUnity
46Half-LifeGoldSrc
47BioShock InfiniteUnreal 3
48OutlastUnreal 3
49Hollow KnightUnity
50The RoomUnity

At a glance, it at least looks more like a list of popular games: all the games are both well known and widely praised and clearly meet any reasonable definition for “popular game.”

Notice that almost half of them were developed using a custom engine, although Source, Unity, Unreal and Game Maker make multiple appearances each (arguably Source has an unfair advantage being Valve’s own engine).

The list is conspicuously dominated by older games, which makes sense: The algorithm favors games with lots of positive reviews. Not only have older games had longer to accumulate reviews, many of them were released during a time when there was dramatically less competition.

Powerful commercial engines have only recently become available to solo developers and small studios. Unity was released in 2005 and was MacOS only until version 3 in 2010. Unreal didn’t become available to the general public until 2009. Games often have a development cycle of several years, so the first successful games in those engines didn’t start appearing until a few years later.

The Most Popular Recent Games on Steam

Let’s look at the 25 most popular games released for 2019, 2018 and 2017. For this lists I removed free games, because in a previous analysis I discovered that price has a moderate inverse correlation with review score. I didn’t bother to remove them for the all time list because there was only one (Doki Doki Literature Club). I also added an entry for primary genre.

The notes column points out some games that are not quite free, but extremely low price, as well as NSFW entries.

YearRankGameEngineGenreNotes
20191Katana ZeroGameMaker Studio 22D Platformer
20192Slay the SpireLibGDX2D Roguelike Deckbuilder
20193Resident Evil 2Custom Resident Evil Engine3rd Person Shooter
20194Muse DashUnityRhythm
20195Risk of Rain 2Unity3D Multiplayer Co-op Roguelike
20196Bloodstained: Ritual of the NightUnreal 4Metroidvania
20197Touhou Luna NightsGameMaker Studio 22D Metroidvania
20198Baba Is YouMultimedia Fusion 22D Puzzle
20199My Friend PedroUnityShmup Platformer
201910UnheardUnity2D Detective Puzzle
201911A Short HikeUnity3rd Person 3D Exploration
201912?? | Exception???2D Strategy Programming
201913Streets of RogueUnityRoguelike RPG
201914Dungeon MunchiesUnity(?)2D RPG
201915GornUnityVR Action
201916Beat SaberUnityVR Rhythm
201917Fantasy Girl???Jigsaw Puzzle$0.99, Sexual Content
201918Oxygen Not IncludedUnity2D Base Building
201919SupralandUnreal 43D Exploration Puzzle
201920Kind WordsUnityMultiplayer Social
201921Amid EvilUnreal 43D FPS
201922Nova DriftGameMaker Studio 22D Action
201923One Finger Death Punch 2Unity2D Beat 'Em Up
201924Hypnospace OutlawConstructPoint And Click
201925A Plague Tale: InnocenceCustom3D Adventure
20181RimworldUnity2D Base Building
20182MirrorUnityMatch-3 Puzzle$1.99, Sexual Content
20183CelesteXNAPixel Platformer
20184DuskUnity3D FPS
20185SubnauticaUnityOpen World Survival
20186Dead CellsHeaps.ioPixel Metroidvania
20187Return of the Obra DinnUnityPuzzle
20188GrisUnity2D Puzzle Platformer
20189Just Shapes & BeatsUnityRhythm
201810Zup! X???2D Puzzle$0.99, Achievement Hunter
201811Epic Battle Fantasy 5Flash2D Turn-based RPG
201812The ForestUnityFirst Person Survival Open World
201813Nekopara ExtraKiriKiri (?)Visual NovelSexual Content
201814Fox Hime Zero???Visual NovelVisual Novel
201815Deep Rock GalacticUnreal 4Multiplayer FPS
201816The Room ThreeUnityPuzzle
201817CrossCodeCustom HTML5/Impact2D Action RPG
201818Sabbat of the WitchKiriKiri Z (?)Visual NovelSexual Content
201819Miracle snack shop???Dating SimSexual Content
201820Lethal League BlazeUnity(?)Fighting
201821Zup! 8???2D Puzzle$0.99, Achievement Hunter
201822Steins GateCustomVisual Novel
201823Super Animal RoyaleUnityMultiplayer Battle Royale
201824Pit PeopleCustom2D Turn-based Strategy
201825Zup! S???2D Puzzle
20171A Hat in TimeUnreal 33D Platformer
20172Slime RancherUnity3D Adventure Exploration
20173Hollow KnightUnityMetroidvania
20174CupheadUnity2D Platformer
20175Finding ParadiseRPG Maker XP2D Pixel
20176Hidden Star in Four SeasonsCustomBullet Hell
20177Nekopara Vol 3KiriKiri(?)Visual NovelSexual Content
20178Divinity Original SinCustom3D Turn-based Coop RPG
20179GorogoaUnity (Originally Java, ported)2D Puzzle
201710SuperflightUnityFlightsim
201711West of LoathingUnityRPG Adventure
201712What Remains of Edith FinchUnreal 4First Person Adventure
201713Hidden FolksUnityPuzzle, Hidden Object
201714Opus MagnumCustom C#Puzzzle Programming
201715OrbtXLUnityPuzzle$0.99
201716RakukenRPG Maker XPRPG
201717Planetarian HDSiglusEngine(?)Anime Visual Novel
201718Dungeons 3Unity3D RTS
201719CrawlUnity2D Local Multiplayer Dungeoncrawl
201720RavenfieldUnityFPS
201721Life is Strange: Before the StormUnity3D Adventure
201722Senran Kagura Estival VersusCustomBeat 'em upSexual Content
201723Cat QuestUnityAdventure RPG
201724Angels with Scaly WingsRen'PyVisual Novel Dating Sim
201725MonolithGameMaker Studio2D Bullet Hell

Two interesting things jump out immediately:

  1. Far fewer recent games used custom engines.
  2. Unity, which only had a handful of entries in the Top 50 all-time list, makes up nearly half the popular releases in the past 3 years.

The Major Engines

Game Maker 2

Game Maker 2 Studio is a 2D commercial engine that offers a free 30-day trial, but requires a paid license for use.

The Creator license costs $39/year and has a few limitations such as not being able to disable the splash screen or turn-off their collection of analytics data.

The Developer license costs $99, is permanent and allows disabling of the splash screen and analytics, but doesn’t cover consoles.

The Console license costs $399/year.

Development for GMS games is done using visual scripting and/or a proprietary language called GML.

Unity

Unity is a commercial engine that’s free to use but requires a paid subscription if your studio generates $100k revenue or more per year. Between $100k and $200k the “Plus” model costs $40/month per developer seat. Above $200k requires the Pro model at $125/month.

The free version is identical to the paid version in terms of core features except:

  • The “dark” skin isn’t available
  • It shows their splash screen in builds

This second constraint has created an odd paradox: games developed with very low budgets are forced to show the splash screen. This has created an association in the minds of players between Unity and low-quality games. Developers who can afford the Plus and Pro subscriptions don’t want the association, and remove the splash screen. Players are left with the impression that low-budget and only low budget games are made with Unity, despite the fact that Unity powers many of the most popular games on Steam.

Development for Unity games is done in C#.

Unreal

Unreal is a commercial engine that’s also free to use, but requires a 5% royalty on revenue above $3000 per calendar quarter. This royalty is calculated based on gross revenue, before any store percentage is taken out.

Epic waives this royalty for games released on their store, although the store is currently invite-only and very selective with about 100 total titles.

Development for Unreal games is done using Blueprints (Unreal’s visual scripting environment) and/or C++.

XNA

XNA isn’t exactly considered a full engine, rather it’s an environment that encapsulates many of the low-level tasks required for game development in a .NET framework by Microsoft. Development was discontinued in 2013.

Where’s Godot?

Godot is a completely free, open-source engine frequently recommended on /r/gamedev.

Development is done primarily with a custom language called GDScript, although it also supports C# and C++.

As an open-source engine, developers have complete freedom to change it however they want. Theoretically it is capable of creating great games in any genre. But so far, no popular games have been developed in it yet, leaving it in the position of its eponymous play.

The most likely reason for this is that it is playing catch-up with major commercial engines with budgets in the hundreds of millions of dollars. While it will probably never reach feature parity as long as there is such a huge budget gap, there are plenty of very popular games that do not require any of the most advanced features of Unity or Unreal.

Maybe you can be the first to create a really popular game in this engine. Even developers who don’t use Godot gain some benefit of the open-source pressure on the larger engines, encouraging progress and an accessible price point.

Custom Engine

Despite the increasing popularity of third-party game engines, there are still successful, great games being developed with in-house engines (often leveraging frameworks like SDL or Libgdx). It is beyond the scope of this post to evaluate the risks and merits of building your game without a third-party engine.

Recommendations

As I stated in the beginning, I’m not going to tell you which engine to use, but I will give a few suggestions:

  • Given the huge amount of time even a modest game project takes to complete, I would advise downloading and experimenting with an engine to start, based on the genre you hope to make a game in. Do a couple tutorials. If you find the workflow not to your style, try another.
  • Unity is clearly capable of making high quality games in a wide variety of genres.
  • Unreal also has a large portfolio of great games. It has a reputation for being oriented towards 3D FPS games, but there are plenty of solid examples in other genres.
  • Game Maker Studio has a reputation for being easy for beginners but capable enough that several very popular games have been developed in it. It is primarily designed for 2D games and its 3D capabilities are limited.
  • Making a good game requires a lot of work. Powerful engines do a lot of that work for you, but it has become a Red Queen problem: they’ve enabled so many people to make games that the bar for quality keeps rising.

Regardless of the engine, expect to encounter a lot of challenges, frustration and hair-pulling bugs. If you’re not able to push through that, you’re not ready to make games. But if you are, creating an experience that brings players joy is one of the best feelings.