SHEEP 2                            Ben Davis aka entheh - entheh@users.sf.net
=============================================================================

Sheep 2 is my entry into the Ludum Dare 48-Hour Competition #2 (visit
www.ludumdare.com for details). As the competition's name suggests, I wrote
this in 48 hours flat. With the exception of some approved libraries (see the
Compilation section for details), the rules also restricted me to doing
everything myself within these 48 hours. I didn't rip any art or code from
anywhere, not even my older projects. Not even Sheep! (See below.)

Well, I didn't write the music. I did play it though! Does that count? (Geoff
said it was OK to do that.)


Licence
-------

Basically, enjoy it. Modify it if you like, as long as you make it clear that
it's been modified. But charge money for it, or claim you wrote it, and I'll
hunt you down and kill you.


Compilation
-----------

DOS and Windows users, you have it easy; provided you downloaded the correct
version (the .zip), executables are included in the download. If you have a
really old computer, you may find the DOS executable performs better. On the
other hand, if your Windows DirectX installation is up to date and relatively
bug-free, the Windows executable will most likely run more smoothly.

If you are running under pure DOS (i.e. Windows isn't running), you will need
CWSDPMI, available at:

   http://www.delorie.com/djgpp/

For other platforms, you will have to compile the game yourself. A makefile
that works on Linux is included; if it fails, feel free to modify it
appropriately.

The libraries you need are as follows:

   The Ogg Vorbis libraries                  - http://www.vorbis.com/
   Allegro                                   - http://alleg.sf.net/
   DUMB and DUMBOGG (make sure to get both!) - http://dumb.sf.net/

The Ogg Vorbis libraries may well be on your system already.

If you have trouble compiling Sheep 2, please don't hesitate to contact me.


About the game
--------------

Sheep 2 is a sequel to my popular (ahem) game, Sheep, available at the
following URL:

   http://www.allegro.cc/depot/project.php?_id=281

Unfortunately, the release of Sheep had some rather unpleasant ramifications.
Just weeks later, it hit the news: foot and mouth disease was sweeping the
United Kingdom. Sheep were suffering; farmers were having to forfeit their
herds; the places country walkers could go were cruelly limited. I felt I had
to do something to make up for the trouble I had caused, so in Sheep 2 your
mission is to save as many sheep as you can.

When you start the game, you will find yourself in an expanse of water with a
few patches of grass, and perhaps some blocks of bricks and concrete. Up
above will be some of those bubble blowers children play with. You will have
some time to go around remodelling the level before anything happens.

The controls are as follows (Descent fans should be comfortable with these):

   A          - walk forwards
   Z          - step backwards
   Arrow keys - look around
   Space      - place or destroy block in front of player

The remodelling works as follows. At the top of the screen you will see a
pipeline. The leftmost block is ready to place. You can see the next four
blocks; this enables you to plan ahead a little.

If you press Space when there is room in front of the player, a block from
the pipeline will be placed. However, this can only happen if the block will
have good support underneath it.

If there is already a block in front of the player, you can destroy it. You
have to hold Space down for a moment to make this happen. If there are any
blocks on top of the one you destroy, they will fall to fill the gap.

Concrete blocks cannot be destroyed.

In due course, the bubble blowers will become active. Unlike the ones you can
buy in the shops, these jumbo-sized bubble blowers have an awe-inspiring
ability to insert sheep in the bubbles. (Sound familiar?) These bubbles will
bounce around the landscape. If they land in the water, they pop and the
sheep meet a watery death. Your goal is to engineer the level to the best of
your ability so that the sheep land on the grassy patches where they are
safe.


Designing your own levels
-------------------------

This section should be of interest to everyone, since I ran out of time
before I could design any decent levels!

Use levels.sh2 as a reference. To add subsequent levels, place them after the
existing one. The best way is to copy and paste the existing level
(everything apart from the title at the top and the number of levels
specified just below it).

There are four top-down maps per level. The first one specifies how many
indestructible concrete blocks to place initially. The second one specifies
how many ordinary brick blocks to place on top of these. The third one
specifies what to top the columns with, and the following numbers are valid:

   0 - place nothing
   1 - place an extra solid block (not that useful)
   4 - slope, downhill as you move upwards on the map
   5 - slope, downhill as you move rightwards on the map
   6 - slope, downhill as you move downwards on the map
   7 - slope, downhill as you move leftwards on the map

The fourth map specifies where the grass should be. 1 for a grassy patch, 0
for water. Simple.

For the first and second maps, if you need values greater than 9, continue
the sequence with A, B, etc. If you need to go beyond Z, you're insane.

Any coordinates refer to map positions, zero-based, starting from the top
left-hand corner of the map. If there is a third value, it is the height
above the water. If there is a value afterwards outside the brackets, it is
a direction the entity should face:

   0 - upwards on the map
   1 - rightwards on the map
   2 - downwards on the map
   3 - leftwards on the map

Times are in centiseconds, i.e. 100 units to a second.

The rest should be self-explanatory. Or at least, if you don't understand it,
there's little I can say in this file that will help. If you design any cool
levels, let me know!


Credits
-------

Idea                 - Ben Davis

Programming          - Ben Davis

Programmer Art       - Ben Davis

Level *cough* Design - Ben Davis

Get the idea? I did it. I did it all. But...!

Music             - Etudes Opus 10 Nos. 4, 8 and 12 (The Revolutionary Study)
                    Frederic Chopin
                    Played by Ben Davis
