Differences in thrust between old/fxi and ng servers

Discussions related to the BloodsPilot server
Post Reply
Angeba
Posts: 88
Joined: Sun Feb 06, 2011 11:23 pm

Differences in thrust between old/fxi and ng servers

Post by Angeba »

How does the calculation of thrust (i.e. speed) differ between old/fxi and ng servers?
What does the ng option `constantSpeed' (aka `oldThrust') do exactly?
Samaseon
Posts: 13
Joined: Wed Mar 24, 2010 2:47 pm

Re: Differences in thrust between old/fxi and ng servers

Post by Samaseon »

This is a fairly technical issue. The way of doing the ship updates in old xpilot i.e. 12 FPS, is such that when you e.g. start thrusting, the server calculates the move as if the event came to the server immediately after the previous frame was "issued". This let's the ship accelerate relatively fast when doing small moves, such as evading shots. When xpilot NG and high FPS (50 FPS or so) updates appeared, this feature was pretty much eliminated as the time between frames was very short. In practice some players felt this made the ship much too sluggish and gave a huge advantage to suiciders and attackers.

Constant speed option was an attempt by xpilot NG developers to give the ship a little extra constant speed immediately when the ship starts to thrust, in order to emulate the older behaviour.
Virus
Posts: 6
Joined: Mon Sep 19, 2011 1:27 am

Re: Differences in thrust between old/fxi and ng servers

Post by Virus »

Exactly, the code was buggy (from a physics POV) and the low fps made the error quite noticeable. IIRC the motion of the first frame of thrust was exactly double what it should have been (simple math error), however the velocity was correct - so the error did no cumulate. Hence the addition of a constant velocity whenever you thrust, which of course causes weird effects when breaking - but increases ship responsiveness. Add to that also the anti lag issues which varies with frame rate: you get the entire frame worth of movement, regardless of when your last handling arrived on server. The server will do all your moves, then start calculating the next frame under the assumption that all those moves took place 1/FPS seconds in the past. Oldthrust was used to compensate for both of these effects on Throats Chaos server, it was not perfect... but probably as good of a fix that could be done.
Post Reply