Version 0.4.0 is out. The biggest change is one you can't see directly: the code that runs every battle was rewritten from scratch in Rust. You'll feel it as smoother, bigger fights. This update also speeds up combat, redoes the battle HUD, and gives every ship its own death. This post covers everything that changed since 0.3.0.
Both the browser build and the Windows launcher are updated. Your client will ask you to update if you're still on an older version.
A new battle simulation
Every tick of a battle (movement, collisions, weapons, drone AI, fog of war) now runs in a new simulation written in Rust. The old Elixir simulation has been deleted, so there is only one implementation of the rules and every battle uses it.
- Same rules, much faster. We compared the two simulations over 50 matches each at 4, 16, and 32 players. The only difference was loot, which now rolls its item chance correctly. A typical 4-player battle takes about 0.4 ms per tick, where it used to take about 5.5 ms.
- Built for big battles. A uniform grid now finds nearby entities for collisions, drone avoidance, tractor beams and fog. A stress test with 5,000 entities and 32 players dropped from 11.3 ms to about 4 ms per tick.
- Less data on the wire. Each entity is encoded once and shared between everyone who can see it. Projectiles now hide in fog like everything else, so you only hear about the shots you could actually see.
- One bad entity can't take down a battle. If something ever goes non-finite, it's removed and reported. Its battle keeps playing, and other battles are untouched.
Faster, snappier combat
Ships, drones, missiles, and drifting objects all have 25% more speed, turn speed, and thrust. Gun shells fly 3x faster and live a third as long, so the 155mm now travels at 900 m/s while its reach still matches your lock ranges.
The light missile thrusters also got a bigger exhaust effect, so it's easier to see where a missile is heading.
A new battle HUD







- Weapon icons on the bar. Each weapon pip now shows what the mount fires, in its fire group's color. A ring around the edge shows readiness: green when enabled, gray when disabled, amber when out of ammo, and it refills as the weapon cools down. The ammo count sits in the gap at the bottom. Battle item slots and the collapsed fire-group button use the same round design.
- Number keys follow the screen. Keys 1 to 5 now run left to right across the bottom bar: visible fire groups first, then battle items. A combat cruiser gets 1 and 2 for its groups and 3 for stasis missiles. Each key is drawn as a keycap on the control's top-left corner. The point defense cell is gone from the bar, since it can't be toggled anyway.
- A lock-on marker that stays on screen. The reticle and acquire ring are now drawn on the HUD instead of on the target itself. They stay a readable size at any distance, and if your target leaves the screen, an arrow pinned to the screen edge points toward it with the range underneath.
- No locking during the countdown. Lock-on is refused until the battle starts. Before, a lock taken during the countdown could get stuck on "Locking...".
Every ship dies in its own way
Every ship class and drone now has its own death effect: a stripped wreck of the hull, staggered explosions across it, and a final blast. Drones go quickly. The battleship takes the longest, at about six seconds. The effect faces along the direction the ship was heading when it was destroyed. Ship materials were also touched up across the fleet.
Fixes
- Extraction results no longer get lost. The client used to drop player updates that arrived mid-battle, including the one carrying your returned ship and its hold. They're now held and applied in order once you're back home.
- Storage dispersal countdown fixed. Once a disperser's storage had spilled, the countdown could restart forever for anyone standing in range. An empty disperser now clears the area and stops counting.
- Dead battles are cleaned up at login, and the market gate is read fresh, so a stale battle can't block you.
Thanks for playing. See you out on the space seas.
