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
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A library of simple two-player arcade games that run entirely in the browser
with no server. Two phones exchange moves ("orders") directly, by sound
(ggwave) or by QR code. The two channels
are interchangeable, so a noisy room or a broken camera never blocks a game.
Hosted on GitHub Pages as a PWA: install it to the home screen and every page,
including the games, keeps working with no network at all.
Every game saves after each move and offers the other player's side as a QR
code, so the second phone can pick a match up mid-game by scanning it on the
Resume screen instead of starting over.README 전문 보기 ↗A library of simple two-player arcade games that run entirely in the browser with no server. Two phones exchange moves ("orders") directly, by sound (ggwave) or by QR code. The two channels are interchangeable, so a noisy room or a broken camera never blocks a game.
Hosted on GitHub Pages as a PWA: install it to the home screen and every page, including the games, keeps working with no network at all.
Every game saves after each move and offers the other player's side as a QR code, so the second phone can pick a match up mid-game by scanning it on the Resume screen instead of starting over.
Requires Deno 2.x.
deno task setup # installs the git hooks (run once after cloning)
deno task dev # builds to dist/ and serves it at http://localhost:8443, rebuilding on change
deno task check # fmt check + lint + type check
deno task test # unit tests
deno task build # production build to dist/
deno task e2e # build, then drive the pages in headless Chromium with fake
# devices, and confirm every page still loads offline
deno task determinism # replay a game's golden checksum in Chromium, Firefox,
# and WebKit
e2e needs a Chromium (deno run -A npm:playwright install chromium);
determinism needs all three engines
(deno run -A npm:playwright install chromium firefox webkit).
The pre-commit and pre-push hooks run check and test.
Open /diag.html on two devices to send a message between them by sound or QR,
or /handshake.html?role=host on one and /handshake.html?role=guest on the
other for a full call, reply and ack round. Browsers only allow the microphone
and camera on secure origins, so for local testing over Wi-Fi the dev server
needs a certificate. With mkcert:
mkdir -p .certs
mkcert -cert-file .certs/cert.pem -key-file .certs/key.pem localhost 192.168.1.10
deno task dev # now serves https on port 8443
Replace the IP with your machine's LAN address and install mkcert's root CA on each phone. The deployed GitHub Pages site is already HTTPS.
Pushes to main build and deploy to GitHub Pages via
.github/workflows/pages.yml.