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
Mario Kart rules. Seated-guard speeds. Race butt-scooting BJJ characters, bump a rival, settle it with a grappling match. Any submission ends it.
Translation pending
GamesJavaScript · CSSGitHub @Simple-Cohort-LLCOnlineOwner 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
Fable engineered jiu jitsu butt scoot racing web game 🥋
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A Mario Kart-style browser racing game where jiu-jitsu players butt-scoot around tatami-mat tracks — and settle collisions with real grappling matches.
?play&gym=hotroom&track=bolo deep-links a raceControls: ↑ scoot · ←/→ steer · ↓ brake (WASD works too). In a match:
A advance · S sweep · D defend · F submit · G gloat. On phones it's
all thumbs: hold SCOOT!, tap ◀ ▶ to steer, tap the moves on the mat.
?play in the URL skips the menu and drops straight into a race (handy for
embeds).
No build step, no dependencies:
python3 server.py
# → http://localhost:4173
To enable the AI features locally, pass an Anthropic API key:
ANTHROPIC_API_KEY=sk-ant-... python3 server.py
server.py serves public/ and proxies /api/claude to Anthropic so the key
never reaches browser code.
The repo is a Cloudflare Worker with static assets: the game in public/, the
API proxy in src/worker.js. Connect the GitHub repo in the Cloudflare
dashboard (Workers & Pages → Create → connect to Git) — the default
npx wrangler deploy build command just works — or deploy from your machine:
npx wrangler login
npx wrangler deploy
npx wrangler secret put ANTHROPIC_API_KEY # optional — enables AI features
(In the dashboard, the secret lives under the Worker's Settings → Variables and Secrets.) Without the secret, the game runs fine with its built-in roster and scripted commentary.
Cost note: a public deployment with a key means your account pays for every
visitor's AI calls. Bind a KV namespace named RATE_LIMIT (see wrangler.toml)
to cap each IP at 200 AI calls/day, and consider keeping the secret unset until
you have real limits or accounts.
public/ the game (index.html, style.css, game.js) — no build step
src/worker.js Cloudflare Worker: /api/status, /api/claude, asset fallthrough
server.py local dev server + Claude proxy (mirrors the Worker)
wrangler.toml Cloudflare Workers config
TBD — all code is original; fonts (Bungee, Archivo, Chivo Mono) are SIL OFL via Google Fonts.