A while ago I wrote two posts trying to explain why we would use real physics for the AI planes.  Looking back over the comments, I think my message missed the mark for a number of readers.  The basic idea was this:

  • It’s quicker to get the new ATC system done by using the existing physics model than by inventing a brand new, parallel “fake physics” model for AI planes.  So using real physics lets us focus on other features.
  • The physics model is not more expensive than a fake physics model would; the few things that actually take CPU time on the real physics model are things the fake model must do: check for ground collisions, etc.

In other words, using real physics doesn’t hurt the schedule and it doesn’t hurt fps.  I followed that up with a bunch of talk about how you incrementally build a complex piece of software, and off we went.

What I didn’t do is make the argument for why real physics might be better than fake physics.  So: I made a video of the 777 taxiing and taking off.

Some disclaimers: this isn’t a marketing video, it’s what was on my machine at this instant.  This is an older v9 plane with v9 scenery*.  Version 10 is in development and has plenty of weird stuff going on, and the AI still needs a lot of tuning. Anyway:

With the video compression, calm conditions, v9 airplane, etc. it’s a bit tough to see what’s going on here, but I’ve seen a few AI takeoffs as I run X-Plane in development and it seems to me that the real physics model provides a nuance and depth to how the planes move that would be impossible to duplicate with a “fake” AI (e.g. move the plane forward by this much per frame).  When the airport isn’t flat, the plane sways depending on its landing gear, weight, and wheelbase.  The plane turns based on its rotational inertia, easing into the turn (and skidding if Austin dials in too much tiller).  When the plane accelerates, the rate of acceleration takes into account drag, engine performance, and wind.

 

* Except for Logan – that’s George Grimshaw’s excellent KBOS version 2 – version 3 is payware and I hope they’ll some day bring it to X-Plane.  Unfortunately there is some Z-thrash in the conversion.

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.

41 comments on “Real Physics on an Airplane

  1. I totally stand by this decision. The video clearly shows how “real physics” gives a feeling of realism that would be impaired by “fake physics”.
    On the other hand, I think I saw a somewhat different ATC bubble in this video… maybe a bit of V10 has slipped into it?? 🙂

    1. Well, _all_ of v10 slipped in – as I said, that _is_ v10. You can’t have the AI airplanes + ATC engine in the v9 codebase – too much has changed. But v10 is showing off its ability to run legacy content unmodified, not any of the new content or rendering features.

      1. :O All the better!! I was misled by the V9 plane+scenery combo, and I thought it was just a V9 testbed for V10 features! Never meant it this bad: keep up the good work!!!

  2. Basically this is how the new AI looks like running in the confines of the old X-Plane 9 engine. Pretty cool to see it in action.

    1. Well, almost. It’s how the new AI looks running with the new engine with the new features turned off and old v9 content. 🙂

      (Which is to say: if you turn off the new features and use v9 content, v9 content looks like it did before, which is intentional…for backward compatibility. If I had turned on global shadows, the custom v9 KBOS pack would cast shadows…but…at that camera angle you wouldn’t be able to see them. In hindsight I should have lowered the sun a bit so that the airplane’s lighting changed as it moved…the lighting changes help give us visual cues on depth. The lighting equations on the airplanes are actually a bit different.)

  3. Point well taken! Question for you Ben, could you comment on the pros/cons of x-plane working in a distributed computing environment? Most people have multiple computer on their home networks. Why not share the load?

    Disclaimer: Not sure if we can do this now with the current version of x-plane or if you discussed this before.

    Thanks for the video!

  4. Oh, one more thing: about callsigns. I understand ATC can’t support every possible operator callsign but it’d be nice if at least the most important airlines and aircraft types were included…

    1. Right – note that the current callsigns in the video – p0, p1, p2 – those are internal names until we generate real ones.

  5. Please post through youtube. I can not see the video and I do not want to install additional plugins. However, thanks for the written info!

    1. I will post the link for download. We’ll have this on YouTube at some point, but I don’t know when. This was just meant to be a quick post. I have consolidated your comments down to this one since they were all on needing a new way to see the video!

      1. Thumbs up, Ben! And I am really looking forward to seeing more of the new AI. You guys rock and XP10 will be a true hit!

        Whenever you have the time over, please continue posting tech info about changes and temporary implications etc. It’s really interesting read! And also, I’m really looking forward to hear more about the implementation of OSM and your view’s of tackling all the smaller problems involved in making it look nice in the end product. Can I also ask for more screens of the new tech? Would be so cool!

        Best regards from a loyal fan since XP6

  6. THanks for updates & spending time to inform of the progress – really looking forward to XP10

  7. I’m really impressed with the video. (even if the a/c was V9) Looking forward to V10 on my MAC!

  8. Correct me if I’m wrong: Version 9s A.I. system uses the constants put in for the autopilot I believe. Will V10 use the same? The reason I ask is that a lot of aircrafts from the .org don’t have the autopilot worked out.

    1. It looks to me like, at this instant, the AI planes actually stick & rudder it. But – don’t assume that will stay true; I would assume that if a plane is not flyable by normal pilot procedure (and this includes using the AP) that the AI can’t be expected to do better.

    2. As Ben said, this is not a guarantee at release time but currently, we avoided using the autopilot for this exact reason so the AI aircraft are actually flying the planes themselves, not tweaking autopilot settings.

      1. Chris, do try to keep it that way at least for the low-altitude phases of flight even on airliners.. look very realistic. Heck, you might even implement an “F/O mode” where the computer could take over the aircraft, radios, or both and fly the flight plan. Would be a great way to learn or get help with those crosswind landings — please consider it, my colleagues asked me to ask you — no hurries, sometime down the 10.x run! Also, I notice ATC says “Contact *Boston* Approach on xxx.x — how much of those specific facility names are we going to hear in sim? And Chris, THANKS so much for your efforts!!!

        1. X-Plane already has an “A.I. flies your aircraft” mode and I’ve done my best to be sure that it continues to work with the ATC system. I would keep in mind though that the AI pilots are not really pilots that you would want to mimic. I doubt they’ll execute proper crosswind-technique by which you would model your own flying skills. 🙂 We are kind of amazed that they’re flying as well as they are and Austin has not really even tweaked/optimized them yet. As far as the facility names, as I said in an earlier post, users will have the ability to customize facility airspace boundaries. Included in that customization is the facility name. I really want to hear/see “Contact Boston Approach” instead of “Contact KBOS Approach” but it’ll be up to our community to do a lot of that work. I’m just doing my best to make sure they have the ability to do it.

          1. Allrighty. What I’m wondering is, if someone, for example me, records and sets more facility names, won’t it sound a bit stupid if a controller says (in one voice) “Contact” and then in my voice “Helsinki Radar” and then the frequency in the original voice.. btw be sure to include the facility types “Radar”, “Arrival” “Director” (all equivalent to “Approach”) and “Control” (same as “Center”) for us Europeans — that shouldn’t be impossible I think!

          2. Yes of course that’ll sound a bit silly but you’re free to override ALL of the sounds for your area as well…maybe even make recordings from real controllers at that facility.

  9. can someone please link me the location of the KBOS scenery in the video please, can not find it online.

    thanks

  10. I had the chance to sit in the chaos of Ben’s office earlier this week and watch this all working at KBOS with multiple airplanes simultaneously. The movement of the airplanes really looked very ‘real’, especially the slow-speed ground maneuvering (OK, a few of them wandered off into the grass – and the water – but fine tuning is still in progress!). Even the rotation for take-off looked good (as it does in the video Ben posted here). I was impressed – good job Chris.

    – Robin

  11. I had money burning a hole in my pocket for the CRJ. Purchased!

    Now I have a bit more dough waiting for X-Plane 10…Man is my pocket getting warm!

  12. Just ONE more thing. Could you modify the “AI flies” mode so it knows how to taxi — now it just tries to take off straight away?

      1. SO cool! Pretty please post some more vids of this happening. I believe all of us understand XP10 is not finalized yet and that it still is a bit buggy. But just seeing a vid of a bit more of the new AI system would be awesome!

  13. Quite cool. Can I surmise that if the model had wing flex then that animation would be in the video? Also, I’m not sure if the ATC text pane isn’t a bit over the top.

    1. I think Austin has wing flex in v10 but I am not sure. If he does, you’ll still need to set up the parameters in Plane-Maker, and if you use an external OBJ, you’ll need to tie animations to the physics.

      1. Better than nothing! We’re now moving on to elastic effects if we can find a simple algorithm. Wait, there’s a sale on for exaggeration microscopes….

  14. So that means if you file a flight plan and select “AI flies”, you’ll see a gate-to-gate flight? Cool!

  15. Hi Ben,

    I think we’re missing the point here on the real vs fake physics debate:
    Considering that for the most of the time AI traffic would be miles away and in the sky (i.e. no need for advanced ground collisions) real phisics sounds quite like a waste of resources 🙂

    Perhaps you have a clever physics level of details algorythm that scales down complexity with distance from cam?

    Just remember there is a gap in the flight sim market and to attract fsx users you must consider running hundreds of ai flights around the aircraft and not everybody owns a 16core beast machine yet 🙂

    Luca

    1. Ben: the flight model is very cheap!
      Users: you should use a fake flight model – you are wasting resources.
      Ben: but the flight model doesn’t use much resources.
      Users: it still sounds like you are wasting resources.
      (repeat ad infinitum)

      I think the real issue is _virtualization_: are there times when an AI flight doesn’t need to be “backed” by a real airplane _at all_? In this case, the savings at hand isn’t just the physics flight model CPU time, it’s ALL of the costs of an airplane, e.g. RAM, memory for the textures, bla bla ba.

      Will we virtualize flights? Almost certainly. For 10.0? Who knows…as I have said in the past, we’re not going to delay shipping 10.0 if we think it is already superior to v9. (This point was pretty much lost on a whole chunk of readers, who suggested that LR simply delay v10 indefinitely until the particular feature they wanted was finished, because v10 would be pointless if it wasn’t “perfect”, where perfect meant “has the random feature X that I want.)

  16. Thanks for the clarification, I was not aware that real phisics for AI would be that cheap. I just kept thinking about one of the first posts on the argument regarding the need for several cores for a few AI aircrafts 🙂 I guess virtualization would solve this
    L

Comments are closed.