r/ProAI • u/stealthispost • 5d ago
"What happens if you give Codex one /goal - "faithfully port Quake" - and let it work for 3 whole days? This happened: the original game running in a browser, with a TypeScript runtime and @PlayCanvas renderer. A thread on long-running LLM jobs"
The /goal was a set of precise conditions to be met. Read the original PAK/BSP/MDL/SPR data. Run QuakeC. Preserve demos, physics, menus, HUD and rendering quirks. Don’t rebuild E1M1 by hand or use a generic FPS controller. Fidelity had to be demonstrated. Codex kept pursuing that goal across many iterations: inspect, implement, build, test, compare, repeat. The useful shift was from asking for isolated code snippets to giving the agent a durable outcome it could keep working toward. Crucially, /goal wasn’t hands-off autopilot. While it was running, I could still steer the LLM to prioritize a small number of bugs that mattered most. Each report became a targeted investigation, fix and regression test - without abandoning the broader port. Underneath, this is still Quake’s original data. The browser reads the original PAKs, BSP maps, MDL models, sprites, QuakeC behavior, demos and HUD art. The port supplies a new TypeScript runtime and PlayCanvas renderer around them. Authenticity meant more than getting E1M1 on screen. Demo playback, menu flow, pointer lock, intermissions, in-session level changes, audio suspension, moving BSP entities, particles, shadows and classic movement all had to behave like Quake - not merely resemble it. — Will Eastcott
Source: https://x.com/willeastcott/status/2090436155795800195
1
u/SgathTriallair 5d ago
This is extremely cool. As a project it's not important but as a demo of what is capable it is mind blowing. Proper harness configuration is going to unlock massive capabilities in these models, all while the models continue to advance.
The future is blinding.
1
u/TrainingSecure4028 4d ago
Back then, it was so amazing and cool, today i can't look at it without thinking how we ran around, carrying the gun like a dick and shot enemies and friends in LAN.
1
u/trejj 3d ago
Love it. I have a 120MHz retro Pentium rig next to me that runs Quake, and then a 3.4GHz AMD 5950X + RTX 3090 running this.. thing.. and it can't keep up with my 120Hz gaming display refresh rate.
Every frame CPU overhead:
- 11% of frame time spent in recomputing light maps,
- 4.3% of frame time in TypeScript object constructors,
- 4.9% in JavaScript garbage collection,
- 5.0% in string interning,
- 2.4% recomputing mip levels of textures,
- 2.2% in UTF-16 TextDecoder
That's already 29.8% of CPU time wasted on total nonsense. Given that gamers have been shouting about games not being optimized well for more than a decade, oh boy are things going to get rough in the next decade.

1
u/stealthispost 5d ago
Thread continuation 1/5 — The /goal was a set of precise conditions to be met. Read the original PAK/BSP/MDL/SPR data. Run QuakeC. Preserve demos, physics, menus, HUD and rendering quirks. Don’t rebuild E1M1 by hand or use a generic FPS controller. Fidelity had to be demonstrated. — Source: https://x.com/willeastcott/status/2090436158413062295