Discussion about this post

User's avatar
Sven's avatar

So, how did the bug get discovered?

Expand full comment
MondSemmel's avatar

This was an interesting post. Your suggested solutions, though, imo sound too close to "have systems in place that detect when damage is doubled", which has lots of potential failure modes (e.g. it might detect when damage numbers double, but not when damage is applied twice).

One much more general thing you can do in any software where inputs aren't highly time-sensitive (i.e. not real-time strategy or something) is to have an auto-replay functionality: While playing through a level, record your inputs and the resulting outputs (level finished, boss defeated, etc). Then, after doing any significant code changes, let the game play through your recordings, and check whether your inputs still result in the expected outputs.

For instance, you can find stream recordings on Youtube of Jonathan Blow developing an isometric puzzle game, and after any major code changes, he'd let the game play through all level recordings (at 8x speed or higher) and check whether they still behaved as expected, both in terms of "is this level still getting solved" and in terms of fuzzier things like "does anything look off, e.g. in terms animations".

Expand full comment
3 more comments...

No posts