游戏系统总览
系统地图
| 图标 | 系统 | 权威状态 | 高频输入 | 主要输出 | 硬件迁移边界 |
|---|---|---|---|---|---|
| 点击与蓄力 | core | pointer down/up、计时 | 星火、热量、连击 | C++ 复刻阈值,不移植 DOM 事件 | |
| 被动生产 | nodes | 50 ms / 1 s tick | CPS、解锁 | 逻辑按真实时间,绘制可降频 | |
| TEAM 轨道 | orbit.phase | SHOP 环拖动 | 连接倍率、任务 | preview 与 commit 分离 | |
| 工具构筑 | equippedModules[3] | 卡片点按 | 局部规则修饰 | 3 槽硬限制,不静默挤出 | |
| 星礼 | protocolFlags | 星章购买 | 永久倍率 | 发射后保留,存档兼容 | |
| 热量 | core.heat | 点击、冷却 tick | 点击倍率、过热 | UI 是表现;数值在核心层 | |
| STAR RUSH | runtime session | IMU / 虚拟倾斜 | 临时星光 | 实机读 QMI8658;网页可模拟 | |
| 任务 | taskFlags | 逻辑事件 | 单次星火奖励 | 任务完成与提示表现分离 | |
| 成就 | achievements | 状态门槛 | 档案记录 | 不在渲染层重新判定 | |
| 发射轮回 | progression | 双确认 | 星章、历史星位 | 提交后输入锁与同步保存 | |
| 设置 | settings | 单焦点调整 | 运动、音量、倾斜等 | Web 与 Device 映射合法档位 | |
| 存档 | SaveState | 关键操作/节流 | primary + backup | localStorage ↔ NVS + RTC |
解锁系统
解锁由 lifetime 星火驱动,不依赖当前余额,所以花掉星火不会让内容重新消失。工具解锁阈值从 1,200 到 420,000;造星队按经济可负担性自然出现;STAR 发射由 lifetime 星火决定。
解锁只改变“可以做什么”,不自动替玩家做选择。特别是工具:最多装备三件,第四件不会把第一件静默挤掉,而是要求玩家先明确卸下一件。
任务系统
| 任务 | 目标 | 奖励 |
|---|---|---|
| WAKE THE SEED | 点击 8 次 | 8 星火 |
| TAP 32 TIMES | 总点击 32 次 | 48 星火 |
| ADD A MAKER | 添加 1 位造星队 | 96 星火 |
| LAND 3 LUCKY TAPS | 幸运点击 3 次 | 192 星火 |
| MAKE A TEAM | 稳定形成 1 条 TEAM | 512 星火 |
| CATCH 100 STARLIGHT | 收集 100 星光 | 2,048 星火 |
任务是教学,不是独立菜单。它们对应游戏循环的六个关键动作,并在完成时提供足以推动下一步的小额资源。
成就与档案
八个成就覆盖第一次星火、10 连击、8 次幸运、2 条 TEAM、首次过热、累计一百万星火、首次发射和发现 8 项内容。它们写入 archive,承担长期记忆和版本验证作用。
历史新星同样属于档案层:发射后会占据边缘星位,并在下一轮继续可见。这样轮回不是“把世界清空”,而是把旧进度转换成可看见的宇宙历史。
Runtime 与 SaveState
并非所有状态都值得写入 Flash:
- 持久化:经济、点击力、造星队等级、轨道相位、装备、星礼、任务、成就、设置、保存时间。
- 只在运行期:当前页面、同步指针角度、倾斜、STAR RUSH 剩余时间、过热结束时间、粒子、动效、确认窗口。
- 只在一次手势内:起点、捕获所有者、累计旋转、预览相位、取消锁存、detent 列表。
这三个寿命层级让存档更稳定,也避免把中断中的动画或半次拖动恢复成不可预测状态。
表现策略
每个逻辑事件先提交,再交给表现策略判断是否播放:
text
GameEvent ──> state committed
└─> presentation policy
├─ FULL: FX + particles + callout + audio
├─ REDUCED: first frame + 少量粒子
└─ AMBIENT / DEVICE SEQUENCE: 静默所以息屏期间被动经济仍增长,但不会突然发声、弹提示或闪出完整页面。这是 v7 在实机上专门补齐的行为合同。
