Game Defects - Assignment

Defect Types - What you should know

Operating Regions

Stages of a game, defined by the effect the game will have on it, these regions are used to separate debugging section or separating play test environments. These segments are: pre-game, before the game itself opens and initialisation; Game start, Between a game's initialisation phase and game-play; In-game, Any game-play area in the game; Post-game, After game-play or when closing a game.

Pre-game

This would include the system home screen, Initialisation loading as well as other system specific clashes like unlockables and key-bind clashes. The most common defects experienced during pre-game is likely to be assignment defects, where values are initialised incorrectly, causing stress to the system itself or Build/Package/Merge defects, where initialisation calls incompatible files or attempts to reassign core functions for a system, this would be a Start-up trigger as it would be classed as loading invalidated data.

Game start

This would include the main menu, saving and loading a file as well as the distribution of options such as resolution changes or control assignment. Common triggers during the game start operating region would include, configuration triggers, leading to function defects, as during the main menu options reassignment could result in actions being rejected or a resolution change that is built incorrectly can cause significant issues. Normal triggers, how a game handles itself internally, can contain many defects but, Checking defects, where the conditions that would bind a game during gameplay are not correctly established causing the demo to incorrectly simulate game play, are likely.

In-game

This would include saving and updating files during use, the loading of cinematics/cutsences as well as the distribution and functionality of any menus accessible during game play. Many errors can occur during this time: function defects, such as causing the player to still be able to control the character whilst in a menu due to incorrect checking; timing and documentation defects, due to the code (Normal trigger) being incorrect or if loading is slowed due to stress on the system memory causing some files to be lost changing the order allowing incorrect audio and subtitles.

Post-game

This would include credits, storing completion save data as well as quitting or exiting the game, defects here can cause a game to be incomplete as it would lack finalisation. Errors such as data corruption and file exchanges could cause crashes at the end of the game.

Defect triggers

Normal - This would be how the game controls internal features such as demos or auto-saves
Exception - How a game handles errors, lack of internet connection for an online game
Stress - Areas where the code may not be optimised for the system putting stress on storage or the network it's running on for online compatibility
Restart - Upon rebuilding an area, reloads or saves can be corrupted causing players to be lost or errors with internal values such as collision detection.
Configuration - Settings such as a change in resolution or if a game is based of time preventing configuration internally to prevent abuse to the system. Compatibility with external hardware would be a part of this.
This is caused by changing the resolution from the menu
Start-Up - Environments have not been built effectively leading to incorrect music or textures.

Defects

Function - When a function, such as a button, fails to work effectively. Examples include, input delay when attacking in a fighting game.
Assignment - Where a value is incorrectly initialised, starting a battle at low health or a high-score.
Checking - When data is used before validation, flying through a wall before checking collisions 
Timing - Where outputs are delayed or do not work such as, the death scream in sonic 06 or a delayed game over pop-up. 
Algorithm - Where decision statements are unspecified, NPC's loop speech or do not acknowledged terrain differences like walking off ledges.  
Documentation - Where external files are called incorrectly by source, victory music is named incorrectly and so is called upon defeat. Subtitles play with errors or is entirely irrelevant.  
Build/Package/Merge - Where an object is incorrectly built on initialisation causing crashes such as backgrounds being rendered incorrectly and clashing

Comments