We completed our own breakout-style game which features single player and a split screen mode in which you play against an ML agent we have trained via reinforcement learning. What this entails is giving rewards to our agent for positive behaviors like hitting a brick, hitting the paddle, or keeping the paddle close to the ball. The agent seeks to maximize these rewards, so as the iterations go on it, more and more positive behaviors are created. The game also enables the user to select between easy, medium, and hard difficulties that adjust ball speed and paddle size. On top of that, the user can select between a variety of Agents from 1, 2, and 3. Each have unique behaviors due to the differences in training listed below. - Agent 1 - ML Agent was trained on 500,000 steps at slow ball speed - Agent 2 - ML Agent was trained on 1,000,000 steps at moderate ball speed - Agent 3 - ML Agent was trained on 2,000,000 steps at fast ball speed