Tuesday, February 20, 2007

FOV

This blog isn't about games, but I'm allowed to go off-topic right?

I play a lot of first-person shooters and other 3D games and I'm surprised at how many games don't offer a field-of-view (FOV) control.

In real life we have peripheral vision but in games we generally don't. Games are designed for relatively small screens, and if they start to pack too much of the environment on one screen, it starts to look weird. So they don't. The in-game camera of a typical first-person shooter typically has a FOV between 70 and 90 degrees. FOV is usually mesured vertically, I think (it depends on the game), which means that the angle from the top of the screen to the bottom is 70 to 90 degrees.

Suppose you are standing in the corner of a large square room, and you look directly at the opposite corner of the room. Now, can you see all four walls? If the answer is yes, then your field-of-view is greater than 90 degrees horizontally. In real life you can. But in many games, you can't. Video games deprive you of your peripheral vision. (Here are some illustrative screenshots from Mass Effect 3.)

In our home we have a projector that puts a 8-foot image on our wall. It is truly sweet, and makes for an immersive game when you're sitting 5 feet away from the picture. But if the game doesn't give you peripheral vision, it's no fun. It feels like you're looking at the world through a telephoto lens. As Half-Life 2 players reported, an FOV that is too low for the screen can cause nausea. Meanwhile, an FOV that is too high looks odd (and might have the same effect). Typically, console games have an FOV closer to 70 (because the screen is expected to be far away) and PC games use an FOV closer to 90 (since you people put your eyeballs two feet away from the screen).

Luckily, many PC games (though few console games) allow you to tweak the FOV. In this entry I will record instructions for changing FOV in various games. I would prefer to focus on first-person shooters but feel free to add instructions for any game in the comments.

Call of Duty

In Call of Duty, I've heard you can change the FOV by using Notepad to add the following command to C:\Program Files\Call of Duty\Main\config.cfg before you start the game (replace X with the desired horizontal FOV):

seta cg_fov "X"

By the way, certain widescreen resolutions are only available by changing this file. Use a series of commands like the following to request the desired resolution (more information):

seta cg_fov "96.4183" seta r_mode "-1" seta r_customwidth "1280" seta r_customheight "768" seta com_introplayed "1"

Call of Duty 2
  1. Under the Options menu, enable the console
  2. During gameplay, press the ~ key
  3. Type "seta cg_fov X" (without the quotes, of course) and press Enter, where X is the FOV you want (e.g. 100)
Doom 3
  1. Open the console (Ctrl + Alt + ~)
  2. Type g_fov 100 (substitute 100 with your preferred value)
The FOV setting will be forgotten when you exit. To make it permanent, edit autoexec.cfg (see here). By the way: Doom 3 doesn't work in Windows Vista, argh!

Far Cry

Far Cry isn't designed for a custom FOV and it will switch back to the default FOV every time you zoom in & out with your gun or binoculars. Still, you might want to increase your FOV temporarily. I find that Far Cry's normal FOV works fine outdoors, but indoors you're better off with an FOV between 110 and 120.

As explained in a tweak guide, the first thing you have to do is enable devmode.
[Y]ou must go to your Far Cry game icon, right click on it and select Properties. In the Target box, insert a space after the last " mark and type "-Devmode" (without quotes). It should look something like this:

"C:\Program Files\UBISOFT\Crytek\Far Cry\Bin32\FarCry.exe" -Devmode

Click Apply and OK to close the Icon Properties box. The next time you run Far Cry from this icon it will begin in Developer Mode, which is essentially a cheat mode.
Once that's done, the simplest way to change the FOV is to type fov 110 from the in-game console (press ~ to reach it.) But since the game always tries to change it back, you might want a key to help you switch.

So do this:
  1. Pick a key that you will use to set your favorite FOV. I use "Q" because it is convenient (it replaces Lean Left, which isn't as useful as Lean Right), but if the key you pick is already used for something else, it [probably] won't work. So first, un-assign the key from within the game.
  2. Open C:\Program Files\Ubisoft\Crytek\Far Cry\DevMode.lua in Notepad.
  3. Add the following line to the top of the file:

    Input:BindCommandToKey("\\fov 110", "q", 1);

    Replace 110 with your desired fov and q with your desired key. If it worked, then you can press that key in-game to change your fov. With extra work you could maybe set up a key that cycles through two or more different settings, but I'm lazy to figure out how.
Half-Life 2

This game's default FOV is 75 which is a shame because this game can be very immersive with a higher setting. We like to use 115 or 120 on our big screen; normal people might like 95 or so.
  1. You are not allowed to change FOV at the beginning; I think you can change it after you meet Barney, pile stuff up by the window, drop down and go through the loading screen.
  2. From the menu, go Options > Keyboard > Advanced and enable the "developer console".
  3. Press ~ in-game.
  4. Type sv_cheats 1
  5. Type fov 100 (substitute 100 with your preferred value)
Valve decided FOV is a "cheat" so it doesn't work in online deathmatch games or in Counter-Strike.

Unreal Tournament
  1. Open the console (is it done with ~?)
  2. Type fov 100 (substitute 100 with your preferred value). This won't work in some servers but it works in single-player.
Unreal II: The Awakening
  1. Press ~ to reach the console
  2. Type BeMyMonkey to enable cheat mode
  3. Type fov 100 (substitute 100 with your preferred value)
  4. Press Esc to exit the console
Mass Effect 2 and Mass effect 3: click the links

Games that have no FOV control:
  • Halo
  • Call of Juarez (apparently)
  • F.E.A.R. has no FOV control, but if you use a widescreen resolution, you will have a somewhat greater FOV.
Many games that don't have a FOV control will at least have a higher FOV horizontally when you use a widescreen resolution. There is a website dedicated to widescreen gaming where you can learn more. Their master games list says "Hor +" in the "Screen Change" column if you'll be able to see more in a widescreen resolution (more of the scene is added on the left and right sides), or it'll say "Vert -" if you will actually see less (because the top and bottom of the scene are cut off). It's all explained here.

More games?

If you know how to change fov in other games or if there are other web sites that talk about this issue, please make a comment.

2 comments:

Anonymous said...

Oblivion has FOV control.

Shihan Qu said...

FOV is measured horizontally.