Field of view in video games
In the review of Rage I promised I would write a post specifically talking about Field of View (FOV) in video games. So I will try to explain what FOV is, what an Hor+ approach is, how the state of the industry makes choosing FOV values hard and why it’s very important that we get to choose the FOV in our games, in my humble opinion.
What is the Field of View or FOV?
The FOV is a concept mainly used in first person videogames. It’s a numeric value related to the amount of game world you can view from your perspective. An image is worth a thousand words in this case. The following image represents the floor view of a game map.
In the previous image, the player is located in the central point and is looking north. The camera uses a field of view of 90 degrees and lets him view the world that fits inside the narrow angle formed by the two lines, while the rest of the world is not visible. So Object A is not visible by the player while object B is.
Most of the first popular real 3D games, like Quake, were designed to play in 4:3 screens and used a horizontal FOV of 90 degrees like the one you see in the image. It only takes some basic trigonometry formulas to find out that, if the screen measures 4 units horizontally and 3 vertically, and the left and right edges form a 90 degrees angle with the player, the angle between the top and bottom edges is around 74 degrees. This is the so-called vertical FOV.
Quake, Quake II and many other games had a setting called "fov" which allowed you to set the horizontal FOV, and the default value was 90. The game would use that setting and calculate the vertical FOV accordingly.
Using a narrower FOV means that, while your screen remains physically the same, the amount of world you see is reduced, creating a zoom-like effect. A wider FOV, on the other hand, can create a fisheye effect. The following images from Quake II show the standard FOV, a narrower FOV and a wider FOV.
What makes a game "Hor+"?
The approach of fixing the horizontal FOV and calculating the vertical FOV accordingly was problematic when widescreen monitors became mainstream. If a game allowed you to choose a wide screen resolution, like 1920x1080 (16:9), it would apply the 90 degrees horizontally, and it would calculate a vertical FOV of around 59 degrees vertically, which is less than the 74 degrees we had earlier in a 4:3 screen.
This means that, if you had a widescreen monitor and chose to play the game in a window or in fullscreen in a 4:3 box you would see more things than if you chose a wider screen resolution that would fit your screen better. Instead of keeping the same vertical angle and widening the horizontal angle, the horizontal angle would be kept and you’d get a narrower vertical angle, which drove many gamers mad because they wanted to see more with their widescreen monitors.
The "wrong" way is called "Vert-", which indicates that the vertical angle is reduced in widescreen compared to 4:3. The "right" way is called "Hor+", which indicates the horizontal angle is increased in widescreen when compared to 4:3.
Again, an image is worth more than a thousand words.
A game is Hor+ if, by default, it behaves the right way. In many Quake and Quake II ports, for example, you still have to manually increase the horizontal FOV if you choose a widescreen resolution. If you have to do that, by the way, a horizontal FOV of around 106 degrees in 16:9, or 100 degrees in 16:10, gives you roughly the same vertical FOV as 90 degrees in 4:3.
Choosing a FOV value is currently confusing
As many gamers became used to 90 being the standard FOV value from the 4:3 days, many modern games based on the Unreal engine, Source engine, or precisely Rage from id software, let you change the horizontal FOV. Strangely, they interpret the value as the horizontal FOV in a 4:3 screen and then proceed to adjust the real horizontal FOV accordingly using the Hor+ approach. This way, old gamers can set the FOV to the familiar value of 90 and the game will give them what they expect. However, when you set your FOV to 90 in 16:9 you are not using 90 degrees anywhere. The horizontal FOV is around 106 and the vertical FOV is 74. Go figure.
I’m guilty of this sin too. I submitted a patch to the Yamagi Quake II port yesterday to make the port Hor+ by default and did the same.
If this was not confusing enough, some other games like Borderlands 2 don’t follow the same calculations. I don’t own the game and can’t confirm it first hand but, apparently, the Borderlands 2 FOV slider lets you set the horizontal FOV for a 16:9 aspect ratio (instead of 4:3) and then automatically adjusts the value the Hor+ way. In this case I suppose you want to set it to 106 to achieve the standard traditional FOV.
Setting the appropriate FOV
At this point you may wonder if a FOV control is really needed. If the game is Hor+ and gets the FOV value right from the start, you may not need to change it. However, typically, FPS games in the seventh generation consoles are played with a lower FOV. This obeys several reasons. Displaying less of the game world improves framerates, it can ease aiming at objects far away and, more importantly, if you play a first person game in your living room at certain distance from the TV, a slightly lower FOV feels more natural. Some players get motion sickness from the small fisheye effect that the traditional FOV creates near the edges of the screen, specially when playing in widescreen.
At the same time, players who may not play in their living rooms but in, say, a small and close TV in their bedrooms, or using their PCs like myself, may experience motion sickness with a reduced FOV. For example, I experience motion sickness in Borderlands or Bioshock 2 if I don’t hack the FOV value. Hack is an almost appropriate word here because many games do not provide an easy way of changing the value, and it can even reset after loading a level or playing a cutscene (Bioshock 2 is incredibly annoying in this regard). This type of motion sickness due to low FOV is the one you would get if you tried to go for a walk on the street looking through binoculars.
It’s important that you can adjust the FOV
As someone who experiences motion sickness in some recent games due to unusual and low FOV values, I think it’s pretty important to let users adjust the FOV. If you’re a game developer, you don’t know how your users are going to play the game. If they have a console, they may play it on a big TV far away or they could play it on a a small TV very close to them. If they have a PC, they may play it half a meter away from their monitors, or they may have connected their PC to the living room TV.
You can’t guess the situation for everyone, and the consequences can be motion sickness, that is, feeling physically ill and dizzy. Hence the importance of being able to adjust the value.
In my humble opinion, a FOV slider should be included in most first person games and maybe as prominently as being next to other typical image controls like brightness.
Some games do this right by including a FOV setting in the video menu. I mentioned Borderlands 2, but other games like Half-Life 2 (and many other Source-engine games) provide a FOV slider too.
For bonus points, and given the industry state nowadays, make the game Hor+ and make the FOV widget adjust the vertical FOV, labeling the setting as such (the word "vertical" is important), so as users we don’t have to guess which value we’re supposed to choose. We can go to 74 or 75 to get a traditional FOV and to 59 or 60 to get a narrower FOV like the one in Bioshock 2 or some Call of Duty games.