Sometimes a bug is easy to catch. You do some normal set of inputs and the aberrant behavior appears. Sometimes a bug is difficult to reproduce. Here are some of the qualities that can make a bug difficult to nail down:
- [Build-specific] - The bug only shows up in release or final builds.
- Platform-specific - The bug only shows up on a particular platform (e.g. PS4, Linux dedicated server, Windows 10 service pack 2, etc.)
- Random timing - The repro steps are always the same, but the bug doesn’t always happen when the steps are taken
- Frame-specific timing - Specific inputs must be made within a specific frame window to cause the bad behavior. Bonus difficulty if you have to reproduce the bug on a debug build with a low frame rate
- Silent failure - The bug doesn’t actually trigger any error messages or logs or anything, it just fails silently without a trace
- Requires multiple players to repro - Happens only on a dedicated server with multiple squads all playing at once! Player A must do the action to Player B, and the bug appears on player C’s screen!
- Requires a long time to reproduce - The bad behavior happens only when leaving the game on for multiple hours, like via a [smoke test]
- Live Environment Only - This bug only ever shows up in the live game
Even more fun, there’s nothing stopping more than one of these complications to happen within the same bug. A build-specific, platform-specific, live-only bug that silently fails and requires a bunch of players that only happens after many hours? Fun!
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ