Old School Mouse
Posted: Fri Nov 22, 2013 9:53 am
I've heard from some of the old school mousers that the mouse in Rebirth isn't right -- it's sluggish and hard to handle. I am attempting to fix that.
The problem -- in math/programmingese -- is that raw mouse movement per frame is translated into rotational acceleration. Descent has always done it this way, which is why the mouse was more responsive at lower frames: you can move it farther per frame, so you get a higher rotational acceleration. Since the physics engine already takes framerate into account, higher acceleration just means faster movement. Rebirth hasn't changed this mechanic (mostly . . . it's complicated.), but has given you a much larger sensitivity slider to help compensate.
The problem -- in pilotese -- isn't with the maximum turning rate. That's capped. Whether you're using mouse, keyboard, or joystick, you can do a 360 in the same amount of time. The problem is with the impulse -- with how fast you can start turning, how fast you can change direction, how fast you get up to speed in the first place. Try making a very small turn with mouse and with keyboard. Keyboard kicks you off very fast, while mouse is sluggish. This means keyboard players and low-calibrated joystick players have an advantage in making small snap turns.
Like the homers, the problem with frames dependent behavior is figuring out what to peg it to. In this case, I went with 20 FPS, to err on the side of better control. That was just kind of a guess -- I was a mouser in the D1x era, and I think I sometimes ran at 20. It was a tradeoff with overall control, but I remember 20 being the low end of what I liked.
Anyway. I had planned to do more analysis on this one -- take some demos of different controls, in Rebrith and in Dosbox Descentr 1.4a -- try to get the impulse pretty even between all the different controls. But I must admit, this one's kind of gotten away from me. When I went to get some feedback from Behemoth last night on whether I was even tackling the right issue, he fell in love with the new build right away and more and more people started playing it.
So . . . here it is. It is still experimental. I would like to do more analysis to make sure everything's fair, but I must admit -- the read I'm getting from the piloting community is that it is, and that's really good enough for me. I'd also like to see if I can get some feedback from Birdseye -- last I heard, the main issue holding him back from playing is that the mouse was "wrecked" in Rebirth. So I reserve the right to fine tune this so it feels right . . . but I must say, Behemoth's take that it does feel right (and mine) counts for a lot.
So yeah, this wasn't intended for release yet. But I'm also not going to make you guys wait, as it was clearly very BADLY needed.
I'll put together a D2 build shortly, and a source code release and a patch for the Rebirth guys once I'm sure this is the right thing to do. In the mean time, this thing's already out in the wild and people are playing ladder matches with it . . . and I can't exactly stop you. So here it is.
D1:
Source:
Same story with all my mods -- until we're sure as a community that this isn't a cheat, it remains incompatible in multiplayer with anything but itself. Yes, I know we have too many executables. It's a temporary situation, honest.
To use it, put it in your D1 Rebirth directory. On the Options / Controls screen, enable the mouse control style "Old School". You will probably also need to turn your mouse sensitivity down a couple notches. In the (very unlikely) event that you find you don't like it, you can set the mouse control style back to "Rebirth", which is unchanged.
Feedback is appreciated, particulary on whether this is fair, on whether it "feels right" (if you grew up on the old mouse).
By the way, I know two core gameplay changes in as many weeks is too much change. It isn't my intent to mess with the game constantly -- just to fix broken things quickly. This is the last core gameplay issue I'm aware of . . . except the elephant in the room, peer-to-peer/hosting-requires-configuring-your-router.
-------------
TLDR:
Think the mouse in Rebirth is sluggish and broken? Me too. Here's an experimental fix that tries to make it behave like d1x at 20 FPS. Let me know if you like it, and if you think it's too good, please speak up.
D1:
Source:
Under mouse controls style, enable "Old School", and turn your sensitivity down a bit. You can only play against other people running this mod.
The problem -- in math/programmingese -- is that raw mouse movement per frame is translated into rotational acceleration. Descent has always done it this way, which is why the mouse was more responsive at lower frames: you can move it farther per frame, so you get a higher rotational acceleration. Since the physics engine already takes framerate into account, higher acceleration just means faster movement. Rebirth hasn't changed this mechanic (mostly . . . it's complicated.), but has given you a much larger sensitivity slider to help compensate.
The problem -- in pilotese -- isn't with the maximum turning rate. That's capped. Whether you're using mouse, keyboard, or joystick, you can do a 360 in the same amount of time. The problem is with the impulse -- with how fast you can start turning, how fast you can change direction, how fast you get up to speed in the first place. Try making a very small turn with mouse and with keyboard. Keyboard kicks you off very fast, while mouse is sluggish. This means keyboard players and low-calibrated joystick players have an advantage in making small snap turns.
Like the homers, the problem with frames dependent behavior is figuring out what to peg it to. In this case, I went with 20 FPS, to err on the side of better control. That was just kind of a guess -- I was a mouser in the D1x era, and I think I sometimes ran at 20. It was a tradeoff with overall control, but I remember 20 being the low end of what I liked.
Anyway. I had planned to do more analysis on this one -- take some demos of different controls, in Rebrith and in Dosbox Descentr 1.4a -- try to get the impulse pretty even between all the different controls. But I must admit, this one's kind of gotten away from me. When I went to get some feedback from Behemoth last night on whether I was even tackling the right issue, he fell in love with the new build right away and more and more people started playing it.
So . . . here it is. It is still experimental. I would like to do more analysis to make sure everything's fair, but I must admit -- the read I'm getting from the piloting community is that it is, and that's really good enough for me. I'd also like to see if I can get some feedback from Birdseye -- last I heard, the main issue holding him back from playing is that the mouse was "wrecked" in Rebirth. So I reserve the right to fine tune this so it feels right . . . but I must say, Behemoth's take that it does feel right (and mine) counts for a lot.
So yeah, this wasn't intended for release yet. But I'm also not going to make you guys wait, as it was clearly very BADLY needed.
I'll put together a D2 build shortly, and a source code release and a patch for the Rebirth guys once I'm sure this is the right thing to do. In the mean time, this thing's already out in the wild and people are playing ladder matches with it . . . and I can't exactly stop you. So here it is.
D1:
Source:
Same story with all my mods -- until we're sure as a community that this isn't a cheat, it remains incompatible in multiplayer with anything but itself. Yes, I know we have too many executables. It's a temporary situation, honest.
To use it, put it in your D1 Rebirth directory. On the Options / Controls screen, enable the mouse control style "Old School". You will probably also need to turn your mouse sensitivity down a couple notches. In the (very unlikely) event that you find you don't like it, you can set the mouse control style back to "Rebirth", which is unchanged.
Feedback is appreciated, particulary on whether this is fair, on whether it "feels right" (if you grew up on the old mouse).
By the way, I know two core gameplay changes in as many weeks is too much change. It isn't my intent to mess with the game constantly -- just to fix broken things quickly. This is the last core gameplay issue I'm aware of . . . except the elephant in the room, peer-to-peer/hosting-requires-configuring-your-router.
-------------
TLDR:
Think the mouse in Rebirth is sluggish and broken? Me too. Here's an experimental fix that tries to make it behave like d1x at 20 FPS. Let me know if you like it, and if you think it's too good, please speak up.
D1:
Source:
Under mouse controls style, enable "Old School", and turn your sensitivity down a bit. You can only play against other people running this mod.