The Case for a Custom Game Engine
I am building a game engine, and I know next to nothing about how they work. As I progress, I’ll document my thoughts and learnings here.
A game engine is no small undertaking, to put it lightly. It will likely take hundreds, if not thousands, of hours to make anything worthy of even a demo. So, why build one?
If I’m being honest, the primary reason is curiosity. I love playing games, and I love writing software. So this feels like a natural step to take. There’s a little bit of everything: art, physics, real-time simulation, graphics, AI, networking, etc. It’s fascinating how all of these aspects come together to form unique, memorable, and human experiences.
Of course, the same can be said about building a game on top of an existing engine, such as Unreal or Unity. There is certainly an argument to make about the sheer amount of man-hours and expertise that have gone into existing, publicly available engines (at the time of this writing, I’m absolutely blown away by Unreal 5.1’s new lighting capabilities). However, I’m far more interested in learning how things work on the lowest level than learning engine-specific abstractions. In other words, I’m prioritizing my own education over a finished product.
Is there a business case to be made for creating a custom engine? I found this article from 2021, entitled “Game engines on Steam: The definitive breakdown”, to be extremely informative. The authors categorized every Steam game by engine by matching filenames against known patterns, which, as an aside, I thought was a clever and scrappy way to derive the dataset. To summarize relevant points:
- Unity is the most used engine on Steam, by far, with about 3x the number of releases in 2021 than the runner-up.
- Unreal Engine is the second most popular engine, and games built with UE tend to be sold at a much higher price point than Unity games (perhaps because UE games tend to have better graphics and to offset royalties).
- Custom engines are used less and less frequently, except by a core group of top sellers.
The data says that smaller developers are moving towards Unity and Unreal, and away from custom engines. So, according to the industry, building a custom engine isn’t worthwhile unless you have the resources. A predictable outcome.
Since I’m purely looking for personal enrichment, I’m totally fine with this fact. However, it’s useful perspective as I go farther down this road — perhaps I’ll reach for something off the shelf if I become more serious. However, I can’t help but also see it as a challenge. I wonder how far I can get on my own.
One last question that’s been floating around my head for a couple of weeks: why do I think that building a game engine (and possibly a game) from scratch is achievable? My answer is that games don’t need to be complex or technically impressive to be fun. In fact, some of my favorite gaming experiences were delivered, at least initially, by individuals or small teams. For example:
- Old School RuneScape
- Terraria
- Valheim
- Minecraft
- Rim World
- Stardew Valley
While I’m on the topic, some other games that I find inspiring yet attainable include:
- Rocket League
- Outer Wilds
- Disco Elysium
In the end, the case for a custom game engine isn’t because it’s the smartest or most efficient thing to do — it’s because it will be the most fun. And that’s what games are all about.