UltraPool (because SuperPool and MegaPool were already taken)

UltraPool is an open-source game based on the Allegro Game library that I have been working on in my spare time since the beginning of January 2007. My goal is to create a fun, easy to use pool game that can be easily extended to support additional features in the form of status effects that appear on the board. It also loads the game boards from a file so that it is easy to change the layout of the game board. Furthermore, the map files are simply the game board drawn in specially formatted ASCII art (explained in more detail below), so it's extremely easy to make new levels!


"Installing" and Running the game:

  1. Download the zip file below that matches the kind of computer you have.
  2. Unzip the contents of the zip file to your desktop.
  3. If you haven't read through this site, take a look at the readme file to get a quick introduction to the game.
  4. Open the ultraPool folder.
  5. Run the ultraPool program.
A note on Linux and OS X: You will have to make sure the Allegro library is installed first. Many versions of Linux have Allegro as a package that can simply be installed. In OS X and versions of Linux without such a package, you may have to compile the Allegro library from scratch. The Allegro website has more information.


Playing the game:

When you load the game, it will display previews of several different pool boards you can play on. Click on one of the boards to play a game on that board.

Once the board has loaded, it will be player 1's turn and a picture of their ball will be shown on either side of their name at the top of the screen. Player 1 takes their turn by clicking on one of their balls and, while still holding the mouse button down, dragging the mouse away from the ball to draw the pool cue. The longer the line is, the more powerfully they will hit the ball when they release the mouse. Once all the balls stop moving, it will be player 2's turn. Play continues until only one player has balls left, at which point the winning player's name is displayed on the screen and clicking anywhere will exit the game. If you wish to quit the game before that, all you need to do is hit the Esc key.


Status Effects:

  1. Reflecter: When a ball hits a Reflecter, the direction it's traveling is reversed.
  2. Bumper: When a ball hits a Bumper, it bounces off of it just as it would another ball.
  3. Gravity Well: When a ball rolls over a Gravity Well, all of the balls are drawn toward the Gravity Well for a short period of time.
  4. Repulser: When a ball rolls over a Repuler, all of the balls are pushed away from the Repulser for a short period of time.
  5. Enlarger: When a ball rolls over an Enlarger, its size and mass both increase.
  6. Shrinker: When a ball rolls over a Shrinker, its size and mass both decrease.


Changing the table:

As mentioned above, UltraPool can load different map files so that the table is setup differently. In the folder that contains the program, you'll find a file named config. If you open config in a text editor, then you can replace the file name that follows map to change which map file it loads. See the config file description for more details on how the config file works. The mapfile description page explains how mapfiles work.


Downloads:
Current version: 1.1 (released April 9, 2007)


Copyright Information:

This game is licensed under the Creative Commons GNU General Public License. To learn more about the license and the many freedoms it grants you, follow the link provided. The images that come with the program are copyright Tebra Hansing and Walker Lindley and are released under the Creative Commons BY-SA 3.0 license. The sound effects used in this game were taken from public domain sound libraries and, in some cases, modified. These modified works are also released back into the public domain. If you believe that one of the sound effects used in this game was included in a public domain sound library incorreclty, please contact me so that we can resolve the issue.
CC-GNU GPL Creative Commons License