DEV Community

IdleCultivation
IdleCultivation

Posted on

Auditing a world by walking it, not by checking things exist

Development covered 27 Jul 2026 to 1 Aug 2026 (commit dates).

I set up a test rig that plays the game the way a person does: a real browser, real clicks, walk to the place, talk to the character, hunt the beast, hand the quest in. It ran overnight against the first two dozen quests. Almost everything it found belongs to one family of fault, and every one of them had passed the checks I already had.

Existence is not the property you care about

The checks in place asked sensible questions. Does this quest name a target that exists. Does that target have somewhere to appear. Is the place it names on the map.

All yes, all the time, and the quest was still impossible, because the property a player needs is not existence. It is arrival. The three that mattered:

A hunt zone has to hold the number the hunt asks for. Measured across the early quests, a kill-four zone was averaging under four beasts present, a kill-eight around seven and a half. The quest was completable given enough patience and it felt broken, which for design purposes is the same as being broken. Thirty one zones went up in size.

A place has to be walkable to. The reachability audit flooded outward across terrain, which is correct as far as it goes, and a great shielding dome over a rival sect is not terrain. Two quest materials sat inside a barrier the player cannot pass, and the audit reported them as fine because water and cliffs were the only obstacles it knew about.

Standing room has to exist inside the zone. Scenery in this game blocks movement, so a herb can be enclosed by the grove that was scattered around it. The zone exists, the herb exists, the herb is in a sealed pocket, and nothing anywhere says so.

Deriving what blocks you from what is drawn

Underneath most of that was a decision I am glad I made and should have made earlier.

Whether a thing blocks movement is not a flag somebody sets on it. It is derived from the artwork: anything drawn taller than a certain height blocks, people and airborne things and flat decals do not, and painted water blocks by its own rule. The reason to derive it is that a flag cannot survive a rescale. Somebody adjusts a sprite's size six weeks later and the flag still says what it said, so a great tree becomes walkable and half of every building along with it. Which had happened, to a great tree and to half of every building.

Deriving it fixed that class permanently and immediately created three new problems that are worth knowing about in advance. Wider footprints can disconnect part of the map, so connectivity has to be checked. Wider footprints can seal in the thing a quest wants, so anything enclosed has to be nudged out. And footprints have to be cleared when the ground under them is rebuilt, or they accumulate, which they were doing at a rate of one duplicate set per rebuild.

Every quest target now has a copy near every sect

The largest single change came from a question the rig could ask that I could not: what does this look like for a player who joined one of the other sects?

The answer was that a couple of dozen early quests were built around the geography of one sect's neighbourhood. Its village, its elders, its hunting ground. A disciple of another sect had a very long walk to content that a local finished in a minute, and in a few cases the target sat inside somebody else's barrier and was simply unreachable.

Every early quest target now has a local counterpart near each sect, and the important detail is how the copies are positioned. The obvious rule is to place a copy near the sect gate. The rule that actually works is to place it near the previous objective in the chain, because that is where the player is standing when the quest tells them to go. One sect was walking nearly twice the distance of another for identical content, and closing that gap was entirely a matter of measuring from the right starting point.

Two things about unattended testing

Both cost me a night, so they are going in writing.

An occluded browser window stops the world. If the window is covered by anything, the animation clock stops, the game does not advance, and every input silently goes nowhere. From inside the rig this is indistinguishable from a hung game, and I spent one entire run diagnosing a freeze that was a window in front of a window.

And a stalled walk is more often a panel than a wall. When the character does not move, the reflex is to assume geometry, and the truth is usually that a reward popup or a level-up screen is sitting in front of the map. Look at what is on screen before you go measuring the ground.

Free to start, no install: Incremental RPG.

Top comments (0)