ML Breakout

Machine Learning vs Human for a replica of Atari's Breakout.

Objectives


Build a replica of Atari’s Breakout and train a neural net with reinforcement learning algorithms from Unity ML-Agents to play the game.

Agent: paddle
Action Inputs: left, right

Observations (of the paddle-agent): Distance from paddle to ball, direction of ball relative to center of paddle, distance from each wall to edge of paddle (no raycasting needed, should be able to calculate). Others?

Rewards: Tiny reward for the ball moving, tiny reward for deflecting ball with paddle, large reward for breaking bricks, large penalty for losing ball.

Granular Requirements:
Build a Unity Breakout clone.
Train a neural net with reinforcement learning algorithms from Unity ML-Agents to play the game.
Include a 2-player or side-by-side mode so that Humans can compete against Machine.

Stretch Requirements:
Add progressive difficulty and levels.
Implement multilevel Breakout where each level has a neural net that is trained for progressively longer periods of time. Player can see how long a neural net needs to train before it can beat them.
Leaderboard

Motivations


This is a great way to be introduced to ML and neural nets. Unity and possibly Tensor Flow do the heavy lifting. A learning project for sure!

Qualifications


Minimum Qualifications:
None Listed

Preferred Qualifications:
None Listed


Details


Project Partner:

William Pfeil

NDA/IPA:

No Agreement Required

Number Groups:

1

Project Status:

Accepting Applicants

Keywords:
C#Machine LearningGame DevelopmentUnityNeural Networks
Card Image Capstone