Place user aircraft on ground (SIMCONNECT_DATA_INITPOSITION now has side-effect)?

Dear all,

In order to properly place the user aircraft on the ground I am using a request with the pre-defined request record SIMCONNECT_DATA_INITPOSITION.

This record has an OnGround member which I can initialise as either true (the aircraft is properly placed on the ground; specifically the gear (wheels) are properly aligned with the ground) or false. This works like a charm.

Until now…

Unfortunately it seems that since the latest FS2020 version 1.15.7.0 (released two days ago) a request with this SIMCONNECT_DATA_INITPOSITION record has a side-effect: (parked) AI aircraft and vehicles are placed anew as well (some kind of AI vehicle “re-initialisation”?). I wouldn’t mind this too much - except that it seems that in like 80% of all cases a vehicle is spawned right next to - or even “on top” - of the user aircraft, in case the user has parked (started the flight) the aircraft at some gateway or general aircraft (GA) parking space:

  • In the best (rare) case no vehicle / aircraft is spawned near the user aircraft
  • In the second best case it is just a fuel truck placed next to the aircraft (which drives away after a few moments)
  • If you’re lucky you just have a forklift placed right into your cockpit…
  • … but if you’re unlucky your user aircraft is burried by a huge A320 or a Dreamliner - even on GA parking spaces (*)

(*) which is probably indicative that this new “AI vehicle placement” algorithm does not quite work as intended :wink:

I will create a Zendesk ticket once I have verified that this new behaviour is indeed linked to my request with SIMCONNECT_DATA_INITPOSITION (I will offer a “workaround checkbox” in my application for the time being to not make this request at the beginning of replay - with the drawback that the gear wheels might be “stuck in the runway”).

But for now I have the following questions:

  • Did anyone else observe this behaviour with SIMCONNECT_DATA_INITPOSITION as well (especially when the aircraft is placed at either a gate or GA parking spot)?
  • Is there another way to properly place (align) an aircraft “on ground”? (**)

(**) Under Plane Position/Orientation I noticed that there is a SIM SHOULD SET ON GROUND variable: but it is neither documented nor clear whether it can actually be set (with the current SimConnect implementation) - has anyone experience with this variable? Would I define a dedicated request record in analogy to SIMCONNECT_DATA_INITPOSITION, with a SIM SHOULD SET ON GROUND member?

Here are a few observations and illustrations:

  • The chance whether an AI aircraft (vehicle) is spawned next (or on top) of the user aircraft is likely related to the size of the airport (and the AI density setup in the settings)
  • For instance a random experiment at LEMD (Barajas) at PARKING 117 - RAMP GA SMALL I did not encounter this after like “10 experiments”
  • On the other hand at a small(er) airport like LXGB (Gibraltar), at PARKING 1 - RAMP GA LARGE this is pretty much reproducible
  • Note that after calling SIMCONNECT_DATA_INITPOSITION it takes a while (3 - 5 seconds or so) until the AI vehicles/aircrafts are re-positioned (you can see them “spawning” also elsewhere in the vicinity of the user aircraft)

Wanted: no AI aircraft parked on the same spot:

Phew! We were lucky, just a fuel truck was placed next to us:

Ouch!

That does it! (This is a GA parking space ;))

As a matter of fact I am now not even sure anymore whether this is a new behaviour (introduced with FS 2020 1.15.7.0): I might have simply not noticed it up until now (possibly because I used to start on larger airports and/or did not test so much starting from parking spaces).

Again, anyone else observed this “new” (?) AI spawning algorithm as well? At least the algorithm should detect where the user has parked his/her aircraft and not place anything near it (fuel trucks are okay, I guess)?

And those are my current settings related to AI vehicles (the ones used for the experiments above):

Trying to actually set this SIM SHOULD SET ON GROUND with the SimvarWatcher example app results in a “SimConnect: DATA_ERROR”: this variable is not writeable (yet).

So the only remaining way that I know of to properly place (align) an aircraft on ground is with the SIMCONNECT_DATA_INITPOSITION request and its member OnGround. With the risk of having an airliner spawning on top of the user’s aircraft when starting at a parking position.

Any ideas?

I think those “side effects” (including re-positioning of AI objects) when initialising the position of the user aircraft with SIMCONNECT_DATA_INITPOSITION are indeed wanted: I just realised the following paragraph here:

https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimConnect%2FAPI_Reference%2FStructures_And_Enumerations%2FSIMCONNECT_DATA_INITPOSITION.htm

“The primary use of this structure is to initialize the positioning of the user aircraft, because it also optimizes some of the terrain systems and other Microsoft Flight Simulator systems.” [emphasis added]