meow site

how to play atc

atc is a terminal game found in the bsd-games package. it was written by Ed James a Long Time Ago. because i felt like writing an article, i will explain How To Play this game.


the package is probably available through your package manager as either bsd-games or bsdgames. it is also available in two different versions on github.

ok, meow, but what actually is the game??

that’s a good question. let’s find out:

$ whatis atc
atc (6)     - air traffic controller game

well that’s pretty self explanitory. atc is a game in which you direct planes to their correct routes for as long as you can without screwing it up.

there are a few different ways to lose:


the game screen. its a screenshot of my terminal window so there's also a huge pikachu background because my terminal is transparent. the A7 plane is drawn in with a mouse because my terminal emulator is being odd most of the game’s screen is a ‘radar’ showing where all the planes are. the default game has two beacons (signified with *0 and *1), eight exits numbered 0 to 7, lines of +s showing the ‘recommended routes’ or something, and two airports ^0 and >1.

there is also a status screen to the side, showing the A7 plane, and the fact that it wants to head to E6. we will learn how to direct this plane over there soon.

the ‘symbol’ used to depict a plane incorporates some important information about it. a plane is assigned a letter from a to z, which is used as its ‘code’ for inputting commands (more on that later).

this letter is written as a capital if it is a prop plane, and in lower case when it is a jet. the difference between them is that jets move once every turn and prop planes move once every two turns.

the number represents altitude, in thousands of feet. for example 7 means 7000ft in the air.

if there is an asterisk between the plane’s ‘name’ and its destination in the status, it is low on fuel.

airports and exits

planes can both come from and land/pass through airports and exits. for a plane to be added to the score,

planes enter the airspace at 7000ft, and planes departing from airports must leave out of the direction indicated by the arrow.

inputting commands

each turn passes by in a set short amount of time, so you have to think quickly if you want to avoid crashing a plane.

each command is made up of components made out of single characters, which form small sentences. the first part will be the letter code of a plane, and the second part will be a verb. but after that it can depend. its best to see some specific examples.

also note that you have to press enter to submit a command when you have written it, and you can backspace with ESC

for a more complete documentation of commands, see the INPUT subheading in atc(6)


to turn a plane, you use t for turn. to specify the direction to turn in, you can use the 8 keys surrounding the s key corresponding to degrees on a compass, like this:

a d

so to turn plane a north, you can do


you can also set the plane to turn at one of the beacons by putting ab[n] after.

to turn plane e north-west at beacon 0,


note, however, that planes can only move 90 degrees in one turn.

changing altitude

remember how you have to leave the airspace at 9000ft? this is how you do that. with a.

to make plane b ascend to 9000ft


this is also how you make a plane waiting in an airport take off.

so if plane d is waiting at an airport you can set it to ascend to 5000ft with


you can also change altitude with relative numbers

plane f descend by 1000ft: (d here meaning descend)


plane g ascend by 2000ft: (c here meaning climb)


the end (currently)

that’s all the really important stuff you need to know. there is more but you can find it out pretty easily at this point from the man page. bye

CC-BY-SA 2.0

made with roman zolotarev's ssg6

rss feed