====================
StarSim Instructions
====================

:Author: David Handy <cpif@handysoftware.com>
:Date: $Date: 2005-02-09 23:06:30 -0500 (Wed, 09 Feb 2005) $

.. contents::

Introduction
============

Welcome to StarSim, a space exploration and adventure game!

I wrote StarSim using the Python_ programming language as an extended code
example for people reading my beginning computer programming book `Computer
Programming is Fun!`_. I hope people will enjoy playing it; I also hope some
people will enjoy taking it apart to figure out how it works.

.. _Python: http://www.python.org/
.. _Computer Programming is Fun!: http://www.handysoftware.com/cpif/

Commands
========

Key Commands
------------

======  =============================================
Key     Action
======  =============================================
Esc     Quit
Tab     Send message to selected object (type a line, press Enter)
F1      Show help page
F2      (unused)
F3      Load/Unload/Inventory cargo
F4      (unused)
F5      Launch missile
F6      (unused)
F7      (unused)
F8      Attach/detach tow line
F9      Toggle display mode
F10     Measure distance/fuel to get to selected location
F11     (unused)
F12     (unused)
Up      Boost forward
Down    Boost backwards
Left    Turn left
Right   Turn right
Home    Go to your home base
PageUp  Display previous message
PageDn  Display next message
======  =============================================

Mouse Commands
--------------

Click on a spot of empty space to go to that location.

Click on a starbase to go to it and dock with it. While you are docked, the
starbase refuels and re-arms your ship.

Click on a starship or other moving object to follow it.

Either control-click (hold the control key and press the left mouse button)
or right click on an object to select it as the target of the next command.
Commands that affect the selected object include launch missile, send
message, attach tow line, load cargo, etc.

Command Behavior
----------------

The toggle display command switches between displaying the scanner readout
and your map, as described below.

Display Modes
=============

Use the F9 key to switch between the following display modes.

Scanner Display
---------------

When the game first starts up you see the scanner display. This shows all of
the objects nearby you. Starbases are round, spinning objects, while
starships are shown in a variety of shapes. Stars are little bright dots
(they don't do much in the game.) The objects are not shown in their "real"
sizes and shapes, but are schematic representations (just like real radar or
situation displays use.)

As in a radar display, your position is always in the middle of the display,
and other objects are shown in their positions relative to you. However, the
"up" direction on the display is always "galactic north". Your ship is drawn
with its "nose" pointing in the direction that your ship is currently
facing.

Each starship has it's pilot's name displayed immediately above it. If there
is no name displayed, that means that it is either an abandoned ship or a
robot ship (possibly a Fuon invader).

You can select on object as a destination by clicking it with the left mouse
button, or as a command target by control-clicking it or selecting it with
the right mouse button.

Map Display
-----------

The map display shows a much wider area than the scanner display, but it is
limited to only showing the known starbases. Since the map display shows far
away objects based on its "memory" and not what it actually "sees", it
doesn't make sense for it to show any moveable objects, since they likely
won't be there any more.

You can do most of the same things in the map display as you can in the
scanner display. You can click on a starbase to go to it; however, be aware
that you may be in for a long journey! To cancel a journey, click on
a spot nearby.

Don't stay in the map display mode for too long, or you may be surprised by
encounters with local objects that you can't see. Switch back to the scanner
display mode while you are traveling.

Game Objective
==============

You might be surprised to learn that the objective of the game is not to
destroy the Fuon invaders. You really can't destroy them; your missles only
paralyze their ships so that you can tow them away. However, you will need
to defend yourself and others from Fuon invaders while going about your real
objective, which is to serve and protect the interstellar colonies and the
other starships in your role as a starship commander.

From time to time you will receive messages on the top of your screen from
nearby starbases, telling you of the needs of the various colony starbases,
or of starships in distress. Your mission is to help these people. You may
need to pick up cargo, such as food or medicine, on some starbases, and
deposit it at others.

The missions may require some problem solving. Don't think that you can
always make the journey in one jump without refueling! You may need the
cooperation of other starships and starbases. Always carry a fuel reserve,
and at least a few missles with you, as Fuon invaders can appear any time.

