BSD games `atc`, Air Traffic Controller, originally made by Ed James, rewritten and ported to the web.

atc lets you try your hand at the nerve wracking duties of the 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.

TUTORIAL

[expand]

You can read the original atc(6) manual, but here is a short overview.

To manually advance the game, hit Enter. To restart the game, reload the page.

INFO PANEL

You will see a list of planes on the arena here. Here's how to decode it:

  • pl dt  comm
    A7 E1:

    This means: plane 'A' (capital letter = slow plane) is at altitude '7'; its destination is 'E'xit '0'.

  • pl dt  comm
    f5*A0: Circle

    Plane 'f' (lowercase = fast) at altitude '5'; the '*' star means it's low on fuel; destination is 'A'irport '0'; it's been given a command to 'Circle'.

  • X0 E7: Holding @ A1

    Plane 'X' (slow) at altitude '0'; destination is 'E'xit '7'; it's at 'A'irport '1' waiting for you to let it take off.

RADAR

  • Numbers at the borders = exits.
  • Numbers with '^', '>', 'v', or '<' next to them = airports. These symbols tell you in which direction to land the plane. To land a plane, make its altitude 0 when it's right above the airport cell.
  • Letters with numbers next to them = planes (discussed in the 'Info Panel' section). Planes must be at least 2 cells and 2 altitude levels apart for them to not collide.
  • Numbers with '*' next to them are beacons. Line up a plane towards a beacon, and you can delay a command to be executed upon reaching it. (Altitude changing commands are separate and cannot be delayed.)
  • The '+' lines are just paths to help you line up the planes.

COMMANDS

Type '?' (help character) to show all tokens (characters) that you can currently input. After typing a token, the corresponding command name will be displayed. Hit Backspace to remove the last token.

Here are a few useful commands:

  • pa9

    Set plane 'p' 'a'ltitude to '9' (if 'p' is at an airport, it will take off).

  • xt<dir>

    where '<dir>' is one of the direction keys:

    q w e
    a   d
    z x c

    means: 't'urn plane 'x' in the chosen direction.

  • pteab0

    Plane 'p': turn to 'e' (north-east) 'a't 'b'eacon '0' (the command is executed when/if the plane reaches the specified beacon).

  • fc

    Make plane 'f' fly in a 'c'ircle. Send a 't'urn command for it to stop.


INFO

[expand]

Source code: here

Font: here

Page ASCII art by Joan G. Stark (Spunk): here

One day I stumbled upon this awesome game and decided that I will rewrite it and add some colors. Then I ported it to the web to share it here, using emscripten + xterm-pty, and a custom minimal ncurses rewrite.

This is still in development, here's a list of TODOs that I have:

  • 090 zoom in the game (and maybe handle resize)
  • 080 add menu: level select, restart game
  • 090 implement turn towards & checking if delay beacon is on flight path
  • 080 logs, leaderboard
  • 080 proper game quitting/interrupting

Published 19 days ago
StatusIn development
PlatformsHTML5
Authorkroften
GenreSimulation
Tags2D, ascii, planes, Real-Time, terminal
Average sessionA few minutes
LanguagesEnglish
InputsKeyboard
AccessibilityColor-blind friendly, High-contrast
LinksGitHub
ContentNo generative AI was used

Leave a comment

Log in with itch.io to leave a comment.