spaceship/vessels
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Loïc Wisniewski 457ae7023c #109: garrison vessels wander their post instead of walking a ring
Two things were wrong and the second was the real one. A ring is not what a
picket does - but each step around it was shorter than Ship's arrive_radius,
so every frame the vessel SNAPPED onto its target and zeroed its velocity,
and Ship only turns to face a heading while it is actually moving. The
result slid around the outpost pointing whichever way it had spawned.

So: real destinations, far enough apart to be flown to. The vessel picks a
point somewhere in its patrol area, flies there, pauses, and picks another.
A leg is never shorter than wander_min_leg, which is what keeps the
snap-and-stop from coming straight back, and a leg that cannot be reached
times out rather than stranding the picket.

Breaking off a fight now starts a fresh leg from where the fight ended,
rather than flying back to a waypoint chosen before it began.

Measured: 485px of wander, 46-271px from its post, up to 690px/s, pointing
where it was going for 88% of its travel. The test measures that facing as a
FRACTION rather than a worst instant - a vessel just given a new heading is
legitimately still swinging onto it at its own rotation_speed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 21:38:07 +02:00
..
CarrierCapacityUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
CarrierVesselDefinition.tres Implement #85, #86, #87 and #88 2026-08-22 02:20:12 +02:00
DistorderVesselDefinition.tres Implement #85, #86, #87 and #88 2026-08-22 02:20:12 +02:00
Fleet.gd #106/#107 (#98a/#98b): the Planning Center 2026-08-23 14:21:52 +02:00
Fleet.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
GarrisonField.gd #105 (#97g): garrison vessels patrol and defend their outpost 2026-08-23 14:13:47 +02:00
GarrisonField.gd.uid Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
GasBomberVesselDefinition.tres Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
InterceptorDamageUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
InterceptorRangeUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
InterceptorRateUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
InterceptorVesselDefinition.tres #89: the default gun bends onto a target near the aimed heading 2026-08-22 03:19:52 +02:00
LaserCooldownUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
LaserDamageUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
LaserRangeUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
LaserVesselDefinition.tres Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
Projectile.gd Implement #85, #86, #87 and #88 2026-08-22 02:20:12 +02:00
Projectile.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
Projectile.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ShieldHitsUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ShieldRechargeUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ShieldVesselDefinition.tres #89: the default gun bends onto a target near the aimed heading 2026-08-22 03:19:52 +02:00
Ship.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
Ship.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
Ship.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
TransportCapacityUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
TransporterVesselDefinition.tres Implement #85, #86, #87 and #88 2026-08-22 02:20:12 +02:00
TransportSpeedUpgrade.tres #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselCargoComponent.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselCargoComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselCargoComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselCooldownFillComponent.gd Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
VesselCooldownFillComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselDefinition.gd Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
VesselDefinition.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselDefinitions.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselDefinitions.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselDistorderComponent.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselDistorderComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselDistorderComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselGarrisonComponent.gd #109: garrison vessels wander their post instead of walking a ring 2026-08-23 21:38:07 +02:00
VesselGarrisonComponent.gd.uid Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
VesselGasBomberComponent.gd Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
VesselGasBomberComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselGasBomberComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselLaserComponent.gd Garrison laser vessels and gas bombers, on a shared ability seam 2026-08-23 19:23:35 +02:00
VesselLaserComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselLaserComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselShieldComponent.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselShieldComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselShieldComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselTransportComponent.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselTransportComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselTransportComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselUpgradeDefinition.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselUpgradeDefinition.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselWeaponComponent.gd #89: the default gun bends onto a target near the aimed heading 2026-08-22 03:19:52 +02:00
VesselWeaponComponent.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
VesselWeaponComponent.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00