Developing video games is hard. That’s a simple fact and one that only developers are able to understand thoroughly. So when the game is about to ship in less than 24 hours and is going to reach millions of potential players, how do the developers make sure that it’s about to nail the landing?
A game is a form of art. A medium of storytelling. An interactive experience and above all else a software, aiming to bring joy, excitement and pleasure to all who use it. All the hard work, the blood, sweat and tears put into this product over the last 2-5 years is about to pay off but how do the devs make sure that it actually, well, pays off?
It takes months and years to get the game to a state where it’s capable of running and becomes a cohesive, well functioning product but that’s just the start. Now that we know it works we have to bake it in the oven so to speak and add all the final layers of paint on top of it. All the fancy footage in trailers with glorified graphics, flawless frame rate and deep suited mechanics that players see are probably in the works and not yet finished when the first trailer drops. There’s a lot going on behind the scenes to put the game in the place of how it looks, performs and functions in the trailers. So after a few more months, once the devs put in the time and love and make the game be exactly how they envisioned it to be, a lot is lost in the process. That’s when they have to start from scratch and make sure that all the things that were working flawlessly before are working flawlessly now as well. Going from pre production to the alpha stage to the beta stage and to the final stage takes a lot of going back and forth and writing and rewriting the same line of code over and over and over again just so things work the way they are supposed to. It’s like having a car from the 1980’s that worked fine from the day it was bought till today and now, to make it work in the modern era, you just swap the engine out and expect it to compete with today’s models. That won’t work. You’ll need to change the transmission, the cooling, the differential, the braking system and everything else alongside the engine then see if it’s roadworthy and then give it a fresh coat of paint which in reality, will make it the same car but not the same vehicle at all.
I am going to talk using some examples of games already out and about from this point on to make more sense of this topic in our hands.
Pick your poison. What’s your niche, I ask? Is it single player, open world games like Red Dead Redemption 2, Just Cause 4, Horizon Zero Dawn, Assassin’s Creed, Watch_Dogs etc.? Or is it proper role playing games like The Witcher 3, Fallout, Skyrim etc.? Or how about first person shooters like Call Of Duty, Battlefield, Far Cry etc.? How about some racing in the Forza series? Or some sports like FIFA, NBA? There’s so much to pick from. So many options. Developers try
a lot of variations to make the games feel the way they do. Imagine a world in which you turn your car to the left in Forza but instead it goes right or a world in which you press the shoot button in Call Of Duty and instead your character throws a grenade. Yeah. Things this small, things that you don’t even think about have to be tested, played and tested again just to make sure that the players have a good experience.
The testing process is quite simple, truth be told. You just play through what’s in front of you and give it a thumbs up or down. It’s simple only till the point you start taking into account things like clipping, artifacting, is the depth of field right? The input lag isn’t too much? What about the latency? Is the solid ground that my character is walking on actually solid or are there places where he/she can fall off the map? Are there ways to glitch outside the map? Are there bugs preventing the progress of a quest or mission? Do NPCs act and react to the world and the player’s actions accordingly? Are the dialogue choices taking the story in the right path? Does the character creator work as intended? Yeah there’s a lot. All of these small things can make or break the experience for the players and have to go through microscopic observations before they get the green light.
Testing matters the most in live service games as these games are going to get updates for the next 2, 5, 10 years and players are going to keep coming back for more.That’s not to say that testing is irrelevant for one and done single player experiences but comparatively this will be easy. Do you play Destiny 2? Can you imagine a Destiny where you can equip 3 exotics at once or heavy ammo that spawns every 5 seconds in the crucible? That will break the game, disrupt the balance and make players extremely angry. The challenge will be gone if you can infinitely use your super and melt Atheon in a fraction of a second or if Stasis hunters were able to spam shatterdive in the crucible. When these abilities are in development they can be overtuned sure but once the players get to use them freely that’s what problems who up. Especially when they have to use them for prolonged periods of time. JIRA and Testrail and great tools to tune them accordingly as once you have feedback in hand you can use these management tools, create projects and push them towards the right team so they can start working on them and put them in the right place. The feedback can come from the developers own play testing or the play testing done by QA people or from feedback from the players through posts on Reddit and Discord. Once we have the problem, let’s say the exotic weapon “Lorent’z Driver” is overperforming, we can make a case on JIRA based on the feedback and working on the pain points to put it in the right spot. Maybe it has very high aim assist or maybe it’s doing a lot of damage per shot or maybe the rate of fire is too high for a weapon of this archetype, whatever the problem it can be easily fine tuned and fixed by making the right case and using all the available metrics to balance the gun out.
Finally, finding a bug is easy but squashing said bug can be problematic. Let’s take the example of an immersive sim like Dishonored or to a degree Hitman. Immersive sims give you a brief of the mechanics and then drops you into the world for you to act and the world to react. Finding a game breaking bug lurking in the shadows could be easy but fixing said bug can create complications as fixing it might break something else. The reason I bring up immersive sims in particular for this is because these games are completely controlled by the players. There’s no
guiding hand or a waypoint telling you where to go and what to do. It’s you vs the world so it’s important to make sure that the world reacts the way you act and not the opposite. Again Testrail can help you with that. Simply by finding all the spots that may create a problem, making a case for them and finding a work around.
Nothing is perfect and especially in the case of softwares and video games in particular achieving perfection can take a lot of work and i mean a LOT of work and even after that someone will find something that breaks the game or find a funny glitch like the famous car flying away when it hits the swing in GTA 4. The process of testing and QA can contain a lot of those problems and make the product an enjoyable, well made and well functioning experience rather than a non playable mess that spawns a million angry Reddit Posts and make people pick their pitchforks and torches. The proper tools, the proper development cycle and the proper assignment of tasks to the right teams can make a heap of a difference and make sure that the game in question goes out in a playable state.
In my experience there have been quite a handful of games that I enjoyed but they left a lot to be desired as they were very buggy and borderline unplayable. Games that come to mind are Cyberpunk 2077, Mafia 3, Outriders and Dungeons and Dragons; Dark Alliance. There are a lot more, i enjoyed them regardless because for me gaming is like the love of my life and developers put in a lot of work so it should be appreciated i believe. However, there’s no denying they needed a lot more time and testing and all of them could have been something greater than what they were. Testing can make or break the success of a game and is probably the most important part of the development process. And management tools like JIRA, especially during the pandemic can act like a godsend to save said game.
I’ll end by quoting the legendary Shigeru Miyamoto san as he once famously said “A delayed game is eventually good, but a rushed game is forever bad.”