Dev Log #10: I Built an Engine From Scratch — And It’s the Most Meaningful Thing I’ve Ever Made
This isn’t a game announcement. There’s no trailer, no release date, no pitch.
This is just the thing I’m proudest of — maybe the proudest I’ve ever been of anything I’ve built — and I needed to say that somewhere out loud.
I’m working on an unannounced title. I’m not ready to talk about what it is yet. But to build it the way I wanted to build it, I needed an engine that didn’t exist yet. So I wrote one.
A custom DDA (Digital Differential Analysis) raycaster — the same class of renderer that made Wolfenstein 3D possible in 1992, rebuilt from scratch in 2026 by one person, in a browser, with zero commercial frameworks involved.
When I try to explain this to anyone outside of game development, the conversation ends in about thirty seconds. Their eyes glaze over. And I get it — from the outside, it sounds like I chose to do something the hard way for no reason.
But that’s not what happened.
What It Actually Took
There’s no engine to catch you when you go this low. Every system has to be designed, written, and debugged entirely by hand:
- DDA wall-casting — the core rendering algorithm, implemented line by line from first principles
- Dynamic static-lightmap system — light baked into the map geometry, updating correctly as the world changes around it
- Texture strip allocation — managed manually to avoid garbage collection stutters, because in a tight render loop, any pause is a visible hitch
- Wolfenstein-style sliding mid-cell doors — which sound trivial until you’re debugging edge cases at 2am and questioning every assumption you made about how grid coordinates work
Every pixel on screen traces back to a line I wrote. Every frame is math I understand. That kind of ownership over your work is something you can’t buy inside a commercial engine.
Why This Matters to Me
I’ve talked before about why I stopped trusting engines I didn’t write — Dev Log #7 covers most of it. The short version: I’m a programmer first, and I find the abstraction layers in commercial engines actively frustrating. When something breaks in Unreal, you hit a wall. When something breaks here, I know exactly where to look.
But honestly, this goes beyond practicality.
There’s a kind of satisfaction in this work that I haven’t found anywhere else in game development. Not in shipping Mark of Cain, not in building tools, not in hitting any milestone I can point to and say “players liked this.” This is different. This is staring at a blank file, writing nothing but math and logic, and watching a world appear out of it. A world with depth and shadow and geometry that responds to you, built from vectors and arrays and nothing else.
I’ve been chasing that feeling for years. I didn’t know what it was until I found it here.
What Comes Next
The engine exists. The game is taking shape. I’m not announcing it yet — but I will, when the time is right.
For now, I just needed to mark this moment somewhere. For the developers who know what it costs to go this deep. For anyone who’s ever stared at a blank IDE and decided to build the world themselves instead of borrowing someone else’s.
This one’s mine. Every line of it.
If you want to follow along, you can find my other work here in the meantime:
See you in the next one,
— Stamatios