Document DiamondCaves V1.3 documentation

                                 Diamond Caves
                                -=============-

                            Version V1.3 (09.04.1995)

                     (C) Copyright 1994/95 by Peter Elzner

                                 - Shareware -

1. * Read this if you hate reading docs! *
==========================================

 Welcome to Diamond Caves V1.3!

 Here is a quick overview about what to do and what to read to start
 immediately:

 - If you have a vague knowledge of what the game is about, you may start right
 now, playing the 25 "Tutorial"-Levels. They will introduce you into all of the
 important things and extras of Diamond Caves. The 25 "Game"-Levels are for
 more advanced players.

 Newusers should read `Whats it all about?'.

 If you constantly fail to solve a Tutorial-Level, try watching the record-file
 by clicking on "Replay-game". The main menu and all of its gadgets are
 discussed in `Title Screen'.

 - If you want to reconfigure Diamond Caves read the chapter `Tooltypes'. By the
 way: The registrated version of Diamond Caves will come with a MUI-based
 Preferences program so no need to mess around with tooltypes if you register.

 - If you like the game, want to have more Levels or even like to create some
 of them yourself, read the part `How to register' because you won't get the
 Editor or new Levels without paying the shareware (it's worth it!).

 - If you have comments, ideas or found some kind of bug, feel free to tell me
 (see `How to contact the author'). But before asking stupid questions :-) read
 the chapter `Frequently asked questions'!

 - New version may be released in the future. Read about the planned features in
 `Plans for the future' and be sure to know `How to get updates'.

 - Do you think Diamond Caves is a bit slow on your Amiga? Then read
 `How can I improve game speed?' in the chapter `Frequently asked questions'.

 - And finally: If you are some kind of PD-distributer and want to sell Diamond
 Caves on Disk/CD-ROM or whatever, read the chapter `Copyright & Distribution'.

 That's about it, enjoy the game.

2. Requirements
=================

 This game is written in a OS-friendly way, so it may not be as fast as a
 common hardwarehack would be. The game requires:

 - Kick 2.0
 - a 68020
 - 1 MB chipmem
 - Commodore's Installer (can be found on your Workbench-Install-Disk)

 recommended for ultimate joy:

 - Kick 3.x
 - a 68030
 - 2 MB chipmem (the maximum possible playfieldsize is 102x102 squares, this
                 will need about 1.3 MB of chipmem !)

 If you wonder why I decided to base the game on OS-routines or why there is
 no 68000-version, read the `Frequently asked Questions'.

3. Installation
===============

 Diamond Caves comes with a ready-to-run installer-script for the Commodore
 Installer. Just click on the icon and follow the text in the window.

 Basically, the script will copy all files in a Directory, assign the name
 "DC:" to it and install some of the tooltypes.

4. Copyright & Distribution
=============================

4.1. COPYRIGHT
--------------

 Diamond Caves is copyrighted (C) 1994/95 by Peter Elzner. That means that you
 are NOT ALLOWED to modify the program(s) and documentation in any way.
 Especially you MUST NOT REMOVE the documentation or this text file.

 You are NOT allowed to use this software or any part of it for any other
 purpose than that one mentioned in this documentation, this also includes 
 any images and samples.

 Diamond Caves is `SHAREWARE'!

4.2. DISTRIBUTION
-----------------

 This package is freely distributable. That means you are allowed to
 re-distribute this package as long as you follow these points:

 - Any re-distribution has to include all files in this archive, without any
   modifications. You are NOT allowed to add or remove any files to/from the
   archive.

 - This package may be freely distributed via BBSs, InterNet/UseNet, software
   libraries such as Fred Fish's and Aminet CD-ROM, and other similar
   electronic channels. You MUST NOT include it on any disk that is selled for
   more than 5 US Dollar (or an equivalent in other currencies).

 - Disk magazines and services that charge extra for file transfers may NOT
   distribute it without written permission by Peter Elzner!
   See `How to contact the author'.

4.3. DISCLAIMER
---------------

 By using this product, you accept the FULL responsibility for any damage or
 loss that might occur through its use or the inability to use it. The
 developer of the software can NOT be held responsible.

4.4. SHAREWARE
--------------

 This product is SHAREWARE. "Free distributable" only says that you do not have
 to pay for copying or re-distributing the unregistrated version of the
 program. You are allowed to test this product for 30 days. If you like it and
 decide to use the product regularly, please read the chapter `How to register'
 and pay the shareware fee.

5. Whats it all about?
=======================

 A short introduction to Diamond Caves.

 This game is based on the idea of Boulder Dash back on the good old C64. I
 added some new ideas (and some gfx/sfx) of Emerald Mine by Kingsoft and a
 bunch of my own ideas (and ideas of my friends, ...).

 The main goal is to collect enough Emeralds and reach the Exit in time.

 You may control the player by moving your Joystick in the appropriate
 direction. Pressing the button and moving the Stick causes the Player to stand
 still and collect the item in the given direction.

 P will Pause the game,
 ESC quits,
 the F-keys change the view-area:
 F1: Focus on Player 1
 F2: Focus on Player 2
 F3: Focus on both Players (note that you can't walk out of the visible area in
 this mode).

 If one of the Players is controlled by Keyboard, he may be moved using the
 cursor-keys, Space is the firebutton-equivalent.

 How many Emeralds you have to collect and how many seconds are left is visible
 at the bottom of the screen.

 All of the extras described below are shown one by one in the 25 Tutorial-
 Levels.

5.1. solid objects
------------------

 There are many things in the game just "lying around", some are described
 seperately in `Things to collect'.

 - Rocks
 Well, a rock is a rock. Be sure not to rest below one of them, they might
 smash you!

 - Bombs
 Highly explosive!

 - Nuts
 They reveale an Emerald if smashed by a rock.

 Rocks, Bombs and Nuts can be moved!

 - Walls
 Six types of walls:
   - steel Walls - can't be destroyed
   - brick Walls - can be crushed using some kind of explosion (Bomb)
   - special brick Walls - will expand to the sides!
   - brick Walls containing Emeralds/Diamonds - use a Bomb or Dynamite to get
     them
   - magic Wall - once a Rock/Emerald/Diamond falls onto the magic wall, the
     wall starts spinning for a few seconds, changing everything that falls
     through
   - invisible Wall - looks like empty space but is very solid! Can be bombed
     away.

 - Doors
 There are two types of doors in the game:
   - Doors you need a key for (red, green, blue and yellow doors)
     Some doors are grey, so you don't know which kind of key you may need
   - Doors you can open/close using the blue switch

 - conveyor belt
 Can be turned on/off using the green switch. Things lying on the belt will
 move!

 - Quicksand
 Rocks may sink into the quicksand.

 - Exit
 a blue gate which starts flashing if you have enough Emeralds to enter.

 - Wheel
 if you spin the Wheel, the Robot (see `Enemys') will run towards the Wheel and
 not towards you. The Wheel only lasts for a few seconds.

 - Acidpool
 everything that falls into the Acid is gone forever!

 - Switches
   - the green Switch changes the direction of the conveyor belt
   - the blue switch open-/closes the switch-door

 - letters
 you may read or just ignor them :-)

5.2. Things to collect
----------------------

 Of course just collecting Emeralds would be very easy (and very boring) so
 there are lots of other goodies to collect in the game:

 - two kinds of Emeralds called Emeralds (green) and Diamonds (blue). Diamonds
 count as three Emeralds.

 - Dynamite to blow walls and monsters away. Ignit the Dynamite by holding down
 your firebutton for a few seconds. Then run away!

 - A forcefield to protect you. Your player-sprite will fade to grey while in
 protected mode. You will hear a special sound to indicate the forcefield going
 down because it only lasts for a few seconds

 - Extratime that will be added to your time (bottom of screen).

 - Keys. There are four different types of keys (red, green, blue and yellow)
 which are needed for the four different doors.

5.3. Enemys
-----------

 You are not alone in the Diamond Caves!
 Here are the enemys you might encounter:

 - Bug:
 crawling on the right wall, the Bug can be changed into Emeralds if
 crushed by a rock

 - Spaceship
 always moves on the left wall

 - Robot
 This one follows you until he can kill you!
 Try spinning the Wheel to divert the Robot (see `solid objects')

 - Eater
 This brother of PacMan will eat Diamonds (the blue ones) and can be changed
 into various things (be surprised!) by shmashing him with a rock

 - the amoeba
 expands through air, earth and quicksand. Beware of the drops!
 Spaceships and Bugs won't survive contact with the amoeba.

6. Title Screen
===============

 There are several buttons in the title screen which can be accessed using the
 mouse in Port 1 or (if you already plugged in a Joystick) using either the
 cursor-keys and Space or the Joystick in Port 2.

 Quit: Guess what this one does.
 ~~~~~
 Get Levels: Select a Leveldirectory. Each Dir may contain up to 99 Levels (25
 ~~~~~~~~~~~ in the unregistrated version).
             If you opened the window by accident, you can quit without
             changing anything using the window's closegadget (top-left).

 One Player/Two Player: Change the number of Players. For even more players
 ~~~~~~~~~~~~~~~~~~~~~~ read `Plans for the future'.

 Name: Select a name or enter a new one. The Number is your Handicap (your
 ~~~~~ highest possible Level). It gets updated every time you solve a Level
       and will be saved automatically.
       If you opened the window by accident, you can quit without changing
       anything using the window's closegadget (top-left).

 Level/Max: The current Level and your Handicap.
 ~~~~~~~~~~
 Highscores: Display the Highscorelist for the selected Level.
 ~~~~~~~~~~~
 Play game: Play the game. If you enter the Highscorelist, the list will be
 ~~~~~~~~~~ saved automatically.

 Record game: You can play the Level and every move will be recorded into a
 ~~~~~~~~~~~~ file (this is not possible in the unregistrated version). There
              will be different files for one- and two-player-mode.

 Replay game: If a record-file exists, you can watch it.
 ~~~~~~~~~~~~
 The big DC-Logo: Shows the About window containing some information.
 ~~~~~~~~~~~~~~~~

7. Tooltypes
============

 In the unregistrated Version you can configure Diamond Caves using tooltypes.
 Refer to your Workbench-Manual on how to edit tooltypes. The registrated
 version will include a MUI-based Preferences program.

 TOOLPRI=x: Change the priority of the DC-task.
 (Default: 0)

 GAMEPORTDEVICE=(ON|OFF): You may want to use the gameport.device instead of
 banging the hardware-registers directly. Using the gameport.device is slow but
 OS-friendly.
 (Default: OFF)

 PLAYER1=(JOY1|JOY2|KEYS): Specify the controlmethod for Player1. The three
 possibilitys are Joystick in Port 1 (JOY1), Joystick in Port 2 (JOY2) and the
 Keyboard (KEYS).
 (Default: JOY2)

 PLAYER2=(JOY1|JOY2|KEYS): Specify the controlmethod for Player2. The three
 possibilitys are Joystick in Port 1 (JOY1), Joystick in Port 2 (JOY2) and the
 Keyboard (KEYS).
 (Default: KEYS)

 TITLEMODE=(PAL|PAL-LACE|NTSC|NTSC-LACE): Specify the screenmode for the title
 screen. Note that the title screen was designed to be used within an
 interlaced mode so it may not fit entirely on a non-interlaced screen. The
 non-interlaced option is for users without a deinterlace-card.

 GAMEMODE=(PAL|PAL-LACE|NTSC|NTSC-LACE): Specify the screenmode for the game.
 Note that the game was designed to be used with a 1:1 pixel ratio. You should
 use the interlaced modes only if you have a big monitor (17").
 The game automatically adjusts to your overscan-preferences (it uses the file
 "ENV:sys/Overscan.prefs").

 JOYMOUSE2=(ON|OFF): I had one betatester reporting problems using the Joystick
 to move the mousepointer on a centered screen. If you encounter the same
 probs, set this tooltype to ON.
 (Default: OFF)

 STATUSTOP=(ON|OFF): Set this tooltype to on if you want to place the
 status-line (where your score etc gets displayed) on top of the game-screen
 instead of below. Very useful if you are playing in PAL-LACE!
 (See `The status-line sometimes is garbaged on interlaced-screenmodes. Why?')
 (Default: OFF)

8. History
==========

 V1.0 (02.04.1995)
      - first public release

 V1.1 (03.04.1995)
      - fixed small bug in quicksand-routine
      - optimized player-routine
      - added tooltype "JOYMOUSE2"
      - implemented introScreen-timeout (8 sec)
      - fixed game-level 23 (way too difficult - actually insoluble :-)

 V1.2 (06.04.1995)
      - finally fixed gameport.device
      - fixed small bug in 2-player-mode
      - more optimizations

 V1.3 (09.04.1995)
      - added tooltype "STATUSTOP"
      - fixed bug in game-level 25

9. Plans for the future
=======================

 There may be some minor updates in the meantime if some bugs appear, new
 extras and more players are features of V2.0.

 - Maybe sometime in the future I will release some tools to make it possible
 for you to include your own graphics and your own soundsamples. This will be
 for registrated users only.

 - Another thing I want to release is a program to join highscore-lists. This
 means that you and your friends can combine the highscores for each level.

 Plans for the next major update (V2.0):
 - serial link-up option featuring
   - 2 Players each with his own screen
   - 4 Players on 2 linked Amigas!
   - maybe even a competition-mode,
     either one-on-one or two-on-two
 - an AGA-version (32 colors)
 - new extras:
   - a canon (gun) to shoot the enemys
   - maybe teleporters

10. Frequently asked questions
==============================

10.1. Why do you use OS-routines? They are so slow!
---------------------------------------------------

 Q:Why do you use OS-routines? They are so slow!

 A:The reason for this is that about 1987 I bought the original Emerald Mine
  by Kingsoft (which inspired me to do Diamond Caves 7 years later). The
  problem with EM is, that it refuses to work under Kick2.0 and that it has
  some problems with 32bit-fast mem and fast processors. I didn't want to write
  a game that in a few years no one would be able to play because of crappy
  coding.

 OS-routines are not that slow, part of the lack of speed results in the fact
  that I tried to make everything as configurable as possible. Where most
  EM-clones use fixed values for screen- and playfield-size, my program adjusts
  to the Amiga it runs on and supports Level from 10x10 up to 100x100.

  Be sure to read `How can I improve game speed?'.

10.2. Why is there no 68000-version?
------------------------------------

 Q:Why is there no 68000-version?

 A:I don't think anybody would be satisfied with a 68000-version of Diamond
  Caves because it is definitly slow. I've thought long and hard about this but
  I think there are enough 68020+ processors out there.

  And as time moves on, you can't always support 10-year old processors.

  If you really *really* want a 68000-version you might contact me. See `How to
  contact the author'.

10.3. Why can't I play new Levels?
----------------------------------

 Q:My friend has the Diamond Caves Leveleditor but my unregistrated copy of
  Diamond Caves refuses to load the new levels. What am I doing wrong?

 A:The unregistrated version of Diamond Caves is not capable of loading other
  levels than the ones that came with the distribution.

  If you really want to play new Levels I think you are using (or want to use)
  the game on a regular basis, so please pay the shareware.

10.4. How can I improve game speed?
-----------------------------------

 Q:How can I improve the speed of the game?

 A:There are several things to make the game work faster:

  - use Kickstart 3.0 or 3.1 instead of Kick2.0. Some gfx-routines are up to 10
  times faster in Kick3.x and under 3.x interleaved Bitmaps will be used, this
  improves blitting.
  * Upgrading to Kickstart3.0 will improve gamespeed the most *

  - don't use the gameport.device unless you have to, it's slower than directly
  accessing the hardware.

  - don't use screenmodes with a high framerate, the game was designed to run
  under 50/60Hz. Of course you can play DC under 73Hz (Euro36) or even more if
  you have a gfx-board. The game will become faster but the gfx might start
  flickering.

  - playing in Interlace is great if you have a 17" monitor but because I have
  to update 4 times the screensize than in non-Interlaced modes the game will
  be slower.

  - there are several system-patches to replace slow OS-routines by faster
  ones:
    - FastBlitPatch (improves blitting of gfx)
    - IPatch (replaces Interrupt-routines)
    - CopyMemQuicker (patches OS-MemCopy-routines)
  all these patches are done by Arthur Hagen (thanks Arthur !) and are
  available on AmiNet, Fish Disk and the other usual resources. Or ask me
  (while registrating) and I will copy them on your disk. They are freely
  distributable.

10.5. Why are some things different from the original Boulder Dash?
-------------------------------------------------------------------

 Q:I'm a big fan of the C64-game Boulder Dash, but in Diamond Caves some things
  are different. The amoeba won't change into Emeralds when surrounded by solid
  objects and Bugs (Butterflys in Boulder Dash) can't be killed by Emeralds.

 A:Actually, Diamond Caves is a(nother) clone of the first Amiga-clone "Emerald
  Mine" by Kingsoft from 1987 and not a direct version of Boulder Dash. I don't
  want to change the handling of things in the game in future version because
  this might confuse current users.

10.6. Why does it not work to promote Diamond Caves to another screenmode?
--------------------------------------------------------------------------

 Q:I want to promote Diamond Caves to another screenmode than PAL/NTSC but this
  seems to work only for the title-screen. Is there a way to play Diamond Caves
  e.g. on a 800x600 screen or on a gfx-board?

 A:Yes, this is possible. The registrated version of Diamond Caves supports a
  standard asl-ScreenMode-Requester, which allows you to select any screenmode
  capable of displaying 16 colors.
  The problem with Screenpromotor-utilities is the fact that the game-screen is
  not a normal Intuition-Screen but a custom ViewPort. It seems, that no
  screenpromotor supports patching ViewPorts.

10.7. The status-line sometimes is garbaged on interlaced-screenmodes. Why?
---------------------------------------------------------------------------

 Q:I'm playing in PAL-Interlace and sometimes while scrolling, the status gets
  trashed. What can I do to avoid this?

 A:This seems to be a bug in graphics' ScrollVPort()-routine (see technical
  description below). I implemented a workaround because this does not happen
  if I place the status-line above the game-screen instead of below. So if you
  have this problem, please set the tooltype "STATUSTOP" to "ON".

 Technical description: I'm using two ViewPorts (game-screen and status-line)
  and it seems that in PAL-mode the ScrollVPort()-routine has problems because
  the second ViewPort is below the magic-Copper-line (where the Copper jumps
  from line 255/1 to 0/2). Another proof for my theory is that this error does
  not occur in NTSC-LACE or if I place the status-line above the game-screen.

11. How to register
===================

 I spent a lot of work and one year of programming in Diamond Caves so I think
 it's only fair to demand a little reward if you, the user, want to use my
 program on a regular basis.

11.1. What do I get?
-------------------

 After paying the fee you will receive a keyfile and the latest version of
 Diamond Caves. Furthermore the registrated version includes:

 - the Diamond Caves Leveleditor.
 Take a look at the Preview-picture!
 The Editor is based on MUI but you do *not* have to be a registered user of
 MUI to use the Editor. The Dimamond Caves Editor works 100% even with the
 unregistrated version of MUI. MUI is (C) Stefan Stuntz and it's available on
 AmiNet and on several PD-Collections.

 - you will now be able to use up to 99 Levels per Leveldirectory

 - you will be able to record your Levels and watch them later or show them to
 your friends.

 - you will get a bunch of new Levels. The unregistrated version is not capable
 of loading Levels other than the included ones.

 - you will get a Preferences-program (based on MUI) which allows confortable
 configuration of the Game and the Editor. No need to mess around with
 tooltypes any more.

11.2. What and how do I have to pay?
-----------------------------------

 If you want to register, please fill out the `Registration-form'.

 There are two ways to pay the money and one special offer:

 Cash:
 ~~~~~
   If you want to pay in cash, the Shareware fee is

      30 DM (German-Marks)   or
      20 $  (US-Dollars)     or
      15 £  (Britisch-Pounds)

   other currencies can not be accepted.

 Cheques:
 ~~~~~~~~
   1) If you live INSIDE of Germany, you may send me a cheque for the amount
      given above.

   2) If you live OUTSIDE of Germany it will cost a high fee for me to accept
      cheques, so I have to charge you extra:

      50 DM (German-Marks)   or
      32 $  (Us-Dollars)     or
      23 £  (Britisch-Pounds)

      Eurocheques: I have asked at my local bank and they said that a
      Eurocheque costs up to 25 DM fee (!!) and I'm sure you agree with me that
      this is way too high!

 Special Offer: I am collecting Superman Comicbooks (DC-Comics USA), so if
 ~~~~~~~~~~~~~~ you want to give away some of them, you may contact me
   (see `How to contact the author') to find out which numbers I need.
   Don't send them right away!

12. How to get updates
======================

 Updates and new Levels will be published through AmiNet (international) and
 FRAS (Germany).

 Announcments of new versions will be made in "comp.sys.amiga.games",
 "/Z-NETZ/RECHNER/AMIGA/SPIELE" and "/FRAS/TEXT/BESCHREIBUNGEN".

 If you don't have access to either of these possibilitys, you can send a
 letter to me (see `How to contact the author'), including
 - an empty disk
 - an international reply-coupon (available from your local post office)
   or the amount of 3 DM or 2$ (inside Europe) or 3$ (ouside Europe) in cash.
 You will then get the latest version of Diamond Caves, (if you've already
 registered, the latest version of the Editor as well) and all the new levels
 I created so far. Note that you will need the registrated version of Diamond
 Caves to play other levels than the 25 Game-levels and the 25 Tutorial-levels.

 ATTENTION: Orders without disk and/or p&p-money can't be fulfilled!
 ~~~~~~~~~~

13. How to contact the author
=============================

 If you have any comments, new ideas or found any bugs, feel free to write.
 My Address:

    Peter Elzner
    Grudene 6a
  D-58644 Iserlohn
    Germany

 E-Mail:

    Hawk@blanker.ruhr.de

 If you have the Diamond Caves Editor you may also send new Levels to me (on
 disk or via E-Mail), I will release them on AmiNet.

14. Registration-form
=====================

 Please fill this out if you want to register to Diamond Caves. This text is
 also available as the single file "Registration.txt".

 -=============================================================================-

              To: Peter Elzner
                  Grudene 6a
                D-58644 Iserlohn
                  Germany




                   YES, I want to register to Diamond Caves.
               I have enclosed the shareware-fee as (please tick)

                   O  Cash (30 DM or 20 US$ or 15 £)
                   O  Cheque (INSIDE Germany - same as Cash)
                   O  Cheque (OUTSIDE Germany - 50 DM or 32 US$ or 23 £)


                   You MUST fill in the following four lines!
                          Please use capital letters.


                   Name: ______________________________________

                 Street: ______________________________________

                PC,City: ______________________________________

                Country: ______________________________________


  The latest version of Diamond Caves, my keyfile and the Diamond Caves Editor
                       will be send to the above address.


                               This is optional:

             Phone Number : _______________________________________

             E-Mail : _____________________________________________


             type of Amiga: _______________________________________

             Kickstartversion : ___________________________________

             type of Processor : __________________________________


                  how do you like Diamond Caves (please tick)?

                                    average
                                      |
                    very good-1   2   3   4   5   6-very poor

                   graphics   O   O   O   O   O   O
                      sound   O   O   O   O   O   O
                        fun   O   O   O   O   O   O
               total rating   O   O   O   O   O   O


             would you like to see an AGA-version of Diamond Caves
                                 in the future?

                                     O Yes, please.
                                     O No, don't waste your time.
                                     O don't care.

  Comments, suggestions, new ideas, bugs, ... : ______________________________

  ____________________________________________________________________________

  ____________________________________________________________________________

 -=============================================================================-

