Quake rewritten in safe Rust and running in the browser

Translated by a model; the original is in Russian.

· Linux and open source
id Software's 1996 Quake has been ported from its open GPL sources to Rust and now runs right in the browser — no GPU, no dependencies, software-rendered.

cover.svg

A project called quake-SRP was shown on Hacker News: id Software's 1996 shooter Quake has been ported to Rust and made to run directly inside a browser tab. The author stresses that the code is written in safe Rust and that the image is drawn in software — with no calls to the graphics card and no external dependencies.

The port is built on Quake's source code, which id Software released under the GPL. The engine is compiled to WebAssembly, so nothing needs to be installed to play. The build ships with the free shareware first episode — the original quake106.zip archive, 9.1 MB. The project's source code is published on GitHub.

Your own copy, the full game

If a user owns a legal copy of Quake, they can drop their own files onto the page: pak archives for episodes two through four, the Scourge of Armagon and Dissolution of Eternity mission packs, and the CD music tracks. The files stay in the browser's storage and are never uploaded. Picking a mission pack reloads the page with the right parameter, and saved games are preserved.

Controls and settings

The port supports modern input — WASD, mouselook and a gamepad — but you can switch to the authentic 1996 layout (arrows, no mouselook, no gamepad, no always-run). There is also the classic console with its commands and cheat codes: invulnerability, walking through walls, fly mode, handing out weapons and jumping between levels.

The author separates two presets. The "classic" preset reproduces id Software's WinQuake engine exactly as it behaved back then. The "slop" preset enables the port's own tweaks — an FPS counter, a refresh-rate setting and other options. You can switch between them from the menu or via a parameter in the address bar.


Source: Hacker News

Comments

Sign in, to comment.

  • No comments yet.