Multi-Trek Documentation (1989)

()                                                                          ()

Multi-Trek — A multi-player real-time space battle game
Version 3.0 Chuck L. Peterson clp@ssyx.ucsc.edu April 22, 1989

       Introduction

       Multi-Trek is a multi-player space battle game which uses the shared
       memory facilities of UNIX to permit interaction between players.  Each
       player controls a spaceship, the statistics and scanners of which are
       continuously displayed on the screen.  The player's mission is to
       cruise around the galaxy inflicting the most amount of damage possible
       without being killed himself.  There may be as many as 26 simultaneous
       players.

       Getting Started

       When mtrek is started, you are prompted for a ship name.  If the name
       you enter is being used by another ship currently in the game, you will
       be notified and asked to pick another.  When your ship name has been
       accepted, you are given the class selection screen.  At this point,
       type the letter associated with the class whose statistics you want to
       look at.  Type  when the statistics of the class you want are
       being displayed.  After you are done selecting a name and class for
       your ship, the Multi-Trek playing screen is drawn and play begins.

       If the ship name you enter matches the name of a saved game, you are
       requesting the use of that ship.  If there is a Ship Password
       associated with the ship when it was saved, you are required to know
       this to recover the ship.  Anyone can recover a saved ship not assigned
       a password.  If you have entered the proper password (assuming there is
       one), you bypass the ship selection screen and enter the game itself.
       Your ship will be in the same condition that it was when it was saved.

       Documentation Conventions

       This is a description of some of the conventions used in this document.
       The notation of {ship} and {obj} is used in the specification of
       commands which require a ship or object letter.  The 26 lower-case
       letters correspond to different player's ships.  So if you want to scan
       ship 'e', the command 'o{ship}' indicates you must type "oe".  Objects
       are specified with either a lower-case or upper-case letter.  So if you
       would like to scan a rapidly approaching plasma torpedo with object
       letter 'B', the command 'O{obj}' means that you would type "OB".  The
       {ship} and {obj} letters are obtained from the tactical display, which
       is described in Section 3.2.  Many of the commands in mtrek are control
       characters.  These are indicated with a '^' preceding a letter.  For
       example; the command to redraw the screen is '^r', which you give by
       typing the 'r' key while holding down the 'ctrl' key.  There are also
       commands which begin with the ESC character.  To print your score, you
       give the command 'ESC s' by typing the escape key (and releasing it),
       then typing 's'.  All items in the Multi-Trek universe which are not
       spaceships are given the term objects in this document.  Examples of
       objects are plasma torpedoes, mines, drones, buoys, starbases, planets,
       and nebulas.

       Displays

       Most of the data collected by your monitoring devices is printed in one
       of 3 displays.  These take up most of the screen.  The leftmost box is
       your ship monitor display, the box in the center of the screen is the
       tactical display, and on the right side of the screen is the scanner
       display.  The scanner display is left blank unless something is being
       scanned.

       Ship Monitor

       The statistics of your spaceship are printed here.  This always
       displays the current status of your ship, and is updated as your ship
       changes.  For example, when you increase your speed by repeatedly
       pressing the 'w' key, you will immediately see the  Warp:  value being
       updated to reflect your new speed.

       Tactical Display

       In the tactical display, the bearings and distances to the visible
       ships and objects in your scanning range are printed.  The angle
       printed in the bearing field is the heading you would have to take to
       put your ship on an intercept course.  Each ship has a visibility index
       associated with it which determines how far this ship must be into
       another's scanning range before it can be detected.  The large ships
       tend to have higher visibility indices.  Tactical display entries for
       ships are printed starting at the top as those for objects are printed
       starting at the bottom.

       Ships displayed in the tactical display have the format:
                           letter              name      bearingdistance

       And objects are displayed as:
                           letter)             name      bearingdistance

       An entry is deleted from the tactical display when it refers to
       something which is no longer visible or has left your scanning range.
       The letter printed in a tactical display entry is used with commands
       where a ship or object specification is required.  For example:
       'm{ship}' sends a message to a ship and 'ESC c{ship}' prints the class
       of a ship.

       When another player's ship is scanning you, a '*' appears in front of
       the ship letter.

       When there are quite a few ships and objects in the area, the tactical
       display requires excessive terminal output to maintain.  This output
       can exceed 2400 baud and provide a major inconvenience for users on
       slow terminals.  It is possible to limit output by setting several
       different variables: The variables bearing_dly, dist_dly, and xyz_dly
       are used set to the number of ticks between the printing of bearings,
       distances, and coordinates respectively.  When bearing_dly=0, no
       bearings are displayed at all.  To inhibit the printing of some trivial
       information in the scanner, turn off the verbose variable.

       Another aid for relieving clutter in the tactical display is the range
       variable.  This is set to a distance such that only objects within this
       radius will be seen.  Setting this to a value beyond your ship's
       scanning range will have no effect; this can only used for decreasing
       one's scanning range.  For example, ':set range=3000' will cause all
       entries for objects in the tactical display to be within 3000 units.

       Defaults for terminals less than 9600 baud:
       dist_dly            distances are updated once a second
       xyz_dly             coordinates are updated every few seconds
       bearing_dly         set to 0 so these are not displayed at all
       verbose             turned off so scanner output is shorter

       Scanner Display

       The scanner display is the area between the tactical display and the
       right side of the screen.  This displays the statistics of either a
       specific ship, visible in the tactical display, or those of an object.
       To display the stats of a ship, the command 'o{ship}' is used; where
       {ship} is the ship's letter.  When the ship moves out of scanning range
       or cloaks, the ship is deleted from both the tactical display and the
       scanner.  One can print the stats of an object whether it is in
       scanning range or not.  To do this, enter the command 'O{obj}'; where
       {obj} is the letter 'a'-'z' or 'A'-'Z' corresponding to the desired
       object.  Navigation

       The navigation of a spaceship involves adjusting warp speed, deciding
       when to engage the transwarp mechanism, and deciding on a course to
       take.  The easiest and most common way to set the ship heading is by
       intercepting other ships and objects.  This sets your heading on a
       direct intercept course.  The only time that you need to resort to
       manual navigation is when avoiding things like plasma torpedoes or when
       implementing a complicated attack strategy.

       Manipulating Speed

       The following 3 commands are used to quickly modify the current warp
       speed:
                           w                   increases warp by 0.2
                           W                   decreases warp by 0.2
                           ^w                  sets warp to 0.0

       One may also immediately set one's warp to a specific value by using
       the '@{num}' command where {num} is any decimal fractional number your
       ship can travel at.  Negative warp is defined to mean that your ship is
       traveling backwards.  This is especially useful in avoiding many of the
       various hazards your ship will encounter.  Just set your heading to be
       on an intercept course with the thing to be avoided, then set your warp
       to a negative value.

       Warp speed is based on the model where the units travelled per second
       at warp 1 is c*3*k where c is the speed of light, and k is some
       constant.  Warp 2 is c*3*3 * k, Warp 3 is c*3*3*3 * k, warp 4 is
       c*3*3*3*3 * k, etc...  One can see that the time it takes for a certain
       space trip will be greatly reduced by a small increase in warp speed.

       Associated with each ship are speeds at which the ship can safely
       travel.  The command 'ESC w' gives the turning, cruising, and emergency
       warp speeds.  Damage to the ship structure will occur when turning at a
       speed exceeding ones turning warp.

       For each warp 1.0 you exceed your cruising warp by, you lose 1 warp
       energy per second.

       For each warp .2 you exceed your emergency warp by, you acquire 1 point
       of structural damage per second.

       Transwarp

       For spaceships so equipped, transwarp can be engaged with the 'x'
       command.  This greatly increases the speed the ship moves, and lasts
       about 10 seconds.  This effectively increases ones warp speed to
       between 20 and 30.  Thus, engaging transwarp at higher warp speeds
       results in a transwarp that covers a greater distance in less time.
       Transwarp requires a speed of at least warp 3, and damage will occur if
       it is engaged while travelling slower than warp 4.  It also uses up 30
       units of warp energy.  Some of the ship classes are equipped with a
       tracking transwarp.  If you have tracking transwarp, and begin
       transwarping while intercepting something, the tracking will disengage
       the transwarp at the exact moment needed to place you as close as
       possible to what was intercepted.  Transwarping without tracking is a
       blind space-shot, and often places your ship far away... from
       everything.

       The Excelsior class spaceship does not start out with transwarp
       capability.  This is installed automatically the first time you orbit
       Earth.

       Intercepting

       An intercept course can be made to something currently being scanned by
       typing 'i'.  This command toggles the intercept mode on and off.  With
       intercept mode on, a new heading is computed every second which puts
       your ship on an intercept course with that being intercepted.  Once the
       ship is intercepting one ship or object, you can scan something else
       without interrupting the intercept process.  To have your ship
       intercept the new thing being scanned, give the 'i' command twice; once
       to turn off the previous intercepting, then again to turn on
       intercepting of what is now being scanned.

       Other ships can also be intercepted without having to scan them.  This
       is done by using the '^i{ship}' command where {ship} is letter
       appropriate for the ship you want to scan.

       The interception of specific coordinates is done with the 'I' command.
       After you type 'I', enter the destination coordinates at the
       appropriate "X:", "Y:" and "Z:" prompts.  Automatic intercepting will
       not be turned on when you are exceeding your turn warp.  Instead, your
       ship's heading will change once to point in the direction of the
       desired object, giving you the damage associated with the sharpness of
       turn.  If intercepting is turned on when one requests that his turning
       warp be exceeded, it will be turned off.  Manual Heading Manipulation

       If you wish to manually change your heading, there are 4 commands to do
       this:
                           l         Changes heading 1 degree clockwise
                           h         Changes heading 1 degree counter-
       clockwise
                           j         Changes heading 1 degree down
                           k         Changes heading 1 degree up

       The upper case versions of these commands are used to change your
       heading in increments of 5 instead of 1.  If your ship is intercepting
       something, the heading is re-computed every second.  Because of this,
       it doesn't make sense to use these commands while in intercept mode.

       Combat

       This section discusses how to lock weapons, the cloaking device, and
       how to fire the various weapons found in the game.  Also covered is the
       use of the shields, damage control, and the resources needed to use
       these.  Each ship is equipped with a type of phaser and a type of
       torpedo.
       The phaser types are:
                 phaser, expanding sphere inducer, teleporter, disruptor, agonizer
       The torpedo types are:
                 photon, plasma, obliterator, plasma bolt
       Some ships have several mines and drones at their disposal as well.
       The use and effectiveness of each of these is described below.

       A few ships are equipped with multiple phaser or torpedo weapons.
       However, only one of each of these may be engaged at a time.  The
       selection of a specific phaser weapon is done with the command ':set
       ph={type}' where {type} is one of: phaser, esi, teleporter, disruptor,
       agonizer.  A torpedo weapon is selected with the command ':set
       tp={type}' where {type} is one of: photon, plasma, obliterator, bolt.

       Locking Weapons

       Ships can lock weapons on a visible ship or object within maximum
       torpedo range.  When this is done, a *** Weapons Locked *** indicator
       appears below the scanner.  To lock weapons on what is displayed in the
       scanner, give the '^L' command.  Locking on a ship within range, but
       not displayed on the scanner is done with the command 'ESC ^L{ship}'.
       Even though a cloaked ship can lock weapons on nearby ships, phaser and
       torpedos cannot be fired while cloaked, but mines and drones can be.
       The way locking condition affects the various weapons is discussed in
       each of the sections below.

       Phaser

       This typically works from point-blank to around 500 units away
       depending on class of ship.  The phaser gives the most damage at 0
       units away and no damage at the maximum range.  The damage given by the
       phaser is inversely proportional to the distance from the target.
       Firing phasers at a target more than the maximum distance away will
       miss.  Phasers will always hit a target within phaser range, but may do
       negligible damage.

       The phasers are charged by allocating 5 units of energy at a time with
       the 'P' command.  These are fired using the 'p' command.  Firing at
       strength 20 is 4 times as strong as with strength 5.  When these are
       fired, the energy allocation goes to 0, but it takes 1 second per 2
       energy units to cool off.  The cooling off process is a combination of
       a decreasing temperature and the deallocation of the huge amount of
       energy.  For example, when firing a 50 strength phaser beam, it takes
       25 seconds to fully cool and for the power to be available again; but
       after 10 seconds, another strength 20 phaser beam can be fired.  If you
       change your mind, you can unload the energy you allocated with 'P',
       with the '^p' command.  Firing phasers without weapons being locked
       causes them to be fired wide.  This gives half the normal damage, but
       to everyone within phaser range; including ships which are cloaked.

       Expanding Sphere Inducer

       When fired, the ES Inducer gives damage to all ships in phaser range,
       cloaked or not.  The amount of damage depends on how close the enemy
       ships are to you, and how many of them are in range.  Locking weapons
       does not affect the ES Inducer in any way.  The closer the ship is to
       you, the higher the damage.  Damage given to individual ships is
       drastically reduced with more ships in phaser range.

       Teleporter

       The Freighter DY-600 is equipped with a Teleporter Phaser weapon.  The
       usual phaser commands are used to control this weapon.  Hitting an
       enemy ship with this causes it to be displaced a distance roughly
       proportional to the strength of the blast.  Weapons must be locked on a
       ship in phaser range to use the Teleporter Phaser.  Disruptor

       This functions much the same way as the standard phaser except that the
       damage it gives is constant throughout phaser range.  If weapons are
       not locked, firing wide results in all ships in phaser range receiving
       damage, but with an amount much less than if weapons were locked.

       Agonizer

       This is an odd phaser weapon used by the Romulans.  There can be a
       single charge of 40 units in the Agonizer.  The agonizer system
       converts a plasma torpedo into a plasma stream which has the look and
       feel of a phaser weapon.  This uses up a plasma torpedo; and after
       fired, the usual plasma cooling delay of 3 seconds goes into effect.
       When fired while weapons are locked on a ship in phaser range, this
       will give 400 damage units.  If weapons are not locked, firing wide
       results in all ships in phaser range receiving 200 damage units.

       Photon Torpedo

       This weapon has a range which is from about 500 units to about 1000
       units depending on class of ship.  A ship can load only as many as it
       has torpedo tubes.  Loading a torpedo tube takes up 10 units of energy,
       and is done using the 'T' command, and can be unloaded if you change
       your mind with a '^t'.  All the loaded tubes must be fired at the same
       time with 't'.  These do not have the cooling delay associated with the
       phaser or disruptor, but may have a minor synchronization delay of 2 to
       3 seconds.  Photon torpedoes have zero effect at their minimum range,
       and do maximum damage at their maximum range.  Photon torpedoes miss if
       fired at something closer than their minimum range, farther away than
       their maximum range, or if weapons are not locked.  In a way similar to
       the phaser, the photon torpedo's damage is inversely proportional to
       the distance from the target to maximum torpedo range.

       Plasma Torpedo

       Some ships use plasma torpedoes instead of photon torpedoes.  There is
       1 torpedo tube in plasma equipped ships.  Loading a plasma torpedo uses
       85 energy units.  The energy used to load a plasma torpedo is
       immediately available on firing or unloading.  If weapons are locked,
       this is fired in the direction of what is locked on to.  If weapons are
       not locked, this is fired straight ahead.  Unlike the other phaser and
       torpedo weapons, this does not hit instantly.  The plasma torpedo is a
       device which travels from warp 9 to warp 10; and shows up in the
       tactical display.  It gives massive damage if it hits the target, but
       it is possible to avoid.  This is loaded, unloaded, and fired with 'T',
       '^t', and 't' respectively.  The plasma torpedo lasts 20 seconds, and
       each of its last 5 seconds, it loses 10% of its strength.  Plasma will
       give 1500 damage units at full strength.  This will hit any other ship
       which comes within 200 units of it; friendly or not.

       The plasma torpedo on the Romulan Warrior has adjustable speed.  To set
       the plasma speed for warp 10, use the command ':tpspeed=10'.  Valid
       speeds are from warp 5 to warp 12.  Less damage is done at the faster
       speeds.

       Obliterator

       Several obliterator torpedos can be loaded and fired at the same time,
       with each one drawing 10 power units.  These only hit a target when
       weapons are locked on a ship within torpedo range.  (100 * num_torps)
       damage units are given to a ship when hit with this weapon.  The
       Klingon D-11 replenishes obliterator torpedos automatically without
       requiring a trip to a starbase.

       Plasma Bolt

       Only one plasma bolt torpedo can be loaded at a time, and one of these
       requires 85 power units to load.  These only hit a target when weapons
       are locked on a ship within torpedo range.  750 damage units are given
       to a ship when hit with this weapon.

       Mine

       Most ships are equipped with a few mines.  These are released with the
       'M' command and take no energy to do so.  One must wait 10 seconds
       after releasing a mine until he can release another.  Mines explode
       when any ship comes within 100 units of it.  If one's speed is
       negative, the mine is put 150 units in front of the ship.  Otherwise,
       it is put 150 units behind the ship.  A mine gives 900 points of
       damage.

       Drone

       Drones are fired when weapons are locked on a ship or object.  The
       drone follows the target until it either is less than 100 units away
       from the target in which case it explodes giving the ship damage, or
       it's activation time runs out.  A drone gives 400 points of damage.
       This will only hit what the weapons were locked on to when it was
       fired.  A drone is released with the 'd' command and takes no power,
       but one must wait about 10 seconds until another can be released.

       Buoy

       Buoys are used to detect the positions of other ships.  A buoy is
       released with the 'b' command.  Another ship triggers the buoy by
       coming within 2000 units.  This causes a message to be relayed to the
       buoy's creator giving the location and name of the spotted ship.  One
       must wait a long time after a buoy is released before another can be
       released.

       Cloaking

       Only a few ships are equipped with cloaking.  The cloaking device sucks
       power on every ship so equipped.  There is a limit on the time you can
       have the cloaking device engaged which varies from ship to ship.  The
       cloaking device will burn out if you do not turn it off before this
       time runs out.  A trip to Romulus is required to fix a burned out
       cloaking device and for the Constitution II-A class ships to initially
       install one.  This device is turned on with 'z', and off with 'Z'.
       Examining the time remaining in the device is done with the 'ESC z'
       command.

       Ramming

       You can also damage other ships by ramming them.  Using the 'r' command
       causes yourself as well as all other ships within 0 units away to
       receive from 20 to 25 damage.

       Shields

       The shields are an important part of the combat systems aboard your
       ship.  The shield value printed on the screen is a percentage value
       representing the strength of your shields with full shields being 100.
       All attacks except for ramming hit the shields first.  If the shields
       are still partially up after the hit has lowered them, no damage has
       occurred to your ship.  But if your shields have been taken all the way
       down, or are down to begin with, the hit will get through and damage
       various parts of your ship with a strength depending on how much the
       shields absorbed.  The command 's' makes the shields raise 1% per
       second.  You can stabilize the shields at the current level with the
       '^s' command.  With the 'S' command you decrease the shields by 10% and
       stabilize them.  The shields use up 1 energy unit for every 5% they are
       up.

       Damage Control

       Damage to your ship is repaired by allocating energy units to damage
       control.  In general, the more you put in damage control, the quicker
       your Warp Energy, Impulse Energy, and Damage get fixed.  When your
       Damage number exceeds 100, you lose life support.  When your life
       support reaches 0, your crew dies and the game is over.  Life support
       can only be fixed at odd-numbered starbases.  Damage control is
       allocated in units of 5.  To increase damage control use 'c'; to
       decrease use 'C'; to set to zero use '^c'.

       Auto-Destruct

       When your ship gets wounded beyond repair, you may choose to engage
       your ship's auto-destruct mechanism.  This is done using the 'D'
       command.  If you have assigned a password to your ship, you will have
       to type that in now for verification.  You can abort the auto-destruct
       sequence with 'D' while there are more than 5 seconds remaining until
       detonation.  Detonation also occurs when a ship accumulates more than
       200 damage points.  The amount of damage an exploding ship gives to
       nearby ships is dependent on the amount of antimatter on board the
       exploding ship, and the distance to the other ships.

       Ship Systems

       This section describes the relation between Warp Energy, Impulse
       Energy, and Anti-Matter. Also covered here is information about the
       Ship Password, Docking and Orbiting.

       The Matter/Anti-Matter Annihilation Chamber

       There are two sources of energy aboard all ships; impulse energy and
       warp energy.  The total amount of energy one can use is the sum of
       these two amounts.  Impulse energy is used first, and there is no
       noticeable side effect from using it.  Warp energy is used by
       allocating the use of more energy than you have impulse energy.

       Warp energy is generated by the annihilation of matter and anti-matter
       by having tiny amounts of one coming in contact with the other.  This
       process is controlled with strong magnetic fields.  The energy released
       by this reaction is focused with dilithium crystals.  The acquisition
       of more dilithium crystals causes better utilization of the
       annihilation process; which translates into more warp energy being
       available.  These crystals are obtained by orbiting the planets Rigel
       XII, Wrigley, or Vulcan.  Anti-matter is used up at a rate of 1 unit
       for every 10 units of warp energy being used per second.  More anti-
       matter is picked up from one's home planet.

       Ship Password

       The ship password has two uses in Multi-Trek.  The first is for saved
       game verification, and the second is for engaging the auto-destruct
       mechanism.  To assign a password to your ship, use the 'ESC P' command.
       The current password can be seen by using the 'ESC p' command.

       Docking

       When a ship is a distance of less than 2 away from a starbase and at a
       speed of 0, docking is performed with the '^d' command.  Warning: If
       you do not dock with the starbase now, your ship will crash into the
       starbase causing damage to both.  Typically, odd numbered starbases
       repair life support and even numbered starbases replenish torpedos.
       One may save his game only when docked at a starbase.  If there is a
       password assigned to a ship when it is saved, the user must type it
       when retrieved.  If not, anyone from any account can resume that game
       by requesting the ship name.  See the section on the "ship password"
       above.

       Orbiting

       When a ship is a distance of less than 2 away from a planet and at a
       speed of 0, the orbiting process is performed with the '^o' command.
       Warning: If you do not orbit the planet now, your ship will accumulate
       structural damage from the friction generated by the decaying orbit.  A
       ship receives anti-matter when orbiting its home planet, and it
       receives dilithium crystals when orbiting Rigel XII, Wrigley, or
       Vulcan.

       Scoring

       Ships saved at a starbase are eligible for the high score list.  The 6
       categories a ship is rated on are:
       Time                Total time spent in the game.
       Avg Time  Average duration between game saves.
       Breaks              A secret cheating index.
       DmgRcvd             Total amount of damage received.
       Damage              Total amount of damage inflicted.
       Conflicts Total number of ships engaged.

       A maximum for each category is found by looking at all high scores.
       For each category in the ship's score, a percentage of the maximum
       value for that category is found.  The Brk percentage is subtracted
       from 100.  The "Pct" field in the high score entry is the average of
       these 6 percentages; and scores are sorted with this.  The ship's class
       letter and name follow the "Pct" field.

       The Unix Interface

       You can assign the SHIP environment variable to specify both the ship's
       name and class you want to use.  The desired class is specified by
       giving the full name for the class or by giving the letter associated
       with it in the class selection screen.  The environment variable is of
       the form name:class.  Either of these fields can be left out,
       indicating that want to choose that field each time you play.

       Setting the SHIP environment variable

       This is how you set environment variables in the Csh:

                 % setenv SHIP "Enterprise:Constitution II-A"

       This is how you set environment variables in the Bourne shell:

                 $ SHIP="Enterprise:Constitution II-A"
                 $ export SHIP

       Command Line Arguments

       You can now use the -name and -class options to override either, or
       both of the fields in your $SHIP for setting your ship's name and
       class.

                 For Example, to make a Romulan ship named Rocinante:
                 % mtrek -name Rocinante -class "Romulan Bird of Prey"
                           or
                 % mtrek -name Rocinante -class e

       Keyboard Mapping

       There is a command in mtrek which allows you to map certain keys to
       mtrek command strings.  Mapping a character is done with the '('
       command, and unmapping is done with ')'.  The '(' command prompts you
       for a character, then for the string you want that character to
       generate.  Control characters may be in this string by specifying them
       with the corresponding 3 digit octal escape.  For example, the escape
       character is \033.

       .mtrekrc

       Each time you play, mtrek looks for your initial keyboard mappings in
       the file .mtrekrc in your home directory.  Each line in this file
       contains a keyboard mapping definition.

       A line is of the form:
                 {char}={string}
       For example, my .mtrekrc looks like this:
                 [=@-14\r
                 ]=@14\r
                 {=CCCC
                 }=cccc
                 +=m*At this stardate, I am transferring command to "The Battle Bridge".\r
                 -=m*<< Subspace Beacon >>\r
                 ^=\033S

       Weapons:
       ^l                  locks weapons
       u                   unlocks weapons
       T                   loads torpedoes
       t                   fires torpedoes               strongest:maxweakest:min
       ^t                  unloads torpedoes
       P                   loads phaser
       p                   fires phaser                  strongest:minweakest:max
       ^p                  unloads phaser
       d                   releases a drone
       M                   drops a mine behind you if warp > 0; in front of you if warp < 0
       r                   rams all ships a distance of 0 away
       b                   releases a movement detection buoy
       D                   enables/disables auto-destruct sequence

       Navigation:
       h                   changes heading c-clockwise 1 degree
       H                   changes heading c-clockwise 5 degrees
       l                   changes heading clockwise 1 degree
       L                   changes heading clockwise 5 degrees
       j                   decreases pitch down 1 degree
       J                   decreases pitch down 5 degrees
       k                   decreases pitch up 1 degree
       K                   decreases pitch up 5 degrees
       w                   increases warp by 0.1
       W                   decreases warp by 0.1
       ^w                  changes to warp 0.0
       ESC w     prints cruising and max speeds
       x                   engages transwarp drive if warp >= 3; damage occurs if warp < 4
       i                   intercepts ship being scanned
       I                   intercepts coordinates you enter
       ^i{ship}  intercepts {ship} if in range
       ^o                  orbits a planet when distance < .2 units
       ^d                  docks at starbase when distance < .2 units
       z                   turns cloaking device on
       Z                   turns cloaking device off
       ESC z     prints remaining time left in cloaking device
       @{num}    sets warp to value typed in

       Scanner:
       o{ship}   displays {ship} on scanner
       o.                  displays closest ship on scanner
       O{obj}    displays {obj} on scanner
       O{digit}  displays "Starbase {digit}" on scanner
       O.                  displays closest object on scanner
       Miscellaneous:
       c                             increases damage control
       C                             decreases damage control
       ^c                            sets damage control to zero
       s                             raises shields one percent/second
       S                             lowers shields by 10% and stabilizes
       ^s                            stabilizes shields
       X                             turns off sensor probe
       ^x                            clears old messages
       ^e                            makes energy available
       m{ship}             sends a subspace message to {ship}
       m.                            sends a subspace message to closest ship
       m*                            sends a subspace message to all ships
       R{ship}             ignores messages from {ship}
       ESC R               prints ships whose messages you currently ignore
       ESC S               saves game if docked at a starbase
       ESC s               prints your score
       ESC M               prints heading of where last message came from
       ESC ^m              changes heading to direction of last message
       ESC m               prints number of mines left
       ESC d               prints number of drones left
       ESC b               prints time until another buoy is ready
       ESC p               prints types of phasers available
       ESC t               prints number of torpedos left and torpedo types available
       ESC T               prints number of torpedo tubes
       ESC r               prints weapon ranges
       ESC l{ship}         intercepts coordinates of where {ship} last seen
       ESC L{ship}         prints coordinates of where {ship} last seen
       ESC ^l{ship}        locks weapons on {ship}
       ESC #               prints your ship's slot letter
       ESC c{ship}         prints name and class of {ship}
       ESC ^r{ship}        prints name, score, and rank of {ship}
       ESC ^s              prints current scanning range
       ESC P               enables you to enter a new ship password
       ESC ^p              prints current ship password
       ESC g               prints name of galaxy you are in
                                     (for use with auto-destruct & retrieval of saved game)
       (c{string}          maps character 'c' into {string}
                                     (from then on, the command 'c', will be repaced with string)
       )c                  unmaps character 'c'
                                     ('c' is given its original meaning)
       Q                   quits game          (verify with (y)es or (n)o )
       ^h                  gets some simple help
       ^r                  redraws screen

       Set Variables:
       range               Shortens the distance at which objects must be
                                     before they are printed in the tactical display.
                                     Example: ':set range=3000'

       ph                  selects a type of phaser
                                     Example: ':set ph=phaser' or ':set ph=teleporter'

       tp                  selects a type of torpedo
                                     Example: ':set tp=photon' or ':set tp=bolt'

       report              sets minimum damage to other ships reported
                                     Example: ':set report=50'

       beep                beeps on command errors
                                     Example: ':set beep' or ':set nobeep'

       bearing_dly         prints bearings in tactical display
                                     Example: ':set bearing' or ':set nobearing'

       dist_dly            Sets number of ticks between distance updates.
                                     Example: ':set dst_dly=10'

       xyz_dly             Sets number of ticks between coordinate updates.
                                     Example: ':set xyz_dly=10'

       bearing_dly         Sets number of ticks between bearing updates.
                                     Bearings are not printed if this is zero.
                                     Example: ':set bearing_dly=10'

       verbose             Prints more information in scanner.
                                     Example: ':set verbose' or ':set noverbose'

                                                                            ()