ML-Breakout

C#
Web
Artificial Intelligence (AI)
Gaming
Unity

This game was developed using Unity and ML-Agents and uses reinforcement learning to train a neural network on how the game should be played. First, a clone of the Atari Breakout game was developed in unity. Then the ML-Agent was trained to move the paddle left or right while being provided observations about the ball, paddle, and blocks. The Agent was given rewards for hitting the ball with the paddle, breaking bricks, and a penalty for losing the ball. By allowing the ML-Agent to train for increasing amounts of time, the Agent will learn what actions maximize the rewards and minimize the penalties, effectively learning to play the game. In addition to developing the required game and a trained agent, we decided to expand the project to offer a multiple levels, a leaderboard, multiple trained models, and deployment of the game using WebGL to Unity Play. This game demonstrates the learning behavior by offering three different levels of model training: - Beginner - the ML Agent was trained for 7 minutes. - Intermediate - the ML Agent was trained for 11 minutes. - Advanced - the ML Agent was trained for 44 minutes. This project was developed by Jonathan Reuter (reuterjo@oregonstate.edu), and Joel Strong (stronjoe@oregonstate.edu / www.jdstrongpdx.com) as part of their Capstone course at Oregon State University. We used a GitHub repository with CI/CD and workflows found at: https://github.com/ReuterJo/ML-Breakout

0 Lifts 

Artifacts

Name Description
Showcase Poster Poster describing the ML-Breakout project.   Download
Playable ML-Breakout Link A link to the WebGL deployment of the project hosted on Unity Play   Link
GitHub Code repository   Link
Project Demonstration Video A high level overview and demonstration of the project.   Link
Feedback