Provided by: empire_1.7-3_i386 bug


       empire -- the wargame of the century


       empire  [-w  water]  [-s  smooth]  [-d delay] [ -S save-interval ] [ -f
       savefile ]


       Empire is a simulation of a full-scale war between  two  emperors,  the
       computer and you.  Naturally, there is only room for one, so the object
       of the game is to destroy the other.  The computer plays  by  the  same
       rules that you do.

       -wwater   This option controls the amount of water on the map.  This is
                 given as the percentage of the map  which  should  be  water.
                 The  default  is  70% water.  water must be an integer in the
                 between 10 and 90 inclusive.

       -ssmooth  This controls the smoothness of the map.  A  low  value  will
                 produce  a  highly  chaotic map with lots of small islands or
                 lakes.  A high value will produce a map with a few  scattered
                 continents.   Be  forewarned that a high value will cause the
                 program to take a long time to start up.  The  default  value
                 is 5.

       -ddelay   This  option  controls  the  length of time the computer will
                 delay after printing informational messages at the top of the
                 screen.   delay  is  specified  in milliseconds.  The default
                 value is 2000 which allows the user two  seconds  to  read  a


       empire -w90 -s2

       This produces a map with many islands.

       empire -w50 -s0

       This  produces  a really strange map.  These values are not recommended
       for the faint at heart.

       empire -w10

       This produces a map with lots of land and a few  lakes.   The  computer
       will  have  a  hard time on this sort of map as it will try and produce
       lots of troop transports, which are fairly useless.

       There are two other option.

              sets the save interval for the game (default is  10).  Once  per
              interval  turns the game state will be automatically saved after
              your move. It will be saved in any case when you change modes or
              do various special things from command mode, such as `M' or `N'.

              Set the save file name (normally empsave.dat).


       Empire  is  a  war  game played between you and the user.  The world on
       which the game takes place is a  square  rectangle  containing  cities,
       land,  and  water.   Cities are used to build armies, planes, and ships
       which can move across the world destroying enemy pieces, exploring, and
       capturing more cities.  The objective of the game is to destroy all the
       enemy pieces, and capture all the cities.

       The world is a rectangle 60 by  100  squares  on  a  side.   The  world
       consists  of  sea  (.),  land  (+),  uncontrolled cities (*), computer-
       controlled cities (X), and cities that you control (O).

       The world is displayed on the player's  screen  during  movement.   (On
       terminals  with  small screens, only a portion of the world is shown at
       any one time.)  Each piece is represented by a unique character on  the
       map.   With  a  few  exceptions, you can only have one piece on a given
       location.  On the map, you are shown only the  8  squares  adjacent  to
       your units.  This information is updated before and during each of your
       moves.  The map displays the most recent information known.

       The game starts by assigning you one city and the  computer  one  city.
       Cities  can  produce new pieces.  Every city that you own produces more
       pieces for you according to the cost of the desired piece.  The typical
       play  of  the game is to issue the Automove command until you decide to
       do something special.  During movement in each  round,  the  player  is
       prompted  to  move  each piece that does not otherwise have an assigned

       Map coordinates are 4-digit numbers.  The first two digits are the row,
       the second two digits are the column.


       The pieces are as follows:

           │Piece            │ You │ Enemy │ Moves │ Hits │ Str │  Cost  │
           │Army             │  A  │   a   │     1 │    1 │   1 │  5(6)  │
           │Fighter          │  F  │   f   │     8 │    1 │   1 │ 10(12) │
           │Patrol Boat      │  P  │   p   │     4 │    1 │   1 │ 15(18) │
           │Destroyer        │  D  │   d   │     2 │    3 │   1 │ 20(24) │
           │Submarine        │  S  │   s   │     2 │    2 │   3 │ 20(24) │
           │Troop Transport  │  T  │   t   │     2 │    1 │   1 │ 30(36) │
           │Aircraft Carrier │  C  │   c   │     2 │    8 │   1 │ 30(36) │
           │Battleship       │  B  │   b   │     2 │   10 │   2 │ 40(48) │
           │Satellite        │  Z  │   z   │    10 │   -- │  -- │ 50(60) │
       The second column shows the map representation for your units.

       The third shows the representations of enemy units.

       Moves  is  the  number  of  squares  that the unit can move in a single

       Hits is the amount of damage a unit can take before it is destroyed.

       Strength is the amount of damage a  unit  can  inflict  upon  an  enemy
       during each round of an attack.

       Cost is the number of rounds needed for a city to produce the piece.

       The  number  in parenthesis is the cost for a city to produce the first

       Each piece has certain advantages associated with it that can  make  it
       useful.   One of the primary strategic aspects of this game is deciding
       which pieces will be produced and in what quantities.

       Armies can only move on land, and are the only piece that can  move  on
       land.   Only  armies  can  capture  cities.   This  means that you must
       produce armies in order to win the game.  Armies have a 50%  chance  of
       capturing  a  city when they attack.  (Attacking one's own city results
       in the army's destruction.  Armies that move onto the sea  will  drown.
       Armies  can  attack  objects  at  sea,  but even if they win, they will
       drown.)  Armies can be carried by troop  transports.   If  an  army  is
       moved onto a troop transport, then whenever the transport is moved, the
       army will be moved with the transport.  You cannot attack any piece  at
       sea while on a transport.

       Fighters  move  over  both  land  and  sea, and they move 8 squares per
       round.  Their high speed and great mobility  make  fighters  ideal  for
       exploring.   However,  fighters  must  periodically  land at user-owned
       cities  for  refueling.   A  fighter  can  travel  32  squares  without
       refeuling.   Fighters  are also shot down if they attempt to fly over a
       city which is not owned by the user.

       Patrol boats are fast but lightly armored.  Therefore they  are  useful
       for  patrolling  ocean  waters  and  exploring.  In an attack against a
       stronger boat, however, patrol boats will suffer heavy casulties.

       Destroyers are fairly heavily armored and reasonably quick to  produce.
       Thus  they  are  useful  for  destroying  enemy transports which may be
       trying to spread the enemy across the face of the world.

       When a submarine scores a hit, 3 hits are exacted instead of  1.   Thus
       submarines  can inflict heavy damage in a fight against heavily armored
       boats.  Notice that healthy submarines will  typically  defeat  healthy
       destroyers  two-thirds of the time.  However, a submarine will defeat a
       fighter about two-thirds of the time, while a destroyer will  defeat  a
       fighter three-fourths of the time.

       Troop  transports are the only pieces that can carry armies.  A maximum
       of six armies can be carried by a transport.  On any world containing a
       reasonable  amount  of water, transports will be a critical resource in
       winning the game.  Notice that the weakness of transports implies  they
       need protection from stronger ships.

       Aircraft carriers are the only ships that can carry fighters.  Carriers
       carry a maximum of the number of hits left of fighters.   Fighters  are
       refueled when they land on a carrier.

       Battleships  are  similar  to  destroyers  except  that  they  are much

       Satellites  are  only  useful  for  reconaissance.   They  can  not  be
       attacked.   They  are  launched in a random diagonal orbit, and stay up
       for 50 turns.  They can see one square farther than other objects.

       All ships can move only on sea.  Ships can also dock  in  a  user-owned
       city.  Docked ships have damage repaired at the rate of 1 hit per turn.
       Ships which have suffered a lot of damage will move more slowly.

       Because of their ability to be repaired, ships with lots of  hits  such
       as  Carriers  and  Battleships  have  an  additional  advantage.  After
       suffering minor damage while destroying enemy shipping, these ships can
       sail  back to port and be quickly repaired before the enemy has time to
       replenish her destroyed shipping.

       The following table gives the probability that the piece listed on  the
       side  will  defeat the piece listed at the top in a battle.  (The table
       assumes that both pieces are undamaged.)

                 │vs.  │ AFPT  │   D   │   S   │    C    │    B     │
                 │AFPT │ 50.0% │ 12.5% │ 25.0% │ 00.391% │ 00.0977% │
                 │D    │ 87.5% │ 50.0% │ 25.0% │ 05.47%  │ 00.537%  │
                 │S    │ 75.0% │ 75.0% │ 50.0% │  31.3%  │  06.25%  │
                 │C    │ 99.6% │ 94.5% │ 68.7% │  50.0%  │  04.61%  │
                 │B    │ 99.9% │ 99.5% │ 93.8% │  95.4%  │  50.0%   │
       Notice, however, that when a ship has been damaged, the odds  of  being
       defeated can go up quite a bit.  For example, a healthy submarine has a
       25% chance of defeating a battleship that has had  one  hit  of  damage
       done  to  it,  and  a healthy submarine has a 50% chance of defeating a
       carrier which has suffered two hits of damage.


       There are a variety of movement functions.  The movement  functions  of
       pieces  can  be  specified in user mode and edit mode.  Cities can have
       movement functions set  for  each  type  of  piece.   When  a  movement
       function  for  a type of pieces is set for a city, then every time that
       type of piece appears in the city, the piece will acquire that movement
       function.   Be  forewarned  that  moving  loaded  transports  or loaded
       carriers into a city can have undesirable side effects.

       Normally, when a movement function has been specified, the  piece  will
       continue  moving  according to that function until one of the following

       *    An enemy piece or unowned city appears next to the piece.  In this
            case  the  piece  will  be  completely awoken, unless its movement
            function has been set to a specific destination.  Armies on  ships
            and  pieces inside cities will not be awoken if the enemy piece is
            gone by the time it is their turn to move.

       *    You explicitly awaken the piece.

       *    The piece can no longer move in  accordance  with  its  programmed
            function.   In  this case, the piece will awaken temporarily.  You
            will be asked to move the piece at which time you may awaken it.

       *    The piece is a fighter which has just enough fuel  (plus  a  small
            reserve) to get to the nearest city.  In this case, the piece will
            awaken completely, unless its movement function has been set to  a
            specific  destination,  or  its  movement function has been set to

       The rationale behind this complexity is that fighters  must  be  awoken
       completely  before  they are out of range of a city to prevent one from
       accidentally forgetting to waken the fighter and then watching  it  fly
       off  to  its doom.  However, it is presumed that when a path is set for
       the fighter, the fighter is not in danger of running out of fuel.

       Pieces do not completely awaken when their function has been set  to  a
       destination  because  it  is  slightly  time  consuming  to  reset  the
       destination, but very simple (one keystroke) to wake the piece.

       The movement functions are:

       Attack    This function applies only to armies.  When this function  is
                 set,  the  army  will  move  toward  the  nearest enemy city,
                 unowned city, or enemy army.  This is  useful  when  fighting
                 off  an  invading enemy or taking over a new continent.  When
                 an army is set to this mode,  it  will  also  explore  nearby
                 territory.   This  tends  to  make  the "grope" movement mode
                 pretty useless.

       Awake     When pieces are awake, you will be asked for the direction in
                 which the piece should move on each turn.

       Fill      This  function applies to carriers and transports.  When this
                 function is specified, these ships sleep until they have been
                 filled with fighters or armies respectively.

       Grope     This  function  causes  a  piece to explore.  The piece heads
                 toward the nearest unseen square of the map on  each  of  its
                 moves.   Some  attempt  is  made  to  explore  in  an optimal

       Land      This function applies to fighters and causes the  fighter  to
                 head toward the nearest transport or carrier.

       Random    This movement function causes a piece to move at random to an
                 adjacent empty square.

       Sentry    This movement function puts a piece to sleep.   The  function
                 of a city cannot be set to 'sleep'.

       Transport This movement function only works on armies.  The army sleeps
                 until an unfull transport passes by, at which point the  army
                 wakes up and boards the transport.

       Upgrade   This  movement function only works with ships.  The ship will
                 move to the nearest owned city and remain there until  it  is

       <dir>     Pieces can be set to move in a specified direction.

       <dest>    Pieces can be set to move toward a specified square.  In this
                 movement  mode,  pieces  take  a  shortest  path  toward  the
                 destination.   Pieces moving in accordance with this function
                 prefer diagonal moves that  explore  territory.   Because  of
                 this, the movement of the piece may be non-intuitive.

       As  examples  of  how to use these movement functions, typically when I
       have a new city on a continent, I set the Army function of the city  to
       attack.   Whenever  an army is produced, it merrily goes off on its way
       exploring the continent and moving  towards  unowned  cities  or  enemy
       armies or cities.

       I  frequently  set  the ship functions for cities that are far from the
       front to automatically move ships towards the front.

       When I have armies on a continent, but there is nothing to  explore  or
       attack,  I move the army to the shore and use the transport function to
       have that army hop aboard the first passing transport.


       There are three command modes.  The first of these is  "command  mode".
       In  this  mode,  you give commands that affect the game as a whole.  In
       the second mode, "move mode", you give commands to  move  your  pieces.
       The  third  mode  is  "edit  mode",  and  in this mode you can edit the
       functions of your pieces and examine various portions of the map.

       All commands are one character  long.   The  full  mnemonic  names  are
       listed  below  as  a  memorization  aid.   The  mnemonics  are somewhat
       contrived because there are so few characters in the English  language.
       Too bad this program isn't written in Japanese, neh?

       In  all  command  modes,  typing  "H"  will  print out a screen of help
       information, and typing <ctrl-L> will redraw the screen.


       In command mode, the computer will prompt you  for  your  orders.   The
       following commands can be given at this time:

       Automove  Enter  automove  mode.   This  command  begins a new round of
                 movement.  You will remain in move mode  after  each  of  the
                 computer's turns.  (In move mode, the "O" command will return
                 you to command mode after  the  computer  finishes  its  next

       City      Give  the  computer  a  random unowned city.  This command is
                 useful if you find that the computer is getting too  easy  to

       Date      The current round is displayed.

       Examine   Examine  the  enemy's  map.  This command is only valid after
                 the computer has resigned.

       File      Print a copy of the map to the specified file.

       Give      This command gives the computer a free move.

       J         Enter  edit  mode  where  you  can  examine  and  change  the
                 functions associated with your pieces and cities.

       Move      Enter move mode for a single round.

       N         Give the computer the number of free moves you specify.

       Print     Display a sector on the screen.

       Quit      Quit the game.

       Restore   Restore the game from empsave.dat.

       Save      Save the game in empsave.dat.

       Trace     This  command  toggles  a  flag.  When the flag is set, after
                 each move, either yours or the computer's, a picture  of  the
                 world  is written out to the file 'empmovie.dat'.  Watch out!
                 This command produces lots of output.

       Watch     This command allows you to watch a saved movie.  The movie is
                 displayed  in  a  condensed  version so that it will fit on a
                 single screen, so the output may be a little confusing.  This
                 command  is  only legal if the computer resigns.  If you lose
                 the game, you cannot replay a movie to learn the  secrets  of
                 how  the  computer  beat  you.  Nor can you replay a movie to
                 find out the current  positions  of  the  computer's  pieces.
                 When replaying a movie, it is recommended that you use the -d
                 option to set the delay to around 2000  milliseconds  or  so.
                 Otherwise  the  screen will be updated too quickly for you to
                 really grasp what is going on.

       Zoom      Display a condensed version of the map on  the  screen.   The
                 user map is divided into small rectangles.  Each rectangle is
                 displayed as one square on the screen.  If there is a city in
                 a  rectangle,  then  it is displayed.  Otherwise enemy pieces
                 are displayed, then user pieces, then land, then  water,  and
                 then  unexplored territory.  When pieces are displayed, ships
                 are preferred to fighters and armies.


       In move mode, the cursor will appear on the screen at the  position  of
       each  piece that needs to be moved.  You can then give commands to move
       the piece.  Directions to move are specified by the following keys:

               A D

       These keys move in the direction of the key from S.  The characters are
       not  echoed and only 1 character is accepted, so there is no need for a
       <Return>.  Hit the <Space> bar if you want the piece to stay put.

       Other commands are:

       Build     Change the production of a city.

       Fill      Set the function of a troop transport or aircraft carrier  to

       Grope     Set the function of a piece to grope.

       Idir      Set the direction for a piece to move.

       J         Enter edit mode.

       Kill      Wake  up  the piece.  If the piece is a transport or carrier,
                 pieces on board will not be awoken.

       Land      Set a fighter's function to land.

       Out       Cancel automove mode.  At the end of the round, you  will  be
                 placed in command mode.

       Print     Redraw the screen.

       Random    Set a piece's function to random.

       Sentry    Set a piece's function to sentry.

       Transport Set an army's function to transport.

       Upgrade   Set a ship's function to upgrade.

       Vpiece func
                 Set the city movement function for the specified piece to the
                 specified function.  For example, typing "VAY" would set  the
                 city  movement  function  for  armies to attack.  Whenever an
                 army is produced in the city (or whenever a loaded  transport
                 enters  the  city), the army's movement function would be set
                 to attack.

       Y         Set an army's function to attack.

       ?         Display information about  the  piece.   The  function,  hits
                 left, range, and number of items on board are displayed.

       Attacking something is accomplished by  moving  onto  the square of the
       unit you wish to attack.  Hits are traded off at 50% probability  of  a
       hit  landing  on  one  or  the  other  units  until one unit is totally
       destroyed.  There is only 1 possible winner.

       You are "allowed" to do fatal things like attack  your  own  cities  or
       other  pieces.  If you try to make a fatal move, the computer will warn
       you and give you a chance to change your mind.

       You cannot move onto the edge of the world.


       In edit mode, you can move around  the  world  and  examine  pieces  or
       assign them new functions.  To move the cursor around, use the standard
       direction keys.  Other commands are:

       Build     Change the production of the  city  under  the  cursor.   The
                 program  will  prompt  for the new production, and you should
                 respond with the key corresponding to the letter of the piece
                 that you want produced.

       Fill      Set a transport's or carrier's function to fill.

       Grope     Set a piece's function to grope.

       Idir      Set  the  function  of  a  piece  (or  city) to the specified

       Kill      Wake all pieces at the current location.  If the location  is
                 a city, the fighter path will also be canceled.

       Mark      Select  the  piece  or  city  at  the current location.  This
                 command is used with the "N" command.

       N         Set the destination of the piece previously selected with the
                 "M" command to the current square.

       Out       Exit edit mode.

                 Display a new sector of the map.  The map is divided into ten
                 sectors of size 20 by 70.  Sector zero is in  the  upper-left
                 corner  of  the map.  Sector four is in the lower-left corner
                 of the map.  Sector five is in the  upper-right  corner,  and
                 sector nine is in the lower-right corner.

       Random    Set a piece to move randomly.

       Sentry    Put a piece to sleep.

       Transport Set an army's function to transport.

       Upgrade   Set a ship's function to upgrade.

       Vpiece func
                 Set the city movement function for a piece.

       Y         Set an army's function to attack.

       ?         Display  information  about a piece or city.  For a city, the
                 production, time of completion of the  next  piece,  movement
                 functions,  and  the number of fighters and ships in the city
                 are displayed.

       Note that you cannot directly affect anything inside a  city  with  the


       After  you  have  played  this game for a while, you will probably find
       that the computer is immensely easy to beat.  Here are some  ideas  you
       can try that may make the game more interesting.

       *    Give  the  computer  one  or more extra cities before starting the

       *    Try playing the game with a low smoothness value  (try  using  the
            -s2 or even -s0 option).

       *    When  starting  the game, the program will ask you what difficulty
            level you want.   Here  "difficulty  level"  is  a  misnomer.   To
            compute  a  difficulty  level, the program looks at each continent
            and counts the  number  of  cities  on  the  continents.   A  high
            "difficulty  level" gives the computer a large continent with many
            cities, while the user gets a small continent with few cities.   A
            low  "difficulty  level"  has  the opposite effect.  It may be the
            case that the computer  will  play  better  when  the  "difficulty
            level" is low.  The reason for this is that the computer is forced
            to move armies to multiple continents early in the game.


       Apparently, this  game  was  originally  written  outside  of  Digital,
       probably  at  a  university.  The game was ported to DEC's VAX/VMS from
       the  TOPS-10/20  FORTRAN  sources  available  around  fall  1979.   The
       original  authors listed in my old documentation are Mario DeNobili and
       Thomas N. Paulson.  Support for different terminal types was  added  by
       Craig Leres.

       Ed  James got hold of the sources at Berkeley and converted portions of
       the code to C, mostly to  use  curses  for  the  screen  handling.   He
       published  his  modified  sources on the net in December 1986.  Because
       this game ran on VMS machines for so long, a previous version is  known
       as VMS Empire.

       In  1987  Chuck  Simmons  at  Amdahl reverse engineered the program and
       wrote a version completely written in C.  In doing  so,  he  completely
       modified  the computer strategy, the commands, the piece types, many of
       the piece attributes, and the algorithm for creating maps.


                 holds a backup of the game.  Whenever empire is run, it  will
                 reload any game in this file.

                 holds  a history of the game so that the game can be replayed
                 as a "movie".


       No doubt numerous.

       Satellites are not completely implemented.  You should be able to  move
       to  a  square that contains a satellite, but the program won't let you.
       Enemy satellites should not cause your pieces to awaken.


       Original concept by Mario DeNobili and Thomas N. Paulson.
       Support for different terminal types added by Craig Leres.
       Curses support added by Ed James.
       C/Unix version written by Chuck Simmons
       Colorization by Eric S. Raymond.
       Probability table corrected by Michael Self.


       Copyright (C) 1987, 1988 Chuck Simmons

       See the file COPYING, distributed  with  empire,  for  restriction  and
       warranty information.