Devlog

What’s changed, and why.

10 dated entries, newest 2 September 2026 · the same record the itch.io devlog is written from

Every figure on this page is counted out of the build you can play, not out of the source, and a number written into a post on the day it went out is left exactly as it went out. A post that has already been published elsewhere is a record, not a claim about today.

A survivor defends a walled camp during a red Blood Moon as infected crowd the trees.
Build by day. Hold the night. A new account of what changed every week.

· on itch.io

Twenty changes, and the one that made the first ten minutes make sense

The page went up four days ago. Since then the game has taken 75 commits and closed 20 changes that you would actually notice, so this is the first proper update.

You now start with nothing.

This is the change everything else hangs off. Runs used to open with a stocked pack, which quietly meant the first thing the game taught you was how to open the inventory. Now you start empty, and the ground around the spawn is guaranteed to hold enough sticks, loose stone and fibre to make a stone axe and a stone pickaxe before you need either. The tutorial walks that path rather than describing it.

It is a small change to make and a strange amount of difference to play. The first ten minutes are now a sequence of things you did, and the axe is something you made rather than something you were issued.

Death leaves a grave.

Dying used to delete what you were carrying. Now everything you had — carried and equipped, with tool durability intact — goes into a gravestone where you fell, and the gravestone stays there. You respawn with a stone axe and a stone pickaxe so you are not starting from bare hands, and then you decide whether the walk back is worth it.

The point is that a death is now a problem with a location, instead of a number going down.

You can jump.

Space, or the left stick on a controller. Standing still it is a hop; moving, the same press is still the dodge roll it always was. Touch gets its own JUMP button. First and third person both follow the hop properly.

First person has hands.

If you play in first person — which is the default — you can now see your own arms, hands, and whatever you are holding. The full character still renders in the over-the-shoulder and tactical views.

Storage is furniture, not scenery.

Chests in buildings are opened with [E] rather than broken open. Chests you craft are portable — break one down and carry it. Lockers, gun safes and wall-mounted medical cabinets are craftable. And all of it is now scaled to a person: the old chests were roughly the size of a car.

Buildings have insides.

Camps, farms, towns, hospitals and military buildings now generate with actual rooms — bed frames, toilets, sinks — where there is space for them. They were empty shells before.

And a long list of things that were simply wrong:

  • cars spawning inside buildings, and trees and rocks growing through roads
  • crops rendering inside buildings, and a stray square on top of crops in first person
  • walking through solid objects, and getting stuck in them when something hit you
  • the crafting pane not scrolling
  • the minimap being hard to read at a glance
  • sprint not working while dash was held
  • road and pavement intersections meeting at hard corners
  • chopping and mining sharing one sound instead of having their own
  • vehicles being far too common
  • a starting area that could open you straight into trouble

One that you would only ever have hit at the worst moment: if your graphics driver reset mid-session — a laptop waking from sleep, a driver updating under you — the game would put a "GRAPHICS RESTORED" message on screen and then never draw another frame. It recovered the renderer and forgot to restart the loop that draws it, so the reassuring message was itself painted by the thing that had stopped. Fixed, and the fix handles both orders the browser can deliver the events in.


Still one file, still no engine, no framework and nothing to install. It is 1,324 KB and 36 modules of hand-written WebGL, and it runs from a single HTML file in a browser tab.

Play it in your browser · report anything broken with F8 in game.

Changelog

Newest first. A dated entry here is what a devlog post is written from.

Changed

  • The phone HUD gives the corners back. The objective moves to the top of the screen, the clock is half the size it was, and the minimap sits on the left where the buttons are not. Camera control gains a second thumb, and a gamepad gets the same stick in third person.
  • The tutorial card is transparent on a phone, so the first ten minutes no longer sit on top of the world they are teaching you to look at.
  • Off a Blood Moon, a chase now ends when the trail does. An infected that can neither see nor hear you gives up, rather than running a nine-second timer that could carry it a third of the way across the island. On a Blood Moon they still come straight for you.
  • Windows read as glass instead of holes, and a cliff stops reading as a grid of aligned cubes: rock height, angle and a strata band vary per tile now, so a highland edge has a silhouette rather than one flat face.

Fixed

  • The tutorial was teaching a control that had been replaced, and the input audit was exempting camera rotation on a touch route that no longer existed.
  • Finishing the tutorial now tells the endpoint it happened. The only report of a completion fired when an already-finished save was RELOADED — a branch a first-time player never takes — so the opening's completion rate had read zero for as long as it had been measured. The figure that follows this build is the first real one.

Added

  • The Long Watch now turns secured regions into persistent relay shelters that rescued survivors can staff. A staffed clinic offers one treatment per day; after the stay ending, a staffed shelter in each map quadrant unlocks a final two-minute survivor-census broadcast at a repaired mast. Extraction remains the other, unchanged ending.

Changed

  • Repaired Hollow Masts now switch from their old red warning pulse to a blue-white night signal. Building footprints, heights and density scale with the expanded world; wounded infected limp, completed shades collapse into dim remnants, and the sky, fireflies, wetness and lying snow have a more coherent procedural-art pass.
  • Settings, Inventory, Survivor, Record, Crafting, Skills, death cards and win cards now adapt down to 667 by 375 landscape. Touch lists distinguish swipes from taps, all eight hotbar slots share one input boundary, and fullscreen can hide the browser bar when the browser accepts the player gesture.

Fixed

  • The What's New panel now shows each unchanged update once. The landscape tutorial and smaller minimap no longer overlap; Escape saves changed Settings; swimming gates update in the deep-water movement tick; armour stays worn when the pack is full; and fishing resolves at the visible surface.

Changed

  • Ordinary nights no longer start a player-seeking horde. Ambient infected still react to sight, sound, screamers, nests and roaming events, but deliberate swarms now belong only to Blood Moons.
  • Feral Hound base speed fell from 132 to 90 units per second. On an ordinary night even the highest tier can be outrun on flat ground; the Blood Moon speed bonus can still turn one into a closing threat.
  • Antidote immunity now blocks new infection from both infected wounds and acid gas for its full 120-second timer. Damage still lands, and infection already present still progresses.
  • The Repair Hammer now restores damaged structures instead of silently doing nothing, while dismantling remains a deliberate, separate build-mode action. Each Engineer rank now cuts both structure and vehicle repair costs by 15%; repair bills keep every recipe component so a repair followed by a dismantle cannot create materials.
  • Wetness and lying snow now stay coherent across fading roofs and occluders, rain and snow share the same two-dimensional wind as foliage, and snow remains the visible top layer over wet ground.
  • The Steel Axe now fulfils its three-swing pine promise without requiring a hidden Lumberjack rank.
  • Non-uniformly scaled procedural models now use inverse-transpose lighting normals, keeping curved and sloped surfaces correctly lit instead of skewing highlights toward their longest axis.
  • Inventory and Survivor panels now adapt down to 667 by 375 landscape touch screens, keeping all 38 controls at least 44 pixels, every carry, equipment and survivor label visible, and the paperdoll inside its portrait without changing desktop layout. Armour can now be dragged onto Head or Body to equip it on touch as well as with desktop secondary-click.
  • Death cards now split their lesson, actions and complete run ledger across short landscape screens, so every cause remains readable and Respawn, Save Card and Main Menu stay reachable.
  • Win cards now compress their complete run ledger on short landscape screens, keeping every score row readable above Keep Playing and Main Menu without changing the desktop result card.
  • Unequipping stack-1 armour into a full pack now refuses the transfer and keeps the item worn, including when an identical non-stackable item is already packed, so gear cannot disappear.
  • Touch lists now distinguish a tap from a swipe: Crafting, Skills and the Record drag-scroll naturally without accidental selections or perk spending, while item drags and held actions stay immediate.
  • Fishing casts now resolve against the visible water surface instead of drifting onto the lake bed, and unattended playtests can craft a rod, route to a bank, wait through a bite and report separately whether they found a spot, cast, hooked and landed a catch.
  • Runner, Spitter, Screamer, Stalker and Brute infected now carry distinct procedural silhouettes, making their threat readable by proportion rather than colour alone without adding geometry.
  • The touch hotbar now uses one measured rectangle for drawing and input exclusion, keeping every pixel of all eight slots outside the movement stick from 667 by 375 through 812 by 375 landscape; its load readout also stays on-screen when the bar reaches the narrow layout's left edge.
  • Short touch-landscape Record panels now keep relic guidance, completed-set rewards and Story context inside the scrollable reading pane. Inventory also shows touch instructions at 812 by 375 instead of drawing desktop right-click and Q guidance across the Survivor panel.
  • Repaired Hollow Masts now switch from their old red warning pulse to a blue-white active signal and cast a bounded dusk/night light across the upper lattice, making the campaign repair visible in the world without adding geometry.
  • Betty's impact now snaps to its waterline shot, touch players see a high-contrast TAP skip hint, her bespoke death beat obeys the Death camera setting, and bites refused by god mode no longer record deaths. Ordinary infected now visibly falter below 30% health with a wounded palette and hunch, while completed run shades collapse into a dim procedural remnant. Crossing into deep water now updates swimming gates in the same movement tick, Escape from Settings saves changed preferences, and short-landscape death actions now meet a 44-pixel touch target.
  • Sky fill, cloud depth, point stars and smaller firefly glows sharpen the atmosphere. Rain and lying snow now carry from terrain onto upward-facing structures, vehicles, foliage and props.
  • The What's New panel now shows the latest development notes with the public build that carries them, then keeps unchanged notes read instead of repeating them on later builds.

Changed

  • The island now spans 448 by 448 tiles, twice as far across and four times the explorable area. Terrain, navigation, fog-of-war and the map all use the expanded bounds.
  • Saves from the smaller generator remain on disk but cannot be opened by this build. Loading their seed-and-delta world state against different terrain would corrupt the run, so a new island is required.

Added

  • The Hollow Mast now stands in the generated world.
  • Swimming opens the water that used to be scenery. Fishing adds a third renewable food source, and Betty makes the sea a route with a risk rather than a universal escape.
  • The map starts blank and is uncovered by walking. The island remembers placed structures, and a best previous run on the same seed can return as a ghost.
  • A daily island gives everyone who chooses it the same seed. The radio forecasts upcoming weather, and the end of a run produces a shareable card rendered inside the game.
  • Towns, farms, camps, petrol stations, clinics and checkpoints gained distinct layouts and usable interiors. The Tow Truck joined the vehicle roster.

Changed

  • The main story now paces toward roughly thirteen in-game days rather than stretching past the point where a run had anything new to say.
  • Blood Moons build into their colour over time. Deaths and major acts get a short visual beat instead of passing without acknowledgement.

Fixed

  • In-game reports no longer claim success after the browser has blocked the request they need to send.

Added

  • A Tow Truck, tenth vehicle on the roster. Cab and headboard up front, an open flatbed with a lattice boom, hook and chain behind, gated at three secured sectors. Owner request via Gaffer.

Fixed

  • A restored WebGL context cleared the halt flag but never restarted the frame chain, so a GPU reset froze the game under a "GRAPHICS RESTORED" toast painted by the stopped loop (B071, P1).
  • Story._nest0 survived reset(), so a second run in one browser session measured its census against the previous world's nest count and reported progress that had not happened (B072).

Site

  • Regenerated the social card; it still quoted the previous file size, and file size is the claim the whole page rests on.

Known, filed, not yet decided

  • On hollowmast.com Cloudflare appends a bot-detection script to the served page. The file itself is unchanged and the itch download is untouched, but made.html currently tells an engineering audience there is no third-party code, and a reader with devtools open will see one. Three ways out are written up in B073; the choice is the owner's.

Player-facing, from dash/requests.jsonl: R027 crops rendering inside buildings · R028 first-person hands · R029 trees and rocks on roads · R030 death gravestone · R031 cars inside buildings · R032 minimap clarity · R033 walking through solids · R034 tutorial controls for gamepad and touch · R035 safer starting area · R037 crop square in first person · R038 sprint while dash held · R039 jump · R040 vehicle rarity · R041 empty start with gatherable basics · R042 getting stuck when attacked · R043 material-specific gathering sounds · R044 rounded road intersections · R045 crafting pane scroll · R046 openable, portable, correctly-sized storage · R047 furnished interiors.

https://riglerkarve.itch.io/hollowmast

Added

  • Touch controls and phone layout, controller screenshot input, F8 bug reporting, a title-screen Settings route, and anonymous opt-in reports to the project's own endpoint.
  • A public landing page, store art, playtest capture, a trailer filmed inside the game, and a one-command itch upload path.

Changed

  • First person became the default view. Weather gained lasting wet ground and footprints, and the dusk transition stopped arriving as a hard lighting cut.

Fixed

  • The build process now refuses an output with missing, empty, short or unparsable source sections. The trigger was a file carrying a valid build stamp while two modules were absent.

  • First recorded served build: 804,842 bytes and 32 source modules counted out of the HTML artefact itself.
  • Already playable: one generated island, first-person and pulled-back cameras, day and night, weather and seasons, base building, ten infected types, radio towers and an evacuation ending.
  • Already one self-contained HTML file with a hand-written WebGL renderer and procedural meshes, sound effects and music.