One of the top 5 bug reports I see: two AI airplanes starting in the same ramp start position, or worse, an AI airplane starting on top of the user’s plane.  The pictures are often quite spectacular, if not what we intended for the ATC system.

The code that allocates AI start locations is much improved for X-Plane 10.30, so in the next major update, we should get less cluttered ramp starts.

But the code change isn’t enough; there’s something that you have to do now if you are working on an airports.

You need to provide more than one ramp start!  In particular, if there aren’t enough ramp starts for a given airport, X-Plane cannot sanely allocate AI airplanes with space between them.

In the past, X-Plane’s UI didn’t have room to show a lot of ramp starts, so authors would include only a handful.  This has been fixed for a while, so I encourage you to add lots of ramp starts to your airports.  This will give the AI planes room to park and the user a choice of all of the real-world gates.

Types of Ramp Starts

X-Plane 10 introduced type and equipment codes to ramp starts.  One thing Chris found while working on the ATC system was that users were putting ramp starts in silly locations.  For example, some airports have ramp starts on the active runway!  He had to write specific ATC code to untangle the disaster that happens when an airliner decides that “on the runway” is a good place to park.

X-Plane 10 lets you define your ramp start as a tie-down, a gate, the interior of a hanger, or ‘misc’. The misc category was designed for ramp starts that might be interesting to humans (e.g. “in the run-up area for runway 7”) that are not appropriate for AI/ATC use.

I am not a fan of ramp starts near the active runway; I figure if a user wants to minimize taxi time, X-Plane lets you start on the runway, and a start anywhere but the ramp is inappropriate for realistic flight.  But whatever you make, consider marking real parking spots as gates, tie downs, etc. and the random starts as “misc”.

Static Aircraft

Static aircraft (3-d models of aircraft that don’t move) are a nice way to make an airport look busier with less impact on framerate than AI planes.  But this presents a problem: if a static airplane is at gate C4 and a user wants to park there, what do we do?

I believe the solution to this is to automatically place static aircraft based on ramp starts.  This is not something we have coded now, and I don’t know when we will get to it, but my design idea for static aircraft is to have the airport include a lot of start positions and no static aircraft; X-Plane can then place static aircraft at ramp starts based on a rendering setting, with the user picking more static aircraft if hardware permits.

The advantage of this scheme is that (because X-Plane places the static aircraft), X-Plane would know where they were parked and could make sure the static aircraft aren’t in the user’s spot and the AI aircraft aren’t using a spot taken by the static aircraft.

The todo item for authors to someday support sim-placed static aircraft is, fortunately, the same thing authors need to do now to prevent future AI collisions: just make sure that there are a lot of ramp starts, modeling how the real airport works.

Edit: Just to clarify, 10.30 is not scheduled to contain a big pile of ATC bug fixes.  The slight improvement in AI ramp start placement that I put in was a one-off bug fix; more ATC bug fixes will come in a later patch.

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

19 comments on “Airport Authoring: Ramp Starts and Static Aircraft

  1. Automatically placed static aircraft is a clever idea Ben. If this can somehow be integrated with the aircraft objects that come in each scenery pack, it will allow authors to include aircraft/liveries that actually fly into those airports.

    Of course, saying it is easy… devil is in the details 🙂

  2. If no ramp starts are defined, or there aren’t enough, wouldn’t it be best to limit the number of loading aircraft at that airport to the number of unoccupied ramp starts?

    E.g. Undeveloped airport with just a runway – the default start location is presently in the middle of the runway. I’d prefer it to have no AI aircraft load up there.

    One other question following on: If the ramp start type is for a specific type of aircraft, (e.g. general aviation) would it be possible to prevent Boeing 747’s starting up in the smaller airfields?

    1. Eventually we will be able to use the ramp start equipment fields to get better equipment distribution. And yes, fewer aircraft might be a better failure mode than a stack of aircraft.

      1. I’d like to reiterate that scenery authors need a way to control what aircraft show up at specific start points. Having a B2 Bomber parked at Gate 32 in the middle of the United Airlines concourse at KBEN Supnik International Airport would not be something I’d like to see.

        But I have a more general question and request.

        First, is there any way you can tell the ATC engine NOT to use this spot to spawn AI aircraft? I know this is probably just due to my “anal nature” but it really bothers me to see an aircraft spawn at a gate and, since it has now way to “power back, it just taxis right through the terminal to get to the nearest taxi segment. As an author, I’d much rather have AI aircraft spawn at designated ramp holding points. All major airports have these and they are usually situated at the edge of the airline ramp as it approaches a major ATC controlled taxiway.

        And my question is…… How do ramp start names affect the ATC engine. I’ve been including information about the ramp start point in its name. i.e……. Gate 32 – Narrow, or Gate 32 – WIDE as a way to tell a pilot what type aircraft he should use if he chooses to start at this gate. Sometimes I’ll name a gate “Gate 32 – United” so a pilot knows that is a United Airlines gate and he should expect to see other United liveries in the vicinity.

        Will adding this into in the gate name confuse the ATC engine at some future date?

        Thanks. Tom

        1. Hi Tom,

          There are a bunch of issues here. A few things:

          – Our goal with the file format is to include information we need for the long term functioning of the ATC and AI system. We are specifically _not_ including work-arounds for bugs in the sim or missing functionality. If we _did_ include such work-arounds then we’d have extra data and a weird file format later once the bugs were fixed.

          – Aircraft placement is definitely buggy – see also airplanes on top of other airplanes. To have the system function correctly we need to fix this, honor all meta-data already defined in the format and support push back.

          – The current ramp starts support _two_ kinds of meta-data:

          1. The start type is designed to provide meta-data to control who shows up where, e.g. AI should not be spawned at ‘misc’ points, but rather at gates, etc.
          2. The ramp start equipment flags hopefully filter between different classes of aircraft.

          In the long term we can extend this meta-data to include more complex things like livery, airline, and even specific aircraft size restrictions but for now our first priority must be to get the -basic- system working.

          The AI engine totally ignores the gate name – it does not attempt to comprehend the human-readable text.

          Now…there are really two authoring standards:
          – Airports shared with the global data base will be subject to global airport database authoring standards.
          – Custom airports distributed directly to users in a third party scenery pack only need to honor the apt.dat file format.

          – In the global airport database, please do NOT include extra data in the gate names…A32 (for terminal A, gate 32) is good.
          – For custom scenery, you can do pretty much anything you want.

          Ramp starts do need a name – it can’t be blank – but the AI engine does not and will not parse it. We will add additional flags and meta-data fields to the apt.dat struct to add more complex behavior (like airline-gate assignment). Given that there are no rules for names now, there’s pretty much no way we could enforce such things later.

          Hopefully that answered everything.

  3. I’m looking forward to see if there are still NASA 747s trying to take off from a 300m grass strip ☺ That’s always a sight.

  4. Great news, can apoint a condition about AI aircrafts on start rampe with GATE type, make some pushback meteres, and continuig the the route, because is usualy, start on jetaways, and now is passing the building and jeteway to turn on route.

    Is not critical but one more idea, make one if gate, first pushback 10m and continue with route, i gues?

    1. Not easily – but > 20 is nice if a user maxes out ATC. If the real airport has less than 20 I’d say just do what’s there – the goal should be realism where possible.

  5. Hi Ben,
    Nice idea about the auto-gen of static planes. This would also fit nicer with VATSIM and IVAO I would expect — I’ve only just started but I’m expecting to be directed to park on top of a static plane in my scenery one day.

    I’m looking forwards to the day when X-Plane can use the equipment type fields as well so we get props starting at a GA tie-down and not at the International Terminal gates. Or A380s starting at the small commuter parking spots.
    One extension that I have thought would be useful is to have a “business-type” on the starting point as well. By that I mean: Passenger, Cargo, Military etc etc. Of course, this would also mean being able to set this in your flight-plan. In this way your FedEx flight could be routed by the ATC, via your carefully prepared taxi network, to the Cargo terminal. Just a thought.

  6. I wish that you guys would explain in more detail
    how to create scenery for xplane. After all we like xplane.

    Please give us exsamples.

    1. It models a ramp for which we don’t know what it was for — since there is no meta-data in the old 850 format, we have to treat them as “misc’. The new format is a strict super-set of the old one.

Comments are closed.