Project thumbnail image
College of Engineering Unit: 
Electrical Engineering and Computer Science
Project Team Member(s): 
David Cronk, Lance Adriano, Steven Bui, Amanda Dattalo and Sarp Kocabagli
Physical Location at Expo: 
Kelley Engineering Center
Project ID: 
Project Description: 

Our team developed a Machine Learning (ML) Tower Defense Game to explore the possibilities and benefits of ML on artificial intelligence (AI) in video games. Our project partner, Bill Pfeil, discussed the problem of ML in the video game industry saying that there are currently not many games that use ML for enemies or in general due to the complexity or risks that come with developing it. However, both the team and our project partner were still curious about the possibilities of ML on AI in video games.

The creation of a successful ML influenced game could change the way games are currently being developed in the video game industry. Instead of including AI that takes months to manually program in their games, game developers could use ML to quickly implement characters that naturally react to a player’s choices. Interactions such as talking to non-player characters (NPC) could be completely replaced by a ML algorithm like we see in products such as Amazon Alexa. Additionally, AI could automatically adjust their own difficulty and create a tailored experience for all users regardless of skill.

The requirements for this project included creating multiple types of enemies and towers that interacted similar to traditional tower-defense type games. One of these enemies had to be influenced by machine learning in some way, which we decided would be most interesting with the ability to attack and destroy towers. Since our goal was to show the effectiveness that ML enemies could have in supplementing difficulty, we also needed to balance our game to deliver a fair experience to players.

To complete this project, our group utilized the Unity Engine. The Unity software provided a user-friendly interface where our group could easily collaborate, make use of free art and music assets, and develop machine learning algorithms using the free ML-Agents package that comes with Unity.

We found that our ML influenced enemies were efficient to develop and performed effectively. With careful consideration for observational parameters, actions, and rewards, training and embedding the neural networks created by our algorithms was just as easy as programming traditional hardcoded AI. While some behaviors can be modeled without the use of machine learning, some tasks such as movement were shown to behave more logically with the inclusion of ML. From this project, we can see that machine learning in video games can certainly be a useful tool for developers.

Project Website(s): 
This team is open to networking
This team is open to employment offers