28
\$\begingroup\$

This is less of a question aimed at developing a game and more about the technology behind it. A number of gaming journalists and pro gamers (both in the tournament and the home entertainment sector) often hammer on the matter that any first or third person game should have a way to change the field of view, and I agree with them. The main reason they mention this is because a pretty large number of players get motion-sickness related headaches and eyestrain if they play with an overly constrained field of view.

I can understand if an indie developer does not allow this due to budget constraints, because they need to add support to the engine for that. However, a number of developers use high profile third party engines like Frostbite, Unity, Unreal, or Cryengine, but don't offer an option for changing the field of view.

Why shouldn't I permit changing the field of view, if the technology allows for it?

\$\endgroup\$
4
  • 6
    \$\begingroup\$ Weirdly I find ever changing the field of view deeply unpleasant; even though I reset it to default I never believed it looked right ever again \$\endgroup\$ Commented Apr 2, 2014 at 14:40
  • 5
    \$\begingroup\$ Do you have any source references for this "pretty large number of players," and preferably more than one? \$\endgroup\$ Commented Apr 2, 2014 at 15:46
  • 2
    \$\begingroup\$ According to theguardian.com/lifeandstyle/2011/dec/19/…, 10-50 % of people worldwide suffer from this illness in some respect. \$\endgroup\$
    – Nzall
    Commented Apr 3, 2014 at 7:24
  • \$\begingroup\$ I totally get sick above 90. \$\endgroup\$
    – Almo
    Commented Apr 3, 2014 at 16:13

6 Answers 6

40
\$\begingroup\$

4A Games, the developers of Metro: Last Light were receiving a lot of criticism for not having a FoV slider in their game. Community manager Maurice Tan defended their decision on the Steam forums as follows:

The main reason for maintaining a fixed FOV is because we have 3D elements like the watch and weapon ammo that need to remain visible.

In addition, all the game's first-person cut scenes and cinematics and each and every animation involving Artyom's hands - idle weapon animations, reloads, ladder climbing, melee attacks etc, - were created assuming the same, fixed field of view.

Changing the FOV would break all the cut-scenes and animations - you would be able to see inside Artyom's arms, or they would appear to float in the air in front of you. Or worse.

We had considered offering three FOV pre-sets, but this would still require significant work to re-do every animation, adjust the HUD and UI and other seemingly small but incredibly time consuming tasks.

Even with a wider but still fixed field of view, Artyom's hands would look too far away. We know - we tried.

Game performance is also tied to FOV - the amount of geometric detail we put in each scene has been partly determined by this set FOV, and setting a wider FOV would have a performance impact.

The main reason for not having a FoV slider was that they were going for a no-hud high-immersion approach were all information important for the player was displayed on 3d elements in their field of view. When your GUI is part of your render-scene, changing the FOV changes your GUI.

Something Tan didn't mention in above post but which likely also was a part of their decision is that the FOV is important for level-planning. Metro: Last Light is a horror-oriented game with a lot of jump-scares and other shock-moments. There are lots of situations where the player is distracted by something interesting so they look into one direction, and are then surprised by a sudden attack from the side. This shock-effect can only work when the level designers know the FOV of the player and so know what they can and can't see when looking from a certain point to a certain other point.

The same problem also appears in a different way when directing cutscenes. When you have high-immersion first person cutscenes, you likely want to have full control over the camera to be able to control what the player can and can't see. But when you don't know the FOV, directing the cinematography properly can be impossible. When the FOV of the player is higher than you expected, they will see objects they are not supposed to see yet. When the FOV is lower, the player won't see things they are supposed to see during a cutscene.

\$\endgroup\$
4
  • \$\begingroup\$ Keep in mind that performance is also a huge concern. Metro Last Light (I played it) suffered from performance issues even on PC (but the developers don't usually say that to the community because it's not appropriate). \$\endgroup\$
    – concept3d
    Commented Apr 3, 2014 at 9:06
  • 2
    \$\begingroup\$ I have seen this mentioned often, I don't buy it. In a game like Metro: Last Light you need a range where the FOV is "valid" but anything between 75-110 should be OK. It is plain simple, make everything important visible < 75, the animations and models properly visible 75 << 110 and everything "hidden" > 110. People have different screens and not being able to adapt to that is ridiculous, especially when people get motion sick with the wrong projection. It is an accessibility feature and the minimal effort involved make this inexcusable. I think for that Developer it was an afterthought. \$\endgroup\$
    – rioki
    Commented Apr 3, 2014 at 13:52
  • \$\begingroup\$ @concept3d: It's not appropriate for very good reasons. If I can't run the game at 120 degrees then... so? Somebody else could. PCs aren't consoles, the "if you used this option it would be harder to run" argument isn't a valid one. \$\endgroup\$
    – Phoshi
    Commented Apr 4, 2014 at 10:10
  • \$\begingroup\$ @Phoshi that's exactly what I was saying. But it could be a big reason why they fixed the FOV in Metro Last Light PC, not only a gameply reason. \$\endgroup\$
    – concept3d
    Commented Apr 4, 2014 at 15:40
12
\$\begingroup\$

Not having a FOV slider in your game due to budget or technical reasons is a non argument. FOV is just one parameter in the creation of the view-projection matrix. After you have a proper matrix all the other calculations will follow by themselves. To word it in another way, making the FOV changeable means that only one line of code needs to be changed (in the camera class usually) and that an option needs to be added to the menu. The change does not propagate into other systems, they only 'see' the 4x4 matrix and don't care what the meaning of the values inside of it is.

public static Matrix CreatePerspectiveFieldOfView (
         float fieldOfView,
         float aspectRatio,
         float nearPlaneDistance,
         float farPlaneDistance
)

Matrix creation with field of view in XNA

However there are good reasons for not having a changeable FOV slider. Setting a higher FOV means that you can see more of the world on screen, this will have an impact on performance. Another reason is that in competitive play the player with a higher FOV setting will have an edge since that player can see more around him. Lastly it can ben an esthetical choice. A narrow FOV will give the player a different feeling than a wide FOV. Especially in shooters with narrow corridors a narrow FOV could add to the experience. A good example of this is the Call of Duty games where when you aim down your sight the FOV becomes smaller.

(Note that personally I do not believe that any of the reasons above should put a very low on the FOV, I just want to illustrate that in no way it is a technical problem.

\$\endgroup\$
14
  • 11
    \$\begingroup\$ Not having a FOV slider in your game due to budget or technical reasons is a non argument While I agree with all you said, this isn't the case on consoles, FOV can highly impact the performance especially on older hardware like PS3/X360, FOV directly affect frustum culling and hence have considerable impact on some platforms. \$\endgroup\$
    – concept3d
    Commented Apr 2, 2014 at 11:47
  • 12
    \$\begingroup\$ Also, changing the FOV may expose bugs, and fixing those is definitely a budget issue. \$\endgroup\$ Commented Apr 2, 2014 at 12:05
  • 11
    \$\begingroup\$ Allowing an adjustable FOV is potentially much more work than just one line of code. J. Kyle Pittman from Gearbox wrote a good piece about the problems adding adjustable FOV to Borderlands 2 caused, you should read it: gearboxsoftware.com/community/articles/1061/… \$\endgroup\$
    – nwellcome
    Commented Apr 2, 2014 at 13:15
  • 3
    \$\begingroup\$ @nwellcome It seems that all the issues he mentioned in the article stem from implementing the FOV slider as a afterthought, after everything depending on the FOV was already implemented. \$\endgroup\$
    – API-Beast
    Commented Apr 2, 2014 at 14:05
  • 4
    \$\begingroup\$ Not having a FOV slider in your game due to budget or technical reasons is a non argument, this is not true. A game may not have been designed for a different FOV from the start and has systems relying on it. Just because a barebones project skeleton can support the value changing, doesn't mean a million-lined project can. \$\endgroup\$ Commented Apr 2, 2014 at 17:02
3
\$\begingroup\$

One thing no-one else has mentioned is testing.

Every aspect of control you give a player is another variable you have to test for. For approximate full coverage, you effectively have to play through at each potential FoV, in case you get graphical issues only on one level under particular circumstances when you're in widest FoV or narrowest, or "when you saved the game at narrowest and open the save at widest".

This additional cost/delay may not be worth the additional value of FoV widening. Just because the engine supports it doesn't mean it will "just work" (although it does make it more likely). And just because the calculations should all work out doesn't mean that the user experience will be positive.

\$\endgroup\$
1
  • \$\begingroup\$ This, a thousand times this! Every toggle you add, doubles your QA load, or "halves your QA team". If you have a fluid scale, you can at best only test the extremes. Features need to be tested, and features combine, so you want to avoid the combinatorial explosion to be able to ship a solid, fun game on budget and on time. \$\endgroup\$
    – uliwitness
    Commented Nov 18, 2014 at 8:44
0
\$\begingroup\$

From a user perspective the main reason is that in multiplayer a wider FOV gives an unfair advantage.

\$\endgroup\$
5
  • 5
    \$\begingroup\$ Surely the advantage is not unfair if the competition has a FOV slider as well. \$\endgroup\$ Commented Apr 3, 2014 at 11:32
  • 1
    \$\begingroup\$ It may appear that way on the face of it but this is not the case because to be competitive people would be forced to the extreme setting, then must choose between an enjoyable or competitive experience. \$\endgroup\$
    – JamesRyan
    Commented Apr 3, 2014 at 13:58
  • 1
    \$\begingroup\$ @MarcksThomas I played Q3 with someone who used 120 FOV (or maybe even higher). I get sick above 90. It did not feel fair. \$\endgroup\$
    – Almo
    Commented Apr 3, 2014 at 15:59
  • 2
    \$\begingroup\$ I always like to max out my FOV, but my GPU is a piece of junk, and plus I only have a laptop monitor - which isn't that large. I would argue that there is an "unfair" advantage with hardware sometimes, smooth gameplay is more important than FOV, and a large screen also gives you a huge advantage. There are all sorts of factors in this, not just FOV. Besides, I didn't like the high FOV at first, but I really did get used to it. \$\endgroup\$
    – Lysol
    Commented Apr 3, 2014 at 20:57
  • \$\begingroup\$ I agree with this, and I'll cite a specific case: vehicle FOV in BF4. A misguided patch added what amounts to all-around FOV capability for vehicle drivers. The side effect is, it makes it nearly impossible to sneak up on vehicles to bomb them. Saying it doesn't impact fairness incorrectly presumes that game mechanics do not exacerbate what would otherwise not be unfair into being a serious problem. There isn't inherently anything wrong with allowing FOV changes, but ignoring that problems can arise is bad game design. \$\endgroup\$
    – user59192
    Commented Jun 7, 2015 at 7:20
0
\$\begingroup\$

As a developer, changing the field of view is a precarious decision to be made. This would also need to be a decision made early in game, in a multi-person studio it's important that a minimum frame rate and FOV are determined early on so that animations and Occlusion culling have something strict to work by. Of course Occlusion Culling can be based of numerous factors, not just Camera view.

I would say that the main reason I have never allowed FOV to be changed in game is that when this is the case gameplay generally is greatly altered, I've also known it to cause motion sickness. It will also mean that the camera is rendering more meaning a massive performance hit as games are generally optimised for their set FOV.

However, this is assuming I'm allowing you total control. There might be scope to allow the user to alter view cone from say 70-110 or something, but I don't know without testing that myself.

\$\endgroup\$
1
  • \$\begingroup\$ It's also not helpful that some people are not aware of the full effect this change will do. They think "Oh I can see more, let's make it big" then will quit the game because it makes them sick, blaming you, or 3D games or whatever. Settings screens are huge with lots of options, and I rarely remember all the settings I well-meaningly changed. \$\endgroup\$
    – uliwitness
    Commented Nov 18, 2014 at 8:47
0
\$\begingroup\$

The others gave a bunch of good reasons - Aesthetic (cut scenes, desired look&feel of the game), Multiplayer balancing, Performance drop with wieder FOV, but I want to add some ideas to the technical aspect:

Especially the technical issues are probably more convoluted than many of you think, since a lot of processing is done on GraphicsBuffers and these Buffers usually have a fixed resolution - so a lot of Graphics detail will depend on the translation of these Buffers to the actual Geometry. For example many modern Shadow algorithms (apart from volumetric shadows) look more and more Blocky and Aliased with a higher FOV and the same Buffersize. The same is true for any algorithm which does ray-tracing like operations, because the FOV is wider, the single rays are spread in a wider arc, and more detail might get lost in approximations...

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .