@database "GemPanic Users Guide"
@author "Dan Ackerman"
@subject "Main Page"
@$VER: "GEMPANIC.HYP v0.9 01/05/05"

.....
Purpose
Commands
.....

@node "Contents"

@image hyplogo.img 1













@line 1 70 0 0 7

         Version 0.90 

           2005-01-05

    Revenge of Astropanic.

Clueless alien invaders are attacking your homeworld.
They arrive in ever increasing numbers.
    
@line 1 70 0 0 7

     About GemPanic
     Game Play
     Game Controls
     Trouble Shooting
	 History
     Final Notes

@line 1 70 0 0 7	   
GemPanic is a Product of Anthill Industries

baldrick@columbus.rr.com
http://www.gemcandy.org/

@line 1 70 0 0 7

Legal bit

Neither I or any agent I may appoint accept any liability or 
responsibility for any direct or indirect damage that may arise, 
either financial, material or any other kind from either the use
or misuse of this software and associated documentation. 
All trademarks used are recognised and acknowledged.

@line 1 70 0 0 7

@endnode


@node "About GemPanic"
@line 1 70 0 0 7
      About GemPanic
@line 1 70 0 0 7

What is it?

Revenge of AstroPanic.

Clueless alien invaders are attacking your homeworld.
They arrive in ever increasing numbers.

The game features 2 alien ship types and a dynamically
generated level system so no two games are ever exactly
the same.

Graphics are primarily 8bit (X)IMG files.
(A monochrome version of the backdrop and about graphic
	are included.)
XBIOS/DMA Sound playback
GEMJing sound playback under a multitasking OS.
ST-Guide (or compatible) Help system.
HighScore list.
Adjustable timing.
Mouse Control

And the two best things?

Freeware and Open Source.  What more could you ask for ;)

@line 1 70 0 0 7

    Supported Resolutions
    Supported Sound Options
    About Timing

@line 1 70 0 0 7

@endnode

@node "Supported Resolutions"
@line 1 70 0 0 7
      What Resolutions does it support?
@line 1 70 0 0 7

	The Game window will fit on a ST High Display,
however most of the graphics are in 8bit color.
You can run in lower color depths than 8bit, but
for a real feel for the look of the game 8 bit color
or higher is recommended.

@endnode

@node "Supported Sound Options"
@line 1 70 0 0 7
	Supported Sound Options
@line 1 70 0 0 7

There are 4 different modes for the sound system
No Sound, Chip Sound, Xbios Sound and Use Gemjing.

Here is a brief explanation of each.

No Sound - All sounds are turned off

Chip Sound - Original Yamaha chip support.  Not exciting but
it's sound.

Xbios Sound - This is actually DMA and XBIOS sound routine
support.  Both are in there with this option.  (Not recommended
for MagicPC as the XBIOS sound support is very limited)

Use Gemjing - Use GEMJing for sound playback.  You must be running
in a multitasking enviroment (MagiC\MiNT) and have the evnviroment
variable GEMJINGPATH configured to use this option.  (Again not
recommended for MagicPC atm)

BIG NOTE:  I have been unable to fine tune the sound routines due
to the fact that MagicPC has broken sound routines.  If you are a
programmer and have any patches for this please get in contact with
me.

@endnode

@node "Timing"
@line 1 70 0 0 7
      What is "Timing"?
@line 1 70 0 0 7

   The entire program operates off of the VDI and AES.  The
timing value is what you want the default minimum timing 
to be.  Gem Panic is extremely resource hungry.  Most people
will not need to slow it down.  However for fast clones or
emulators a small timing delay might be desired.  A value of
10 is roughly equal between a CT2 falcon and MagicPC on a P4.

@endnode

@node "Game Controls"
@line 1 70 0 0 7
      Controls
@line 1 70 0 0 7

   The game is controled with the mouse.  Moving the mouse will
move the your ship in the play area.  Extra features of the game
can be accessed from the Menu Items or Hotkeys.

Either mouse button can be pressed to fire a missile.

@endnode

@node "Hotkeys"
@line 1 70 0 0 7
      HOTKEYS
@line 1 70 0 0 7

Certain keys or combinations of keys operate as shortcuts.

 Control - N   Start a New game.  Opens new window if necessary.

 Control - P   Pause a game in progress.
 
 Control - Esc Pause a game in progress. Pressing again unpauses.

 Control - Q   Quit the program

 Control - T   Adjust the Timing Delay.

 Control - V   Paste clipboard into current editable text field.

 Help          Opens the GEMPANIC.HYP file if ST-GUIDE is present

@endnode

@node "Menu Items"     
@line 1 70 0 0 7
      Menu Items
@line 1 70 0 0 7
 
    About Menu
    New Game
    Pause Game
    Quit
    Set Timing
    Sound Settings
    View High Scores
    Save Preferences
    
	Help - loads this file
	    
@endnode

@node "About Menu"
@line 1 70 0 0 7
      About GEMPanic
@line 1 70 0 0 7

   Displays information about the game.

@endnode

@node "New Game"
@line 1 70 0 0 7
      New Game
@line 1 70 0 0 7

   Starts a New Game.  Will abort a game in progress.  Will
open a new window if necessary.

@endnode


@node "Pause Game"
@line 1 70 0 0 7
      Pause Game
@line 1 70 0 0 7

   Pauses a game in progress.  Selecting again will unpause
the game.  Only pauses/unpauses if the Game Window is the 
top window.

@endnode

@node "Quit"
@line 1 70 0 0 7
      Quit
@line 1 70 0 0 7

   Exits the program.
@endnode

@node "Set Timing"
@line 1 70 0 0 7
      Set Timing
@line 1 70 0 0 7

   Opens the Timing Dialog.  For "What is timing" see above.
          
   Suggested timing values to start with:

   You will want to experiment with the timing for your own
system.  Let me reitterate.  Experiment with the speeds
what is a good speed for one person will be a quick trip
to game end for another.  This is for entertainment, set
the timing to where you have fun.
          
@endnode

@node "Sound Settings"
@line 1 70 0 0 7
      Sound Settings
@line 1 70 0 0 7

	Opens the sound preferences dialog window.
For more information see Supported Sound Options.

@endnode

@node "View High Scores"
@line 1 70 0 0 7
     View High Scores
@line 1 70 0 0 7

   Opens the High Score window.  This will show you how well
you or your friends have done in the past.  It will also
show you the first time you play, that over the years I have
watched too many episodes of "Are You Being Served?".

@image hypscore.img 1

I've cheated and included a shot of the dialog from
Boinkout2 they basically look the same.

@endnode

@node "Save Preferences"
@line 1 70 0 0 7
      Save Preferences
@line 1 70 0 0 7

   This option will save your game preferences.
At the moment it saves your timing variable and
your prefered sound options.

@endnode

@node "Game Play"
@line 1 70 0 0 7
      Game Play
@line 1 70 0 0 7

	GemPanic is a 'panic' style game.  Aliens roam around the screen
in ever increasing numbers.  If one hits you or drops a bomb on you
you lose a ship.  Once you lose all of your ships the game is over.
Simple isn't it.  Actually there is a bit more to it.  Let's start
at the begining.

   The game takes place in the game window.  We will refer to this
as the play area.  At the top of the play area, you will see
three fields.

	The first field is the wave number.  Every time you defeat all
the enemies in a wave.  You will be awarded your accuracy bonus and
move on to the next wave.  The enemies increase in number as the 
number of waves you have completed increases.  After the first few
levels bombers will arrive in the waves as well.  There is no hard
coded limit to the number of levels.

	The middle field is your score.  Shooting enemy ships increases
your score.  Having a high accuracy rating for a level increases your
score.  Having a really bad accuracy rating will lower your score.

	The last field is the number of ships you have remaining.  Every 
5000 points you will be awarded a new ship.
Once you hit 0 the game is over.

@limage hypplay.img 1

	I put some labels on the image above so it would be easier
to put a name to a picture.

Animated Explosions.(A)  When you hit an enemy ship it doesn't just
have a litle flash it explodes.

Bombers (B) the more dangerous variant of enemy ships are the bombers
they wander around the upper levels of the screen dropping bombs when
ever the mood strikes them.  One hit from a bomb is lethal.

Drones (D) they won't shoot at you, but they will ram you.  I warned
you that they were stupid didn't I.  The bombers may drop bombs,
but they won't come into the lower area of the screen.  The drones
love to.  Avoiding one is easy, avoiding a dozen can be tricky.

	At the beginning of each level a number of drones will appear,
after a few levels you will lose a few drones and add a bomber.  This
pattern continues throughout the game.

	All the enemy ships appear at the top of the play area.  Mostly
on the upper left.  Each has it's own velocity and vector.  When they
hit an edge they will change vectors.

	You kill the enemy ships by blasting them with your missiles.
Every enemy ship you destroy will increase your score (see Scoring)
At the end of the wave all the enemy ships you destroyed will be 
divided by all of the missiles you fired.  This will determine your
accuracy. (see Accuracy Bonus/Penalty).	After you have earned 
5000 points you will be award a bonus ship ( see Ship Bonus)


@endnode

@node "Scoring"
@line 1 70 0 0 7
Scoring
@line 1 70 0 0 7

Scoring is simple.  Bombers are worth twice as much
as Drones.  The closer the enemy ship is to the bottom
of the play area, the higher it's value.

@endnode

@node "Accuracy Bonus/Penalty"
@line 1 70 0 0 7
Accuracy Bonus/Penalty
@line 1 70 0 0 7

If your accuracy in a level is better than 75%, you
get 10% of your total score as a bonus.  If your 
accuracy in a level is less than 25%, you get a
10% of your total score deducted as a penalty.  This
is an easy way to see your score rise or fall quickly
as the levels progress.

@endnode

@node "Ship Bonus"
@line 1 70 0 0 7
Ship Bonus
@line 1 70 0 0 7

Every 5000 points you will recieve a bonus ship.  This
happens whenever it occurs.  However once you receive a 
bonus ship for a score level, you can not receive it again.
For example if you got a Bonus ship during a game wave for
passing 10000, but had an accuracy of 19%. You would recieve
a penalty of 1000, taking your score down to 9000.  However
you will not get a bonus ship when you pass 10000 again, you
will have to pass 15000 before you will receive another
bonus ship. 

@endnode

@node "Trouble Shooting"
@line 1 70 0 0 7
      Trouble Shooting:
@line 1 70 0 0 7

	Image loading is taking a long time...
	The sounds are kind of messed up
	I hit the ship and it kept coming
	
@endnode

@node "I hit the ship and it kept coming"
@line 1 70 0 0 7
	I hit the ship and it kept coming
@line 1 70 0 0 7

	Sometimes the routines that determine initial
ship placement will place two or more drones on 
exactly the same spot with the same trajectory.
This is a bug, but not the apparent bug.

@endnode

@node "The sounds are kind of messed up"
@line 1 70 0 0 7
The sounds are kind of messed up
@line 1 70 0 0 7

	As I noted elsewhere it was very hard for me to finish
debugging the sound routines as the environment I mostly
used for development had broken XBIOS sound support.  If
you are using MagicPC, I suggest you use the chip sounds
not as nice, but work better.

	If you are using GEMJing as the audio service, it's 
takes a bit more time than the routines in the program
itself.  It's possible this could be improved, but I can't
do it currently.

@endnode

@node "Image loading is taking a long time..."
@line 1 70 0 0 7
      Image loading is taking a long time...
@line 1 70 0 0 7

	Image time is purely a question of processor power.
There are a number of high color and large images used
in the game.  These can take awhile to convert to the
current resolution.

@endnode

@node "History"
@line 1 70 0 0 7
       New - Changes
@line 1 70 0 0 7

- RSC modifications
- Fixed documentation
- Modified some graphics
- Sound system expansion
- Created SRC Directory and modified PRJ
- Alot of code cleanup
- ST-Guide Help support

version 0.80
- GEMJing support

version 0.72
- fixed colision detection thanks to Philipp Donze
- Sound support for XBIOS sound
- monochrome graphics for background and about for systems
	with fewer than 8bit color
- changed how number of ships works

version 0.71
- Accuracy Bonus/Penalty
- Reworked score one last time now matches original
- Bonus ships awarded every 5000 points
- Bombs fall 50% faster
- New Loading Dialog with graphic

version 0.70
- put a vs_clip() back into window redraw routine
- fixed a small bug in the drawing routines
- modified location of missile start for aesthetics
- renamed a few of the images
- finish explosions at end of wave
- bombers now bomb!

version 0.64

- test version to track down a bug causing immediate crashes

version 0.63

- Control P - Pauses game during game play
- Control P or Esc while paused continues game
- New missile Graphic
- Alot of litle redraw fixes

version 0.62

- Fixed a bug where you couldn't quit while paused
- new animated bombers (non bombing)
- A lot of new experimentations for speed

version 0.61

- Should be faster, if less mtasking friendly during game play
- Animated explosions!
- New enemy although it's only partially implemented
- Adjustable timing.  Please give this some experimetation
   and let me know if what speed (if any) is playable on your
   system
- Alot of optimizations, old bugs squashed and some new ones added
- Score system modified - still being worked on.  Basically if
    you have an old high score list, this one will never break
    into it.

version 0.6

- fixed some garbage on explosions
- Fixed a bug that could involve not enough drones
  on the screen, causing wave to never end
  
version 0.5
February 23, 2004

- initial demo alpha version to gemcandy voters
 
@endnode

@node "Final Notes"
@line 1 70 0 0 7
      Final notes:
@line 1 70 0 0 7

I want to thank all the people that have helped me either debug
or with code additions since I started this project, so in no
particular order thanks to Sascha Uhlig, AltF4, Gokmase, 
Jean-Marc Stocklausen, Hormann Norbert, Matthias Jaap, Pascal Ricard,
Adam Klobukowski, Pierre Tonthat, Rafal Kawecki and probably
several others that I have lost out of my email.

I'd also like to thank Philipp Donze who not only did alot of
beta testing, but helped out alot debugging some of the harder
to track bugs in the code, as well as all the help with the 
GEMJing support.

And last but certainly not least a big thank you to Rob Malhert for
all the support he provides to the atari community.  Gemcandy and
the programs it has spawned would be nowhere without him.
     Have fun and enjoy,

     Dan Ackerman
     baldrick@columbus.rr.com
     http://www.gemcandy.org

Here is a game play tip just for reading this far.

Tip:

Watch your accuracy as the game progresses.  Once you
get 50000 points, a good accuracy score will guarantee
you a Ship Bonus!  This is easier to say than to do.

     
@endnode