-
0.9 Stable
released this
2026-09-01 12:13:43 +02:00 | 9 commits to master since this release0.9
Conversations behave. A line is read once, when it has finished appearing,
without the box announcing itself over the top of it and without the whole thing
being echoed back at you a few seconds after you dismiss it.Auto-walk stops declaring failure over things that worked. Landing on the
shopkeeper you walked to is arriving, not "she is about two metres below you and
may need stairs" - it asks what the interact key is actually pointing at rather
than guessing from heights. When something really is out of reach it says so,
and when the ground runs out it names what it ran out at instead of advising you
to go and find somewhere more open. Long walks also stopped freezing every
fifteen seconds: the ground ahead is mapped while you walk it, which is roughly
four times quicker per leg.The list of things to walk to is more honest. An emptied chest leaves it, a
floor button names the machinery it works and how far off that is, lifts are
somewhere you can be sent - which in the Outskirts is the only way onward - and
a tracked quest with nowhere to send you says as much rather than silently
dropping its whole category.Saying when a quest has nowhere to send you
Tracking a quest with no map marker made the Markers category vanish from the
cycle entirely, with nothing said about why - and from inside that there is no
telling "this quest has no marker" apart from "the mod is broken"."Land of Confusion" is exactly that quest. It only puts a chunk on the map once
you have visited the region that reveals that Archangel, so at nought of eight
song parts it points nowhere at all, by the game's own design - a sighted player
sees an empty map and knows where they stand.Tracking one now says so: "Quest tracked: Land of Confusion. Collected 0 of 8
song parts. No area on the map for this one - nothing to navigate to." Not "not
yet", because plenty of quests never have a place at all, being satisfied by a
counter or a conversation, and promising one would be worse than saying nothing.Conversations stop echoing their own last line
Every conversation ended by repeating the line it had just finished on, three to
seven seconds later - long enough to sound like a second speaker rather than a
stutter.The message box slides in on a child Control of its own, and dismissing a line
leaves the keyboard focus sitting on that Control with the box itself hidden.
The dialogue reader bows out there, correctly - a hidden box has nothing to read- and the general-purpose focus reader took over, found the line still sitting
in the label underneath, and said it again. The repeat guard could not catch it,
because moving the focus is meant to re-read: an option list changes its value
under a focus that never moves, so the same control saying the same words has to
stay readable.
Dialogue has one reader and it has already had its turn. While the focus is
anywhere inside that box - shown or hidden - the general reader now says
nothing.Being told when you have arrived at something you still cannot touch
"Arrived at Wood" three times over, a teleport in the middle, and not once did
anything get picked up. The player was finishing each attempt about a metre
ABOVE the item, stood on whatever was beside it - inside the arrival radius,
inside the height gate, and out of the interact key's reach the whole time. The
arrival was true and useless, and the item stayed in the list, which read as the
list being wrong.The game already answers this: the interactor picks the closest overlapping
thing every frame, and that is exactly what the interact key acts on. So it gets
asked. A moment after arriving - long enough for the last of the deceleration,
which is often what brings something into range - anything still out of reach
says so, with the height when the height is the reason:"Wood is out of reach from here - it's about 1 meter below you."
Only for things you actually interact with, and only when the question can be
answered at all. A door is walked through, a floor button is stood on, and an
interactor switched off for a cutscene knows nothing about anything - none of
those get a sentence.An emptied chest stops being offered as its own contents
Take the wood and the wood is still in the list. The chest was the wood.
A chest is found by the same test a dropped item is - it carries an
item
resource - so one holding Wood lists as "Wood", which is fine right up until you
open it. Dropped items leave the list properly: the first thing picking one up
does is setdisabled, which the scan already looked at. A chest has no
disabledon it at all. The flag that says its contents are gone isopened,
which nothing was reading, so an emptied chest went on being offered - under the
name of the item it no longer had - for the rest of the session, and after a
reload too, since that flag is restored from the save.A chest that is merely shut still lists. Locked is not empty, and "there is a
chest here I cannot open yet" is worth knowing.Switches say what they switch, and lifts are somewhere you can go
Stepping on a floor button got you "Switch (Floor Button) activated" and nothing
else - not what it did, not where the thing it did it to was. The plate in the
Harbourtown Outskirts powers a lift twenty-one metres away, and that lift is the
only way up out of the lower Outskirts and onward to New Wirral Park. From the
logs: stand on the plate, hear it activate, ask to walk to the quest area, get
told the ground stops. Nothing anywhere joined those three facts up.The game's wiring turns out to be readable, so it is read now. A switch names
the machinery it drives and how far off it is - "Floor Button activated. It
works the Elevator, 21 meters away." - following the wires through the relays in
between to whatever has a body on the end.Those relays have also stopped talking. "Switch (Wire) activated" was two lines
in every three this used to say, about a node with no position worth reading.And lifts are navigable. A
WiredElevatorhad been filed with the relay icons,
which was wrong in the way that mattered: it is a platform you stand on, and
often the only way onto the storey above. It lists under Switches and the walk
aims at the bottom of its travel, since its own position is wherever the
platform happens to be in its cycle.Long walks stop freezing at every staging post
A walk across the map is planned a leg at a time - the goal is pulled in to keep
the search local, you walk to it, and the next leg is planned from there. That
part was fine. What was not is that the mapper which fills the ground cache was
switched off for the whole of every walk, so each re-plan profiled its ground
from cold after fifteen seconds of walking in which nothing had looked at it.
From the logs, three legs of one walk:leg 1 (planned standing still) 23 cache misses 416ms leg 2 (planned mid-walk) 5385 cache misses 1806ms leg 3 (planned mid-walk) 5770 cache misses 1759msThe mapper now runs during a walk too, on a smaller slice of the frame, and aims
at where the walk is going rather than circling where it is - the next leg's
search is a box drawn on the line to the goal, and a ring around the player only
ever covered its first twenty metres. Measured on a 58m leg: 1382ms cold, 947ms
after the old ring, 330ms after the aimed one, with not a single ground probe
left for the build to pay and the same route out of it either way.Landing on somebody's head still counts as arriving
The other half of the Clemence walk, and the half that survived the first fix.
Told to hold while airborne, the pawn duly waited - and then landed on top of
her. Feet down, horizontally aligned, target two and a half metres below: from
the inside that is indistinguishable from standing on the rim of a hole, so the
mod said she needed "stairs, a ramp, or a path around the edge" and offered the
teleport. You could talk to her perfectly well from up there.The height check was only ever a proxy - it exists for the front door six metres
up a balcony, where standing in the street underneath is not arriving. There is
no need to guess from geometry when the game answers directly, so it asks now:
if the interact key is aimed at the thing that was walked to, the walk is over,
whatever the heights say. Nothing extra is announced, because nothing went
wrong.Doors, markers and floor buttons are not interacted with at all, so those still
rest on the height check. And when the target really is out of reach up there,
the route is planned again from where the pawn stands - two and a half metres is
an ordinary step down - rather than the walk simply ending.Walking to somebody no longer stops a metre short of them
Three walks to Clemence in a row ended "she is unreachable on foot - it's about
2 meters below the nearest ground I could path to", from 1.8m away on the same
floor she was standing on, and offered the teleport for a shop counter.The last step to a target is very often a hop - the walker jumps at anything it
bumps into, and a counter, a kerb or the person themselves is enough - and the
jump clears 2.2m. Arrival is decided on horizontal distance, so it fired on the
way up, and the check that verifies the target is not on some other storey
measured the height of the JUMP and reported it as the height of the ground.
Being in the air is now no answer at all: the walk holds, waits for the landing,
and asks again with the player's feet down.Being told what the ground actually stopped at
A walk to the New Wirral Park quest area ended at the south end of the
Outskirts with "I got as close as the ground I can reach allows, about 173
meters short", and then, from that same spot, "the ground I can reach doesn't
connect to it. Try moving somewhere more open first."The second is bad advice. Every column a metre north of there sits 6m higher -
that pocket's entire northern boundary is one sheer step, with no ramp in it
anywhere - so no amount of moving about opens a route. The mod had that in its
own lattice and threw it away.It now describes the lip it stopped at: a step so many metres up, a drop so many
metres down, an edge with nothing beyond it, or ground it can see but cannot get
onto. Both the shortfall and the outright refusal carry it, and both now point
at Shift+End, which is the answer when the ground genuinely does not go there.Dialogue boxes stop cutting off what was being said
"Message Dialog menu". "Menu Dialog menu". "Spooky Dialog menu". None of those
tell you anything - the line inside the box is the whole content, and it is read
on its own. Worse, a menu name is announced over the top of whatever is being
spoken, so these arrived mid-sentence and took the line with them. A conversation
flips between the message box and the list of things you can say back at every
turn, so it happened constantly: one line from the logs was 78 characters long
and got cut off 3.7 seconds in, leaving nothing to go on.The boxes are no longer announced by name. What they do keep is the pause that
made the announcement half-useful in the first place, so the line or the option
that lands next waits for the current one to finish instead of wiping it.A line of dialogue really is read once now
Two ways it was still doubling up.
A menu opening on top of the message box - the full-screen shaking one an
Archangel speaks through is the case that showed it - left the box still holding
the keyboard focus underneath. The reader that knows about dialogue only looked
at whichever box was on top, so the line came through the general-purpose reader
as well, in different words, which is exactly what the "have I already said
this?" check cannot catch. It now asks who has the focus rather than what is on
top.And coming back to the message box after picking something from a choice list
re-read the line you had already heard, just before the new one arrived. That was
a fault in 0.8's own dialogue change: the check for "already said" was sharing a
note with every other readout, and the option you had just chosen had overwritten
it. Dialogue keeps its own note now.Related: the shaking Archangel box types its words out a character at a time like
every other, and was being read the instant it appeared rather than when the
words had arrived. It now waits, as the message box does.Bestiary rows you have not met are told apart
Moving down a run of unrecorded species read the same sentence over and over -
"???, Bio 2, Raise this monster's tape to 5 stars to unlock more information" -
with nothing to say you had moved, or where you were. The info panel hides its
number for a species you have not seen, but the row in the list still shows one,
so the number is read from there. A recorded species is unchanged.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- and the general-purpose focus reader took over, found the line still sitting