Fixing Bugs

The goal is to fix all bugs in the game. When fixing bugs we try to minimize gameplay impact and preserve original behavior as much as possible. This is not always easy, besides some bugs have ingrained themselves as features over the years. The rule of thumb is:

  • If it’s a crash or freeze it is prevented and replaced by the behavior deemed sensible for the situation,

  • If it’s an inconsistent behavior, depending on non-game factors such as objects ordering in memory, buffer overflows, stack and heap garbage, etc., then it is made consistent and dependent only on game factors. If it becomes unusable or game-breaking after fixing (Defensive Fire is a good example) then the parameter to tune or disable the feature is provided.

  • If it’s a bug-like but consistent behavior then it is fixed. In case many players have come to rely upon this behavior or it is otherwise deemed worthy keeping, the fallback parameter is provided (e.g. cashback).

Adding a Parameter

When adding a parameter strive to keep the original behavior and always make the default value behave as unmodified game if at all possible.