v0.16.0 - The world keeps score
v0.15.0 made a place. New Game took a seed and built rock fields, planetoids, wrecks and the ships of the civilizations that left them, streamed in around one line warship. You could mine it, loot it, trade with it and fight it. But the place had no memory and no opinion. A sector you left was generated again from the seed when you came back. Nobody out there wanted anything from you. Nothing you did survived closing the game.
v0.16.0 is the release where the world starts keeping score. Civilizations build stations, and a station is somewhere to dock, trade, store, refit and take work. Every station posts jobs, and every hand-in or kill moves what its civilization thinks of you. New Game asks who you are before it asks where you start: six roles, each with a hull, a kit and a goal. The Map grows a chart that remembers every sector you entered and every station you found. And on the desktop build the world saves itself as you fly, so a run is something you come back to.
New Game asks who you are
New Game is two steps now. The first takes a name for the world and a seed. Under the seed, before the world exists, a 3D chart draws the seed's sectors around your starting station with YOU at the start; right-drag turns it and the wheel zooms. The second step lists six start roles. Select one and its hull turns in 3D beside a card: hull name, length, section count, weapons and drives, then the kit of credits and cargo, the role's goal and a line of lore. Create puts you in that hull, docked at your starting station: the nearest station of a civilization that begins as your Ally. A seed with no allied station in reach is refused on the seed field, with the reason, so you pick another.
Six ways in
Every role is content: a StartRole with an icon, a hull, a kit, a job mix
and a goal. The base game ships six. Each kit is worth 3,000 cr at the
reference ask before ammunition, so no role starts richer than another; it
starts differently equipped. A hull with point-defense mounts also carries
1,000 PDC rounds in its hold.
| Role | Hull | Kit | Goal |
|---|---|---|---|
| Industrial | Mining tug | 2,200 cr, 15 hull plates, 25 rations | 6 ore deliveries |
| Scavenger | Salvage hauler | 1,800 cr, 1,000 PDC rounds, 10 hull plates | 6 recoveries |
| Transport | Light freighter | 2,000 cr, 50 rations, 50 water ice | a network of 4 stations |
| Bounty hunter | Interceptor | 1,600 cr, 1,000 PDC rounds, 10 hull plates | a kill list of 6 hulls |
| Military | Patrol picket | 1,000 cr, 2 torpedoes, 1,000 PDC rounds, 10 hull plates | 6 patrols |
| Pirate | Raider | 1,800 cr, 1,000 PDC rounds, 10 hull plates | an outlaw's name |
The six hulls are built from advancement-0 parts on purpose. Every civilization builds those, so the station you start at can rebuild any section you lose. Each carries a cargo intake, because an open-world ship jettisons and takes cargo through one; lint refuses a role whose hull has none.
The goal is a charter, not an ending
Each role plays toward one finite milestone, read off the saved world every frame. Every goal opens with the same first line, Stations owned, which needs one station you own, live or frozen in a sector you left. Then the role's own line follows: ore handed in, wrecks recovered, distinct stations you have worked for, hulls on a kill list, patrols flown, or, for the pirate, one civilization your own kills turned Enemy and six more of its intact hulls taken while it stands so.
The chart's OBJECTIVES block and the Jobs pane both show the next unmet line
with have / need. The frame both lines are met, the save records the play
time and the block reads Goal reached at that time. The world does not
change. There is no completion screen. A met goal stamps the save and the
sandbox plays on.
Stations
The open world places stations itself. Every civilization keeps its stations at the clusters nearest its centroid: a living one keeps one, plus one per half of its advancement, so one to three; an extinct one left exactly one, dead and lootable. A cluster holds at most one station, and the choice is a function of the seed and the civilization alone, so a cluster shows the same station from every cell and in any visit order.
A station is built from the loaded parts, never picked from a catalog. Each civilization draws one of three archetypes and builds one design from it at its advancement, so all of its stations share a silhouette.
| Archetype | Shape | Style |
|---|---|---|
| Ring | a solid hub, one to three rings round it, four spokes, eight at higher advancement | station |
| Spire | two to five decks on columns, struts or solar-panel wings | armoured |
| Yard | a spine between two end blocks with rows of arms | industrial |
Advancement sizes everything. A backwater station has two docking ports and
four turrets, a tonne of storage and 10,000 cr. A core-world station has
eight ports, sixteen turrets, four tonnes and 40,000 cr. Two new station
parts make the shapes possible: a truss hull and a solar panel. Both end in
Bare link points, which still mate but take no skin plate or greeble when
left open, so a spoke or a wing tip stops clean instead of growing a plate.
A station is a body
A station is a dynamic body like a ship. Gravity and rams move it. In a cluster with a planetoid it rides a circular orbit; in one without, it stands at rest 500 m clear of a rock. Shove it off its post and its bridge levels it and rides back on RCS, docked hulls and all. It docks one ship per port and turns with them as one body.
A living station aims its turrets. An Enemy station fires on hostile sides. A Neutral one only fires back, with the same patience a Neutral ship has. The guns hold on a docked ship and point defense never fires through one. Fight a station down to its last turret or its last flight computer and it turns dead in place: services stop, its hold opens to Take, and a docked player gets the helm. Past its collapse threshold it comes apart like a ship and drops its hold and storage as canisters.
Who lets you in
A station flies its civilization's stance as its side, and the dock reads the
side alone. An Ally or Neutral station admits you. An Enemy station refuses
with a <NAME> REFUSES DOCKING HUD notice and a sound. A dead station admits a
dock on any side, as a derelict does, and hands you the helm at once; so does
a ship or station you neutralized.
The three-sided relation model under all of this has not changed. What is new is that a whole civilization now holds one of those sides toward you, and moves it.
Rebuild, refit, add, take off
Docked at a living station, the Ship pane does the work a dock is for. A section you lost is rebuilt with its old code and key, paid by its build recipe: credits and parts, taken from your hold first and bought from the station for the rest. At a station with Refit, the footer gains a Catalogue button that opens the parts gallery, priced. Select a section and every part of the same kind and size offers Swap. Click a part and its ghost snaps to the nearest open point under the pointer, green when it fits and red with the reason when it does not; R rolls it a quarter turn and F mates it by its next socket, the editor's own controls. Click to fit it. The view eases onto the new part and it takes its kind's key.
Delete takes a section off for good and gives back its strip share of parts; Salvage lists them before you press. A delete that would split the ship paints the sections that would come off the dock red while the section is selected. An armed ship keeps one gun. The station and the ships at its other docks show as dim outlines, and a part that would hit them is refused.
A station design lists the sections it builds. Swap, add and rebuild refuse the rest, and the Catalogue dims those tiles with the reason on hover. An All/Available switch lists only what you can place right now.
Ships for sale, escorts for hire, a station for the right price
Docked at a living station, a fifth pane, Station, lists what it sells. A Refit station parks a hull for sale at each port but one, its card turning the hull slowly with its name, length and price. Buy at full price and you take its controls; your old ship stays parked, yours to Board back for free, and its hold shows as storage while you are there. Info on any card opens that hull in the Ship pane, read-only: turn it, zoom it, click a section, then Close.
The same station hires out one to three armed escorts that coast beside it. A hire costs half again what the hull would, joins your side where it waited and comes to you. It flies on its own drive, 200 m off your side and 100 m behind, follows you across sectors, fights what attacks you and saves. A third hire is refused: two fleet slots, STBD and PORT.
And you can buy the station. Only an Ally civilization's station sells itself or hires out escorts. The price is twice what its sections, hold and credits are worth at ask, and the credits go to its civilization. It leaves that civilization for your side: its guns fire on your foes, it admits you on any side, its hold sells to you at bid, and it wears OWNED. It earns nothing yet. Owning one is the first line of every role's goal.
Jobs
Every living generated station posts a board of three jobs. The board is a function of the world seed, the station, its slot and your start, so a Load shows the same offers and two boards never pay for the same wreck or hull. An offer stands for 20 minutes of play, 60 for an escort, then its slot posts a fresh one under a new id. A job you hold is pinned to its slot and never expires. Hand one in and the slot renews at once. At the posting station you can pay 100 cr to delete an offer you do not hold and post a fresh one in its place; dropping a held job is always free, and its slot waits out the normal window.
| Job | What it asks | Reward |
|---|---|---|
Bring 4 Iron ore |
bring that many units of the item to the poster | the goods at ask plus half, plus a fee |
Recover 2 Hull plate from <wreck> |
take the stack off the named derelict and undock with it aboard | twice the ask, plus a fee |
Escort a hauler carrying 1,200 cr |
a hauler waits 1 km off the station and leaves for a mark 10 km out once you are undocked and within 1 km of it, at 100 m/s; see it there | half the cargo value, plus a fee |
Answer a distress call |
a neutral drifting caller 10 km out: dock with it | 200 cr plus twice the fee |
Neutralize <hull> |
neutralize the named Enemy hull in the cube of sectors around the station | 400 cr plus twice the fee |
The fee is 50 to 250 cr. A station asks for what its sector lacks: raw material in an asteroid or rock sector, food and raw material near a planet, parts and plates in a derelict field. Which kinds a board leans to follows your role. A trader's boards post procurements and escorts, a scavenger's recoveries, a hunter's distress calls and bounties. Your starting station's board lists only the jobs your hull can do: a hold for the stack, a docking section, or a weapon. Every other board lists them all and greys Accept with the reason.
The escort is a fight you can lose
An escort's hauler does not leave until you are undocked and within 1 km of it. Then it runs its 10 km leg at 100 m/s. Its raiders, one plus one per 700 cr of cargo up to three, lie 2.5 km off the leg three quarters of the way along it and engage inside 3 km. They hunt the hauler and turn on whoever shoots them for as long as that ship keeps shooting. A hauler neutralized, destroyed or left without drives drops the job and its bodies. The reward is paid at the hand-in, not at the mark.
The Jobs pane
A fourth pane, Jobs, holds your work. Docked, Jobs posted here lists
the board with each offer's kind icon, title, reward, a meter of the time left
and Accept. Your jobs lists what you hold from any station, docked or not,
with a have / need meter, Hand in, and an X to drop. At the hand-in
station the row reads HAND IN HERE. Click a row and the inspector reads the
job in full, with Show on Map, which opens the chart on the job's mark.
Over the lists sits your role's next milestone. An empty list reads EMPTY.
In flight, the body a held job sends you to wears a gold JOB-n chip with
what to do and the distance; off screen it pins to the edge. The moment the
work is done, a HUD notice names the station that pays, and the chip moves
there. Jobs that hand in at one station share its chip. A hand-in reports the
payout, the new balance and, when it steps a civilization, the stance.
A market with reasons
v0.15.0 priced every item the same on every ship. In v0.16.0 a generated station or ship prices each item at the moment you trade, from three factors on top of the reference price: its scarcity, the stock it holds against the stock it spawned with; its cluster, the type of space it stands in; and its civilization, what its ships do. Ore is cheap where asteroids are many and dear among planets. A civilian world pays more for rations. An armored one pays more for ammunition and plates.
The Inventory pane shows the arithmetic. Each row carries the Price of one
with a Deal badge of the percent off the reference, green when it favours
you and amber when not. Select an item and the inspector reads Reference,
Pays and Asks with the three factors that made them and their total, marked
clamped when the price hit its limit. A MARKET strip under the columns
names what the trader buys for most and sells cheapest, its restock gap, and
REFUSED with the minutes left while its civilization will not deal with you.
Buy all and Sell all trade the whole stack in one click, and a double-click on
any row does the same.
A trader's stock stands still while its sector is frozen and drifts back toward its spawn stock by the play time it stood frozen, 30 minutes of play from empty to full. A reload alone restocks nothing. A trader you sold a glut to is still glutted when you come back a minute later, and recovering when you come back an hour later.
Civilizations have opinions
Every living civilization holds one stance toward you: Ally, Neutral or Enemy. Never a number. The seed draws it with an even chance of each, the same for every role, and your deeds move it.
- An offence is neutralizing an intact generated hull or station of a civilization, by your ship or your fleet escort. Three offences inside an hour of play step it one down. The first two are a grace count, and an offence older than the window is forgotten.
- A merit is handing in a job one of its stations posted. Three merits step it one up.
- A step down travels one hop. Two living civilizations whose centroids lie under 340 km apart are neighbours, and their edge is seeded Ally, Neutral or Enemy. When an offence steps a civilization down, an Ally neighbour follows one step down and an Enemy neighbour warms one step up. A Neutral edge carries nothing, and nothing reaches a neighbour's neighbour. Every neighbourhood holds at least one rival, so there is always somebody who likes it when you misbehave.
- A provocation is faster than an offence. Fire or ram a Neutral or Ally hull past its patience, the same 30 hit points in quick succession that make a Neutral ship answer, and its whole civilization reads Enemy for 15 minutes of play.
- An Enemy you made thaws. With no new offence for two hours of play it returns to Neutral. A seeded Enemy never does.
- Or you settle. Select a charted station on the chart and the STANCES block lists every neighbour of it that stands Enemy to you, with its fine and Pay fine, which works only while you are docked there. The fine runs from 1,000 cr at a backwater to 10,000 cr at a core world, goes to the station, and returns that civilization to Neutral with its offences cleared. No neighbour moves.
What the stance does is plain. An Enemy civilization's stations refuse your dock and its ships fight you. Only an Ally's station sells itself or hires out escorts. A Neutral one trades and posts jobs. A station you bought, an escort in your fleet and a hull you neutralized keep their side whatever its civilization decides. And every generated crew now holds fire for eight seconds after its cell streams in, whatever its side, so a civilization you turned Enemy arrives with the same grace a seeded one gets.
The chart remembers
The Map pane has a second view. Press C and it draws your chart at sector
scale: a grid of 32 km cells on the focused Y layer, Z and X step the layer,
and Reframe returns to yours. A cell you entered is a textured tile, one
layer per cluster type it holds: an asteroid speckle, a rock scatter, a ringed
planet, cracked derelict slivers. A cell you never entered is an outline. The
stations and wrecks your sensors found stand on their tiles as STN-n and
WRK-n, numbered in the order you found them. A dead station fades, one that
refuses you wears a red ring, and one with open jobs adds their count to its
code.
Click a cell or a mark and the view centres on it and the panel opens a SECTOR block: its contents as icon rows, when you entered it, every find there with its state, the services, stock and storage you saw at your last dock at each station there, and the jobs you hold that point there. A station you never docked at says so. While nothing is selected the panel shows the OBJECTIVES block, the discovery log of your last twelve finds with relative times, and STANCES.
Every job you hold is marked JOB-n in the sector of the body it sends you
to, and a procurement in the sector of its poster. A scenario handler can mark
a generated rock or derelict too, and the mark outlives a retire and a thaw.
The world keeps what you did
In v0.15.0 a sector that streamed out and back in was generated again from the seed. Now it freezes as you left it and thaws that way: mined rocks and the ore still owed by a cut, damaged, looted and neutralized ships, canisters, wrecks and a docked partner. Only the planetoids regenerate from the seed. Within a session, a wreck you emptied stays empty and a ship you destroyed stays destroyed.
On the desktop build the world also saves itself. New Game names its world and writes a save on every sector crossing and on leaving. A play clock runs only while you fly unpaused, and every frozen sector records the time it froze, so a trader's restock and an offer's expiry read the clock and not the wall. The main menu gains Continue, which opens the newest world and says how long ago it was saved, and Load, which lists every saved world with its role, play time and open objectives and draws the save's chart. Dying shows DEFEAT with Load last save. The pause menu's Retry becomes Load last save too.
A Load brings back your ship with its damage, plates, ammunition, hold, credits and bindings, every frozen sector, and every live sector as it was, including a round, a torpedo and a cut rock chunk still in flight. It brings the scenario back too: objectives, markers, story log, variables and running timers, and a one-shot handler that fired does not fire again. A Load resumes you exactly as saved, docked to the same partner if you were. The web build keeps no saved worlds: New Game there is a one-off session with no name field and no Load button.
Ships and parts
A new base fleet
The base hull list is new. Six start hulls, a training picket for the handbook, a line warship, a freighter derelict and a debris plate replace the block fleet of v0.15.0. The salvage hauler and the light freighter fly five stern drives each, down from eight and nine, with a simpler aft silhouette.
Generated ships changed shape too. They are longer and thinner, cap at 2,000 sections, and fly capital drives that push 75, up from 25. They grow with distance: the first four civilization rings field small hulls only, medium hulls appear near 2,000 km out, and the largest past 3,000 km. Every one carries a cargo intake, on top or below, clear of its docking ports. A ship carries only ammunition its own weapons reload from: no torpedoes without a bay. Torpedo bays are rare and railgun lances need mid advancement, so the ships near your start shoot PDC rounds at you.
The skin is rebuilt
The hull skin is a new system. Flat plates at half or a whole cell with
chamfered rims, folds and skirts at hull corners, and stairs clad as one ramp.
A plate under a greeble flattens to fit it. A style now places greebles by
greeble_rules: link types, greebles with four link points, near terms and
caps. Six station_* greebles and a station style dress the new station
parts.
A destroyed ship spills its cargo
A destroyed ship drops its hold as cargo canisters, and a destroyed section
drops its strip_yield share of each recipe part, rounded down. Both freeze
and save. Dock with a derelict instead and the Inventory pane's Strip
first loots its hold, late cargo too, then takes it apart one section at a
time, farthest from your port first and the port last, each part of each
recipe times its yield times its health. The HUD chip over your ship reads
STRIP 40% while you fly on docked. A hold without room holds the strip at
that section until you make room.
Mining without a lock
The mining beam no longer needs a travel lock. It cuts the nearest asteroid
its ray meets within 100 m of the emitter face, and a nearer barren rock
blocks the ore behind it. A refused pulse now plays the section's
refusal_sound at the emitter, once per pulse, so a silent beam means
nothing is in front of it and a buzzing one means a check is failing.
The cargo intake learned one refusal of its own. Its door stays shut for a canister the hold has no room for. A canister that fits still opens it.
Flight and combat
- A scrape is free. A contact under 10 m/s of closing speed, up from 5, costs nothing, so a glancing touch or a drift out of STOP no longer damages what it touches.
- Docked hulls do not grind. Two docked hulls no longer collide, so skin plates and greebles past a port face no longer wear both hulls down while they sit docked, and undocking no longer shoves them apart. A berthed hull stands one cell off its port, and the dock gate carries a little slack past capture distance for float noise.
- Neutrals have patience. A Neutral ship answers a ship only after it deals 30 hit points in quick succession, fire and rams alike. One PDC burst provokes it. A stray round or a scrape does not.
- GOTO takes the lock on sight. A GOTO's target takes your empty travel lock the moment it comes into sight, with no dwell, so a Map GOTO set out of range is locked for DOCK as you arrive. Docked, a Map GOTO waits and flies once you undock. G or CANCEL drops it.
- The predicted path bends for the target. GOTO's path curves for a coasting or tumbling target, gravity included, and hides while the target changes course or spin; the guide stays.
- RCS has exhaust. Every push throws gas puffs off the hull. Another ship's RCS hiss carries at any push, and generated ships voice their RCS and cockpit cues.
Interface and controls
;opens NOVA COMMANDS, with no Shift on US layouts.:no longer does, and a;typed into a text field stays in the field.- The title row shows the play clock and your balance on every pane.
Prices, rewards and balances carry a credit mark and group thousands, as
1,200 cr. - Settings > Graphics has presets. Low, Medium, High or Custom over particle, resolution, flash-light and shake levers, plus VSync, UI scale and Invert Y. Alt-tab no longer pauses play by default; Pause when unfocused turns it back on.
- The side panels share one width. Map, Ship, Inventory and Jobs each keep a fixed 300 px inspector. Under 1200 px Storage stacks under the station's column, and under 800 px the footer puts its key hints on a second row, so everything shows whole at 640x600.
- The Ship pane uses the editor's controls. Q picks the part under the pointer or puts the part in hand away, right-drag turns the view, and the D-pad turns it on a pad. A gun, bay, railgun or beam with no key reads UNBOUND, and Rebind takes a key or a pad button and sets that device's half only.
- The keybind dock keeps a fixed slot per verb. A verb you cannot press draws dim. HELM shows only while docked. The COMPONENT chip is gone; ] and [ and the wheel still step the component lock.
- Notices have one sound. A Station, Jobs or Pay fine result shows on a notice line for four seconds, green or red, with a click for a result and a buzz for a refusal. Greyed buttons read clearer in both themes.
More in v0.16.0
- Starts are docked.
SpawnStartRolespawns the role's hull beside the starting station and docks it there, so the first thing you do in a world is open the Station pane. - The menu duel ends fast. The rival comes apart once a fifth of its hull is gone, the victor's PDCs hit for more, and the siege torpedo kills the victor in one hit.
- Hold events fire once.
OnMined,OnPickedUp,OnJettisoned,OnTraded,OnCreditsChangedandOnRepairedfire once per occurrence; a settlement firesOnCreditsChangedwith causeSettle. - Stations know they are stations.
OnDockedandOnUndockedcarry the partner'stype_name, so a filter can ask for aliving_station. - Generated rocks have names. The target inset names a generated asteroid
by its kind, as
Rock asteroid, not its internal id. - The Sandbox can spawn a station. A ship's Station box spawns it as one; Station Check names the first fault and Play refuses a hull with a thruster, no port or no controller.
- Credit cheats. Armed,
credits giveandcredits setchange a ship's credits, never below zero, and fireOnCreditsChangedwith causeCheat. - A debug window. Debug builds open Nova Debug on F11 and freeze flight: overlay checkboxes, cheats, a command prompt, entities by sector and type, and the raw inspector.
- The editor's planet hit box matches the drawn planet. It was far larger, so F framed a scenario from too far away to see its ships.
- Lists stop leaking clicks. A click or hover under a scrolled list no longer reaches a row hidden past the list's edge.
Modding and compatibility
v0.16.0 changes more content formats than any release since v0.13.0. Run
content lint on every bundle and read the station,
start role and price table pages.
role: OpenWorldis gone. A scenario declaresworld: Generated((seed: None))for the New Game seed, or a fixed seed the Scenarios list shows. It spawns exactly one player ship. Aboundssphere spawns as a scenario area and raisesOnExitwhen the player leaves it.SpawnStartRoletakes onlyid.positionandrotationfail at lint; the ship spawns beside the starting station and docks there.- A world save carries its scenario. Load fires
OnResume, notOnStart; aseed: Nonescenario needs a handler for it. - Items are content. Mods add
Itementries. Stock keys are quoted,{"HullPlate": 8}, and unknown ids fail at lint and at load. Two mods that define one item id are both refused unless one depends on the other. Base must define the ten item ids the game uses. - Every section needs a
buildrecipe of credits andPartsitems, and itsbaseauthorsadvancementanddraw_weight. Every civilization builds the parts at advancement 0 and knows a seeded subset of those above it. Stationcontent holds its hull, services, stock and credits underdesign, spawns fromPrototype(id)orInlinewith a side, and lists the sections itbuilds. Itsinitial_velocitymust be circular in a well or zero outside.- A
StartRolekind names a New Game start. ItsgoalisOreDeliveries,Recoveries,StationNetwork,KillList,PatrolsorOutlaw; a zero count fails lint, and so does a hull with no intake or a part above advancement 0. - A
PriceTablekind sets the scarcity curve, cluster and role demand, the clamp, the restock recovery and the two job offer windows. The base states one; a mod that states one replaces it whole. - Styles place greebles by
greeble_rules.placementis gone. - A design must name a style the catalog holds. An unknown style fails at lint and stops the game at spawn instead of leaving the hull bare.
- Ids are stricter. A scenario object id or a ship section id may not
contain
/, two sections of one ship may not share an id, and an asteroidlock_signaturemust be finite and above zero. - Mining sections require
refusal_sound. Base usesradar_deny.wav. - Ships hold only ammunition their weapons reload, and the base hull ids
are new:
mining_tug,salvage_hauler,light_freighter,freighter_derelict,interceptor,raider,patrol_picket,training_picket,line_warshipanddebris_plate.
Give every part a recipe and every world a start
A section without a build recipe, a ship without a catalog style, a stock key that is not a quoted item id, or a scenario still declaring role: OpenWorld fails lint in v0.16.0. Add the recipes, name the style, quote the stock, declare the world, and run content lint before you publish.
Point releases
No point releases yet.