Rewrite fate in the echoes.
English · 简体中文
Play online · Preview (PRE) · Wiki · Changelog
A browser defense roguelike for desktop and touch screens. Hold a fixed position, fire automatically, pick a target, and build a run from 51 augments, 12 synergy families, and 8 stat trainings. Clear four encounters, then carry your build into endless mode.
- Click or tap enemies and chests to focus fire. Your ship stays in place.
- Pick one reward at a time; combat pauses while you choose. Family bonuses activate at 3 / 6 / 9 stacks.
- Defeat each boss and every remaining enemy to advance. Restarting clears the run.
Endless uses finite waves, native stars and three segment supplies. From depth four, a Colossus and Wizard share one elite segment: choose a warning to counter, reselect that leader for this cast, then land focused primary hits after forming. Enough damage can also interrupt. Weak points reward follow-up fire; high-star resistance, deep-endless percentage and recovery allowances, and mixed wave packs limit automatic snowballing. Training credit stays separate from score, with gradually rising requirements and complementary build choices. See the evolution contract and stage rules. The normal campaign goal is 8–12 combat minutes. The v4 calibration record records 300/600/120 completed runs, passing ordinary-build pacing and a candidate accepted for PRE delivery. Strong builds and concentrated second-stage deaths remain documented limits; source review, Wiki and environment publication are verified separately.
The game supports English and Simplified Chinese. Choose English / 中文 in the header; the browser remembers your choice when local storage is available. Chinese is the default. Switching language keeps the current run and reward choices. WebGL is required. There are no accounts or saved combat runs.
Chinese and English are both welcome. Use Issues for reproducible bugs and specific feature requests, and Discussions for questions, ideas, and play experiences. The Wiki covers controls, cards, and mechanics.
Requires Bun 1.4.3 or newer and a WebGL-capable browser.
bun install --frozen-lockfile
bun run devKeep local servers on loopback; use an SSH tunnel for remote access. Before committing:
bun run docs:check
bun run typecheck
bun run lint
bun test
bun run buildbun run build produces dist/; bun run build:pre produces dist-pre/. PRE has a browser-local balance laboratory. Preview and production are separate releases.
Browser projects, headless limitations, and the explicit 15 FPS option for long natural controls are covered in browser verification.
See the Wiki for illustrated controls, cards, enemies, mechanics, browser testing, deployment, validation history, and release notes. Offline: English guide · 中文指南. Contributor rules: AGENTS.md.
Code: GNU AGPL v3.0 or later. Third-party notices cover Phaser and fonts. Brand assets and prompts record the shared game/documentation logo versions and their provenance.
The developer-only Balance Simulator V1 runs the real fixed-step World in Bun. PRE profile exports are direct inputs; experiments never apply balance changes or deploy. Stage values are maintained in the official profile; see the current calibration record, historical calibration method, and resolved stage tables.
bun run balance:simulate --profile official --preset smoke --out artifacts/balance/smoke
bun run balance:simulate --profile official --preset standard --out artifacts/balance/baseline
bun run balance:compare --baseline official --candidate experiments/balance/example-candidate.json --preset smoke --out artifacts/balance/comparison
bun run balance:sweep --experiment experiments/balance/sweep.json --out artifacts/balance/sweep
bun run balance:replay --case artifacts/balance/smoke/cases/death.jsonUse a new output directory for each run. Standard evaluates 100 seeds per strategy × layout (600 runs per profile); these are test-agent results, not human win rates. See the recorded baseline experiment for actual evidence and limitations.
The game and docs share the current vector logo. Actual asset resolutions list sprite, background and canvas sizes. In-game Help covers the core loop; use the Wiki for detailed rules.