Modding, Mission Design, and Coding > Test Builds

Joystick response curves

(1/11) > >>

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 (Xn, n > 1), or a fractional one (Xn, 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
--- Code: ----joystick_curves n
--- End code ---
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 / Debug
Linux / Debug

Would 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.

Wow, thanks for putting this together!  I've actually been wondering about how the curves work in FSO recently.  I hope to put this to good use.

I keep getting "The program can't start start because SDL2.dll is missing from your computer. Try reinstalling the program to fix this problem." Am I doing something wrong?

ive always been a fan of linear curves (and the graphs certainly help me find that). but the power curve 6 (or any of the j curves, 0,1,4) would give you more precision towards the middle which might improve aim. these curves seem like they would work best on joysticks that are fairly linear, such as sticks with the gimbals shafted directly to potentiometers. s-curves (2,3) are somewhat useful if you have a non-linear stick such as saitek or any form of gamepad. it would allow you to flatten out an other wise crooked curve. some gamepads are very weak near the center of their range and i guess thats where #5 comes into play. or anywhere where you need to overdrive towards center, of course higher sensitivity settings form a j curve. all in all, very good work. would be awesome to be able to select a curve in game though, because its going too take a lot of tweaking to find one that works for you.

--- Quote from: GunHed on July 29, 2014, 07:40:33 pm ---I keep getting "The program can't start start because SDL2.dll is missing from your computer. Try reinstalling the program to fix this problem." Am I doing something wrong?

--- End quote ---

i take it this was based off antipodes. you need to install sdl, or at least find the dll and stick it in your fs2 directory. sdl2.dll comes with the antipodes builds so it might just be easier to download those and extract the dll.

Yep, see this post for the builds Nuke mentioned.


[0] Message Index

[#] Next page

Go to full version