Soup Raiders Goes Native: What You Gain by Building Your Own Game Engine | Elias Farhan
According to VGInsights, about 13% of games released on Steam in 2024 used a custom engine, down from 71% in 20121. So looking at this trend, why should anybody try to make their own game engine?
But…
Those games still accounted for 43% of units sold in 20241. Even if most were AAA games built with custom engines, the figure shows that developing your own engine can still make business sense. So this blog post is about why you should make a game engine.
However, before answering this question, we need to define what a game engine is. The term is broad enough that Claude Code has even been compared to a small game engine2:
Most people's mental model of Claude Code is that "it's just a TUI" but it should really be closer to "a small game engine".
For each frame our pipeline constructs a scene graph with React then<br>-> layouts elements<br>-> rasterizes them to a 2d screen<br>-> diffs that against the…<br>— Thariq (@trq212) January 21, 2026
What’s a game engine and what do we mean by custom?
A game engine is a reusable software framework that lets you create and run a computer game. It sits between the actual game code (gameplay logic) and the operating system (Windows, SteamOS, Android):
The game engine’s primary role is to keep the game loop running and handle interactions with the operating system. This game loop runs as follows:
Event Polling : window resizing, keyboard/mouse/controller input changes, exiting the game…
Gameplay : physics, calling the gameplay code
Rendering : generating the commands to be sent to the GPU to then present the new images on the screen
A game engine does much more than this. It also loads and manages the game’s assets: 3D models, animations, sprites, music, and sound. Yet none of these systems implements the game’s specific rules or content. We will go into more detail in the next blog posts about each part and how it is implemented in the Soup Raiders native port.
At the beginning of any game project, then, the question of whether to build a custom engine naturally arises. The goal of commercial game engines like Unreal or Unity is to sell you the game engine so that you only have to focus on making your game, whereas making a custom game engine means building that layer yourself, or at least gluing frameworks and libraries together to do the under-the-hood engineering. Here are some examples:
I use Unity, but I develop a lot of internal tools I use SDL3 + Assimp to make a 3D game I use Unreal, but I rewrote the renderer I use SFML to make a simple 2D networking game I use Godot and extend it with C++ I handwrote the renderer from scratch in DX12 and opened a window with the Windows API
It is worth looking at some games built with custom engines. I still remember Indie Game: The Movie3, in which every featured game was built with a custom engine. Many other successful games have also been built with custom engines4:
Game<br>Studio<br>Release Date<br>Engine / Technology
Bastion<br>Supergiant Games<br>July 20, 2011<br>Custom C# technology, Microsoft XNA
Legend of Grimrock<br>Almost Human<br>April 11, 2012<br>Custom C++ engine, Lua
FTL: Faster Than Light<br>Subset Games<br>September 14, 2012<br>Custom C++ engine, SDL
Pixel Dungeon<br>Watabou<br>November 29, 2012<br>Java (later ported with libGDX)
Don’t Starve<br>Klei Entertainment<br>April 23, 2013<br>Custom C++ engine, Lua
Banished<br>Shining Rock Software<br>February 18, 2014<br>Custom C++ engine
Shovel Knight<br>Yacht Club Games<br>June 26, 2014<br>Custom C++ engine, DirectX/OpenGL
This War of Mine<br>11 bit studios<br>November 14, 2014<br>Liquid Engine
Crypt of the NecroDancer<br>Brace Yourself Games<br>April 23, 2015<br>Custom C++ engine, Lua
Prison Architect<br>Introversion Software<br>October 6, 2015<br>Custom C++ engine
Darkest Dungeon<br>Red Hook Studios<br>January 19, 2016<br>Custom C++ engine, Spine
Stardew Valley<br>ConcernedApe<br>February 26, 2016<br>C#, Microsoft XNA/MonoGame
Starbound<br>Chucklefish<br>July 22, 2016<br>Custom C++ engine, Lua, SDL, OpenGL
Into the Breach<br>Subset Games<br>February 27, 2018<br>Custom C++ engine, Lua, SDL2
Factorio<br>Wube Software<br>August 14, 2020<br>Custom C++ engine, Lua
But of course, this does not mean that every successful indie game has its own custom game engine. Unity gained a large share of both the mobile and indie game markets. For example, here is a list of games made with Unity5:
Game<br>Studio<br>Release Date
INSIDE<br>Playdead<br>June 29, 2016
Hollow Knight<br>Team Cherry<br>February 24, 2017
Cuphead<br>Studio MDHR<br>September 29, 2017
Subnautica<br>Unknown Worlds Entertainment<br>January 23, 2018
The Forest<br>Endnight Games<br>April 30, 2018 (1.0)
Outer Wilds<br>Mobius Digital<br>May 28, 2019
Untitled Goose Game<br>House House<br>September 20, 2019
Risk of Rain 2<br>Hopoo Games<br>August 11, 2020 (1.0)
Unpacking<br>Witch Beam<br>November 2, 2021
Neon White<br>Angel Matrix<br>June 16, 2022
But we still repeat the “make a game, not a game engine” advice to computer science students who dream of creating an MMO before they have even finished their...