[Split] Joystick configurator discussion

General discussion for players of Oolite.

Moderators: another_commander, winston

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

[Split] Joystick configurator discussion

Post by Cody »

Re the joystick config: I'm liking the deadzone adjustment a lot - it's something I've needed for ages.
I'm still experimenting with the other settings, as I ain't too clear what they do - as yet, anyway.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
kanthoney
Commodore
Commodore
Posts: 281
Joined: Thu Nov 07, 2013 10:21 pm

Re: Progress

Post by kanthoney »

Cody wrote:
I'm still experimenting with the other settings, as I ain't too clear what they do - as yet, anyway.
If it helps, the "parameter" setting (couldn't think what to call it!) adjusts how twitchy the joystick is at the centre (higher means less twitchy), and the "power" setting makes the parameter setting work over a bigger range of joystick movement.

Or you can set the whole profile yourself using the spline editor thing. Dizzy gave me the idea for that - blame him :D
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Progress

Post by Cody »

kanthoney wrote:
... the "parameter" setting (couldn't think what to call it!) adjusts how twitchy the joystick is at the centre (higher means less twitchy), and the "power" setting makes the parameter setting work over a bigger range of joystick movement.
Thanks, that helps. I'll let Diz explain the spline thingy (if I can't work it out myself, that is).

Are any of these settings affected by the JoystickNonlinear setting in Defaults, btw?
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
kanthoney
Commodore
Commodore
Posts: 281
Joined: Thu Nov 07, 2013 10:21 pm

Re: Progress

Post by kanthoney »

Cody wrote:
Are any of these settings affected by the JoystickNonlinear setting in Defaults, btw?
No, it doesn't look at that any more, because each axis has its own settings. This setting is now the "parameter" setting in the config. If you set that and set the power to 3 you'll get back to how it was.
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Progress

Post by Diziet Sma »

Cody wrote:
I'm still experimenting with the other settings, as I ain't too clear what they do - as yet, anyway.
It would probably be helpful if the axes on the graph were labelled..

Don't focus so much on the values of the parameters, as on the shape of the curve they produce.. a straight line between the left and right end-points represents a strictly linear response.. a curve indicates the degree and region of non-linearity..

Image

The horizontal graph axis indicates the amount of 'stick deflection from centre.. the further to the right, the more the stick is deflected from centre. "Deflection" might be a good name for this axis.

The vertical graph axis indicates how much the rate of change in pitch/roll/yaw will be affected by that amount of stick deflection. The higher the line at a given point, the faster the ship's motion will be.. "Responsiveness" (or perhaps "Sensitivity") might be a good name for this axis.

In the above picture, the curve is set such that until about 50% deflection is reached, the rate of roll will increase quite gradually, as the curve is almost flat. This produces very fine control, akin to 'precision mode'.. As the stick is moved even further, the rate of roll increases more rapidly, and smaller amounts of movement will produce a progressively greater amount of roll, or "response", as the curve becomes increasingly linear..

The spline feature allows for the creation of more complex deflection/response curve shapes than the simple mathematical formula of the standard curve can produce.. one could, for example, have responsiveness taper off as the 'stick approaches full deflection.

Hopefully I'm making sense.. feel free to ask questions or have something clarified..
Last edited by Diziet Sma on Tue Feb 04, 2014 9:36 am, edited 8 times in total.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Progress

Post by Cody »

I'm beginning to see the light... thanks Diz! <shuffles off, singing 'The light at the end of the tunnel, is the light of an oncoming train!'>
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Progress

Post by Diziet Sma »

Here's a couple of examples I just whipped up..

Firstly, this curve will give excellent fine control when moving the 'stick a small way from centre, then more normal response as the stick is deflected further.. finally, as the stick approaches full deflection, responsiveness tapers off, allowing fine precision control once more..

Image


Secondly, this is a more extreme, (and far from practical) illustration of what splines can allow you to do. Up to about 15% deflection from centre, response rises rapidly.. this would be sort of the opposite of a 'precision mode'.. (you could even call it "wildly inaccurate mode") small movements would make the ship quite twitchy, and lining up on a target would be almost impossible. As the 'stick is deflected further, responsiveness not only tapers off, but goes negative, so that in the 40-60% deflection range, fine control would be quite good, although I suspect it would feel a little weird as it passed the "dip". It would essentially be a non-responsive "flat spot". Beyond this point, responsiveness is fairly linear, until we reach about 90% deflection, whereupon responsiveness tapers off, allowing for fine, precise control up to the full-deflection point. Needless to say, with a roll-curve like this, docking would be a nightmare, if not impossible.. :twisted: :lol:

Image

Finally, don't forget that the pitch, roll and yaw axes each have their own response curve, thus allowing you to tailor the way the ship responds to your inputs, exactly the way you want. This could, for example, help to at least partially balance out a ship with widely differing pitch and roll rates, to something that feels more natural for the pilot.
Last edited by Diziet Sma on Mon Feb 03, 2014 5:18 pm, edited 4 times in total.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Progress

Post by Cody »

Excellent! [twangin' guitars] That first curve is almost exactly what I was about to set-up for testing - cool!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Progress

Post by Diziet Sma »

another_commander wrote:
Since, as you may be aware, most dev team members do not use joysticks, we will have to rely on your feedback for this one. Please let us know how it works for you, if there are things that could/should be done better or differently and don't forget to include in your reports the type of joystick you use.
Ok.. here are my observations and recommendations to date. As requested, my 'stick is a Saitek Cyborg Evo (USB version).

Firstly, a bug report.. it appears that the deadzone setting is stored separately for both the Standard and Spline profiles. Whilst in Spline profile mode, I set the deadzone to zero. Upon switching back to Standard profile mode, I found the deadzone back at 0.0500. Switching back and forth between them several times confirmed that each profile mode appears to store its' own deadzone setting. This is undesirable behaviour. Only one deadzone setting should be stored for each axis, regardless of which profile type is active.

Image
Image


Recommendations:

1.
kanthoney wrote:
If it helps, the "parameter" setting (couldn't think what to call it!) adjusts how twitchy the joystick is at the centre (higher means less twitchy), and the "power" setting makes the parameter setting work over a bigger range of joystick movement.
Having played with things for a while, I see the naming dilemma.. the interaction between the two parameters is quite interesting to see, particularly at the range extremes.. however, having experimented with the interactions for some time and given it considerable thought, I'd recommend re-naming "Power" to "Non-linearity" and "Parameter" to "Range". I'd also recommend getting rid of the decimal point on the value displayed for Parameter(Range) so that instead of 0-1.00 it simply reads from 0-100.

2. As I mentioned above, it would be very helpful if the X and Y axes of the graph were labelled. I'd suggest "Stick Deflection" for the X-axis, and "Response" for the Y-axis. Some graduation marks (say, every 10 or 25%, for example) along the axes, or better yet, as a grid on the violet background, would be a nice touch also, if possible.

3. The rectangular shape of the profile graph makes it tricky to fine-tune the most crucial small-deflection area at the lower-left of the graph, owing to the way the height of the Y-axis is only 30% of the length of the X-axis. For instance, in the following picture, I'm sure the flattened line on the lower-left area is not actually so bad as displayed, but due to the mismatched axes, it's hard to be sure of exactly how the curve really looks.

Image


I've now examined the profile editors for several other games, and it seems to me that having both axes the same length (i.e. a square graph) works best. Using cut and paste, I've made a couple of quick'n'nasty mock-ups of possible alternatives.. although the first picture would be better than the current arrangement, my real preference would be for something more like the second picture. (sorry, I've just realised that I forgot to label the axes while I was at it)

Better:
Image

Ideal:
Image
Not shown - in the second picture, when in Spline profile mode, I'd suggest putting the purple Click and Drag to set control points. Select and <Del> to delete points. text just below the red "Joystick Profile" text at the top.


Wish List:

It would be very helpful if the player could test the effect of their settings whilst in the profile editor, rather than having to go back and forth between game and editor.. possibly the unused space in the bottom-left area (just above the "Back" option) of the square graph mock-up above could be used for this purpose. Something along the lines of the gadget in the lower-left of the profile editor in the following picture might fit the bill, or perhaps someone can think of an even simpler means of displaying the effects on the 'stick motion.


Image

Edit: Thinking on it a little more, given that we are really only talking about one axis at a time, a simple bar with a movable line on it to indicate the 'stick position along the axis might do the job.


And finally.. a huge THANK YOU!! to everyone involved in making this happen.. it's already a vast improvement over what we have had until now, and I wish I could buy you all a beer. 8)
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
User avatar
kanthoney
Commodore
Commodore
Posts: 281
Joined: Thu Nov 07, 2013 10:21 pm

Re: Progress

Post by kanthoney »

Diziet Sma wrote:
a huge THANK YOU!! to everyone involved in making this happen
You're welcome!

I submitted a bugfix last night (I'd harcoded the messages instead of referencing them in descriptions.plist, which was Naughty) and took the opportunity to rename the settings - I chose "Sensitivity" and "Range", so we agree on one of them!

The problem with putting the graph off to the side is that you get weird interactions with the gui (which is why the graph's down there in the first place). I can't remember exactly what the problems were, but it was something like if you clicked on a point on the graph that was opposite a gui row, it also tried to select that row. So without rewritng lots of existing gui code, I can't move the graph.

I can look at the other stuff though, and the deadzone problem somebody mentioned somewhere else.
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Progress

Post by Diziet Sma »

kanthoney wrote:
The problem with putting the graph off to the side is that you get weird interactions with the gui (which is why the graph's down there in the first place). I can't remember exactly what the problems were, but it was something like if you clicked on a point on the graph that was opposite a gui row, it also tried to select that row. So without rewritng lots of existing gui code, I can't move the graph.
Fair enough.. how about my first option then.. just extending the graph downwards as much as practical? Anything that makes it squarer than it currently is would be an improvement..
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6547
Joined: Wed Feb 28, 2007 7:54 am

Re: [Split] Joystick configurator discussion

Post by another_commander »

The joystick configuration discussion has been split off the Progress thread as per request.
User avatar
kanthoney
Commodore
Commodore
Posts: 281
Joined: Thu Nov 07, 2013 10:21 pm

Re: [Split] Joystick configurator discussion

Post by kanthoney »

How are we looking?

Image
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: [Split] Joystick configurator discussion

Post by Diziet Sma »

kanthoney wrote:
How are we looking?
Looking GOOD! 8) :D
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16055
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: [Split] Joystick configurator discussion

Post by Cody »

Yeah, looking good. Re the Defaults: the JoystickAxesDeadzone = 0.05; has no effect on my custom deadzone settings, and is no longer needed, yes?
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
Post Reply