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
A tennis RPG game where you rise from the club ranks to the world stage!
GamesTypeScript · CSSGitHub @cjmckeeOnlineOwner 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
more tennis simulator slop
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A stat-based tennis career simulation where you rise from club player to elite champion. Train your skills, compete in tournaments, build relationships, and make choices that shape your career — all driven by transparent, stat-based match simulation.
Each day has 4 time slots (Morning, Afternoon, Evening, Night). Spend them on:Read the full README ↗A stat-based tennis career simulation where you rise from club player to elite champion. Train your skills, compete in tournaments, build relationships, and make choices that shape your career — all driven by transparent, stat-based match simulation.
https://github.com/user-attachments/assets/89e2e7da-4380-474b-b45c-0763cf81c882
Each day has 4 time slots (Morning, Afternoon, Evening, Night). Spend them on:
Matches simulate point-by-point using your stats. At critical moments — break points, set points, match points — you make tactical decisions that influence the outcome. After each match you earn experience, training currency (split by how each part of your game went), and sometimes items or abilities based on your performance.
Every shot of every rally is calculated using your stats (and your opponent's stats) and used in a cascading sigmoid function to generate realistic outcomes. Incoming shots of high quality require higher quality responses to continue the rally, while lower incoming quality means better opportunities for offense. Playstyle factors into both tendencies and chance of success.
Five branching narrative arcs unfold as you play:
Your choices in story events pay or cost training currency, and shape your relationships and which future events become available.
npm install
npm run dev # Start development server
npm run build # Production build
npm run preview # Preview production build
Requires Node.js 18+.
src/
├── core/ # Pure simulation engine (no React dependencies)
├── game/ # Game system managers and orchestrators
├── stores/ # Zustand state management
├── components/ # React UI components
├── types/ # TypeScript type definitions
├── config/ # Tuning constants and thresholds
├── data/ # Static game data (characters, items, story events, tournaments)
└── hooks/ # Custom React hooks
See CLAUDE.md for comprehensive development guidelines, architecture principles, and coding conventions.
Audio assets are provided by third parties under their respective licenses. See CREDITS.md for full attribution.
The Breakpoint - Tennis RPG source code is released under the MIT License. Third-party assets remain under their original licenses as noted above.