尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Dodge bullet patterns, fight bosses, and upgrade your ship in a Phaser space shooter.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A neon pixel-art bullet hell. Dodge dense bullet patterns, graze for combo, fight bosses, and build a stronger ship between waves.
▶ Play in browser · itch.io · Trailer
docs/PRIVACY.md, backend: server/.| Action | Keyboard (default) | Gamepad | Touch |
|---|---|---|---|
| Move | Arrow keys / WASD | Left stick / D-pad | Drag on the left side of the screen |
| Fire (hold) | Space | A / RT | FIRE button |
| Dash | Shift | LB / RB / LT | Dash button |
| Forcefield | Z | X | Shield button |
| Phase shift | X | Y | Phase button |
| Pause | Esc | B / Start | Pause button (top centre) |
| Fullscreen | F |
Survive the timed waves and pick an upgrade after each one.
Originally made for Bullet Hell Jam 6.
Built with JavaScript, Phaser 3.90, and Vite. Everything, including Phaser and the fonts, is bundled locally, so the game works offline. The only network use is the optional online API (boards and anonymous stats, off unless the build sets VITE_API_URL). The pixel art is not made of image files: every sprite is an ASCII map in src/art/ that is baked into textures at startup, and sound is synthesized at runtime. A strict Content-Security-Policy is injected into production builds.
npm install
npm run dev # dev server with hot reload (http://localhost:5173, ?scene=Game jumps straight into a run)
npm run build # production build in dist/ (relative paths: upload the folder anywhere, e.g. itch.io)
npm run preview # serve the production build
npm run check # static checks: syntax, sprite maps, texture contract, PWA manifest
npm run test:smoke # headless smoke test of the whole game loop (needs Chrome; set CHROME_PATH if not found)
npm run test:smoke:prod # same, plus the production bundle and its service worker
npm run test:server # online API: validation, ranking, rate limit, summary (Node 22.13+)
npm run test:online # the real game against the real API handler: callsign, world board, offline queue
npm run server:dev # local API on :8787 (VITE_API_URL=http://localhost:8787 npm run dev to use it)
npm run telemetry # real-player balance report from the API (see server/README.md)
npm run gif # re-record docs/media/gameplay.gif (needs ffmpeg)
npm run icons # regenerate favicon / PWA icons from the pixel-art source
npm run compliance # release checks: asset allowlist, secrets, licence metadata, no dev hooks in dist/ (see docs/COMPLIANCE.md)
CI (.github/workflows/ci.yml, read-only token, no secrets) runs check, npm audit, build, compliance, and the smoke test on every push and pull request. It uploads the build as the starburst-dist artifact.
There are a few more tools: node tools/shot.mjs takes screenshots of the running game, node tools/render-sprites.mjs renders sprite sheets, and node tools/qa.mjs runs a leak and flow check over every screen. In dev builds, window.__dbg exposes test hooks (skipToWave, boss, godMode, spray, …).
Here's where things live:
src/scenes/src/objects/src/systems/src/art/public/assets/audio/Before you change visuals or code structure, read docs/STYLE.md and docs/ARCHITECTURE.md.
The images in docs/concept-art/ are AI-generated concept art made during planning. They are not part of the game, are not hand-made pixel art, and are not shown as gameplay. The game's own art is the text-map pixel art in src/art/.
Proposed licensing (the maintainer has to confirm it, see docs/COMPLIANCE.md):
Security issues: see SECURITY.md. Contributions: see CONTRIBUTING.md.