Repository navigation
v0.6.0
New this release
-
The controls page is one table grouped by what you do, each action once, with its mouse or keys and its controller button drawn side by side in lined-up columns (src/selftest/settings.js).
-
The pointing hands at the yard portal fade away once you have gone down through it and back up, and the portal stays clickable (test/portal-hand.test.mjs).
-
The drawn yard speaks one visual language: one grey and one purple ramp, a plus for the spark everywhere, pixel numbers on every count, no shaking, and everything on the cell grid.
-
A consistent look across the menus: one type scale, one button height, the pause sheet one width on every page, pages centered on the title page as on the pause sheet, the gamepad's purple corner brackets for keyboard focus, one look for chosen, pressed and disabled, section signs on every board, coins that stay readable in dark mode, and no shelf tile's words cut short or under its pips.
-
Nine more index entries have a drawing: muck, poop, pollution, birds, the pit, your sqwife, the bench, the books and achievements.
-
Menu shadows are see-through, the lines under notices and achievements are darker and larger, and achievement names are bold.
-
The farm shed wears a barn roof, so it no longer looks like the quarry shed or the bench; the farm's flag flies from the ridge.
-
The deep's stations stand spread evenly under the whole serpent, the first four already spanning it, instead of bunched to one side.
-
A language page off settings, on the pause sheet and the title page, lists each language in its own name with the one in use marked, and the title page's foot names the language in use (src/selftest/language.js).
-
A feedback page on the pause sheet under settings, off settings on the title page, and under copy save when the game stops, sends your words and, if you tick it, your save (test/feedback.test.mjs).
-
On a gamepad, X hands back a queued copy (it was Y, which now does nothing) (src/selftest/pad.js, "X on a card with a copy waiting").
-
On a gamepad, every d-pad press goes to the nearest thing in that direction, in the yard, the deep, the boards and the sheets alike (test/pad-reach.test.mjs).
-
The focus brackets breathe a cell out and back while they sit still, from rest on each arrival, and the gamepad's fade in and out instead of popping.
-
New words on the rescue sheet, the demo's store link and an empty achievements page.
-
The board of rescue times is gone: no name box or post on the rescue sheet, no times page, no name on the board in settings.
-
A controller plays the whole game: the d-pad hops between the places a click lands on, A does what the click does, and the Steam Deck's back buttons and trackpads come mapped (test/pad.test.mjs).
-
On Steam, every in-game achievement is a Steam achievement, and the ones already won are given at launch (test/desk-steam-achievements.test.mjs).
-
A Steam build of the full game and of the demo: saves sync through Steam Cloud, and the full game offers to carry on a demo save on its first launch (test/desk-steam.test.mjs).
-
On a phone the yard is drawn smaller, 130 cells across at once, so every shield's whole answer fits upright and no scene zooms (test/phone-view.test.mjs).
-
Every cutscene holds the yard still and letterboxed: black bands step in, everything but the scene's subjects fades back, the haulers fade out and the attackers freeze until it lets go (test/cutscene-hold.test.mjs).
-
Once the pit has drowned, now and then something shows at the abyss's surface and goes back under: a coil's back, a fin of purple spikes, or an eye watching the lip (test/glimpse.test.mjs).
-
The pit is a third as long, so it fills and tears open about three times sooner; an old yard holding more than the new hole tears on load and keeps every grain (test/rift-migrate.test.mjs).
-
While the rift is torn, the deep's creatures now and then cross the sky behind it, alone or in a shoal, and rarely the serpent passes or looks through (test/riftlife.test.mjs).
-
Pods build in a few seconds each, never more than eight, instead of three quarters of a minute.
-
The stations in the deep have no counter under them; each fighter stays at the station it first swims to.
-
The ram is a tracked crawler that pushes a turning cutter wheel into the rock, throwing curling chips as it bores.
-
The dome no longer holds the rescue rock up: the rock sits squashed on its crown for a beat, then bursts into grit that skates down the dome and heaps outside it for the haulers to carry to the hole (test/shield.test.mjs).
-
The bench's build tiles show each coin of their price as a line that fills grey as you gather it, the same as the story card's bill (src/selftest/boards.js).
-
While the dome bursts the rescue rock, the rest of the crew walk out of the shot so only the two of them are in it, and walk back to work after (test/ending-stage.test.mjs).
-
No new rock comes down from the rescue until the whole ending, the drowning of the pit included, is over (test/ending-stage.test.mjs).
-
A station's counter is a row of seats between its - and +: a filled pip for each body at work, a pip filling in thirds while one walks over, the specialist slots in a row of their own above (a brim each, grey ones on the outlines of hats not yet worn, and the next body sent takes a spare hat first) and only the seats left over below for plain workers, with a rule between the rows (none when every seat is a hat seat), whatever rows show centered on the - and +, and a click on a bottom pip sets the plain workers (src/selftest/crew.js).
-
Every counter in the yard is a sprite over round pips, six a row and three rows with +N under: the hatted beside the plain hands under a body in the station's hat, carters under a carter, forklifts under a forklift, one - and + framing the post level with the first row (src/selftest/crew.js).
-
The forklifts' garage stands on the far side of the house, with its own pip a forklift under it (test/forklift.test.mjs, src/selftest/crew.js).
-
Every miner and every farmer can wear a blaster or grower hat, not just three (test/hats-gate-machines.test.mjs).
-
The drill and the tiller sit greyed on their boards saying "buy 5 blasters to unlock" or "buy 5 growers to unlock" until five are bought (test/hats-gate-machines.test.mjs, src/selftest/boards.js).
-
The air filter comes with its first balloon (test/filter-balloon.test.mjs).
-
The forklift's load and speed sell only their last four rungs, and the balloon row only its last two, so neither starts out pocket change (test/forklift.test.mjs, test/balloon.test.mjs).
-
On the story card each coin's line is its own bar, filling grey as the coins come in (src/selftest/boards.js).
-
The apothecary holds three pots, one to a brew; a yard that already has a fourth loses it (test/save-floor.test.mjs).
-
The tower's door no longer says "wizards live here", and the story no longer says "ask the wizards how to get down".
-
After the snatch the story says "talk to the wizards about what just happened" until you open their board (test/objectives.test.mjs, src/selftest/boards.js).
-
The tower's row summons a wizard instead of training one.
-
The dome sits first on the tower's board as its goal card, and every goal card's ribbon reads "saving your sqwife" (src/selftest/boards.js, "the tower's dome").
-
The saves page draws the slot you are playing inverted, black with white text, in place of greyed out.
-
The index: every thing you have met, with a few words on each, on the held sheet's
indexpage or theikey. -
Shop items no longer show their build time; the coins are the whole price.
-
The books show how long the yard has been played, and each save on the saves page shows its own playtime.
-
She calls from under a rock while it is being mined, every few seconds, in a few ways: a build of "!", one long "!", a quick burst, a "?" then "!", a sigh of dots (test/sqwife-calls.test.mjs).
-
Each save has its own delete, confirmed on its row, in place of the reset progress button.
-
A controls page on the settings sheet, in the game and on the landing page, lists the mouse, the keys and the 1 – 9 jump.
-
Nobody goes for the muck while a storm is still raining it down; the clear-up starts once the last drop has landed.
-
The first muck a storm leaves gets a short scene: a worker walks up to it, asks what it is, pulls a face and shovels it up.
-
The barrier card's sign is a swallowtail ribbon that wraps the frame's edge and flaps its free end like the yard's flags (it holds still with motion off) (src/selftest/boards.js, "goal card").
-
The next barrier is bought from the story's card -- its bill ticking off coin by coin, then a cancel while it is built -- and no card is pinned in the corner any more.
-
Cores are gone: each barrier that falls opens the next place instead -- the props the farm, the net the quarry, the arch the tower -- and the dome is paid without them.
-
After the props the story's card sells the farm, after the net the quarry and after the arch the tower, each before the next barrier, and skips a place that is already open; the place is the goal the moment the barrier falls, its bill showing and its buy dimmed until it can be bought.
-
A queued shop item's "refund" now reads "cancel".
-
Hold the right button to see the crew: the yard fades back, every worker is ringed, the cursor turns into an open hand, and the one under it slows down. Holding the left button as well picks a worker up, for as long as both are held; the right button alone no longer lifts anybody. Hovering no longer stops a worker.
-
After the first rock, the one still buried yells for help.
-
A tag at the top of the screen counts the muck on the ground, and another the poop, each going away once the last of it is swept.
-
An achievement for shaking a worker dizzy.
-
A card at the top left says the story's next step, from digging out the rock to saving the sqwife; it is as wide as its words up to a set width, with the barrier's picture in a column of its own and its bill and buy beside its coins.
-
The first step carries a checklist under it: mine the boulder, grab a pebble, toss it into the pit.
-
The pictures over a station of what it is building, what is in line and what it has finished drift gently, the way a lifted shop tile does.
-
The props can be built after the first rock.
-
Dust going into the pit is heard again once the pit has torn open, and the first click on the rock is heard too (test/sound-events.test.mjs, "a torn pit is heard taking the dust").
-
The decimal point in counts has room around it, so 86.1k no longer reads as 861k (test/serpent-numbers.test.mjs).
-
The index reads as short descriptions in one list with no headings, and the clouds, rain, lightning, objective, rescue, cutscene and sqhusband entries are gone (test/index.test.mjs).
-
On a narrow window the game opens looking at the rock again, so the bigger rocks to come are not cut off at the right edge (src/selftest/view.js, "the opening view is looking at the rock").
-
With the conveyor belt running, a left click anywhere no longer puts a free handful of pebbles in your hand (src/selftest/dust.js, "a click on open sky over the belt's yard catches nothing"; test/belt-head.test.mjs).
-
In every cutscene the black bars frame what the scene is about instead of covering it, and notices and the corner buttons wait off the bars until the scene is over (test/letterbox-framing-desk.test.mjs).
-
A notice is always drawn on top, over a tall house or any building, instead of being pushed sideways out of the window (src/selftest/touch.js, "a notice is drawn over a building that reaches into the sky").
-
A rockhand on the hill no longer walks off and sinks into the ground when the serpent falls (test/freed-rockhand.test.mjs).
-
A worker caught mid-swing or mid-sway at ground level counts as up in the yard, so it still steps out from under a falling rock and still goes for the muck (test/hole-depth.test.mjs).
-
A yard already past the serpent retires the sqhusband along with her, instead of leaving him on the crew (test/finale.test.mjs).
-
With several things being built at once, finishing one no longer pulls a builder off another site and walks a different one across the yard to take its place (test/build-throughput.test.mjs).
-
The store links on the demo's and teaser's last sheets are drawn as buttons like "keep playing", no longer a blue underlined link (src/selftest/ending.js, "the store links ... drawn as the sheet buttons").
-
On a gamepad the d-pad gets from the serpent to the portal and up to the corner buttons, and down from the corner back to the yard (test/pad-reach.test.mjs; src/selftest/pad.js, "the serpent is up from a station").
-
The rift's tearing and the pit's drowning wait for the camera to arrive before they happen, and a long pan to them is slower, no longer a whip across the yard (test/pit-arc.test.mjs).
-
A shield's rock waits in the sky until the camera has finished gliding to the shield (test/cutscene.test.mjs).
-
In Japanese and Korean the shield card's cancel button no longer sits on its sentence, and in German, French, Portuguese and Russian a queued card's cancel and "another" no longer run into each other and off the card (src/selftest/boardwords.js, "board words never overlap, in every language").
-
The deep's fifth, sixth and seventh party stations have their own names instead of all three reading "a undefined station" (src/selftest/stations.js, "every board says whose it is").
-
No bracketed note stands in for words anywhere in the game: the language and feedback pages, the controller rows, the serpent's achievements, the books and the demo carry-over all say plain words, and the feedback form's small print is the sheet's size (test/l10n.test.mjs, "no message is a placeholder").
-
Putting the rescue's sheet down with the pit not yet torn gets the crew's dance again, before the hole tears (test/dance-once.test.mjs).
-
A balloon that was up when the game was reloaded comes back among the clouds instead of back at its post (test/balloon.test.mjs).
-
A quarrier saved digging against the cut's near wall comes back on the cut's floor, not stood up on the bank (test/cut-station.test.mjs).
-
A quarrier's swing no longer takes the same column twice and leaves the one under its pick standing a course above its neighbors (test/cut-pockets.test.mjs).
-
Saving the sqwife before the pit drowned no longer leaves it solid: once her sheet is put down the hole tears, swells and drowns on its own (test/abyss-after-rescue.test.mjs).
-
An idle hauler stood beside the rock no longer drifts up its flank and hangs in the air there (test/haul-belt.test.mjs).
-
A fully lamped quarry gang no longer leaves a strip of the cut standing courses above the floor around it (test/cut-pockets.test.mjs).
-
Two haulers no longer walk to the same pebble: the nearer one takes it and the other picks another (test/hauler-claims.test.mjs).
-
A hauler with room in its hands picks up the pebbles near it, behind it too, before walking to the hole (test/hauler-claims.test.mjs).
-
On a phone a save's delete stays inside its row as a ✕ and no longer wraps onto a line of its own (src/selftest/settings.js).
-
The saves page keeps each save's rock, crew and time in their own columns with a gap between, instead of running them together (src/selftest/settings.js).
-
A save that has already had a muck storm no longer gets the first muck's scene (test/save-floor.test.mjs).
-
The story's card shows a shield's own line once: the shop's description of it is dropped, and kept only where a step has no line of its own (src/selftest/boards.js).
-
On a phone a notice stands under the story's card instead of on top of it (src/selftest/touch.js).
-
The story's card no longer stays faded out after a new game or a loaded save puts the story back on the step it was showing (src/selftest/boards.js).
-
The cards and buttons around the edges of the screen stand the same distance in, are padded alike, and all cast the same shadow as the story's card, the counter included (src/selftest/touch.js).
-
A card being built with nobody at it yet, a hand still walking over, wears the queued edge, and its refund and another keep their border (src/selftest/queue.js).
-
Cards on a shelf stand a gap apart, so two queued cards no longer touch borders (src/selftest/boards.js).
-
The queue of builds sits under the story's card in the top-left corner instead of on top of it (src/selftest/queue.js).
-
"It never rains but it pours" is earned when a shower of muck has finished falling, not when the clouds start to gather, and never for clean rain (test/notices.test.mjs).
-
Starting a new game no longer leaves the old crew's dust on the new ground (test/new-game.test.mjs).
-
A Hasted or Inspired fighter keeps its buff through a reload (test/classes.test.mjs).
-
Houses bought several at once each show their own progress bar, instead of an empty one covering the house being built (test/queue-repeats.test.mjs).
-
A queued card's refund and another keep a solid edge instead of the card's dashed one (
node tools/look.mjs queue). -
A board no longer opens with its title bar under the notice card at the top of the window, when it fits below the card (
node tools/look.mjs recruit-board). -
On a phone, a flick or a long drag down from a sheet at full height closes it instead of stopping at the short height (src/selftest/sheet.js).
-
The ticked glyph over a station after a rung lands wears that rung's color, not the next rung's (test/landed-unread.test.mjs).
-
After a refresh mid-build, the building's shop tile no longer sprays chips over its picture every frame, and the builder rests between bursts again (test/build-reload.test.mjs).
-
Workers mining the rock put up a third of the dust motes they did, and the motes thin out gradually instead of vanishing at the end (test/wave7-sky.test.mjs).
-
The cancel on a queued barrier is a small button instead of a bar across the whole card, and it no longer covers the description (src/selftest/boards.js).
-
Hovering a queued barrier keeps its description instead of fading it out (src/selftest/boards.js).
-
The shack stands clear of the barriers: the arch and the dome no longer run into it, with bare ground left between (test/shield-fit.test.mjs).
-
A worker on its way to the rock when it comes off dances at the edge of the drop instead of treading on the spot there until the next rock lands (test/dance.test.mjs).
-
After a refresh, a carter halfway through gathering a heap finishes filling its hands instead of heading home with half a load (test/heap-fringe.test.mjs).
-
The ram's strike rungs queue over the shack, not over the boulder (test/shack.test.mjs).
-
The sqwife is always drawn behind the rock, showing wherever its cells are mined away, instead of popping in once the rock is gone (test/lodged.test.mjs).
-
The garage and the house stand far enough apart that their counters never touch, and a counter hugs its pips with the + staying under the pointer while you press it (test/counter-gap.test.mjs).
-
The muck and poop tags over the yard always show as many cells as lie on the ground, never one off while it rains or the crew sweep (test/mess-tags.test.mjs).
-
A cutscene's black bands are deep enough to read as a film's, and in the deep a pale rule edges each so they show against the water (test/cutscene-hold.test.mjs).
-
During a cutscene the counter, the station counters, the pile-full warnings and the "build the bench" call fade out with the yard and fade back after (test/cutscene-hold.test.mjs).
-
The first trip down no longer jumps the picture up as its scene starts (
node tools/look.mjs abyss-intro). -
The net no longer hangs through the ground once the rock has ridden it down (the
net>scene, run through). -
The Windows app offers cloud saves like the Mac and Linux ones instead of shipping without them (test/release-workflow.test.mjs).
-
The saves page's rows, the volume slider and the controls list span the pause sheet's and the title page's full width, as the buttons under them do, instead of stopping short of them (src/selftest/sheetwidth.js).