Written by Hans "coelurus" Trnqvist    Homepage: coelurus.thorntwig.tk/
                                        E-Mail:   thorntwig@telia.com
                                        ICQ:      102114962
                                        AIM:      groenkaal


        -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

                             .          .
                             '.        .'
                   '.         '.      .'        .'
       ..''.         ''..       '    '      ..''         .''..
     .'     '..           ' .           . '           ..'     '.
     '.         ' '                               ' '         .'

        d#######b d#######b d##b     d##b d##b d##b  d##b d##b
    .'  ########P ######### ######u###### #### ####bu#### ####  '.
    :   ####P     ###P  q#P ############# #### ########## ####   :
    '.  ####  d#b #####)    ####^###^#### #### ########## ####  .'
     '. ####  ### ###b  d#b #### q#P #### #### ####^q#### #### .'
      ' ####bd### ######### ####     #### #### ####  #### #### '
        q#######P q#######P q##P     q##P q##P q##P  q##P q##P

          ' ' . .        . .             . .         . . ' '
           '   .    .        ''-.   .-''        .     .   '
                      ' ' --..         ..-- ' '
                              '       '

        -'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-
             for ti83(+(SE))


Finally, it was time for me to remove the "demo-label" :)

The next update in my raycasting-series for the TI83(+(SE)) calcs, and at least
it's going forward!

Much of what I would normally put in the prog, is put here. The TI83s don't
quite have the mem-requirements I need... So the last resort was to put the
"overflow" on the computer. Sorry for that, I hope that gameplay will weigh up
a little...



|
|  Story
|
+---------

As always, FPS:s (First Person Shooter:s) need some ridiculous stories. Whether
there are aliens from another dimension attacking earth, or a mass-invasion of
tooth-paste tube caps, they stories are just... weird.
The aliens seemed more intriguing, so I settled for it (thnx for the help in
this section Kozak!):

   It's cold...
   Since we're in arctica, not many would disagree. Many shiver on
   the first thought, a lonely place, surrounded by snow.
   Then there is this dug down bunker, hidden in this cold landscape.
   It hasn't been revealed yet, the other public military bases have
   done a good job getting a lot of attention so that nobody have
   thought of searching up here. It's a nice place, well inside the
   bunker. But not for much longer...

   It was first thought to become a research lab, free from any spies
   or similar pests. They built it in one year, during a "minor"
   expedition. It was perfect, not a single soul outside the project
   knew about this spot. The punishment for an insider was horrible,
   the victim would be alive for many days (yipeeyay).

   A group of special bred children were taken into this bunker.
   Their future wasn't very bright, as they were going to be raised
   into highly trained guards. They'd later be posted at many different
   bases around the globe, to support and control the guard system on
   every location.

   One evening, when an expedition was returning "home" to the bunker,
   they saw a bright, big spot on the sky. It wasn't blinking, so they
   supposed it was one of the planets in the solar system. Suddenly,
   a small, small light emerged from the big spot. It looked like it
   was growing, somehow... It was coming closer!
   They saw the light falling towards the earth, slowing down slightly.
   A slight vibration reached the expedition, and they heard a low
   noise; it had come down to us.

   Their curiosity was too overwhelming, they headed for the crater.
   In just a few minutes, a dark spot in the snow caught the eyes of
   the expedition members. But something was terribly wrong, they all
   started to feel dizzy. The feet weren't really going where they
   should, neither did their hands... ahem! Slowly, they lost
   consciousness.

   You, a highly motivated guard, was bored. The other guys played
   cards, but you weren't very interested in that anymore (remember,
   you lost a few bucks last evening ;) ). You walked to the toilet
   for your usual... "routine". But this time, it wouldn't be usual
   routine.

   "BANG!" The door to the room outside the toilet smacked open.
   "Hold it!" you heard and you quickly put your ear to the door.
   "Man, wazzup?" someone asked.
   Then the conversation started to become a little long. The main-
   ingredients were:
       aliens
       they had a terrible desease
       needed antidote
       only solution: a clone, a twin, or a "GEMINI"
       humans were to become the GEMINIs
       screams
       sound of bodies dragged away.
   "Now that alien major will be proud of us!", you heard from
   outside.
   You realized, going out was not a good idea. But sittin' on this
   toilet forever wouldn't help.
   You took out your knife, you looked at it.
   "Let's have some fun, shall we?"

So, what about the game idea?
Simple, kill everything you see! All humans in the bunker are already
"dead", they have turned into small aliens.
You'll be travelling through the inner areas of the bunker, places you've never
seen before. You'll also be sent up into the mother ship, and meet the real
badass-aliens, and rid them from existence for good! If ya got the guts...


|
|  Features
|
+------------

  * Texturing (32x32 textures, BIG)
  * Theoretically unlimited, sliding, timed doors with keys
  * Pushable walls for secrets
  * Five different animated weapons
  * Items to pick up
  * Enemies with different weapons
  * Dumb objects just standing around
  * NO teacher key, I don't encourage playing games if not allowed
  * Big program (>23000kB just below RAM-limit)...

Well, I can't stack it all up here, try out the game to see it all in action!
You probably think I'm a wuzzy, not implementing a teacher-key, but if you
wanna play, you better be allowed. My friends and I have played a lot, but we
were allowed, see... :)



|
|  Installation
|
+----------------

First of all, you must make sure you can upload this game to the calc properly.
It's VERY big, I think you have noticed that.
You must have a shell, either ION or MirageOS.
Upload the correct file to your calc:

	gemini.83p			->	TI83 with ION
	gemini_ion.8xp		->	TI83+ (SE) with ION/MirageOS
	gemini.8xp			->	TI83+ (SE) with MirageOS

Run "Gemini" (_ion) and enjoy!
The difference between the two *.8xp files is that the MirageOS-specific file
got that little cute icon :)



|
|  Usage
|
+---------

Due to the tiny RAM-mem on the TI83 models, and my raycaster's "mem-eating"
habit, I couldn't afford a help-section on calc. If you share this game with
somebody else, please tell them how to use the game.

	MENU
	Up arrow		Previous seletion
	Down arrow		Next selection
	2nd				Select!

		The difficulty setting is just cycled through.

	GAME
	Up arrow		Go forward
	Down arrow		Go backward
	Left arrow		Turn left
	Right arrow		Turn right
	ALPHA			Sidestep left
	XT@n			Sidestep right
	2nd + MODE		Hands up! BLAM! You're too late. No difference.
	DEL				Open doors (and secrets...)

	Y= - GRAPH		Bring up weapons

	CLEAR			Exit immediately (if you're in a hurry, somehow ;) )
	^				Quit to main menu (you can't resume after this)

The heart to the left of the view shows your health status. A full heart
means full health.
The vest to the right of the view shows your armor status. A full armor
vest means full armor.

Only ammo for the current weapon is shown. If a weapon cannot be brought up,
either you don't have it, or you got no ammo for that particular weapon.

Keys are shown in the upper right corner, when you got them.

When you die, you just get out to the menu. Code-space limitations...



|
|  Items
|
+---------

There are many items scattered throughout the levels. Just walk on them and
you pick them up. They might be a little hard to catch, be sure to walk
straight over them.

  Small health boost:
     --------
    |########|
    |###  ###|
    |###  ###|
    |#      #|
    |#      #|
    |###  ###|
    |###  ###|
    |########|
     --------
	 Increases player health by 12.5%

  Big health boost:
     --------
    |# #  # #|
    | ##  ## |
    |###  ###|
    |        |
    |        |
    |###  ###|
    | ##  ## |
    |# #  # #|
     --------
	 Increases player health by 25%

  Small armor boost:
     --------
    |###  ###|
    |##    ##|
    |#      #|
    |#      #|
    |##    ##|
    |##    ##|
    |###  ###|
    |###  ###|
     --------
	 Increases player armor by 12.5%

  Big armor boost
     --------
    |## ## ##|
    |#  ##  #|
    |        |
    | #    # |
    | #    # |
    |##    ##|
    |##    ##|
    |##    ##|
     --------
	 Increases player health by 25%

  Clip
     --------
    |###   ##|
    |###    #|
    |##    ##|
    |##    ##|
    |#    ###|
    |#    ###|
    |    ####|
    |     ###|
     --------
	 Gives player a handgun clip

  Shells
     --------
    |########|
    |   #####|
    | # #####|
    | #      |
    |     ## |
    |        |
    |     ## |
    |        |
     --------
    Gives player 4 shells

  Bullets
     --------
    |# # # ##|
    |# # # ##|
    | # # # #|
    | # # # #|
    |       #|
    | # # # #|
    | # # # #|
    |       #|
     --------
    Gives player 40 bullets

  Cells
  	No info...

  Handgun
     ----------------
	|### ######   ###|
	|###           ##|
	|###          ###|
	|####### #   ####|
	|#########   ####|
	|##########   ###|
	|##########   ###|
	|#########    ###|
	 ----------------

  Shotgun
     ----------------
    |################|
    | ##########   ##|
    |               #|
    |                |
    |##      #### #  |
    |#############   |
    |##############  |
    |##############  |
     ----------------

  Chaingun
     ----------------
    |#######  #######|
    |######## ####  #|
    |########  ###  #|
    |               #|
    | # #### # #### #|
    |        ####### |
    | # ####  # # # #|
    |              ##|
     ----------------

  Plasma rifle
    No info...

Weapon data:

  Knife
    Without ammo, this weapon is the starting weapon, and the last outpost
    when all other weapons are emtpy. It's quite powerful, but you're not very
	flexible when using it. Also be sure to stand within range, otherwise it
	won't do much damage!

    Accuracy: Just slash and stab, no mentionable precision here.

  Handgun
    A small firearm, with a big bullet-capacity. 12 bullets per clip, with
    a total of 12 clips: 144 bullets, not bad! The realod process is very
    quick, but this weapon is the weakest.

    Accuracy: Spreads very little, be sure to aim well!

  Shotgun
    This weapon is very dangerous, especially when held by the enemies :)
    Its awesome striking-power makes it suitable against most aliens, but
    the slow rate of fire might seem a little "uncomfortable".
	The reload process does take very much time, but you can fire while
	reloading. The reloading process will end then.

    Accuracy: Spreads most of all weapons and deals a lot of damage.

  Chaingun
    Mwahaha, now we're getting into serious stuff! Hold the fire key and
    see the enemies drop like flies. The high rate of fire of this
    machinery will fill the enemies with lead in seconds. Be sure to watch
    your bullets, they tend to "vanish"...

    Accuracy: Due to kickback, this weapon spreads some.

  Plasma rifle
    Alien weaponry, no info avaiable.
	All we know, is that it's powerful (mwahahaha!)



|
|  Enemies
|
+-----------

Classifed section, or whatever they call it. I can tell you this:

	There are four firearms. There are four different enemies, and they
	will all carry firearms! But, note that	even if enemies carry the same
	weapons, they might actually have different durability against your
	attacks. This is very uncommon.

	Also, the enemies will become tougher the farther you play the game, even
	if they carry the pea-shooter (handgun that is...).

	The enemies are very stupid, but a little cautious. If you run into a door,
	see an enemy and run back, the enemies will wait inside for you to come.
	They won't waste any energy on getting you, they only try to stop you!



|
|  Some hints
|
+--------------

Don't go close to enemies, as this will slow down the game slightly, and the
enemies will look very blocky. But when using the knife, this is a necessity.

Move a lot! Enemies will not hit you as easy when you're moving. If you stand
still, the enemies will take the opportunity to shoot a still target...

Also, if you're meeting tough resistance, you can block the shots by walking
behind wall-sections. Columns in rooms are very useful for this. But when
you're meeting chain-guns, spray them before they spray you, just a hint...

Weapons can be found earlier than usual in the secrets put in the levels.
But don't spoil the gaming experience trying to open every wall you see,
just play and enjoy! If you really want to seek for secrets, look for oddities.
I didn't make the secrets impossible to find, I marked them with various
things.

Don't change any development files and compile it, the game might not work
properly that way. For development info, read devlp.txt.



|
|  Version history
|
+-------------------

Fall 2001:
 Version 1 of my raycasters. Some piece of junk, which didn't even work
 properly on TI83s. My very first attempt with any z80-programming at all, I
 didn't even try to output text before this one...
 It was slow, it was buggy, it was ugly. You get the idea.
 I stopped z80-progging for a while, until Kozak (Maarten Zwartbol) began
 asking me about raycasting.


Summer 2002:
 Version 2!
 Threw out the old raycasting-routine, and added textures. Much faster than
 the previous version, and the gfx was A LOT better. A final raycasting-game
 for the TI83s was taking shape!
 And as usual, I got tired of this for a few weeks, until:


Fall 2002:
 The final game! Woopie! Released at school-start.
 Lots of additional stuff and speedups in most places.
 32x32 textures, for walls, doors, doorsides, pushables.
 Objects, such as enemies, items, static objects.
 BFGs and small arms too.
 Blasting big program, one of the biggest yet.
 As said, lots of new stuff, just try it!


I don't have precise dates on the versions, but I hope you'll survive that.



|
|  Credits
|
+-----------

Credits go to:

	Me :D								: Atleast I made quite a lot of it...
										  Almost all code, gfx, design and
										  stuff. I dig get many suggestions and
										  requests for this game, and most of
										  them have been put in.

	Maarten Zwartbol					: helped me with the story and gave
										  some invauable support and ideas.
										  Had a TI83 to test on.

	ID-software							: Wolfenstein source code, it was a
										  great place to search for most stuff.

	Raphal Siryani &
		Alexis Guinamard (Doom83)		: my first contact with ionFastCopy.

	Hideaki Omuro						: fast mul & div, wonderful!

	Emir Sakic							: example on self-modifying code.

	Jim Suffolk							: Pre-release tester. Gave me some new
										  ideas and suggestions. Wanted to help
										  me some in the later phase of
										  development, and he did :)

	All of you who actually made this prog a reality
		(TI, assemblers... u get the idea).

Note that much of what I've "borrowed" has been slightly rewritten. Routines
are not fully originals and perhaps specialized for this raycaster. Just keep
that in mind.

And nicely put at the end of the doc:



|
|  DISCLAIMER
|
+--------------

You use this program at your own risk.
Also, if you use code from this program, you must credit me. Be sure to credit
the people I credited too!

Of course, if you find any bugs, or any inappropriate material, you may contact
me (look at the top of this doc). What happens later is another story ;)
Of course, violence is the nature of this kind of games, so DON'T come with
complaints about that! Just don't play it if you don't like it :)






Copyright (C) 2002 Hans "coelurus" Trnqvist
Copyright (C) 2002 MaxCoderz

a Thorntwig production, from Sweden
	- and I'm not one of the greedy people in smaaland...

      *
   *
  /||||\
  o-O--|
 //    /
 \ -  /
  ---

