Demystifying the Artificial Intelligence (AI) hype for game developers
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
Even if you have been living under a rock, you would have heard of AI. Why? Because developers use game AI all the time. But the same term means different things to different people. We will try to tease out the differences here.
Game AI refers to the programming that controls the behavior of computer generated characters, also known as non player characters (NPC). As a general rule (sorry), game AI is a series of complex if-then statements. These are usually pre-determined by the game designer. The variables in the if-then statements can be dynamically generated or static. Randomness can be injected within these if-then statements.
But the recent industry hype about AI is not about game AI, but rather several different strains of new capabilities that have been lumped together by the media. These new capabilities include computer vision, computer hearing and computer guessing. This last term is one that I'm coining in this article. But there is a similarity to game AI, as we will see towards the end of this article.
Computer vision has improved dramatically since 2010 due to the advent of Convolutional Neural Networks (CNN). A computer program can now analyze a digital picture and can accurately identify certain features. That means a computer program can now identify parts of an x-ray, a photograph, a painting, anything that can be captured on a digital camera, even if that camera is sensitive to light not in the human visual range.
Computer hearing has also improved dramatically with the advent of many data sets. Essentially a computer program can analyze a audio recording and identify the words that were spoken. You may also see this referred to as automatic speech recognition (ASR). This means a computer program can now transcribe any spoken words that are recorded by a microphone. This is the first thing that happens when you invoke Apple's Siri or Amazon's Alexa. The program converts what you said into digital text. Based on the text, a program can do additional things.
Computer guessing is the process of trying to guess what will happen or what is true. In a way, both computer vision and computer hearing are forms of computer guessing. The program receives an image and guesses whether it contains a car by calculating a probability. The programs receives audio input, and guesses which language and words it is hearing.
But the type of guessing I'm referring to here has been performed in business settings for over three decades. Your credit score is a way of guessing whether you will default on a loan. Programs can generate whether a game player is ready to spend money or churn out. Several analytics providers now have these capabilities, including Mixpanel and Localytics. Disclaimer: my company provides predictions capabilities for games.
Computer vision, hearing and guessing is similar to game AI in the use of if-then rules. Once a self driving car determines there is a car in front of it, the program still executes a series of if-then scenarios. Similarly, when Siri identifies that "weather" was spoken, it likely checks for a pre-programed action to take when "weather" is received as an input.
What are some AI limitations currently?
Despite the incredible progress in AI, much remains to be done. One limitation is the large amount of processing and data required. Most computer recognition systems must analyze several hundred thousand images to be good at identifying specific objects. This is the reason why companies like Google and Facebook are trying to get access to as many photographs as possible. A toddler learns to recognize cars without seeing having to see a hundred thousand cars.
Another limitation is that current AI systems are incredibly domain specific. You can train a neural network to detect a 4 door sedan, but it wouldn't work very well for a 2 door coupe.
How can game developers leverage AI?
Most games are currently played on devices which have cameras and microphones. Games that encourage voice chats among the players can first digitize the audio chat. This digitized audio chat can then be used for different analyses including abuse and fraud.
Games that allow photo uploads might use them to infer additional details about the player, such as age, gender and race. Depending on the computer vision system used, it might be able to determine the hair color, eye color and ethnicity.
Using player predictions on churn on spend to personalize the game further could help to improve retention and overall game performance. A game AI that encounters a player that is likely to churn shortly might interact differently with the player. A likely-high-spender player might receive fewer distractions and ads on the store page.
To learn more
Clearly, there are other areas in AI which we did not cover here, such as reinforcement learning, recurrent networks and transfer learning. Additionally privacy, consent, control, accountability and transparency remain open discussion topics. Here are some links for further reading.