X2 Joystick & Mouse wish list - FOUND SOME FIXES

General discussions about the games by Egosoft including X-BTF, XT, X², X³: Reunion, X³: Terran Conflict and X³: Albion Prelude.

Moderator: Moderators for English X Forum

User avatar
Reven
Posts: 1133
Joined: Thu, 10. Jul 03, 07:42
x4

X2 Joystick & Mouse wish list - FOUND SOME FIXES

Post by Reven »

Well, finally am playing the game. I have not experienced the joystick woes that some people have, but I can understand some of it. Also, I find the mouse control abysmal. Very difficult to get fine control. Here is my controller wish list. I know that much of this has been stated before, but many of the posts have been low on detailed and descriptive content and high on complaints. In fairness to the posters, many of them will not have had the math or programming background to be able to explain the problem - they would just have known they didn't like it. I will attempt to give a detailed analysis of what the issues are that are in the game, why the issues are, and a suggested fix.

[Edit] As new or updated information is posted to the thread, I will edit the original post with this information to save folks from having to dig it out of the whole thread. Items that now have a workwound are in green.
  • Problem: The game always has a Joystick dead zone.
    Description: Virtually all good joysticks come with software that will allow you to adjust the deadzone on a per-game basis. That, and you can also adjust the sensitivity curve. Having a forced dead-zone in the game makes it difficult to use this software to full advantage. Also, a forced dead-zone in the game reduces the joystick's range. This is because a joystick's range is from 0-255. A 5% dead zone elimites 13 numbers from this in the middle, causing the game to ignore from approximately 121 to 134. However, joystick software dead-zones simply cause the controlling software to ignore 5% of the motion in the middle of the joystick and will send a "126" to the game only when the motion passes the dead-zone. This way, you have a dead-zone in your joystick, but you still have the full 255 levels. In other terms, setting a dead-zone in X2 reduces the the joystick's number of positions same percent as the dead-zone, whereas the joystick software's deadzone makes no reduction the number of possible positions.
    Solution: Add a "No dead zone" setting that eliminates the dead-zone from the game.
    Workaround: Using a registry editor, go to HKLM/Software/EgoSoftware/X2 and edit the key "InputJoyDeadZone" to zero. This will eliminate the dead zone from the joystick (and mouse).
  • Problem: There is a "dead-zone" for mouse control.
    Description: There is no real dead-zone for the mouse, but there is a sort of "dead-rate". Any mouse movements under a certain speed will be ignored. This combined with the ship's movement ceasing rapidly if the mouse movement drops below a certain amount causes a jerky screen movement. It is akin to a coefficient of static and dynamic friction. They can work together to cause vibrations in the motion. This is unavoidable in certain circumstances - no matter what is said by beta-testers who claim there is no problem with mouse control. This jerkiness is a law of physics. It is the same effect as rubbing your finger on a clean plate and hearing it squeak. In slow motion, this is what happens with the mouse: You move it to make the ship turn. The ship does not start turning until you move the mouse a certain speed. But, this speed you need to move the mouse to make the ship start turning may cause the ship to turn faster than you wish. So your brain, seeing this, slows down the mouse. Slowing down the mouse just a little bit too much drops the motion of the mouse below the game's "snap-to-zero-turning" point, and the ship stops all together. At which point, your brain speeds up your hand on the mouse, and it begins again.
    Solution: Eliminate the need to move the mouse a certain speed to make the ship start turning. There is no need for this "dead-rate" as there is some need for a "dead-zone" in a joystick.
    Workaround: Using a registry editor, go to HKLM/Software/EgoSoftware/X2 and edit the key "InputJoyDeadZone" to zero. This will eliminate the dead zone from the joystick (and mouse).
  • Problem: The ship's "snap-to-zero" turning is calculated independantly for yaw and pitch.
    Description: The ship will snap it's horizontal and vertical turning motion to zero indepandantly. This problem is especially annoying with mouse movement. When moving in an arc that, say, has mostly horizontal with a small vertical component, when the vertical component drops below a certain level, the vertical ship motion will snap to zero, leaving the ship turning on the horizontal plane only. Then, as the vertical component rises above the vertical "dead-zone" motion threshold, you suddenly get a LOT of vertical motion. It is thus impossible (not just difficult) to get smooth turn elipses in the game if the turn elipse is elongated along its major axis by a certain amount. This makes tracking enemy ships along certain maneuvers impossible, and the brain must work in a counter-intuitive way by realizing in advance that the turn elipse will cause the ship to stop yawing or pitching and to adjust this turn elipse preemtively to counter this effect.
    Solution: If there was one global "snap-to-zero-motion" when the global mouse movement vector dropped below a certain threshold, then this would eliminate this problem. Thus, the independant yaw/pitch snap-to-zero turning should be eliminated.
  • Problem: No mouse sensitivity adjustments.
    Description: None needed. :)
    Solution: Add horizontal and vertical mouse sensitivity adjustments.
  • Problem: The rudder "roll" control is too fast.
    Description: It is impossible to get fine roll control because the roll speed is way too fast. I finally locked my joystick's twist-rudder in position and began using the "tap the keyboard roll key" method for fine roll adjustments. It would be beneficial to have a variable-speed roll where the initial speed is much lower. I would suggest that the current initial speed be moved to the fastest speed, and the initial speed be very low - on the order of a degree or two per second.
    Solution: Make roll speed variable for those with joystick rudder controls.
  • Problem: Throttle reset independant of joystick throttle control.
    Description: At certain times the ship's velocity is reset downwards, but so is the ship's "set speed". This happens regardless of what the joystick's throttle is set at. This happens when going through a jump gate, when entering a base. This requires the player to "jiggle" the throttle control on the joystick downwards a little then up again before the game will recognize the throttle setting. Oddly enough, the one time this doesn't happen when you would want it to is when manually docking inside a base - when entering the docking "slip". If you do this manually, as soon as you exit from the trading extension, the game recognizes your throttle set position and your ship continues to move forward - and you then have to quickly stop it.
    Solution: Have the joystick throttle setting applied when a ship leaves a base, and when a ship goes through a jump gate.
  • Problem: Turning off "force feedback" in the joystick settings also turns off the joystick auto-centering.
    Description: None needed.
    Solution: Have force feedback and joystick autocentering as two separate settings.
Most, if not all, of these are rather simple adjustments in the controller physics, but would make the game much more playable. Additionally, it would be trivial to make these into user-preferences that can be turned on or off for those (few) who would prefer the controls left just as they are once they have tried the suggested changes.

[Edits: Modified roll entry. Added throttle and force feedback entries. Added workarounds for joystick dead zone and mouse dead "rate"]
Last edited by Reven on Sat, 6. Dec 03, 10:35, edited 3 times in total.
You were warned... pirates will be hunted down like vermin.

Ex Turbo Modestum
Quboid
Posts: 45
Joined: Thu, 18. Sep 03, 15:03
x2

Post by Quboid »

Interesting. One thing I did notice is that there is variable rudder control - my friend's system uses the stick twist for roll and there was definately a range of speeds. I did find this way too sensitive but there was variation. I'd like to see seperate deadzones so I can set about 60% (really!) for that and 10% for the other axes.
User avatar
Reven
Posts: 1133
Joined: Thu, 10. Jul 03, 07:42
x4

Post by Reven »

I'll do some investigaing with this - I could detect no variation, but maybe my eyes aren't "sensitive enough". I'll play with Thrustmapper and change the rudder's curve to check this out.
You were warned... pirates will be hunted down like vermin.

Ex Turbo Modestum
Tacu
Posts: 2
Joined: Sun, 30. Nov 03, 02:25

Post by Tacu »

An option to be able to turn off joystick's force feedback without loosing the Centering Spring force. Now X2 disables the Centering Spring no matter what kind of settings I use...
0wen
Posts: 14
Joined: Mon, 24. Nov 03, 23:13

Post by 0wen »

Tacu wrote:An option to be able to turn off joystick's force feedback without loosing the Centering Spring force. Now X2 disables the Centering Spring no matter what kind of settings I use...
That is because in space, you must fly with a limp stick. Far too many games seems to suffer from this limp stick syndrome and it makes me wish that I did not have a force feedback stick at times.
mrjam
Posts: 15
Joined: Tue, 11. Mar 03, 14:51
x3

Re: X2 Joystick & Mouse wish list

Post by mrjam »

Reven wrote:Well, finally am playing the game. I have not experienced the joystick woes that some people have, but I can understand some of it. Also, I find the mouse control abysmal. Very difficult to get fine control. Here is my controller wish list. I know that much of this has been stated before, but many of the posts have been low on detailed and descriptive content and high on complaints. In fairness to the posters, many of them will not have had the math or programming background to be able to explain the problem - they would just have known they didn't like it. I will attempt to give a detailed analysis of what the issues are that are in the game, why the issues are, and a suggested fix.
  • Problem: The game always has a Joystick dead zone.
    Description: Virtually all good joysticks come with software that will allow you to adjust the deadzone on a per-game basis. That, and you can also adjust the sensitivity curve. Having a forced dead-zone in the game makes it difficult to use this software to full advantage. Also, a forced dead-zone in the game reduces the joystick's range. This is because a joystick's range is from 0-255. A 5% dead zone elimites 13 numbers from this in the middle, causing the game to ignore from approximately 121 to 134. However, joystick software dead-zones simply cause the controlling software to ignore 5% of the motion in the middle of the joystick and will send a "126" to the game only when the motion passes the dead-zone. This way, you have a dead-zone in your joystick, but you still have the full 255 levels. In other terms, setting a dead-zone in X2 reduces the the joystick's number of positions same percent as the dead-zone, whereas the joystick software's deadzone makes no reduction the number of possible positions.
    Solution: Add a "No dead zone" setting that eliminates the dead-zone from the game's
  • Problem: There is a "dead-zone" for mouse control.
    Description: There is no real dead-zone for the mouse, but there is a sort of "dead-rate". Any mouse movements under a certain speed will be ignored. This combined with the ship's movement ceasing rapidly if the mouse movement drops below a certain amount causes a jerky screen movement. It is akin to a coefficient of static and dynamic friction. They can work together to cause vibrations in the motion. This is unavoidable in certain circumstances - no matter what is said by beta-testers who claim there is no problem with mouse control. This jerkiness is a law of physics. It is the same effect as rubbing your finger on a clean plate and hearing it squeak. In slow motion, this is what happens with the mouse: You move it to make the ship turn. The ship does not start turning until you move the mouse a certain speed. But, this speed you need to move the mouse to make the ship start turning may cause the ship to turn faster than you wish. So your brain, seeing this, slows down the mouse. Slowing down the mouse just a little bit too much drops the motion of the mouse below the game's "snap-to-zero-turning" point, and the ship stops all together. At which point, your brain speeds up your hand on the mouse, and it begins again.
    Solution: Eliminate the need to move the mouse a certain speed to make the ship start turning. There is no need for this "dead-rate" as there is some need for a "dead-zone" in a joystick.
  • Problem: The ship's "snap-to-zero" turning is calculated independantly for yaw and pitch.
    Description: The ship will snap it's horizontal and vertical turning motion to zero indepandantly. This problem is especially annoying with mouse movement. When moving in an arc that, say, has mostly horizontal with a small vertical component, when the vertical component drops below a certain level, the vertical ship motion will snap to zero, leaving the ship turning on the horizontal plane only. Then, as the vertical component rises above the vertical "dead-zone" motion threshold, you suddenly get a LOT of vertical motion. It is thus impossible (not just difficult) to get smooth turn elipses in the game if the turn elipse is elongated along its major axis by a certain amount. This makes tracking enemy ships along certain maneuvers impossible, and the brain must work in a counter-intuitive way by realizing in advance that the turn elipse will cause the ship to stop yawing or pitching and to adjust this turn elipse preemtively to counter this effect.
    Solution: If there was one global "snap-to-zero-motion" when the global mouse movement vector dropped below a certain threshold, then this would eliminate this problem. Thus, the independant yaw/pitch snap-to-zero turning should be eliminated.
  • Problem: No mouse sensitivity adjustments.
    Description: None needed. :)
    Solution: Add horizontal and vertical mouse sensitivity adjustments.
  • Problem: The rudder "roll" control has only one speed.
    Description: It is impossible to get fine roll control because the roll speed is fixed, and very fast. I finally locked my joystick's twist-rudder in position and began using the "tap the keyboard roll key" method for fine roll adjustments. It would be beneficial to have a variable-speed roll.
    Solution: Make roll speed variable for those with joystick rudder controls.
Most, if not all, of these are rather simple adjustments in the controller physics, but would make the game much more playable. Additionally, it would be trivial to make these into user-preferences that can be turned on or off for those (few) who would prefer the controls left just as they are once they have tried the suggested changes.
Great post!!!
User avatar
alex hall
Posts: 138
Joined: Sat, 15. Nov 03, 13:12
x3tc

Post by alex hall »

Will just add, a good post, if everyone can post issues/thoughts in this sort of manner it makes it much easier for Egosoft and the other readers.

However if you have the game, don't forget to register it and post in the technical forums (as well)

regards

Alex
User avatar
Reven
Posts: 1133
Joined: Thu, 10. Jul 03, 07:42
x4

Post by Reven »

Quboid wrote:Interesting. One thing I did notice is that there is variable rudder control - my friend's system uses the stick twist for roll and there was definately a range of speeds. I did find this way too sensitive but there was variation. I'd like to see seperate deadzones so I can set about 60% (really!) for that and 10% for the other axes.
I have checked this out and yes, you are right. I made the rudder an exponential curve and yes, just as it passes the dead zone it is about half the speed as when it is at full.

Also, I have another issue that I remembered as I last played, to do with the throttle control.

Rather than letting this thread grow and forcing people to go through every post in order to look at added issues, I am going to edit the first post with new or updated entries. Added this time around are enties for the rudder, and force feedback. The roll entry has been edited.
You were warned... pirates will be hunted down like vermin.

Ex Turbo Modestum
Eleazar
Posts: 1
Joined: Wed, 3. Dec 03, 21:03

Post by Eleazar »

Thank you Reven for explaining this concept thoroughly, hopefully the devlepers will make the adjustments. It is unfortunate that there is no way to edit these things ourselves. Heck knows it would make things a lot easier on the devlopers. I can say I experienced all the problems exactly as you explained them. I would be happy if they could just fix the problem you quoted:

"Problem: The ship's "snap-to-zero" turning is calculated independantly for yaw and pitch.
Description: The ship will snap it's horizontal and vertical turning motion to zero indepandantly. This problem is especially annoying with mouse movement. When moving in an arc that, say, has mostly horizontal with a small vertical component, when the vertical component drops below a certain level, the vertical ship motion will snap to zero, leaving the ship turning on the horizontal plane only. Then, as the vertical component rises above the vertical "dead-zone" motion threshold, you suddenly get a LOT of vertical motion. It is thus impossible (not just difficult) to get smooth turn elipses in the game if the turn elipse is elongated along its major axis by a certain amount. This makes tracking enemy ships along certain maneuvers impossible, and the brain must work in a counter-intuitive way by realizing in advance that the turn elipse will cause the ship to stop yawing or pitching and to adjust this turn elipse preemtively to counter this effect.
Solution: If there was one global "snap-to-zero-motion" when the global mouse movement vector dropped below a certain threshold, then this would eliminate this problem. Thus, the independant yaw/pitch snap-to-zero turning should be eliminated."

There is one things you seem to have forgotten. This same thing happens with the joystick, whether it be analog or digital. I tested it out on both. However it is absolutely terrible on an analog and a little bit better on a digital. It is most noticeable when the joystick is moved all the way to higher input values like the upper 100's to 255. I will explain it in my theory as this: The reason why it is not noticeable at lower inputs is because I think it has an exponential increase. As the joystick is moved closer and closer to its input maximum the amount of excess input is added exponentially. So small movements result in accurate and precise movements, but as you make greater movements and the ship moves at a faster speed. The excess accumulates and it results in a greater movement than warranted. Up until now you have claimed that they are all problems relating to the way the game implements the control mechanics. However, I believe it could be due to the inertia values or forces acting upon the ship. Meaning, the ship has excess motion because there is not enough force (maybe friction) to stop the motion of the ship. So the only reason why the ship stops is due to the decrease of the kinetic energy transfered to potential. I must state this is only a theory, but quit possible. It would be interesting to be able to monitor the game mechanics to find the cause. I only came to this conclusion because the computer seems to suffer to this as well. And if you notice in larger ships with less range of motion they do not suffer from it as much, which directly corrolates to what I have stated. Heaver ships might build up momentum but to reach that higher threshold they must have a greater energy to move. I can only hope you are correct in saying they are only control issues. Adjusting the physics, could end up being more tedious.

Thanks again Reven, I look forward to seeing the contribrutions you will make to the X2 forums.
User avatar
Torracat
Posts: 40
Joined: Wed, 3. Dec 03, 22:35
x3

I dont understand...

Post by Torracat »

ummm, Revan.
So, did you find a solution to the rudder speed? I really need it. otherwise I probobly will not be playing the game. the controls are far too quirky.

Starlancer was the last game I played that got the ships flying physics down. I have been waiting for another game like that for some time. X2 is SOOOOOO close. it appears that these changes are not much to ask for. I wonder if we will see them soon...
I smell something...
User avatar
Reven
Posts: 1133
Joined: Thu, 10. Jul 03, 07:42
x4

Post by Reven »

Torracat: There is no solution to the rudder speed issue that I know of. By "flattening" out my joystick response curve as much as possible, I was able to tell that right after the 5% game limited dead-zone there that rudder "rolling" is indeed slower than rolling at full rudder extension. However, the slowest "roll" speed is much too fast for me to be able to use efectively, so I lock my joystick's "twist rudder" in place when I play X2.

In other news, I have two more issues that I have discovered. Before I add them to the main list, I'd like them confirmed.
  1. First, there seems to be no missile launch button for the Joystick. The "missile" key that you can configure is a missile SELECT, not a missile LAUNCH. I think this is a simple bug, as I cannot determine for the life of me why you would want to only select your missile with the joystick, and not fire it.
  2. There could be some anti-jitter worked in to thje joystick throttle. I don't know if it's just my joystick, but many times when it is no full on or full off, it jitters slightly between two values. This causes my speed to fluctuate which, because of the way the game is coded, makes the ship "shake" continually.
Can anyone verify these - especially the second?

Thanks.
You were warned... pirates will be hunted down like vermin.

Ex Turbo Modestum
Dierte
Posts: 27
Joined: Fri, 5. Dec 03, 00:48
x3

Post by Dierte »

I can verify that the throttle does jump back and forth between values and causes the ship to shake. Also that the missile button on the joystick does not fire the missle but instead selects missile.
I hope to see more of your informative posts Reven. I would also like to say that regardless of these bugs or technical issues, that Egosoft has made a wonderful game. And that constructive posts like Reven's will make this game better.
kottege
Posts: 61
Joined: Wed, 3. Dec 03, 15:09
x2

Post by kottege »

Dierte wrote:I can verify that the throttle does jump back and forth between values and causes the ship to shake. Also that the missile button on the joystick does not fire the missle but instead selects missile.
I hope to see more of your informative posts Reven. I would also like to say that regardless of these bugs or technical issues, that Egosoft has made a wonderful game. And that constructive posts like Reven's will make this game better.
read the manual :) you have to press and HOLD the missile button to fire. pressing on it quickly cycle through ML's pressing holding and then releasing fires them. I do think it's a very annoying way of doing it, but it's not a bug, it is the control scheme
User avatar
Reven
Posts: 1133
Joined: Thu, 10. Jul 03, 07:42
x4

Post by Reven »

The old "RYFM" rule. :oops:

Actually, I just mapped my joystick button 2 to the "L" key with Thrustmapper. I love Thrustmaster's software. :)
You were warned... pirates will be hunted down like vermin.

Ex Turbo Modestum
User avatar
Reven
Posts: 1133
Joined: Thu, 10. Jul 03, 07:42
x4

Post by Reven »

I have found a workaround for two issues - really they are the same issue.

Seeing that the dead-zone adjustment was just a slider, I assumed that the game could handle arbitrary dead-zones, and that just the slider was limited so that it would not go below zero. Adjusting the registry entry where this value is stored confirmed this - by editing the registry, you can set the dead-zone to zero. Incidentally, this will probably work for X and XT too.

Go to HKEY_LOCAL_MACHINE/Software/EgoSoftware and edit the key "InputJoyDeadzone". Set it to zero, and voila, no more dead zone. This also will change the mouse's "dead rate" to zero as well, making it so that you don't have to move your mouse past a certain speed to get the ship to respond.

You can now use software like the Thrustmapper software that comes with Thrustmaster joysticks to edit your dead-zone and control response curves to your heart's content.
You were warned... pirates will be hunted down like vermin.

Ex Turbo Modestum
mrjam
Posts: 15
Joined: Tue, 11. Mar 03, 14:51
x3

Post by mrjam »

Reven wrote:I have found a workaround for two issues - really they are the same issue.

Seeing that the dead-zone adjustment was just a slider, I assumed that the game could handle arbitrary dead-zones, and that just the slider was limited so that it would not go below zero. Adjusting the registry entry where this value is stored confirmed this - by editing the registry, you can set the dead-zone to zero. Incidentally, this will probably work for X and XT too.

Go to HKEY_LOCAL_MACHINE/Software/EgoSoftware and edit the key "InputJoyDeadzone". Set it to zero, and voila, no more dead zone. This also will change the mouse's "dead rate" to zero as well, making it so that you don't have to move your mouse past a certain speed to get the ship to respond.

You can now use software like the Thrustmapper software that comes with Thrustmaster joysticks to edit your dead-zone and control response curves to your heart's content.

Great!!! :twisted:

The mouse control is perfect now :D

And the game is perfect now :wink:
Visionism
Posts: 6
Joined: Sun, 7. Dec 03, 01:00

Post by Visionism »

Quick tip for people whose joysticks don't have response curve adjustment. Download CTFJ (Center The ...uh..Freakin' Joystick) by Bob Church from http://www.stickworks.com I used to use it to adjust curves on my Saitek X36 and it works wonders. It works with any DirectInput stick (Which is all of them) It also allows you to set deadzones for each axis separately.
JrStonewall
Posts: 232
Joined: Thu, 17. Jul 03, 01:25
x2

Post by JrStonewall »

Visionism wrote:Quick tip for people whose joysticks don't have response curve adjustment. Download CTFJ (Center The ...uh..Freakin' Joystick) by Bob Church from http://www.stickworks.com I used to use it to adjust curves on my Saitek X36 and it works wonders. It works with any DirectInput stick (Which is all of them) It also allows you to set deadzones for each axis separately.
Thats odd. On the download page it says CTFJ is only for CH products as it runs through the CH configuration thingy or whatever
Dierte
Posts: 27
Joined: Fri, 5. Dec 03, 00:48
x3

Post by Dierte »

have you found a way to reduce the roll sensativity? I have gotten used to the 5% deadzone for my joystick but the roll is still a little quircky.
Visionism
Posts: 6
Joined: Sun, 7. Dec 03, 01:00

Post by Visionism »

Nope, the application for use with CH sticks is CMFS. The Application you're looking for is CTFJ. You'll find the file CTFJV320.zip about halfway down the list of files on the files page.

Return to “X Trilogy Universe”