Changelog
Version History
Every code change should update the SemVer version and add a dated changelog entry.
v0.30.0
2026-07-24 · The flight plan: mission programme, deadlines and evaluation
- Added the mission programme: eight phases of Mission Control directives uplinked over the modelled radio link, each with a rationale, a due sol and a weight. Every objective measures itself against real simulation state — litres in the tanks, megabits actually returned home, berm stages really piled up — never against a scripted flag.
- The rotation now ends. Sol 480 is handover: the follow-on crew's lander arrives and the run closes with a programme evaluation out of 100 and a letter grade, weighted across the whole flight plan so survival and execution fold into one number. Death seals the same evaluation, and both go into the permanent mission record.
- Tasking is uplink-gated — a mispointed dish delays the next phase instead of penalising you, because the deadline clock starts when the message lands. A missed due date costs morale and books zero credit; late work still earns half.
- Rewards never conjure matter: a closed directive can release the beacon key for a cache that was already on the ground before the crew landed, and nothing else.
- Added a FLIGHT PLAN tracker to the HUD, a PROGRAM page and
programshell command to the base computer, and a programme ledger of cumulative counters — work orders, reports filed, EVA crew-hours, rover kilometres, ice processed, produce grown — carried through saves and multiplayer snapshots.
v0.29.0
2026-07-15 · MAV salvage and surface recovery campaign
- Turned the surveyed MAV into a persistent engineering site: a four-hour careful salvage recovers a PV module, battery cell and pump assembly without sacrificing the vehicle, staging the parts beside the wreck for carrying or rover transport.
- Added a five-stage, 92-hour restoration campaign with real material manifests, engineer efficiency, resumable progress and rover-bed staging, with multiplayer keeping the server authoritative over progress and consumption.
- A completed recovery powers an eastern-basin radio relay and surveyed nav fix, plus finite emergency suit O₂/feedwater and solar-backed heater-battery charging, reflected in the map, logbook, prompts, guide and the progressive 3D MAV model.
- Return-to-flight stays honest: the recovered MAV is a surface refuge and service alcove, while tank proofing, engine acceptance, propellant, guidance, ascent windows and rendezvous remain explicit flight NO-GO items.
v0.28.0
2026-07-15 · Field survey gameplay and continuous terrain
- Landmark inspections are now timed EVA surveys: 12–15 mission minutes at the field sites and 30 minutes at the damaged MAV. Moving away cancels the pass; completion consumes time and suit resources, records the Sol, synchronises in multiplayer, and replaces the repeat key prompt with saved findings.
- Accelerated rover travel holds a light, sustained driver workload, so suit O₂, CO₂ cartridge, battery/coolant exposure, hydration, calories and fatigue continue advancing in solo and authoritative multiplayer.
- Rebuilt the western delta marker as an embedded sediment stack with individually grounded clasts, and grounded every loose MAV debris fragment. The floating rectangle field is gone without increasing the bounded terrain working set.
- Crater bowls now join their raised rims continuously, sub-grid grit no longer creates invisible collision relief, and the ancient inlet has its own surface colour. Rendered terrain and physics agree more closely while retaining the 25-tile memory ceiling.
v0.27.2
2026-07-14 · MAV landing shelf and verified home parking
- Moved the damaged MAV from an accidental crater-rim pitch onto a nearby naturally level south-eastern landing shelf. Its 38 m rover stand-off gives a clear arrival view and short EVA approach without entering the shattered arrays or debris field.
- Added physical collision to the MAV pressure vessel and inner array panels. An end-to-end MAV-to-base regression proves cruise clears every base structure and finishes at the exterior rover park at
(-16, 20), never inside the habitat.
v0.27.1
2026-07-14 · Fix: terrain layers and safe rover routing
- Fixed the coarse world terrain breaking through streamed detail tiles around the MAV and western field sites. Resident detail footprints now mask the macro mesh in world space, leaving one visible ground surface without increasing the 25-tile memory ceiling.
- Automatic rover journeys now take server-authoritative waypoint detours around the habitat, greenhouse, solar farm, radiators and dish. Return-to-base ends at the rover park, drill routes stop outside the rig, and the map draws the actual multi-leg route.
v0.27.0
2026-07-14 · Jezero exploration, automatic rover journeys & damaged MAV
- Expanded the world to a memory-bounded 24 km Jezero-inspired basin. A coarse world mesh and at most 25 streamed detail tiles keep startup and GPU memory bounded, while rendering, rover physics and multiplayer share one deterministic heightfield.
- Added automatic rover journeys from the in-seat route planner (F). Routes estimate distance, energy, grade and dune exposure, advance on mission time, work with solo time warp and multiplayer's normal crew vote, and return to 1× on arrival or trouble. M opens the map.
- Added a delta scarp, dune corridor, abandoned weather station and heavily damaged Mars ascent vehicle as distant field-survey landmarks. Their compact state saves and synchronises without terrain or mesh payloads.
- Rover readouts now report the 90 kg bed as total payload (ice plus gear), and map labels avoid overwriting one another. Render is pinned to Node 24.14.1 with a matching package engine range.
v0.26.1
2026-07-13 · Fix: crash while driving the rover
- Fixed a crash that fired every frame at the rover's wheel (and made boarding/dismounting glitch): the new running-gear wear code in the driving loop read the simulation off the player controller, but the controller was never handed that reference — an uncaught
reading 'rng' of undefinedaborted the frame mid-loop. The reference is now wired at game start (single-player and multiplayer), and the driving loop is defensive besides: if the sim is ever absent, wear still accrues but no client-side failure can fire (the authoritative server owns that moment anyway). - Added a headless regression test that constructs the real player controller and drives the rover for hundreds of frames both with and without the sim wired.
v0.26.0
2026-07-13 · Ambient score on by default; rover suit-recharge station
- The ambient score now starts enabled by default, and plays on the start screen too — the same generative composition carries from the menu straight into the mission on one audio engine. Browsers only allow audio after a user gesture, so it begins on your first click or keypress on the menu; it stays off only if you've explicitly turned it off (the ♪ toggle on the status tablet still persists your choice).
- The rover is now a mobile suit-recharge station — the realistic answer to "can you hot-swap O₂ and LiOH out in the field?". Stand at the rover on EVA and press R to top up your suit's O₂, cooling feedwater and heater battery from supplies the rover carries and refills at base. The O₂ goes in through the suit's fill port, so the breathing loop is never opened — that's why it's safe on the open, unpressurised surface. It draws a little from the rover's traction pack for the heater but always leaves enough to drive, turning the rover into a genuine range extender: recharge at the worksite instead of turning back on your bottle.
- The CO₂ (LiOH) cartridge is deliberately not field-swappable, because that would mean opening the sealed scrubber loop to vacuum — you'd vent your breathing gas. That matches how EVA suits actually work today and for the next decade (current suits service the scrubber in a pressurised volume; the near-future xEMU uses a regenerable amine bed that vents CO₂ to space and never needs swapping at all). So a cartridge swap stays a locker job in a pressurised module, and the rover prompt says so when your cartridge is filling up.
- The rover's suit-servicing O₂ bottle and feedwater show on the rover prompt, refill from base stores while parked, are shared state in multiplayer (a new authoritative action), and survive save/load. New regression tests cover the field recharge, base re-servicing, and the save/load round-trip.
v0.25.0
2026-07-13 · Rover cargo bed, wearable running gear & field recovery
- The rover's cargo bed now carries discrete gear, not just ice. Stand at the rover on EVA and open your kit (I) to load portable items — seismometers, field beacons, spare parts, the hull-patch kit — into the 90 kg bed, then pull them back out one or two at a time as your 12 kg back allows. A single seismometer is 5.5 kg, so two of them plus the tool roll never fit the personal kit; now a whole seismic deployment rides out in one trip. Ice and gear share the one bed, so a bed heavy with instruments has less room for ice. The bed is shared state in multiplayer and survives save/load.
- The rover is hardware that wears out. The drivetrain (wheels, hub motors, suspension) and the traction battery take wear for the kilometres you put on them, and strain accelerates it — slipping wheels, a bogged bed and clawing up a grade grind the running gear far faster than an easy cruise, and a rollover jolts the drivetrain hard. This is emergent, not a random clock-based dice roll: a part's failure hazard climbs the same wear-weighted Weibull tail every other machine follows, so breakdowns are earned by hard use. A worn traction battery also loses usable capacity (it won't top up to nameplate), exactly like the base bank. Both parts show their condition on the drive/rover prompts and raise alarms as they degrade.
- A seized drivetrain or a dead traction battery out on the plain strands the rover — and the fix is the spare you carried. Fit a fresh drivetrain module (a new 7.5 kg spare) or swap in a charged traction cell at the rover (F), each an EVA job needing the right part in your kit plus the tool roll. The battery swap doubles as the answer to the old dead-end: a rover that ran its pack flat kilometres from base is no longer just a long walk home — carry a cell out in the bed and it drives again with enough charge to crawl in. Both repairs apply on the authoritative server, with the spare consumed the moment it's fitted.
- A rollover now scatters some of the bed's gear onto the ground beside the rover (half of each stack, deterministic) alongside the ice it always spilled — winch the rover upright (F) and pick your instruments back up. New regression tests cover bed transfers and mass sharing, use-and-strain wear, strain-driven failure and immobilisation, field repair and battery-swap recovery, rollover gear-spill, and the full save/load round-trip of the bed and both wearable parts.
v0.24.1
2026-07-12 · The crew hold is now a perfect pause
- When multiplayer time is held because a living crewmate is offline (the TIME HELD banner), the world is now perfectly paused — previously you could still walk around and interact with the base while "waiting", because any timescale broadcast during the hold (someone tapping 1×, a cancelled warp vote) quietly unfroze the clients even though the banner stayed up.
- Client side: the hold re-asserts the hard pause every frame — movement, camera and all interactions freeze exactly like a pause, no stray broadcast can lift it, and the time controls answer with "Time is held" instead of sending requests. Chat, voice, the tablet, help and the inbox stay available: you can talk while you wait, you just can't act.
- Server side, so nobody can play ahead no matter what their client does: while the hold stands the server refuses movement reports, labour, interactions and every time input from everyone — and the hold engages the instant the disconnect happens rather than at the next tick, and releases the instant the crewmate reconnects. Presence, chat and voice keep flowing throughout.
- Regression tests cover the whole contract: the hold engages immediately on disconnect, movement/interactions/time input are refused while held, chat still works, and everything lands again the moment the missing crewmate returns.
v0.24.0
2026-07-12 · Surveyor's spyglass, rover cruise throttle, relay-status lamps, honest rescue timing
- Added a surveyor's spyglass: it rests on the comms console — pick it up (E) and hold Z to glass the horizon at ~4.5×, through a proper circular scope with a reticle and live magnification readout. Look sensitivity scales down with the zoom so a nudge doesn't whip the magnified view, and it works suited, unsuited, and from the rover's seat. On touch it's a ◎ button on the utility rail (tap on, tap off).
- Rover driving is now cruise throttle: W/S trim a persistent throttle (forward, and through zero into a cautious reverse crawl) that holds where you set it — set the cruise and take your hands off the keys for a long traverse. Space brakes to a stop, the touch joystick commands the throttle directly and likewise keeps its last setting, and the drive prompt shows the live throttle, speed and controls. Also fixed: a rover with a flat battery could still be driven in reverse.
- The field beacon is a real piece of relay hardware now: splayed tripod legs on foot pads around an equipment case, a two-segment mast, a bracket-mounted solar panel, a dipole array and UHF whip at the masthead, and a caged status lamp. The lamp reads the link, not just the battery — judged by the same radio-propagation model the crew net uses: green blink = relaying on the base net, amber blink = powered but cut off from base (terrain shadow, comms mast dark), dull red ember = battery dead.
- The airlock's control faces carry lock-state lamps (main console + both repeater panels): green pressurised, red at vacuum, blinking amber mid-cycle — the chamber's state reads at a glance from the cabin, the chamber and the surface.
- Rescue timing audit — nothing about an unconscious crewmate is instant, and warmth is not treatment: dragging a hypothermic body into the warm cabin starts a slow passive rewarm (tau ~1.5 h — they still need care), while treatment at the med station now actively rewarms ~3× faster (warmed fluids, forced-air blanket) on top of its existing oxygen-therapy CO clearance and 4× wake-timer speedup. Rousing (F) is capped: shaking banks recovery time but can never do the last stretch — the brain needs its own continuous ~45 s of good perfusion after the last shake, so mashing F no longer snaps a crewmate awake the instant their vitals clear.
- Fixed multiplayer sprint stamina bouncing back up mid-run: the sprint drain lives in the client's frame-rate movement layer, which the server never simulates — so every ~2 s authoritative snapshot yanked the local crew's stamina bar back toward full (and un-winded legs that were done). Stamina is now client-owned for your own crew member across snapshots, matching how your rover stays yours while you drive it. Regression test covers the snapshot round-trip.
v0.23.0
2026-07-11 · Living start screen, real loading screen, full mission statistics
- The start screen now sits over the actual base, rendered live: the real terrain, habitat, rover, sky and blowing dust, under a sol that runs in about a minute and a half. Dawn light sweeps the panels, the blue-halo Martian sunset arrives while you read, the hab's ports glow into a starfield with Phobos racing overhead, and the weather drifts between clear and hazy so no two cycles look alike — all framed by a slow cinematic orbit around the hab. The menu becomes a translucent scrim over the scene (the painted backdrop remains as a fallback where WebGL is refused), and its sections settle in with a soft staggered rise.
- Starting a mission shows a proper loading screen instead of a frozen menu: a mission-launch banner, a progress bar that walks through the real build stages ("Reading mission state", "Shaping the terrain", "Deploying the habitat", "Pressurising the cabin"), and a rotating survival tip while you wait. The same screen covers page boot ("ESTABLISHING UPLINK") and the multiplayer join after the crew assembles.
- Added a FULL STATISTICS page to the mission record — in the spirit of Minecraft's statistics screen. Lifetime tiles (missions flown, total sols on Mars, longest and average run, tasks completed, science surveys, total radiation absorbed, most common fate), a records board (longest survival, hardest worker, highest dose carried), a how-missions-ended breakdown with proportion bars, a per-specialty table, and the complete scrollable mission log with fate and date for every recorded run.
- Menu quality of life: deleting a saved mission is now a two-tap confirm (the ✕ arms into an explicit "Delete?" — a slip of the finger no longer erases a 40-sol run).
v0.22.0
2026-07-11 · Shared time is truly shared: crew consent + presence hold; two-sided airlock panels
- Every multiplayer speed-up now needs the whole living crew's unanimous consent — in every room type. Public (non-invited) games previously applied any player's timescale request instantly, so one crewmate could jump the base to 3000× and back without anyone agreeing; now the same proposal/approve/start vote used by invited missions gates all of it. Dropping back to 1× (and pausing) never needs consent — bailing out of a warp is always allowed.
- Closed the client-side warp exploit behind the same symptom: the 1–6 time keys set the local mirror simulation's clock immediately while the server vote was still pending, letting that one client race minutes ahead (long enough to don a suit "for free") before the next snapshot yanked it back. In multiplayer the keys now only send the request; the clock moves when the server's broadcast says so.
- Mission time now runs only while every living crew member is online. If someone disconnects, the server freezes the clock for everyone — a TIME HELD banner names who the base is waiting for — and it stays frozen until they reconnect, so nobody plays ahead of an absent crewmate and nobody returns to a base that moved on without them. A disconnect also cancels any pending warp vote and drops the timescale to 1×, so the world can't resume mid-warp the moment they return. (Dead crewmates are exempt: their players can spectate or stay away, as before.)
- Waking up by hand now ends the night warp: previously only "rested" or an alarm dropped the 600× sleep fast-forward, so a crew that got up early kept living at 600× without noticing. Anyone getting up returns the whole base to 1×.
- The airlock's repeater panels beside each door are now real interact points. The single chamber-console hotspot was always out-ranked by the nearer door hotspots from the cabin or the surface, so the "cycle it from the other side" controls were effectively unreachable — exactly when a crewmate had cycled out and left the lock at vacuum, the person inside saw only "inner door — LOCKED". Now the wall panel beside either door commands the cycle (its interlock closes the far door first): repressurise from the cabin after someone leaves, or pump down from the surface when you come home to a pressurised lock.
- Locked-door prompts now say what to do about it ("repressurise at the wall panel beside the door"), and the panel's suit/prebreathe warnings only fire for a body actually inside the chamber — commanding a cycle from a repeater outside it is safe and no longer scolds you.
- Multiplayer regression tests cover the new rules end to end: a speed-up request in a public room opens a vote instead of warping, a decline cancels for everyone, a consented warp starts attributed to its requester, a disconnect freezes the mission clock (and a reconnect releases it), and 1× needs no consent.
v0.21.0
2026-07-11 · Airlock panel door interlock; multiplayer sync audit
- The airlock repeater panels now carry a proper door interlock: commanding a cycle (pump-down, repressurisation, or the emergency vent) drives any open door closed first instead of refusing with "close both doors". The panels sit on every side of the lock, so this is how you shut the door on the side you can't walk to — an outer door left open at vacuum no longer strands everyone in the cabin. The panel prompt reads "Close outer door & begin repressurisation" so the interlock is visible before you press it. Applied on both the client and the authoritative server, with an end-to-end regression test.
- Multiplayer sync audit, following the repeatable-sample-collection bug: found and fixed the same ghost-object failure in the greenhouse — snapshots (every 2 s) rebuilt the crop-bed objects while harvest/plant/fertilise tasks held the old ones, so a harvest completed against a dead bed, the live bed stayed "ready", and fresh food was farmable forever. Beds now merge in place by id like the science sites, pods and seismic stations.
- Audited the rest of the snapshot path for identity breaks: crews, life-support components, power, rover (including the driver's-seat stash), airlock, ice site, beacons, dropped items, berm and instruments all either merge in place or are only ever read fresh — no other stale-reference holders found. Regression tests cover the greenhouse wire round-trip alongside the science-site one.
v0.20.0
2026-07-11 · Generative ambient score; repeatable-fieldwork fix; rover model cleanup
- Added an original generative ambient score, "Under a Butterscotch Sky" — synthesised live like every other sound in the game, no audio files. A four-chord D-minor cycle (Dm(add9) → B♭maj7 → F(add9) → Csus2, a descent by thirds voiced so it never cadences) carries a breathing pad choir, a sub drone with a slow unison beat, and a sparse D-Dorian bell motif that walks by step and rests for long seconds between phrases — the silences deliberately hand the stage back to the wind. The 1–3 kHz band is left almost empty so radio, alarms and voice always cut through; the score ducks hard under a severity-2 klaxon and fades out on death.
- The score is toggled with a ♪ AMBIENT SCORE button on the status tablet (Tab) — a deliberate mood choice, not a keybind — and the preference persists across sessions.
- Fixed repeatable field work in multiplayer: every snapshot replaced the science-site/cargo-pod/seismometer objects while active tasks still pointed at the old ones, so "Collect samples" (and pod unloading, and seismometer deployment) completed against a ghost and immediately regenerated — collectable forever at the same site, with pods re-yielding their manifest. Snapshots now merge these arrays in place by id. Single-player was unaffected. New regression tests cover the wire round-trip.
- Rover model cleanup: the wheels no longer clip through the chassis — the deck plate and cross rails end inboard of the wheels, the track is a touch wider, the wheel assemblies are slimmer, and each fender sits on a riser-and-arm bracket that passes over the tyre instead of floating detached.
v0.19.0
2026-07-11 · Rover & machinery soundscape; smoother frames
- The rover finally sounds like a machine: a drive-inverter whine that climbs with wheel speed, low regolith rumble through the chassis, and a gritty churn layer that rises as the wheels slip on grades or dig into soft sand — all structure-borne, audible only from the seat. Boarding/dismounting thunks, a rollover lands as a structural crash with settling clatter, and winching it upright plays ratchet pawl clicks under a straining line before the chassis drops back onto its wheels.
- Body foley: footsteps synced to the head-bob stride — soft thuds on the hab deck, a metallic edge on the airlock grating, dry regolith crunch conducted up through the suit boots on EVA — scaled to gait, plus impact-weighted landing thuds and a fabric scramble when mantling.
- Machinery you can hear working: the ice drill's percussive thump carries ~30 m through the ground on the surface, and the airlock scavenge pump chugs through a pump-down — loud in the lock, faint through the bulkhead (the emergency vent stays pure hiss, which is the point of it).
- New interaction sounds: ice loads/unloads as a gravel cascade, suit brush-down swipes, a pressurisation hiss when the suit seals, meal/prebreathe/exercise confirmations, computer click. New severity-1 alarms chirp once (severity-2 keeps the klaxon; the mute covers both).
- Performance: the per-frame HUD now writes to the DOM only when a panel's content actually changed — rewriting a dozen big innerHTML blocks at 60 Hz was the largest CPU cost outside the renderer. Also removed per-frame allocations in the player controller, scene and sky updates, skipped crop material writes until growth visibly moves, requested the high-performance GPU, and dropped a dead per-substep allocation from the simulation loop. Zero simulation or visual changes — same models, same picture, more headroom.
v0.18.0
2026-07-11 · Unconscious crew, rescue dragging & crew morale
- Bodies now give out before they die: severe hypoxia, CO2 narcosis, carbon monoxide in the blood, deep hypothermia, heat collapse or circulatory shock drop a crew member unconscious where they stand — still alive, still breathing (at a reduced metabolic rate, which is the rescue window), unable to act. The view blacks out, everything in hand stands down, and a driver slumps out of the rover seat as it rolls to a stop. The body wakes only after its vitals have been survivable for a few continuous minutes; alone on Mars, that recovery may never come.
- Added a carboxyhaemoglobin model: CO from a fire loads the blood toward an exposure equilibrium and knocks you out well before the ambient dose kills. It clears slowly in clean air, faster on high-ppO2 suit gas, fastest under medical oxygen at the med station — "drag them out of the smoke" is now a real, physiologically-grounded rescue.
- Person-to-person rescue (multiplayer): G drags an unconscious crewmate — slow going, no sprinting or jumping, heavy exertion — through doors and airlocks to somewhere survivable; the body is pinned behind you and shares your zone's air. F over a downed body pulls their helmet off indoors (a suited body rebreathing a spent loop suffocates in the cabin otherwise) or tries to rouse them; an unconscious crewmate laid out at the med station can be treated by anyone, with the Flight Surgeon twice as effective.
- Person-to-person morale: G on a healthy crewmate is a check-in — a few minutes that aren't about the base lift both your spirits (per-pair cooldown) — and simply working within talking distance of a conscious crewmate eases the isolation morale drain.
- The base computer's terminal now carries recreation software (
games): MARS LANDER (fly the final descent on retro burns) and TWENTY-ONE against the ship computer. A finished round lifts morale, with diminishing returns within the sol. - Multiplayer presence rules: a dead crew member's player can always return as a spectator (any room type), spectators never keep the clock running — with only ghosts connected the world pauses exactly as if empty, protecting offline living crew — and dead players never need to be online for the rest of the crew to play on.
- Unconscious crew show as a lying body (with a lowered name tag) to crewmates, KO on the roster, and a severity-2 alarm; the suit panel's temperature readout is now labelled Core body with its 37.0 °C reference so a hypothermic 32.5 °C reads as the emergency it is.
v0.17.1
2026-07-11 · Beacon-loss & kit-sync fixes; airlock panel; map needs an uplink
- The tablet tracking map now requires a readable uplink to base (direct or relayed through the rover/beacons) — it's a thin client of the base network, so out of range it goes dark with a NO BASE UPLINK notice instead of a stale map. Move back into range or plant a relay beacon.
- Fixed a bug that could delete field beacons (and seismometers): recovering one removed it from the field before checking the kit could take it, so a kit already at its mass limit made the instrument vanish. It's now only lifted out of the field once it's safely in the kit.
- Fixed multiplayer kit sync: the client bound the shared inventory to crew 0, so a non-founder saw and acted on the founder's kit — their own recovered beacons/items appeared to disappear. Each client now tracks its own crew's kit.
- Moved the airlock's inner control repeater to the other side of the doorway: it was clipping through the EVA suit locker that stands just inside the inner door.
v0.17.0
2026-07-11 · Tracking map on the status tablet
- Added a tracking map to the status tablet (hold Tab) — a read-only wrist display that follows you, so you're no longer blind to your surroundings once you step away from the base computer. It shows terrain contours, surveyed locations (hab, greenhouse, ice, caches, science sites, beacons and their nav-fix rings), the rover and the crew.
- It's honest about Mars having no GPS: the map centres on your RF-localised position — ranged against the base mast, the rover and any beacons you've planted — so a strong beacon field gives a tight fix, a weak link widens it, and if the network can't hear you at all the map freezes on your last fix. Plant beacons to stay found. The base computer keeps the full interactive planning map (pan/zoom/layers).
v0.16.2
2026-07-11 · Pause actually pauses; solar-farm mounts
- Fixed pause: the freeze test was inverted, so pausing actually unfroze you — you could still walk — and the mouse-look never checked the freeze at all, so the camera always spun. Pause is now a hard stop: movement, camera and interactions all freeze. In multiplayer the pause is broadcast, so every crewmate's client freezes together, and a clear PAUSED banner shows why the view is held. (A fast-forward still only pins your feet — you can look around while the world warps.)
- Rebuilt the solar farm's mounts: the tilted panels hung off a single central post, so each panel's high back edge and low front edge cantilevered into the air and read as floating. They now sit on a proper fixed-tilt trestle — a low front rail and a high back rail, braced legs planted at every module — so the glass visibly lands on steel.
v0.16.1
2026-07-11 · Crew model refinement
- Fixed the crew model's feet detaching from the legs mid-stride: the boots were pinned to the body while the legs swung from the hip, so a walking crewmate left their feet behind. Boots now ride the legs and stay flat through the stride.
- The chest control module (the box on the front of the suit) is the EVA Display & Control Module — correct on a spacesuit, but it was also showing on the indoor jumpsuit, where it read as a stray square on the chest. It's now suit-only; indoors you wear just the jumpsuit.
- Rounded out the silhouette: added a neck, shoulder caps that fill the gap where the arms meet the torso, gloved/bare hands at the ends of the arms, and darker boots with a forward toe.
v0.16.0
2026-07-11 · Seismic science campaigns & radiator thermal depth
- Added a seismic-network science campaign that turns comms into mission planning. Pack a seismometer, haul it out to a flagged station, and work the deploy procedure to set it — but both stations sit in radio shadows the base can't hear directly, so the instrument's data is worthless until its telemetry reaches home.
- A deployed seismometer records into an onboard buffer, but the DATA only counts once it's uplinked to base — routed through the same radio net as everything else. No link and the buffer fills, then overwrites: science lost. So getting a crater-floor station's data home means planting a beacon chain over the rim to relay it — the beacon/rover decisions you make are now the science plan. You can also drive out and download the buffer on-site (E).
- Each station shows its telemetry state and percent-data-home on the world prompt and the MAP (with a ⚠ when buffering un-relayed), a green/amber status lamp on the instrument, and completes with a mission-record result. Recover a station (F) to redeploy it.
- Deepened the thermal model: the heat-rejection radiators now foul with wind-blown dust exactly like the solar arrays — a dusty radiator can't dump heat, so after a storm, when the racks run hot and the sun's back, the cabin bakes until you brush the panels down (EVA task).
- Added a THERMAL BALANCE readout to the LIFE SUPPORT console: cabin/greenhouse/outside temps, heater draw, equipment heat, live heat-rejection vs. radiator capacity, radiator dust, and — the number that makes the storm-night "heat vs. lights" call — a projected battery endurance at the current net draw.
- Made the dust you fight visible on the hardware: the solar arrays darken, the radiators redden as they foul, and — new — the airlock floor cakes red with the regolith brushed off your suit (and shed cycling back in). A deep-clean mops the lock floor; it's the mud room of the base.
v0.15.0
2026-07-11 · Interactive tracking map & RF crew localisation
- The base computer's MAP is now a real interactive tracking display: scroll to zoom (around the cursor), drag to pan, arrow keys to nudge, and +/−/⌂ buttons — and it's a persistent widget, so the console's refresh never resets your view or drops a drag. Careful pointer handling keeps zoom from scrolling the page and a drag from grabbing the game's pointer lock.
- Added toggleable map layers as chips: Topography (contours sampled live from the terrain at any zoom), Radio coverage, Locations (habitat, greenhouse, ice, caches, science sites, beacons), and Crew.
- Replaced the old magic "you are here" dot with realistic RF crew localisation. There is no GPS at Mars: the colony ranges each suit against surveyed stations (base mast, rover, deployed beacons) and trilaterates. A crew member is shown ONLY when the network can hear them, with an uncertainty circle whose size reflects the fix — one station gives a rough, dead-reckoning-limited circle; three or more, spread around you, give a tight one; weak links widen it. Anyone the net can't range isn't on the map (flagged "off-network"), and the reported dot is an estimate near — not exactly on — the truth.
- This makes beacons matter twice over: each deployed beacon is another ranging station, so a beacon field both extends the crew net AND sharpens everyone's position on the tracking map.
- Kept the predicted radio-coverage overlay (mission planners really do use terrain-based RF coverage maps) but demoted it to an off-by-default layer you toggle on — shaded green (readable) through amber to red (dead zone).
v0.14.0
2026-07-11 · Terrain traction, rover rollovers & dead-reckoning navigation
- The terrain is no longer a billiard table for the rover. Grade steals traction and amp-hours — you crawl up a steep pitch and the pack drains hauling you home — computed from the same heightfield the world is built on, so the contours on the MAP page are the route you're actually driving.
- Added wind-drifted sand: soft, pale patches (a deterministic drift field, visible as lighter smoother ground) that bog the wheels — dig in at speed and you crawl until you ease off and rock free, bleeding battery the whole time.
- Added rollovers: take a steep side-slope fast and turn hard and the rover tips onto its side, spilling a chunk of cargo down the slope and stranding the vehicle until you climb out and winch it back onto its wheels (F at the rover). The seat view banks with the side-slope so you feel the danger coming.
- You no longer magically know where you are. The suit's wrist nav dead-reckons your position and drifts the longer you go without a survey-grade fix — a solid radio link to the base station or a deployed beacon. Out of range, in a whiteout, the HUD and map show a fuzzy estimate inside a growing uncertainty ring, and people get genuinely lost.
- Added deployable field beacons (pack at storage, plant/recover with B). Each planted beacon self-surveys and then works as BOTH a radio relay — extending the crew net around terrain like the rover does — AND a survey-grade nav fix that pins your dead reckoning. A solar-trickle battery keeps it alive for many sols; a long dust storm can starve it dark.
- The MAP page now shades predicted radio coverage across the area (green readable → amber marginal → red dead-zone), draws every beacon with its nav-fix ring, marks a rolled rover, and shows your estimated position with its uncertainty circle instead of a magic exact fix — so planning where to drop beacons before a long traverse is a real activity.
- New HUD meters (single-player and multiplayer): a wrist-nav confidence readout (green fix → amber drifting → red no-fix) and, on EVA, a comms route-home meter that names its relay hops (via rover / via beacon).
- Multiplayer: beacons, rover tilt, bog and rollover are all shared — plant a relay chain as a crew, and one driver's rollover spills the shared cargo bed for everyone. The authoritative server computes the same traction physics from the same terrain.
v0.13.1
2026-07-10 · Scrollable tablet, cleaner join, better greenhouse & exterior models
- The status tablet's AEOLIS BASE readout is now actually scrollable by touch on a phone. The HUD layer is pointer-transparent, so a finger-drag on the raised tablet was falling through to the camera instead of scrolling — it read as an unscrollable wall of text. The panel now claims vertical drags, so you scroll through vitals, telemetry, tasks and the crew roster and lower it when you're done.
- Dropped the on-join chat line ("You are …, you have the base to yourself — for now") that lingered in the middle of the screen; who you are and who's aboard already live on the tablet's crew roster. Spectators still get their one-line orientation.
- Fixed z-fighting on two exterior units: the MOXIE control screen and status lamp were coplanar with the console face and flickered, and the battery cabinet's charge lamp, level pips and vent sat inside the door — all now sit cleanly proud of their surfaces.
- Rebuilt the greenhouse irrigation pump from a plain grey box into a real pump skid: a finned electric motor, a volute casing, suction and discharge piping up to the drip manifolds, a small pressure/expansion tank, a gauge and the status lamp facing the aisle.
- Rebuilt the compost unit into a proper tumbler: a banded drum on an axle between two end stands, a hand crank, a top-loading hatch with a hinge and latch, and a bottom output valve feeding a collection jug.
v0.13.0
2026-07-10 · Reconnect-in-place, two-sided airlock & the mobile comms cluster
- Reconnects resume in place: the server now remembers where every crew body stands (persisted with the sim, surviving server restarts), so a dropped link mid-airlock-cycle no longer teleports you back into the cabin behind a locked inner door — you rejoin exactly where you left off, with the airlock state intact.
- The airlock is commandable from every side: repeater panels beside the inner and outer doors let you cycle the lock from the cabin or from the surface — repressurise it before entering, or rescue a crewmate mid-cycle, instead of being locked out by a panel you can't reach.
- LINK LOST now offers a one-tap Rejoin button that reconnects to the same mission with the same call sign (the lobby route is still there beside it).
- Crew bodies bind to verified accounts: the first signed-in account to claim a call sign owns that body, returns to it on rejoin whatever name they type, and nobody else can take it over by typing the same name. Invited-crew missions were already account-locked end to end.
- The multiplayer crew list moved onto the status tablet (hold Tab / tap ▤) as the top section of the AEOLIS BASE panel — no more always-on roster floating over the view (on phones it sat mid-screen).
- The touch rail's three comms buttons became one comms cluster: a single channel button with a ▾ selector that switches it between crew text chat, hold-to-talk voice, and messages from Earth.
- Raised pages (help, inbox, personal kit, the base computer) now render above every HUD widget — the crew list, chat lines and log text no longer bleed through them — and the death/link-lost screen outranks everything.
- On phones the EVA COMMS meter and voice lamp ride just above the interaction prompt (they were overlapping it), and chat sits clear of the prompt block in portrait.
v0.12.0
2026-07-10 · Voice radio — push-to-talk over the crew net
- Added voice: hold V (or the 🎙 touch button) to key your transmitter and talk to the crew. Audio travels peer-to-peer (WebRTC, signalled over the game connection); the first press asks for your microphone, and nothing is ever transmitted while unkeyed.
- Your voice obeys the same UHF propagation model as text chat: each receiver runs every incoming stream through a live radio simulation — voice-band filtering, FM-limiter saturation, a squelch-gated static bed, and picket-fence dropouts — driven by the actual link margin between your radios. A crewmate walking behind a ridge audibly sinks into the noise; at the edge of range their voice flutters in and out; past it you hear only their carrier hiss — or nothing.
- Distinct channels by circumstance: two unhelmeted people in the same pressurised room simply talk (clean, full-band, louder up close); helmets and bulkheads put you on the radio; the rover repeater and base station relay voice exactly as they relay text, and a storm's saltation static shrinks voice range along with everything else.
- Text outlives voice by design: a data packet's error correction survives link margins speech can't, so when a voice goes to static you drop to the chat line — and its per-station delivery report — like a real crew falling back to data comms.
- The HUD shows a pulsing ● TX lamp while you're keyed and names everyone on the air, coloured by how well you're receiving them. Dead crew keep a clean spectator channel outside the simulation.
- No relay server: audio is end-to-end between players (STUN only). A pair behind hostile NATs simply keeps text chat.
- The static-site start screen now links straight to the hosted multiplayer server instead of describing how to self-host.
v0.11.0
2026-07-10 · The crew radio net — physics-based multiplayer comms
- Crew chat is now radio, not telepathy. Every message travels the surface UHF net — helmet sets in the suits, a 5 W repeater on the rover's roll cage, and the 10 W base station on the hab mast — and each crewmate hears only what their own link budget lets through.
- Modelled the propagation honestly: two-ray ground-reflection path loss (antenna height IS range — two suit radios that could cross 100 km of open space struggle past ~2.5 km across a plain, while the hab mast works the whole map), knife-edge diffraction over the real terrain heightfield, and the planet-curvature horizon bulge. Duck into a crater or behind a ridgeline and you are in radio shadow.
- Dust storms attack the link the way the physics says they should: suspended dust is nearly transparent at UHF, so a storm doesn't attenuate your signal — saltation-driven electrostatic discharge raises the noise floor and buries it. Solar particle events add solar radio noise on top. A global storm shrinks everyone's comm range dramatically.
- The rover is a relay: messages route automatically through the best path (direct, via the rover repeater, via the base station, or chained through both), so parking the rover on high ground between the base and a far worksite genuinely bridges the link. Stand within a few metres of the rover and you talk through its big antenna instead of your helmet set. A flat rover battery takes the repeater off the air; an unpowered comms bus silences the base station (indoors keeps its hardwired intercom).
- Messages degrade instead of teleporting: a weak link drops characters, a broken one arrives as fragments through hash with burst dropouts, a trace of carrier just breaks squelch as unreadable static, and beyond that — nothing. Corruption is deterministic per message, and the base event log records what the base station actually heard, not what was said.
- The sender's set reports per-station delivery (it's a digital text link): your own chat line shows exactly who got no copy, so you know your EVA partner never heard the warning.
- New HUD instruments: a per-message signal-strength meter and "via rover" relay tag on every chat line, plus a live COMMS readout on EVA showing your route back to the base station — including when it's your suit battery, the base station's power, or plain terrain that has cut you off.
- Procedural radio audio: squelch clicks and static bursts scaled to link quality, synthesised like the rest of the soundscape — a clean copy is a click, a broken one arrives mostly as hash.
- Dead crew (spectators) speak from outside the simulation: their channel ignores the radio net and is marked as such.
v0.10.0
2026-07-10 · Crew shadows & exterior model fidelity
- Gave every crew member a real shadow. The first-person player now carries an invisible shadow-body that follows you — you never see the mesh, only your own shadow raking across the regolith as you walk, and a soft contact patch grounding you underfoot. Multiplayer crewmates cast shadows too, matching their suited or unsuited pose.
- Tuned the shadows to the light: the sun is the only hard-shadow source, so outdoors the crew throws long directional shadows, while indoors the hull already shades the interior and only the soft contact patch remains — a subtle "you are standing here" rather than a hard cast shadow.
- Fixed the suit-brush station: the three hand brushes hung straight out into the airlock and read as black boxes floating in mid-air. They now hang properly on their pegs — handle up, bristle head down, hugging the mounting board — with visible hanger loops.
- Rebuilt the MOXIE ISRU unit from a plain gold box into a proper machine: gold-foil insulation battens, a lagged compressor drum, a filtered CO2 intake snorkel, heat-rejection fins, an O2 outlet to a small buffer bottle, and a control face with a status lamp.
- Rebuilt the ice melter into an insulated, heated melt tank: a receiving hopper up top, heating-jacket bands, a domed cap, a steam vent, a valved water outlet toward the hab, and a control box — instead of a box with a cone on it.
- Rebuilt the exterior stores: the spare gas bottles now stand in a cradle rack with a restraint strap, domed shoulders, neck rings, valve handwheels and gas-ID bands, and the crates became ruggedised transit cases with proud lids, corner bumpers, draw latches and stencilled labels.
- Rebuilt the rover with far more fidelity: tread-lugged wheels on hub caps and visible rocker arms, a tubular roll cage over a two-seat cab with a dash, screen and T-bar controls, fenders, head- and tail-light housings, a slung battery box, a comms whip and dish, and a railed cargo bed that fills with hauled ice.
v0.9.0
2026-07-10 · Movement, climbing & full-body physics
- Rebuilt locomotion around four gaits: careful walk (Alt), walk, sprint (Shift) and a flash run (double-tap Shift and hold) — an all-out anaerobic burst capped at what 0.38 g of traction can actually deliver (~6 m/s). The pressure suit caps sprinting to a stiff ~3 m/s lope and rules the flash run out entirely.
- Added a stamina reserve to the crew vitals: sprinting, flash-running, jumping and climbing spend it; easing off refills it — slower when dehydrated, starved, exhausted, hypoxic or sick. Run it dry and you're left gasping at a walk until it recovers; time warps and sleep hand the legs back.
- Movement now feeds the biology: locomotor exertion drives hydration and calorie burn, fatigue, heart rate, suit O2 and CO2-cartridge consumption and the suit's cooling load — a dead run across the surface visibly breathes down the bottle. In multiplayer, exertion rides the position reports so the authoritative server sim charges the right body.
- Injuries show in the stride: a sprain slows you and rules out the flash run; a fracture ends running, jumping and climbing entirely; deconditioning, carried mass, thirst and exhaustion all drag on pace.
- Made every physical object a height-aware bounding box: interior furniture (galley, bunk, consoles, crates, water tank, gym, med station, lockers), greenhouse beds and machines, and exterior hardware (MOXIE, battery cabinet, solar rows, radiators, dish mast, ice melter, external stores, the drill rig, landed resupply pods) all collide with the crew. The rover is a moving collider that stands down while you're the one driving it, and the regolith berm walls you out once banked above stage 1, with clear channels at the airlock and tunnel.
- Added climbing: ankle-high clutter is stepped over automatically, and waist-to-chest obstacles can be mantled with Space — reach scales with conditioning and fatigue, drops in the stiff suit, and every box top (crates, counters, the rover deck) is a real surface you can stand on. Delicate hardware refuses the assisted climb.
- Smoothed the feel of walking: human spool-up and braking instead of uniform acceleration, near-zero air control (Mars jumps commit), stride-synced pace variation, speed-driven head bob with lateral sway and a breathing sway while you recover.
- Jumping costs stamina and scales with conditioning (a lazy ~1 m Mars hop); hard landings still sprain or fracture. The BIOMED page reports stamina and current exertion alongside the heart-rate feed.
v0.8.0
2026-07-10 · Galley menu & nutrition
- Replaced the undifferentiated food-pack counter with a typed galley pantry: six meal-pack menus — fortified breakfast, meat entrée, vegetable entrée, snack, dessert and contingency bar — each with its own calories, protein, fat, carbohydrates, fibre, micronutrient density, rehydration water cost and morale value. Roughly three packs make a sol of food.
- Added a galley menu selector: R at the galley (or
ration <type>in the terminal) cycles the standing selection; E eats it. Auto serves fresh produce first — it spoils, the packs don't — and a sold-out selection falls back down the board. In multiplayer the selection is shared base state and syncs to the crew. - Added protein and micronutrient physiology alongside calories: a protein deficit wastes muscle faster in 0.38 g, halves exercise gains and slows healing; micronutrient deficiency now keys off what you actually eat rather than a fresh-food timer, taxing morale and recovery. Both meters chart on the BIOMED page and persist through saves.
- Added menu fatigue: repeating the same meal erodes its morale lift — the third beef stew in two days lifts nobody's spirits, and an all-dessert diet fails in a way a spreadsheet-average diet doesn't.
- Upgraded the base computer shell: Tab completion for commands and their arguments, a
rationspantry board with full per-menu nutrition and person-sol runway,ration <type>to set the galley from the terminal, and adietreadout with nutrition meters, the recent menu and MCC flight-surgeon advice. - Gave the BIOMED page a nutrition panel (energy/protein/micronutrient meters, recent menu) and a 30-sol protein/micronutrient trend chart; the status tablet, inventory manifest,
statusandplannow report meals and person-sol food runway instead of a bare pack count. - Gave crop harvests crop-specific micronutrient density — lettuce is the vitamin crop, grain staples barely register — and made vitamins in stored produce degrade faster than its calories as it wilts.
- Resupply pods now deliver a typed ration mix; legacy saves and old pod manifests migrate automatically at three meals per old day-pack.
v0.7.0
2026-07-10 · Mobile & touch support
- Added a full touch control surface for phones and tablets: a left-thumb virtual joystick (push it to the rim to run), drag-anywhere free-look, a right-thumb action cluster (E / F / R / jump) whose buttons dim when they'd do nothing here, and a right-edge utility rail — status tablet, personal kit, comms inbox, flashlight, crew chat (multiplayer) and help.
- Made joystick input analog: walking speed follows stick deflection, and the same stick throttles and steers the rover at the wheel.
- Made the whole interface phone-sized: a compressed wrapping top bar, narrower side panels, safe-area (notch) insets, near-fullscreen modals with an explicit ✕ close button, a fullscreen base computer with a horizontally scrolling tab strip, and a scrollable, stacking start screen with touch-specific control hints.
- Turned the status tablet into a tap-to-toggle reading mode on touch: the movement and action controls stand down while it's up (the rail stays to lower it), the panels scroll, and the event log moves into the freed corner.
- Made sleep wake on a tap, hid the pointer-lock "click to resume" hint on touch devices, and kept every keyboard path unchanged for desktop play.
- Tracked the joystick and free-look through the Touch Events API with per-finger identifiers, so a second thumb on the look side never steals the stick.
v0.6.2
2026-07-10 · Airlock and power-cabling cleanup
- Extended the airlock scavenge-pump ducts to actually reach the chamber ceiling, capped with coupling flanges, instead of stopping short in mid-air.
- Removed the floating gauge dial, valve wheel and status lamp that perched above the airlock control panel — they read as clutter hovering over the console.
- Reworked the exterior power cabling to connect its real endpoints: the array feed run now lands on the battery cabinet (routed in from the hab hull through the EVA splice point), and the cabinet's array-side conduit now runs to the solar-farm combiner box instead of floating off to nowhere.
v0.6.1
2026-07-10 · Interior model fixes, kit-anywhere, and droppable items
- Made the personal kit inspectable anywhere with I — check what you're carrying mid-job without trekking to the crates. Pack/stow against base storage still happens at the storage crates (and the tool pickup spots).
- Added item dropping: any carried item — tools included — can be dropped where you stand from the kit panel. It stays put in the world, marked by a small beacon case with a blinking amber lamp, until you (or a crewmate, in multiplayer) pick it back up with E. Dropped piles persist through saves and sync across the crew.
- Dropping the leak detector or flashlight surrenders their HUD function until re-collected, and the crate props no longer respawn a twin once a tool has been taken.
- Made indoor repair/replacement jobs accept a part carried in your personal kit as well as one in base storage (storage stock is consumed first); prompts now show the combined on-hand count. Outdoor work still strictly uses what you carried out.
- Fixed z-fighting on the galley sink and the hygiene basin (coplanar top faces), on the life-support rack module faces, and on the exercise rig's grip bar; added a shadow normal-bias to kill the diagonal shadow-acne striping on interior furniture.
- Turned both faucet spouts to reach over their basins — the galley spout ran along the counter, the hygiene spout stopped short of the bowl.
- Resized and repositioned the hygiene stall's privacy panel so it screens the basin without cutting into the galley counter.
- Extended the life-support rack's coolant pipes and duct trunk to the curved hab wall — each run's length is computed from the hull cylinder's chord at its offset, ending in collar flanges at the wall instead of mid-air.
- Moved the radiation-shelter water-bladder stack clear of the bunk (it clipped through the mattress and pillow) and removed the headboard shelf clutter.
- Raised the suit locker to 2.45 m with a proper lid — the stowed suit's helmet no longer pokes out of the open top.
v0.6.0
2026-07-09 · Reference-mission realism pass
- Added an eccentric Kepler orbit and distance-driven seasonal solar flux.
- Added critical ECLSS cold spares and a pumped dual-radiator heat-rejection loop while keeping the mission solar-only.
- Fixed airlock occupants breathing the habitat atmosphere.
- Separated permanent radiation dose from treatable biological injury.
- Rebuilt greenhouse lighting around PPFD, photoperiod and real LED demand; harvests now retain calories and macros.
- Replaced rapid resupply with finite pre-landed caches and expanded traverses to kilometre scale.
- Made multiplayer rover energy server-authoritative and removed deprecated URL parsing.
- Upgraded Vite to 8.1.4; the dependency audit is clean.
v0.5.0
2026-07-09 · Multiplayer & the uniform hands-on pass
- Added online co-op multiplayer: up to four players share one base as real crew members — each a separate body with their own suit, vitals, location, personal kit and role, all breathing the same shared atmosphere and drawing on the same water, food and power.
- Added a game server (game + lobby API + WebSocket on one port) with an active-game list, optional password on creation, and pause-on-empty persistence: log off mid-crisis and the base is exactly that cold when you come back. Rejoin with the same crew name to reclaim your body.
- Added a procedural astronaut player model — EVA suit (helmet, gold visor, PLSS) when sealed, jumpsuit indoors — with walk animation, per-crew accent colours and name tags.
- Added an in-game crew roster and chat (Enter).
- Made the co-op dynamics real: metabolic load scales with unsuited crew per module, two people on one job stack their labour, airlock/doors/hatch are shared state, any player sets the shared time scale (attributed), the night only fast-forwards when every living crew member is in a bunk, and death is personal — the mission ends only when the whole crew is gone.
- Extended hands-on step procedures uniformly to every task of ~0.4 h or more — the EVA field family (dish realignment, panel brushing, pod retrieval, berm stages, sample collection), the greenhouse family (harvest, planting, hand-watering, tending, glazing, composter) and the ops family (calibration, repressurisation, status report, deep-clean/mold scrub). Sub-0.4 h quickies stay single-action by design.
- Added the tool roll (2.6 kg): hard machine work now needs it carried in your personal kit, competing with consumables for the 12 kg budget.
- Fixed the airlock door-seal replacement task being impossible to perform — it's now worked at the airlock panel with F.
- Single-player is unchanged and still runs fully client-side; a static deploy simply hides the multiplayer lobby.
v0.4.0
2026-07-09 · Hands-on repair procedures
- Turned repairs and hardware swaps into step-by-step procedures you perform by hand instead of a single hold-to-work bar: isolate & power down, open the access panel, extract the failed assembly, fit the new part, close up and function-test — each a distinct beat you drive with E.
- Gave bespoke procedures to the feed-cable splice, airlock door seals, scrubber filter bed, TCCS charcoal bed, and hull patch.
- Made the spare part get consumed at the moment you actually fit it, not magically at the end of the job.
- Made a repair power the machine down while you work it and bring it back exactly as it was when you close up; routine preventive maintenance leaves a healthy load running.
- Added a live step checklist under the work prompt (✓ done · ▸ current · · upcoming) and a step counter on the work bar.
- Added small mishap chances on the rough steps — a slipped tool or a grit-caked bolt can nick you (worse in gloves on EVA).
- Left the soft, repetitive jobs (harvest, plant, hand-water, fertilise, cleaning, calibration, status report, berm, pod haul, composting) as a single continuous bar by design.
v0.3.1
2026-07-09 · Zone-gated interactions
- Fixed being able to operate interior controls and work tasks from outside the hull when standing against the wall — a hotspot is now only reachable from the pressurised zone it physically sits in.
- Kept the bridging controls (airlock doors, greenhouse hatch) usable from both sides, and the hull breach workable from inside or out.
- Made the crew-location and hotspot-reachability checks share one set of zone bounds so they can never disagree.
v0.3.0
2026-07-09 · Bodily screen effects and suit readouts
- Added cold-vision screen frost that creeps in from the edges as your core body temperature falls.
- Added hypoxia tunnel vision: the view darkens and closes in as your blood-oxygen drops.
- Added a decompression-sickness "swim": a violet pulse and a woozy warble over the view while the bends have you.
- Added radiation-storm phosphene flashes on the surface during a solar particle event.
- Added a red heartbeat vignette once health is critical.
- Made the EVA suit visor overlay clearer so it's obvious you're suited up.
- Showed your internal (core body) temperature on the suit readout, with cold/hot flags.
- Warned on the suit battery below 10% (and whenever suited, not only outside), including a heads-up alert.
- All motion-based effects respect the reduced-motion accessibility setting.
v0.2.1
2026-07-09 · Inventory access and usability
- Released pointer lock and froze movement while inventory/help/comms modals are open.
- Restricted personal-kit management to storage/tool hotspots instead of global access.
- Added EVA and repair packing presets plus stow-all controls.
- Made carried kit mass slightly reduce movement and work speed.
- Moved start-screen version/docs links down with more title padding.
v0.2.0
2026-07-09 · Inventory, greenhouse timing, and documentation
- Added a mass-limited personal kit separate from base storage.
- Made exterior repairs and EVA emergency suit patching consume carried kit items.
- Adjusted greenhouse crop maturity to controlled-environment times.
- Made greenhouse heater status visible and improved sealed-greenhouse heater response.
- Adjusted night fog color so dark hours read as near-black dusty haze instead of retained daylight rust.
- Added start-screen version display, changelog, and a full-screen game guide route.
- Documented the versioning and changelog rule for future changes.
v0.1.0
2026-07-06 · Initial Mars survival simulation
- First playable build of Aeolis Base.
- Includes power, life support, greenhouse, EVA suit, comms, rover, resupply, weather, and save systems.