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).