Jump to content

SOS

This just in: Another survival game!
Read more...

Freestyle GunZ

Revived old shooter just added!
Read more...

TERA

In-game and config file sensitivity added.
Read more...

Warhammer: Vermintide 2

Added.
Read more...

Metro Conflict: The Origin

Free shooter just in!
Read more...
Drimzi

Viewspeed Reworked

Recommended Posts

Viewspeed Reworked - Final revision/proposal

 

I have created a new viewspeed formula intended to replace the current one. This one does not rely on aspect ratio at all. It should also be more accurate for FOV scaling and for 2D to 3D conversion. Compared to the current implementation, it is a little faster as you scale down, and a little slower as you scale up. As such, it is close to 4:3 100% monitor match which was widely accepted as being approximately the best solution, with Battlefield using it as the default for their USA system and Counter-Strike using it for their zoom scaling. The real solution however is hopefully this formula.

 

The problem with the existing viewspeed formula is that it ends up with drastically different results depending on the aspect ratio of the monitor, regardless of the mouse speed remaining the same on the desktop if the resolution height remains fixed, or that rotation speed should remain the same if the vertical FOV remains fixed, and Hor+ FOV scaling just expanding the peripheral vision.

 

The idea of this formula is to use the square portion of the screen (1:1 aspect ratio) for all of the measurements. This includes field of view and monitor distance. Since monitors are wider than they are tall, the field of view measurement will be the vertical field of view.

 

For the monitor distance, the diameter of a square is the diagonal length, and so the diagonal distance will be used for the diameter of the circle.

WXvU0Bm.png

 

The FOV scaling is done using two ratios, the circle ratio and the chord ratio.

Psp1Wh9.png

 

 

 

The Math

 

Desktop Conversion Formula

 

First we need a circle to start from. We will create a circle from the desktop measurement in order to convert 2D sensitivity to 3D:

π x desktop diameter / pixels moved per inch of mouse movement

 

We can find the desktop diameter by taking the diagonal length of the square 1:1 aspect ratio portion of the monitor:

sqrt(2) resolution height

 

The pixels moved per inch will be the mouse DPI, as that is the counts reported per inch of mouse movement, and every count equals 1 pixel moved. This is scaled by the Windows Pointer Speed also:

mouse DPI / WPS modifier

 

A list of the WPS modifier values:

WPS 6/11 = DPI/1

WPS 5/11 = DPI/(4/3) 

WPS 4/11 = DPI/2

WPS 3/11 = DPI/4

WPS 2/11 = DPI/16

WPS 1/11 = DPI/32

 

Finishing up the desktop conversion, the final formula will be:

h = resolution height
m = mouse DPI / WPS modifier

(sqrt(2) π h)/m

Since the units for mouse speed is in inches, the circumference result will be in inches. To convert to centimeters, multiply by 2.54.

 

 

FOV Scaling Formula

 

Next we need to make the formula to scale this circle depending on the vertical field of view of the game. The circumference of the circle will be the distance it takes to make a full 360 degree rotation. The formula for this will be:

chord ratio / circle ratio

 

The chord ratio can be found using:

tan((π y)/360) / tan((π x)/360)

If we substitute x for 45, and y for 90, we end up with a ratio of 2.41 as shown in the image above.

 

The circle ratio can be found using:

cos((π x)/360) / cos((π y)/360)

If we substitute x for 45, and y for 90, we end up with a ratio of 1.3 as shown in the image above.

Scaling the sensitivity by the chord ratio is equal to monitor distance 0%, same system that a lot of games use.

 

If we make 90 a constant, the chord ratio becomes:

(tan((π 90)/360) / tan((π x)/360))
= cot((π x)/360)

 

If we make 90 a constant, the circle ratio becomes:

(cos((π x)/360) / cos((π 90)/360))
= sqrt(2) cos((π x)/360)


The full formula for this will be:

(cot((π x)/360))/(sqrt(2) cos((π x)/360))
= csc((π x)/360)/sqrt(2)

 

Using the two formula together:

x = vertical field of view
h = resolution height
m = mouse DPI / WPS modifier
C = (sqrt(2) π h)/m

(C csc((π x)/360))/sqrt(2)

 

Since we have to use vertical field of view, we need to convert the game's config field of view value to the equivalent vertical value. The result will be in radians.

x = field of view value
a = field of view value's aspect ratio reversed

2 arctan(a tan((π x)/360))

For a game that uses vertical field of view, a will simply be 1/1.

 

For a 4:3 based horizontal field of view game with 90 FOV, the solution will look like so:

x = 90
a = 3/4

2 arctan(a tan((π x)/360))

 

For a 16:9 based horizontal field of view game with 103 FOV, the solution will look like so:

x = 103
a = 9/16

2 arctan(a tan((π x)/360))

 

To convert radians back to degrees:

radians × 180°/π

 

Combing everything together, the formula will scale the circumference/360 distance for 90 vertical degrees to the appropriate value for a given field of view. The circumference for 90 degrees will be created from the desktop sensitivity, but you can change this to any value you want.

 

An example using a 90 hFOV 4:3 based game, with 2560x1440 resolution, 400 DPI:

x=90
a=3/4
h=1440
m=400
C=(sqrt(2) π h)/m
θ=2 arctan(a tan((π x)/360))

(C csc(θ/2))/sqrt(2)

= 6 π
≈ 18.8496 inches

I get a 360 distance of 18.8496 inches. Plug this into the calculator and I get my sensitivity value.

r1d3OJ2.png

 

 

Ready to use Formula

Horizontal Deg. | 4:3 Base

Horizontal Deg. | Res Base

Vertical Degrees

 

Use the correct formula for your game. The calculator says what FOV Type the game uses.

Variables

x = field of view
h = resolution height
m = mouse DPI / WPS modifier

 

Your m variable will be one of the following depending what your WPS is:

WPS 6/11 = DPI/1

WPS 5/11 = DPI/(4/3) 

WPS 4/11 = DPI/2

WPS 3/11 = DPI/4

WPS 2/11 = DPI/16

WPS 1/11 = DPI/32

 

Edited by Drimzi

Share this post


Link to post
Share on other sites

Why is the old one wrong though? I thought it made sense, logically. I don't know if it's just me, but personally it's really too hard to feel if it's correct. What brought on this need to change it, it doesn't feel right anymore? And why is this one correct?

Also, Isn't it just a coincidence that monitor distance happens to always be between 60 and 70 percent?

Share this post


Link to post
Share on other sites

Really good work! I wished I would have helped to work out this new formula, but my mathematical understanding isn't good enough :/ I followed the whole "Best USA coefficient for Battlefield 1" thread and tryed to understand everything, but at some point I got lost :P

I downloded your file and tested it incsgo and it really felt amazing! At every fov :D 

Edited by WhoCares?

Share this post


Link to post
Share on other sites

Yeah, it feels exactly like my desktop DPI now, every FOV feels the same. I can really tell the difference when doing Fast Aiming mode in the CSGO aim training map.

 

Interesting thing is that all my sensitivities are much lower. Maybe I will have to up my desktop DPI so that it is fast enough in-game.

Edited by potato psoas

Share this post


Link to post
Share on other sites

It would be super interesting to see the difference with this new equation. When I use viewspeed for games like bf1 or rainbow six with a very slight zoom on RDS sights they always feel a bit wobbly and too fast. Wonder if that was just in my head or if this was due to the current equation being a bit off :/

Share this post


Link to post
Share on other sites
26 minutes ago, jabbothehut said:

It would be super interesting to see the difference with this new equation. When I use viewspeed for games like bf1 or rainbow six with a very slight zoom on RDS sights they always feel a bit wobbly and too fast. Wonder if that was just in my head or if this was due to the current equation being a bit off :/

I mean, the current equation feels alright even across sensitivities I'm pretty consistent with flicking and turning 160 for shots.
Whether it's a 1st person with completely different FoV, whether it's ADS or if it's 3rd person.
By any means if it can improve i don't see a problem with it, but I don't think it should feel too fast. It might just be due to the FoV lowering and everything just seems to move faster.

Share this post


Link to post
Share on other sites
2 minutes ago, NoMaD.oW said:

I mean, the current equation feels alright even across sensitivities I'm pretty consistent with flicking and turning 160 for shots.
Whether it's a 1st person with completely different FoV, whether it's ADS or if it's 3rd person.
By any means if it can improve i don't see a problem with it, but I don't think it should feel too fast. It might just be due to the FoV lowering and everything just seems to move faster.

Maybe. I dunno tbh I don't think it'll change too much. Would just be nice to see what the new one does!

Share this post


Link to post
Share on other sites
2 minutes ago, jabbothehut said:

Maybe. I dunno tbh I don't think it'll change too much. Would just be nice to see what the new one does!

For sure! :)
Anything helps, I'm sure it's pretty noticeable on extremely low FoV when you jump from 130 to 20 or something stupid because of x15 zoom.
generally never experienced that much fov zoom because I dislike it extremely and always try to consistently keep my zoom somewhere in the middle with games.

Share this post


Link to post
Share on other sites
1 minute ago, NoMaD.oW said:

For sure! :)
Anything helps, I'm sure it's pretty noticeable on extremely low FoV when you jump from 130 to 20 or something stupid because of x15 zoom.
generally never experienced that much fov zoom because I dislike it extremely and always try to consistently keep my zoom somewhere in the middle with games.

We shall see!

Share this post


Link to post
Share on other sites
55 minutes ago, NoMaD.oW said:

I mean, the current equation feels alright even across sensitivities I'm pretty consistent with flicking and turning 160 for shots.
Whether it's a 1st person with completely different FoV, whether it's ADS or if it's 3rd person.
By any means if it can improve i don't see a problem with it, but I don't think it should feel too fast. It might just be due to the FoV lowering and everything just seems to move faster.

Can confirm there is a big difference in "feel" over the previous viewspeed equations. For me, the new viewspeed equation puts me about 4% faster, but the difference in flicks/tracking etc is insane. I always felt like there was something off about the previous viewspeed equation, felt like my progress was so slow for muscle memory, but now it feels like im moving at an exponential rate. 

 

This was right when i switched over: http://plays.tv/video/59590c9946f051b8ea/new-viewspeed-formula-seemsgood

Edited by KandiVan

Share this post


Link to post
Share on other sites

I've actually been thinking about this for a while now, I'm probably going to butcher this and make myself look like a dumb*** or something but essentially your FOV is just a section of a ball right? like when you play a game your camera is just inside a ball and your monitor is just a rectangle that fits inside that ball. probably not useful, you more than likely already know that lmao but yeah... any who how exactly do I use this I'd love to try it out? I'm a little slow and i'm struggling a little with switching between cs:go and overwatch aim with both 360 and viewspeed.

Edited by NoSafety

Share this post


Link to post
Share on other sites

In the equation in the first post, replace d with the result of (resolution/mouse dpi), and replace theta with your game's actual fov. The formula'll give you the cm/360 or inch/360 you should be using at that fov, if this equation is to be trusted in doing what it's supposed to do. Go into the calculator and put in that result to get the sensitivity you should be using, in that game.

I just tested it out, and I think it feels better, but I don't know if that's just placebo. To be honest, we need a way to measure and quantify that perception of speed, to really put this to rest. If that even makes any sense.

Share this post


Link to post
Share on other sites

Okay thank you I'm going to test it now and tell you what I think :)

edit: just tried it and it's weird I can't tell if it's placebo either but it's like my cross hair is magnetically attracted to the bots heads when I do a flick shot...

Edited by NoSafety

Share this post


Link to post
Share on other sites

So what are you supposed to do with your result of the first equation in the OP? Because my result is 3.7388 in. or 9.49657 cm, which is way off from my preferred 30 cm/360 at 106.52 actual hFOV. My screen resolution is 1920x1080 and mouse is 1500 CPI.

I just want to know how to preserve the exact feeling of my preferred sensitivity at different FOVs.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×