INTRODUCTION:  Spacetag is a real-time, full-screen space game for UNIX
    systems.  It may be run from any terminal with a properly configured
    screen, and with a sufficiently fast baud rate.  The player flies around in
    a "spaceship", and attempts to "tag" an "enemy ship" by running into it.
    Both a short-range and a long-range scan are available.  A planet, space
    stations, gravity, an atmosphere, friction, and fuel and temperature
    considerations all combine to complicate and enhance the game.

          <space>   accelerate forward
                  j      rotate left
                  k      rotate right
                  q      quit
                  l      redraw screen  (if "undesirable" characters
		                                   accidentally appear)
        (The universe is broken up into "quadrants", each about half a screen
	    by half a screen, labelled using Cartesian co-ordinates, with the
	    usual orientation (up is +y, etc.).  Your ship's position is
	    indicated in the top left corner of the screen.)

        1 (large) SQUARE PLANET, marked with alternating  @  and  &  , with
             corners in quadrants  (7,7), (-7,7), (7,-7), and (-7,-7).
        4 (small) SPACE STATIONS, marked with a ring of  #  ,  at the inside
	     corners of quadrants (20,20), (-20,20), (20,-20), and (-20,-20).
        1 ENEMY SHIP, indicated by  % , flying all around in a random manner
	     (how quickly depends on the SKILL LEVEL selected).


	The object of the game is to "TAG" the enemy ship, by coming "very
	close" to it (how close depends on the SKILL LEVEL selected).  If you
	do so, you will be considered to have "won the game", and the game will
	start over again.

        YOUR SHIP is always in the center of the screen, marked with a
  	  ^  >  v  or < , depending on the direction you're pointing.
	The "BACKGROUND" is indicated with a lattice of . ; or !   This lattice
	  is "still", and you can infer your own ship's velocity from it.  The
	  lattice marks the corners of the "quadrants".

	Other objects (the PLANET, SPACE STATIONS, the ENEMY SHIP) are
	  indicated in their position RELATIVE TO YOUR SHIP, when they are
	  close enough to be "on the main screen".

	In the bottom right-hand corner of the screen is a LONG-RANGE SCAN,
	  which indicates the position of the ENEMY SHIP (%) relative to your
	  ship, on a much larger scale than fits on the main screen itself.
	  The nearest bit of the PLANET (@) and the nearest SPACE STATION (#)
	  are also shown.

	On the top left corner of the screen is printed your ship's

	On the top line of the screen are printed your FUEL REMAINING,
	  TEMPERATURE of your ship, and other information as required.


	The <space> key can be HELD DOWN to accelerate more rapidly.
	    Acceleration is always forwards.  The only way to DECELERATE is to
	    turn around and accelerate in the opposite direction.

        Your ship will begin to HEAT UP as you travel through the atmosphere.  
	   If your temperature gets above 1000, you OVERHEAT, and lose control
  	   of your ship until such time as the temperature goes down again.
  	   Your ship will automatically attempt to slow down and stop
  	   to reduce the temperature.
        Fuel is CONSUMED for life-support and for acceleration.  If your fuel
  	   goes below  0,  you RUN OUT OF FUEL, and DIE.  You are considered to
	   have "lost the game" at this point.  The game then automatically
        You can LAND ON THE PLANET, or DOCK AT A SPACE STATION, just by flying
  	   into it.  If you approach too quickly, you will CRASH, and have to
  	   wait while REPAIRS are made.
        While docked at a space station, you will automatically start to REFUEL,
           and to COOL at a faster rate than when you're just sitting still
  	   away from a space station.

	The game can be ended at any time by typing "q".  When you catch the
	enemy ship (and win), or run out of fuel (and lose), the game is over.
	At this point, you will be asked if you wish to play again.

        The planet creates GRAVATATIONAL ATTRACTION (proportional to the inverse
        square of the distance from its center).  Thus, if your ship is near
	the planet, it will tend to fall inwards.
        The planet is surrounded by an ATMOSPHERE (with exponentially decaying
        density).  The symbols  "!"  and  ";"  indicate higher densities than
	the symbol  "."  .  Higher density leads to more FRICTION (directly
        proportional both to speed and to density) and more TEMPERATURE INCREASE
        (similarly proportional).
        COOLING follows Newton's Law of Cooling.


	To help players get started, I describe here a sample game.

	You start "spacetag" and get instructions, and then you choose a skill
	level and begin.  There is a  ^  in the middle of the screen: that is
	your ship, pointing up.  There are various  !  around:  these represent
	the "stationary background".  In the lower right-hand corner of the
	screen is the "long-range scan".  In middle of this is another  ^ which
	is again your ship.  Two spaces to the left of this is a  @  and two
	spaces up is a  % .  This means that the planet is a little ways off to
	the left, and the enemy ship is a little ways up.  If you wait a few
	seconds, gravity starts to pull you to the left, which is indicated by
	the background of  !  moving slowly to the right.  To catch the enemy
	ship, you want to accelerate up, and since you are already pointing up,
	you just press and hold the <space> key.  The background of  !  starts
	to move down, indicating that you're moving up.  When you have reached
	a "comfortable cruising speed", you let go of <space> and glide along.
	After a while, the  %  in the long-range scan moves to within one space
	of the  ^ there, indicating that you're closing in on your target.  At
	this point, you quickly press 'k' twice to turn around, changing the
	two  ^ into  v .  You then press and hold <space> for a while until you
	slow down.  Hopefully you have seen the enemy ship,  %  , on the main
	screen by now.  When you do, you turn with 'j' and 'k', and accelerate
	in whatever direction you're pointing with <space>, until you hopefully
	get close enough to the enemy ship, and win.  If the enemy gets away,
	you pursue it, using the long-range scan to figure out where it is, and
	using 'j', 'k', and <space> to accelerate in the appropriate
	direction.  If you can't catch it and start to run low on fuel, you
	head for the nearest space station, amongst quadrants (20,20),
	(-20,20), (20,-20), and (-20,-20).  This station will be indicated by
	a  #  on the long-range scan, and if you move towards that, you will
	see a ring of  #  appear on the main screen.  When you crash into them,
	your fuel starts to go up.  When it's close to 1000 again, you leave
	the space station and resume your chase of the enemy ship.  When you
	finally get fed up, you press 'q'.


	I plan to continue to work on this game.  I would like to have the
	enemy ship chase after YOU some of the time, like in a real game of
	tag, with a SCORE computed by how long it takes the enemy to catch you
	minus how long it takes you to catch the enemy.  I also want to make
	a high-resolution xwindows version.  Later, I hope to make
	this into a multi-user game, whereby different players could login
	separately on separate terminals, and then fly around in the same
	universe, all playing tag.  Perhaps it would be set up so that at the
	start only one person would be "it", but then as that person tagged
	other people, they would become "it" too, until finally everyone would
	be chasing after one final holdout.  The addition of extra planets or
	moons or other objects into the universe is also a possibility.  I
	welcome comments on these and other ideas.



[Back to Nonwork Page / Spacetag Page / Java version]

[contact me / Home Page]