Spielerando

Tools and engines

Learning paths through this topic

Load the land around the player in a circle without reloading at the edge

A player who walks back and forth along the edge of the loaded area makes the game build and throw away the same piece of land again and again. This entry gives the AI the shape to load, the order to load it in, and a margin that ends the stutter.

Load the parts of a big world in the right order and catch loops that never end

A game that loads trees before it knows what a tree is will start with blank spots or fail with a vague message. When two parts each wait for the other it never starts at all. This entry shows the AI how to work out the order and report the loop by name.

Make the loading bar rise smoothly even when file sizes are not known yet

A loading bar that jumps to nearly full and then slides back because another big file turned up looks like a bug. This entry shows how to estimate the unknown part, never move backwards, and only reach the end when the game really is ready.

Decide which sounds to load at once and which to play from a stream

Wind that blows for a whole minute and a footstep that lasts a blink do not belong in memory the same way. Loading them all makes the game heavy, and streaming them all makes footsteps late. This entry gives the AI a rule and shows where a cheaper copy of a sound will do.

Check that every door on your map has a matching door on the other side

When rooms are added one at a time, it is easy to end up with a door you can walk through but never walk back through, or one that returns you to the wrong room. This entry shows how to check a whole map and still allow the one-way drops you want on purpose.

Keep old save files working after you add or rename things in an update

Players who spent forty hours building a base will not forgive a patch that wipes it. This entry shows how to let the AI change your game's data while old saves still open, and how to refuse a save that came from a newer version.

Find the order of actions in which a one-use key makes the game unwinnable

If a key is used up by the door it opens, a player can spend it on the wrong door and later stand in front of the only way forward with nothing in their hand. This entry shows how to try every order of moves and return the exact steps that lead to such a dead end.

Notice when the player is stuck in the terrain and free them

In big open worlds players get wedged between a tree and a cliff or sink into the ground after building, and the only way out is quitting. This entry gives the AI a way to tell stuck from standing still or sliding along a wall, so help is offered at the right moment.

See which rooms, quests and characters your testing never touched

After a long test session you feel that you saw everything, but the log may say otherwise. This entry shows how to compare what the game contains with what was visited, list what was missed, and show a percentage that does not claim a full run when one item is missing.

Turn a playtest log with thousands of error lines into a short list of causes

After a play session the log shows the same complaint hundreds of times, each with another monster number or room name, and nobody can see how many different problems there really are. This entry shows how to group lines that differ only in their details and rank the groups.

Keep the play time on the save screen honest when the laptop sleeps

A long adventure shows hours played next to each save, and a naive clock turns one night with the lid closed into eight extra hours. This entry shows how to count only real play and how to show the total so that long games do not wrap around.

Find out why your uploaded game shows a blank page before players see it

The game runs on your computer, you pack it up, upload it, and the page stays white. Three small mistakes cause most of this and none of them shows an error you can read. This entry gives the AI a check of the package before you upload.