Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable Accelerate Mouse by default #45

Closed
SolraBizna opened this issue Aug 16, 2016 · 12 comments
Closed

Disable Accelerate Mouse by default #45

SolraBizna opened this issue Aug 16, 2016 · 12 comments

Comments

@SolraBizna
Copy link
Contributor

It's been over ten years since I've heard anyone say they prefer Accelerate Mouse, and I just got through spending ten minutes helping another player fine-tune his mouse sensitivity only to find out that Accelerate Mouse was on and that was the only reason he was having problems.

It makes no sense that the absolutely crazy behavior of squaring the mouse input is still default. I'll grudgingly admit that some people still want this behavior, but if introducing several new people to the game over the last two weeks has taught me one thing, it's that nobody is born expecting it.

@Zetren
Copy link

Zetren commented Aug 20, 2016

Aleph One's mouse input is perhaps the worst I've ever felt in a video game. Mouse Acceleration, if anything, should be disabled by default, perhaps completely removed.

@treellama
Copy link
Member

If anything, this mis-named setting should be removed altogether in favor of the original behavior. Turning it off doesn't disable operating system mouse acceleration, or the fact that the mouse is actually controlling angular acceleration; it just disables the nonlinearity that tries to compensate for those two things.

As you can see from Zetren's comment, all the setting does is confuse users.

@treellama
Copy link
Member

treellama commented Jan 18, 2017

Ack you removed the wrong behavior--the original behavior is the correct one to keep!

@SolraBizna
Copy link
Contributor Author

No. The original behavior introduces additional nonlinearity. If the OS is providing accelerated mouse input, the original behavior accelerates it further. If the OS is providing linear mouse input (which, in recent versions that are using SDL2's raw mouse support, it does), then the original behavior accelerates it. Either way, nonlinear, whether the user wants it to be or not.

In addition, the original mouse acceleration logic is terrible. It's non-isotropic and it increases way too fast. Even people who want mouse acceleration in the game are probably going to want it to behave the way it does on their OS, not the crazy way Aleph One did it, and certainly not what happens when both behaviors being in effect.

Every single person I've ever talked to about Aleph One's mouse support hates the original behavior, except you. Eliminating behavior that a large portion of the community wants would be foolish. (For what it's worth, the fact that you want the awful old behavior is why we made a checkbox instead of removing the behavior entirely, way back then. I still support there being a choice, I just wanted the default to change.)

@SolraBizna
Copy link
Contributor Author

I'd like to make one thing clear which I probably haven't talked about before.

People with intact motor cortices and a lot of practice with nonlinear input devices don't really understand what people like me go through. Thanks to long training and practice, at this point in my life I can make the mouse physically occupy the space I want it to on average. Nonlinearities in input, wherever they occur, make pointer usage vastly more difficult. More often than not, when playing a game with an accelerated mouse, the corrections I make out of habit for erroneous hand movements actually move me further away from the target point. For my friends, the old mouse code is merely irritating and clumsy. For me, it's unusable.

(This is less of a problem—but still a problem—with regular GUI applications, because UI designers as a rule don't try to make their interfaces challenging by making buttons tiny and mobile.)

@wrkncacnter7
Copy link

I just wanted to chime in here and say that I agree with Solra. As far as the actual feel of the mouse is concerned, turning off mouse acceleration is WAY better.

Of people that play online, not a single person leaves Accelerate Mouse turned on. Whenever people complain about the horrible mouse control, and are told to turn off mouse acceleration, they always come back much happier. I can even provide chat logs proving this if anyone doesn't believe me.

Removing the option to turn off mouse acceleration would be killing online multiplayer.

@Hopper262
Copy link
Member

As Solra illustrated above, mouse control can be an intensely personal preference. This is one area where I'm perfectly willing to add preferences so that as many people as possible have an enjoyable experience playing.

Treellama, I misunderstood your initial comment because I was aware that Bungie's code only used that for the raw-mouse InputSprocket option, so I thought you meant "original" as in Bungie rather than "original" as in Aleph One. I will restore the option so you and others can continue without learning a new muscle memory. Off will be the default on fresh installations.

I am also open to alternative acceleration strategies which could better match expectations of players used to other games.

Hopper262 added a commit that referenced this issue Feb 6, 2017
@SolraBizna
Copy link
Contributor Author

Bungie's code only used that for the raw-mouse InputSprocket option

OHHHHHHHHHH!!

Suddenly the existence of that code makes sense! I only became aware of it in the context of SDL 1.2's (non-raw) mouse input, where it is literally worse than the devil and Hitler combined.

I am also open to alternative acceleration strategies which could better match expectations of players used to other games.

The way I see it, mouse players who care about the issue will fall into three categories, in descending order of population:

  1. Those who want a 1:1 linear relationship every step of the way from the physical mouse to the character's aim. (Raw Mouse only)
  2. Those who want it to act like it did in the glory days of Infinity. (Raw Mouse + Accelerate Classic Mouse, apparently)
  3. Those who want OS mouse acceleration to apply. (Neither option)

Nearly every mouse-controlled FPS just takes input and applies it with no further massaging; either using the OS mouse acceleration or no mouse acceleration, depending on whether the input is raw or not. So adding any options outside those three probably won't add value.

Maybe there should be a combo box between those three options, naming them Classic Mouse, Raw Mouse, and Cooked Mouse. The default would then want to be Raw Mouse. That would help minimize confusion as to what the options are actually for.

@Hopper262
Copy link
Member

Nearly every mouse-controlled FPS just takes input and applies it with no further massaging

Citation needed. Quake Live has at least ten different parameters for mouse sensitivity and acceleration. The main equation B + (A(v-c))^(P-1), where everything but v is a configurable, doesn't even cover the CPI or axis-specific multipliers. I've found plenty of acceleration sliders while Googling for how other games do it. Perhaps the 360-noscope generation is more fond of tweaking than you're aware.

@SolraBizna
Copy link
Contributor Author

Quake Live is a direct descendant of Quake. Quake will have had complex mouse input equations for the same reasons Marathon did. (And when I refer to the "360-noscope generation", people who cut their teeth on Quake are many years removed from the kind of gamer I'm talking about.) Source games will also usually have mouse acceleration settings—because Source is a fork of the Quake engine.

Most, if not all, games that have mouse acceleration logic built-in have engines that date back to those dark times. If you look at game engines designed in this century—such as... blech... Unity—you will typically find that they have no built-in mouse acceleration, and just take what the OS gives them.

Also, GitHub has decided to stop emailing me notifications entirely instead of sending them days late and out of order. So there's that.

@Iritscen
Copy link

I'd throw in my support for having "Accelerate Mouse" off by default. For me, the game is much more controllable without that setting on, and I seem to be in the majority. I don't think any other changes need to be made along the lines above — simply having the feature off by default will be a big improvement.

@treellama
Copy link
Member

Per #45 (comment) I think the Classic/Modern presets, and individual configurability, is a good final solution to this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants