Game System Overview
System map
| ICON | SYSTEM | AUTHORITATIVE STATE | HIGH-RATE INPUT | PRIMARY OUTPUT | HARDWARE BOUNDARY |
|---|---|---|---|---|---|
| Tap & hold | core | Pointer down/up and timing | Sparks, heat, combo | Recreate thresholds in C++; do not port DOM events | |
| Passive production | nodes | 50 ms / 1 s tick | CPS and unlocks | Logic uses real time; rendering may run slower | |
| TEAM orbit | orbit.phase | SHOP ring drag | Link multiplier and tasks | Separate preview from commit | |
| Tool build | equippedModules[3] | Card tap | Local rule modifiers | Hard three-slot limit; never silently eject | |
| Gifts | protocolFlags | Badge purchase | Permanent multipliers | Preserve after launch and across save versions | |
| Heat | core.heat | Tap and cooling tick | Tap multiplier and overheat | UI presents; core owns the value | |
| STAR RUSH | runtime session | IMU / virtual tilt | Temporary Starlight | Device reads QMI8658; web may simulate | |
| Tasks | taskFlags | Logic events | One-time Spark rewards | Separate task completion from callout | |
| Achievements | achievements | State thresholds | Archive records | Never re-evaluate in rendering | |
| Launch reset | progression | Double confirm | Badges and archived stars | Input lock and synchronous save after commit | |
| Settings | settings | Single-focus adjustment | Motion, volume, tilt, etc. | Map web and device to legal discrete values | |
| Saves | SaveState | Critical actions / throttle | Primary + backup | localStorage ↔ NVS + RTC |
Unlocks
Unlocks use lifetime Sparks rather than current balance, so spending cannot make content disappear. Tool thresholds range from 1,200 to 420,000; Makers appear as the economy can support them; STAR eligibility also uses lifetime Sparks.
An unlock changes what is possible, not the player's selection. A maximum of three Tools may be equipped. A fourth cannot silently displace the first; the player must explicitly remove one.
Tasks
| Task | Goal | Reward |
|---|---|---|
| WAKE THE SEED | Tap 8 times | 8 Sparks |
| TAP 32 TIMES | 32 total taps | 48 Sparks |
| ADD A MAKER | Add 1 Maker | 96 Sparks |
| LAND 3 LUCKY TAPS | 3 lucky taps | 192 Sparks |
| MAKE A TEAM | Stabilize 1 TEAM link | 512 Sparks |
| CATCH 100 STARLIGHT | Collect 100 Starlight | 2,048 Sparks |
Tasks are teaching beats rather than a separate menu. Each maps to a key loop action and supplies enough resources to approach the next one.
Achievements and archive
Eight achievements cover the first Spark, a 10 combo, eight lucky taps, two TEAM links, first overheat, one million lifetime Sparks, first launch and discovering eight items. They are durable archive records and useful version-validation signals.
Launched stars also belong to the archive layer. Each occupies a visible edge slot in the next run, so a reset converts old progress into cosmic history rather than erasing the world.
Runtime and SaveState
- Persistent: economy, tap power, Maker levels, orbit phases, equipment, Gifts, tasks, achievements, settings and save time.
- Runtime only: current page, sync angle, tilt, STAR RUSH time, overheat deadline, particles, effects and confirmation windows.
- Gesture only: start point, capture owner, accumulated rotation, preview phase, cancellation latch and detent list.
These lifetimes stabilize the save schema and prevent an interrupted animation or half-finished drag from restoring into an undefined state.
Presentation policy
GameEvent ──> state committed
└─> presentation policy
├─ FULL: FX + particles + callout + audio
├─ REDUCED: first frame + sparse particles
└─ AMBIENT / DEVICE SEQUENCE: silentPassive economy therefore continues in ambient mode without unexpected sound, callouts or full-page flashes.
