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!
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.
I disagree. It very much looks like AI. In fact, this is close to something a good model will few- or even one-shot.
I don’t like to say it. I am not proud of it but I like to be rational. We are outgunned and we are not going to make it by ignoring the obvious.
The world did indeed change. My passion projects of before 2024 look like quaint relics from a distant past and they in fact are. Most of them will be one-shotted by quantized open models running locally in 20mins whereas I took weeks.
Doing things “by hand” is as much a waste of time or perhaps even more so than coding your apps in handcrafted assembly. It’s beautiful and I did it and perhaps someday, when retired probably, will do it again if at all possible but it makes absolutely zero sense to do it if you take your time seriously and are not madly in love with code itself which I suspect most are not because.. why would you. Code is not the product. The product is the product.
Doing things by hand is always going to be a part of the learning process. If you prompted an AI to one-shot a 3D open world game, you would learn nothing about programming, computer graphics, or game design. That expert domain knowledge makes you more effective with AI tools when you choose to use them.
My friend and I were in the car the other day and I remarked on the same thing.
Historically engineers and artists were two different kinds of people, often making fun of each other, especially the former of the latter because of the "starving artist" meme.
But what I've realised since is that engineers are now realising that we were artists all along.
And now there's a division in our ranks, those who use tools to get the job done and those who enjoy the process of writing all their code by hand, aka their art.
I can appreciate both, but I'm not going to pretend that I'd waste time in a business environment doing the latter when I should be doing the former. My friend only wants to do the latter and said he'd change careers if it gets too bad.
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]".
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.
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.
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.
> 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").
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.
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?
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…
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!
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.
I don’t like to say it. I am not proud of it but I like to be rational. We are outgunned and we are not going to make it by ignoring the obvious.
The world did indeed change. My passion projects of before 2024 look like quaint relics from a distant past and they in fact are. Most of them will be one-shotted by quantized open models running locally in 20mins whereas I took weeks.
Doing things “by hand” is as much a waste of time or perhaps even more so than coding your apps in handcrafted assembly. It’s beautiful and I did it and perhaps someday, when retired probably, will do it again if at all possible but it makes absolutely zero sense to do it if you take your time seriously and are not madly in love with code itself which I suspect most are not because.. why would you. Code is not the product. The product is the product.
Historically engineers and artists were two different kinds of people, often making fun of each other, especially the former of the latter because of the "starving artist" meme.
But what I've realised since is that engineers are now realising that we were artists all along.
And now there's a division in our ranks, those who use tools to get the job done and those who enjoy the process of writing all their code by hand, aka their art.
I can appreciate both, but I'm not going to pretend that I'd waste time in a business environment doing the latter when I should be doing the former. My friend only wants to do the latter and said he'd change careers if it gets too bad.
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]".
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.
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.
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").