Go Back   Novahq.net Forum > Games > Gaming Talk

Gaming Talk Post all your game related stuff here. This includes PC, Console, Handhelds etc.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 06-24-2022, 10:41 PM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

Variable mouse polling rate

Hello,

I've observed what feels like negative acceleration of the mouse input in a few Novalogic games.

However:
  • It seems highly dependent on the scene: sometimes it will happen, sometimes it will feel more pronounced than other times, sometimes it won't happen at all. Anecdotal evidence suggests the variability may correlate with the complexity of the scene being rendered.
  • Often the effect will be more pronounced when rotating in one direction as opposed to the other (e.g. flicking right may rotate wider than flicking left, while moving the mouse slowly typically results in a consistent angle in either direction -- the widest).
  • In some games, in a similar scene, anecdotal evidence suggests the effect may be more pronounced at higher resolutions.

I think I've felt it while playing through DF1 and DF2, but I don't remember exactly. I've done multiple tests in the helicopter scene at the start of the training quick mission in DFLW and I am certain the problem is present there. I've done further tests in DFTFD (shown below) and the problem is still there. I vaguely remember having the same problem in DFBHD (years back).

Demonstration. In this video, any time I reset the character direction to face south, I also lift my mouse to place it at the leftmost side of my pad. Any time I rotate right, I always move the mouse over the same distance (to the other end of the pad). As you can see, flicking quickly results in a shorter angle in game.

The only reference to the problem I could find is this post, but the suggested cause there is likely a red herring. Indeed I do not use dgVoodoo or any other type of wrapper.

Some other notes:
  • I do not remember this "way back in the day" when I played these games for the very first time. It's likely I wasn't paying attention to this at all then, but it may also be related to differing hardware capabilities.
  • The problem does not happen with any other non-Novalogic first-person game I run on the same system.
  • Continuously flicking left and right sometimes results in the viewport slowly panning down. This may be the same issue: even though I reset my mouse position after every flick, it's possible that I perform slight forward/backward movement with varying speed when I do that.
  • I am using modern hardware relative to the games release dates (9900KS/2080ti). I do not have any reason to believe it is faulty or insufficient.

From all these observations I tentatively conclude that the problem may be related to a variable polling rate of the mouse input, which may or may not be tied to the frame rate of the game simulation and/or the renderer (which may all be part of the same loop for all we know). Temporarily reduced frame rate could thus result in less inputs being considered (more inputs "skipped").

Has anyone else encountered this before? Does this little hypothesis feel right?

Any insights would be super-appreciated!

Last edited by mg; 06-25-2022 at 11:44 AM. Reason: Fix typo: fine -> find
Reply With Quote
  #2  
Old 06-25-2022, 07:05 AM
Baldo_the_Don is offline Baldo_the_Don
Baldo_the_Don's Avatar
Registered User

Join Date: Jul 2012
Posts: 529

Okay, I have a reach of an idea, but let me explain...

In the MEd, there are no sub-meter negative coordinates. If you place an item at X=-1.25 Y=0, what the MEd actually needs to place that item is an X of [-2][49152], instead of [-1][-16384]. Effectively, the MEd considers the item to be 2 meters west, then 0.75m east, not just 1.25m west.

I don't know how the game interprets mouse axis input, but for obvious reasons, I suspect it's in degrees, and if flicks to the left are polled as full degrees left, then sub-degrees right, you might just get this effect. I suspect higher polling rates may actually exacerbate the problem.

Personally, I've never actually noticed anything like this, but it also took me years of thinking, Why are the Team Sabre missions so weird? before I saw a post about how TS vehicles are silent. I shut off the music, and sure enough, that Pavelow taking us to Paolo's island had no engine noise. Didn't explain everything, but it explained a lot.

(One of the main points I address in my mods is fixing those missing engine sounds, and frankly, the Pavelow has a really relaxing thumpy-whir to it, and it makes me sleepy)

So, that's two cents from the unobservant, but imaginative.
__________________
/////////////////////- SIGNATURE STARTS -//////////////////////
The NSO Deadline Mod at NovaHQ.net:
//////////////////////- SIGNATURE ENDS -///////////////////////
Reply With Quote
  #3  
Old 06-25-2022, 12:33 PM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

Quote:
In the MEd, there are no sub-meter negative coordinates. If you place an item at X=-1.25 Y=0, what the MEd actually needs to place that item is an X of [-2][49152], instead of [-1][-16384]. Effectively, the MEd considers the item to be 2 meters west, then 0.75m east, not just 1.25m west.
Damn, OK. I believe I follow the logic and its implications, however I'm not 100% clear on your notation/numbers for "X of [-2][49152] instead of [-1][-16384]" and how they relate to the desired X/Y inputs.

I'm assuming that the fractional part of the input value is represented as a 16-bit unsigned integer internally, and that you in turn represent it here in decimal. 16384 is about a quarter of the max value for such a representation and 49152 is about three quarters of that, so it would track. Is that correct?

Quote:
I don't know how the game interprets mouse axis input, but for obvious reasons, I suspect it's in degrees, and if flicks to the left are polled as full degrees left, then sub-degrees right, you might just get this effect.
I like the idea, especially given the left-right difference appears consistent for a direction depending on the scene. That's even though one might have expected, assuming only my naive hypothesis, that flicking left or right would be slower or faster depending on which side of the viewport the scene is most expensive to render (which is not the case).

Quote:
I suspect higher polling rates may actually exacerbate the problem,
I've tried all settings of my mouse (FK1+): 1Mhz, 500hz and 125hz. In a scene where the problem is excessively apparent (first camp in first mission of DFTFD), I could not discern any difference however. It still doesn't mean your intuition is wrong, I might need to try to get an even lower polling rate to observe a change.

Quote:
Personally, I've never actually noticed anything like this, but it also took me years of thinking, Why are the Team Sabre missions so weird? before I saw a post about how TS vehicles are silent. I shut off the music, and sure enough, that Pavelow taking us to Paolo's island had no engine noise. Didn't explain everything, but it explained a lot.
Haha, I understand what you mean. With this type of thing, and especially without a readily available solution, it's probably best not to know!

(Still, if you or anyone else ever tests a few flicks in some Nova games, please drop a note on whether you observed a difference or not!)

Either way, thanks for taking a look and for those thoughts!

Quote:
One of the main points I address in my mods is fixing those missing engine sounds, and frankly, the Pavelow has a really relaxing thumpy-whir to it, and it makes me sleepy
Nice! Can I hope you might publish this fix here at some point? I'll likely be playing through TS again in a little while, I'd be happy to provide some testing (or just enjoy it! ).
Reply With Quote
  #4  
Old 06-25-2022, 04:07 PM
Baldo_the_Don is offline Baldo_the_Don
Baldo_the_Don's Avatar
Registered User

Join Date: Jul 2012
Posts: 529

I forget rather embarrassingly often that not every player knows a lot about the mission editor.

Every meter in DFBHDTS is divided into 65536 units. Using the arrow keys, the MEd will move items in 1m steps, and CTRL+ARROW keys move items 1/256th of a meter at a time. So 1/256th of a meter is really the smallest manual adjustment you can make in an item's position in the MEd, and 1/256th of a meter is 256 MEd units. 256×256=65536.

There are circumstances, like rotating a group of items at once, where the MEd can place an item at a coordinate that is not divisible by 256, but using keystrokes or drag-and-drop, I don't think the MEd allows manual item movements less than 256 MEd units.

In the Item Attribute dialog window in the MEd, the X, Y, and Z coordinates have two boxes each, the first being full meter values between -32767 and 32767, the second is sub-meter distances in MEd units between 0 and 65535.

Fun note: in an unbordered, mission area free map, travel in any cardinal direction far enough, you basically PAC-MAN to the opposite edge of the map and start moving back toward your starting point! Starting at terrain center and heading NE, SE, SW, or NW, the farthest you can get away from terrain center is 46,338.585 meters.

0.585m is 38339 med units, rounded. 32768 is 0.5m. At 5' 10", I'm [1][50987] MEd units tall.

And having spent the last hour and a half of this Saturday night just messing around with this reply, I am, verifiably, probably the hardest partying metalhead over fifty in this community.

Hey, side question, is a sarcasm detector supposed to make noises that loud?
Attached Images
File Type: jpg screen079.jpg (413.4 KB, 15 views)
__________________
/////////////////////- SIGNATURE STARTS -//////////////////////
The NSO Deadline Mod at NovaHQ.net:
//////////////////////- SIGNATURE ENDS -///////////////////////

Last edited by Baldo_the_Don; 06-25-2022 at 04:58 PM.
Reply With Quote
  #5  
Old 06-26-2022, 06:07 AM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

Quote:
I forget rather embarrassingly often that not every player knows a lot about the mission editor.
It's not necessarily a bad assumption at this point -- any player who cared enough about these games to still be interested in them probably dabbled with it. I know I produced more maps than I can ever count as a young'un, and explored every damn feature this thing had to offer. I just forgot all about it. Although opening it up again now.. maybe it could be like riding a bike?

Quote:
Every meter in DFBHDTS is divided into 65536 units.
There it is, gotcha. Thanks!

Quote:
In the Item Attribute dialog window in the MEd, the X, Y, and Z coordinates have two boxes each, the first being full meter values between -32767 and 32767, the second is sub-meter distances in MEd units between 0 and 65535.
And this explains the prevalence of a notation with two numbers in conversation. Thanks for the reminder!

I used to research and publish a list of the precise height of all of the game assets (items, building floors, and whatever else you might want to stack something else on top of). The "Z list". Hours and hours spent iterating and testing! Fun memories.

Quote:
Fun note: in an unbordered, mission area free map, travel in any cardinal direction far enough, you basically PAC-MAN to the opposite edge of the map and start moving back toward your starting point! Starting at terrain center and heading NE, SE, SW, or NW, the farthest you can get away from terrain center is 46,338.585 meters.
Oh yeah! This I do remember clearly. It was especially cool in island terrains, mostly common in JO. I remember driving a boat into the sunset with friends after a successful co-cop, just chatting. And though we knew the theory and thought it would take an absurd amount of time that we didn't really have, sure enough we did sail "around the world" and arrived on the opposite coast of the island we started from. It was a very long conversation. There was some excitement at the end. Simpler times haha.

Quote:
Hey, side question, is a sarcasm detector supposed to make noises that loud?
It's always a party when more than one people are having fun!
Reply With Quote
  #6  
Old 06-28-2022, 05:36 PM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

Tested DFBHDTS: the problem is present there as well, and is even more apparent regardless of the resolution.

With BHD I can hook RTSS and Afterburner (probably the first D3D version supported by RTSS). I can say with certainty that the problem is exacerbated at lower framerates: I found a scene/map where flicking right was ~OK (pitch got wild at times but rotation angle seemed similar to a slow turn), then capped to 10 FPS, and the same flick at the same place did about a third or a quarter of the expected angle.

The difference with the direction of the rotation is still there as well (in that same place, the problem would occur when flicking left even at the normal framerate).

Interestingly I do not see any framerate drop even when the problem occurs at the normal framerate (64 FPS). It could still be a couple of frames missing having a significant enough impact that I'm not observing with a live counter. I might try to record more precise data later. Meanwhile I'm looking into uncapping the framerate, but I have no idea if that would break the game even if I manage to do it.

I was sort of hoping to get into a few BHD competitive games for old times' sake, but after being "spoiled" by engines that do not have this problem I now feel it is unplayable (for competitive games).

I find it odd that I'm seemingly the only one that's bothered by this even though I've observed it on most versions of the engine, and on two different rigs. Of course most community sites have disappeared and were never archived so complaints about this may have been voiced before. If I were to guess, the problem has always been there, but maybe most people use very high sensitivity settings. I know I did back when I didn't know better (turning faster means better reflexes, right? ), and it's the only thing I can think of that changed for me besides now having access to better hardware. In fact, given the DF series was pretty much my introduction to online gaming, it's possible I veered toward higher sensitivity because of it (I would've felt more consistent with that type of setting because I was) before I finally decreased it to a more reasonable level (for my personal precision skills) while playing other games many years later.

By chance I found this video of a good BHD player who happens to show both his mouse and mousescale setting (38). He uses what looks like a claw grip style and the eDPI is so high that he only uses his wrist. I simply can't do that: I need way more margin to be accurate.

If anyone would care to share their sensitivity setting (with resolution, FOV if changed, and mouse DPI), then perhaps test flicks at the lowest setting to try and reproduce the issue, that would be appreciated. It won't solve it of course, but it might help with my sanity! (i.e. it could be that the DF community as a whole always defaulted to a specific play style.)
Reply With Quote
  #7  
Old 06-28-2022, 07:36 PM
Baldo_the_Don is offline Baldo_the_Don
Baldo_the_Don's Avatar
Registered User

Join Date: Jul 2012
Posts: 529

Curious, I tried the flick test in my basic mod of DFBHDTS. Looking north, flicking the mouse about 45° to the right with my wrist, I was then looking south-east, about 125°. Flicking the mouse 45° left with my wrist, I was looking west, 90°.

Uh-oh.

Quit the game to come tell you about it, then I thought I should make some screenshots to show off some of the mod stuff, and the data from the flick test, started the game again, made the flicks again, but this time, I was only getting 90° to the right!

Started a different mod with cooler looking sights I made, but the flick test was getting me 90° with 45° of mouse movement.

Hm.

I'm using the no-frills HP mouse that the computer came with. I have the sensitivity slider in the Windows mouse settings right in the center, acceleration on. DPI is not available in any dialog I can find. It's USB, cabled, optical, getting old, and requires frequent repairs. I need a new one, but I also procrastinate, you know?

My mousescale in DFBHDTS and NL games in general is 20.

I swear I was getting 50% more turn to the right that first test, though. I'll keep an eye on this situation.

Edit: OOOHHHH!

SS00002 shows my G36 Baldo's Special pointing north. SS00003 shows what my flick right got me. The spinmap shows I'm looking almost south!

But...

I started the game, got in the mission, the flick right was 90°. However, sometimes, the gamma in my DFBHDTS malfunctions, and I fix that by ALT+TABbing out of the game, then immediately SHIFT+ALT+TABbing right back in. The gamma was bright as I like again (0.7, if you want to know), but I was getting the extra right turn in the flick! When I accessed the armory to get a different weapon, the extra right turn was gone. I should've tested switching to secondary, or pause-unpause, but maybe next time.

I suspect, for some reason, under certain conditions, the game fails to deactivate mouse acceleration, but only to the right.

Tests on the up-down axis should be considered.

Edit again: In a completely different mod, confirmed ALT+TABbing out and back causes extra right turn. Selecting secondary ineffective. Attaching to an emplaced ineffective. Accessing the armory is effective, with or without making changes in loadout.

Flicking up and down was inconclusive.

I'm thinking that at some point between starting the game and spawning in mission, the game deactivates mouse acceleration. ALT+TABbing reactivates it, and the game doesn't catch that reactivation 'til the mouse is disconnected from player movement, like accessing the armory.

Why does it only affect right flicks? NeverLogic!

Perhaps test deactivating mouse acceleration in the system settings before starting the game, or have you tried that already?

Last Edit?: After deactivating mouse acceleration in the system settings, I could not reproduce the extra right turn. Also, flicking the mouse 45° got me 45° in game. Felt sluggish. Hm.
Attached Images
File Type: jpg SS00002.jpg (451.6 KB, 10 views)
File Type: jpg SS00003.jpg (365.6 KB, 9 views)
__________________
/////////////////////- SIGNATURE STARTS -//////////////////////
The NSO Deadline Mod at NovaHQ.net:
//////////////////////- SIGNATURE ENDS -///////////////////////

Last edited by Baldo_the_Don; 06-28-2022 at 08:46 PM.
Reply With Quote
  #8  
Old 06-28-2022, 08:32 PM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

Thanks a bunch for that, it's pretty nice to know I'm not bonkers.

For reference at 4:3 default FOV (I've read 80 hfov somewhere), 800 DPI, I've settled on a mousescale of 13h (19d). Virtually identical to you then, although it didn't occur to me to account for my Windows setting (it's a shame the game doesn't use raw input!) which is also at the default of 10 (middle), but no acceleration.

That last point is interesting too, gamers who use mouse accel would be naturally less impacted by this (flicks would be physically shorter by nature) and I think it might have been enabled by default on Windows in the past (and maybe still is!) so many people might have been using it and gotten used to it.

Sidenote: if you ever want to re-train yourself to play without accel, I recommend it. I found it's an easy way for most people to be more accurate: because the movements you learn to do on the mouse pad always produce the same distance in-game, you typically become better at reproducing them exactly and consistently (think of how difficult it is to move your arm/wrist at a precisely identical speed every time, as opposed to moving it the same distance only).

Oh and don't look too hard for software DPI settings, it's typically a device-specific thing (on my FK1+ I have a dedicated button to switch that setting). Depending on the mouse a proprietary driver might offer to change the setting through a proprietary app, but that's never a guarantee.

Finally, I apologize if I've ruined it a bit for you haha, I hope it's not one of those "now I can't unsee it" things.
Reply With Quote
  #9  
Old 06-28-2022, 08:47 PM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

Just saw your edit,

Quote:
I suspect, for some reason, under certain conditions, the game fails to deactivate mouse acceleration, but only to the right.
Per my previous message I think we should be able to invalidate that hypothesis at least (I don't use mouse acceleration in Windows and we can prove the game doesn't use raw input, yet I see the problem anyway).

Thanks for noting that just alt-tabbing can impact this: I was never satisfied that it was about scene complexity (especially since I could never observe any actual variability in the frame time).

Definitely an odd one!

Quote:
Tests on the up-down axis should be considered.
Oh indeed, I'm already quite sure it's impacted as well. A quick test is to rapidly flick the mouse left and right without mouse acceleration enabled many times, then return it to its starting point. By all logic, assuming a sensor of a high-enough quality, the character should be aiming in the original direction exactly. I can do this test successfully in non-Novalogic games. Yet, quite often in Novalogic games, the character ends up aiming further down at the end. If I wiggle the mouse that way for long enough, the viewpoint will eventually point straight down (or as low as the game will allow). For now I'm assuming that it's the same issue in that some slight movement up or down is not restored the other way on subsequent movement because of these skipped inputs we're investigating.
Reply With Quote
  #10  
Old 06-28-2022, 09:22 PM
mg is offline mg
Registered User

Join Date: Jun 2022
Posts: 27

FTR: Problem also manifests at ~500 FPS (single player test where framerate is uncapped), at what feels like a similar "magnitude" (similar angles for similar flicks, but didn't measure).

Although I'm still fairly certain a lower framerate makes it worse, there appears to be an upper bound over which more frames do not improve input handling anymore. Or there are two different issues with similar effect of course.
Reply With Quote
Reply

Tags
flicking, framerate, mouse polling, mouse sensitivity, negative acceleration


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 03:55 AM.




Powered by vBulletin®