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
An old-school horse sim. Build your stable, breed your lines, run the shows.
GamesTypeScript · PLpgSQLGitHub @alliefernOnlineOwner 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.
An old-school horse sim. The main site holds the paperwork: bank, land, stables, horses, pedigrees, breed associations, and shops. The forum is where the game actually happens: sales, shows, stud ads, and barn life. One account works across both.Read the full README ↗An old-school horse sim. The main site holds the paperwork: bank, land, stables, horses, pedigrees, breed associations, and shops. The forum is where the game actually happens: sales, shows, stud ads, and barn life. One account works across both.
images bucket)All game rules live in Postgres SECURITY DEFINER functions (supabase/migrations/0002_game_functions.sql). Row-level security plus column-level grants mean players can only edit cosmetic fields directly. Money, land, horses, and stats only move through the rules.
supabase/migrations/ in order (or link the Supabase project and run supabase db push).NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY (or NEXT_PUBLIC_SUPABASE_ANON_KEY)https://<your-domain>/auth/callback to the redirect allow-list.npm install
npm run dev
Staff can post in Announcements and pin/lock threads:
update public.profiles set is_admin = true where lower(username) = lower('their_username');
Prices live in tables, not code. Change them in SQL and every page picks them up:
price_list: land, imports, registration, age-ups, licenses, stalls, extrasfacility_types, footing_types, facility_features