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
Grow up Nigerian: school, hustle, love, family and legacy. A funny life simulator.
Translation pending
GamesTypeScript · JavaScriptGitHub @jhoshuer2OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A funny, replayable life simulator where you grow up Nigerian: school, hustle, love, family and legacy, from age 6 to old age. Mobile-first browser game (installable PWA). Starts in Lagos. You walk around a 3D neighbourhood (joystick, WASD or tap to walk), visit places (home, school, market, buka, pitch, bus stop, workplace, job centre), talk to people, and live your year there. A simple menu mode is available for older phones.Read the full README ↗A funny, replayable life simulator where you grow up Nigerian: school, hustle, love, family and legacy, from age 6 to old age. Mobile-first browser game (installable PWA). Starts in Lagos. You walk around a 3D neighbourhood (joystick, WASD or tap to walk), visit places (home, school, market, buka, pitch, bus stop, workplace, job centre), talk to people, and live your year there. A simple menu mode is available for older phones.
Status: Milestone 1 (playable life simulation) is implemented. See docs/PRD.md for the full product requirements and docs/STATUS.md for what is done against the M1 acceptance criteria.
npm install
npm run dev # http://localhost:5173
npm test # unit, property and bot-simulation tests
npm run sim -- 200 # balance simulator: 200 bot lives per strategy
npm run build # production build to dist/
Useful URL flags: ?unlimited=1 (disable the playtime meter for testing), ?debug=1 (exposes window.__nal.jump(age) for e2e).
End-to-end screenshots/flows use headless Chromium (CHROME=<headless_shell path> npm run e2e after npm run build && npx vite preview --port 4173).
| Path | What |
|---|---|
src/engine | Pure TypeScript simulation. No DOM/React/Three.js. Deterministic (seeded RNG), serialisable state. Public API in src/engine/api.ts. |
src/content | Data only: events, jobs, traits, quests, achievements, quiz bank, names. Add content here, not code. |
src/world | The walkable 3D district: layout and pathfinding (pure, tested), Three.js renderer, characters, guidance. |
src/minigames/go-slow-dash | Pure runner simulation (sim.ts) + Three.js renderer (renderer.ts). Lazy-loaded. |
src/ui | React screens, modals, avatar and scene art (SVG, procedural). |
src/platform | Saves, meta profile, playtime tokens, audio (synthesised placeholders), share card, feedback. |
docs/adr | Architecture decisions. |
Placeholders: music and art are procedural/synthesised. To replace them, add files to src/assets/manifest.ts (no code changes needed).
Add an ev({...}) entry in src/content/events/*.ts using the helpers in dsl.ts. Tests check ids, choices, string lengths and soft-locks. Mark culturally uncertain content for owner review and use the in-game 🚩 button during playtests.