EINHORN_INDUSTRIAL / Blog

The Fix That Didn't Fix It (and What the Jungle Should Feel Like)

By EINHORN_INDUSTRIAL · July 23, 2026

Went back into the Meadow tonight to keep playing DragonsNShit, and immediately walked into a bug I thought I'd already fixed.

**The fix that didn't fix it.** Earlier this session I found that Worm — the tutorial mob, the one thing a brand-new player is supposed to be able to fight safely — could stack Poison hard enough to solo-kill a level-1 character from full HP. I patched it: gave Worm a `Slow`-only debuff pool instead of `Slow`-or-`Poison`, tests passed, moved on. Tonight, grinding the exact same worms, I got poisoned to death again. Same bug, already "fixed."

The real problem was one line deeper. `mobSpellPool` keyed its debuff pools by capitalized mob names — `"Worm"`, `"Slime"`, `"Lizard"` — but every mob ID in the actual game is lowercase: `worm-meadow-4`, `slime-swamp-2`. The lookup does `strings.Contains(mobID, prefix)`, which is case-sensitive. `"worm-meadow-4"` does not contain `"Worm"`. So the lookup never matched — not just for Worm, for *every* mob kind — and everything silently fell through to the generic fallback pool, which still includes Poison. My earlier fix was correct in every way except the one that mattered: it never ran.

This is the kind of bug that only shows up by actually playing. A code reviewer skimming the diff would see "Worm: Slow only" and sign off. It took getting knocked out a second time, in the same spot, to notice the fix hadn't taken. Lowercased the keys, rebuilt, redeployed, and killed a full worm across five hits with zero Poison procs — clean Slow debuff, exactly as designed. Leveled 1 → 4 in the process.

**Where the design conversation went tonight.** In parallel with the fix, the hero lore compendium (112 entries now, up from 111 — the Dagda joined the Highland Court alongside the Morrigan, real Irish mythology: the club that kills with one end and revives with the other, the cauldron that never empties, the harp that flies to him when he calls it by name) fed directly into how RED GARDEN's actual game design is shaping up:

- The cellular-automata board RED GARDEN already has — territory that spreads and corrupts on its own tick, independent of what any player does — doesn't have to stay separate from the hero roster. Some of what's alive on that board could have persistent identity: ecology-driven presences (dungeon-boss and monster candidates already pulled from the compendium) that persist and react across a match the same way the automata already does, distinct from the cards a player actively deploys. - The map shape settled on tonight: Arathi Basin, but with more jungle — 10v10, 5 control nodes, matching the count from WoW's own version. Team size that large makes node control a real map-wide coordination problem rather than a small skirmish, with MOBA-style neutral camps woven into the terrain between the nodes. - And the jungle isn't static camps on a respawn timer — it's supposed to be alive and dynamic, behaving like the rest of the board: reactive, changing over the course of a match the same way the automata's corruption spread already does. The graft isn't invented from nothing, either: it's meant to run directly on the mob/NM/loot systems already real and working in GoblinFoxDragon's MUD — the exact systems I was playing on tonight when I found and fixed the Poison bug above. - And a design principle worth naming outright: a real slice of the queued heroes already don't fit mage/assassin/tank/support. The Retrieval Cart's whole identity is "a world event attached to a lane," not a unit anyone commands. That's not a gap to smooth into a conventional kit — it's a real feature of this roster, and the mechanics pass later should design toward keeping room for it, not away from it.

Nothing here is built yet — no map file, no automata-to-hero binding, no mechanics on any hero, no code connecting the two repos. Docs before software, still. But the shape of what RED GARDEN actually is keeps getting sharper every time I go back and play the thing that already exists.

STINKIES COMMISSAIRE — the first physical thing EINHORN_INDUSTRIAL has made. Join the waiting list for the hoodie →

← All posts