Own Game Engine - Yes or No? - Introduction

Hey there! If you’ve ever thought, “What if I made my own game engine?”, welcome — you’re not alone.
Building a game engine sounds like an epically complex task, something that needs a whole squad of architects, coders, graphics shamans, and coffee engineers. But I’m not trying to create a new Unreal or Unity. Seriously, I’m not that crazy. At least not yet...

Anyway, in this blog, I’ll be breaking down — step by step — why you should (or shouldn't) dive into this madness, how engines work under the hood, and what happens when you decide not just to write gameplay, but to build the tools for gameplay.
Why am I even doing this?
Not because I want to become the next Epic Games. I’m doing it because I’m genuinely curious:
- How does a game loop work?
- Why does rendering work the way it does?
- What’s going on under the hood of an ECS, an input system, a resource loader?
- How does it all come together without exploding?
Most existing engines give you a slick API: “Here you go, make your game.”
But almost none of them say: “Here’s how we handle input, here’s how our task scheduler works, and here’s where we wrap your soul in a debugger :)”

I want to understand it all in practice. Not just by reading abstract articles, but by building it myself — even if it's janky, even if it’s inefficient. The important part is doing it with my own hands.
What do I want to make?
I’m not trying to build a commercial engine. I’m not aiming to “beat Unreal Engine.”
My goals are:
- Build an open-source engine and share it on GitHub
- Describe architectural decisions and explain why I made them
- Create something useful for other devs: beginners, enthusiasts, students
- And of course — have some fun before the world burns down 🌍🔥
If someone picks up the project and starts building on top of it — awesome. Community is power 💪
What challenges do I expect?

- This is going to take a while. Seriously. A long while. I’m prepping tea, a blanket, and a bunch of weekends with no vacations.
- I’ll have to dive into everything: architecture, multithreading, cross-platform issues, resources, bugs, bugs, and more bugs...
- Motivation may dip — that’s why I’m starting this blog. It’s more fun together!
- No Unreal or Unity magic. Just you, the terminal, and many layers of pain.
What will this journey teach me?
Even if nothing comes out of it — I won’t consider it a failure. On the contrary: I’ll become a better developer. Because I’ll learn how not to do things — and that’s priceless knowledge.
What do I want you to take from this blog?
Whatever you do — don’t be afraid to dig deep. Yeah, you can live off ready-made solutions for years. But one day, it’s worth trying to build your own bike. Even if it creaks — it’ll be yours.
And who knows — maybe you will make the next engine that changes the world.
(You won’t. 😄)
See you in the next post!
I’ll talk about where to even start: what kind of architecture to consider, what tech to look into, and why void main()
isn’t just a function — it’s a gateway to hell 🫠
Let’s go!