A ROS1 package to simulate the popular Atari's Breakout arcade game in Gazebo.
breakout_gazebo.mp4
-
Install python dependencies using pip3:
pip3 install -r requirements.txt
-
Finally, install all the dependencies using
rosdep
:rosdep install --from-paths $ROS_WS/src --ignore-src -r -y
-
Build the workspace:
catkin build breakout_gazebo
-
Launch the game and control the paddle using arrow keys (left and right), after activating the simulation using the space bar:
roslaunch breakout_gazebo breakout.launch
- There are two screens to the game as the original Breakout game. The second screen is unlocked after clearing the first screen (reaching 448 points).
- There are 3 lives in total. The game is reset after losing all lives.
- The game is won after clearing both screens and is reset after that.
- The scoring metric is as follows:
- Each green brick is worth 1 point.
- Each yellow brick is worth 3 points.
- Each orange brick is worth 5 points.
- Each red brick is worth 7 points.
- The speed of the ball is increased by 1.5x its original speed whenever:
- The ball gets 4 hits on the bricks.
- The ball gets 12 hits on the bricks.
- When the ball breaks through the orange bricks.
- When the ball breaks through the red bricks.
- The entire package is formatted against roslint and catkin_lint.