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 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A genuine, block-by-block TypeScript port of Shattered Pixel Dungeon
(SPD), built on top of the mwg game
framework and running entirely client-side in the browser.
This is an independent, unofficial port. It is not affiliated with or endorsed by Evan
Debenham, SPD's author, who does not accept code contributions or suggestions of any kind
for the original project (see CLAUDE.md's "Upstream contributions" section) - this repo
exists precisely so that work here has somewhere to live on its own.檢視完整 README ↗A genuine, block-by-block TypeScript port of Shattered Pixel Dungeon
(SPD), built on top of the mwg game
framework and running entirely client-side in the browser.
This is an independent, unofficial port. It is not affiliated with or endorsed by Evan
Debenham, SPD's author, who does not accept code contributions or suggestions of any kind
for the original project (see CLAUDE.md's "Upstream contributions" section) - this repo
exists precisely so that work here has somewhere to live on its own.
spd-on-mwg-<version>-standalone.html - the whole game in one file. Works from an
email attachment or a USB stick; open it directly, no server needed.spd-on-mwg-<version>-debug.apk - Android, debug-signed, sideloadable as-is.spd-on-mwg-<version>-desktop.zip - Windows (.NET WebView2 host): unzip and run
MwgDesktopHost.exe.v0.2 - the first version this project calls complete: a hero can take any class from
sewer to Yog and win, on real Java numbers. Every deviation from the real Java behavior -
simplification, deliberate divergence, or outright gap - is tracked honestly in
PORT_COVERAGE.md, and outstanding work is tracked in
ROADMAP.md. Broadly:
PORT_COVERAGE.md for
the specifics.ROADMAP.md.npm install
npm run dev # local dev server
npm run build # produces dist/index.html, openable directly via file:// - no server needed
npx tsc --noEmit # type-check
npm run build # full build
npm run test:simulation # combat/turn/buff simulation suite
npm run test:items # item workflow suite
npm run test:lua # MWG Lua AI compatibility suite
npm run test:mwg # MWG SaveSystem/facade compatibility suite
npm run verify # all of the above, including the build
Browser verification (visual, in-game behavior) is a separate manual step - type-checking
and a clean build are not evidence a feature actually works. See CLAUDE.md's "Browser
verification workflow" section for the details.
GPL-3.0-or-later, matching SPD - see LICENSE. This port legitimately reuses
SPD's real Java source values and formulas (translated into TypeScript, never copied
verbatim as Java text) and SPD's real art assets (copied byte-for-byte into src/assets/,
with provenance noted in src/images.ts). The mwg framework it's built on is a separate,
generic, MPL-2.0 project maintained independently - see CLAUDE.md's licensing-boundary
section for how the two are kept apart.
The Java asset registry can be audited and extracted with the repository tool below. It reports referenced assets missing from this port and can copy missing binary files explicitly; it never embeds binary asset data in TypeScript.
node tools/extract-spd-assets.mjs --spd-root <path-to-spd-checkout> --check
node tools/extract-spd-assets.mjs --spd-root <path-to-spd-checkout> --copy
node tools/extract-spd-assets.mjs --spd-root <path-to-spd-checkout> --check --strict
CLAUDE.md - working rules for this repo: the licensing boundary, the
mwg dependency, verification requirements, and the browser-testing workflow.PORT_COVERAGE.md - the authoritative, per-system record of what's
ported, simplified, or not ported, and why.ROADMAP.md - outstanding work, organized by system.RELEASING.md - release targets and how to cut one.SIMULATION_ARCHITECTURE.md - how the sprite-free
combat/turn simulation layer is structured and tested.MWG_EXTRACTION.md - notes on the framework/consumer split and the
local-checkout integration tools, relevant only when developing mwg itself alongside
this port.