logoalt Hacker News

Show HN: Quake ported to safe Rust, playable in browser

180 points • by ilreb • today at 5:22 AM • 141 comments • view on HN

Comments

aroman • today at 5:54 AM

Oh my god, and the author even supplied a "proof"[0] visual diff harness... that it replicates the original game pixel for pixel.

Just the cherry on top of great demonstration of our collective new superpower: asking computers to do something we can describe how to do, but would (probably) never take the time to do ourselves.

[0] https://github.com/terrapapagalli1516/quake-srp/tree/main/or...

➕ show 11 replies
hn_submit • today at 6:28 AM

Are hordes of developers now going to port all sorts of open-source software to Rust using LLMs and passing it off as their own work?

I don't see any need for this. Rust is brilliant but the Quake C++ code was already more or less bug-free.

➕ show 5 replies
airesQ • today at 7:27 AM

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):

* https://youtu.be/8TvVMzyxACc

➕ show 1 reply
koala_man • today at 5:49 AM

I would never have imagined a phone web browser capable of this in 1996 between playing Quake and testing out the hot new JavaScript powered mouse rollover image effects in Netscape Navigator 2.0

➕ show 1 reply
apresmoi • today at 11:05 AM

I feel https://cssquake.wtf and https://asciiquake.wtf are a bit more of a challenge than this

Quiark • today at 9:48 AM

I'm still getting blown to pieces, how is it safe?

franze • today at 5:58 AM

ok this beats my doom minesweaper mashup [1] by far

[1] https://dreadsweeper.franzai.com/

➕ show 1 reply
aizk • today at 6:04 AM

This may sound funny but I feel games would lose a lot of fun if they were all written in rust and had classes of bugs just not available to them. For better or for worse quirks and bugs in games have shaped how people approach games, and also have given games charm for decades.

➕ show 2 replies
onion2k • today at 5:47 AM

Code lives here - https://github.com/terrapapagalli1516/quake-srp (SRP stands for 'slop rust port'.)

I think 'standing on the shoulders of giants' is the phrase for something like this. It's the confluence of browser rendering, WASM, Rust, and LLMs. For me it's less a demo of what AI can do, and more a showcase of the human effort from the past few decades on the parts that needed to fall into place for an LLM to come in at the (relatively speaking) last second and claim a win. Sure, an LLM did the port from C to Rust, but think of all the things needed for it to all work. That's pretty damn amazing, and it wasn't done with AI.

➕ show 1 reply
CBLT • today at 5:47 AM

Damn, no results when I grep for 0x5f3759df in the source[0].

[0] https://github.com/terrapapagalli1516/quake-srp

➕ show 1 reply
hand32 • today at 11:00 AM

What's the point of this

anilgulecha • today at 9:28 AM

Has anyone done counterstrike clone in the browser? have friends join in and throw frag grenades. The open map ecosystem provides great free textures/artwork already.

If someone is looking for the next srp - might I suggest CS 1.6? it should run find one any modern browser.

➕ show 1 reply
Panzerschrek • today at 5:44 AM

How? Was it a LLM-assisted rewrite?

➕ show 6 replies
dwroberts • today at 6:17 AM

‘Safe rust’ just being used to mean ‘no unsafe’ is kind of a shallow understanding of the language. You can write code without unsafe that is not really ideal at all eg abusing vector/slice indexing to create a kind of interior mutability that the borrow checker is blind to. Which as a C port I’m going to guess it probably ends up doing

➕ show 1 reply
flowerthoughts • today at 5:47 AM

That's darn nice. I didn't even have to push the turbo button to be able to run it on my phone.

I wholeheartedly bless this slop.

Found the repo in the Reddit post:

https://github.com/terrapapagalli1516/quake-srp

https://www.reddit.com/r/quake/comments/1x1ch14/quake_srp_sl...

NSUserDefaults • today at 5:39 AM

Safe rocket jumping? Unlikely.

➕ show 2 replies
nottorp • today at 7:20 AM

If it's "safe" Rust it means you can't kill the last boss by telefragging it any more?

cush • today at 5:54 AM

It's so smooth

➕ show 1 reply
parasti • today at 6:25 AM

I spent five years on and off porting Neverball to the web by hand and waited for the perfect moment to announce it while tweaking the UX.

Fucking missed it.

https://play.neverball.org/

sehw • today at 8:25 AM

>I wasted time and money to reinvent the wheel

iwassayinbourns • today at 6:19 AM

This is cool. Do Quake 3 next.

gustavopezzi • today at 7:13 AM

It's funny how this type of thing makes me feel absolutely nothing inside. But hey, it's a free country.

DylanMerigaud • today at 6:11 AM

Clean launch, good luck!

furoTmark • today at 6:57 AM

would be even greater if multiplayer worked as well

Marazan • today at 6:30 AM

https://news.ycombinator.com/item?id=960369

Quake in Flash player from 2009 I think

sergiotapia • today at 5:57 AM

We're in a renaissance, every day more and more games are just playable in browser: https://x.com/RadiantOpti/status/2108068632991256995

You can play Half Life right now, with one click.

m00dy • today at 6:48 AM

indeed playable.

Uptrenda • today at 6:40 AM

Vibe coders need to stop trying to use the browser as a platform for complex games. It's never going to work out and will always lead to a slow, unplayable, piece of shit. If you want to make a game then just make it a desktop program... There's a reason why literally every modern game is built in this way.

➕ show 2 replies
sglim • today at 8:59 AM

[flagged]

tux404 • today at 8:28 AM

[flagged]

totallymike • today at 6:04 AM

[dead]

rvz • today at 6:24 AM

Another slop project highly likely to be abandoned in about a month.

➕ show 1 reply