Cyberpunk 2077 is arguably the most anticipated game of 2020 and with that comes high expectations. The game has had a long and troubled development, so it should come as no surprise that the reviews are reporting that its not exactly the most bug-free experience. It’s rare nowadays for a AAA game to release without some kind of day 0 patch, but CD Projekt Red’s newest action role-playing game seems to have a troubling amount of issues.
Now I haven’t played Cyberpunk 2077 yet nor did I work on the project myself. I’ve just been reading the reviews since the embargo lifted on Monday. I’d recommend checking out this thorough summary of bugs over on PC Gamer. Despite this, I’d like to talk about the bugs that have been described, how QA would have tested for them, and speculate on why the game has the number of issues that it does.
Crashes are always going to be the worst type of bug for your game to have. The QA team will want to make sure that they have played every single part of the game, to catch any crashes that occur from transitions in cutscenes or events triggers or interactions. Like many bugs in video games, the causes can be endless. QA will play through the game as intended, but they’ll also play individual sections over and over. While doing this they’ll take different actions to check that the logic still works as expected. This is a time-consuming process, and for a game as ambitiously large as Cyberpunk 2077, can be difficult to get adequate coverage on.
Testing for softlocks is similar. I’ve picked through a handful of the reported softlock scenarios, offer up my thoughts on why they may exist and the type of testing QA will have done for them.
NPCs not starting dialogue
This is usually due to scripting logic getting messed up or conflicting with a previous part of the game. Often the solution for this as a gamer is to restart from the latest checkpoint. This works because when you load in again, it’s basically a reset for what the game is running at that time. Testing for this involves long-form playing through the game and is sometimes missed because testing will be segmented to make it manageable. What this means is that testers will load in from checkpoints or using debug code, so it’s akin to using that reset clean slate. Testers can also miss this due to their testing schedules. If you have a deadline to test a certain amount of the game on a particular day, it’s common to skip over sections. It’s easy for bugs like this to slip through, especially when it’s a section that’s never had a problem before.
Getting stuck in the environment
All objects in the game need to have collision detection. Any wall in a game will be a combination of the textured layer that you see, but also its “hitbox” that makes it into a solid object. If the texture loads but the collision fails, it’ll mean that characters, bullets, you name it, will be able to pass through. If you see a vehicle fall through the road, it could mean that there’s an invisible hole in the ground. There can also be times where there’s too much collision! This could push NPCs or other objects through the floor as it tries to find a space without collision to exist in. It’s also a common cause of your character getting stuck on an invisible wall. This is another manual testing task that can be time-consuming, but its better tested in a white box environment. What this means is that QA will look inside the game code itself, rather than playing the game as an end consumer. This is usually done while working in collaboration with environment or level developers. By doing this, you can look directly at the visualization for the collision detection to see whether there are any gaps or unneeded geometry.
Ok, so you’ve fixed up all your geometry so nothing can pass through it that you don’t want to pass through it. Now your enemies have spawned behind a wall that you can’t shoot through and you can’t kill them! Obviously, this is problematic because the rest of the game is likely locked behind being able to finish this encounter. This may occur because the enemies are set to spawn in at the wrong location, or the AI has taken some wrong signals from the game and pushed the encounter into a space that the player can’t access. Combat or encounters system QA will have tested the AI against various scenarios to see whether it acts as expected. Where do these enemies run to when entering the fight? Is the AI supposed to be aggressively firing at you or taking a defensive stance? If you’re hiding, does the AI try to search the player character out? But again, it’s difficult to speculate on so many different scenarios for such a large and open-world game.
Visual bugs are always the most noticeable, and often the most humorous issues that you’re going to see in a game. T-poses, missing lip-sync, characters without hair; there are so many common visual bugs. I would be willing to bet that there are hundreds of videos on YouTube with bug collections from dozens of different AAA franchises. While they usually don’t make the game unplayable, these issues often ruin a players engagement by taking them out of the experience. Games aren’t coded this way, but missing assets can be a culprit of this effect during development. QA working with the art team will have looked at characters and animations primarily to ensure all the work looks how it should. On top of this, they need to check that it also triggers appropriately in-game. Often if one animation doesn’t trigger, none of them will, so it’s fairly easy to catch. However, this isn’t always the case. These bugs can be caused by the extreme complexity of making a video game, which isn’t the clean and sleek engine that it might seem on the surface.
Reviews without the Day 0 Patch
The biggest caveat to the whole discussion about the Cyberpunk 2077 reviews is that we know that day 0 patches weren’t available at that point. These patches are usually downloaded as updates on release day. This is so that fixes are available for issues that did not make it into the code before sending it to be published. There is a good chance that the most egregious issues will be patched before players get to experience the game. However, even if the game is still buggy after this patch, it’s important to understand that the QA team for this title was not necessarily negligent. Though the game is “finished”, the development team will still be working hard on polish.
We know that Cyberpunk 2077 has had a troubled development. It was originally set to release in April 2020. Despite this, CD Projekt Red delayed the title 3 times until finally settling on a December 10th release. When a game is pushed back like this it generally means that the development team is struggling to meet the expectations that they set for it. This could be features that are unfinished or too many bugs still exist. Getting enough testers to provide coverage to all the areas necessary can be a struggle. Every time a new fix is added, that means that more testing has to happen. This is called regression testing and checks that bug is fixed but also that the fix didn’t break other stuff. When there are an overwhelming amount of bugs, it’s really important to prioritize them by severity. Crashes and game-breaking bugs will always be the most important to resolve. This sometimes means that some visual glitches are not considered major enough to fix before release. They may simply get shipped with the game because of this.
The most recent delay announcement had moved the release date by 3 weeks and stated that the devs were still making improvements. The message also pointed to the struggle of testing & releasing with the next-gen consoles as a big part of the reason why they needed more time. Getting a game ready for release is stressful at the best of times. Having to test for a total of 9 different platforms only complicates that further. Imagine playing through a video game from start to end, but you don’t actually “finish” it until you complete it on every console. There may be some shortcuts that you can make, but generally speaking, the amount of time you have to put in will multiply by this amount. This is what testing across platforms is like. This doesn’t even consider the fact that PCs are filled with any combination of components. It will always be a struggle to do enough testing against all available graphics cards.
Despite the amount of time that the game has been in a “delayed” state, the development team has been crunching since January. This could mean that the producers severely under-estimated the time & resources needed to complete the game. Such a significant amount of crunch will undoubtedly lead to staff burnout. Because of this team members will struggle under the weight of working extended hours, reportedly up to 100-hours per week in some cases. When you’re fatigued and not able to take care of yourself, you’re not going to be able to perform your best work. For QA, this makes it easier to overlook bugs that you might discover. For devs, it will take longer to figure out how to fix issues. It’s possible that management may have tried to hire more people to take on a share of the amount of work. But the hiring process and onboarding new team members within a short amount of time usually creates a different type of delay to progress. You have to take people away from the task of polishing the game to training new team members. You ideally want to staff up before you hit that crunch phase.
Cyberpunk 2077 is a large and ambitious game to make, even in comparison with CD Projekt Red’s last open-world game, Witcher 3. You wouldn’t be wrong to place trust that this team could pull off on their vision since they first announced the game in 2012. Yet, the realities of game development have clearly taken a stronghold over the final stages. It’s not surprising that such a large and complex game has so many bugs. But it is shocking in combination with the fact that the game was delayed many times and the development team has been crunching so hard. Given that the day 0 patch may resolve a lot of the issues that were seen by reviewers, it seems a shame that these fixes were not ready beforehand. Regardless of this, I believe the game will still be a commercial success and be enjoyed by millions of players. Game development is hard, so please don’t blame a buggy initial release on the QA team!