------------------------
                           SPACED 2.2 Documentation
                           ------------------------
LEGAL STUFF
___________

     Before we get into the goodies I have to blabber some legal stuff so that
     I don't get sued by some genius that was playing the game in the bathtub
     during a lightning storm.  So here we go:

     I am not responsible for any effects (except euphoria) that this software
     has on you, your computer, your family, your friends, your pets, or
     anything else related to you or anyone else or anything in the world.

     In this document, the phrase "this software" shall refer to the game
     "SPACED 2.2" and its associated files.

BUG FIXES FROM VERSION 2.1
__________________________
     A)   The digital sound mixing is fixed!  Now it doesn't make those ugly
          clicking sounds anymore.  I finally found out how to do double-
          buffering and auto-init DMA transfers.  However, it won't work with
          any DMA or DSP chips that don't support auto-initialization.  Most do
          though.

          WARNING!!!  Task switching (such as in Alt+tab in Windows) will cause
          the sound mixing engine to lose track of which buffer it should be
          writing to.  Upon continuation, 50% of the time this will cause it to
          write to the wrong buffer, causing a clicking sound.  To fix this,
          switch tasks again until you get clear sound.  The best solution is
          to disable the hot keys for the program in Windows, if possible.

     B)   The robot-sucking sound shuts off when the robot's sucker does, not
          after.

BUG FIXES FROM VERSION 2.0
__________________________
     A)   Not having a mouse driver loaded will NO longer cause the main menu
          to "flash" and disappear (essentially crashing the game.)  This
          cheesy bug was caused by me forgetting to remove the mouse code from
          my menu object, since I had used the menu object in making some
          drawing utilities.  Oops!

     B)   Firing a whole bunch of lasers as a level change comes into effect
          will no longer cause a "laser shortage" in the next level
          (characterized being unable to fire very often)  The game engine
          usually knows how many lasers are "out there" on the screen, but the
          nuke_everything() function, which is called at the end of every
          level, forgot to remove them.  This caused the number-of-lasers
          variable to become maxed out too quickly, but now the function
          remembers...

DISTRIBUTION
____________

     You are free to distribute and copy this software wherever and to whomever
     you like with no obligations AS LONG AS:

     a.   You distribute ALL of the files (including this one) that constitute
          this software.  These include:
               SPACED.EXE
               SETUP.EXE
               SPACED.BIG
               README.DOC
          
     b.   You don't modify any of the files that constitute this software,
          except for that modification which occurs as a result of running
          SPACED.EXE or SETUP.EXE.


SYSTEM REQUIREMENTS
___________________

     Required:
          80386 or better microprocessor
          400K  of conventional memory
          1M of hard disk space
          VGA or compatible video card

     Recommended:
          Sound Blaster or compatible
          1 megabyte of expanded memory (EMS)

     Not Supported:
          joystick
          mouse
          multiplayer games
          VR helmets (aww, too bad!)


INSTRUCTIONS
____________


     KEYS AND WHAT THEY DO
     _____________________

     To skip out of the introduction/story sequence or a demo, press ESC.

     Arrow keys (up, down, left, right):
          These move the spaceship around the screen.

     If you are lost, go back to KEYS AND WHAT THEY DO and try reading this
     section again.

     Ins:
          This changes how fast your spaceship moves.  The indicator at the
          right of the screen will tell you what speed you are currently on: 
          Slow, Normal, Turbo, or Fast.  If you have problems controlling
          yourself, you may want to leave it on Slow or Normal.

     Alt:
          Fires your laser(s).  You have unlimited ammo, so don't hold back!

     Spacebar:
          Releases a bomb that inflicts damage to everything on the screen. 
          You get three of these with each new ship.  Use them frugally!

     F1:
          Pauses the game and displays a help screen.

     S:
          Toggles the sound effects.

     M:
          Toggles the music.

     ESC:
          Offers you a change to quit the level.
          Important:     Pressing ESC is equivalent to killing all of your
                         remaining ships at once, and costs you a continue if
                         you suddenly change your mind and want to keep
                         playing.  So be careful with it!


     GAME PLAY
     _________

     YOUR MISSION:
          Get the crystal back from the geeks so your fellow countrymen of
          Atlantis will stop drooling on their shirts and return to their
          normal state.

     YOUR MISSION PLAN:
          Fire lots of lasers; drop lots of bombs; kill lots of enemies.


     Every so often a power-up orb will go floating by.  Here's what they do:

     RED:      INCREASES SHOT POWER
     ORANGE:   GIVES YOU ANOTHER BOMB
     BLUE:     GIVES YOU ANOTHER LIFE

     The complex and intriguing story will tell itself as you go along.
     Good luck!

     PARAMETERS
     __________


     /playdemo [name]    Run a previously recorded demo.

     /record [name] Record a demo.

     /fast          Allows the game to run as fast as the computer will allow. 
                    It is kind of fun to watch demos this way, but doesn't help
                    much when you're playing normally - especially if you own a
                    Pentium.

     /buffer [size] This sets the length (in bytes) of the digital sound mixing
                    buffers.  The default is 128.  Smaller buffer lengths will
                    result less delay between the digital sound request and the
                    actual playing of the sound, but increase the CPU time used
                    to process the interrupts.  Larger buffer lengths will
                    increase the delay, but lessen the CPU time used.

     /no jokes      Turns off the silly wordage at the bottom of the screen.

     /i suck        Resets the high score list.


     Parameters may be stacked on the command line as needed, in any order. 
     For instance, the entry:

          spaced /playdemo mydemo.rec /buffer 64 /no jokes /i suck [ENTER]

     Will erase the high score file, disable the text, set the mixing buffer to
     64 bytes, and play back the demo file MYDEMO.REC (that would have to have
     been previously recorded by someone.)  Keep in mind that the text will
     remain disabled and the mixing buffer will remain at 64 bytes until you
     quit the game, even if you were to exit the demo and start up a new game.


TROUBLESHOOTING
_______________


PWBFAQ's - Probably will be frequently-asked questions.

     "When I run SPACED with digital sound, it tells me that I need to set up
     EMS for the sound to work.  How do I do that?"

          ->   You will need to include the following lines in your CONFIG.SYS
               file:

               DEVICE=C:\dos\HIMEM.SYS
               device=c:\dos\emm386.exe 1024

          ->   If you are running Windows 95 (and SPACED doesn't work), you
               have two choices:
 
          a.   Click once on the icon representing SPACED.  Then go to the FILE
               menu and click on PROPERTIES.  Click on the MEMORY tab, and
               specify that you want 1024k of EMS.

          b.   Click on SPACED, then FILE menu, then PROPERTIES, like above. 
               Next click on the PROGRAM tab, click on ADVANCED, click in the
               box marked MS-DOS MODE, click in the box marked SPECIFY NEW MS-
               DOS CONFIGURATION, and click on the CONFIGURATION button.  A
               list of boxes will pop up.  Make sure the EXPANDED MEMORY box is
               checked, then click on OK.

               The first way is quicker, because it doesn't require a reboot to
               play the game.  The second way gives you a bit better
               performance because Windows 95 isn't in there stealing CPU
               cycles, but you must reboot to play.  You can increase
               performance while playing it the first way by picking PROPERTIES
               under the FILE menu and turning down the idle sensitivity to
               low.


     "The digital sound won't work, but I have a Sound Blaster."
          Spaced only works with cards that use auto-initialized DMA transfers. 
          If either the DMA chip or Sound Blaster card is really old, then that
          is the problem.


     "I get an OUT OF CONVENTIONAL MEMORY error when I try to run SPACED."
          
          DOS users:
               You need to run fewer TSR's upon bootup.  Things like Doskey,
               mouse drivers, CD-ROM drivers, and pop-up menu programs all use
               up conventional memory.  Try remarking these lines out of your
               AUTOEXEC.BAT (by typing "REM" and a space in front of them.)

          Windows 95 users:
               Make sure your conventional memory is set to "AUTO."  If that
               doesn't work, you may need to run the program in MS-DOS mode
               with a special AUTOEXEC.BAT and CONFIG.SYS configured.  Please
               refer to part B of the digital sound PWBFAQ two questions ago.


     "I played for 40 hours straight and got 999,999 points, and then I got
     this error message saying that I can't save my high score!  I am very
     angry."

          This usually will happen on a network.  Network Administrators
          usually put games in places where everyone can read the game files
          but no one can write to them.  This is good because it keeps idiots
          from going in and wiping stuff out.  It is bad because no one can
          write to the high score file.  The solution is to have a big
          important network person change the access rights to the file
          GOODGUYS.DAT so that everyone can read and write to it.  If that is
          not possible, then write/create access should be given to the entire
          directory.  The worst that could happen is that some insignificant
          grunt could wipe out the game.  However, this risk is a small
          sacrifice for the fun of competing for a high score.

     "When I was in the 'wanna continue?' menu, none of the keys work.  I had
     to reset."

          The way out of this is to remember if you were holding a key (like
          Alt) down during a level change, and then press and release that key
          again.  If this doesn't work, then just hit a whole bunch of keys. 
          The explanation?  Between each level, the keyboard interrupt is
          released and re-captured.  If a key is held down during this time,
          sometimes this will mess up some flags or something in the DOS
          keyboard handler, which is used by the menu system (but not the
          gameplay system)  Sorry, but this is a difficult bug to track down
          and fix.

STORY BEHIND THE GAME
_____________________

     So who says that one guy can't make a game?  I notice that lots of people
     are studying the different aspects of game-making, but few people actually
     have time to complete a game.  Fortunately, most of these people make
     their code and knowledge available to the public so that others may learn
     from it.  To those individuals - I thank you, and I'm sure most other
     designers/coders feel the same.

     When I first started SPACED, (during my junior year in high school,) I had
     no idea about how to code for the Sound Blaster, mix sounds, use EMS
     memory, and a lot of other important stuff.  when I "finished" it up, it
     had PC speaker sound and music, and plenty of bugs.  It was also called
     "Crusade for the Crystal," and had even cheesier text than it does now. 
     It was in that state that I entered it in "Tech Challenge '94" at the
     Oregon Institute of Technology.  Fortunately none of the bugs popped up
     during the presentation and I got first in my category.

     After that, I sort of let the project sit during my senior year, while I
     got into some 3-D Studio work.  Then during summer, I got ahold of some
     Sound Blaster information, which allowed me to write an FM synthesis
     sequencer and digital sound mixer.  I only use the sequencer for the
     ending song, however, and the other songs are converted at run-time from
     the PC speaker music format to FM music.  So it sounds a bit cheesy, but I
     didn't have time to write all-new songs for the levels.  Anyway, I redrew
     a lot of the graphics, and basically prettied up the game real good for
     its release.

     SPACED was a game made just to see if I could make a game.  I didn't
     attempt anything spectacular, but I wanted to make it enjoyable and fun. 
     I think that I succeeded there.  The control feels good, people who aren't
     playing can read the text, the sounds are satisfying, and there are some
     fun options.  Another thing that I think adds to the fun is that each of
     the level backgrounds is distinctly unique.  Too many games have levels
     that all look pretty much the same.  And the game will run on any '386 and
     up, and at 35 frames per second if you use a '386/33 or better.  Since
     every bit of real-time graphics is assembly language, and the sprite
     drawing routines use run-length-encoded files, this makes the game run
     pretty fast.  

     Interesting facts about SPACED
     ______________________________

          SPACED was coded on a 486SX/25 with 4 Megs of RAM.  For the past six
          months it has had a bug that causes it to wait an average of three
          minutes before it boots.  The clock (but not the date) resets to an
          arbitrary time following each reboot.  The old box, however, is still
          limping along.

          The rainfall sound (outside the buildings) in level 3 was actually
          made by crinkling a plastic bag in front of a microphone at a high
          frequency and then slowing it down a bit.

          SPACED is composed of over 50 C++ modules, and 19 assembly language
          routines. The final build included over 16,000 lines of (used) C++
          code, and over 3,000 lines of assembly code.


     
     So you be asking, is there going to be another game?  The answer is yes, I
     already am working on the design for my next one.  I am really excited
     about the engine I have planned for it, but I can not release any details
     right now because as a single developer who can not spew out games at the
     rate of large game companies, it would mean that someone could take the
     ideas and make a crummy clone before the real game was halfway done.  When
     mine is done though, it will do things that have never been done before in
     PC games.  AND IT WILL NOT BE A DOOM CLONE!  Doom is a great game, and
     there are many good clones.  But the genre is overpopulated.  My next game
     will, of course, be much better than SPACED, and have a more serious tone
     to it.  It will not be a side-scrolling spaceship game like SPACED either. 
     No more non-interactive-watch-the-background-scroll-by-and-shoot-things
     theme.  And most important of all, it will be FUN to play.  It will
     probably be optimized for the dual instruction pipelines and other neat
     features of Pentium processors, and my estimated (emphasis on ESTIMATED -
     no guarantees here!) release date is Winter 1997.  But enough said.  I
     will post an announcement on my home page, newsgroups, etc. when enough of
     it is finished so that I won't have to worry about companies whipping out
     clones.



PLEA FOR MONEY
______________

     I won't deny at all that I had a lot of fun creating SPACED.  But I also
     like to do lots of other things like running, skiing, writing poetry, etc. 
     And when I'm doing sports I don't have a whole lot of time to earn extra
     money, except during the summer, and that is mostly spent on college
     expenses.  Game developers are always in need of money - to buy faster
     computer systems, better compilers, and more powerful utilities, to name a
     few things.  College isn't very cheap either!

     So I would appreciate it very much, if you are not in financial
     difficulty, and you have the time, if you could send $2 to my mailing
     address below.  I figure that if enough people do this, it may help pay
     for the new computer that I need, and take care of some college expenses. 
     HOWEVER, YOU HAVE ABSOLUTELY NO OBLIGATION TO DO THIS even if you've
     played SPACED for 30 million hours and made $1,000 selling computer time
     to the neighborhood kids.  If you don't send anything, I am still glad
     that you enjoyed the game.  It is really a thrill to know that someone
     appreciates my work, so I wouldn't mind any letters or e-mails telling me
     what you think.  Remember, SPACED is FREEWARE to be distributed *freely*
     WITHOUT ANY FINANCIAL OBLIGATION.  Have fun with it!


SPECIAL THANKS
______________

     Josh Stevens:
          Programming Advice

     Mark Betz:
          Timing Routines

     David Durham:
          Sound Mixing Info

     Trevor Robinson:
          Sound Blaster Info

     Draeden/VLA:
          DMA Info

     Mark Feldman:
          Author of the Game Programmers' Encyclopedia


MY ADDRESSES
____________

     EMAIL ADDRESS:
          Omnibus777@hotmail.com

     WEB PAGE URL:
          http://www.danielhaffner.com


FINAL WORDS
___________

     So now I will leave you with a little poem I wrote.  Although SPACED is
     freeware, there is plenty of commercial software out there that is written
     by game developers (and other programmers) whose living depends on
     software sales.  These people are hurt by software piracy, and so are the
     consumers who have to pay more for the software.  So play fair!



                        The Piracy Police
                              by
                         Daniel Haffner
                        

So you're copying licensed data off of someone else's disk!
You'd better bolt your doors up if you're gonna take that risk.
There's nasty little demons out there waiting just to feast
On users who don't know about the Piracy Police.

They come at night while you're asleep and seek out your computer,
They plug her in, they find the switch, and last of all they boot 'er,
And if your source disks can't be found, they smile their evil smiles,
And go to work in rabid droves, deleting all your files.

Their teeth are made of silicon, their claws of leathermans.
They jump on you, in vicious wrath, and cut off both your hands.
"If you can't type, then you can't swipe!" they chant throughout your home,
And make you truly wish that you had left those files alone!

So little boys and little girls, when software comes your way,
Resist the urge to stick it in your drive for just today.
And maybe you'll avoid being mauled by grimy little beasts,
Known only to the user as "THE PIRACY POLICE..."