We classify bugs in Hedgewars by 1) severity and 2) priority.
Severity tells us how much a bug “breaks Hedgewars”.
Priority is optional, less important and a rough estimate how “important” a bug is within a severity class.
Severity tells us how much “damage” this bug deals to Hedgewars. The higher the severity of a bug, the more it “breaks” Hedgewars. High-serverity bugs are usually also more important and those should usually get more attention as well.
Summary of bug severities:
- Blocker: Most serious bugs. Must be fixed before next release
- Critical: Crashes and and similar show-stoppers
- Major: A key feature is broken; game quality is lowered significantly
- Normal: Less-important feature is kinda broken; incorrect but not seriously broken behaviour
- Minor: Something is slightly irritating or weird; minor audiovisual glitches
- Trivial: Typos and tiny graphical glitches
- Enhancement: Feature requests
Anything which must be fixed before release. Including:
- Hedgewars does not work at all on one of the main platforms
- Very obvious crashes
- Half-finished feature (either finish it or drop it before release)
- Important build script broken
- Regression (a bug that did not exist in the previous release)
Any crash, network desynchronization bugs or other bugs that stop the game completely. The most serious bugs of this kind should be classified as blocker.
A major feature of Hedgewars is obviously broken which lowers the quality notably. The game is still playable as a whole. Including:
- Any game-breaking bug. A key aspect of gameplay is broken in an important way, including weapon behaviour. Seriously affects balancing
- A weapon or utility is seriously broken, no real workaround
- Sound does not work
- Obvious and/or annoyingly broken graphics
- Broken video recorder
- Very annoying usability failure
A less-important feature of Hedgewars is kinda broken. Like:
- A gameplay aspect is a bit broken. It might affect gameplay negatively a bit. Workaround might be available
- A projectile/object/gear behaves incorrectly, but not in a game-breaking way
- Mildly annoying usability failure
- Notable but unimportant graphical/sound glitch
- Important broken translation
Bugs with low impact, including:
- Gameplay aspect is a bit weird/confusing, but not broken
- Computer player does something stupid
- Slightly irritating or low quality graphics and sounds
- Minor graphical glitch
- Subtly broken translations
- Code quality complaints
Anything less important than minor. For nitpickers and perfectionists. For bugs like:
- “Oh no! This image is off by 2 pixels!”
- Very slightly weird GUI
For any feature requests (not bugs).
Priority of bugs is a rough estimate of how common or important the bug is estimated to be within the assigned severity class. Priority is a less important classification than severity and just a rough guideline. Generally the more likely it is to experience the bug, the higher its priority. Priority is optional does not need to be specified, it can always be added later.
For enhancements, the priority marks the “desirability” of the feature request. High-priority feature requests should generally be implemented before the lower priority ones.