Tools and engines
Learning paths through this topic
Make sure dusk, dawn and midnight events fire even when time jumps ahead
A check like "is it dusk right now" works until the player sleeps through the evening, and then the lights never switch on and the night monsters never come. This entry gives the AI a way to ask which moments were passed between two times.
Check a level-up table for gaps, repeats and sudden walls
When the AI writes the experience needed per level, one wrong number can make two levels cost the same, make a later level cheaper, or put a huge wall in front of the next one. This entry shows how to check the table and how to turn points into a level correctly at the edges.
Rename files with spaces, umlauts and odd letters so the web can find them
Names like "Tree Trunk (1).PNG" or "Größe.png" work on your computer and fail somewhere between upload and the player. This entry gives the AI one clear naming rule, a safe rename list, and a check that two different files never end up with the same name.
Make players get your new version instead of a stale copy from their browser
After you publish a fix, some players still see the old game, or a new level that loads old pictures. Giving files names that change when their content changes solves it, but only if files that point to other files are handled in the right order. This entry shows how.
Find the short freezes in a play session and say in which place they happen
Players say the game stutters, but an average speed hides it: most moments run fine and a few freeze for a blink. This entry shows how to find those freezes in a list of frame times, group neighbouring slow frames, and report how much time each one cost and where it happened.
Move a hero who loads inside a wall to the nearest place they can walk from
After a map change, an old save can put the hero in solid rock or outside the map. Moving them to the closest free square sounds easy, but the closest one may be a closed-off pocket they can never leave. This entry shows how to pick a spot that is truly usable.
Find the pictures that load on your computer but vanish once the game is online
A tree that shows up when you test at home and turns into an empty box on the published page is almost always a naming slip that your computer forgives and the web does not. This entry gives the AI a check that lists each such slip before you publish.
Check a loaded backpack for items that cannot exist and report every problem
After an update removes or renames an item, old saves can hold things the game no longer knows, or stacks bigger than allowed. This entry shows how to find all such problems in one pass instead of crashing on the first, including one odd item name that fools many checks.
Catch item names that look different but are the same thing to the game
Over a long chat the AI may add the same sword three times under slightly different names, and the shop, the loot and the quest then disagree about which one is real. This entry shows how to group such near-twins before they split your item list.
Find the bug that duplicates or loses items by replaying what happened
When a player says their stack of gold doubled after a chest was closed in a certain way, guessing at the code wastes hours. This entry gives the AI a replay of a simple event log that shows the first moment items came from nowhere or went nowhere.
Check that every key can be found without already owning it
A map can look fine door by door and still be impossible, for example when the red key lies in a room that only the red key opens. This entry shows how to simulate a player collecting keys and list every room and key that stays out of reach.
Notice that every return to a dungeon leaves a few more monsters behind
A game that gets slower the longer you play often leaves objects behind each time you leave an area and come back. One visit looks harmless, so you need counts over several visits and a way to tell steady growth from a normal wobble. This entry shows how.