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 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證The showcase website of quest'n'click, the open-source point-and-click engine
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗The showcase website of Quest'n'Click, the open-source point-and-click engine for the browser: what it does, the demos to play, the changelog and the whole documentation, in English and in French. Live at quest-n-click.cleverapps.io.
Nothing of the engine is copied here. The site reads GitHub at run time:
CHANGELOG.md at the latest tag (/changelog);<!-- metric:… --> markers, "In numbers");quest-n-click-docs-<version>.tar.gz of the latest release, or its latest revision
(docs-v<version>-r<n>), rendered page by page in the site's own design with a search (/docs);quest-n-click-v<version>-web.tar.gz of the latest release that carries one (from 4.5.2), the game and
the Studio's demo built for the base path /demo/, checked against the release's SHA256SUMS and served at
/demo/ and /demo/studio.html. Until a release carries it, /demo/ says so and the Play page embeds GitHub Pages.A release of the engine is enough: the release workflow calls POST /api/revalidate and the site loads the new
archive without a redeploy. Once an hour the site also checks on its own.
npm install
QNC_DOCS_SOURCE=$(npm run -s docs:fetch) npm run dev # the archive downloaded once into .cache/, then offline
npm run build && npm start # production, on $PORT (8080 by default)
npm run test:e2e # Playwright, against `npm start`
Without QNC_DOCS_SOURCE the server resolves and downloads the archive itself at the first request for the docs.
| Variable | Role |
|---|---|
PORT | the port next start listens on (Clever Cloud sets 8080) |
SITE_URL | the public origin, for canonical URLs and Open Graph (default https://quest-n-click.cleverapps.io) |
GITHUB_TOKEN | optional, raises the GitHub API limit from 60 to 5000 requests an hour |
REVALIDATE_SECRET | the bearer token POST /api/revalidate expects |
QNC_DOCS_SOURCE | a directory holding an extracted documentation archive, instead of GitHub |
QNC_DOCS_CACHE | where downloaded archives are kept (default .cache/qnc-docs) |
QNC_DEMO_SOURCE | a directory holding an extracted web archive (the game built for /demo/), instead of GitHub |
QNC_DEMO_CACHE | where downloaded web archives are kept (default .cache/qnc-demo) |
QNC_DEMO_FALLBACK_URL, …_SHA256, …_VERSION | a web archive to serve while no release carries one (a release's always wins) |
Next.js 16 (App Router, React 19, TypeScript, Tailwind 4), served as a Node application on Clever Cloud.
app/[locale]/…: the pages; English at the root, French under /fr (proxy.ts rewrites the root to /en).lib/github.ts: the GitHub reads, memoised in memory for an hour, with the last good answer kept on a failure.lib/docs/: the documentation store (resolve.ts finds the archive, store.ts downloads, extracts and serves
it, markdown.ts renders the wiki's Markdown with its own markers: explicit anchors, applies: comments,
[!GUARANTEE], [!LIMIT] and [!MEASURE] blockquotes, generated regions).lib/demo/: the demo store (store.ts finds the latest web archive, downloads, checks and serves it) and the
route app/demo/[[...path]] that serves its files with the right types and caching.lib/changelog.ts: CHANGELOG.md parsed into versions and sections.messages/: the interface texts in both languages. content/: the gallery captions and the code excerpts.scripts/screenshots.mjs: screenshots of the main pages in both schemes and viewports.clever create --type node --org <org> quest-n-click-site
clever env set CC_NODE_DEV_DEPENDENCIES install
clever env set CC_POST_BUILD_HOOK "npm run build"
clever env set REVALIDATE_SECRET "$(openssl rand -hex 32)"
clever domain add quest-n-click.cleverapps.io
clever deploy
The engine repository holds the same secret as SITE_REVALIDATE_SECRET; its workflow site-revalidate.yml calls
the site after each published release.
MIT. The screenshots and the logo belong to the quest'n-click project (art under CC BY 4.0).