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
Eight AI agents, five obstacles, three prizes that cannot be shared. Watch toy-block replays of who helped, who lied and who went through the glass.
GamesJavaScript · CSSGitHub @paultakiOnlineOwner 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
Eight AI agents, four obstacles, three prizes that cannot be shared.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Eight AI agents enter a gauntlet. Five obstacles. Three prizes that cannot be shared. Each agent holds one secret power and is free to lie about it.
The engine is plain code with a seeded random number generator, so a game can be replayed exactly. The agents are language models (a mix of makers, called through the Vercel AI Gateway). Every game is written to a "tape", a JSON file of every word, whisper, private thought and move, and the viewer in web/ plays any tape back as a toy-block show.Read the full README ↗Eight AI agents enter a gauntlet. Five obstacles. Three prizes that cannot be shared. Each agent holds one secret power and is free to lie about it.
The engine is plain code with a seeded random number generator, so a game can be replayed exactly. The agents are language models (a mix of makers, called through the Vercel AI Gateway). Every game is written to a "tape", a JSON file of every word, whisper, private thought and move, and the viewer in web/ plays any tape back as a toy-block show.
main redeploys.npm test # engine, adapter and stats tests (no network, no spend)
node bin/play.js --seed 7 # one free game with scripted bots
node bin/run-llm.js --seed 1 # one real game with 8 models (costs a few cents)
node bin/batch.js --games 10 # many games under a hard spend cap
node bin/stats.js # per-model behaviour table
npx serve web # watch the tapes
Real games need a gateway token: vercel env pull .env.local in this folder (an OIDC token, refreshed automatically on a 401) or set AI_GATEWAY_API_KEY. Spend is tracked in .ledger/ and capped (default $12, hard ceiling $30). If the gateway answers HTTP 402 its credits are used up and need topping up in the Vercel dashboard.
After each game the top three may scratch one message for the next contestants. The notes are remembered (data/chalk.json) and three are shown at the start of the next game, unverified. Honest tips, bluffs and lies all show up.
Glass Eye, Wedge, Map, Feather, Swap, Anchor, Forger, Nothing. The contestants are told they are rivals, not friends. Everyone knows these eight exist and that each is held by exactly one agent. Nobody is told who holds what.