Skip to content

Instantly share code, notes, and snippets.

@raysan5
Last active November 27, 2024 11:53
Show Gist options
  • Save raysan5/909dc6cf33ed40223eb0dfe625c0de74 to your computer and use it in GitHub Desktop.
Save raysan5/909dc6cf33ed40223eb0dfe625c0de74 to your computer and use it in GitHub Desktop.
A small state-of-the-art study on custom engines

CUSTOM GAME ENGINES: A Small Study

a_plague_tale

A couple of weeks ago I played (and finished) A Plague Tale, a game by Asobo Studio. I was really captivated by the game, not only by the beautiful graphics but also by the story and the locations in the game. I decided to investigate a bit about the game tech and I was surprised to see it was developed with a custom engine by a relatively small studio. I know there are some companies using custom engines but it's very difficult to find a detailed market study with that kind of information curated and updated. So this article.

Nowadays lots of companies choose engines like Unreal or Unity for their games (or that's what lot of people think) because developing a custom AAA-level engine requires lots of resources, so, I decided to list here some of the most popular custom engines with the team-sizes and notable titles released with those engines.

Most of the engines listed here have been developed along the years with multiple iterations and multiple videogames, those engines have gone through several versions or even complete (or semi-complete) rewrites from scratch, with a consequent engine name change. Also, important to note, most of those engines use numerous middleware for specific functionalities (Platform, Physics, Network, Vegetation, UI, Rendering, Audio...).

*NOTE: I tried to be as much accurate as possible with the information about the employees count (I checked the companies websites, Wikipedia or company LinkedIn) but take it with a grain of salt (some employees numbers could not be up to date).

The BIG Companies

multi01

*From left to right: Assassin's Creed Odyssey, Final Fantasy XV, Red Dead Redemption 2

Below list is for very big corporations, sometimes with complex corporate structures with several divisions (not only focused on videogames) and various studios/subsidiaries developing games. Some of them work with multiple engines, not only custom ones but also licensed ones.

Company Employees Studios Engine(s) Notable Games
Activision/Blizzard ~9200 ~9 custom engine(s) Warcraft series, Diablo series, Starcraft series, Call of Duty series, Overwatch
Electronic Arts ~9300 ~36 Frostbite Star Wars Battlefront II, Anthem, Battlefield 1/V, FIFA 20, Need for Speed series
Ubisoft ~16000 ~54 AnvilNext 2.0 Assassin's Creed series
Disrupt engine Watch Dogs series
UbiArt Framework Rayman Legends, Child of Light, Valiant Hearts
Snowdrop Tom Clancy's The Division 2, The Settlers
Dunia (CryEngine-based) FarCry series
Silex (Anvil-based) Ghost Recon Wildlands
LEAD engine Tom Clancy's Splinter Cell series
Dunia-based The Crew
Capcom +2800 ~15 MT Framework Monster Hunter: World
RE Engine Resident Evil 7, Devil May Cry 5, RE2:Remake, RE3:Remake
Konami +10000 ~30 Fox Engine Pro Evolution Soccer series, Metal Gear Solid V
Square Enix +4600 ~18 Luminous Studio Final Fantasy XV
Nintendo +6100 ~8 custom engine(s) Zelda: BOTW, Mario Odyssey
Riot Games ~2500 ~3 custom engine League of Legends
Rockstar +2000 ~9 RAGE engine GTA V, Red Dead Redemption 2
CD Projekt +1100 ~4 REDEngine 3 The Witcher 3
Epic +1000 ~11 Unreal Engine 4 Fortnite

Usually those companies invest in custom engines to have full control over the technology and also avoid the revenue cut imposed by the licensed engines. Despite that fact, there are some big companies that in the latest years have chosen Unreal Engine for their productions, the most notable cases are:

  • Capcom is using Unreal for the new Street Fighter V title.
  • Bandai Namco latest big hits are using Unreal: Jump Force, Dragon Ball Fighter Z, Dragon Ball Z: Kakarot, Tales of Arise.
  • Square Enix also moved to Unreal for several new titles: Dragon Quest XI, Kingdom Hearts III, Final Fantasy VII Remake

It's interesting to see that those big three are Japanesse companies, I wonder if that's maybe a market trend for Japan. Also to note, the chinesse holding Tencent owns 40% of Epic Games, I bet it has some influence in the Asian market.

Middle-size Studios

multi02

*From left to right: Rise of the Tomb Raider, Uncharted 4, A Plague Tale

Here we have the medium-small companies that decided to create their custom technology for their titles.

The number of employees could be a nice reference to consider because a custom game engine is usually developed in-house (I mean, not outsourced) but note that some of those companies could have a big number of people due to in-house artist/audio teams, while other companies out-source those parts of the development.

It would be really nice to know how many engineers are working on the engine division for each company, I'm sure there would be some big surprises, probably by the low number of engineers working in the engine and tools!

Also interesting to know more info about the tooling included with those engines, it's really difficult to have access to that kind of information. Engines tooling is usually a hidden-secret (beside some GDC presentations or some quick showcase videos).

multi03

*From left to right: Horizon Zero Dawn, God of War, Death Stranding

Company Employees Engine Notable Games
Creative Assembly +650 Warscape Engine Total War series
Bungie ~600 Tiger Engine Destiny series
Infinity Ward +500 IW 7.0 Call of Duty: Infinite Warfare
Eidos-Montréal ~500 Dawn Engine (Glacier2-based) Deus Ex: Mankind Divided
Bethesda ~400 Creation Engine Skyrim, Fallout 4, Fallout 76
Valve Corp. ~360 Source 2 Dota 2, Half-Life: Alyx
Crystal Dynamics ~350 Foundation Engine Rise/Shadow of the Tomb Raider
Avalanche Studios ~320 Apex engine Just Cause series, Renegade Ops, Mad Max, RAGE 2
Naughty Dog +300 Naughty Dog Game Engine Uncharted series, Last of Us
Rebellion Developments ~300 Asura engine Alien vs. Predator series, Sniper Elite series
Techland ~300 Chrome Engine 6 Dying Light
Crytek ~290 CryEngine V The Climb, Hunt:Showdown
From Software +280 Dark Souls engine Bloodborne, Dark Souls III, Sekiro
Remedy +250 Northlight Engine Quantum Break, Control
Guerrilla Games +250 Decima Killzone Shadow Fall, Until Dawn, Horizon Zero Dawn
Larian Studios +250 Divinity Engine Divinity series
Platinum Games ~250 Platinum Engine NieR Automata, Bayonetta, Vanquish
Santa Monica Studio +200 custom engine God Of War series
id Software +200 idTech 6/7 Doom, Doom Eternal, Wolfenstein series
Sucker Punch +200 custom engine Infamous Second Son, Ghost of Tsushima?
Insomniac Games ~180 Insomniac Engine Rachet&Clank series, Marvel's Spider-Man
Quantic Dreams ~180 custom engine Detroit: Become Human
IO Interactive ~170 Glacier2 Hitman series
Asobo Studio +140 Zouna A Plague Tale
Ready At Dawn ~120 custom engine The Order: 1886, Lone Echo
Mercury Steam ~110 custom engine Spacelords, Castlevania:Lords of Shadow series
Monolith Productions +100 LithTech F.E.A.R. series, Condemned series, Shadow of Mordor/War
11 Bit Studios ~100 Liquid Engine Frostpunk
Frozenbyte ~100 Storm3D Trine series, Shadowgrounds
Kylotonn ~100 KtEngine WRC series, TT Isle of Man series, V-Rally 4
TaleWorlds Entertainment ~100 custom engine Mount & Blade II: Bannerlord
Daedalic Entertainment ~90 Visionaire Studio The Whispered World, Deponia series
Media Molecule ~80 Bubblebath Engine Dreams
Paradox Development Studio ~80 Clausewitz Engine Imperator: Rome, Stellaris, Europa Universalis series
Deck13 ~70 Fledge Lords of the Fallen, The Surge, The Surge 2, Atlas Fallen
Nihon Falcom ~60 Yamaneko Engine Ys VII, Ys VIII, Ys IX
Croteam +40 Serious Engine The Talos Principle, Serious Sam series

Some observations from this list:

  • Rise of the Tomb Raider lists only 10 programmers working on Foundation engine in the credits, probably a good reference number to get an idea of the people working on the core engine.
  • Kojima Productions use Decima engine, developed by Guerrilla Games, for Death Stranding, previously they used Fox Engine for Metal Gear Solid V.
  • Media Molecule latest game/engine (Dreams) seems to have been developed by only ~15 coders, amazing!
  • Companies targeting one single platform, usually have less restrictions and can push the limits of that platform. Unfortunately, that's a luxury that most companies can not afford.
  • Asobo Studio, the company that originated this market study is not that small... but, like other companies, they seem to work in multiple titles in parallel.
  • Very nice to see that some of the engines have entries in the Wikipedia with some details and titles released, it should be a must.

Small-size Studios (Indie Studios)

multi04

*From left to right: The Witness, No Man's Sky, X-Morph Defense

Here we have some really small studios that also choose to develop a custom engine for their games. Note that most of those engines rely on other libraries/frameworks for certain parts of the game, the common choices we find are SDL (cross-platform graphics/input), OGRE (rendering engine), MonoGame (cross-platform game framework, also relyes on SDL, SharpDX, OpenTK, OpenAL-Soft...).

One question many people could ask is, what parts of the engine are actually coded by the developers? Well, it depends, but usually coders take care of the screen-manager, entities-manager and content-manager as well as the wrappers/interfaces to the external libraries.

Second question, what parts of the engine usually rely on external libraries/middleware? It also depends on the company resources but usually audio-system, physics, rendering, networking, ui-system, terrain-system, vegetation-system and some other pieces.

multi05

*From left to right: Factorio, Thimbleweed Park, Owlboy

On the following list (and the next one below) I added the publishing date (only +2012) and the link to Steam for all the games... there are not many games with custom engine from small studios out there and I think they deserve to be recognized and supported.

Company Employees Engine Notable Games
Runic Games ~40 OGRE-based Hob (2017), Tochlight II (2012)
Klei Entertainment 35 custom engine Invisible, Inc. (2016), Don't Starve Together (2016), Shank series
Shiro Games ~30 Heaps.io Northgard (2018), Evoland (2013), Evoland II (2015)
Hello Games ~25 No Man's Sky Engine No Man's Sky (2016)
Frictional Games ~25 HPL engine SOMA (2015), Amnesia series
DrinkBox Studios ~25 custom engine Guacamelee (2013), Guacamelee! 2 (2018), Severed (2016)
Supergiant Games ~20 MonoGame-based Hades (2019), Pyre (2017), Transistor (2014)
Wube Software ~20 Allegro/SDL-based Factorio (2019)
Chucklefish ~20 Halley Engine Wargroove (2019), Starbound (2016)
Ronimo Games ~17 RoniTech Engine (SDL) Awesomenauts (2017)
Lab Zero Games ~17 Z-Engine Indivisible (2019), Skullgirls (2013)
Introversion Software ~14 SystemIV (SDL) Prison Architect (2015)
Exor Studios ~14 OGRE-based Schmetterling The Riftbreaker (2020), X-Morph: Defense (2017)
Tribute Games ~11 MonoGame-based Flinthook (2017), Mercenary Kings (2014)
Thekla Inc. (Jonathan Blow) ~10 custom engine The Witness (2016)
Numantian Games ~10 custom engine They Are Billions (2019), Lords of Xulimia (2014)
Nysko Games Ltd. ~10 custom engine The Dwarves of Glistenveld (2019)
Passtech Games 10 OEngine Curse of the Dead Gods (2020)
Terrible Toybox (Ron Gilbert) 9 custom engine (SDL) Thimbleweed Park (2017)
Radical Fish Games 8 Impact-based (JS) CrossCode (2018)
Matt Makes Games (Matt Thorson) ~7 MonoGame-based Celeste (2018), TowerFall Ascension (2014)
Coilworks ~7 custom engine Super Cloudbuilt (2017), Cloudbuilt (2014)
Lo-fi Games (Chris Hunt) 6 OGRE-based Kenshi (2018)
D-Pad Studio 6 MonoGame-based Owlboy (2016)
BitKid, Inc. 6 MonoGame-based CHASM (2020)
Double Damage Games 5 OGRE-based Rebel Galaxy Outlaw (2019), Rebel Galaxy (2015)
Almost Human Games 4 custom engine Legend of Grimrock (2012), Legend of Grimrock 2 (2014)
Wolfire Games 4 Phoenix Engine Overgrowth (2017)
Nuke Nine 3 custom engine Vagante (2019)
Mega Crit Games 3 custom engine Slay the Spire (2017)

Some observations from this list:

  • Nicolas Cannasse, co-founder of Shiro Games, is the the developer of Haxe programming language and Heaps engine, used by Motion Twin for Dead Cells (2017).
  • Hello Games is a very small studio considering the size of No Man's Sky and that they use a custom engine. Really impressive!
  • Runic Games was dissolved in November 2017, the founders created Double Damage, now they are working on Echtra Games on Torchlight III.
  • Rodrigo Braz Monteiro, Chucklefish CTO, is the person in charge of Halley engine, actually the engine is open-source!
  • In most of those studios the people in charge of creating the game engine it's only 1-3 persons!
  • Lo-fi Games was a one-man team (Chris Hunt) for more than 6 years!
  • Some of the games in this list took +5 years of development!
  • Not many games... a couple of hits per year...

One-man custom engines

multi06

*From left to right: Stardew Valley, ScourgeBringer, Eagle Island

Finally, the list of the heroes.

Games developed by 1-2 people with custom game engines, engines mostly coded by one person! Respect.

Creating an engine and a game from scratch to the point of publishing it is an extraordinary accomplishment, not many people in the world is ready for that. Almost all of them are 2D games, usually with very small budgets and developed along multiple years. Congratulations to the developers!

multi07

*From left to right: Axiom Verge, Ghost 1.0, Remnants of Naezith

Company/Developer People Engine Notable Game(s)
Lizardcube (Ben Fiquet and Omar Cornut) 2 custom engine Wonder Boy: The Dragon's Trap (2017)
Guard Crush Games (Jordi Asensio and Cyrille Lagarigue) 2 MonoGame-based Streets of Rage 4
Pocketwatch Games (Andy Schatz) 2? MonoGame-based Tooth and Tail (2017)
Justin Ma and Matthew Davis 2 custom engine FTL: Faster Than Light (2012)
Ed Key and David Kanaga 2 custom engine Proteus (2013)
Mountain Sheep 2 custom engine Hardland (2019)
Flying Oak Games (Thomas Altenburger and Florian Hurtaut) 2 MonoGame-based Neuro Voider (2016), ScourgeBringer(2020)
Marc Flury and Brian Gibson 2 custom engine Thumper (2016)
Jochum Skoglund and Niklas Myrberg 2 custom engine Heroes of Hammerwatch (2018), Hammerwatch (2013)
Villa Gorilla (Jens Andersson and Mattias Snygg) 2 custom engine Yoku's Island Express (2018)
Two Mammoths (Piotr Turecki and Marcin Turecki) 2 custom engine Archaica: The Path of Light (2017)
Bare Mettle Entertainment (Madoc Evans) 1? custom engine Exanima (2015)
Lucas Pope 1 OpenFL-based Papers, Please (2013)
Terry Cavanagh 1 custom engine Super Hexagon (2012)
Francisco Tellez 1 SDL-based Ghost 1.0 (2016), UnEpic (2014)
Grid Sage Games (Josh Ge) 1 SDL-based Cogmind (2017)
Luke Hodorowicz 1 custom engine Banished (2014)
Thomas Happ 1 (5 years) MonoGame-based Axiom Verge (2015)
James Silva 1 MonoGame-based Salt and Sanctuary (2016)
Eric Barone 1 (4 years) MonoGame-based Stardew Valley (2016)
Tolga Ay 1 SFML-based Remnant of Naezith (2018)
Nick Gregory 1 (5 years) MonoGame-based Eagle Island (2019)
bitBull Ltd. (James Closs) 1 (4 years) MonoGame-based Jetboard Joust (2020)
Benjamin Porter 1 (8 years) SFML-based MoonQuest (2020)
Randall Foster 1 (7 years) custom engine Kid Baby: Starchild (2019)
Dennis Gustafsson 1 custom engine Teardown (2020)
Christian Whitehead 1 Star Engine Sonic Mania (2017)
Positech Games (Cliff Harris) 1 custom engine Production Line (2019), Democracy 3 (2013), Gratuitous Space Battles (2015)
Frank Lucas 1 custom engine Angeldust (2019)
Zachtronics (Zach Barth) 1 custom engine MOLEK-SYNTEZ (2019), EXAPUNKS (2018), SHENZHEN I/O (2016), Opus Magnum (2017)
Lunar Ray Games (Bodie Lee) 1 custom engine Timespinner (2018)
sebagamesdev 1 custom engine Fight And Rage (2017)
Loïc Dansart 1 custom engine Melody's Escape (2016)

Some observations from this list:

  • Some of those teams are formed by 1-2 people but probably grew at some point and/or outsourced some parts of the development (art, audio...). Usually the publisher also helps with some resources (localization, marketing...).
  • Omar Cornut from Lizardcube is the main programmer for Wonder Boy: The Dragon's Trap engine and also the developer of Dear ImGui, a free and open-source immediate-mode gui library used by lots of AAA custom engines.
  • Ben Fiquet from Lizardcube is also the main artist for Streets of Rage 4, the custom engine of Guard Crush Games is written by Cyrille Lagarigue.
  • Marc Flury programmed Thumper game engine rejecting the OOP paradigm in favor of a procedural programming approach.
  • Christian Whitehead is the creator of Star Engine used in Sonic Mania but Headcannon (Simon Thomley) and PagodaWest Games (Jared Kasl and Tom Fry) were also involved in the development of the game.
  • Some of the games in this list took +5 years of development!
  • Not many games... a couple of hits per year...

There are some other remarkable games using custom engines that worth mentioning: Minecraft (2011), Braid (2009), Super Meat Boy (2010), Terraria (2011), Dustforce (2012), Sword and Sorcery EP (2012), FEZ (2013), Dust: An Elysian Tail (2013), Rogue Legacy (2013), Dyad (2012), SpaceChem (2013), Darkest Dungeon (2016), Scrap Mechanic (2016), Battle Brothers (2015), Renowned Explorers (2015), Yuppie Psycho (2019), Surviving Mars (2018), The End Is Nigh (2017), The Binding of Isaac: Afterbirth (2017), The Binding of Isaac: Rebirth (2014), BattleBlock Theater (2013), Full Metal Furies (2017), Binding of Isaac (2011), Rusted Warfare (2017).

Conclusions

I'll start saying I'm biased, I'm really passionate about videogames-making technologies and I admire custom engines and game-making tools. I also contributed to custom engines ecosystem with my grain of salt: raylib and several game-making tools. I prefer a custom engine over a licensed one, I consider that the extra amount of effort put into the product usually translates into some specific great mechanic or some amazing in-game details.

Said that, I must admit that creating a custom engine is a big endeavour and not many people/companies are ready for that. I recognize Unity (and Unreal to less extend) have really democratized videogames development, lots of small-medium size companies can use Unity today to develop games quickly, sometimes, with very low budgets... But, still, lots of big companies prefer to rely on their own custom technologies.

From my gamedev-teacher perspective, I think students should learn how engines work internally with as much detail as possible. Relying only on engines like Unity/Unreal for education to allow students develop eye-candy project in short-time is not the way to go. At the end of the day, someone has to write the engine and the tools!

NOTE: Feedback and improvements are welcome! :)

@Angluca
Copy link

Angluca commented Apr 10, 2024

There's a lot of content, and your writing is great.
I want to develop game using raylib after learn all the examples.

@PixelRick
Copy link

PixelRick commented Sep 21, 2024

A new game called Tiny Glade uses a custom engine. It is made by a tiny indie studio called Pounce Light, comprising two developers: Anastasia Opara and Tomasz Stachowiak.
Tomasz (h3r2tic) open-sourced a cool (imo) toy renderer that runs some of the techniques used in the game: https://github.com/h3r2tic/kajiya.

@ngyikp
Copy link

ngyikp commented Nov 22, 2024

Animal Well is a one-person dev team that's also uses a custom engine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment