Purchased on Gettyimages. Copyright.
Behind the playful image, creating video games involves some serious challenges. In addition to combining software and art, this field is constantly pushing back the limits of technology. For example, recent improvements in graphics cards have been driven by the video game industry, and many network challenges have been overcome to accommodate multiplayer games, which demand very low latency. Most of the industry’s stakeholders are from the computer graphics and artificial intelligence fields. Few of them have a software engineering background, which could hinder their ability to grasp the product development process. What’s more, this extremely competitive environment tends to hoard any information that could give it an edge, no matter how small.
Many of the tools developed in software engineering are transferable to video games, including agile methods. It’s this integration that our research group intends to focus on. We want to simplify and iron out the difficulties in creating a video game.
Quality testing is usually carried out late in the creative process, and accounts for 25% to 50% of labour costs. To reduce the workload, automated methods based on image analysis are currently being used, and could be improved upon. We are proposing another technique, derived from reinforcement learning: agents are trained to play a first version of the game; after some changes leading to a new version, the same agents play the game to check for any problems. Unlike image analysis, this method analyzes the internal parameters of the game—achieved scores and game objectives—hence its greater efficiency.
As bugs are generally found in more than one location, our preferred method is to use the information gained from collaborative debugging sessions, where several programmers work individually on different portions of the code. These crowd approaches facilitate the programmers’ task of gathering information independently to solve problems.
Empirical Theories and Quality Models
Ultimately, a better understanding of quality control and debugging activities opens a window into the exploration of new quality models and theories for video games.
The video game industry, raking in revenues of over 300 billion dollars a year, plays an important part in the software world. It is high time we integrate agile methods that have proven their worth in software engineering, such as DevOps, in increasing product quality and developer team productivity.
Fabio Petrillo is a Professor in the Department of Software and IT Engineering. He specializes in video games, software quality and architecture, agile processes and practices, and debugging.