Bugs in game development
The following points I wrote down in a Discord server 2 years ago because the ongoing discussion geared toward blaming devs or QA for not doing their jobs because of unfixed bugs. I have been in the game industry for 5 years as a game programmer, and though I would throw in my experience and thoughts about the subject, therefore the following is a mix of facts, experience and common knowledge of the game development industry itself. I have taken the liberty to clean it up a bit, as well adding certain aspects that was not brought up due to the limitation of Discord (It took up 4 posts in total).
- The QA and/or devs(grouped as devs) are only a few people. You may say that the biggest companies have over 400 employees, but that does not mean that all of them are devs, nor all of them are working on the same game/project throughout the whole development phase. But if we even theoretically say that there are 400 devs working on that one buggy game, and they have sold 400 000 copies, this alone makes the devs less than 0.1% of all the people that have played the game, and hence may have stumbled upon the bug at all. Keep in mind that it is more common, although not a fact, that the more devs, the more copies sold, but mostly because of advertisement. A game company with 400 employees will make a huge financial loss if a project that has been worked on for a year only sold 400 000 copies. Now imagine a bigger situation where there are 40 developers and 4 000 000 copies sold. The chance that the devs would discover the bug is therefore reduced to 0.001% compared to the players.
- While the playtime between a dev and a regular user for a game mostly lay around 2000 hours a year for the dev(This is not entirely accurate, continuing in next point) and an average user is between 10-100 hours a year(Some users have over 10k hours in total while others have just a few hours, so it deviates a lot, but we only count “completed games” 1), just using the lower level of the user with 10 hours a year would with previous points numbers evaluate to 800 000 hours a year for devs and 4 000 000 hours a year for the users. While this is only 5 times more times than the devs, this kind of difference in numbers is pretty uncommon, as mentioned earlier, hence the difference between how much time devs spent on their game in comparison to how much time players have played on it in total, using the previous numbers, is 80 000 versus 40 000 000, which is 0.2%.
- The devs normally does not just work on one project, especially if we talk about smaller companies and even more for QA. And switching between projects is not an efficient way to keep the devs occupied, as they need time to get into the project again. Therefore, as mentioned earlier, they may spend less time on the project with that specific bug than needed, reducing their total times per year even more. Also, if there are more than a couple of devs in a project, it most definitely will be split up in specialties. No dev will be in charge of everything, at most at glance as a leader for the other devs.
- The size of the project may matter, but even small games may have complex intricate functionalities that are hard to tune. Just make a guy not fall through the ground is more difficult than one may think. There is a good reason why companies either reuse their current game engine, or buy a license for an existing one: It takes time to make a good-enough engine. Of course it is also cheaper, as it takes time, and therefore money, to learn how the engine work, or create one from scratch. Now imagine a bigger project, where there are tons of content to be processed, tested in any possible order and each dev just work on one specific thing.
- Each hardware(and software) are different. Most devs sit with just a handful of hardware to use. Each user have their own set of hardware that they use, and therefore they are unique. This uniqueness could create quirks or bugs that the devs never would have stumbled upon as they do not have that specific combination of hardware. For consoles it may be easier, but even there the game may not be exclusive, and supporting different platform will increase the possibility of bugs. On top of this, adding entropy to a game makes it even harder to determine if your game is bug free.
- It is hard to find a bug you do not even know exists. And even if you knew about it, it is still hard to locate it, because as mentioned earlier, devs are often split up into specific tasks and the game is really complex and complicated. Therefore when devs make the game, they often try to figure out what could trigger a possible problem, or a bug in this case, and try to fix it before it happens. However, a player is unique in how they play, and each one will understand a problem differently and solve it in an unique way. Yes, the devs should make sure that they lead the player toward the goal, but this is even harder for open-world games. The player do not want to be lead by a string, they want to go wherever they want. This behavior makes it impossible for the devs to predict, so bugs tend to happen more easily than one could predict 2.
- Some companies that make good games may have excellent developers, but horrible administrators. All groups in a company are trying their best to do their own job, but in some cases they do not know what the other group does. Marketing just tries to sell the game, but do not realize how much time is needed to complete it, and devs are pushing to add more features, but also fix the bugs that comes up. And if a release date is set, it might not be set in stone, but to keep the face of the company up, they will release it if they see it as playable, otherwise they will lose money. Each extra day spent on developing the game, means more money spent on it rather than gained as revenue.
There are more to bring up, but these are the biggest factors one need to weight in in order to understand why a bug can be hard to track down.
tl;dr: Games are hard to make. Bug are really hard to locate. Players are impossible to predict. Companies want money and push the game.
-
Some of the examples sounds reasonable, it is not the entire truth. For some it takes 20 hours to complete a game, while for others it takes 80. For sandbox games with no particular ending, players can accumulate over 10k hours in total. Depending on the game as well, a specific niche could make just a handful playing a lot, while most just quit early because some odd reason, meaning the average being 10 hours, but median is really 1 hour. ↩︎
-
https://www.stickyminds.com/article/tester-walks-bar-reviewing-test-techniques ↩︎