XNibbles 1.0 Beta README

1] What is XNibbles?
2] How do I compile/install XNibbles?
3] How do I run XNibbles?
4] What is the goal?
5] How do I control the game?
6] I want to write levels...
7] Contact info, licensing, patches, copyright, etc

1] What is XNibbles?

XNibbles is a game for X11R6.  It is conceptually based on nibbles, which was a
program that came with qbasic for MS-DOS.  XNibbles is actually written in C++,
and shares no code with qbasic nibbles.  For those of you who have played the
game before, you can attest to the fact that it is extremely fun and addictive.

2] How do I compile/install XNibbles?

To compile XNibbles, you will need X11R6, the XPM library, a c++ compiler (we
recommend g++), a c++ library, and a make utility.  First look at the Makefile
and decide if you need to change any of the options, especially if you are
using a Linux system.  Then type 'make' for a list of tested platforms.  If
your platform is listed, simply type 'make <system-type>'.  If your platform is
not listed, you can try to compile anyway for one of the other platforms, or
edit the Makefile by hand.  After compiling type 'make install' to install the
game.  It will be put in /usr/local/bin, with data in
/usr/local/games/xnibbles, unless you changed these destinations in the
Makefile.

3] How do I run XNibbles?

Simply type 'xnibbles'.  The game has a number of command line parameters.

   -s <speed>            20 (fast) to 100 (slow) [35]
   -n1 <name>            Set player 1's name
   -n2 <name>            Set player 2's name
   -c1 <color>           Set player 1's color
   -c2 <color>           Set player 2's color
   -classic              Classic nibbles
   -level <level>        Start and stay on level <level>
   -random               Plays levels in random order
   -2                    2 player mode (assumed with -n2 or -c2)
   -i                    Install private colormap
   -q                    Run quietly (less text output)
   -ns                   Disable sound
   -j1                   Enable joystick for player 1
   -j2                   Enable joystick for player 2
   -display <display>    Set the display name

Valid colors are red, green, blue, yellow, cyan, and purple

If you have disabled sound and/or joysticks in the Makefile, the -ns, -j1, and
-j2 options will not be supported.

4] What is the goal?

The goal of the game is to work your way through the levels, which become
harder and harder.  You do this by running your snake over the blue diamonds.
For every 10 diamonds you acquire, you move up one level.  A question mark is
a warp; this may be random or directed.  Along the way, a number of other
diamonds will be encountered.  Some of these bonuses, including the blue ones,
will be fakes; you will bounce off of these.

Diamonds Types

Red    - This bonus shrinks your worm to half of its previous length, and gives
         you points for each worm segment removed.
Gold   - This bonus grows your worm to double its length, and gives you points
         for each worm segment added.
Green  - This bonus gives you an extra life.

Two-player Only Diamond Types

Cyan   - This bonus is the most complicated.  Each time you encounter one, you
         gain the ability to cut your worm in half, leaving the remains of your
         worm behind as a permanent obstacle for the remainder of the level.
         When you have one available, an icon of the bonus appears next to your
         name on the scoreboard.
Purple - This bonus reverses the direction of your opponent.

5] How do I control the game?

Each player has five keys.  Worm controls for the first player are the arrow
keys, sometimes the numeric keypad :), and for the second player control is
'w' up, 's' down, 'a' left, and 'd' right.  Each player also has an action key,
which activates the cyan bonus described in section [4].  For the first player,
the action key is Right Control, and for the second, the action key is Left
Control.

Other keys which control the game are:

   'g' to start the game.
   'p' pauses the game.
   't' toggles sound effects.
   'q' quits the game.

Lots of this is, of course, invalidated if you are using the joystick support.
In that case, you wave the stick around, and your action key is the first
button.

6] I want to write levels...

Writing levels is really, REALLY, ridiculously easy.  We wrote a level editor.
If you are interested in contributing levels, please see the README in the
levels directory for instructions on how to create new levels.

7] Contact info, licensing, patches, copyright, etc

The authors of XNibbles are Ian Peters (ipeters@acm.org), and Sean MacIsaac
(sjm@acm.org).  Feel free to contact us at any time.  If you make any changes
to source, or add a Makefile target, etc., please email us the changes so that
they may be incorporated into the next release.  XNibbles is Copyleft'd under
the GNU Public License.  See the file COPYING for information.

The XNibbles distribution site is http://www.tjhsst.edu/xnibbles/.  Versions
may also be found on sunsite and assorted other ftp sites.
