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
Game monopoli sederhana bertema kota-kota Indonesia
Translation pending
GamesTypeScript · CSSGitHub @MDimasWahyudiOnlineOwner 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.
Game monopoli sederhana bertema kota-kota Indonesia (Next.js + TypeScript + Tailwind). • Satu perangkat: 2–4 pemain bergantian di layar yang sama (tanpa server). • Online: buat room, bagikan kode atau tautan, main bersama dari perangkat berbeda (2–4 pemain). • Rumah & hotel, gadai, trading, fase utang, aturan main bergambar di dalam game. Arsitektur: server otoritatif di Vercel (API routes) + Supabase untuk penyimpanan dan Realtime.Read the full README ↗
Game monopoli sederhana bertema kota-kota Indonesia (Next.js + TypeScript + Tailwind).
npm install
npm run dev # http://localhost:3000
npm test # unit test logika game dan server room
npm run build
Arsitektur: server otoritatif di Vercel (API routes) + Supabase untuk penyimpanan dan Realtime.
/api/rooms/[code]/action. Server memeriksa token kursi dan giliran, mengacak dadu
(klien tidak bisa menentukan angka dadu), menjalankan reducer yang sama dengan mode lokal, lalu menyimpan
state baru dengan kontrol versi (optimistic concurrency).rooms lewat Supabase Realtime; polling ringan jadi cadangan.seats yang tidak bisa dibaca klien.supabase/schema.sql, lalu Run.Project URL, anon public key, dan service_role key..env.example menjadi .env.local dan isi ketiganya. Restart npm run dev.NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY), lalu redeploy.
SUPABASE_SERVICE_ROLE_KEYbersifat rahasia: jangan memakai awalanNEXT_PUBLIC_dan jangan di-commit.
Tanpa variabel Supabase, saat pengembangan (npm run dev) server memakai penyimpanan memori sehingga mode online
tetap bisa dicoba di satu mesin (polling tiap 2 detik, data hilang saat server restart). Di produksi tanpa konfigurasi,
tombol online menampilkan pesan "belum dikonfigurasi" sementara mode satu perangkat tetap jalan.
supabase/schema.sql.localStorage, jadi memuat ulang halaman atau kembali ke tautan room tetap masuk sebagai pemain yang sama di browser itu.src/game/ logika murni (board, reducer, aksi, jalur gerak) – dipakai klien dan server
src/server/ penyimpanan room (Supabase + memori), logika room, helper HTTP
src/app/api/ API routes
src/components/ UI (papan 3D, panel, lobi, Match)
supabase/ skema SQL
Deploy: import repo ini di Vercel (framework Next.js terdeteksi otomatis) dan isi environment variable di atas untuk mode online.