尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Ice 'N' Water brings the street chase every Nigerian kid grew up with to the browser: runners scatter, the militia chase, and a single touch freezes you — until a teammate's tap melts you back in.
| Layer | Stack |
|---|---|
| Game | TypeScript · Phaser 3 (Arcade Physics) · Vite |
| Multiplayer | Colyseus (server/) |
| Leaderboard | Upstash Redis behind a serverless proxy — api/ (Vercel) or worker/ (Cloudflare), zero secrets in the client |
| Voices | YarnGPT (regenerate via gen-voices.mjs) |
npm install
npm run dev # http://localhost:5173 (#adventure or #lobby to jump scenes)
npm run build # production bundle → dist/
npm run zip # flat itch.io archive
api/ via Vercel. Set X_CLIENT_ID
(X developer app, callback <api-origin>/api/auth/x/callback),
SESSION_SECRET, UPSTASH_REST_URL + UPSTASH_REST_TOKEN, then point
the game at it with VITE_API_URL=https://<your-api>.vercel.app and
VITE_BOARD_URL=https://<your-api>.vercel.app/api. Whitelist the api
origin's callback in the X app settings.
worker/ still serves the
board, but the X gate needs the api/ functions. With VITE_API_URL
unset the client auths against its own origin (the monolith case —
it will warn, and 404s if no api is hosted there); with neither
VITE_API_URL nor VITE_BOARD_URL set the game boots open (dev mode).server/ to any Node host (Render-ready:
render.yaml), set VITE_SERVER_URL, and give the server the same
SESSION_SECRET — that's how it verifies room tickets..env.production.example.Built with Devin. Voices by YarnGPT. For every kid who ever yelled "ICE!" in the streets of Lagos.