Greetings and salutations.
A few months ago, I bought a new joystick and discovered that I don't feel very comfortable with the joystick response curve in FSO. After digging through old threads, I discovered there have been a few requests in the past for curve editing, or at least, alternative response curves. So I thought I'd make a few myself.
First of all, there are two existing response curves in FSO: The original (retail) curve and an alternative curve that was added by
Wanderer in 2009. As far as I can tell, the new curve by Wanderer was only implemented in the Windows version, while the Linux version of the game used the original, retail curve.
I have now added, with the help of z64555 and HerraTohtori, 5 new joystick response curves, which give us a total of 7. This is a bit overkill. At least one of the curves is redundant, being simply a subset of the existing curves. What we've attempted to do is provide response curves that have different shapes from the existing ones. Both the existing curves were based on power functions, so we added an exponential, a sigmoidal and a "mixed" curve, which can act either as a positive power curve (X
n, n > 1), or a fractional one (X
n, 0 > n > 1).
The new (and old) curves are all neatly demonstrated
in this wonderful markdown document on github. If no curve is specified, the game defaults to the retail curve. A joystick curve can be selected using a command line argument
-joystick_curves n
where n is the number of the curve you want to use (see
the glorious github document mentioned above).
The code is based on the Antipodes branch and can be found on my fork on github:
joystick_curves branch.
Grab your builds here:
Windows /
DebugLinux /
DebugWould be nice to get some feedback on which curves feel better. I suspect that different joysticks or gamepads will have different preferences. I'm also accepting suggestions for other curves, if anyone has any ideas.