Artificial intelligence in video games is largely used to determine the behavior of non-player characters (NPCs) in games. Video games are more and more interesting because the environment and characters can adapt to a change in the situation.
A lot of AI in game development goes toward defining the way a computer opponent behaves. Behavior can range from relatively simple patterns in action games all the way to chess programs that can beat champion human players.
Many early video games like Pong (1972) only allowed human opponents to face each other. Though computer-controlled opponents existed from the very beginning in Computer Space (1971). While human opponents can obviously still be a lot of fun to play against, the video game industry really took off when microprocessors allowed players to square off against more sophisticated and challenging computer opponents. Space Invaders (1978) provided an early example of the challenge that computer-controlled opponents could bring to a game. As the player shot down the aliens, the game sped up considerably with fewer opponents. This was a side effect of the limitations of the hardware at the time, but Tomohiro Nishikado, the inventor of the game for Taito, left it in because it made the gameplay so exciting.
Even while AI researchers debate whether AI in games is the real thing, game developers have used techniques from AI research to create more challenging opponents. They can examine player behavior and change their responses to make the games more challenging using emergent behavior. Techniques used in AI game programming include decision trees and pathfinding. Some AI opponents in first-person shooter games can listen for player movements, look for footprints or even take cover when a human opponent fires on them.
Artificial intelligence has long been used to simulate human players in board games. Computer chess players are the best-known example. Modern chess programs are able to easily beat the best human players. IBM’s Deep Blue computer famously beat Garry Kasparov in 1997.
In recent years, we’ve seen a lot of improvements in this fascinating area of research. Examples include DeepMind and the Deep Q learning architecture in 2014, beating the champion of the game of Go with AlphaGo in 2016, OpenAI and the PPO in 2017, amongst others.
However, machine learning could fundamentally change the gaming experience in many ways:
Modeling Complex Systems
A machine learning algorithm’s strength is its ability to model complex systems. Video game developers are constantly trying to get games to be more immersive and realistic. Of course, modelling the real world is incredibly difficult, but a machine learning algorithm could help with predicting the downstream effects of a player’s actions or even modelling things the player can’t control, like the weather. One current example of complex modelling currently in production is FIFA’s ultimate team mode. As you select your team of all-star football players, FIFA calculates a team chemistry score based on how much the personalities on your team might get along, or not.
During games, team morale can dip if you’re losing or making small mistakes. It can also surge when the crowd cheers and you’re playing well. The changes in morale impact the players’ abilities, in-game. More mistakes come when morale is low, and skill shots and lucky breaks happen more frequently when your team is playing well together.
More Realistic Interactions
Another major challenge in building a realistic virtual world is how players interact with friendly NPCs. In many games, you need to talk to scripted characters in order to complete your objectives. However, these conversations are limited in scope and usually follow on-screen prompts. Using natural language processing could allow you to talk out loud to in-game characters and get real responses. For example Event has developed a shi-fi gaming with a terminal real-time with a typing interface and a conversation partner in the form of that shipboard AI.
Universe Creation on the Fly
One of the most promising applications of machine learning in game development is world creation on the fly. To date, some of the most popular video games are expansive open map games that allow you to explore a massive landscape. Those games require thousands of hours of developer and artist time to render. However, machine learning algorithms could help with pathfinding and world creation. An example is a game like No Man’s Sky with an infinite number of new worlds to discover, all generated on the fly as you explore.
Of course, the holy grail would be a true AI-powered in-game character, or an overarching game-designing AI system, that could change and grow and react as a human would as you play 🙂