← News  //  2026-10-06  //  v0.15.0

v0.15.0 - A world to fly into

v0.14.0 gave every ship its real size. A carrier aimed, docked, burned and died like a carrier. It also gave the game a front door: a handbook and the first chapter of a rebuilt campaign. But the base game still had one shape. A scenario put ships in a scene, the script decided what happened, and the outcome ended it. Every rock, every hull and every round in a magazine existed because a file had put it there.

v0.15.0 is the first release where the game can make the place you fly in. New Game asks for a seed and builds an open world around the ship: rock fields, planetoids, wrecks and the ships of the civilizations that left them, streamed in and out as you move. And the ship becomes something that carries things. It has a hold, credits, ammunition that runs out, plates that repair it, a beam that cuts ore and an intake that takes it aboard. Docking, which v0.14.0 made physical, becomes the way two ships do business.

Video assets/loops/news-0150-release-lead.webm Seed 115, once its world has streamed in: the line warship burns away from its start under the chase camera, then travel-locks the nearest generated ship and the target inset names it.
A seed, a ship and a place nobody wrote by hand.

New Game is a world

New Game no longer starts Basic Training. It opens a world setup window with one field: the seed. Create flies a line warship into an open world generated from that seed. Retry keeps the seed, so the same start can be flown again.

Basic Training did not go away. It moved to the doors that already led to learning: the first-launch card, the top row of Lessons, and the Scenarios list. The open world itself is a scenario with its own role, OpenWorld, so it stays off the Scenarios picker; New Game is the way in.

Image assets/news-0150-world-setup.png The main menu with the New Game world setup window open over the backdrop: the seed field reads 115, with Create beside it.
One field. The rest is generated from it.

Space arrives around you

The world is cut into cubic cells 32 km on a side. A five-by-five-by-five window of cells stays live around the player's ship. A cell is generated when it enters the window and retired when it leaves. Its bodies are checked before they spawn, and a placement that overlaps another body retries outside the overlap or fails with a named sector fault instead of putting two rocks inside each other.

What fills a cell comes from three noise fields. They grow clusters of rock, groups of two to four planetoids, and fields of rocky wrecks. A wreck is never alone in a cell. Rocks and unpiloted hulls start moving the way their place asks for: on an orbit tangent near a planetoid, on an outward escape, or coasting in free space. Nothing waits at rest for the first frame of gravity to pull it down.

Video assets/loops/news-0150-sector-streaming.webm A staged view far from the ship: the camera holds on the largest body of a cell the ship is leaving until the window retires that cell and the body is gone, then cuts ahead to the largest body of the nearest arriving cell as it streams in.
The window moves with the ship. What falls behind it is retired, and what lies ahead is generated as it arrives.

Who lives out there

The ships in an open world are generated, not chosen from a list. Each one belongs to a civilization and has a role. The game lays it out from the sections of the content it loaded and paints it in its role's skin style. A civilization sides Enemy, ally or Neutral. It is living or extinct. A living civilization's ships fly with a crew: they patrol a loop of waypoints, hold at each stop for a while, and do not chase a fight far from that loop. An extinct civilization leaves derelicts, with everything off except the hull and the docking ports.

Every generated ship carries goods and credits. An industrial hold favors ore and parts. A civilian carries rations and parts. Scavengers and armored ships carry ammunition, hull plates and parts. A wreck holds less of each. When a sector streams away and comes back, its ships have their generated stock again.

Four roles: a civilian is unarmed traffic, an industrial is unarmed with a cargo intake and a chance of one or two mining beams, a scavenger is a rough, low-tier armed ship, and an armored is an equipped armed ship. The role and the civilization's status are drawn apart, so each role can be met intact from a living civilization or as a wreck from an extinct one. A wreck comes from an extinct civilization, not from damage.

Travel-lock one and the target inset names it: <civilization> <role> for a live ship, or <civilization> derelict, former <role> for a wreck. The Map pane shows the same name for the selected contact. A distant blip shows only its contact code.

Image assets/news-0150-generated-ships.png Five generated hulls at one scale and light: a civilian, an industrial, a scavenger and an armored ship, then the wreck the generator makes from that same armored ship. The intact twin and its wreck stand together only for comparison.
The role decides what a hull is for. The civilization decides whether anyone is still aboard.

A ship carries things

Every spaceship now has a hold. It takes 100 kg for each hull section, so a bigger hull carries more. The open-world line warship starts with 12 hull plates, 6,000 PDC rounds, 20 rail slugs, 12 torpedoes and 2,000 credits. That is 3,520 kg of cargo before the first canister comes aboard.

The hold is not decoration. A weapon's idle reload loads each batch from matching ammunition in the hold: PDC rounds, rail slugs or torpedoes. A short reserve loads part of a batch. An empty one loads nothing. The free Reload Section key is gone. AI raiders and tutorial drones carry no reserve, so a magazine they empty stays empty.

Hull plates repair. Open the Ship pane, select a damaged section, and spend one plate, several, or All. Each plate restores up to 20 HP. Repair works anywhere, docked or not, and refuses with a reason when the count is wrong or the section cannot be restored.

Image assets/news-0150-ship-repair.png The Ship pane with HULL-1 at 70 of 200 HP: All drafts seven of the ten hull plates in the hold, and the form shows the section reaching 200 of 200 before Repair is pressed.
Damage is something you can spend cargo on now.

Nothing is saved yet. Spent ammunition, moved items and credits return to their starting values when the scenario loads again. That is a stated limit of this release, not an accident.

Ore, canisters and the intake

Two new sections close the loop from rock to hold.

The mining beam

mining_beam_section is a bow emitter with its own key. Travel-lock an ore rock, put the emitter on it, and hold the key. The doors part, the tip runs out, and the beam cuts the rock once a second. Ore leaves the cut as canisters. The beam does not aim. The ship aims it, the way a railgun is aimed.

A pulse runs its checks in order and stops at the first failure: a travel lock, on an asteroid, of a kind that holds ore, with its nearest point within 100 m of the emitter face, and on the line straight out of that face within 100 m. A refused pulse shows nothing on the HUD. A pulse that passes cuts a sphere about 7.5 m in radius where the beam meets solid material; the first pulse into an untouched rock cuts nothing. Ore leaves only after the rock's remesh lands, as canisters of up to 200 kg, each born 10 m off the cut and drifting off it at 2 m/s.

Video assets/loops/news-0150-mining-beam.webm The line warship's bow on a travel-locked ore rock: the emitter doors part, the tip runs out, the beam pulses with sparks, and the emitter stows again when the key comes up.
The ship aims the beam. Hold the key and the emitter opens, cuts and stows.

The cargo intake

cargo_intake_section is a door on the hull. It opens for a canister in front of it, and it takes a canister that touches the slab in front of its opening whole, at any speed, if the hold has room. Nearby canisters wear an amber cargo tag with their mass. Inside 200 m, a cyan intake sight shows where to fly the door, with no lock needed.

The intake's door face is 30 by 20 m, and the clear opening in it is 22.2 by 15.3 m, wider than a 9.4 by 5.8 by 5.8 m canister is long. The door opens for a canister whose centre is in front of the face and within 40 m of the face centre, so an end-on canister whose near end is inside 40 m can still leave the door shut. The intake takes the whole canister when part of it is in contact with the 1 m slab in front of the opening and the hold has room for it. A dropped canister is born 4.4 m off the face and leaves at 3 m/s.

The intake also works the other way. Undocked, Jettison packs items into canisters of up to 200 kg and drops them through the door one at a time. A canister has 20 HP and loses its contents when it is destroyed. It takes a travel lock but not a combat lock.

Video assets/loops/news-0150-intake-pickup.webm Close on the line warship's dorsal intake: an ore canister lifts the last meters to the open door and the intake takes it whole.
Fly the door onto the canister. The hold does the rest.

The line warship

The open world starts in a new design, block_line_warship. It carries six PDCs on the trigger, a bow railgun on R, two torpedo bays on F, a docking collar on each shoulder, a dorsal cargo intake and a bow mining beam on V. It is the first base ship that can fight, dock, mine and haul without a change of hull.

Generated ships use the same parts. Industrial ships can carry one or two real mining beams, with the chance and the pair count rising with their civilization's advancement. A derelict keeps any beam it had, mounted but inert.

Docking is business

v0.14.0 made docking physical. In v0.15.0 a docked pair is a working connection.

One helm for two hulls

A docked pair flies as one body. A dock starts NEUTRAL, with the partner flying. HELM, on H by default, takes the pair's drive, RCS, helm, the G, O and X verbs and Map GOTO, and hands them back. The ship that does not hold the helm pauses its own orders until it gets the helm again. A maneuver flies the pair and no longer ends the dock; only DOCK or damage does.

The HUD says who flies. A HELM chip reads TAKE HELM, RELEASE HELM or HELM FAULT while docked. The mode chip reads NEUTRAL while the partner flies, and HELM FAULT while the game cannot measure the pair.

Video assets/loops/news-0150-docked-helm.webm The line warship docked to a frame tender, starting NEUTRAL: the HELM chip changes from TAKE HELM to RELEASE HELM, the joined pair turns toward a beacon off its side and burns as one body, and the helm goes back.
Two hulls, one set of controls, and a chip that says whose they are.

Who lets you in

DOCK and the dock request refuse a target that is Hostile, Enemy, answering anyone's fire, or fighting. A calm ally or Neutral admits you. A neutralized ship always admits a boarding. If the player hits a docked, AI-flown Neutral, the dock ends at once. Fire from another ship does not end it.

Take, give, buy and sell

The Inventory pane lists your hold and, while docked, the partner's. What you can do depends on the partner. A neutralized ship or a lootable derelict lets you Take its items, Give it yours, and Take credits for its whole balance in one click. A live ship trades instead. It sells only what its hold carries and pays only from its own credits, at fixed prices that are the same on every ship.

Item Buy (ask) Sell (bid)
Hull plate 40 cr 30 cr
PDC round 4 cr 3 cr
Rail slug 40 cr 30 cr
Torpedo 400 cr 300 cr
Stone ore 4 cr 3 cr
Iron ore 16 cr 12 cr
Water ice 12 cr 9 cr
Carbon ore 8 cr 6 cr
Rations 8 cr 6 cr
Salvaged parts 120 cr 90 cr

A trade never splits to fit. Items and credits move together from real stock and real balances, or a refusal moves nothing and says why. Confirm stays disabled while a draft cannot pass against live stock, room or credits.

Image assets/news-0150-inventory-trade.png The Inventory pane after a Sell between two docked ships: both holds side by side, the Tender at 212 cr and the Trader at 888 cr, and the note that 4 hull plates sold to the Trader for 120 cr.
Two holds, two balances, and one trade that moved items and credits together.

Flight

RCS has a magazine

RCS lost its 100 m/s speed cap. It now pushes at any speed from a magazine of 300 m/s of velocity change. Let go for 2 seconds and the magazine refills. Ten violet pips under the speed chip show what is left. Every push draws from the magazine by the velocity change it delivers, braking included. The main drive never draws from it.

The old cap was a limit on where RCS could work. The magazine is a limit on how much it can do. A fast ship can now match a fast target on RCS, but it cannot hold RCS forever.

Video assets/loops/news-0150-rcs-magazine.webm In the chase view, RCS shoves the hull side to side while the ten violet pips under the speed chip drain one at a time. The pips hold empty, then refill once the push lets go.
RCS is a budget you spend and earn back, not a speed you hit.

Everything falls

Every ship, asteroid and landed physical fragment now feels planet and anchor gravity. An unpiloted hull no longer floats where it was left. Only planets and anchors make wells; asteroids no longer author a mass.

That change had a cost in authored content. Rocks that used to sit at rest inside a planet's well would now fall. The Ledger's six chapters, the editor range, Arena and the Waystation menu lane move their rock fields outside planet wells or start each rock on a tangent orbit, with the same seeded counts.

The path is drawn

The GOTO and STOP path follows the autopilot's predicted flight, gravity included, up to 30 seconds ahead. GOTO adds a dim guide to the target. On the Map pane, GOTO sets the travel lock and draws the same prediction.

Video assets/loops/news-0150-predicted-path.webm A GOTO to a beacon past a planetoid: the predicted path bends with the well, the dim guide runs on to the target, and the ship flies the curve it drew.
The line on screen is the flight the computer expects, not a straight wish.

The camera breathes

The mouse wheel zooms the chase camera in normal flight and free look. With weapons raised, it steps the component lock instead; ] and [ step it in any stance. During a main-drive burn the chase camera eases back a fixed share of its distance, holds through short gaps, and then eases home. A tap leans it only a little.

Combat

Neutrals answer fire

An armed Neutral ship answers whoever last hit it. The pair and their torpedoes read Hostile to each other until the target is lost or neutralized, the ship changes side, or either leaves its leash. An unarmed ship of any side is neutralized when it loses the last working thruster it had.

AI spends ammunition like it has a hold

AI turrets shoot at ships without a burst pause, but keep 20 percent of each magazine for point defense. Point defense fires through that reserve. AI ships launch at most one torpedo per frame, with up to one in flight per working bay against each target. A hit, an interception or an expiry opens the slot again.

The interface is themed

TAB opens a themed interface with three panes: Map, Ship and Inventory. M, or Y on a pad, steps through them. The Map labels an asteroid only while it is selected, so a belt of rocks no longer buries ship and planet labels. It codes planets PLN-n and side-less ships NEU-n with their own readouts. The Ship pane gives mining beams and cargo intakes their own icons and legend entries. The panes turn, pan and ease at the same speed at any frame rate.

The terminal did not go away. : opens NOVA COMMANDS on the CRT over any screen, and Escape returns to it. The old nova> prompt and its app verbs are gone. A new log command prints comms, objectives and lock drops. Keybinds saved under the old novaos_* IDs load onto the new interface actions.

Video assets/loops/news-0150-tab-interface.webm The loop starts in flight outside the interface. TAB opens the Map pane, then M steps to the Ship pane and to the Inventory pane.
The ship's own screens, painted by the theme you picked.

New lessons

The handbook teaches the new loop. Basic Training adds four lessons with captured footage: MINE, Picking up canisters, Take and give, and Jettisoning cargo. Two more, Generated ships and Looting a wreck, teach open-world ship identity and a docked Take and Give from a derelict. Six interface and command lessons replace the NOVA OS lessons.

More in v0.15.0

  • The menu shuffles its backdrops. Each backdrop plays once before any repeats, and none plays twice in a row.
  • Turrets no longer draw lead pips. They still lead their targets. The aim and firing reticles are unchanged.
  • The target inset shows the travel lock when no combat lock is held, with range and signed closing speed. A combat kill cam plays before the travel view.
  • Open-world ships wear their role. Civilian, industrial, salvage for scavengers, and armoured for armored ships.
  • A new sky. The base sky is a 1024 px cubemap with diffuse nebulae instead of the old point-star texture.
  • The site has a new header. Home, Wiki, Create, News and Play. New wiki pages cover the mining beam and the cargo intake.
  • Docking at an angle holds. A belly-up dock against a yawed partner no longer swings the partner into the hull; the joint holds the pose they met in.
  • Orbit orders let go. A ship holding a completed OrbitShip ring no longer keeps its helm forever after the well is gone.
  • A second editor ship stays put. It no longer drifts along the row and crashes the game when frames outrun physics steps.

Modding and compatibility

v0.15.0 changes several content formats. Run content lint on every bundle.

  • Spaceships declare cargo. inventory, lootable and credits are required. Inventory items are HullPlate, PdcRound, RailSlug and Torpedo, and overstock fails lint.
  • Bodies lose invulnerable. Every asteroid can be destroyed and no planet can. Both reject unknown keys.
  • Asteroids drop mass. Only planets and anchors make wells. Planets require a positive mass. Ships and rocks require a finite initial_velocity, zero included.
  • Orbit targets are explicit. OrbitShip well and AI orbit take Authored("id") or NearestToShip.
  • SalvageCrate is removed. Use a Beacon with area_radius for a reach-this-place trigger.
  • Backdrops end themselves. A role: Backdrop scenario must author BackdropDone(()) and no NextScenario.
  • Lesson category NovaOs is now Interface.
  • Mining sections need their own keys. Lint and load reject missing or shared keys and bad beam stats.
  • Section lint is stricter. Bad health, collider, thrust, torque or damage, a section id shared by unrelated mods, a missing part family, and an oblique or blocked exit all fail.
  • New kinds and fields. CargoIntake is a section kind. AI can author patrol_stops.
  • Crates renamed. nova_os and nova_os_ui are now nova_command and nova_interface.

Declare what a ship carries

Every spaceship must now say what is in its hold, whether it can be looted and how many credits it holds. Add those fields, remove the ones this release deletes, and run content lint before you publish.

Point releases

No point releases yet.