Analog controller configuration guide

Posted by Dpld 
Analog controller configuration guide
Date: July 30, 2016 09:29PM
Posted by: Dpld
In this post, I will write about some things I learned while trying to figure out a comfortable setup for my controller, a PlayStation 1 Dual Shock. While the characteristics of that controller had some influence over my perspective -- crucially, it has no analog triggers, just the dual sticks -- the principles presented apply to any device.

Special thanks to OldIsGold, whose configuration, described in this topic, put me on the right course after much head scratching.

Maximum lock

I will initially focus on steering, which is the trickier control to get right. The most straightforward steering configuration is the maximum lock. It defines how far the wheels will turn with maximum input. An immediate consequence is that steering sensitivity grows with increasing lock. In principle, it would be desirable to set the lock close to the 20 degrees maximum in order to full advantage of the range of your controller (real F1 cars are said to use 17 degrees at a typical track and 21 at Monaco). However, for analog controllers with short physical motion ranges -- such as an analog stick, as opposed to a wheel -- doing so can easily make the steering too sensitive for comfortable driving. The other steering settings are, by and large, tools to work around that problem.

Steering help

I won't dwell for long on steering help. When activated, it automatically steers the car along the racing line to a configurable extent. Its purpose is to compensate for a too small steering lock, which can make it difficult to get through tight turns. Steering help, however, takes away from you full control over where your car is heading to, which can be frustrating. For that reason, it is preferable to disable steering help (or at least keep it as low as possible) and focus on tuning the other settings.

Low sensitivity zone

The name "low sensitivity zone" slightly undersells the option by suggesting it is something like a dead zone, while the actual setting is quite a bit more subtle. Defining a low sensitivity zone larger than 0% makes the steering sensitivity gradually grow from zero at the centre up to a final value at the chosen threshold, expressed as a percentage of the range of the controller. In effect, a low sensitivity zone raises the useable range of a sensitive controller by lowering sensitivity through the lower part of the range. The trade-off is that sensitivity actually increases towards the outer limits of the range. That being so, changing the low sensitive zone has effects all along the steering range, and even small changes can be easily felt when driving. For the sake of illustration, here is a plot of the steering response for various low sensitivity zone values and a lock fixed at 20 degrees (assuming a power law model with exponent 1.5 for the low sensitivity zone).



To show how a low sensitivity zone can make it possible to have a higher lock without making the control too sensitive, below is a plot of steering responses for 16 degrees lock and no low sensitivity zone versus 18 degrees lock and a 92% zone. The responses are equal (that is, the curves cross) at about four fifths of the way.



Steering with an analog stick calls for a fairly large low sensitivity zone, at the very least for keeping straight line twitching -- the number one problem with sticks -- under control. Note that if you use the full range of the stick often (as a high "reduce with car speed" setting might require) the rapid increase of sensitivity towards the edges might become an annoyance. In that case lowering the size of the zone a bit is helpful.

Reduce with car speed (speed-dependent reduction)

The "reduce with car speed" setting, which from now on I will refer to as speed-dependent reduction for the sake of grammar, can be seen as an alternative to lowering the steering lock when dealing with sensitive controllers (though both adjustments can, of course, be combined at will). It is meant to reduce straight line twitching and increase precision at fast corners without compromising the turning range at slow corners (as lowering the lock would) by reducing the steering lock and sensitivity at high speeds.

The precise nature of the reduction is not as immediately obvious as that of the low sensitivity zone, so I suggest a little experiment that will help grasping it. Set the speed-dependent reduction to a high value (50% or above), disable the steering help if it is turned on and get yourself to a long straight. Once there, start zigzagging across the track at 20mph. Try to turn the wheel by the same amount every time you swerve left or rightwards. Once you have found a rhythm, slowly accelerate up to 100mph as you continue to zigzag. You will then readily feel the steering response dropping off sharply somewhere around 60mph. That is the reduction kicking in. With it activated, the steering lock remains fairly close to the value you set it to up to about 30mph, and then it falls quickly until, around 100mph, it begins to stabilise at a lower value. But how much lower? The plot below uses a fairly accurate model to illustrate the reduction at various values of the setting, given a lock setting of 20 degrees.



The effect at higher percentages can be quite dramatic. For instance, raising the reduction from 80% to 100% will halve the lock at 130mph! That being so, it is not a good idea to set the reduction above 80% even with 20 degrees lock, as high speed cornering will become too difficult. Furthermore, when lowering the steering lock you should also lower the speed-dependent reduction to avoid limiting the turning range at high speeds unnecessarily. In fact, setting a lock somewhat below 20 degrees to reduce the need for strong speed-based reduction is possibly the best compromise for most tracks.

Here are a few more values to further illustrate the strength of the reduction:

    [*] As the speed grows, the reduction of the steering lock approaches (but never reaches) 90% of the percentage specified in the configuration -- for instance, 100% reduction will reduce the lock by almost 90% at top speed. This 90% factor was presumably introduced to keep the car drivable at very high speeds even using 100% reduction.

    [*] At 80mph, 76% of the maximum reduction (that is, 76% of 90% of the value of the setting, as explained above) will be applied. Other examples: 87% at 100mph, 92% at 120mph and 96% at 180mph.

    [*] A 22% reduction setting will, at very high speeds, change a 20 degrees lock into a 16 degrees one, thus roughly mimicking the range of steering lock values used by actual F1 cars (except, of course, that an F1 car wouldn't use both values in a single setup -- no active steering yet!). A 44% reduction setting will lead from 20 degrees to the default lock setting of 12 degrees.

Throttle

Throttle and brakes are much simpler -- not to mention far less troublesome -- to configure than steering. In both cases, the only interesting setting is a low sensitivity zone, which works exactly like the steering one. If you are using traction control, the low sensitivity setting of the throttle doesn't matter all that much. If pressed, I would suggest a relatively low value, perhaps even zero, but it largely boils down to personal preference. On the other hand, if you do not use traction control a significant low sensitivity zone can make avoiding wheelspin easier. 40% appears to be a reasonable value, at least for my analog sticks (it makes the sweet spot for accelerating in first gear fall in a comfortable position along the range of the stick).

Brakes

Given how important it is to avoid locking the brakes, a large low sensitivity zone for brakes should be quite useful, and that may well be the case for pedals and analog triggers. With the typical dual stick setup (throttle up and brakes down on the second stick), however, it is a good idea to be able to brake with a short and quick motion -- having to release the throttle and then move the stick in the opposite direction complicates things a lot. I am currently using a zone of only 25% with my Dual Shock controller, and probably would not feel at ease with anything higher.

Clutch

The analog clutch also has a low sensitivity zone setting. Beyond that, there is not much in the way of advice that I can add here. In fact, I was pleasantly surprised by the fact that setting up the clutch in a dual stick setup in a moderately usable way is at all possible! If you want to try it, I suggest assigning either upwards on the steering stick or outwards (that is, rightwards on the right stick and leftwards on the left stick) on the throttle/brakes stick. In either case, you will definitely want to, when calibrating the clutch, set the released clutch position somewhat far from the centre, so that you don't press it by accident.

Dead zones

Grand Prix 4 has no dead zone settings. If you really must, you can introduce throttle and brake dead zones by miscalibrating your controller (see the section about the clutch above); as for steering, the only way is by using external tools (or, under Linux/Wine, by bogging down in system settings). In any case, I do not believe there is much utility for dead zones in GP4 other than for dealing with severely malfunctioning controllers. There is no real reason to freely introduce a dead zone for a wheel, pedal or trigger. As for sticks, there is little point in having a dead zone for throttle and brake controls which share an axis (other, that is, than to make it easier to use an analog clutch on the other axis!). The only reasonable use case, then, is a dead zone at the centre of a steering stick to make centring the wheel easier, thus helping with straight line twitching. Even in such a scenario, and unless your have a stick that strays off-centre by large amounts, only a very small dead zone is needed, 1% or 2% of the range being probably enough -- to me, anything higher than that feels awkward, even with my well-worn controller and its somewhat wonky sticks.

Miscellaneous advice

    [*] If you have just started playing with an analog gamepad and find steering with a stick overwhelming, use a setup with large low sensitivity zones and high speed-based reduction. I used 93% zone, 20 degrees lock and 80% reduction for quite a while, though looking back at it I would probably have used somewhat smaller lock and reduction (perhaps 16 degrees and 72% reduction). Once you get used to the controller and learn to handle the sticks gently you will be able to weaken the speed reduction and generally adjust the settings according to your tastes.

    [*] When calibrating analog sticks, keep an eye on the numbers displayed to ensure the steering is as well centred as possible. Such precision is not as necessary with the other controls, but at least take care to avoid having overlapping ranges of throttle and brakes.

    [*] Driving tip for analog sticks #1: To brake, release the throttle by momentarily taking your thumb off the stick, letting it return to centre and immediately pushing it downwards, as opposed to moving from throttle to brakes in a continuous motion with the thumb always on the stick. The motivation for this technique is the almost complete lack of tactile feedback on analog sticks, which makes going quickly from full throttle to controlled braking incredibly error prone. That is truly key -- for one, I would probably have given up driving with sticks if I had not realised that.

    [*] Driving tip for analog sticks #2: Keep your thumb on the steering stick resting directly atop the stick surface, as opposed to sloppily lying half-sideways on the edge of the stick. That way, keeping the steering centred, or mildly correcting it when it veers off-centre, becomes quite a bit easier.

Appendix

If you feel like playing with the models I used for the plots of low sensitivity zones and speed-dependent reductions, here are the formulas.

Steering with low sensitivity zone model (power law with exponent 1.5)

Parameters: m (maximum lock, in degrees), t (low sensitivity zone threshold, from 0 to 1 -- a 50% in-game setting corresponds to t = 0.5).

Variables: x (steering input, from 0 to 1).

Functions: f(x) (steering output within the low sensitivity zone -- that is, for x <= t -- in degrees), g(x) (steering output past the low sensitivity zone -- that is, x >= t -- in degrees).

f(x) = (2 * m / ((3 - t) * t ^ 0.5)) * x ^ 1.5
g(x) = (m / (3 - t)) * (3 * x - t)

If your plotting program doesn't support piecewise function definitions you can feed it the following expression instead, which hideously combines f(x) and g(x) in the correct way. (Note that the function sgn might be called signum, sign, etc. by your program.)

0.5 * ((sgn(t - x) + 1) * (2 * m /((3 - t) * (t ^ 0.5 - (sgn(t) - 1) / 2.0))) * x ^ 1.5 - (sgn(t - x) - 1) * ((m / (3 - t)) * (3 * x - t)))

The low sensitivity models for throttle, brakes and clutch are presumably the same (I have not actually checked the values in those cases), except that m becomes the maximum output of the relevant control.

Steering with speed-dependent reduction model (arctangent sigmoid)

Parameters: m (maximum lock without reduction -- that is, the value defined in the options menu -- in degrees), k (reduction strength as defined in the options menu, from 0 to 1 -- a 50% setting corresponds to k = 0.5).

Variables: v (speed, in mph).

Functions: h(v) (reduced steering lock -- that is, the effective maximum steering output -- in degrees).

h(v) = m * (1 - 0.9 * k * (0.5 + arctan((v - 64)/15) / pi))



Edited 3 time(s). Last edit at 08/02/2016 03:39AM by Dpld.
Re: Analog controller configuration guide
Date: July 30, 2016 10:32PM
Posted by: phantaman
excellent initiative and tutorial. always ask me if there was a method and a tool (?) to create a .con file from the beginning. congratulations (Y)

----signature--------------------------------------------------------

RELEASE => Physics (under FIA Technical Regulations)
MagicDatas? Setups? Pit Stop Strategies? Track Specific Performances? Up2Date GP?
Power Torque Curve? Where's this stuff? All download is available at ..
Re: Analog controller configuration guide
Date: July 31, 2016 01:01AM
Posted by: Dpld
phantaman Wrote:
-------------------------------------------------------
> excellent initiative and tutorial. always ask me
> if there was a method and a tool (?) to create a
> .con file from the beginning. congratulations (Y)


Thank you. It does feel like it should be possible to work out a method, as if the configuration was part of the car setup (something like 1. Disable speed reduction and set maximum lock 2. Drive a lap and check the telemetry 3. Find out the corner where maximum steer is needed and set the maximum lock to that, etc.).
Sorry, only registered users may post in this forum.

Click here to login

Maintainer: mortal, stephan | Design: stephan, Lo2k | Moderatoren: mortal, TomMK, Noog, stephan | Downloads: Lo2k | Supported by: Atlassian Experts Berlin | Forum Rules | Policy