FUTURESUB

// DRONE ATTACK — UUV-7 REMOTE CONSOLE

v0.1.0

You never leave the chair. FUTURESUB is the remote weapons console of UUV-7, a hunter-killer drone on a real chart of the South China Sea, off the Calamian Islands. It is also the specimen for a local-LLM test bed: one machine, a long unattended run, and a finished desktop product at the end.

MISSION: sink the merchant quota. Blue convoys dock at your anchorage — do not shoot them. Rearm by hovering at the tender, all stop, off the bottom.

FUTURESUB title console

DOWNLOAD 0.1.0

Linux THIS MACHINE

deb for Debian and Ubuntu, or a tarball for anything else.

deb package · amd64
futuresub_0.1.0_amd64.deb · 15.6 MB
7d80a863a01f02148be3cb8f1ad106d5dd5b03524e8776418b890246e998d25f
deb package · arm64
futuresub_0.1.0_arm64.deb · 15.1 MB
3f5dd46cbb210c5b103c66802614e6325d7c504c160a27b2a8d26805ad699191
tarball · amd64
FUTURESUB-0.1.0-linux-amd64.tar.gz · 15.6 MB
9831f39903fdd2b7a079081e0707f535ad90da63839dada6f1cc5c49a2c5bdae
tarball · arm64
FUTURESUB-0.1.0-linux-arm64.tar.gz · 15.1 MB
42c8654acfd6ddc17eb8b4e38884ee0af85419b3cbc50517990fa9d19c073fe8

These builds are unsigned. On a Mac, right-click the app and choose Open the first time. On Windows, SmartScreen will offer More info, then Run anyway.

THE PATROL

The boat starts moored at TENDER FRONT, a forward anchorage in the South China Sea. Slip the mooring and the patrol clock runs. Every departure is a new sortie.

Hostile merchants are generated at PALAWAN STAGING. They weigh anchor, run the convoy lane, offload, and turn around. The anchorage keeps launching replacements, faster as the war heats up. Friendly convoys cycle between TENDER FRONT and TENDER LAGONA. They are marked blue. Sinking one costs 2000 points.

Rearm at any friendly base: come inside the 1.2 km tender ring, all stop, off the bottom. The home waters are a sanctuary. Hostiles will not fight you there. The win is the tonnage quota, ten enemy merchants. Lose the hull and the patrol is over. A strategic missile strike scores, and the war continues.

SIX WEAPONS

The loadout is sized for a long tonnage war: 24 homing torpedoes, 10 supercavitating, 10 STORM, 8 over-the-horizon cruise missiles, 4 tactical nuclear cruise missiles, and 4 submarine-launched ballistic missiles. A visit to the tender fills all of it.

MK-9
Tube-fired homing torpedo. Mid-course from your picture, then its own seeker.
Supercavitating
Fast, straight, no homing. A snap shot at close range.
STORM
Short-range anti-ship missile. Periscope depth only, 15 m or shallower. The seeker grabs the nearest hull inside 350 m.
KRAIT
Over-the-horizon cruise missile. Any depth, but only with a battle-network track. It keeps its own datalink after you go dark.
Tactical nuclear
Same launch gate as the KRAIT, about 50 km, and a burst that kills every surface ship inside it. The boat is not exempt.
SLBM
Fleet task, issued after the first enemy merchant sinks. A ballistic run to a fixed land objective. It does not end the patrol.

WHAT THE CONSOLE CAN SEE

V cycles the centre view. The side panels stay up. Passive sonar is a bearing-by-time waterfall: a merchant paints a thin shaft-rate line, an escort paints a broad cavitation blob, and your own speed washes the scope with self-noise. The C-scope, A-scope, and LOFAR are the other three tubes a watchstander would actually have.

The periscope is a thermal picture of the real coastline, useful only at 11 metres or shallower. Ships are heat, hottest at the funnel, and land hides whatever is behind it. The RF scope is the other side of radiating: your own transmission, their fire-control radar, and the exposure bar that fills until they have a fix.

The bottom scan reads the same seafloor the boat can grind on. A 5-arc-minute chart cannot see a ledge, so procedural relief fills that band. The warning, the view, and the boat's own climb-off-the-floor behaviour all use that one floor.

A REAL CHART

Positions are longitude and latitude. Speeds and weapon ranges stay in metres. The coastline is the Natural Earth 1:10 m land layer, baked into the binary, so the game never phones home for a map. Land slides the hull. A hard hit on the bottom destroys it. A gentle touch grinds until you rise. Weapons that run onto land dud. The ballistic missile is the exception: it has to cross the coast.

The camera zooms from a few kilometres across to the whole Earth. The route view is the same chart. Click to lay waypoints, including a charted base, and P hands the telegraph to the pilot. That pilot is separate from the combat autopilot that drives the title-screen demo.

THE BATTLE NETWORK

Your own sonar is short-legged. Friendly drone and AWACS nodes watch the surface inside a fixed coverage ring. With the RF uplink up — mast buoy, towed array, or the boat near the surface — every ship in that ring arrives as a hard track. Go deep and dark and the live feed stops. Tracks you already paid for coast on as dead-reckoned estimates, tagged EST, and fade over about 80 seconds.

The KRAIT is the strike arm of that picture. Designate a contact the network holds and fire from any depth. The missile drinks the network on its own datalink, so you can cut your uplink after launch. The tactical nuclear round uses the same gate and a wide burst. Stay outside it.

CONTROLS

W / X / STelegraph ahead, astern, all stop. The order sticks until you change it.
A / DRudder port / starboard
↑ / ↓Ballast: rise / dive. Deeper is quieter, and the datalink gets thin.
1 – 6MK-9, supercavitating torpedo, STORM, KRAIT, tactical nuclear, SLBM
Tab / clickDesignate a target. Blue force is never selectable.
SpaceFire the selected weapon
FActive sonar ping. A clean picture, and a loud one.
C / TTethered RF mast, or the towed array. The array is the long quiet watch: deep, slow, and it takes time to stream.
VCycle the centre view. Tactical, sonar waterfall, 3D sonar, RF, route, periscope, bottom scan, C-scope, A-scope, LOFAR, weapon cam.
NOn the periscope or weapon cam, cycle the thermal palette.
+ / −Zoom the chart, magnify the periscope, or narrow the weapon-cam field of view.
PRoute pilot on or off. Click the chart to append a waypoint.
H / EscKeyboard help, which holds the simulation. Esc pauses. From the title screen, Esc quits.

A LOCAL LLM TEST BED

FUTURESUB is a for-fun game and a reference project for a specific kind of work: a local language model left to run a long, end-to-end development of complicated software. The point is the length of the path. A change in the simulation has to survive the unit tests, still look right on the console, and come out the other side as installers a person can run on a Mac, a Windows PC, or a Linux machine.

The codebase is split so that path is checkable without a person sitting at the screen. internal/sim is a deterministic model with no renderer and no input library. Step takes an order and returns events. The same seed plays the same war. The console, the audio, and the ten views sit in the other half and read that model. An agent can change the war and prove it headlessly, then change the glass and capture a frame.

The test suite is the unattended referee. It covers hull and crush depth, sonar, the datalink, every weapon's launch rules, campaign traffic, friendly-fire, the tonnage win, the coastline, and an autopilot that has to win the campaign, including on the real map. A separate probe, cmd/winprobe, runs several real-map seeds to completion and prints the win rate. Screenshot capture is a flag on the game itself, so a picture of the periscope or the waterfall is a build artifact, the same way a test is.

The outer loop is one command on one Mac. make release does not ask questions. It cross-compiles five targets with CGO_ENABLED=0, packs a universal disk image, two Debian packages, two tarballs, and two Windows installers, and writes the checksums this page is built from. make site serves the result locally. Publishing is a later, separate command. The runbook is RELEASING.md, written so the next agent can repeat the release without rediscovering the toolchain.

That is the specimen. A simulation with a real coastline and six weapons, a console with a lot of glass, and a distribution problem. Long enough that a model has to keep the whole product in mind, and closed enough that the machine can tell when the run is actually done.

  1. Edit the simulation or the console.
  2. Run the headless suite. The autopilot either wins the seeded campaign or the run stops.
  3. Capture the views that changed. The frames land in docs/.
  4. make release builds every installer and the checksum list.
  5. make site rebuilds this page against those files, still on the same machine.