Over the past few decades games have gone from being full of 2D sprites and parallax scrolling to incredibly complex and detailed 3D worlds. This has pushed games to be both incredibly immersive and to have truly remarkable environments. However, a lot of these incredible leaps forward have led to many steps back in certain areas. AAA games now require incredibly immense amounts of art to be created for them, and hundreds of thousands (if not millions) of lines of code to make the game work the way it is intended. With all this extra complexity, something has to give. Unfortunately the two things that tend to give in modern games are time and money.
More so now than ever we are seeing games get repeatedly delayed over and over again. The reasons behind these delays aren’t always simple, but at the end of the day it really boils down to one thing; You can release a broken game that people will forever remember as being broken, or you can hold it back and have the announcement of a delay drowned out in a couple of weeks. The latter seems like the most obvious choice, but there are times that studios or publishers just don’t want to (or can’t) invest the money to extend the deadline any further. A lot of times delays lead to a better, more polished product when it finally does release.
But alas, even with the occasional delay, games today are arguably the most broken they have ever been. Nowadays it is impossible to release software that is entirely bug-free. Decisions are made close to release as to what does and does not get fixed, and a lot of times anything that isn’t a show-stopper (frequent unavoidable crashes) does not get fixed. This leaves a lot of graphical glitches, physics oddities, and even smaller crashes in the released game. I would arguably say that the majority of bugs and glitches you have encountered in games were noticed by the testers of said game, but there just wasn’t enough time or resources to have them fixed.
As the complexity of games continues to increase at a rapid pace, these aches and pains aren’t simply going to go away. Some developers have turned to automating some of their regression testing (usually the most time-consuming kind of testing) to allow testers to focus on newer features and areas, but developing and maintaining those automated tests takes time too. QA (quality assurance) teams at studios or at outsourced companies can be rather large, but they are miniscule when compared to the millions of people that will end up playing games on release day. That one crash that one tester found twice and could never reproduce might be seen by tens of thousands of people after release, just based on the sheer number of players. A couple of those players that do find it might be part of the vocal minority, and might post it around the Internet whilst complaining about the lack of testing on the game. Sometimes it’s worthwhile to take a step back and stare through the cracks of a game’s imperfections to see the people standing behind it holding it together.