Gameplay
Notice: These docs are in progress and may be incomplete. If you have any questions or feedback, please let me (@thedevbird) know in our Discord server.
Comms
Sending commands with text (aka shorthand)
Select an aircraft by clicking it in the radar or type its callsign into the chatbox. Then, write the command you want to run (see the in-game Command Reference or the web version here), pressing enter to send it.
Sending commands with your voice
To use your voice, you'll need to add an OpenAI API key to the .env file as explained in full here in this doc.
Once that's set-up, simply press and hold the spacebar to record a command. This will transcribe your voice locally, then send the resulting transcription to a cloud LLM to turn that transcription into valid ATC commands.
If you mess up during recording, while the spacebar is still pressed down, you can press the Escape key to discard the recording. Note that this can only be donw while spacebar is pressed.
Air control (approach and departure)
Airwave provides two major roles for the air controller: Approach and departure.
Alpha Note: "Center" or en-route control is not yet implemented as a dedicated role, though you can still adjust aircraft while their en-route if you'd like (no restrictions).
Arrivals
Airwave randomly positions 11 airports (and airspaces) around the game world on startup.
Alpha Note: We only have KSFO modeled as of now, so this model is used for the main airport and the other random airports. We plan on adding more in the future, of course, along with placing airports as they are in the real-world once they're modeled.
Your Airspace
In the approach view, you'll see the circular boundary of your airspace.

Aircraft within your airspace are under your jurisdiction. Once an arrival enters your airspace, it's yours.
Arrivals are green, departures are blue (more on them later), grey are unrelated and aren't your responsibility.
Alpha Note: Arrivals don't follow STAR or other waypoints as no waypoint-based procedures exist yet. Instead, they fly direct to your airport.
Vectoring for approach
Arrivals want to land (any runway you choose). Vector them using heading commands, adjusting speed if necessary (180-250kt).
For example:
Voice: "Delta 3916, turn left heading 210 degrees, descend and maintain 4,000 feet."
Shorthand:
DAL3916 hdg 210, alt 040
Altitude should around 2,000ft to 5,000ft for landing. The dot on the localizer line shows the minimum distance an aircraft at 4,000ft can enter the approach at.
RBL tool
A nice little tool to help with finding right heading to give an aircraft and for measuring distance. Right-click and drag to calculate the distance and bearing between the start and end points of the drag.

Landing
Cleared to land and cleared ILS approach are the same, to simplify operations.
For example:
Voice: "Delta 3916, cleared ILS approach runway two eight right."
Shorthand:
DAL3916 cl 28r

Departures
Departures (blue) are yours once they're past 2,000ft after takeoff.

They automatically follow their flight plan (direct to their destination) and don't need your attention.
However, if they might interfere with your arrivals or other departures, you can vector them accordingly. Make sure to RAF them before they leave or once they're clear of the conflict so they go back on their way.
RAF example:
Voice: "Delta 3916, resume as filed." or "Delta 3916, resume own navigation."
Shorthand:
DAL3916 raf
Ground control (tower and ground)
Airwave also provides two major roles on the ground: Tower and ground. Both are designed to be one role, where "ground" is responsible for clearing takeoffs and issuing go-arounds.
Alpha Note: Pushback is not yet implemented, so once an aircraft is ready at a gate, simply taxi them as you would normally.
Ground Radar
To access the ground view of your airport, simply zoom in far enough or use PageUp and PageDown to quickly switch between them.

Your main responsibility of ground control is taxiing deparutures from the gates to a runway, and arrivals from a runway to the gates.
Taxiing Departures for Takeoff
Dormant aircraft (grey) that are parked at a gate will turn into departures (blue). The "spawning" is handled by the spawn system.

Once a departure shows up, taxi them to any runway of your choosing.
Alpha Note: Pushback is planned, but not implemented yet. Once a departure becomes available, tell them to taxi (no pushback).
Before issuing a taxi command, it's recommended to select the aircraft first so you can verify the taxi path that's generated before moving onto other aircraft or responsibilities.
Taxi commands can be done in one shot, or progressively. Let's go over the former first.
Example of a one-shot taxi command.
Voice: "Delta 3916, taxi short of runway two eight right via Golf, Lima, Bravo, November."
Shorthand:
DAL3916 tx short 28l via g l b n

Progressive taxi uses the same command, but may omit some waypoints to provide layer once the aircraft is closer.
Voice: "Delta 3916, taxi short of Lima via Gold."
Shorthand:
DAL3916 tx short l via g

This instructs the aircraft to taxi short of lima via golf, then to await further instructions. Progressive taxi is useful for managing congestion and especially for moving aircraft to arbitrary holding points to wait, if you don't have any available gates.
Takeoff
Once an aircraft is on it's way to a runway, you can tell it to line up and wait or clear it for takeoff. They don't need to be holding short of the runway to do this, as long as they have the runway on their path, you can instruct either.
A line up and wait command will instruct the aircraft to line up and wait, as you'd expect.
Voice: "Delta 3916, runway two eight left, line up and wait."
Shorthand:
DAL3916 lu 28l

Takeoff also works as you'd expect.
Voice: "Delta 3916, runway two eight left, cleared for takeoff."
Shorthand:
DAL3916 ct 28l
Before taking an aircraft off, make sure to view incoming landings by switching to the air view (PgUp) so they don't collide with the landing aircraft.
Alpha Note: Better visibility of landing aircraft while managing ground/tower is planned but not yet implemented.
Taxiing Arrivals to Gates
Once arrivals are stopped on a runway, you can taxi them to a gate.
Pick any gate you'd like them to go to and issue a taxi command to it.
Voice: "Delta 3916, taxi to gate Alpha One via Delta, Alpha."
Shorthand:
DAL3916 tx gate a1 via d a

Once parked at a gate, arrivals will become dormant and no longer need your attention.

Command reference
View the command reference in the in-game window or view it online here for a list of all commands and how to use them.