Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ATC(6)				  Games	Manual				ATC(6)

NAME
       atc -- air traffic controller game

SYNOPSIS
       atc [-u?lstp] [-gf game]	[-r seed]

DESCRIPTION
       atc  lets  you  try  your  hand at the nerve wracking duties of the air
       traffic controller without endangering the lives	of millions of travel-
       ers 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  dif-
       ficulty of the chosen arena.

OPTIONS
       -u  Print the usage line	and exit.

       -?  Same	as -u.

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

       -s  Print the score list	(formerly the Top Ten list).

       -t  Same	as -s.

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

       -g game
	   Play	the named game.	 If the	game listed is not  one	 of  the  ones
	   printed from	the -l option, the default game	is played.

       -f game
	   Same	as -g.

       -r seed
	   Set the random seed.	 The purpose of	this flag is questionable.

GOALS
       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 in-
       crease 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 points.

       Several things will cause the end of the	game.  Each plane has a	desti-
       nation (see information area), and sending a plane to the wrong	desti-
       nation  is an error.  Planes can	run out	of fuel, or can	collide.  Col-
       lision is defined as adjacency in all three dimensions.	A plane	 leav-
       ing  the	arena in any other way than through its	destination exit is an
       error as	well.

       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
       phone?

THE DISPLAY
       Depending on the	terminal you run atc on, the 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	muddled.

   RADAR
       The  first screen area is the radar display, showing the	relative loca-
       tions of	the planes, airports, standard entry/exit points,  radar  bea-
       cons,  and  ``lines''  which  simply  serve  to	aid you	in guiding the
       planes.

       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 direction
       planes must be going to land at the airport.  On	ASCII terminals,  this
       is  one	of '^',	'>', '<', and '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" section below.

       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	appar-
       ent what	this direction is as the game progresses.

       Incoming	planes will always enter at the	same altitude: 7000 feet.  For
       a plane to successfully depart 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
       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  cur-
       rently  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 follow-
       ing 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  (South-
       West).

   INPUT AREA
       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
       This area is used simply	to give	credit where credit is due. :-)

INPUT
       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	check-
       ing 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  (hopefully)
       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  fol-
       lowed by	an optional predicate called the Delay command.

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

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

   IMMEDIATE ONLY COMMANDS
       a [ cd+-	] number
	     Altitude: Change a	plane's	altitude, possibly requesting takeoff.
	     `+' and `-' are the same as `c' and `d'.
	     a number	 Climb	or descend to the given	altitude (in thousands
			 of feet).
	     ac	number	 Climb:	relative altitude change.
	     ad	number	 Descend: relative altitude change.

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

       i     Ignore: Do	not display highlighted.  Command 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 for-
	     get about a plane during part, but	not all, of its	journey.

   DELAYABLE COMMANDS
       c [ lr ]
	     Circle: Have the plane circle.
	     cl		 Left: Circle counterclockwise.
	     cr		 Right:	Circle clockwise (default).

       t [ l-r+LR ] [ dir ] or tt [ abe* ] number
	     Turn: Change direction.
	     t<dir>	 Turn to direction: Turn to the	absolute compass head-
			 ing given.  The shortest turn will be taken.
	     tl	[ dir ]	 Left: Turn counterclockwise: 45 degrees  by  default,
			 or the	amount specified in <dir> (not to <dir>.)  `w'
			 (0 degrees) is	no turn.  `e' is 45 degrees; `q' gives
			 -45  degrees  counterclockwise,  that	is, 45 degrees
			 clockwise.
	     t-	[ dir ]	 Same as left.
	     tr	[ dir ]	 Right:	Turn clockwise,	45 degrees by default, or  the
			 amount	specified in <dir>.
	     t+	[ dir ]	 Same as right.
	     tL		 Hard left: Turn counterclockwise 90 degrees.
	     tR		 Hard right: Turn clockwise 90 degrees.
	     tt	[abe*]	 Towards: Turn towards a beacon, airport or exit.  The
			 turn is just an estimate.
	     tta number	 Turn towards the given	airport.
	     ttb number	 Turn towards the specified beacon.
	     tte number	 Turn towards an exit.
	     tt* number	 Same as ttb.

   THE DELAY COMMAND
       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 ver-
       sions).

       ab number
	     Do	the delayable command when the	plane  reaches	the  specified
	     beacon.   The `b' for ``beacon'' is redundant to allow for	expan-
	     sion.  `@'	can be used instead of `a'.

   MARKING, UNMARKING AND IGNORING
       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 ignored 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
       completed.

       An  unmarked plane is treated the same as an ignored 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
	     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
          Jets	move every update; prop	planes move every other	update.

          All planes turn at most 90 degrees per movement.

          Planes enter	at 7000	feet and leave at 9000 feet.

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

          Planes  waiting  at airports	can only be told to take off (climb in
	   altitude).

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

NEW GAMES
       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 parameters
       must be set.  These variables are set with the syntax:

	     variable =	number;

       Variable	may be one of: update, indicating the number  of  seconds  be-
       tween  forced  updates;	newplane, indicating (about) the number	of up-
       dates 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 follows:

	     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 in	paren-
       thesis).	 Airports and exits require a third value, which is one	of the
       directions wedcxzaq.  For airports, this	is the direction  that	planes
       must  be	 going to take off and land, and for exits, this is the	direc-
       tion 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 statements
       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 in-
       clusive.	  All of the exit coordinates must lie on the borders, and all
       of the beacons and airports must	lie inside of the borders.  Line  end-
       points may be anywhere within the field,	so long	as the lines are hori-
       zontal, vertical	or exactly diagonal.

   FIELD FILE EXAMPLE
       # 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
       Files are kept in a special directory.  See the "OPTIONS" section for a
       way to print this path out.  It is normally /usr/local/share/games/atc.

       This  directory	contains  the  file Game_List, which holds the list of
       playable	games, as well as the games themselves.

       The scores are kept in /var/games/atc_score.

AUTHORS
       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
       The screen sometimes refreshes after you	have quit.

FreeBSD	Ports 14.quarterly	 May 31, 1993				ATC(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=atc&sektion=6&manpath=FreeBSD+Ports+14.3.quarterly>

home | help