We have talked about the types of testing used in games. Now let’s talk about the result that confuses PMs, makes developers blush, and stresses every team member in production – bugs. We will also classify them and show you some examples.
It would be strange if there were no bugs in complex systems like video games. They are common and highly diverse. Having familiarized yourself with the game-dev specific testing types, I think you can guess that bugs in games are not limited only by “404 not found” and “game crashed.” Let’s go over the most common ones in the video game industry!
Visual bugs group will include any visible artifacts, missing textures, clipping, culling, screen tearing, Z-fighting, etc.
Here are some examples of visual bugs:
Visual artifacts are any visual bugs that do not fall under other types.
Missing textures – Usually, in their place, game engineers try to put a “stub” as a bright default texture in the form of a checkerboard. While the stub is not necessary, missing textures are visible to the naked eye thanks to this approach.
Missing texture and a good example of a “checkerboard” instead of a lost file
Z-fighting – This bug appears when several primitives are located at approximately the same distance to the camera. They have virtually the same values in the Z-buffer that tracks the depth. Primitives can be partially displayed one above the other.
Screen tearing is a visual artifact that displays information from multiple frames in a single image.
Culling and clipping are bugs related to rendering and graphics pipeline work. When two objects intersect, one can obscure the geometry of the other, hiding it from view. If we go a little deeper, culling is cutting off what is invisible. In this case, the game will not even try to draw this segment. Culling can be different, and here are its examples: rustrum culling, backface culling, occlusion culling, and depth culling.
It is also worth highlighting a similar bug – collision problems. In video games, clipping is associated with algorithms that respond to the interaction of two adjacent or overlapping geometries (collision detection). And to identify such bugs, there are special view modes.
We can also describe a bug of this kind with the term occlusion, i.e., overlapping one object with another is not intended initially (I bet!)
Within the group of audio bugs, quite basic but no less annoying things occur: SFX / music/dialogue cannot be played, skipping an audio trigger, lost audio, poor mixing (the sound is too quiet or loud), audio distortions and drops.
Level Design issues include invisible walls, maps’ holes, stuck points, etc. I would also mark “level design bugs” problems with the Navigation Mesh (Nav Mesh). For example, Invisible Walls can be both a bug and a feature. Previously, they limited the movement of the player’s character and did not allow them to go further than necessary. Now, Game Designers are trying not to create “invisible walls/obstacles” but to limit the “passability” with the help of level design, such as setting up an impassable obstacle, a barricade, mountains, city gates, etc.
.
Map Holes are most often caused by not having a tight fit of the planes of objects. These are places where the user can unplan for the developers and get outside the game area (Out of Bounds).
Navigation Mesh bugs are often related to level rebuilding or automatic mesh generation. For example, you have moved items, but the nav mesh remains the same. Consequently, your NPCs can “walk into the wall” or any other object that they cannot get around and stick there (one of the Stuck Points cases).
Artificial Intelligence (AI) bugs:
- NPCs do not move.
- They get stuck.
- They do not follow the player.
- The intended interaction with objects does not work.
- NPCs do something not originally intended.
Since we also have a part of the engine responsible for physics, it would be strange if there were no bugs. There can be almost anything: levitating objects, unrealistic physics, acceleration above normal, and objects flying into space due to the addition of vectors when processing contacts. You could see bugs of this kind in the memes of various games, for example, GTA 5 or, from the actual point of view, Cyberpunk 2077.
Stability and performance bugs include freezes, crashes, black screens, the inability to load a level, the user-visible loading of high poly models or any objects at all, FPS drawdown, extremely long loading, and micro loading freezes during gameplay. To this, I will add a long installation of the game and the inability to run the game on a PC with the minimum permissible requirements.
Sorry, I don’t recognize you… Your face hasn’t loaded properly yet…
Compatibility bugs are not uncommon. Prevalent examples are as follows: on some video cards, crashes may occur (for example, on the minimum possible requirements or new video cards on the market), controllers do not work, the game does not start on a specific version of the OS, a wireless headset emits sound in mono, etc.
Everyone has heard about issues in online games::
- Bad connection
- Video lags
- Invisible players”
- Errors in scoring
- Inability to reconnect (if there is such a feature),
- Packet loss during the game
- Discrepancy in the calculations of information between the client deduced by the server and back end.
Also, if the connection is poor, some interface elements can be used several times, something may not load and “disappear,” etc. However, these UI bugs do not significantly affect the player’s user experience.
Localization and compliance bugs are related to local regulations. They include the localization of advertising and could involve content that may be allowed in some countries but not in others. Manipulations with the date on your device and the client’s failure with the server are also in this category. No one has canceled the “classic” localization and internationalization bugs.
This is fine. Just mix everything that is stored in your game because… Why not?
Is that all?
Of course not. This list is not all-inclusive but is the most frequently encountered. What bugs have you encountered while playing or working on games? I would be happy to chat with you on this and other relevant topics in the comments! You can also get more information about Globant’s Gaming Studio.