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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A mobile-first 3D racing game built as a Nimiq Pay Mini App.
Race three AI rivals point-to-point through zombie-infested streets: drag to
steer, tap to fire nitro, splat everything green for combo points, and grab
coins along the way.
Built with Three.js + Vite + TypeScript. No frameworks, targets 60 fps inside
the Nimiq Pay WebView.README 전문 보기 ↗🔗 Play now: minirush.site · mini-rush.vercel.app
A mobile-first 3D racing game for the web. Race three AI rivals point-to-point through zombie-infested streets: drag to steer, tap to fire nitro, splat everything green for combo points, and grab coins along the way.
Built with Three.js + Vite + TypeScript. No frameworks, targets 60 fps on a phone browser.
npm install
npm run dev # → http://localhost:5173 (already --host for phone testing)
npm run build # typecheck + static bundle in dist/ — deploy anywhere
Desktop testing: ↑ or W to accelerate, ← → or A/D to steer, ↓ or S to brake, quick tap / Space for nitro, C to cycle camera (chase / low bumper / high TV — also the 📷 button). Mobile: hold the gas pedal (bottom-right) to accelerate, drag to steer, hold the brake pedal (bottom-left), tap for nitro. Release the gas and the car coasts down to a roll.
Query params for testing: ?len=500 (lap length in metres, default 1800),
?seed=7 (deterministic circuit), ?laps=4, ?map=beijing (city id or index),
?mode=burnout (mode id or index).
src/modes.ts):
?laps=). Zombies and pickups respawn every lap. The
circuit previewed on the menu/tour page is the exact circuit you race.src/style.ts) — near-misses, drifts
and takedowns fill one gauge, and a full gauge pays out a nitro tank as
well as stepping the score multiplier. Risk buys speed, speed makes everything
riskier. Contact wipes the chain. Style and boost used to be separate
currencies, which meant a player could ignore either one.src/traffic.ts) — a recycled pool of civilian cars fills
the lap. It is what near-misses are measured against and what makes speed read
as speed. Rows are spaced and never block adjacent lanes, so there is always a
line through; clipping one costs speed and your chain, and only a fast closing
hit does damage.
Lagos mixes four yellow-and-black danfo minibuses into the ten-vehicle pool,
with passenger windows and route boards. Their procedural model shares geometry
and materials across the fleet (src/danfo.ts).
Traffic keeps its distance across laps, waits in the spawn queue until it comes
into view, and avoids starting lane changes beside an approaching player or
into another vehicle. Danfos have a longer contact zone. Gentle clips retain
88% of speed; hard impacts retain 72%. A near miss pays once the player has
fully cleared the vehicle, and only if the pass stayed clear of contact.src/city/passenger.ts),
then the GPS routes you along the roads to the drop-off against the clock
(src/city/fares.ts, src/city/roads.ts). Free roam: hidden tokens
unlock garage cars and street races start from the map
(src/city/activities.ts). Civilian traffic loops the grid, and the east
freeway crosses a bridge to a second island. Races elsewhere carry a round,
heading-up minimap (src/raceMap.ts).src/maps.ts). Each city has its own cel palette, fog mood, track
shape (flowing vs technical) and three districts along the lap — e.g.
Hutongs → Temple Gardens → CBD. A shared lighting/material palette stays
consistent across the lap while the local architecture and vegetation change.npm run build && npm run preview # serve dist on :4173
node scripts/smoke.mjs [shotsDir] # Playwright: full race → results → retry
Exits non-zero on console errors or if the results screen never appears.
Screenshots (menu, countdown, mid-race, results) land in shotsDir.
Everything in the game is bought with coins earned by racing: cars in the
garage, upgrades, paint and workshop parts. Coins are banked on the device
(src/economy.ts) and have no cash value. The driver chip on the menu opens
the driver card, where a player can pick the username the boards show.
contracts/ still holds the Foundry project for MiniRushTracker,
the Celo tracker the game used earlier. Nothing in src/
references it any more; it is kept for history and is not part of the build.
Cel-shaded PS2-era arcade style with real 3D models (CC0/free asset packs,
credits in public/assets/models/CREDITS.txt), procedural fallback art where
kits aren't loaded, and hot-swappable models/sounds by filename — see
public/assets/README.md for the full asset list and credits.
Browser checks (with the dev server running): scripts/check-presentation.mjs,
scripts/check-driving.mjs, scripts/check-danfo.mjs, scripts/visual-world.mjs
and scripts/visual-cars.mjs. They save screenshots under output/ and are not a
substitute for profiling on a physical phone.
Source code is MIT — see LICENSE.
The art and audio under public/assets/ are third-party and keep their own
licences, recorded with their packs and terms in CREDITS.md.
Every asset slot has a procedural fallback, so the game runs complete without
any of them.