---
title: "Need for Speed: Porsche Unleashed in the browser"
date: "2026-11-10"
---

I used AI and ported Need for Speed: Porsche Unleashed to the browser.
The work builds upon the great work by Sergei Biriukov with the [nfspu-recomp](https://github.com/paintenzero/nfspu-recomp) project.
I used Codex with GPT 6.1 Sol to do it.

:: Play it now https://daniel.lawrence.lu/nfs5/

:: GitHub https://github.com/dllu/nfs5-web

![Garage view of 935/78 "Moby Dick"](https://i.dllu.net/2026-11-10-15:04:45:587134421-grim_c2968d0bd7879cbb.png)

![Race in the Alps](https://i.dllu.net/2026-11-10-15:18:55:179781744-grim_1e550b96ade00bde.png)

![Porsche 356 in Côte d'Azur](https://i.dllu.net/2026-11-10-11:45:07:122403156-grim_31dbd7680b0fa83c.png)

As a kid, I always loved this game so it's really nice to get a good dose of nostalgia playing this.
Compared to the original game, my port has a few improvements and tweaks:

- Full resolution WebGPU rendering both in garage and in race. Previous work by Verok added an OpenGL renderer for race, allowing for arbitrary resolutions and aspect ratios, but the garage was still limited to 640x480. Verok's patch also adds the highest level of detail models, previously reserved only for the garage view, to the race view. However, I kept the menus/garage at 4:3 aspect ratio, or else the cars and videos may become stretched.
- [Rear spoiler fix for Verok's patch](https://www.nfsaddons.com/downloads/nfspu/tools/11074/rear-spoiler-fix-veroks-patch-964993996.html) by Zolee. Verok's patch adds high quality models from the garage view but these have a geometry bug for the automatic retractable spoilers on some Porsche models.
- Optional: [New atmospheric skyboxes](https://www.nfsaddons.com/downloads/nfspu/tracks/11357/new-atmospheric-skyboxes.html) by AndrewD. These add a cool skybox for faraway scenery. Enable via hamburger menu, then info, then restart the game.
- Super long draw distances.
- Mobile controls, either analog joystick or arrow keys (left right by left hand, throttle/brake by right hand).
- Local IndexedDB storage of save games.

Fixed some funny bugs:

- Original game hardcoded a "rotating sunstars effect" where the rays coming out of the sun and point light sources would rotate slightly based on camera angle. But they did the calculation in raw pixels, so they would rotate super fast at high resolutions.
- One pixel map seam: The rotating display in the "race info" menu was made of sixteen separate textured strips that animate to rotate through different pictures of the map. Those can be misaligned by a fraction of a pixel and end up exposing a black row.

![One pixel map seam](https://i.dllu.net/2026-11-09-11:39:43:312434206-grim_2636dff1aeb21dfd.png)
