Rock 'n' Spin 3D
================

(C) 2002 Ben Davis. All Rights Reserved.

Permission is granted for anyone to play and distribute this game, provided
this file (readme.txt) is included without any modifications and the game is
not crippled in any way. Permission is NOT granted for anyone to try to make
money from this game in any way, without prior written permission from me,
Ben Davis. I'd appreciate feedback; see the end of this file for contact
details.

This game is unfinished. Apologies for the rough edges. I may one day finish
it, but then again I may not.


Object
------

The object in this game is the same as that in the original 2D version;
collect all diamonds. You aren't supposed to let rocks fall on your head, but
this game lets you get away with it. For now. ;) Nothing more elaborate is
implemented, so there are no spinners, safes or anything. However, this game
has one thing the 2D version lacks - a two player mode!

Each level specifies how many players it is designed for. Sorry, but you
can't override this. A two-player level may have places where the two players
have to cooperate; a one-player level may have points where it's impossible
to get two players through safely. You can of course control both players
yourself if you want to.


Controls
--------

The keys are currently semi-hardcoded and can't be changed, so get used to
them. They are as follows:

                      Player 1   Player 2

Move Forwards         A          [      (just to the right of P)
Move Backwards        Z          @ or " (two to the right of L)
Turn Left             S          Left Arrow
Turn Right            F          Right Arrow
Look Down*            E          Up Arrow
Look Up               D          Down Arrow
Sidestep Left         X          < (to the right of M)
Sidestep Right        C          > (to the right of <)
Sidestep Modifier**   Alt        Alt Gr

*Note that looking down while you move can make a difference to what happens.
 If you are at the top of a slope and there's a rock at the bottom, looking
 down will enable you to push the rock out of the way, provided there's room
 behind the rock. If you don't look down, or if the rock can't be pushed,
 then you'll stand on top of it. (You may need to reread this after trying
 the game out.)

**When you hold the Sidestep Modifier down, Turn Left and Turn Right will
  sidestep instead of turning.

These keys are listed as for UK and US keyboards. I'm aware they move around
a lot in different countries, and I'm sorry. However, Allegro should do a
pretty good job of keeping the general positioning of the keys the same; try
pressing random keys and see what happens. With a bit of luck the keys will
be arranged in a sensible pattern for you.


Editor
------

When you run the editor, you get to use Player 1's keys to move the camera
around. The controls work differently though; you do not go up or down
slopes. If you use them as indicated above, you will always stay at the same
level. However, there is an extra operation that allows you to move up and
down; hold the Sidestep Modifier and use the Look Down and Look Up controls.

There is a white dot somewhere in the level. It will always appear on top,
even if it is behind something, so beware; you may have to move the camera in
order to be sure of where it is. Use the following keys to move the dot
around:

J  Move dot left relative to camera
L  Move dot right relative to camera
I  Move dot up
K  Move dot down
Y  Move dot away from camera
H  Move dot towards camera
F2 Load level
F3 Save level
F4 Change fog colour*

F4 simply iterates through the colours in the palette, and there are 256 of
them. If you go past the colour you want you'll have to go all the way around
again, and you probably won't remember where that colour was. Sorry.

At present there is no way to change the size of the level. Levels can extend
as far up as you like, but you can't go down further than a certain point,
and everything is restricted to be inside a column of dimensions 10x10. This
is an unnecessary restriction and will be removed just as soon as I can be
bothered. :P

You don't need to remember any keystrokes from here onwards; just read this
section so you've got a general idea of what's going on. There will be an
on-screen reminder in the editor.

There are four modes for editing the level. They are outlined below. Press N
to switch between modes.

Blocks
   Use this mode to construct the general shape of the level. Move the dot to
   the block you want to change. Press M to clear it out (so this forms part
   of a walkway where the player can be). Press < to fill it in. Press > to
   insert a slope here; keep pressing > to choose between different slope
   segments.

Textures
   Use this mode to change the textures on the walls. Position the white dot
   in a cleared-out block (i.e. in a place where the player could be; not
   inside a wall). Then notice that there's another smaller white dot near
   the big one. Press N to select between 'roof', 'face' and 'floor'. Only
   one face can be selected; if you want a different one, you have to rotate
   the camera. Once you've selected the surface you want, use < and > to
   change the texture visible on the surface. Only three textures are
   available at present.

Objects
   Press < to insert an object; at present it can be a diamond or a rock. If
   you get the wrong one, press < again and it will change. You can use M to
   remove objects, and also to clear slopes and walls out. It says you can
   use > to edit the object, but you can't. Sorry. :P

Players
   Press < to place Player 1 at the white dot. Press > to place Player 2
   there. The player will be removed from her previous location. When you
   place a player, any existing object at the white dot will be removed,
   including the other player. You can use M to remove objects and players
   and clear slopes and walls out. The editor will insist that Player 1 is
   placed somewhere before it lets you save the level.

That's all there is to the editor. It can get clunky at times, but then so do
practically all 3D editors. It works reasonably well for me.


Other
-----

If the music gets annoying, you can disable it by renaming piece01.xm to
something else. You can even substitute your own music by giving it this
name, provided it is a Fast Tracker II module. Or do what I often do while
developing; disable music and set Winamp playing! You need a relatively
modern system to get sound from both programs at once though.


Conclusion
----------

That's it! I hope you enjoy the game.


This game uses:

Allegro: http://alleg.sf.net/
DUMB:    http://www.allegro.cc/forums/view_thread.php?_id=170318

Ben Davis
entheh@users.sf.net
http://bdavis.strangesoft.net/
