Making your own engine is worthwhile learning experience. The same as trying to recreate any of the foundational tools that you use. Might not be the fastest or best way to make a game but a good way to make yourself a better developer.
Not the fastest
This is my 4th Vulkan related “project” and 2nd attempt at making something other than a glorified tutorial workspace in 6 years, and it took me 4 weeks to draw this stuff with minimal technical debt.
I could just use an existing game engine, but what’s the fun in not manually sorting all draw commands by mesh>pipeline>material and hunting synchronization hazards by just looking at funny glyphs for extended periods of time?
The best part is when your game just spontaneously closes. No logs, just some weird failure that’s got something to do with graphics.
Well, that’s the OpenGL experience, anyway. Damn opaque state machines…
Eh, at this point it happens every 3 commits, you get used to abusing gdb (since valgrind just dies).
I hope the police doesn’t find my unregistered breakpoint minigun…
Keep in mind that if you actually want to make a game, make a game not an engine. Too many video game projects get bogged down in the engine development stage and never make it to completion.
Do people even make their own engines anymore? If this wasn’t a pet project I would have dropped the entire thing as soon as I started dealing with 3D models, and visited Godot’s homepage.
…
Perhaps I should get my hands on Godot at some point.
Usually AAA game studios has their own in house game engine
The in-house engines I know are being used are also really old - hell, 343i even decided to ditch the fossil that once was Halo: CE’s engine because of technical debt and outsourcing blood sacrifices
Now do a camera that can be controlled
Done, that wasn’t the hard part - after that I spent a few days on normal mapping and passable light reflections
What kind of method you gonna use for reflections?
For reflected objects none, that’s too much effort - this thing only reflects light sources.
Proper reflections require either too much effort, or me being smarter than I actually am.
(Reflecting light sources is as easy as doing some tangent-space wizardry and a few dot products)
Nobody asked, but whatever:
Mmm shiney
- Don’t roll out your own crypto suite
- Don’t write your own game engine
- Don’t create your own OS from scratch
- Don’t build another multipurpose framework
- …
Whom am I kidding, go do all of that! Learn why you most probably shouldn’t 😆
- Don’t make an MMORPG as your first ever game with only you and your one friend as devs
Oddly specific?
Yet depressingly common in MMORPG circles. People tend to vastly underestimate the amount of work needed to get an remotely playable MMO off the ground.
I’ve entertained the idea, and the first to requirements that come to mind are advertising money and server upkeep money - then one could start worrying about actually making it
What if I make an OS that’s also a game engine?
Hear me out: a fully fledged desktop environment, like KDE Plasma or Gnome, but it’s a 3D world - “windows” are just walls, the file explorer is just a bunch of procedurally generated condos, and you get a Gmod physics gun to move stuff around.
Soooo… Microsoft Bob in 3d?
Microsoft bob in 3D with a Gmod physics gun
I want to learn how to write a physics engine.
Those are easy, unless you want 128bit resolution, relativistic effects, collisions, or fancy stuff like that.
PS: Bonus points if you write one without collision detection, then sell it as a game on Steam.
PS2: Super Bonus points if you make it 64bit, then keep crowd-funding it for 10 years.