Hunter's Hand Demo · published · build 23266906
It's been a heavy few weeks of mostly-invisible work. A forest playtest threw up a long list of things that were broken, and most of this update is me working through that list.
The one of the biggest fixes was the Ancient reveal, the cinematic where an Ancient wakes up and marches onto the map.
It turned out the roll that triggers it never actually fired in a normal run (three separate bugs stacked on top of each other), so most players would never have seen it. That's fixed, and I rebuilt the whole sequence while I was in there: the map fogs over, an eclipse rolls in, the Ancient's silhouette looms up behind it, then it stomps onto the board from below in three heavy steps with the camera framing the entrance. There's a new screen-wide Threat presence layer too, the screen darkens and the corners close in when your Threat crosses a threshold, with a lighter pulse on every point in or out.
The Essence system (socketable gems for your cards) got a big playability pass. It had several soft-locks - a missed or negated instant card could leave your hand permanently disabled - plus a handful of essences that just didn't do anything. Those are fixed, the altar has a proper sort bar and drag feedback now, and it will no longer try to sell you a socket on a curse it forced into your deck.
On the combat screen, im trialling changing the single incoming-damage number to now four separate labels - enemy attack after block, return damage from Thorns/Soulbond, your own damage-over-time, and the real net total - so when a number looks wrong you can see which system produced it. That also flushed out a bug where several enemy attacks were secretly re-rolling their damage on every tooltip refresh, making the preview jump around.
And the forest enemies got a full rework-and-tuning pass off the back of the playtest - all twelve touched, decks trimmed so unique cards actually show up, D1 difficulty reworked so early enemies stop wasting their turn, and the last unfinished enemy (Nighthowl) rebuilt around multi-hit and Bleed.
What's new
Ancient reveal cinematic rebuilt — and it actually triggers now (it never fired in a real run before)
New Threat presence layer: screen darken + closing-corner vignette on threshold crossings, a pulse on every ±1
Map boss icon has a heartbeat that speeds up as it closes on you; reveal music duck + dread riser
Incoming damage split into four labelled rows (enemy attack / return / damage-over-time / net total)
Fixed enemy attacks re-rolling their damage on every tooltip refresh, so the preview no longer drifts
Card pile viewer (Draw / Discard / Tenuous / Deck) now has a search field
Essence Altar: sort bar, drag feedback (eligible cards grow, ineligible shrink + dim), unlock pip, new slot visuals
Essence sockets can no longer be placed on curses or forced status cards
Numeric essences can stack on the same card; a purchased 2nd socket now survives into battle
Instant cards can no longer soft-lock a battle; added an 8s safety watchdog on the hand
Incantation / Burden no longer permanently shrink your hand for the rest of the run
Escaping a fight now drops your block, so the enemy's parting turn lands in full
All twelve forest enemies retuned; Nighthowl rebuilt around multi-hit + Bleed
Forest starting decks trimmed to one of each shared card; tier-0 enemies -15 HP
D1 difficulty: enemies keep both turns but take -25% damage at battle start
Several forest cards renamed to fit their kits (Razor Thorns → Creeping Dread, Bramble Torrent → Lashing Ichor, and more)
Bleed and Soulbond both reworked to behave the way their tooltips describe
Pile of essence bug fixes (Phantom, Gambler's, Mirrored, Warding, sacred_barrier…) + new gem icons
Full patch notes
Systems
Ancient reveal cinematic rebuilt and fixed. The trigger roll was broken by three stacked bugs and never ran in a real run. New sequence: map fogs over → eclipse → the Ancient's silhouette looms → it stomps onto the map from below in three heavy steps → camera settles on the player. Camera now pans to frame the entrance instead of snapping under the fog.
New Threat presence layer: screen-wide darken + closing-corner vignette when Threat crosses a threshold, a lighter pulse on every ±1, a bigger beat on your first Threat of a run, and SFX on every threat change.
Map boss icon now has a heartbeat that speeds up as it closes on you.
Reveal audio: music ducks during the eclipse and swells when the boss lands; a dread riser builds across the eclipse and peaks on the stomp.
Essence Altar UI: sort bar (Default / Cost / Class / Rarity / Name), 4 cards per row, drag feedback (eligible cards grow, ineligible shrink and dim), a glowing unlock pip on the locked socket, updated slot visuals.
Essence socketing rework: "unique" essences are one-per-run and drop from offers once owned; the 16 numeric essences can now stack on the same card; a purchased second socket now survives into battle instead of silently vanishing.
The Essence Altar no longer offers sockets on cards you were forced to take — the 3 status cards and 20 black curse cards are tagged out.
Forest enemies & balancing
Every forest starting deck trimmed to one of each shared card so each enemy's unique cards actually come up.
D1 difficulty reworked: enemies keep both actions (they were wasting their only turn on self-buffs) and instead take a -25% damage debuff at battle start.
Tier-0 forest enemies: -15 max HP for a softer opening fight.
Nighthowl (the last unfinished forest enemy) rebuilt around multi-hit + a new Bloodscent power that opens a Bleed wound per hit.
Briarfiend: card renames (Razor Thorns → Creeping Dread, Bramble Torrent → Lashing Ichor, Rooted Smash → Sundering Reach, Thornskin Pulse → Withering Presence); the kit now runs on Incantation, a next-turn draw penalty; Lashing Ichor's hit count climbs live as you play cards.
Blight Hawk: Terror Shriek → Bile Shot; First Strike now applies on round 1 only; armour strip 3 → 2.
Fungaloid: Spore Cloud → Spore Eruption — "If Fading: deal 40, then dies", gated to low HP.
Forest Shade: Blind is now the only control debuff (dropped Blurred Senses); Veil Slash 13 → 5 ATK; Obscuring Mist applies Mindveil; one-time Start-of-Battle Evasion.
Eldritch Elk: Warp Antlers reworked around the Vigorous keyword with the reckless bonus shown in the preview; Eldritch Goring 21 → 15 + conditional Delirium.
Wraithbark: Ethereal Rend strikes once plus once per Spectral stack (rewards stripping the veil); Vengeful Shade is now a constant 25-ATK threat while veiled.
Verdant Phantom: Blooming Decay → Hollow Reach with Piercing 5; Vital Drain / Waning Vines tuned down now that Drain is blockable.
Ghastly Greenman: Twisting Renewal grants block + Overgrowth immediately instead of a heal that broke its own condition; new Rotbloom card applies Spitegrowth, which hurts you every time the Greenman heals.
Nightshade Nymph: Toxic Beauty is a one-time Start-of-Battle 2 Soulbond (was +1 every turn); Kiss of Ruin 5 ATK + Fervour/Guard shred; Bloom of Betrayal scales per unique debuff on you.
Whispering Willow: Guard-shred kit; Soulbind Vines made tenuous so Burden doesn't compound.
Thornbeast: new Impaled debuff that adds to both Thorns and Counter recoil.
New statuses: Impaled, Spitegrowth, Bloodscent, and a persistent "relentless" First Strike variant for the desert boss.
Many enemy attack values flattened to fixed numbers to stop the tooltip flicker.
UI & combat clarity
Incoming damage is now four labelled rows instead of one number: enemy attack (after block + Acid pierce), return damage (Thorns / Soulbond), your own damage-over-time, and the bold net total. Each has its own icon and hover tooltip; empty rows collapse.
Fixed the incoming-damage preview drifting between refreshes — several enemy attacks were re-rolling their random damage on every tooltip re-render. Enemy card damage is now rolled once when the card is staged.
Piercing damage no longer displays as safe behind block.
Enemy heal preview now predicts Regenerate and Overgrowth.
Status and keyword icons in tooltips are tinted to match their status-bar colours.
Status duration now shows on any expiring status.
Card pile viewer (Draw / Discard / Tenuous in battle, Deck in the run) gained a search field to filter by name or effect text.
Bug fixes
Incantation and Burden were permanently shrinking your hand for the rest of the run — they cut cards-per-turn directly and only refunded at battle end, so killing the enemy mid-round made it stick, and repeated stacks compounded (draw 4, then 3, then worse) despite the tooltip saying "next turn". Reworked to a clean next-turn penalty that resets every turn.
Instant cards could soft-lock a battle: a missed or negated instant left your hand permanently disabled. Fixed, plus four animations that stalled the played-card queue, plus an 8-second watchdog that releases the hand if a card never reports finishing.
Escaping a fight was risk-free — block from that turn still soaked the enemy's parting hit. Escape now drops your current and queued block so the final enemy turn lands in full.
Escape recap's Continue button was unclickable (layering) — fixed.
Bleed restored to its intended behaviour: one bite at round start for the full stacked total + -stacks Fortitude that round, then it clears.
Soulbond reworked to a stack-consumed reflect — each HP hit reflects and burns a charge, the bond breaks at zero; fixes the reflect not firing and the "0 Soulbond" tooltip.
Phantom essence returns the card next turn instead of discarding it moments later; no longer wastes its once-per-combat charge on a miss.
Gambler's essence: displayed cost matches the charged cost, rerolls each turn instead of freezing on the first roll, and its cost escalates with a miss streak (a hit is free and resets it).
Mirrored essence reworked to a stacking one-turn reflect barrier that survives the enemy's hit then clears.
Warding, Debtor's, Insightful, Corrupted and the dual ATK/DEF essences all had individual fixes so their effect actually applies.
sacred_barrier's reactive block + heal was erroring on every hit and never firing — fixed.
painful_strike no longer double-counts its damage at high HP.
14 Bloodcurse Revenant block cards were defaulting to "attack" type and matching attack-only essences — fixed.
Mindveil now plays the character's "power down" animation on a negated card instead of silently doing nothing.
Custom cursor now draws above every overlay (it was getting buried behind panels).
Several card crash fixes (needle_storm Counter, string damage source, status-container iteration on subclass cards).
Fixed a battle-start crash on Godot 4.7.2 from an untyped array assignment.
First Strike now correctly self-removes after round 1 instead of re-applying every round.
Map no longer occasionally appears empty after the boss moves.
Demo
When the Forest Guardian falls in the demo build, it now goes straight to the end screen (its reward pools are still placeholder art).
Under the hood
~18 missing Essence gem icons added; Bloodscent, First Strike and several status icons re-pointed off placeholder art.
Debug menu reorganised into eight filterable sections with per-button tooltips, plus search boxes across all debug pickers — groundwork for trailer capture.
GDScript unsafe-access warnings turned on in-editor to catch type errors like the 4.7.2 crash before they ship.
Reworked forest card script files renamed to match their new titles (UIDs preserved).
Concept art locked in for five forest bosses/Ancients (reference only, not in game yet).