Settings

Theme

Hedra is a 3D open world game I wrote from scratch while in highschool

github.com

222 points by maxilevi · 46 comments

Reader

15 threads
maxileviOP

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

    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.

    • jan_m_savage

      This is exactly why I am still writing on Quora, advocating that people continue to learn how to program.

      Bradbury's book is almost becoming a reality.

  • aoguerrero

    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!

  • jh3nd3rs0n

    Thanks for sharing. It's nice to see a game made without AI.

  • kjuulh

    That looked like a really fun project, and quite the persistence you've got to actually stick with it for such a long time. I might have to give it a try when i get home.

  • dachris

    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

      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

        I agree, the people who care will still push themselves to learn. There's a concern about education for the ones who don't care, but that's a separate issue and was present long before AI came along.

    • Jare

      > Crazy to imagine that no one will build their mental muscle like this anymore. > [...] Wouldn't have been the same just saying "Claude, make [insert game here]"

      I think this trope is greatly exaggerated. I'm sure a lot of people try that (and then quickly move on to whatever meme is next), but why is it often presented as the only thing people do with AI?

      AI has changed the baselines, but building stuff is still going to be driven by a effort -> outcomes function. And effort leads to learning. I wrote machine code bytes by hand in the 80s, and in the 90s I already lamented that kids these days lo longer knew how things really work... but kids with interest and curiosity were actually just as fine as always.

  • sublinear

    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.

    • maxileviOP

      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

        Yes NLP has come a long way and LLMs allow easier "searching" of the solution.

        The one shot results vary in quality because in order for the result to align with something good, you're playing a guessing game which description(s) match the desired output. Needing to know what's on both sides of the curtain is in some ways potentially double the effort of not bothering with an LLM in the first place.

        It's also for this reason I'm skeptical of the more "specialized" models. They're basically inflatable bumpers on the bowling lanes mapping to limited outputs that might not even be as good as the training source. Might as well just give me the github link at that point and we're right back to copypasta in the 2010s.

    • F3nd0

      > 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

      > 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").

  • pjmlp

    Kudos for achieving it, and extra brownie points for the effort to go with C# instead the more common options.

panza

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

    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

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.

downback

Congratz for finishing

merlinthegreen

Is hedra-tools supposed to be private? Having a non-public git submodule makes this very hard to work with!

jan_m_savage

Noice! Though I wonder why you had chose C#. (Not that anything is wrong, just curious).

chrysoprace

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.

mrmckizzle

Added it to my steam wishlist. Thanks for sharing.

djmips

(2016) even more important because of the age we live in now.

dead_hn_theory

Shit man... Collada? Now there's a name I haven't heard in forever. I still have fond memories of Ogre3D and Sauerbraten (Cube).

KolmogorovComp

Reminds me of CubeWorld, if my memory serves me. And that’s a compliment!

izecube

reading stories like this in the days of AI is amazing. Thanks for sharing, you’re and inspiration.

skizm

Where’d you get started with open GL? Any particular set of tutorials?

0x23alfonso

appreciate the aesthetic, hopefully it becomes fully fledged

sabujp

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

    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…

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection