DarkMultiPlayer Client

DarkMultiPlayer Client

38.8k Downloads

Orbital COM->Root part positioning error

JoshBlake opened this issue ยท 6 comments

commented

Tested at 4c53431.

Player A is in proximity to Player B in orbit. Player B appears to jump 2-3m every 30 seconds. The jump direction is always relative to the vessel orientation (Player B's vessel). It didn't appear to be exactly forward in the local vessel axis, but it was close. I observed forward by about 2.5m and to the side by maybe 0.3m, estimated. This was confirmed by turning the vessel prograde, orbit normal, and radial, and the jump was always relative to the vessel.

This made docking rather difficult as I couldn't compensate for the jump direction. The jumping in the forward direction closed the closing distance too quickly, so during one jump the vessels intersected instantaneously and collided. Fortunately for me, it only knocked off a few unnecessary docking ports, and I was able to continue. I did have to time the last 10m of docking to be within the 30 second window.

Aside from this, both players positions and orientations were exactly synced and symmetrical. See:

http://imgur.com/a/NriMT

Docking ultimately successful:
http://imgur.com/mSRjyCR ๐Ÿ‘

commented

Possibly related to #21 but likely different bug with the new orbit delta correction system. #21 also was relative to orbital direction rather than vessel orientation.

commented

Well.... A 3m error is better than a 40 meter one :P

There is definitely something offsetting it, and I'm not exactly sure what it is. Perhaps instead of trying to send the correction from the sending player, perhaps we should work out the difference between the orbital parameters and the receiving players ship, and then fudge it on the receive side.

I'm not completely sure what is going on here (nor do I really understand why there is a difference betwen the rails and the vessel position in the first place), but it would definitely be nice to figure out :)

One thing that isn't happening though, KMP's docking mode, it made it possible to dock but it massively changed the vessels orbits doing so.

commented

There could be a chance there's a difference between the vessels center of mass and the actual origin of the root part (Or some other origin, I have no idea how KSP's positioning system actually works).

If that was around 3 meters for that particular vessel, that might be the reason...

commented

There's still an error, and it appears to be bigger than 3 meters...

commented

Updated issue title to reflect better understanding of the bug.

I have confirmed that the jump offset is exactly related to the distance between the vessel's center of mass and the root part's origin.

See this album for the test vessels and during/after jump image pairs from each vessel's perspective:
http://imgur.com/a/f8W9z

Jumps were 30 seconds apart.

Other confirmed details:

  • The jump offset is not related to the absolute positioning of the parts, such as non-centered ships in the VAB. It is only the relative offset between root part to COM.
  • The jump is also aligned exactly with the vessel's axis. After examining the before/after pairs, there was no off-center jumping. Although in some of the image pairs there appeared to an off-axis component, this was due to vessel-vessel drift and the time between screenshots only.
  • The jumping was not related to the attitude.
commented

I believe this was fixed months ago - I'm not exactly sure by which update ;).