Gonex — the game as it stands Team Yodacon · captured 22 September 2026 · seed 20260922

Every screen you can reach, photographed from the running build. The zero-sum economy behind them, drawn. The reentry physics, explained. And an honest list of what has no art yet.

Three generations of the same little space war: ConEx (1997, an Escape Velocity plugin), konex (2005, C++/OpenGL), Gonex (2026, Go and Ebitengine). What is new in the third is underneath: a galaxy that trades while nobody is looking, and a law that says it can never cheat.

01One law, two ledgers

Everything below is downstream of one rule, and it is the only rule in the game that can be proved rather than argued about.

Every ton in the game was put in the ground at genesis. From then on it can only move — out of the crust, into a warehouse, into a hold, across a lane, through a factory that changes what it is, and finally into a mouth or a slag heap. It is never minted.

A second ledger says the same of money: credits are minted at genesis and never again. Both are checked by an auditor that rolls every pool in the universe into one column — crusts, warehouses, holds, hull structure, wreck fields, the sink, and the two pools the player stands in — and compares the total. A pool left out of that call reads exactly like a leak, which is the correct failure: forgetting to count a warehouse is losing track of the mass in it.

The check is on the grand total, not per material, because transformation is the whole point of industry. A smelter is supposed to destroy ferrite and create steel. What no process may do is change how many tons there are.

109 ports · 730 simulated days · seed 20260922

  genesis        93,792 kt
  in the crust   85,200 kt
  in warehouses   4,655 kt
  afloat in holds    36 kt
  consumed/slag   3,801 kt
  ---
  mass           BALANCED at every checkpoint, every seed
  credits        BALANCED — 123,082,138 cr, every one in a purse

The menu tree is konex's, kept deliberately: single player with three modes, options for display and player, and the save/load pair. Trader is the mode this project added — the commodity game with the reentry landing under it.

Gonex main menu over a starfield
Main menu. Single Player → Team Deathmatch (konex's original three-way), Sunday Drive (no opposition, for flying), Trader (the campaign). Options → Display (FPS, HUD, mini-map, target) and Player (name, ship). Esc toggles the menu at any time; the game pauses behind it

03Flight, war and the map

The flight view is konex's top-down arena, unchanged in feel: arrows turn and thrust, space fires, X brakes, Shift targets the nearest enemy. What changed is what the other ships are doing there.

Top-down flight view with planets, ships and HUD panels
Flight. Mini-map, HUD and target panels are draggable windows. Bottom left is the power grid — capacitors, battery, heat, rounds — the one machine every mode in the game is secretly operating. The orange line is a docking approach vector; L near a planet requests clearance. arrows · space fire · X brake · Shift target · Ctrl autotarget · Tab map · L land
Team deathmatch with three colours engaged
Team deathmatch. Three colours, twelve hulls, konex's scoring. The AI flies in fleets with a doctrine and a phase — muster, advance, engage, withdraw, return to base — and a flight that runs out of rounds goes home to rearm rather than dying in place.

04The voyage: warp, deorbit, reentry, takeoff

Getting to a planet's surface is four screens and about a minute of flying. Each is a real phase of the same trajectory rather than a transition.

Hyperspace tunnel
Warp. The jump between systems. Distance is real: one hop is ~180 Mm and about a week of economy time, so a five-jump haul is a month and a decision.
Route planning chart
Route. Jump routing over the recovered 1997 hyperspace links, BFS with deterministic tie-breaks.
Deorbit burn above a planet
Deorbit. The retrograde burn that drops you onto the entry interface at 122 km. Orbital mechanics hand off directly into the corridor — there is no cut.

The reentry corridor

This is the piece the project is really about, and the screen with the most physics in it. A 350-tonne freighter has the ballistic coefficient of a falling anvil; what makes it flyable is an MHD plasma aeroshell — a magnetic bubble inflated ahead of the nose that stands the shock off and sheds the heat.

Reentry corridor with plasma sheath and instrument cluster
Reentry, autoland engaged. The pillow is drawn as it is modelled: plasma sheath, dipole field lines, shock puffs. Around it, the GPIS six-stage instrument cluster — g-load, heat flux against limit, wall temperature, Mach, magnetopause stand-off, load, RCS, hull soak, battery, lithium tank. Bottom left the corridor gauge: steep burns, shallow skips out, and the caret is the optimal-consumption line the debrief pays out on. pitch flies AoA · <> banks the lift vector · B boost · space burst · Tab live algebra
Reentry flown by hand
The same corridor, hand-flown. Every number on this screen is computed from the flow state, not a table: Knudsen number, shock-layer temperature, electron density, plasma frequency, the magnetic interaction parameter, and the power the shield is asking of the grid.
Takeoff down the landing road
Takeoff. Out down the same 840 m landing road you came in on.

05The concourse and its six screens

Landing ends on the concourse. Six sub-screens hang off it, and Esc from any of them returns here rather than opening the game menu.

Spaceport concourse menu
Concourse. The hub. B bar · M missions · T trade · O outfitter · S shipyard · J journal · G governor · R refuel
Spaceport bar
Bar. Rumours, hiring, and the 1997 mission briefs — 36 recovered missions running on the real Escape Velocity bit machine.
Mission computer with chart and hops
Mission computer. Cargo runs with a chart, hop count and payout. Includes Approach School, ten lessons that extend the 1997 academy chain past Trading 202 into landing and heat discipline.
Commodity board showing eight goods
Commodity board. Eight goods. Price, trend, what is actually IN PORT — a real warehouse that runs out — and what is aboard. Note the bottom two rows: Pellets 2,580 cr and Melt 3,060 cr, both at 3× base and both SOLD OUT. That is the fuel famine, visible at a counter. up/down select · + buys · − sells · Shift ×10
Outfitter catalogue of twelve items
Outfitter. Twelve items: five power-grid upgrades, three reactor classes and four plasma-confinement rungs. Everything costs mass, and mass is what the atmosphere charges for on the way back down.
Shipyard hull list
Shipyard. Thirteen hulls, including the Yodacon '97 decoded straight out of the original plugin's resource fork.
Trade journal wall with lanes, inbound and the wire
Trade journal. The whole economy on a wall: this world's industry and seams, lanes out with what pays today, inbound hulls with ETAs off the real momentum integrator, the standings, and the wire — every load, delivery, tariff and shore leave in the galaxy as it happens.

06The Governor's Desk — four tabs

G at any dock. If you bought the first building at a world you hold its charter and the desk is writable; otherwise it is read-only and you are watching somebody else govern.

Governor's desk world tab
1 · WORLD. Population, cash, rounds, missiles, defence rating, garrison. What is built, what is mandated, standing orders, tariff, and how many days of cover the magazine has.
Governor's desk chart tab
2 · CHART. The galaxy, colour-coded, with lanes, charters, wrecks and flights. Below it the neighbourhood — every world within reach, its rating and its holder.
Governor's desk books tab
3 · BOOKS. The ledger: treasuries, the exchequer, tariff income, and the audit line that says MASS OK CREDITS OK — the conservation proof, on screen, every frame.
Governor's desk government tab
4 · GOVERNMENT. Doctrine, priority world, spending policy and tax rate. Red the raider, Green the grower, Blue the fortress — each builds in a different order because the trifecta says so.

07The zero-sum economy

Under every screen above there is a simulation of everywhere: 109 ports digging, refining, eating, growing and trading, with roughly 195 hulls carrying the difference between them. It runs whether you are looking at it or not, and landing burns days — so a long delivery comes back to a market that has moved.

Matter: 30 materials in six tiers

The ordering is load-bearing in exactly one place: the first eight entries are the commodity board, in order, so a planet's warehouse and a ship's hold are a prefix of a full material vector and convert by copying.

TierMaterialsRule
Board (8)Lumber · Ore · Rations · Medicine · Chips · Fuel cells · Pellets · Meltwhat a port posts a price for, and all the player trades
Refined (10)Steel · Copper · Silicon · Polymer · Grain · Lithex · Lithium · Heavylith · Acid · Fluidmade, not sold; what a smelter hands a fabricator
Yard (3)Hull · Rounds · Missileswhat a fleet is made of and what it shoots
Returns (2)Compost · Scrapthe only two places the flow goes back uphill
Crust (6)Ferrite · Cuprite · Silicate · Volatiles · Biomass · Spodumenefinite; the only tier mining can produce
Sink (1)Slagcounted, and worthless — which is what makes the books balance

Two predicates carry the travel rules, for two quite different reasons. Hot — pure lithium and heavylith travel in a shielded cask or not at all, because a cask that survives a jump costs more than the ton inside it, which is what pins the finishing plant beside the breeder rather than beside the customer. Bulkable — steel, concentrate, acid and hydraulic fluid are refined but ship like goods, because a city eats steel and the hot worlds import chemicals or run nothing.

Mass flow, every branch

FINITE · ONLY EVER FALLS REFINED GOODS & YARD CONSUMPTION TERMINAL CRUST Ferrite · Cuprite Silicate · Volatiles Biomass · Spodumene mined against a reserve that never goes back up SMELT · CRACK · MILL Steel Copper Silicon Polymer Grain Acid Fluid Lithex Lithium Heavylith FABRICATE Lumber Ore Rations Medicine Chips Cells Pellets Melt YARD Hull · Rounds · Missiles POPULATION eats · burns · builds growth is made of rations BATTLE hulls → wreck fields SLAG counted, worthless THE TWO RETURNS — the only uphill flow Compost ──composter 0.60──▶ Biomass (surface only, never the crust) Scrap ──breaker 0.75──▶ Steel · winning a battle is a mining operation consumption & wrecks feed the return path back to the warehouse ▲ ▲ biomass only every inefficiency ▶

Mass only ever flows left to right, except at the two return loops. The crust is the only source and it is finite; slag is the only grave. Everything in between is a change of identity at constant tonnage.

Industry by composition

Seventeen chains are built from twenty-three primitives by one operator:

func (m *Module) Then(next *Module) *Module

Plug m's outputs into next's inputs; get back a module whose ports are whatever the pair could not satisfy internally. Because the result is itself a module, it plugs into a third the same way — a supermodule is not a special kind of thing with its own rules, it is a module that remembers what it was built from.

Two properties, both tested: mass balances, and the chain runs at its bottleneck, recorded at composition time because that is the only moment the shortfall is visible. And nobody authored a speciality — a world ranks the chains its own rocks could back and stands up the best two. A world that can smelt and fabricate has a chip industry; nobody wrote "chip industry" down.

The lithium cycle

Fuel is radioactive heavy lithium, and it comes off a five-stage line in two forms that are not interchangeable. Which one a hull can burn is a question about the reactor bolted into it — so the reactor decides which refineries in the galaxy are your suppliers.

SPODUMENEcrust · finite hot worlds only ORE MILL+ acid, leach yield 0.45 HOT CELLradiant smelt yield 0.55 BREEDER+ volatiles yield 0.62 PELLETS press + steel clad0.86 · thermal piles MELT loop + hydraulic fluid0.90 · fast loops LithexLithium Heavylith hot: cask only SITING — the seam IS the dose: econ.Dose and the spodumene draw are the same number, so the fuel is under the worlds nobody can live on. ≥0.10 mills · ≥0.35 smelts · ≥0.55 breeds. Nothing converts pellets to melt outside a refinery. A hull buys in one half of the market or the other.

One tonne of spodumene is about 0.13 t of finished fuel across the whole line. The waste is slag and it is counted.

Hostile worlds

A world's radiological dose and its spodumene seam are drawn from one number — the single place in the game where two facts about a world are forced to be the same fact. A clean world has no spodumene at all, however rich it is otherwise; a hot world's reserve scales with exactly how hot it is.

cleanmilling ≥0.10smelting ≥0.35breeding ≥0.55
population ceiling32 M~1.35 M~975 k~675 k → 40 k
growthfulltaxed up to 94 %
licensed line—Lithium millingRadiant smeltingFuel pellets / melt
worked bya workforcemachines — dose that stops a city does not stop a machine
flaga politywhoever is paying — the free ports of the fuel trade

Why a refinery is founded with money

A licensed world opens with working capital sized to its own line. Without it the hot worlds sit in a trap with no exit from inside: no chemicals → no fuel → no revenue → no chemicals. A port buys only what its treasury covers, so a broke world does not send a distress signal — it quietly declines the cargo and the courier flies on. One refinery ran a 63 t/day line at 9 % of capacity for a simulated year and nothing anywhere said why.

Prices as scarcity

Price is cover: how many days of real demand the warehouse holds. A short world pays up to 3×, a glutted one as little as 0.35×, and a producer sells cheap — which is what a producer is, and what gives a route its direction.

Two steepenings, each with an argument. Rations, ×7 — people will pay anything for the next meal, which turns a famine into the best-paying route on the board and gets it relieved without anybody scripting relief. A sited world's feedstock, ×5 — a refinery short of acid is not inconvenienced, it is shut.

And every finished good has an appetite, which is not decoration. The first cut gave chips, ore and steel no consumer, so they piled up in warehouses nobody would ever need them from and the whole network went quiet on day 104 with every hull idle. A commodity with no sink stops being traded the moment the first warehouse fills.

The trade loop

MINEcrust → shelf PRODUCErationed CONSUMEeat · burn GROWfrom rations REPRICEcover → price ROUTEfound, not set FLYmomentum the next industrial day GOVERN · PROSPECT · COMMISSION doctrine buys buildings · harvesters and surveys go out · yards press plate or lay up on berth pressure

The order is the causal order and it matters: you cannot refine ore you have not dug, sell goods you have not made, or route a hull to a shortage this morning's production just filled.

Five kinds of agent

MissionWhat it doesWhy it exists
Courierfree trade, routed by what pays todaythe baseline
Convoya standing order to carry a named material A → Ba government overriding the market
Flightmoves hulls; arriving hostile it fights, friendly it garrisons, at peace it turns backKonquest's war, conserved
Harvesterflies empty to a seam, lifts crust straight out of the ground into its hold against a royalty, carries it to the nearest port that wants ita rich rock with nobody on it produced nothing, for ever — mining was capped by population
Surveycarries nothing, earns nothing; reads a seam and leaves. +45 % dig for 90 days where it lands, +20 % one jump outthe only thing that raises extraction without raising population

And the merchant fleet sizes itself. It opens proportional to worlds held — a trade network's size is a property of the map, not a constant somebody typed — and then every day each colour measures berth pressure, the unserved margin still on its board per hull afloat. Above 90 k cr/hull a yard presses plate; below 22 k it breaks a ship up and puts the tonnage back on the shelf. Nothing is minted: growth costs somebody a warehouse.

08Reentry physics

The magnetopause

The envelope the ship flies behind is not a heat shield, it is a magnetic bubble. The coil's dipole pushes outward with magnetic pressure; the oncoming flow pushes inward with ram pressure; and the stand-off is where they balance. Because a dipole falls off as r⁻³, its pressure falls as r⁻⁶:

    r_mp / R_n  =  ( p_mag / p_flow ) ^ 1/6        p_mag = B²/2μ₀
hypersonic flow bow shock magnetopause stand-off ∝ B^⅓ double the field → only +12 % radius polar cusp — flow funnels onto the nose polar cusp the pillow holds the shock off the hull and sheds heat as light

A bare dipole is not a closed bottle. It has two axial cusps where the field lines run into the vehicle and flow funnels straight down them onto the nose — which is what the multipole ring is for.

The confinement ladder

Nobody buys their way out of that exponent. To stand a shock off twice as far you need sixty-four times the magnetic pressure. What a yard can sell is a fix for one of four distinct ways the balance goes wrong — and each is a different piece of hardware because each is a different piece of physics.

Failure modeOutfitThe hook
the field is too weakHTS coil rewind +0.45 Tstand-off ∝ B^⅓ — honest, expensive, diminishing
the bottle leaks at the polesMultipole cusp ringplugs the cusps: more usable pressure, and two thirds less wake drag, which is where it really earns its price
the pillow is symmetricPhased steering arraydrives current asymmetrically and leans the envelope: +45 % commandable L/D, and MHD grip several km higher. Paid for on the power ledger
the air is too thin to gripSeed injection ringMHD needs a conducting continuum; high up there is nothing to push against however hard you push. Put the mass there yourself — inertial confinement, the only rung that works where the magnetic ones do not

That fourth rung is tested by the property that justifies it: at 88 km the injection ring beats tripling the coil, because tripling a field that has nothing to grip buys nothing at all.

09Ship reactors

A tonne of heavy lithium carries the same energy wherever it is loaded. What decides how much of it a ship can use is the machine it is loaded into.

ClassTakesBurnupRangeBreedsMass
Thermal pile — light-water moderatedPellets5.5 %×1.0—stock
Sodium fast loop — unmoderated, molten saltMelt19.5 %×3.5—+7 t
Shipboard breeder — fast loop + fertile blanketMelt25.0 %×4.50.35 t/t+16 t

The breeder is the third uphill loop in the game: it burns its charge and transmutes fertile lithium from a blanket it is carrying into fresh fissile material. It does not mint anything — the tonnage comes out of the blanket — which is precisely the distinction the books care about.

Not yet wired partial

Pellets and Melt are traded, priced and eaten by populations, but a hull's own jump does not burn them yet. Until it does, the range multiplier above is a shop label rather than a constraint you feel. It is the highest-value small piece of work outstanding.

10Measured state

Full gazetteer, 109 ports, 730 simulated days, three seeds. The mechanics work; the balance does not, and the numbers say exactly where.

MeasureMeasuredShould be
Pellets made7.6 t/d443 t/d of appetite — 2 %
Melt made23.3 t/d286 t/d of appetite — 8 %
Chips made60.7 t/d~815 t/d of appetite
Hull plate pressed0.0 t/denough to replace losses
Shipyards in the galaxy3more than 3
Berth pressure5,795–8,406 kthreshold is 90 k — 64–93× over, and it cannot fire
Mass & creditsBALANCED✓ every checkpoint, every seed

One causal chain explains all six broken rows:

one world per system  →  copper is a one-jump good with nowhere to go
                      →  chips at 7% of demand
                      →  shipyards at 0% (chips are 15% of the yard recipe)
                      →  no hull plate
                      →  the fleet cannot grow however hard the board pays
                      →  too few hulls to fly acid to 15 scattered refineries
                      →  fuel at 2% of demand

Everything downstream of the first line is a symptom. Three bodies per system — one planet, one station, one nebula or asteroid field — is not a content item; it is the fix for the economy's only structural fault. Nothing above is a correctness bug. It is a map that cannot support the economy standing on it.

11Developer screens

Vector HUD debug overlay
Vector HUD. Forces, headings and the flight-model internals drawn live.
Effects laboratory
FX lab. The plasma, shock and particle systems on a black stage, tunable in isolation.

The drop-down console (`) carries the economy: economy, routes, journal, world <id>, trifecta, standings, day <n>, govern, doctrine, priority, policy, tune, seed, plus konex's originals. GONEX_CMD="day 200;economy" runs them at boot and GONEX_SEED reproduces a universe exactly.

12What needs art

Everything in the game today is either konex's art, art recovered from the 1997 plugin, or drawn procedurally at runtime. Nothing added in the last two passes has a sprite. Here is the honest inventory.

What exists

AssetCountSource
Ship sprite banks (rotations, target, yard, comm art)22konex + 9 recovered 1997 banks
Planet discs18konex
Explosion frames17konex
Pickup items — health, money2konex
Landing views (CustPic)13recovered 1997
Spaceport metropolis, plasma, shock, field lines, gauges—procedural, per seed

Commodity icons none exist

The eight board goods need to be legible at ~16 px in a list and ~32 px on the board. The two fuels are the important pair — the whole reactor decision hangs on telling them apart at a glance, so they should differ in silhouette, not just colour: a clad cylinder versus a flask of liquid.

IconReads asNote
Lumberstacked timber
Orecrushed rock, bulkthe cheapest thing on the board
Rationssealed tin / packthe famine commodity — needs to read as food instantly
Medicineampoule / crossluxury tier
Chipswafer / dieluxury tier; the galaxy's scarcest good
Fuel cellsstacked cellsthe old fuel — must not be confused with the two below
Pelletsclad cylinder, radiation trefoilsolid fuel · thermal piles
Meltsealed flask, glowing liquidliquid fuel · fast loops

Deeper material icons none exist

Twenty-two more, needed wherever the desk, journal and industry lines show a material: Steel · Copper · Silicon · Polymer · Grain · Lithex · Lithium · Heavylith · Acid · Fluid · Hull · Rounds · Missiles · Compost · Scrap · Ferrite · Cuprite · Silicate · Volatiles · Biomass · Spodumene · Slag. These can be a tighter, more schematic set than the board icons — a 12 px glyph beside a number, not a picture.

Three want a shared visual language because they are one chain: Lithex (dusty concentrate) → Lithium (bright metal) → Heavylith (the same metal, hotter) — ideally the same silhouette escalating in glow, with Spodumene as the raw ore that starts it.

Outfit icons none exist

Twelve shelf items, of which seven are new. The two ladders should read as ladders — a viewer should see at a glance that a breeder is above a fast loop, and that the four confinement rungs are siblings rather than a sequence.

GroupItems
Power gridAuxiliary generator · Deep battery bank · Capacitor array · Radiator wing · Thermal mass sink
Reactor ladderThermal pile (stock) · Sodium fast loop · Shipboard breeder
Confinement ladderHTS coil rewind · Multipole cusp ring · Phased steering array · Seed injection ring · Cryoplant uprate

Building icons none exist

Eight, for the Governor's Desk and the world tab: Spaceport · Works · Habitat · Exchange · Lane · Bastion · Picket · Silo. Each needs a level indicator (1–3) and a "genesis" state that reads as not bought.

Agent markers none exist

Five mission states want distinct markers on the chart and in the journal: Courier · Convoy · Flight · Harvester · Survey. Harvester and Survey are the two nobody has seen before and most need explaining visually — one is a ship working a rock, the other is a ship doing nothing visible at all.

New body types nothing exists

The planned three-bodies-per-system map needs two entirely new classes of landable object, and they have no art of any kind:

BodyNeedsEconomic role
Space stationorbital disc/silhouette at flight scale, an approach view, and a landed concourse backdrop that is plainly not a planetpure sink — population, no crust, imports everything
Nebula / asteroid fielda volumetric or particle field at flight scale, plus an ice-crystal cavern interior for the landed viewpure source — crust, no population; worked by harvesters
Hostile-world overlaya dose indicator on the planet disc and on the chart — the 14–22 % of worlds that are refineries should be visible as hostilethe fuel industry's whole geography

Animations none exist

Stand-in loops would do for all of these; the point is that several important events currently happen with no visual at all.

Known visual bugs visible in the captures above

  1. Notification overprint. The MARKET: lines at the top of every docked screen draw on top of each other — visible in nearly every screenshot on this page. They need a proper stacked queue with expiry.
  2. Outfitter runs under the gauges. The new reactor and confinement rows have longer descriptions than the original five, and the text now passes beneath the fuel/hull/LI gauge cluster. The list needs a width budget or the gauges need to move.
  3. Chart label collision. On the desk's CHART tab, system names in the dense core overlap into illegibility. Needs label de-confliction or zoom.

13The lab reports

Everything on this page is derived from four dated engineering write-ups. They carry the arguments, the measurements, and the faults found along the way.

ReportWhat it covers
Game mechanics overview Every mechanic, the rule that defines it, and the test that fails if it stops being true — 56 cited tests, all of which exist and passbuilt
The lithium fuel cycle The build, the measurements over three seeds of the full gazetteer, and the eleven faults flying it turned upbuilt
The transmutation core The nuclide chart read as a price list, the barium line where the Coulomb term overtakes binding energy, lithium as a charged battery made of matterdesign
The resource cycle · The trade economy · The war economy The three earlier plans this economy was built onbuilt

14What comes next

  1. Three bodies per system. The unlock. Source, mixed and sink in every system, connected by 60 Mm shuttle hops instead of 240 Mm jumps — which is what the same-type rule was written for and has never once been true.
  2. The field fills the planet's holes. Draw each asteroid field's crust from the inverse of its planet's barren mask, so every system can complete at least one chain locally while still trading for the finished goods.
  3. Fuel as a jump consumable, so the reactor ladder is a constraint rather than a label.
  4. The commodity detail screen — agents on mission, prices within N jumps, best-paying run from here. The data is all computed already.
  5. The art above.
↑ top