Jump to content


Premium Members
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Skwuruhl

  1. There's a person I've had discussions with that advocates discarding match distance entirely and instead scaling based on focal length entirely with a multiplier. I can't say I really disagree with him entirely. It's definitely way more sound than "viewspeed" or whatever else. And the concept of "match distance" has a lot of significant flaws, largely that it completely falls apart if you're aiming up or down from the horizontal at all. The new equation would just be tan(zoomFOV/2)/tan(hipFOV/2) * Coefficient For example CS:GO's default multiplier in AWP zoom 1 is 4/9ths with a zoom of ~2.75x. This means that the coefficient in this case is 1.2211. If you used this to convert to Overwatch your Widow/Ana sensitivity would be 46.27 (zoom scaling * 1.2211). There are 2 issues I have with this method, the first is that say you have a scope with 1.1x zoom. If you used a 1.2211 coefficient with this zoom level then your ADS sensitivity would be higher than hipfire resulting in a reduced cm/360 distance which just... doesn't make sense to me. However this could be okay, the way our brains perceive sensitivity is complicated. The second is that this doesn't really provide a way to scale between hipfires if the FOV is different other than "scale by focal length with no coefficient" or "scale by 360 distance". This also could be fine as scaling hipfire by just focal length is a decent solution. Both of these could be "solved" completely if you scaled the coefficient by focal length in some form but I don't know that that's necessarily a good idea or that it'd actually be solving anything. The benefits are that your sensitivity is more grounded in the actual zoom ratio which is good. Also it "solves" people who prefer a sensitivity lower than what 0% match distance would provide. Match distance has no answer for people who use 35 widow/ana sensitivity while this method does (0.9237 coefficient).
  2. Skwuruhl

    Question about the 0% monitor match.

    Match distance isn't "accurate within a circle." Any match distance will only be perfectly matched at that specific distance and just get more and more off the further you are from it, whether it's more inside or outside. However distance match only works when you're starting at 0° horizontal. I.e. if you're aiming up or down at all, even a little bit, then the concept of a distance being matched stops working entirely. The big reason to use "0% distance" is that it's actually scaling by zoom ratio aka focal length. This is desirable most obviously because you're, well... scaling by the zoom. 2x zoom means 1/2 sensitivity. A secondary reason this is desirable is that this mimics how your brain automatically scales aiming based on distance from target. E.g. if a target moves from 100 meters to 50 meters then you have to move your mouse 2x the distance to stay on target. The target will also appear 2x as large since it's half the distance away (kind of like 2x zoom).
  3. A mod I made that allows you to customize zoom sensitivity recently got approved for official realm. By default the mod makes zoom sensitivity scale with focal length/zoom ratio but you can change it to scale by a custom FOV aspect ratio (aka monitor distance). The game uses vertical FOV to scale by default. https://steamcommunity.com/sharedfiles/filedetails/?id=1498189723 Unrelated to sensitivity but using the same math I also made a mod that fixes crosshairs: https://steamcommunity.com/sharedfiles/filedetails/?id=1569650837
  4. Skwuruhl

    Vermintide 2 Zoom Sensitivity Mod

    If you want 172.8% vertical match then just use 172.8% for the mod. I do wonder how you arrived at this exact % though.
  5. Skwuruhl

    What games using %0 MM default?

    Virtually none. CoD used to (I think, but you can still use 0% if you want) and Titanfall 2 does if you don't change the FOV. Most games just do zoomedFOV/unzoomedFOV if that. Similarly in most games a 3x scope will just be fov/3 instead of 2*arctan(tan(fov/2)/3)).
  6. Skwuruhl

    Vermintide 2 Zoom Sensitivity Mod

    Unlikely. All my mods are based on decompiled source code and I don't think such a thing is available for cod 2. Also I doubt an existing mod framework exists for cod2 which means I'd have to write my own hook etc. And I mean even if all this stuff was available... it's more than a decade old, not really worth the effort. I mean co-op PVE games are currently a pretty limited genre. PD2, KF2, and Verm 2 are pretty much the only ones. There's deep rock galactic and GTFO coming though.
  7. So to rewrite what you're doing: Which is the same as This is just (vertical match multiplier) * (horizontal match multiplier) Honestly it feels like half of these threads are just throwing numbers at each other hoping something usable comes out of it. Viewspeed is the worst about this imo.
  8. Skwuruhl


    Ashe FOV isn't 66, (for horizontal it's more closely 65.8 but it's not exactly that either) In fact Widowmaker/Ana FOV aren't 51. It's actually 40° vertical and 30° vertical respectively. See: https://www.reddit.com/r/Competitiveoverwatch/comments/9ui5hv/ashe_fov_is_66_and_11_relative_sens_is_about_515/e95c2kj/?context=3 and https://www.reddit.com/r/Competitiveoverwatch/comments/9ujb0i/widowmakers_and_anas_fov_has_changed/
  9. 1 count is 1 pixel is dependent on the location on the screen. For the center of the screen it's unsurprisingly match distance for 1/960th of the screen (for a 1080p monitor). However for the edge of the screen it's a bit more complicated. The equation I'm using is (arctan(1/960*4/3*tan(90*pi/360))*180/pi-arctan(0/960*4/3*tan(90*pi/360))*180/pi)/.022 Which is basically (1st pixel's degrees away from 0th pixel)/m_yaw (counting pixels from the center of the screen) To get the multiplier m_yaw needs so that 1 count is equal to that number of degrees. So CS:GO http://www.wolframalpha.com/input/?i=(arctan(1%2F960*4%2F3*tan(90*pi%2F360))*180%2Fpi-arctan(0%2F960*4%2F3*tan(90*pi%2F360))*180%2Fpi)%2F.022 3.61716 sensitivity But for pixels at the far right of the screen (960th pixel's degrees away from 959th pixel)/m_yaw (counting pixels from the center of the screen) which is (arctan(960/960*4/3*tan(90*pi/360))*180/pi-arctan(959/960*4/3*tan(90*pi/360))*180/pi)/.022 http://www.wolframalpha.com/input/?i=(arctan(960%2F960*4%2F3*tan(90*pi%2F360))*180%2Fpi-arctan(959%2F960*4%2F3*tan(90*pi%2F360))*180%2Fpi)%2F.022 1.30305 sensitivity If you apply this to AWP Zoom 1 the sensitivity multiplier would be 0.817919 (when the default is 0.444444) for a horizontal match distance of ~621%. Unless I made a mistake in my equation, you probably shouldn't set your sensitivity based on 1 pixel per 1 degree at the edge of the screen or really any part at all. (worth nothing that a pixel is a completely arbitrary unit of measurement and has no direct link to perceivable skipping).
  10. Skwuruhl

    What's your preferred conversion method?

    Reminder that viewspeed is which makes literally 0 mathematical sense
  11. Skwuruhl

    Warhammer: Vermintide 2

    Completely overhauled version of the mod that gives customization to zoom sensitivity via monitor distance or zoom ratio. https://steamcommunity.com/sharedfiles/filedetails/?id=1498189723
  12. Skwuruhl

    Warhammer: Vermintide 2

    Updated mod to not require a different sensitivity to match hipfire. Your hipfire sensitivity will now be the same with and without the mod.
  13. Skwuruhl

    OW ->>> Fornite

    It scales your sensitivity directly by the zoom ratio. So say you zoom in by a factor of 2 (that's to say objects on your screen appear 2x larger), your sensitivity would also then be scaled by a factor of 2. A couple examples in Overwatch https://imgur.com/a/A0NQG https://imgur.com/a/szjlq
  14. Skwuruhl

    Perceived sensitivity

    Alright I've been meaning to make a post about it for a while so: I think it's better to look at 0% as zoom ratio. Like it's not "wrong" (well, mostly) to call it 0%, but imo it's not as accurate. Forget the whole 0% part of it for this post and just consider the zoom part of it. First, if we ignore the 0%, where do we get the equation? Aside from "the apparent size change" the definition of zoom is the ratio of focal lengths. The equation for focal length is However we don't know the working distance only, that it's the same between FOVs. But remember that we only need the ratio of focal lengths to get the zoom ratio, therefore: And then simplifying And then you have the equation. You can observe this in-game: In Overwatch when you ADS enemies appear to be 2.63 times "farther" away: https://imgur.com/a/szjlq They also become 2.63 times larger: https://imgur.com/a/A0NQG Scaling sensitivity by this is consistent to how your mouse movements change as an enemy is nearer/farther from you. For example, ignoring zoom entirely for a moment, consider an enemy 10m away moving at 1m/s around you. This means they'll have an angular velocity of 0.1 radians per second. This is the rate at which you'll have to rotate your camera in order to track them. Now consider the same enemy 5m away moving at the same speed: their angular velocity will now be 0.2 radians per second, 2x the mouse movement required to track them. Additionally since the enemy is half the distance from you, they'll appear to be 2x as large, same as the change in mouse movement. @DPI Wizard demonstrated this in his video: https://youtu.be/00dhyUfcLSY While scaling sensitivity by zoom ratio, if you stand x times farther away with the same x times zoom, then enemies will appear to be the same size and take the exact same mouse movement to track.
  15. Skwuruhl

    Warhammer: Vermintide 2

    Mod to make zoom sensitivity scale by zoom ratio: https://steamcommunity.com/sharedfiles/filedetails/?id=1444804153
  16. Skwuruhl

    Killing Floor 2 ADS Match Tool

    The issue with commas is in the output, you shouldn't need to edit the code at all. When you get the output paste it somewhere and change all the "," to "." then copy it again. Alternatively you could try the python version.
  17. The final output must be pasted into console to create 6 keybinds The keybinds scale from 1 being the lowest zoom level to 6 being the highest. When pressed they will set your zoom sensitivity to properly match for that zoom level. They also temporarily set your FOV to that zoom level to help you ensure you pressed the correct zoom level for your weapon. To check, just zoom in with your weapon after pressing the keybind. If the zoom level doesn't change throughout the zoom-in then you've selected the correct bind. Due to the removal of the "fov" command from the game you just have to memorize what weapon corresponds to each key. FOVOptionsPercentageValue is located in your KFGame.ini located in C:\Users\<user>\Documents\My Games\KillingFloor2\KFGame\Config Coefficient is the screen match distance as a decimal and horizontal. So 75% is 0.75 Keybinds are numpad 1-6. Off the top of my head the corresponding binds are: 1 is flamethrowers/mwg 2 is pistols 3 is every smg except mp7 and med smg 4 is the grenade launcher and pistol 5 is ARs/shotguns/mp7/med smg 6 is the lever action I don't have the scoped weapons (crossbow, m14, railgun) working because I don't know the FOV inside scopes or how their sensitivity is calculated. Downloads/source: https://github.com/Skwuruhl/kf2ads Most people will want to use the master branch. If you want the math to be exactly like counterstrike then use the branch "exactly-as-counterstrike". Note that this isn't screen distance match. Python 3: https://www.python.org/ I don't know if Python will replace "." with "," in corresponding countries, refer below if it does. Background math: ADS sensitivity in KF2 is determined by your FOV and your ZoomedSensitivity value. More specifically when you zoom in your new sensitivity becomes Sensitivity * ZoomedSensitivityScalar * fieldOfView * 0.013330 Where sensitivity is your hipfire sensitivity and fieldOfView is your current field of view, that is the zoomed field of view. 0.013330 is very close to dividing by 75. I originally thought it was dividing by 75 until I found them using * 0.013330 in decompiled code. Very strange way to do ADS sensitivity. Especially in a lot of cases your sensitivity can go up from hipfire. Meaning your distance/360 is even lower while ADS. Java: Download: https://mega.nz/#!IZYRwKSS!M6Guxx8fgg-l1y0fVEXpafAp75BU_7DMgA8X4WgEgRc Source: https://gist.github.com/Skwuruhl/64625cc14f21cc2ef1d914dacf5d59dc To use just double click run.bat. If you want to compile your own classes to be safe then the source is included in the file and below. Note: If you live somewhere (or java thinks you live somewhere) that uses commas instead of period/full stop then you need to: 1. Enter your coefficient and FOVOptionsPercentageValue as a decimal using comma, i.e. 0,75 for 75% instead of 0.75 2. Go through your clipboard and replace all "," with "." before entering it into console. Notepad++'s find & replace feature is really useful for this.
  18. It would just be cm/360 match. To track the player you're taking some physical mouse movement for a certain rotation rate. Having the mouse movement and rotation speed the same across zoom levels means having the same cm/360. What you can do instead is match based on the apparent speed of the player onscreen. For 90 and 45 fov this means the player will appear to move 2.42 times as fast since the zoom ratio between the two is ~2.42. This is 0%, for which a better name would be something like zoom ratio scaling rather than 0% monitor distance scaling. No current method really "works" for converting between first and third person. The difference in camera location (and probably other things) makes them just... not work. I personally match hipfires with cm/360, then do ADS by the zoom amount. Although there are games that also change camera position when ADS so that kinda ruins that too. If ADS is in first person then you can scale that from your usual in first person games. I never realized this but it's actually pretty cool and seems kinda obvious now. If you stand 2x as far away with 2x zoom then the target is the same size and takes the same mouse movement to track them. This lets you set outside the sensitivity range: Granted I can't test right now to see if it's actually broken or people are just bad at following directions.
  19. Skwuruhl

    Killing Floor 2 ADS Match Tool

    Updated the python version for the removal of the "fov" command from the game. You now just have to memorize what weapons correspond to each key.
  20. Skwuruhl

    Getting flamed on reddit

    I mean you already have two small numbers with 1% rotation: 0.065 cm = 0.72 degrees as an alternative for 0% (since there isn't really a distance to display anymore) you could list the zoom ratio. like hipfire 360° distance: 32.4843 cm FOV: 103 ads Zoom: 2.6357x 360° distance: 85.4849 cm FOV: 51 You could even just always have the zoom amount listed.
  21. Skwuruhl

    Getting flamed on reddit

    Base length still doesn't make sense here. I'm not even really sure what it's supposed to be? I think what would be more clear is something like hipfire Crosshair Movement: 10.4589 inches Mouse Movement: 1.8295 inches Degree Movement: 51.5 degrees ads Crosshair Movement: 10.4589 inches Mouse Movement: 1.8118 inches Degree Movement: 25.5 degrees This way it's somewhat more clear that 10.46 inches on the monitor is a 1.8 inch mouse movement across both zoom levels.
  22. Skwuruhl

    Getting flamed on reddit

    @DPI Wizard you probably want to fix or remove the "1 inch mouse movement" thing. No matter what you type in as the match distance, it will say that 1 inch mouse movement will be matched on screen at the same distance. Also the "1 inch mouse movement" changes in hipfire by just changing match distance. For example in the image 1 inch mouse movement in hipfire is supposedly 4.5474 inches, but if you change it to 100% then the same mouse movement in hipfire now supposedly moves crosshair 6.4339 inches.
  23. Honestly even with gamepad the sensitivity difference between acog and ironsights is absurd in this game.
  24. Since Rainbow Six Siege lacks two sensitivity sliders for the different zoom levels I wrote a python script to somewhat get around that. The script calculates an XFactorAiming based on your FOV and desired vertical match distance that will very accurately line up with two corresponding ADS sensitivity values. This is so that you can somewhat quickly change your sensitivity in-game based on if you're using an ACOG or not in the current round. Coefficient is vertical match distance where 100% is entered as 1.0 XFactorAiming value is set in Documents\My Games\Rainbow Six - Siege\<random shit>\GameSettings.ini under [INPUT] As an example with my settings: FOV=70.53 Coefficient=0 ACOG ADS Sensitivity: 57 Ironsight ADS Sensitivity: 94 XFactorAiming=0.015511 After setting XFactorAiming in my config all I need to do in-game is set 57 ADS sensitivity when using an ACOG and 94 when using anything else. https://github.com/Skwuruhl/siegeads