*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> atc (6)              



NAME    [Toc]    [Back]

     atc - air traffic controller game

SYNOPSIS    [Toc]    [Back]

     atc [-lpqstu?] [-fg game name] [-r random seed]

DESCRIPTION    [Toc]    [Back]

     atc lets you try your hand at the nerve-wracking  duties  of
an air traffic
     controller  without  endangering  the  lives  of millions of
travelers each
     year.  Your  responsibilities  require  you  to  direct  the
flight of jets and
     prop  planes  into and out of the flight arena and airports.
The speed
     (update time) and frequency of the planes depend on the difficulty of the
     chosen arena.

     -f  game    Play  the named game.  If the game listed is not
one of the ones
               printed by the -l  option,  the  default  game  is

     -g game   Same as -f.

     -l         Print  a  list  of available games and exit.  The
first game name
               printed is the default game.

     -p        Print the path to the special directory where  atc
expects to
               find  its  private files.  This is used during the
               of the program.

     -q        Play quietly (no bells).

     -s        Print the score list (formerly the Top Ten  list).
The scoring
               information is the game time in ``radar updates'',
the wallclock
 game time, and the  number  of  planes  that
were successfully
 dealt with.

     -t        Same as -s.

     -r  seed    Set the random seed.  This option can be used to
replay a specific

     -u        Print the usage line and exit.

     -?        Same as -u.

GOALS    [Toc]    [Back]

     Your goal in atc is to keep the game going as long as possible.  There is
     no winning state, except to beat the times of other players.
You will
     need to: launch planes at airports (by instructing  them  to
increase their
     altitude);  land  planes at airports (by instructing them to
go to altitude
     zero when exactly over the airport); and maneuver planes out
of exit

     Several  things  will cause the end of the game.  Each plane
has a destination
 (see information area), and  sending  a  plane  to  the
wrong destination
     is  an  error.   Planes can run out of fuel, or can collide.
Collision is
     defined as adjacency, horizontal or vertical.  A plane leaving the arena
     in  any  other way than through its correct destination exit
is an error as

     Scores are sorted in order of the  number  of  planes  safe.
The other
     statistics are provided merely for fun.  There is no penalty
for taking
     longer than another player (except in the case of ties).

     Suspending a game is not permitted.  If you get a talk  message, tough.
     When  was the last time an Air Traffic Controller got called
away to the

THE DISPLAY    [Toc]    [Back]

     Depending on the terminal used, the atc screen will  be  divided into 4 areas.
  It should be stressed that the terminal driver portion
of the game
     was designed to be reconfigurable, so the display format can
vary depending
  on  the version you are playing.  The descriptions here
are based on
     the ASCII version of the game.  The  game  rules  and  input
format, however,
     should  remain  consistent.   Control-L  redraws the screen,
should it become

   RADAR    [Toc]    [Back]
     The first screen area is the radar display, showing the relative locations
  of  the planes, airports, standard entry/exit points,
radar beacons,
     and ``lines'' which simply serve to aid you in  guiding  the

     Planes  are  shown  as a single letter with an altitude.  If
the numerical
     altitude is a single digit, then it represents thousands  of
feet.  Some
     distinction  is  made  between the prop planes and the jets.
On ASCII terminals,
 prop planes are represented by an upper case letter,
jets by a
     lower case letter.

     Airports  are  shown  as a number and some indication of the
     planes must be going to land at the airport.  On ASCII  terminals, this is
     one of `^', `>', `<', or `v', to indicate north (0 degrees),
east (90),
     west (270), and south (180), respectively.  The planes  will
also take off
     in this direction.

     Beacons  are  represented as circles or asterisks and a number.  Their purpose
 is to offer a place of easy reference to the plane  pilots.  See The
     Delay Command under the input section of this manual.

     Entry/exit  points are displayed as numbers along the border
of the radar
     screen.  Planes will enter the arena from these points without warning.
     These  points  have  a  direction  associated with them, and
planes will always
 enter the arena from this direction.  On the ASCII version of atc,
     this  direction  is  not displayed.  It will become apparent
what this direction
 is as the game progresses.

     Incoming planes will always enter at the same altitude: 7000
feet.  For a
     plane to depart successfully through an entry/exit point, it
must be flying
 at 9000 feet.  It is not necessary for the planes to  be
flying in any
     particular direction when they leave the arena (yet).

   INFORMATION AREA    [Toc]    [Back]
     The  second  area  of  the  display is the information area,
which lists the
     time (number of updates  since  start)  and  the  number  of
planes you have
     directed  safely  out of the arena.  Below this is a list of
planes currently
 in the air, followed by a blank line, and then a list
of planes on
     the  ground  (at  airports).  Each line lists the plane name
and its current
     altitude, an optional  asterisk  indicating  low  fuel,  the
plane's destination,
 and the plane's current command.  Changing altitude is
not considered
 to be a command and is therefore  not  displayed.   The
following are
     some possible information lines:

           B4*A0: Circle @ b1

           g7 E4: 225

     The  first example shows a prop plane named `B' that is flying at 4000
     feet.  It is low on fuel (note the `*').  Its destination is
Airport #0.
     The  next command it expects to do is circle when it reaches
Beacon #1.
     The second example shows a jet named `g' at 7000 feet,  destined for Exit
     #4.   It is just now executing a turn to 225 degrees (Southwest).

   INPUT AREA    [Toc]    [Back]
     The third area of the display is the input area.  It is here
that your
     input  is  reflected.   See the INPUT heading of this manual
for more details.

   AUTHOR AREA    [Toc]    [Back]
     This area is used simply to give credit where credit is due.

INPUT    [Toc]    [Back]

     A  command  completion interface is built into the game.  At
any time, typing
 `?' will  list  possible  input  characters.   Typing  a
backspace (your
     erase character) backs up, erasing the last part of the command.  When a
     command is complete, a return enters it,  and  any  semantic
checking is
     done  at  that time.  If no errors are detected, the command
is sent to the
     appropriate plane.  If an error  is  discovered  during  the
check, the offending
  statement  will be underscored and a (somewhat) descriptive message
 will be printed under it.

     The command syntax is broken into two parts: Immediate  Only
and Delayable
     commands.   Immediate  Only  commands happen on the next update.  Delayable
     commands also happen on the next update unless they are followed by an
     optional predicate called the Delay command.

     In  the  following tables, the syntax [0-9] means any single
digit, and
     <dir> refers to the keys around the `s' key,  namely  ``wedcxzaq''.  In absolute
  references,  `q' refers to Northwest or 315 degrees,
and `w' refers
     to North, or 0 degrees.  In relative references, `q'  refers
to -45 degrees
 or 45 degrees left, and `w' refers to 0 degrees, or no
change in

     All commands start with a plane letter.  This indicates  the
recipient of
     the command.  Case is ignored.


     a [ cd+- ] number
           Altitude: Affect a plane's altitude, possibly requesting takeoff.
           `+' and `-' are the same as `c' and `d'.
           a [0-9]     Go to the  given  altitude  (thousands  of
           c [0-9]     Climb: Relative altitude change (thousands
of feet).
           d [0-9]     Descend: Relative altitude  change  (thousands of feet).

     m      Mark: Display in highlighted mode.  Plane and command
           is displayed normally.

     i     Ignore: Do not display highlighted.  Command  information is displayed
 as a line of dashes if there is no command.

     u      Unmark:  Same  as ignore, but if a delayed command is
processed, the
           plane will become marked.  This is useful if you  want
to forget
           about  a  plane during part, but not all, of its journey.

   DELAYABLE COMMANDS    [Toc]    [Back]

     c     Circle: Have the plane circle.

     t [ l-r+LR ] [ dir ] or tt [ abe* ] number
           Turn: Change direction.
           t<dir>      Turn to the absolute compass heading  given.  The shortest
 turn will be taken.
           tl          Left: Turn counterclockwise (45 degrees by
                       tl <dir>  Turn ccw the given number of degrees.  Zero
                                 degrees (`w') is no turn; 45 degrees ccw is
                                 `e'.  The shortest turn will  be
taken; for
                                 instance,  if  you specify a ccw
turn of 315
                                 degrees (`q'), which should take
                                 turns,  the  plane  will  really
turn 45 cw,
                                 which takes only one turn.
           tr          Right: Turn clockwise (45 degrees  by  default).
                       tr <dir>  Analogous to turn left <dir>.
           tL          Turn counterclockwise 90 degrees.
           tR          Turn clockwise 90 degrees.
           tt [abe*]   Towards: Turn towards a beacon, airport or
exit.  The
                       turn is just an estimate.
                       ttb number   Turn  towards  the  specified
                       tt* number  Equivalent to ttb.
                       tte number  Turn towards the specified exit.
                       tta number   Turn  towards  the  specified

   THE DELAY COMMAND    [Toc]    [Back]
     The  Delay  (a/@)  command  may be appended to any Delayable
command.  It allows
 the controller to instruct a plane to do an action when
the plane
     reaches a particular beacon (or other objects in future versions).

           a/@     At: Do the given delayable  command  when  the
plane reaches
                   the given beacon.
                   ab  number    The letter is redundant to allow
for expansion.
                               `@' can be used instead of `a'.

     Planes are marked by default  when  they  enter  the  arena.
This means they
     are  displayed  in highlighted mode on the radar display.  A
plane may also
     be either unmarked or ignored.  An unmarked plane  is  drawn
in unhighlighted
  mode, and a line of dashes is displayed in the command field of
     the information area.  The plane will remain this way  until
a mark command
 has been issued.  Any other command will be issued, but
the command
     line will return to a line of dashes  when  the  command  is

     An  ignored  plane is treated the same as an unmarked plane,
except that it
     will automatically switch to marked status  when  a  delayed
command has
     been  processed.  This is useful if you want to forget about
a plane for a
     while, but its flight path has not yet been completely  set.

     As with all of the commands, marking, unmarking and ignoring
will take
     effect at the beginning of the next update.  Do not be  surprised if the
     plane does not immediately switch to unhighlighted mode.

   EXAMPLES    [Toc]    [Back]

           atlab1    Plane A: turn left at beacon #1

           cc        Plane C: circle

           gtte4ab2  Plane G: turn towards exit #4 at beacon #2

           ma+2      Plane M: altitude: climb 2000 feet

           stq       Plane S: turn to 315

           xi        Plane X: ignore

OTHER INFORMATION    [Toc]    [Back]

     +o   Jets move every update; prop planes move every other update.

     +o   All planes turn at most 90 degrees per movement.

     +o   Planes enter at 7000 feet and leave at 9000 feet.

     +o   Planes flying at an altitude of 0 crash if they are  not
over an airport.

     +o    Planes waiting at airports can only be told to take off
(climb in

     +o   Pressing return (that is,  entering  an  empty  command)
will perform the
         next  update  immediately.   This  allows  the player to
``fast forward''
         the game clock if nothing interesting is happening.

NEW GAMES    [Toc]    [Back]

     The  Game_List  file  lists  the  currently  available  play
fields.  New field
     description  file  names  must  be placed in this file to be
playable.  If a
     player specifies a game not in this file, his score will not
be logged.

     The  game field description files are broken into two parts.
The first
     part is the definition section.  Here, the four tunable game
     must be set.  These variables are set with the syntax:

           variable = number;

     Variable  may  be  one  of: update, indicating the number of
seconds between
     forced updates; newplane, indicating (about) the  number  of
updates between
  new plane entries; width, indicating the width of the
play field;
     or height, indicating the height of the play field.

     The second part of the field description files describes the
locations of
     the  exits,  the  beacons,  the airports and the lines.  The
syntax is as

           beacon:   (x y) ... ;
           airport:  (x y direction) ... ;
           exit:     (x y direction) ... ;
           line:     [ (x1 y1) (x2 y2) ] ... ;

     For beacons, a simple x, y coordinate pair is used (enclosed
     parentheses).   Airports  and exits require a third value, a
     which is one of ``wedcxzaq''.  For airports, this is the direction that
     planes  must  be  going to take off and land, and for exits,
this is the direction
 that planes will be going when they enter the arena.
This may
     not seem intuitive, but as there is no restriction on direction of exit,
     this is appropriate.  Lines are  slightly  different,  since
they need two
     coordinate  pairs to specify the line endpoints.  These endpoints must be
     enclosed in square brackets.

     All statements are semi-colon (;) terminated.  Multiple item
     accumulate.  Each definition must occur exactly once, before
any item
     statements.  Comments begin with a hash (#) symbol and  terminate with a
     newline.   The  coordinates are between zero and width-1 and
height-1 inclusive.
  All of the exit coordinates must lie on  the  borders, and all of
     the  beacons  and  airports  must lie inside of the borders.
Line endpoints
     may be anywhere within the field, so long as the  lines  are
     vertical or exactly diagonal.

   FIELD FILE EXAMPLE    [Toc]    [Back]

           # This is the default game.

           update = 5;
           newplane = 5;
           width = 30;
           height = 21;

           exit:            ( 12  0 x ) ( 29  0 z ) ( 29  7 a ) (
29 17 a )
                           (  9 20 e ) (  0 13 d ) (  0  7 d )  (
0  0 c ) ;

           beacon:         ( 12  7 ) ( 12 17 ) ;

           airport:        ( 20 15 w ) ( 20 18 d ) ;

           line:           [ (  1  1 ) (  6  6 ) ]
                           [ ( 12  1 ) ( 12  6 ) ]
                           [ ( 13  7 ) ( 28  7 ) ]
                           [ ( 28  1 ) ( 13 16 ) ]
                           [ (  1 13 ) ( 11 13 ) ]
                           [ ( 12  8 ) ( 12 16 ) ]
                           [ ( 11 18 ) ( 10 19 ) ]
                           [ ( 13 17 ) ( 28 17 ) ]
                           [ (  1  7 ) ( 11  7 ) ] ;

FILES    [Toc]    [Back]

     Files are kept in a special directory, which can be shown by
using the -p

     /var/games/atc_score            Score file.
     /usr/share/games/atc/Game_List  The list of playable  games.

AUTHORS    [Toc]    [Back]

     Ed  James,  UC  Berkeley:  edjames@ucbvax.berkeley.edu, ucbvax!edjames

     This game is based on someone's description of  the  overall
flavor of a
     game written for some unknown PC many years ago, maybe.

BUGS    [Toc]    [Back]

     The screen sometimes refreshes after you have quit.

OpenBSD      3.6                           May      31,      1993
[ Back ]
 Similar pages
Name OS Title
tcpdump FreeBSD dump traffic on a network
tcpdump OpenBSD dump traffic on a network
tcpdump Tru64 Dump traffic on a network
ipfirewall FreeBSD IP packet filter and traffic accounting
xbstat IRIX monitor Crossbow (Xbow) traffic
atmifmp Tru64 Configures the ATM subsystem for switching IP traffic only
mailstats Tru64 Displays statistics about mail traffic
mailstats HP-UX print mail traffic statistics
ipfw FreeBSD IP packet filter and traffic accounting
netsnoop IRIX capture and decode network traffic
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service