Man Linux: Main Page and Category List


       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:

       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.