Hedra is a 3D open world game I wrote from scratch while in highschool (github.com)
180 points by maxilevi 13 hours ago
maxilevi 13 hours ago
I started this game almost 10 years ago in high school as a way to learn OpenGL. Scope creep quickly took over, and it eventually became a full 3D game and engine with animations, rendering effects, dynamic terrains, etc, with ~100k lines of code and native Linux and Windows support.
Thought I'd share it! With AI coding now, it feels like a relic of another era. Crazy to imagine writing 100k lines by hand today!
adamddev1 11 hours ago
Very cool and thanks for sharing! It's inspiring to see that yes, one person can build something like this. And of course it does NOT have that immediate AI feel. Just a glance and you can feel that it is a true, original work of art. It's also sad to think that so many will not be learning as much as you did thinking this all out and coding by hand.
I think we need to keep pushing back against this idea that "now it's the AI coding era, everything gets coded with AI." Let's keep building things, especially passion projects carefully by hand and normalizing this. Lots of us are still coding without AI.
jh3nd3rs0n 13 hours ago
Thanks for sharing. It's nice to see a game made without AI.
aoguerrero 8 hours ago
I got the game and it runs smooth on my aging PC, I really enjoyed playing it.
I really appreciate the amount of effort and skill put on this, because I tried many times to get into the 3D gaming programming and OpenGL and I found it far from my skills and patience.
Is a truly piece of art, made with passion for programming, thanks for that!
dachris 12 hours ago
Kudos, that looks very good for a high school coding project (both visuals, and the code looks very well structured).
I feel like half of all software devs started out like this - coding their own game.
Crazy to imagine that no one will build their mental muscle like this anymore.
I sure learnt so much analytical thinking, debugging, problem solving and banging my head against a mental wall until the wall yielded through passion hobby projects like this. Wouldn't have been the same just saying "Claude, make [insert game here]".
adamddev1 11 hours ago
I think "no one will build their mental muscle like this anymore" is a bit defeatist. I am still pushing myself coding new and challenging things by hand, not using AI at all for it.
fasterik 8 hours ago
pjmlp 11 hours ago
Kudos for achieving it, and extra brownie points for the effort to go with C# instead the more common options.
sublinear 12 hours ago
I hope I don't sound rude for saying this, but "relic of another era" isn't how I'd describe the time before LLMs.
We're very much still in the same era as back then. I hope every dev realizes by now that there's no meaningful difference between a git clone back then and using LLMs now.
Projects like yours contributed to the source "training data". It's only plagiarism when people didn't publish their source with this intent.
maxilevi 12 hours ago
I get what you mean and I agree but I wanted to highlight the difference between this and all the vibe coded games opus 5.5 can one shot
sublinear 12 hours ago
F3nd0 an hour ago
> I hope every dev realizes by now that there's no meaningful difference between a git clone back then and using LLMs now.
Um… conscious intent? History? Integrity? Attribution?
> It's only plagiarism when people didn't publish their source with this intent.
Yes. And they didn’t. Unless they were public domain (which most libre projects chose not to be), they absolutely didn’t and I can’t begin to imagine how you arrived at your conclusion.
jacobgkau 11 hours ago
> I hope every dev realizes by now that there's no meaningful difference between a git clone back then and using LLMs now.
There is a difference between running a command to copy someone else's entire project (which you might then do whatever with, including manually building on top of or copying things from), and running a prompt to generate a new project (which you're then going to consider "your own").
panza 9 hours ago
Very humbling to see that this was created in high school and without AI.
Side note: it's interesting to see how 'wrote from scratch' or 'hand written' is used in 2026. I've seen it used to mean literally everything, while others might mean they wrote the core of the engine + some SDL sprinkled throughout. And now, it could just mean 'didn't use AI at all'.
serf 8 hours ago
yeah.
my mind is still stuck in an era where "written from scratch" means no packages and pure language.
people older than me scoff at the concept of how easy it is to be given an already working compiler..
'computers' probably have one of the most diverse fanbases as far as age and expectation goes of nearly anything around, and we're definitely entering a new era.
skyberrys 13 hours ago
I appreciate your low-poly aesthetic. I bet you and like half this website have written a video game in highschool. You have found the right group to tell about it.
djmips 4 hours ago
(2016) even more important because of the age we live in now.
chrysoprace 9 hours ago
I think it's really cool that you built the game around a mod API - I think all games should do this, and I love projects that were built for the love of the craft.
KolmogorovComp 9 hours ago
Reminds me of CubeWorld, if my memory serves me. And that’s a compliment!
chrysoprace 9 hours ago
If you liked the look of Cube World but not what it became, you might enjoy Veloren[0], which is a free GPLv3 effort to build a game inspired by Cube World.
skizm 11 hours ago
Where’d you get started with open GL? Any particular set of tutorials?
mrmckizzle 8 hours ago
Added it to my steam wishlist. Thanks for sharing.
dead_hn_theory 6 hours ago
Shit man... Collada? Now there's a name I haven't heard in forever. I still have fond memories of Ogre3D and Sauerbraten (Cube).
0x23alfonso 13 hours ago
appreciate the aesthetic, hopefully it becomes fully fledged
sabujp 11 hours ago
Excellent work, also when you say by hand do you mean you had some autocomplete that autocompleted or showed you inline docs for method calls or did you actually write it by hand with no autocomplete at all?
ideasphere 10 hours ago
I used autocomplete but i thought that was cheating so i handwrote all my programs on napkins, scanned them in and used tesseract to digitise it, but that felt like cheating so I manually traced my scans in mspaint and then wrote my own ocr to convert them, but that felt like cheating so…