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:
Rank | Game | Engine |
---|---|---|
1 | CS:GO | Source |
2 | Dota 2 | Source 2 |
3 | PUBG | Unreal 4 |
4 | Destiny 2 | Custom |
5 | Rainbow Six Siege | Custom (AnvilNext) |
6 | GTA V | Custom (RAGE) |
7 | Monster Hunter: World | Custom (MT Framework) |
8 | Rust | Unity |
9 | Team Fortress 2 | Source |
10 | Warframe | Custom (Evolution) |
11 | ARK: Survival Evolved | Unreal 4 |
12 | Football Manager 2019 | ??? |
13 | Rocket League | Unreal 3 |
14 | Sid Meier's Civilization VI | Custom |
15 | Source SDK Base 2013 | |
16 | Total War: Warhammer II | Custom |
17 | Euro Truck Simulator 2 | Custom (Prism3D) |
18 | Garry's Mod | Source |
19 | Dead by Daylight | Unreal |
20 | Sid Meier's Civilization V | Custom |
21 | Hearts of Iron IV | Custom (Clausewitz) |
22 | Dota Underlords | Source |
23 | World of Tanks Blitz | Custom (CORE) |
24 | 7 Days to Die | Unity |
25 | Terraria | Custom XNA |
26 | Cities: Skylines | Unity |
27 | Path of Exile | Custom(?) |
28 | Europa Universalis IV | Custom (Clausewitz) |
29 | Arma 3 | Custom (Real Virtuality 4) |
30 | Farming Simulator 19 | Custom (?) |
31 | The Witcher 3: Wild Hunt | Custom (REDengine) |
32 | War Thunder | Custom |
33 | Fallout 4 | Custom (Creation) |
34 | Wallpaper Engine | ??? |
35 | Stellaris | Custom (Clausewitz) |
36 | Unturned | Unity |
37 | NBA 2K20 | Custom |
38 | DayZ | Custom |
39 | Paladins | Unreal |
40 | The Elder Scrolls V | Custom (Creation) |
41 | Crusader Kings II | Custom (Clausewitz) |
42 | RimWorld | Unity |
43 | The Elder Scrolls Online | Custom |
44 | Stardew Valley | Custom XNA |
45 | Don't Starve Together | Custom |
46 | Counter-Strike | GoldSrc (Source Predecessor) |
47 | Black Desert Online | Custom (Black Desert) |
48 | Age of Empires II | Custom (Genie) |
49 | Assassin's Creed Odysssey | Custom (AnvilNext) |
50 | Factorio | Custom |
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:
- Most of them use a custom game engine
- Most of them were made by a AAA studio and/or were part of an existing franchise
- 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:
Rank | Game | Engine |
---|---|---|
1 | Portal 2 | Source |
2 | The Witcher 3: Wild Hunt | Custom (REDEngine) |
3 | Terraria | XNA |
4 | Factorio | Custom |
5 | Counter-Strike | GoldSrc |
6 | Left 4 Dead 2 | Source |
7 | Stardew Valley | XNA |
8 | The Binding of Isaac: Rebirth | Custom C++ (Based on original Flash game) |
9 | Portal | Source |
10 | Euro Truck Simulator 2 | Custom (Prism3D) |
11 | RimWorld | Unity |
12 | Mount & Blade: Warband | Custom |
13 | Doki Doki Literature Club | Ren'Py |
14 | Garry's Mod | Source |
15 | Hotline Miami | Game Maker 7 |
16 | BattleBlock Theater | Custom |
17 | South Park: The Stick of Truth | Custom |
18 | Life is Strange | Unreal 3 |
19 | Half-Life 2 | Source |
20 | Don't Starve Together | Custom |
21 | A Hat in Time | Unreal 3 |
22 | Dishonored | Unreal 3 |
23 | Don't Starve | Custom |
24 | One Finger Death Punch | XNA |
25 | Civilization V | Custom |
26 | The Wolf Among Us | Custom |
27 | Iron Snout | Game Maker |
28 | To The Moon | RPG Maker XP |
29 | Tomb Raider (2013) | Custom |
30 | VA-11 Hall-A | Game Maker Studio |
31 | Broforce | Unity |
32 | OneShot | RPG Maker XP |
33 | Undertale | Game Maker Studio |
34 | Counter-Strike: Source | Source |
35 | Katana Zero | Game Maker Studio 2 |
36 | Mirror | Unity |
37 | Slay the Spire | LibGDX |
38 | Castle Crashers | Flash |
39 | FTL | Custom C++/SDL |
40 | Fallout: New Vegas | Custom |
41 | Super Hexagon | Custom |
42 | Eternal Senia | RPG Maker |
43 | The Expendabros | Unity |
44 | Saints Row: The Third | Custom |
45 | Slime Rancher | Unity |
46 | Half-Life | GoldSrc |
47 | BioShock Infinite | Unreal 3 |
48 | Outlast | Unreal 3 |
49 | Hollow Knight | Unity |
50 | The Room | Unity |
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.
Year | Rank | Game | Engine | Genre | Notes |
---|---|---|---|---|---|
2019 | 1 | Katana Zero | GameMaker Studio 2 | 2D Platformer | |
2019 | 2 | Slay the Spire | LibGDX | 2D Roguelike Deckbuilder | |
2019 | 3 | Resident Evil 2 | Custom Resident Evil Engine | 3rd Person Shooter | |
2019 | 4 | Muse Dash | Unity | Rhythm | |
2019 | 5 | Risk of Rain 2 | Unity | 3D Multiplayer Co-op Roguelike | |
2019 | 6 | Bloodstained: Ritual of the Night | Unreal 4 | Metroidvania | |
2019 | 7 | Touhou Luna Nights | GameMaker Studio 2 | 2D Metroidvania | |
2019 | 8 | Baba Is You | Multimedia Fusion 2 | 2D Puzzle | |
2019 | 9 | My Friend Pedro | Unity | Shmup Platformer | |
2019 | 10 | Unheard | Unity | 2D Detective Puzzle | |
2019 | 11 | A Short Hike | Unity | 3rd Person 3D Exploration | |
2019 | 12 | ?? | Exception | ??? | 2D Strategy Programming | |
2019 | 13 | Streets of Rogue | Unity | Roguelike RPG | |
2019 | 14 | Dungeon Munchies | Unity(?) | 2D RPG | |
2019 | 15 | Gorn | Unity | VR Action | |
2019 | 16 | Beat Saber | Unity | VR Rhythm | |
2019 | 17 | Fantasy Girl | ??? | Jigsaw Puzzle | $0.99, Sexual Content |
2019 | 18 | Oxygen Not Included | Unity | 2D Base Building | |
2019 | 19 | Supraland | Unreal 4 | 3D Exploration Puzzle | |
2019 | 20 | Kind Words | Unity | Multiplayer Social | |
2019 | 21 | Amid Evil | Unreal 4 | 3D FPS | |
2019 | 22 | Nova Drift | GameMaker Studio 2 | 2D Action | |
2019 | 23 | One Finger Death Punch 2 | Unity | 2D Beat 'Em Up | |
2019 | 24 | Hypnospace Outlaw | Construct | Point And Click | |
2019 | 25 | A Plague Tale: Innocence | Custom | 3D Adventure | |
2018 | 1 | Rimworld | Unity | 2D Base Building | |
2018 | 2 | Mirror | Unity | Match-3 Puzzle | $1.99, Sexual Content |
2018 | 3 | Celeste | XNA | Pixel Platformer | |
2018 | 4 | Dusk | Unity | 3D FPS | |
2018 | 5 | Subnautica | Unity | Open World Survival | |
2018 | 6 | Dead Cells | Heaps.io | Pixel Metroidvania | |
2018 | 7 | Return of the Obra Dinn | Unity | Puzzle | |
2018 | 8 | Gris | Unity | 2D Puzzle Platformer | |
2018 | 9 | Just Shapes & Beats | Unity | Rhythm | |
2018 | 10 | Zup! X | ??? | 2D Puzzle | $0.99, Achievement Hunter |
2018 | 11 | Epic Battle Fantasy 5 | Flash | 2D Turn-based RPG | |
2018 | 12 | The Forest | Unity | First Person Survival Open World | |
2018 | 13 | Nekopara Extra | KiriKiri (?) | Visual Novel | Sexual Content |
2018 | 14 | Fox Hime Zero | ??? | Visual Novel | Visual Novel |
2018 | 15 | Deep Rock Galactic | Unreal 4 | Multiplayer FPS | |
2018 | 16 | The Room Three | Unity | Puzzle | |
2018 | 17 | CrossCode | Custom HTML5/Impact | 2D Action RPG | |
2018 | 18 | Sabbat of the Witch | KiriKiri Z (?) | Visual Novel | Sexual Content |
2018 | 19 | Miracle snack shop | ??? | Dating Sim | Sexual Content |
2018 | 20 | Lethal League Blaze | Unity(?) | Fighting | |
2018 | 21 | Zup! 8 | ??? | 2D Puzzle | $0.99, Achievement Hunter |
2018 | 22 | Steins Gate | Custom | Visual Novel | |
2018 | 23 | Super Animal Royale | Unity | Multiplayer Battle Royale | |
2018 | 24 | Pit People | Custom | 2D Turn-based Strategy | |
2018 | 25 | Zup! S | ??? | 2D Puzzle | |
2017 | 1 | A Hat in Time | Unreal 3 | 3D Platformer | |
2017 | 2 | Slime Rancher | Unity | 3D Adventure Exploration | |
2017 | 3 | Hollow Knight | Unity | Metroidvania | |
2017 | 4 | Cuphead | Unity | 2D Platformer | |
2017 | 5 | Finding Paradise | RPG Maker XP | 2D Pixel | |
2017 | 6 | Hidden Star in Four Seasons | Custom | Bullet Hell | |
2017 | 7 | Nekopara Vol 3 | KiriKiri(?) | Visual Novel | Sexual Content |
2017 | 8 | Divinity Original Sin | Custom | 3D Turn-based Coop RPG | |
2017 | 9 | Gorogoa | Unity (Originally Java, ported) | 2D Puzzle | |
2017 | 10 | Superflight | Unity | Flightsim | |
2017 | 11 | West of Loathing | Unity | RPG Adventure | |
2017 | 12 | What Remains of Edith Finch | Unreal 4 | First Person Adventure | |
2017 | 13 | Hidden Folks | Unity | Puzzle, Hidden Object | |
2017 | 14 | Opus Magnum | Custom C# | Puzzzle Programming | |
2017 | 15 | OrbtXL | Unity | Puzzle | $0.99 |
2017 | 16 | Rakuken | RPG Maker XP | RPG | |
2017 | 17 | Planetarian HD | SiglusEngine(?) | Anime Visual Novel | |
2017 | 18 | Dungeons 3 | Unity | 3D RTS | |
2017 | 19 | Crawl | Unity | 2D Local Multiplayer Dungeoncrawl | |
2017 | 20 | Ravenfield | Unity | FPS | |
2017 | 21 | Life is Strange: Before the Storm | Unity | 3D Adventure | |
2017 | 22 | Senran Kagura Estival Versus | Custom | Beat 'em up | Sexual Content |
2017 | 23 | Cat Quest | Unity | Adventure RPG | |
2017 | 24 | Angels with Scaly Wings | Ren'Py | Visual Novel Dating Sim | |
2017 | 25 | Monolith | GameMaker Studio | 2D Bullet Hell |
Two interesting things jump out immediately:
- Far fewer recent games used custom engines.
- 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.