Roguefort Playtest · published
Roguefort Playtest — v0.8.9
As Tupac once said, it's all about you. Thanks everyone for the many detailed bug reports and suggestions over the past day. I've gone ham on them today again, and so tonight is the latest patch with all the goodies in it.
There's quite a bit packed in here - I've done my best to itemise it and offer feedback in the same spirit as the detailed feedback you've all provided. Thanks again and I hope it does the trick. If anything didn't quite work out just let me know and I'll get back on it.
Happy weekend Roguefort playing!
Performance
- Turns took minutes on aged saves. On an old save nearly every chunk near you
counts as "modified" — a single tile-health entry is enough — so the chunk
cache wedges at its 120 cap with nothing the eviction pass is allowed to
remove, except the one chunk it just generated, which becomes its own
victim. Every tile read then regenerated a whole city window: one chunk in
view was regenerated 26,000 times over 12 turns. The cache now never evicts
the chunk it just made, or anything touched this turn. Pathfinding was also
rebuilt — it copied the whole path at every step, which by itself made one
herder's walk to work take 24 seconds. On the save you sent: first turn
92,463ms → 95ms, steady turns ~1,850ms → ~170ms, and the commute spikes
20,318ms → 187ms. (Peter)
Dungeons
- New vitals HUD: chunky Health and Manna bars with numbers, a damage-ghost
trail and a low-HP pulse, in real dungeons only (not taverns). Full
Customize HUD citizen — drag, resize, hide, presets. It defaults to the top
LEFT because the top centre is where combat messages land and they'd cover
the bars. The spell belt hides its own manna strip while the bars are up, so
manna is never drawn twice. (Dogchiho)
- New auto-descend: a DOWN ↓ button beside EXIT ↑ walks you to the stairs
down and descends exactly one floor — Qud-style. It rides the same
machinery as auto-exit, so it inherits every brake: it won't start with a
hostile in sight, it halts if an enemy is spotted or you take damage, and
any movement key cancels it. It won't chain to the bottom. Hidden in
taverns and towers (where '>' walks back toward floor 1) and disabled on
the last floor. (tee)
Items & inventory
- New two-slot weapon swap: designate a backpack weapon (right-click, or the
'=' menu), then ';' — RB on a pad, Y in first person — flicks between it
and your main hand. Melee to bow in one tap. The ',' harvest cycle
re-anchors on whichever weapon is live, so ',' always returns to it and the
stowed weapon never joins the tool ring. Comes with a Slot I/II HUD widget,
an orange II badge in the pack, and the designation persists in saves and
clears when the weapon is dropped, sold, salvaged or destroyed. (Merlin)
- Actions bound in both the base and first-person gamepad maps showed the
first-person button everywhere. Fixed.
Towns & cities
- A full city-generation pass fixing five defects at once. Buildings
overlapped each other and breached walls (46 overlapping pairs and ~320
wall straddles, now zero). Signposts were dead content in every procedural
settlement — they existed as data but never raised an actual tile, and the
bump reader needs the tile. Village wells were being paved over by the
green's ground fill. Cities now promote alehouses in the commerce and craft
wards, and evening drinkers sit on real interior tiles instead of piling on
the door. And the shipwright was extinct worldwide — the coastal rosters
that carried the role were wholesale replaced by rosters that lacked it
(17 spawns restored). Cities also got a lot less empty: median bare
intramural grass went 69% → 26%, which is 933 → 1,706 city buildings.
(ArkHaven)
- Every building in every vector city wore the wrong sign. The naming code
speaks the old category vocabulary ('commercial') while the city pipeline
emits a different one ('commerce', 'craft', 'garrison', 'temple') — so
nothing errored, the categories just matched nothing and fell through to a
bare type label. Censused over all 267 settlements: 182 inns signed "Inn"
with no innkeeper subtitle, 252 smithies just "Smithy", ~1,900 shophouses a
bare "House", 251 aging cellars missed their Affineur banner, and 21
buildings read the literal word "Building". Now zero. (ArkHaven)
- "Strange flagging for entering the market stone house — it's definitely a
public area." Correct, and it was two separate bugs. The market hall is
filed as commerce, and the commerce rule means "a shop with nobody at the
counter is shut" — but nobody ever holds a work post in a market hall,
because it's a social venue and the occupancy check counts only work posts.
So the rule could never fire and the hall read private 100% of the time, in
all 10 cities. Market halls and customs houses are now public by day; a 3am
break-in is still real burglary. (ArkHaven)
- The other half — "no one actually reacts to me being in there" — they never
could. On a semi-private building nobody is anchored to it by definition,
and every challenger is drawn from the residents, so the challenge ladder
could never leave zero. The HUD was shouting red "YOU SHOULD NOT BE HERE"
about an impossible threat on 70% of the world's houses. Red now means
something: the warning block only shows for genuinely private buildings or
a ladder that has actually escalated. (ArkHaven)
- Berry-bush "fences" around farm plots that NPCs walked through and you had
to chop. The NPCs were never phasing — they used entrances you couldn't
reach. Censused at 208 of 1,174 farm-plot tiles sealed for the player, from
five stacked causes, each fixed in its own layer; a final repair pass now
runs last against the finished map and punches walkable gaps into any
hedged plot that has none. Bushes and farm plots painted over roads are
fixed in the same pass. After: 0 sealed plots and 0 dressing-on-road tiles
across all 257 villages and towns. (SamV)
- Roughly half the procedural demo's settlements had no reachable well — and
often no well at all. Every well was drawn as a 3×3 ring of rock around the
water, so you had to mine in, and NPC thirst errands (which need a walkable
tile beside the water) could never reach one. The placement code also gave
up silently when it couldn't find an untouched 3×3 spot. Wells now lay a
walkable stone apron instead of a rock ring, and spiral outward for a spot
rather than giving up. (Matt)
Shopkeepers & NPCs
- The general store was missing from every bridged town and city — the role
had been silently dropped from the roster swaps, the same way the
shipwright was. Restored. (SamV)
- Every worldgen child was a trading shopkeeper selling general stock: an
unknown role fell back to the shopkeeper definition. Children are now an
explicit non-trading role with their own dialogue, and any unknown role
degrades to a mute villager rather than a vendor. (SamV)
- Tail of the same fix: in small coastal towns the resident cap could slice
exactly the general-store keeper off the end of the roster — one town built
its general store and staffed it with nobody.
- Tavern social hour: inns and alehouses were too small for their crowd, so
arrivals settled on the lawn. Venues are bigger and arrivals now fill the
interior before spilling outside — 3 lawn-standers with 20 free seats
before, 0 after. (Peter)
Quests
- "First Speaker Vellis Caille has a charge for you" printed, but no offer
appeared and no quest landed. The endgame questline resolvers never
consulted the offer gate, and the surfacing code silently suppresses any
stage the gate rejects — so an active generic bounty for the same faction
collided with stage 1 of the Compact line and swallowed it. The one-shot
investigate stage could soft-lock the questline permanently. Same defect in
all 7 questlines. Authored stages are now exempt from that collision, and
the flavour line only prints if an offer actually surfaced. (ArkHaven)
Enemies & combat
- A phasing enemy standing inside a tree or rock could hit you while every
one of your attacks passed through it. Now symmetric: if it can't be
targeted in there, it can't strike from in there either — it steps out to
open ground to attack. Bumping the tree it's hiding in now chops the tree,
which is the counter-play. (Briarios)
- Sentinels pinned at their patrol border all night against an unreachable
wraith. Two causes: hostiles outside a guard's territory were still treated
as targets, and a hunt abandoned for want of a path was re-engaged the very
next turn — a hunt/return flicker at 7:1. Out-of-territory hostiles are no
longer targets, and a target abandoned after 8 blocked turns goes on a
50-turn ignore list. Anything standing next to a guard is always still
fair game. (Hariel)
- A guard woken by its schedule could keep wandering in the sleeping state,
Zzz and all. It now re-derives its state from the schedule. (Hariel)
- Nothing non-aquatic materialises on open water any more. The habitat check
was only a 75% soft skip, and wraiths have no habitat at all — and a
phasing creature on deep water has no legal move, so these spawned as
permanent ocean statues. Land templates are now hard-rejected on water, and
narrator event spawns validate onto dry ground or don't happen. This also
clears 0.8.8's known issue: the guards standing in deep water at Bonemouth,
Fernrest, Emberforge, Silverforge and Tidehollow. (Hariel)
Spells
- Piercing Beam (tier 2 on Brûlée Beam / Collider Beam) did nothing at all —
a permanent upgrade choice that set a bolt-only flag the beam code never
reads, and beams already hit everything in the line. It's now Forked Flame /
Split Collider, and picks you already made map onto the new effect
retroactively. (Peter)
- Aged Reserve Curse (tier 3, archlich drop) was strictly beaten by a tier-2
spell at half the cost. Rebalanced into the damage-amp specialist it was
meant to be: 14 damage, 4 cooldown, Aged 7 turns. (Peter)
- The first time a threat mechanic bites you, a one-time line now names it —
Bloodless, Heal-block, Reflect, Sapped, plus enemy hazard clouds and
burning ground (the "my own rot burst hurt me" misread). Look-mode tags
explain themselves too: "Bloodless (no lifesteal)", "Saps (cuts your
healing)". (Peter)
Menus & UI
- "Deaths this journey" showed the decaying penalty escalator rather than a
count — it cools off by 1 every 500 turns you survive, so a second death
after a long run read "1". There's now an honest lifetime counter behind
the defeat screen and high-score entries. The escalator itself is
deliberate penalty tuning and is untouched. (Peter)
- The Continue plaque and the Load Game rows showed the raw world clock,
which starts at 80,120 (the summer epoch) — about 80,000 turns higher than
the T readout in game. Both now show elapsed turns. The same sweep found
that scenario turn limits compared authored thresholds against that raw
clock, which made The Ambassador (8,000) and The Pursuit (3,000) instant
defeats, and clamped every adventure scenario score to 0. All fixed.
(andygeorge)
- Heal amounts were invisible at the trader until after you'd bought the
item. Shop rows and the item tooltip now show the same "+X hp" subtext the
inventory does. (Hariel)
- Character → Status was missing its Botany row. Added, with real threshold
progress. (Hariel)
- The stealth meter cried SPOTTED at anything that was merely about to spot
you — followed by a clean backstab. SPOTTED is now reserved for a genuinely
aware threat; the old band reads EXPOSED. (Hariel)
- Guard nameplates read Hostile while the guard was friendly, and the 2D tint
was hardcoded red regardless. Three honest states now: Hostile only for
player-directed aggression, Defending (yellow) when they're fighting
something else, and the tint follows the word. (Hariel)
Balance / exploits
- "Three minutes of forest clearing nets me about 1,200gp." The arithmetic
was worse than reported: one swing of a good axe fells a large tree for ~25
planks, and the pricing floor guaranteed 1g each — so a keypress minted
~25g against an unbounded procedural forest. Wood and stone now sell for
0g. This is a sell ban, not a nerf: their value is untouched and the
laborer still sells you wood at 3g a unit, which was always the intent.
(Matt)
- The flower sell ban from the last round never actually worked. It tested
for equipment by checking for an item slot, but every real item carries a
consumable slot for stacking — so flowers took the blacksmith's 40%
pricing arm and the exploit shipped intact; you just had to walk to a
smith. The test was green because it built items the game never creates.
- The host trusted the client's own sell price, so every pricing rule was
decoration — the money moved on the client's number. It's now re-priced
from the live item where the money actually moves.
- Merchants now hold finite coin. A purse refills 25% of its cap per day and
grows as you buy from them; sales clamp to what the till covers and the
remainder stays in your pack. Banning item ids only ever closes the faucet
someone already found — this bounds the rest. Old saves need no migration.
- Ore gold now decays with the number of veins you've worked, the same shape
the mine building already had.
- Buyback rows merge stackable goods instead of evicting the oldest at the
20-row cap — you were paid for all 30 planks but could only buy back 20.
Credits
- Eight of you were in the beta channel but hadn't made it into the credits yet:
andygeorge, Dogchiho, Geno, Hariel, Matt, Peter, tee and Weneedtocook.
Added.
Known issues
- Yewstead's south-west waterfront quarter is sealed off. This is a separate,
older gate-topology defect — it survived the croft-access fix above and is
already tracked. No need to report it.
- In co-op, two players trading at different vendors at the same time can
mis-read each other's purse cap. Known; the proper fix means shipping the
vendor's details with the payload.