Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A lightweight browser Grand Prix game: one or two players, up to 19 bots, on a faithful Silverstone built from real survey geometry. No build step, no dependencies to install.
# any static server works; for example
python3 -m http.server 8000
# then open http://localhost:8000/
Opening index.html straight from disk also works in most browsers (the game uses plain scripts,
not ES modules). Chrome, Edge, Firefox and Safari on a laptop or desktop are the target; phones get
on-screen buttons for one player.
| Action | Player 1 | Player 2 | Gamepad |
|---|---|---|---|
| Throttle / brake (reverse when stopped) | W / S | ↑ / ↓ | RT / LT |
| Steer | A / D | ← / → | Left stick |
| DRS (only in a DRS zone when armed) | Left Shift | Right Shift or . | A |
| ERS boost | Left Ctrl or Space | Enter or Right Ctrl | B / X |
| Camera (chase / cockpit / TV) | C | / | Y |
| Request a pit stop | P | Backspace | RB |
| Choose tyres for the stop (soft / medium / hard) | 1 / 2 / 3 | 8 / 9 / 0 | |
| Pause | Esc | Start | |
| Mute / restart | M / R (split screen: restart from the pause menu) | ||
| Controls screen (menu or pause) | H |
In single player either key set drives the car. The menu's CONTROLS button (or H) shows all of this in the game. In split screen each view shows its player's keys while the cars wait on the grid.
Press P (Backspace for player 2) to request a stop and 1/2/3 (8/9/0) to choose the compound. Be on the pit side of the track at the entry; the lane drives you at the 80 km/h limiter (5 s penalty if you cross the limit line too fast). A 15-person crew changes the tyres in about 2.5 s, wear resets, and you rejoin. Bots pit on wear or a planned lap. The pit lane has garages, tyre racks, pit-wall engineers and idle crews.
Liveries are painted procedurally in js/teams.js. If a file exists at
assets/liveries/<teamId>.png (1024×1024) it is drawn over the painted sheet, so you can drop in your
own decals. Layout: top view of the car in the upper half (nose on the left, left side of the car at the
top), left side in rows 512–768, right side in rows 768–1024. Team ids: rossa argent taurus papaya verdant alpenne wilhelm hayes kinetik vector.
js/data/silverstone.js holds the centreline as metres in a local tangent plane plus named corners,
DRS zones, pit lane and scenery polygons. Any closed loop of points in the same format works; the track
builder resamples it, computes curvature, walls, kerbs, gravel placement and the racing line automatically.
index.html page, menu, HUD markup
css/style.css
js/data/silverstone.js circuit geometry (derived from OpenStreetMap)
js/util.js helpers, procedural textures
js/teams.js teams, drivers, livery painter
js/track.js resampling, elevation, lookups, racing line, track surface and furniture
js/scenery.js terrain, grandstands + crowd, buildings, trees, sky
js/carglb.js loads the GLB car and composes per-team liveries
js/carmodel.js procedural fallback car model
js/infra.js hoardings, fences, tyre stacks, screens, flags, paddock
js/car.js vehicle physics
js/ai.js bot drivers and speed profile
js/race.js race director: grid, lights, laps, DRS detection, collisions, classification
js/hud.js per-player HUD, minimap, tower, results
js/audio.js synthesized engine and cues
js/input.js keyboard / gamepad / touch
js/main.js renderer, cameras, loop, menu
vendor/three.min.js three.js r128 (MIT) plus its EffectComposer, bloom, FXAA and Sky modules
js/particles.js dust, gravel spray and tyre smoke
The game is static files with index.html at the repository root, so it deploys unchanged on Vercel,
Netlify or GitHub Pages. Serve it over HTTP; the car model is loaded with fetch.
Circuit geometry derived from OpenStreetMap data, © OpenStreetMap contributors, licensed under the ODbL. three.js is MIT licensed. Team and driver names in the game are fictional. The trackside advertising, the two works teams (Lumi Racing and Intake Racing) and the menu partner links are for Lumi and Intake; see CREDITS.md.
js/carmodel.js: lofted chassis, nose
and sidepods with inlets, airbox and shark fin, four-element front wing with curved tips and endplates,
rear wing with painted endplates, beam wing, swan-neck mounts and a working DRS flap, floor with edge wings
and diffuser strakes, full wishbone / pushrod suspension with uprights and brake-duct winglets, halo,
driver with helmet, HANS and arms on a steering wheel with a live display, headrest, mirrors, T-cam, pitot
and rain light, 18-inch wheels with covers and branded tyres with compound-coloured sidewalls. Ten teams in recognisable colour schemes, two drivers each, with
numbers, driver codes and sponsor-style decals painted into a livery sheet. A contact shadow sits under
every car.