It's a faithful port of Quake's original software renderer. Everything happens on the CPU, which made it easier to match the original exactly. In theory the same could be done on a GPU, but I think it would be harder and messier.
The trade-off with software renderer is that it's more code. With GLQuake much of the actual rendering work is handed off to OpenGL itself, i.e. the driver and the GPU. In the software renderer, the engine does all of that in its own code.
Author here (someone else submitted it, thx). There's a video as well, a six-minute video on how it works and the various QoL that we added (made by AI with human assistance):
This took about 4 months as a hobby project; I don't know how much of that was work and how much was "waiting for the next model", probably a mix of both.
Since this ended up on Hacker News, I'll say it: I find the discourse around LLMs strangely sad. They're annoying, yes, and they make mistakes every day, every hour. But they're also amazing, and working with them has been one of the most rewarding things I've done in years.
Historically things that make people more productive have tended to make us richer, not poorer. And it's a virtue to change your mind as the evidence comes in.
We played with Lego all our lives; now the Lego understands us and helps us build. I think that's something to be glad about.
You're putting the cart before the horse in various ways. Saying "it's a virtue to change your mind" implies you're already at the correct solution, and everyone who disagrees with you is wrong.
I'm not judging the statement on its own, but within the context of their post, it's clear that it reflects their assessment of their own position on LLMs vs everyone else.
It is a virtue to change your mind, but using it in that context reveals something else.
It does have various improvements over the original version. And I don't agree with the notion that "all work that relies on LLMs requires no effort". If this were the case, we would have plenty of complete Rust ports of Quake. It's open-source, allegedly super easy to port. But as far as I know, we did not.
> If this were the case, we would have plenty of complete Rust ports of Quake.
Well no, because there's little point doing it. You want a port of Quake 2 to Rust? Just ask Opus 5.5 to do it. I'm not going to waste the tokens but I guarantee it could do it with no further prompting.
It's literally a best case for AI - it can easily write tests to ensure bit-for-bit identical output and just keep going until it achieves it.
I'm not going to waste the tokens but based on the other stuff I've vibe coded, this was impossible 1 year ago, a difficult challenge 6 months ago, and trivial today.
Video: https://www.youtube.com/watch?v=8TvVMzyxACc
Browser(shareware): https://quake-srp.pages.dev/
Source: https://github.com/terrapapagalli1516/quake-srp
reply