Tweaking the Curves of your Stick

Tools in the arsenal:

First we have il2-JoyControl which is a glorified text editor with a nice GUI. It is linked to the conf.ini file where your axis settings are kept, and it edits that file. The great advantage to using it is it's speed, versatility, and most importantly: the in-game utility only allows axis tweaking of the primary joystick controller. This is the only way to go if anyone has 2 or more. That being said, it's better overall.

tech05_1

the x axis is the percentage of stick deflection from the center (your physical real-life stick), and the y axis is where the game will interpret the stick to be. That linear line is y=x, the gradient is 1.

All sliders at 100% (as in the above example) doesn't mean that the joystick deflection will start at 100%, rather it means that each step will be 100% of the linear input curve which is the blue curve that can be seen in the above screenshot. This will guarantee linear change in values, so it's appropriate for trim and throttles. It means that moving the throttle 20% of the way will result in 20% value, and 40% into 40%, etc. Easy and intuitive.

What do I mean that the curve/linear line represents movement from the center? The line is mirrored. x=0 is not your throttle/stick on one extreme, it is having your stick/throttle in the middle. So you can go to +100% or -100%, and those 2 curves will be symmetrical. In Rise of Flight, they can also be asymmetrical, if you want more control with nose-up than nose-down, for example.

Here's an example of my elevator axis input curve.

tech05_2

The sliders are a lower percentage of the black linear line and the axis that the game will interpret, is in blue. So for the first 3 steps or so, I can move my stick a fair bit to get small in-game movement (gradient<1). This allows me to be more precise around the center of the stick's deflection. Put another way, I can control the first 30% of my movement up or down, over a larger arc length (length of the arc, distance travelled by your hand while it draws an arc in the air) which allows me to make smaller movements (e.g. each 1mm of arc length is 1% deflection) than if I have less arc length for the same amount of deflection (e.g. each 1mm of arc length is 5% deflection, making 1% changes is much harder [these are just examples, not to scale])

The first and most common mistake is to have an input axis which is too sensitive around the center. A curve which is flatter around the center makes it easy to shoot unloaded.

There is a tradeoff. Notice that from the "30" value to the "80" value I have to catch up to the linear line. Thus I have less arc length for that 50% of movement because at 30% of stick deflection (x=30) the game will take my stick value to be 20% of stick deflection (y=20) but when x=80, y=80, so my y values, the input that the game will deal with, clilmb more steeply than the linear line, which gives me less precision (gradient>1)

So when I'm pulling 4G, I won't have as much precision as I do around the center.

So setting up a stick is all about the tweaking and the tradeoffs. Most people start by using someone else's settings, but it's a good idea to keep tweaking. Stalling in turns? More linear curve. Not stalling in turns but can't hit targets going straight? Flatter start of the curve.

However, the common rookie mistakes are always going to be present, and it's not a good idea to manipulate the stick so as to cover up the errors.

Then we have dead zone and filtering.

Dead zone is a part of the curve (around the center) that does not respond to movement. So a dead zone of 5% would mean that no input is registered by the game until the stick makes it to 5.1% deflection. Useful if a stick doesn't respond properly around the center.

Filtering takes the average of values over a certain time. Useful if a stick is spiking. e.g: when aiming at an enemy plane in a constant turn at 60% of stick deflection, your stick suddenly spikes to 90%. If filtering is on, the game will average these over time and process the result. So the first will be 60-60-60-60 which averages 60. The second incremental value will be 60-60-60-90 wich averages to 67. The third value will be 60-60-90-60 (assuming the kadet held the stick steady at 60% though that spike) which again averages 67. So the spike is greatly minimised. Higher filtering values will take an average of more values, e.g. 60-60-60-60-60-60-60-60-90 which averages to 63.

Both deadzone and filtering are sometimes advocated to a new pilot as methods to smooth out errors in flying, on certain websites. This is a grave mistake.

Dead zone and filtering are ways to smooth out errors in the stick and they should only ever be used as such. The pilot should correct his own mistakes.

The second tool in the arsenal of stick setup is a calibration tool, DIView.

tech05_4

DIView is a way to calibrate a joystick, but it is more precise than the windows tool.

In the picture above, each axis is in its own small window. The center window is the one to be used for this example. The red arrow marks the percentage of full deflection that the input device can use and the black arrow marks the percentage of stick deflection as windows understands it. The red arrow can be seen through right clicking on the window and clicking on the "view raw data" line.

Dead zone can be tweaked here as well, and I honestly don't know what saturation does.

tech05_5

Onto calibration, the premise is simple. Of the raw values, which will be the start, the center and the end values which windows will take to be the full deflection of the stick?

On commercial sticks the design is such that 99% of the time the raw values and the windows values (for lack of a better term) match. This is best, though it's not critical.

However, such calibration can be useful to re-align the center, or tweak the end of an axis. For example, some people have told me that they have trouble with the CH throttle quadrant, in which the axes only ever go to 95-98% deflection. In DIView the fix is simple, just reduce the end value in the calibration window (you'll also probably want to re-adjust the center, but asymmetric inputs are possible)

This app is also a nice way to test "wierd" inputs and see the raw values, such as a trim wheel that seems to give more left rudder than right rudder.

And that's it for stick setup. I hope this helped!

Below are examples of input curves being used by whom using what setup. These are copy and pasted from the conf.ini file, where they are stored. The first and last values are for deadzone and filtering (or possibly filtering and deadzone)

Malysh, with a home-built long-throw stick:

elevator: 50 54 58 62 66 70 80 88 100

aileron: 42 53 67 80 91 100 100 100 100

rudder: 54 69 79 89 93 95 97 100 100

all else: linear (100% on all sliders)

Conan with a COUGAR:

elevator: 100 100 100 100 100 100 100 100 100 100 (i.e. linear)

aileron: 100 100 100 100 100 100 100 100 100 100

rudder: 100 100 100 100 100 100 100 100 100 100

Oleg Maddox: (recommended as a starting point)

elevator: 1 4 8 15 24 33 44 60 77 100

aileron: 1 3 6 12 21 32 44 61 81 100

rudder: 0 10 19 32 43 54 63 74 86 100

crazyivan1970: (recommended as a starting point)

elevator: 28 44 55 62 70 79 88 93 96 100

aileron: 27 38 52 63 69 75 83 88 93 100

rudder: 29 40 48 57 66 76 86 93 95 100

MALYSH