What You Gain by Building Your Own Game Engine

kwakwa_cat1 pts0 comments

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...

game engine custom games make still

Related Articles