Planets & Galactic War
Three planets, and a tug-of-war the whole player base fights together. Every enemy you kill pushes your planet's liberation bar; an enemy decay pushes it back every second.
The three planets
Your planet is a preference you set from the Room. It changes the backdrop and ground, the live background effect, and — the part that actually matters — which boss you face at wave 100 and therefore which ship you can unlock.
| Planet | Wave-100 boss | Its attack | Unlocks |
|---|---|---|---|
| Sand | Spike King·Moloch | Destructible spikes, 2 hits each, scattered round-robin across players | Horridus |
| Ice | Frosty·Eriosomatinae | Falling snowflakes that spit shootable icicles every time you chip them | Einfrieren |
| Magma | Blaze·Periplaneta | Four orbit-homing flame balls per second, 10 hits each | Flammenwerfer |
The host chooses the planet for the whole session. It covers everyone’s background and decides the finale boss — but it never overwrites any client’s own saved preference. Leave the session and your own planet comes back.
Weekly hazards
Every planet carries one environmental hazard per week — a condition that makes fighting there harder. It is shown on that planet’s war card and announced by a toast when a run starts.
There is no bonus gold, no extra drop, nothing to offset it. The reason to fight on a hazardous planet is the liberation reward itself — the front needs kills, and the hazard is simply the weather you push through to deliver them.
Each planet draws from its own biome pool and cycles through it one per week, so a Firestorm never appears on Ice. The rotation is derived from the UTC week number, which means every player in the world sees the same three hazards in the same week, with no server involved — and every member of a co-op party is fighting the same conditions.
| Planet | Hazard | Effect |
|---|---|---|
| Sand | Sandstorm | Enemies +40% speed |
| Scorching Heat | Enemies +40% health | |
| Shifting Dunes | Enemies +25% speed and health | |
| Locust Swarm | 3× as many elites | |
| Ice | Blizzard | Enemies +40% health |
| Ice Shards | Enemies +35% speed | |
| Deep Freeze | Enemies +50% health, and 2× elites | |
| Whiteout | 3× elites | |
| Magma | Firestorm | Enemies +30% speed and health |
| Eruptions | Enemies +50% health | |
| Fire Tornadoes | Enemies +40% speed | |
| Ashfall | 3× elites |
Four hazards per planet on a weekly cycle means each one comes round about once a month. The war card shows how many days are left on the current one.
Locust Swarm, Whiteout and Ashfall triple the elite count without changing the drop rate, so a planet under one of those is the best passive Stardust farm in the game — and it stacks with the Elite Hunt challenge.
How the war works
The Galactic War screen shows a live liberation bar for each of the three planets. The entire player base contributes to the same three bars.
- Each planet has a goal — the number of kills needed to liberate it this campaign — and a net progress value that everyone pushes upward. The first campaign on every planet is a flat 100,000 kills.
- A per-second decay pushes it back down. The bars visibly tick down between plays, so a neglected planet loses ground.
- When progress reaches the goal the planet is liberated: the campaign number ticks up, the overflow carries over rather than being wasted, and the next goal is 1.5× larger.
- Progress is floored at zero — a planet can stall, but it cannot be lost.
Who is playing right now
The war screen shows a “N online now” total beside the title, and a per-planet “N online” count in each card header. That is the number of distinct players who have submitted war kills to that front in the last 10 minutes — in other words, who is actually playing that planet right now, not who has the app open.
Every member of a co-op party counts individually, even though only the host reports the team's kills. The server only ever returns the aggregate count; player identities are never readable.
The Start Screen carries a compact version of the same readout, so you can see how the war is going without opening it.
Contributing kills
- Every enemy death during a run counts as one kill toward the planet you started that run on — bosses included, and worth exactly one like anything else.
- The planet is captured at the start of the run, so changing planets mid-session cannot split a run across two fronts.
- Kills are reported at each 10-wave checkpoint, at the end of a run, on End Game and on Exit — the exit report is awaited so it lands before the game closes.
- If you are offline, nothing is lost: the counter simply doesn’t advance and re-sends at the next checkpoint.
The reward
Liberating a planet pays every player who contributed kills to that campaign, once per campaign per account. The payout matches that campaign’s goal: it starts at 100,000 and escalates by the same round(×1.5) the goal does, so a longer campaign is worth more.
| Campaign | Goal (kills) | Liberation reward |
|---|---|---|
| 1 | 100,000 | 100,000 |
| 2 | 150,000 | 150,000 |
| 3 | 225,000 | 225,000 |
The war screen shows the current campaign’s figure on each planet card, so a front already on its second campaign advertises +150,000 rather than the base. How it is granted:
- If your kills land the finishing blow, you are paid immediately, with a banner over the gameplay.
- Otherwise you collect it the next time you open the Galactic War screen and the campaign has moved past the one you contributed to.
- Claim state syncs with your gold, so linked devices cannot double-claim.
Open the war screen before starting a run. A planet near its goal is worth playing — you get the same gold from your run and a shot at the liberation bonus, which on a later campaign is the larger prize.
Co-op rules
- Every player counts kills locally for a live number, but only the host reports — so a four-player team contributes 1× per kill, not 4×, to the host’s planet.
- The host tells everyone else they contributed too, so all four can claim the liberation reward on their own next war-screen visit.
There are no defense missions and planets cannot be lost in the current version — the floor at zero is what makes that true.