a simple breakout clone written in Ruby with rubygame
Ruby Perl
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Block Bounce

Written by: Tyler Church

Version: final1


Copyright © 2009 Tyler Church

This software is provided ‘as-is’, without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgement in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.


alpha – Some features implemented. More features in each successive release. Not all features decided upon.

beta – All features implemented, adding few extras (levels, sprites, etc) and bug fixes

final – All features implemented, anything after final1 is purely bug-fix, or contributed additions


This game is a simple breakout clone.
I am making this for a few reasons:

  • To test and improve my development skills
  • To create a reusable tile engine
  • To create a tile map editor
  • To create a game with physics!

Running The Game

(Note: This game is tested and developed on Linux with Ruby 1.8.7)
You need Rubygame installed (see below) to play the game
To run the game use the command:

ruby -rubygems block.rb

Installing Rubygame

Mac and Windows Instructions
Ubuntu/Debian Instructions

Playing The Game

In The Menu:

  • Start starts a game that plays through all levels (your progress is saved if you quit)
  • Continue continues a game from where you left off
  • Play Level lets you choose a specific level to play
  • Options lets you turn on and off FX, change the speed of the ball, reset progress, and reset everything
  • Quit quits the game

In Game:

  • Your mouse moves the blue paddle
  • You goal is to destroy all the blocks on the screen
  • Blocks occasionally drop “powers”, which alter certain parts of the game
  • Press ‘p’ to pause the game
  • Press Escape (ESC) to quit
  • HINT: Some powers are good, some bad, its up to you to figure out which are which
  • HINT: The ball bounces at a different angle depending on where it hits the paddle

Running The Level Editor

ruby -rubygems level.rb

Running the Level Properties Editor

ruby -rubygems properties.rb

Running The Sprite Editor

It is recommended that you do NOT use the sprite editor. Just use a different program and save to a .bmp file

ruby -rubygems sprite.rb [existing-sprite-name]

See doc/SPRITE-DOC for full information