XNibbles 1.0 Beta Level Creation README

1] Can I write XNibbles levels?
2] What do I need to write XNibbles levels?
3] How do I get started writing XNibbles levels?
4] What do all those letters mean?
5] How do I install my level?
6] Does this README have to do with playing the game?
7] Contact info, licensing, patches, copyright, etc

1] Can I write XNibbles levels?

Yes.  In fact, you can use the levels you write without recompiling.  More
importantly, you can MAIL THEM TO US, so we can incorporate them into the next
release.  That way, everyone will have lots of levels to play, instead of
endlessly repeating level 12 over and over and over again.

2] What do I need to write XNibbles levels?

You need a text editor.  Some editors that have been tested to comply with the
XNibbles Level format (.xnl) are: vi, emacs, pico, jed, elvis, vim, vile,
nedit, xemacs, ed, cat :), etc.

3] How do I get started writing XNibbles levels?

To start writing levels, you use the file template.xnl, found in the levels
directory.  This is a basic, blank level, surrounded by walls on all four
sides.  You must keep this outside wall intact.  If necessary, you can change
them from basic flat walls to t-walls, but the integrity of the border must be
preserved.  See the next section for more details.

4] What do all those letters mean?

If you've looked at the file template.xnl, and maybe any of the other .xnl
files, you've noticed that they're just simple rectangular character arrays,
made up of a bunch of letters.  Only certain letter values are allowed, and
they stand for walls, warps, etc.

  'a' - Blank floor
  'b' - vertical wall
  'c' - horizontal wall
  'd' - top and right corner wall
  'e' - top and left corner wall
  'f' - bottom and right corner wall
  'g' - bottom and left corner wall
  'h' - left, right, and top t-wall
  'i' - top, right, and bottom t-wall
  'j' - bottom, left, and top t-wall
  'k' - left, right, and bottom t-wall
  'l' - left, top, right, and bottom super wall
  'm' - a worm starts here, and goes up
  'n' - a worm starts here, and goes right
  'o' - a worm starts here, and goes down
  'p' - a worm starts here, and goes left
  'B' - a random warp
  'C' - directed warp start point
  'D' - directed warp destination

The warps need some explanation.  The warps occupy a 2x2 area on the grid, but
are encoded with a single character in the lower right of the square you want
the warp on, for reasons any good hacker would immediately comprehend.  Random
warps move the players head to any position not already occupied by a wall,
bonus, or worm segment.  A directed warp takes the player to the point
specified by the 'D' character, and thus, there should only be one (1) 'D' per
level.  Both types of warp preserve direction.  The characters 'm'-'p'
specify where the worms start.  The first one encountered, reading left to
right, then top to bottom, specify where the first worm starts, and it's
direction.  The next one encountered specifies the same for the second worm.
There need to be two, and only two, of the characters 'm'-'p' in every level.
If there aren't two, it will most likely cause a Segmentation Violation.  Yeah!
If there are more than two, we're sure bad things will happen.

5] How do I install my level?

Installation of a new level is extremely easy.  First, move the file into the
levels directory, preferably with a .xnl extension.  Actually, this entire step
is completely optional, but usually helpful.  Really, the key is adding the
full path of the level to the file LEVELS, found in the levels directory, in
the position you want your level to appear, i.e. first, fourth, last, etc.  You
don't even need to recompile the game - just run it.

6] Does this README have to do with playing the game?

No, you fool!  Read the README in the main directory.  This README is about
writing levels, if you hadn't noticed.

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.
