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,即可验证所有权并自行管理介绍。
一分钟完成验证simon0191/fusion-game
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A phone browser game for an AI game jam. Walk around a small 3D world, battle trainers with monster cards, and fuse two cards into a new monster. In the finished game, AI writes each fused monster's name and flavor text and draws its art. Code decides stats, the fusion roll and abilities, and validates everything the AI returns.
Current state: storybook 3D world ("Sunlit Ruins") with animated trainers, placeholder monster art, mocked names, no AI calls.查看完整 README ↗A phone browser game for an AI game jam. Walk around a small 3D world, battle trainers with monster cards, and fuse two cards into a new monster. In the finished game, AI writes each fused monster's name and flavor text and draws its art. Code decides stats, the fusion roll and abilities, and validates everything the AI returns.
Current state: storybook 3D world ("Sunlit Ruins") with animated trainers, placeholder monster art, mocked names, no AI calls.
npm install
npm run dev # game on http://localhost:5180, API on :8787 (Vite proxies /api/)
npm test # rules tests
npm run sim # headless balance run, "Always win" off
npm run typecheck
Vite listens on your network too, so you can open the game on a phone on the same Wi-Fi. To run a second copy (for example from a worktree), pick other ports: PORT=5190 API_PORT=8797 npm run dev.
Controls: drag anywhere on the world for a thumb stick (WASD or arrows on desktop).
In dev builds the browser console has __fusion.battle("vex") to jump into a fight, plus __fusion.state and __fusion.world() for inspecting the game, and __fusion.warp(x, z) to move the player (the champion stands at 0, -15).
| Folder | What lives there |
|---|---|
shared/ | Game rules with no rendering: cards, elements, abilities, battle engine, fusion roll, AI output schema. Used by the client, server, tests and simulator. |
client/ | The browser game. world/ is the Three.js overworld, battle/ the 2D card battle, screens/ the deck, reward and fusion screens. |
server/ | Hono API. app.ts holds the routes, dev.ts runs it locally, ai/ holds the text and image adapters. |
api/ | Vercel entry point that hands requests to the Hono app. |
scripts/ | Balance simulator, and later art pre-generation. |
tests/ | Vitest tests for the rules. |
Live at https://fusion-game-five.vercel.app (Vercel project simon-sorianos-projects/fusion-game).
Deploys run through Vercel's GitHub integration, with no tokens or GitHub Actions:
main deploys to production.The Vite build is served as static files and api/index.ts runs as a Vercel Function. Vercel runs it as unbundled Node ES modules, so relative imports need a .js extension (import app from "../server/app.js"); TypeScript and Vite map these to the .ts files.
API keys (ANTHROPIC_API_KEY, HIGGSFIELD_API_KEY) will live only in the Vercel project's environment variables; see .env.example. None are needed yet.