back to blog
Integrating Machine Learning into Game Development
Game development is one very complex process which comprises the game environments, the plot, the features of each character, among others. No doubt, the process is labor-intensive and sometimes, incurs a heavy cost. However, when it is executed properly, the results are astronomical. For instance, the fusion of Virtual Reality and game development yielded Pokémon Go, the gaming sensation which raked in 200 million in the first month.
Virtual Reality is an exciting sphere, however, scientists predict that the influence of AI will prove much more rewarding. Before we explore the possibility of success, it is important to get a critical understanding of how Artificial Intelligence works and how it can be applied.
What is Machine Learning?
Machine Learning is all about providing a system with the ability to learn independently from a given stream of data. How does this work? We achieve this by feeding the system with information and other relevant input which can be relied upon to make associations, find hidden patterns, and ultimately engender more accurate future predictions.
We can either utilize Reinforcement Learning or Deep Learning.
In Deep Learning, a machine is able to learn from the actions of others. This can be achieved by subjecting the system to large streams of data. Via Deep Learning, we can classify, cluster, and make predictions about data based on the examples shown.
This involves imbuing the machine with certain tenets of right and wrong and then allowing it to execute tasks based on the recommendation. These random actions are either rewarded or punished based on how the system adheres to the laid-down precept.
The Game Development Industry and Machine Learning
For several years, game developers have been wary of Machine Learning and this has limited the use in many games. In fact, there’s no major game release which has featured Machine Learning concepts. Some attribute this occurrence to the notion that ML techniques are not important to the advancement of game dev.
However, there are new possibilities which might see many game development companies create games which will match the player’s ability rather than improve the ability. One of the major stakeholders in the game development market, EA, recently announced a Deep Reinforcement Learning initiative.
This idea was conceived in the hopes of exploring the limitless possibilities of future games and AI. It hinges on the combination of Deep reinforcement learning and imitation learning. This imitation learning is a way in which the training speed of an agent is improved by imitating the style of a professional player. This guarantees at least 4 times the speed of normal training.
Apart from EA, Google’s DeepMind, in 2015, published the results achieved via the combination of deep neural networks and reinforcement learning. By doing this, the system was able to master a variety of Atari 2600 games with consummate perfection. Surprisingly, the only input to this system was the raw pixels and the score.
Why Develop Games with Machine Learning?
Dr. Julian Togelius, a professor at Tandon School of Engineering, New York, explained that Artificial Intelligence is one way to keep games more profitable. Even though some argue that it can be used to challenge players better and create more realistic games, Julian posits a simpler approach.
There are games such as Spelunkyy, which can rearrange the difficulty of each level as it is being played, No Man’s Sky, which uses an almost infinite number of planets to create an entire universe. Pathfinding algorithms which allow characters to identify alternative routes to take are some of the developed areas of AI. Also, the intelligent design of characters featured in games like Creatures, Skyrim, Galactic Arms, and Assault are milestones.
Factors to Consider when Creating a Learning Agent
Creating adaptable games can only be done after a learning agent has been developed. A learning agent comprises the element of learning, the performance element, an element which piques curiosity, and a critic to analyze the performance.
The Learning Element
This is concerned with modifying the behavior of the system. Basically, if there’s a new skill to be learned, this element ensures that such improvement is made to the agent.
For this, the system is able to generate input or information received and then take decisions based on the input received. For example, if the game is one which involves avoiding obstacles to move from point A to point B, then the performance element is concerned with the obstacles and how the agent will make the appropriate movement.
The Problem Generator
This is the element which generates curiosity or problems for the agent to navigate.
Also known as the performance analyzer, it is concerned with how well the system achieves the stipulated objectives. This is mostly measured with respect to a given threshold and after analysis, the performance analyzer is burdened with determining if there are improvements which can be made in the future.
Obstacles to Machine Learning in Game Development
As evidenced by the lack of adoption among game developers, ML has certain serious drawbacks. Some of them are discussed in the ensuing paragraphs.
Getting the Best Talent to Learn From
If a machine is taught to learn from a human player, that player is expected to be one of the best in the field. For example, a system which is expected to achieve proficiency in tennis is expected to learn from Roger Federer or Serena Williams. Finding a way to apply this principle to mundane games will prove more daunting.
Adapting to the Difficulty of Different Levels
A system which learned from its experience in one of the less difficult levels might find the next level more challenging, perhaps, impossible to complete. The computers are quick to generalize solutions and unless a specific learning method is enforced, this issue will persist.
Machine Learning has immense potential in game development. The possibilities abound, however, the challenges are also innumerable. Without a doubt, game development will experience a proliferation of these ML concepts, it is only a matter of time.