The Gulf shakedown cruise: eight fixes from the first field reports
The Brick Gulf shipped, and the first field reports came back the way they always do — vague, right, and pointing at the wrong causes. “Ships stand off on opposite sides of an island shooting at each other and hitting only barren ground.” “Fort Brick is buildings coming out of the ocean.” “The big guns put me on an island, not a battleship.” Eight fixes later, here are the numbers.
The fleets were shelling geology
The report: teams of enemy ships parked either side of the empty
island south of Fort Brick, pounding it all round. First, the
house method — turn the feeling into a number. A new probe
(ARMADA_SHELLFIRE=1) steps the bot war five simulated
minutes and sorts every naval shell burst in the sea half of the map:
water splash, dry burst near an enemy hull (an honest near-miss), or
dry burst with nobody within 150 m — blind
terrain fire. The before number was worse than the report:
3,626 bursts, 3,219 of them blind — 89% of all naval
shellfire was hitting an island nobody was behind.
The cause was a gate that existed for the main battery and not for
the crews. Bot main guns hold fire on unspotted targets, but the
secondary batteries — the automatic casemate guns every hull
works on its own — fired at the nearest enemy in range,
full stop. And in combined arms even the spotting gate stopped being
enough: a friendly plane orbiting overhead lights up a hull the
ship's own directors can't see, so the main battery happily poured
salvos into the rock between them. The fix is a line-of-fire check at
the gun director itself (navalGunsMasked, the same
terrain walk the spotting pass uses), demanded by both batteries just
before each round leaves the barrel. After: 190 bursts — 158
splashes, 6 near hulls, 26 blind. The sea war now shoots at what
it can see, which also means it actually closes to where it can see.
Big guns belong on a battleship
The BIG GUNS card seated you on the coast-battery pad — a lone turret on a peninsula tip, which read as “a gun on an island” when what the theater promised was a fleet at anchor. Each side now moors a static flagship battleship at its anchorage — hull, three plotted main-battery turrets, two AA mounts, torpedoable and refloating on the ship clock, exactly the air theater's anchored-capital-ship kit. The picker seats gunners on the flagship's A turret first; the coast battery is the overflow seat. And the anchorages moved to 6.9 km apart — deliberately inside the spotter-extended 7 km envelope but past the 3.6 km unobserved one, so the two anchored fleets can only trade salvos when a friendly plane holds station over the enemy anchorage. Killing the spotter is the counter-battery.
The chart shows contacts, not ammunition
The gunner's plot table drew every shell in flight and no ships at all — it was reading the static-fleet list, which in the Gulf was empty, while the actual warships ride the driven-vehicle snapshot. The chart now inks every surface hull the fog of war hands the client — warships as hulls, armor as small blocks — and shell blips are gone: a plotting table marks contacts and fall of shot (the impact rings), not rounds in the air. Fast rounds also stopped lancing through thin ridge crests between physics samples — the shell step now walks its whole tick segment against terrain, the same sweep tank rounds always had.
Fort Brick rises from the sea (visibly)
“It doesn't appear to be an island at all” — correct, and the terrain was innocent. Detailed chunks stream within 2.4 km of the camera, while the fort's guns and furniture render at any range: from a ship's bridge the fort was walls standing in open water. The Gulf now builds a one-time coarse far-field mesh — 120 m columns, sitting a touch below true height so streamed chunks pave over it as you close — and every distant landmass keeps its silhouette. The armada also inherited the naval theater's fog floor (the air game's cosy haze was capping visibility at 4 km on a map whose guns reach 7).
Armor stopped dancing
“Bot ground vehicles dance and dodge too much — armor should advance, retreat, or seek cover, not wheel around like a boxer.” The waltz had three authors: a close-quarters branch that orbited for the side plate at 63° off-bearing, a garrison creep that circled the zone at 92°, and a timer flipping the orbit direction every 12–20 seconds. Worse, the classes that danced are the stabilized ones — a wheeling Paladin kept ~90% of its accuracy while being nearly unhittable. Armor now moves like armor: a tank that can't beat your front plate up close smokes off and falls back to gun range (one committed decision, held for seconds, not re-rolled per tick), garrisons drive to the flag and stand to, and the orbit-flip timer is gone. The land probe's movement census confirms it — engaged bots now park and fight (kills and spotting unchanged), and a parked hull is a target you can actually lay a gun on.
The sea stops collecting pilots
Downed pilots were building up because the Gulf never ran the rescue clock: the armada step drifted the chutes but stepped neither rescue loop, so every splashed airman bobbed forever (capped only by the 32-marker leak guard). Both loops now run — a low-and-slow friendly pass scoops a survivor the air way, any hull steaming through does it the naval way, and the two-minute float timer finally expires the rest. The playtest feed obliged with proof within a minute: “someone pulled Cumulus Carl from the drink — captured.”
And the tower is always open
SPECTATE only worked before your first spawn — three separate locks (a button never re-enabled, a client guard, and a server that dropped the request from anyone already joined). A downed pilot can now step back up to the tower from the respawn screen; the server releases the pilot through the same door a disconnect uses and hands the connection the spectator welcome.
Confession
My first fix for the island-shelling was the obvious one-liner: give
the secondaries the main battery's spotted gate. Tests
green, probe written, feeling smug. Then the browser playtest's plot
screenshot showed impact rings still blanketing the fort island
— because in this theater the sky is full of friendly
planes lighting up everything, so spotted stopped
implying visible to the shooter the moment the theaters
merged. The one-liner was correct in the naval theater it was copied
from and wrong in the theater it was written for. The screenshot,
not the test suite, caught it — which is why the playtest is
step two of the method and not an optional garnish.