                   ######    ###    ####    ####     #### #
                    ##  ##    ##     ##      ##     ##   ##
                    ##  ##   # ##    ##      ##     ##
                    #####    # ##    ##      ##      #####
                    ##  ##  ######   ##      ##          ##
                    ##  ##  #   ##   ##   #  ##   # ##   ##
                   ######  ### #### ####### ####### # ####

                                              by entheh (entheh@users.sf.net)
                                               http://bdavis.strangesoft.net/


                               --- General ---

Thank you for downloading Balls, my entry into the third Ludum Dare 48-hour
competition ( http://ludumdare.com/articles/?link=v&arid=57 ). In accordance
with the rules of the competition, I wrote this game in two days flat. That
includes composing the music, creating all the samples, drawing all the
graphics and designing the levels. Most of the samples were sampled from a
MIDI device or synthesised by me during the time. One very basic sample was
taken from a sample distribution I downloaded long ago (this was approved). I
ripped several samples for the music, and had to replace them later when I
found out that wasn't allowed. So don't be too harsh!

Enjoy this game. Feel free to distribute it, unmodified. But try to make
money from it, or claim you wrote it, and I will hunt you down and kill you.

This game needs no instructions on playing. Part of the fun is experimenting
and finding out how it works!

If you have the .zip distribution for DOS and Windows, you'll find two
executables: ballsdos.exe and ballswin.exe. If you are unsure of the
difference, try them both and see which works better. The source is included,
but if you want to compile it you will have to be creative; there is no
Makefile.

If you have the .tar.gz distribution for Linux, see the next section on how
to compile it.

Balls accepts three options at the command line:

   --help     - list the options
   --nosound  - disable sound and music
   --windowed - run in a window (unavailable in the DOS version)

You can also pass a filename, and Balls will attempt to read the levels from
the file specified rather than the usual levels.txt.

Have fun!


                      --- Compiling Balls for Linux ---

DOS and Windows users can skip this section unless they have a morbid
interest in Linux.

If you have the .tar.gz distribution for Linux, you will find a Makefile.
First you have to make sure you have Allegro and DUMB installed.

Allegro is a low-level game library, available at http://alleg.sf.net/ . Any
recent version should do. It has its own installation instructions, but the
usual procedure for Linux is:

   ./configure
   make
   su -c 'make install'

DUMB is a music playback library, available at http://dumb.sf.net/ . You
should use DUMB v0.9.2 or newer. Again, it has its own installation
instructions, but the following should work on Linux in DUMB v0.9.2:

   make
   su -c 'make install'

Be sure to request Allegro support! If you forget this, you can get the
configuration again by running:

   make config

If you can't be root, or want to install stuff for yourself only, see the
documentation that comes with Allegro and DUMB.

Once Allegro and DUMB are set up, type 'make' in the balls/ directory. The
program should compile, after which you can run './balls'. You may get better
performance running it as root (which enables it to use the DGA or DGA2
drivers), but if you do that you have to trust that my program is not
malicious AND make sure that no user can overwrite your executable with a
malicious replacement!


                           --- Designing levels ---

The file format should be intuitively clear. The symbols are as follows:

   . - blank tile
   # - wall
   % - weak wall (breaks when hit by a ball)
   / - deflector
   \ - deflector
   * - bomb
   ^ - mound
   x - pit
   o - goal
   l - ball going left
   r - ball going right
   u - ball going up
   d - ball going down

The outer walls are included in the level file for clarity, but the game
won't let you change them to anything else. They will always be walls.

The specification under each level is how many of each tile the user is
allowed to place. The first one indicates how many tiles the user is allowed
to destroy.


                              --- Conclusion ---

My home page is http://bdavis.strangesoft.net/ . There you will find all my
released projects and some background information on me (some of which is
extremely silly). I may be contacted at entheh@users.sf.net .

Good luck to all the other entrants!

- Ben "entheh" Davis
