Might it be possible to make player-buildable modular airports if enough rules and safeguards are in place?
Airport construction pieces
Runways come in short and long versions as complete modules. Short versions only support small aircraft, long versions support all aircraft. Lengths would probably be 5, 6 or 7 tiles. Diagonal runways may or may not be possible. Can be either dirt or tarmac, only tarmac can support large aircraft.
- Takeoff only
- Landing only
- Combined takeoff and landing
Helipads also sort-of fall under runways.
- Helipad without gate
- Helipad with gate
- Hangars can be rotated in either direction, but must face a taxiway for the airport to be valid.
- Airport must have exactly one, cannot open if there are multiple.
- Perhaps only required for airports supporting large aircraft or fast aircraft.
- Only decoration.
- Should support multi-tile modules.
Other functional stuff
Terminal gate (loading bay)
- Perhaps have gates that only support passengers (and "light cargo") or only support cargo.
- Need to support the original city airport in some way, the crossing taxiways may need to be a complete module in some manner.
- Perhaps the player builds clear tarmac and then builds "track" on it for the wanted movements.
- Alternatively, have puzzle piece taxiways with predefined (by NewGRF) movements allowed.
- Airports are constructed by first buying land for the purpose, using a special buy land mode. The airport land becomes fenced in.
- Airports can only be constructed/modified while they are closed and there are no aircraft on the ground. (There may be aircraft in hangars, in that case those hangars are locked.)
- While the airport is closed and in construction mode, the owning company sees various helper markers overlaid the airport to indicate taxiways, runways, gates, and the allowed movement directions.
- Airports can only be opened if all requirements below are met.
- Town noise is generated based on number and length of runways. Too much noise prevents the airport from being opened.
If you attempt to open an airport and it cannot be opened, all problems are highlighted and/or listed.
- Perhaps have a tab/display in the station window listing current status of the airport (detected problems, whether it supports small/large aircraft, number of runways for take-off and landing, buildable and serviceable aircraft types, number of terminals)
- An airport must have at least one runway for take-off and one for landing, or a combined runway, or a helipad.
Every landing runway must have a valid route to one or more destinations (gate or hangar).
- Corollary: Airports without (reachable) gates are invalid.
- Every non-gate helipad must have a valid route to one or more destinations (gate or hangar).
Every gate must have a valid route to one or more takeoff sites (runway or helipad).
- It's not possible to have a gate that only gives access to a hangar.
It must be possible to move from a hangar to at least one gate or takeoff site.
- If a hangar could not let an airplane take off, that hangar can only build helicopters.
Every hangar must have a valid route a gate or takeoff site.
- Corollary: Hangars are not required.
- Runways connect one-way to adjacent taxiways at their ends.
- Helipads (both types) and gates connect two-way to adjacent taxiways.
- Taxiways are always two-way, but their route may make them effectively one-way.
- Taxiways are constructed similar to rail, however diagonal taxiways have a minimum distance to avoid wings clipping.
- If there are no helipads, the ends of runways function as helicopter landing sites.
- For simplifying movement rules (probably) it's not possible to have helicopters land at any location on a taxiway similar to the original city airport (helicopters landing at the taxiway crossing.)
- An approaching aircraft circles (large radius) around the control tower until it is assigned a free landing runway and a gate.
- An aircraft heading for take-off is assigned a take-off runway and reserves a path to that runway. No other aircraft can enter or cross that path, but the path can have sections shared with other aircraft also going to take-off, as long as they move in the same direction on the taxiway.
- A landing-only runway is free as long as it is not reserved and there is no aircraft running/standing on it.
- A combined runway is free for landing if the landing aircraft can move away from it to the first taxiway tile towards its gate immediately, even if another aircraft has the combined runway reserved for take-off, as long as the taking-off aircraft is sufficient distance from the runway.
- A movement path may not cross a gate the aircraft is not stopping at.
The hope is to design a set of rules that can never cause a deadlock situation.
In case a deadlock on ground does happen, the best solution might be to teleport all the aircraft to a hangar. Undecided if they should be stopped then, or resume movement immediately.
A way to detect partial deadlocks is required, e.g. one area of an airport has stopped moving while the other area are still moving.