So bugs may only surface under very specific circumstances. There might be memory issues, timing issues, thread starvation. Any one of 1000 situations that are not necessarily guaranteed to occur. So the code can be constant but the run time environment can be different.
While, with games from certain publishers it might not seem like it, games are generally heavily tested. So, in theory anyway, the bugs and glitches that make it to the public are often transient and hard to find.
Probably the hardware. Every copy of a game might have the same code, but an individual console might have gotten scratched, bumped, a bit humid, slightly burned a connection, food crumbs got in the disk slot and made it read weird for a second, the controller connection is iffy, janky power supply, etc etc etc.
A few years ago a Mario 64 speed runner encountered a glitch that nobody could reproduce. It was eventually determined that the glitch was caused by stray ions from the sun.
Because they can be caused by how the specific Hardware handles the code.
For example some things mind only show up on weaker hardware as the stronger one can just brute force it.
Or in another case some things can show up on just stronger hardware as the weaker one can’t run the game fast enough for it to break.
It can be caused by lack of video memory, or by lack of system memory, or speed of system memory or speed of drive.
Or any strange combination where the hardware acts differently than the reference system they expected.
You could have bugs and glitches caused by irregular input devices.
The glitches you’re describing happen when a player or non-functioning code does something to trigger it, but what that is could be random. The bugs you hear multiple people talk about usually have some correlation and can be replicated, but we don’t always know the specific means of triggering these bugs. So these bugs exist in all copies, but not all players do something that triggers the bug. Examples might be things along the lines of save bloat or spamming a button till an integer overflows improperly.
The number one reason is GPU driver issues. Different users have different graphics cards, and those graphics cards have very complex drivers that interface between the game and the graphics hardware. The differences between those drivers can mean that bugs appear for one user with one set of drivers but not another. The drivers themselves can sometimes be where the actual bug is; it’s just that this one game happened to replicated the conditions where it appears.
That’s why one of the first things that they tell you when a game is having technical issues is to update your drivers, so that you can at least rule out that it’s an issue connected to outdated drivers.
Latest Answers