Skip to content
Devlog

The first dogfight playtest

The gunship flying low over a city street, seen from the chase camera

On the night of October 2 to 3, 2026, we flew the city dogfight and the sandbox with ships for the first time. Each fault went on a list with a proposed fix, and the fixes were built overnight.

How it played

The scripted enemy was annoying but not difficult. A trial decision model for the enemies was relentless, in one-on-one fights and more so with three enemies at once. The sandbox was more fun with three ships flying around us. By then the project had gone from demolishing a building or two to enemy ships with guns in about five days.

The list

Fault Proposed fix What was built
One homing missile took us out about 90% of the time. Add a shield. A shield holds 0.6 of a ship’s health. It starts refilling 4 s after the last hit and fills from empty in 3 s.
Missiles homed without any lock, and the enemy’s missiles killed us outright. A lock-on before missiles home. A shooter has to hold its target in its lock cone for 1.5 s. A missile fired before then flies straight.
There was no way to dodge a missile in open air. A dash in the style of a shooter’s omni-movement, where the first move is a juke in the held direction. Boost with a direction held throws the ship in that direction at 40 m/s, fading over 0.4 s, with a 2 s cooldown.
Spawns were close together, and some enemies spawned inside buildings. Check the radius before spawning. Ships spawn at least 90 m from the player and 30 m from each other, with no structure within 4 m of the hull.
After dying in the sandbox, we could keep moving and shooting until respawn. Lock the controls on death and restore them on spawn. Neither movement nor fire works while the player is down. Looking around does.
In the dogfight we had two weapons, but the HUD showed the whole weapon strip. Missiles on one trigger, cannon on the other, and a count of missiles left. The dogfight HUD shows the missiles left as pips, with the next reload. The sandbox keeps every weapon and gains a homing missile.

We also wanted health bars over the enemy ships, arcs on screen showing where hits come from, a minimap, a choice of three ships for the player with different stats, and more variety in the enemies. The bars and arcs were built that night. The minimap and the ship choice were queued for later.

Numbers from the build

  • Without a shield, a missile could take up to 1.07 of a whole ship’s health, so hits on two of a ship’s six faces destroyed it. With the shield, a whole ship survives any face’s hit with 0.53 or more left.
  • The juke moves a ship 7.7 m sideways in 0.15 s and 18 m in 0.4 s. A missile that passes its target now loses its lock, rather than circling back.
  • Shields and locks made the scripted test duels longer. At 90 s, 11 of 16 duels ended in a draw, so the duel test now allows 150 s.
  • The scripted pilot now takes shields into account. With its own shield under 30%, it stays off until the shield is back, for at most 10 s, unless its target is nearly down.

A shield also gives the enemy AI more to decide and train on: retreat to recharge, or press an attack on an opponent that is almost beaten.

One problem left open

A dogfight could drift out of the city into open ground. We ruled out a dome and considered a wall that could not be destroyed but could lose its facade. On October 4, we settled on a forcefield wall along the city’s edge.

Scope limits

The dogfight is a progression through seeded cities with harder and more numerous enemies. The player is healed after each city, and being shot down ends the run. Later that night, we ruled out currency, a metagame and upgrades that depend on each other. The mode is a fixed ladder of short fights that moves from one easy enemy to groups of easy and medium ones.

Provenance

How this post was made

Drafted by
A Claude Code session in the trilithon.games repository, October 10, 2026, working from the game's changelog, docs and tracker.
What it did
Drafted this post from the game's changelog and the studio's dated playtest notes, and checked each number against them.
Reviewed by
Alex van Rossum,

On the roadmap: Ships and the city dogfight

Linear MIP2-411, MIP2-412, MIP2-413, MIP2-414, MIP2-415, MIP2-416, MIP2-417