5
« on: May 16, 2013, 02:51:21 am »
Yeah, I don't think this is fixed.
Did a few games with a minigun on a turning ship and I clearly had to counter lead my own ship's turning.
It's very easy to see on the minigun because it is hit scan, and the bullets that draw go no where near where the hit indicators are popping up.
My best guess is that this is because firing packets are set with vectors that are relative to your ship. Since your ship is turning, it will be further along in that turn by the time your packet to fire is received, thus your bullets appear to be hitting further into your turn then you are aiming.
This is not angular velocity inheritance. For a few reasons:
1. The minigun projectile is hit scan, and thus there is no velocity to inherit since it already hits instantly.
2. Even if they just added an angular offset to 'simulate' angular inheritance, the values would be all wrong. - Math time go!
I was on a Goldfish with a side mounted minigun. It was making a turn of about 20 degrees per second but I had to counter lead my target by about 5 degrees to land hits where I wanted. This would suggest that angular inheritance was causing an offset of 5 degrees. For this to occur, it would require an angular velocity to muzzle velocity ratio of .087(Tangent of 5 degrees), or an angular velocity of about 9% of the muzzle velocity. Since most bullet projectiles travel about 1000m/s or so, This would mean we'd have to have an angular velocity of about 90m/s at the gun mount. For the goldfish that has its side gun about 10 meters from its center of turning, we'd have to be spinning at over 500 degrees per second and all the crew would go flying off the ship!
I'm not that experienced with network programming, but my best guess as for a solution is to giving fire details with absolute vectors so they wouldn't inherit the lag of the ship turning.