Fallout 3 Tweak Guide
[Page 8] Advanced Tweaking
Fallout 3 is based on the same Gamebryo engine as Elder Scrolls IV: Oblivion, which means that it has a lot of scope for tweaking and customization. There are three main ways to customize Fallout 3 outside of the regular in-game settings: Mods, .ini (initialization) file tweaks, and console commands. Mods are covered on page 4 of this guide, and console commands are covered in the next section, so this section looks at how you can alter a range of additional settings which will impact on Fallout 3's user interface, gameplay and performance via the .ini files.
Fallout 3 has two main .ini files which hold all of its key settings. These are the Fallout.ini and FalloutPrefs.ini files, both found under the \Documents and settings\[username]\My Documents\My Games\Fallout3\ directory in Windows XP, or the \Users\[username]\Documents\My Games\Fallout3\ directory in Windows Vista. You can edit these files using a standard text editor like Windows Notepad. Before altering either of these files, I strongly recommend making backup copies of each and storing them somewhere safe. Note that if at any time you wish to return your .ini files to their default settings, simply delete them and the next time you launch Fallout 3 it will automatically recreate them with the default options - though obviously you will lose all your customizations. If you just want to see what the default settings are at any time, refer to the Fallout_default.ini file found under the \Program Files\Bethesda Softworks\Fallout 3 directory, however do not delete or edit this file in any way.
Interestingly, and somewhat confusingly, the contents of the Fallout.ini and FalloutPrefs.ini files are very similar. In general whenever you alter a setting using the Launcher or the in-game settings, the change will be recorded in FalloutPrefs.ini. But most general system settings will only work if they are changed in Fallout.ini. So to ensure there is no confusion, I clearly note at the end of each variable description below which specific .ini file to change the setting in, e.g. (Fallout.ini) or (FalloutPrefs.ini). If in doubt, or you experience any problems, change the setting in both files just to make sure it's applied correctly.
Fallout: New Vegas Update: Most tweaks which would normally go in the Fallout.ini file in Fallout 3 actually need to be made in the Fallout_default.ini file found under the \Program Files (x86)\Steam\steamapps\common\fallout new vegas directory in Fallout: New Vegas. This is because when the game is launched via Steam, it opens the launcher first, which overwrites your Fallout.ini file with the contents of the Fallout_default.ini file, along with your launcher settings. Make a backup of Fallout_default.ini, then edit it with a text editor.
Importantly: I have tested all the major variables in both the .ini files, and those which seem to have no discernable or useful impact, and those which can be fully adjusted using the in-game settings, are not included below. Just because a variable has a name which appears tempting or obvious, doesn't mean it actually has any impact at all when altered. Some of the variables relate to general functionality in the Gamebryo engine which has not have been specifically implemented in Fallout 3, or which the developers have disabled for some reason. For example some of the variables which worked in Oblivion do nothing at all in Fallout 3, despite what you may read elsewhere. If in doubt, test a variable for yourself by doing screenshot and FPS comparisons.
If you're having problems finding any of these commands in your .ini file, first make sure you're using the right .ini file (read the information above again carefully), then go to the top of the file, press CTRL+F to open a search box, type or paste part or all of the variable name into there, and it will find it for you. All commands below should be in everyone's .ini file, and all major working commands which actually do something useful are covered here. Remember, the correct .ini file to edit is mentioned at the end of the command, but if not noted, or if in doubt, change the setting in both .ini files.
Below are listed all the main .ini variables, categorized by their general functionality.
iPresentInterval=0 - This variable controls Vertical Synchronization (VSync) in the game, as covered in the In-Game Settings section. If set =1, VSync is enabled, and if set =0 VSync is disabled. VSync should first be adjusted in the Launcher settings screen, but if it fails to be implemented properly, it can be force enabled or disabled using this setting (Fallout.ini).
fForegroundMouseMult=4.0 - This variable controls the level of mouse acceleration in 2D interfaces such as in-game menus. Lowering the value of this variable will reduce mouse acceleration, while raising it will increase acceleration. It doesn't exist by default, so it needs to be inserted under the [controls] section of the Fallout.ini file. Better yet, if you want to remove all traces of mouse acceleration, copy and paste the following four lines under the [controls] section of Fallout.ini:
bDisableAllGore=1 - If set to =1, this variable will disable all gore in the game. This includes removing all blood decals and splatter marks, and all forms of dismemberment. Note: This setting does not exist by default in the .ini file, it must be manually created exactly as shown above and placed under the [General] section of the Fallout.ini file (e.g. insert it under the last sLanguage=ENGLISH line). If on the other hand you want more control over the level gore, try a mod such as this Gore Tweak Mod (Fallout.ini).
bAllowScreenShot=1 - When set to 1 allows you to take a screenshot at any time by pressing the PRINT SCREEN key. Screenshots will be in BMP format and stored in your \Program Files\Bethesda Softworks\Fallout 3 directory, or \Users\[username]\AppData\Local\VirtualStore\Program Files\Bethesda Softworks\Fallout 3 if you're using Windows Vista with UAC enabled. Alternatively, you can use Fraps to take JPG screenshots, which is my preference (Fallout.ini).
SScreenShotBaseName=ScreenShot - This determines the name given to every .bmp screenshot file taken using the PRINT SCREEN button as covered above, e.g. Screenshot3.bmp. The number at the end of the screenshot name is determined by the iScreenShotIndex variable, which indicates what the next number in the series will be (Fallout.ini).
The variables above control the position, number of visible lines and color of the font used for the Command Console (See Console Commands section). Adjusting the iConsoleTextYPos and iConsoleTextXPos values will shift the console text around the screen, with the YPos value determine how far from the top the text is (higher values will shift it further down), and the XPos value determine how far from the left it is (higher values will shift it further right). The iConsoleVisibleLines variable controls the maximum number of text lines shown on screen at any one time in the console. The rDebugTextColor value determines the color of the console font, with the value expressed in RGB - use this RGB Calculator and enter the three numerical values in the top right and click Calculate to determine the color, or click the Table button at the top to select from a preset list of values. Note: the iConsoleFont=2 variable doesn't seem to change the font size or type, and setting it to 0 can cause a startup crash (Fallout.ini).
fDefaultFOV=75.0000 - Shows the default Field of View in degrees for the game, which is 75 degrees. Changing the Field of View using this variable doesn't seem to work properly as it is not applied when the game starts, so instead you will need to use the FOV console command (See Console Commands section) each time you start them game to set a different field of view.
Update: It has been discovered that by inserting the line fDefaultWorldFOV=75.0 at the bottom of the Display section of the Fallout.ini file, and assigning it a value equal to the FOV you want, you can now permanently change the default Field of View in the game. Remember however that if you change the default FOV, you may also need to change the FOV for other screen elements - see the fRenderedTerminalFOV and fPipboy1stPersonFOV commands below. Note also that you can alter the fDefault1stPersonFOV=55.0000 value to alter how much of your body/weapon is shown in front of you (Fallout.ini).
bShowQuestMarkers=1 - If set to =0, this variable will disable the quest markers which appear at the very bottom of your compass, pointing in the direction of your active quest (FalloutPrefs.ini).
bBorderRegionsEnabled=1 - If set to =0, this option removes the invisible barriers around the outer edges of the game world, though not much is beyond (Fallout.ini).
bInvalidateOlderFiles=0 - This variable needs to be changed to =1 when installing any mods, as covered in the Mods section on page 4. When set to =1, it will use the latest version of any files found under the \Program Files\Bethesda Softworks\Fallout 3\Data\ directory; in other words it will use the modified files rather than the original files in its archives (Fallout.ini)
The above variables determine whether you can kill 'essential' characters, i.e. characters which have a major role in the storyline and are normally prevented from being killed. If you set both these variables to =0 you can now kill such characters, however obviously down the track you may then not be able to complete various quests, and may even ruin the main storyline, so it is not recommended. Back up your saved games regularly if you do use this (Fallout.ini).
iFPSClamp=0 - This variable appears to control the synchronization between game physics and graphics, or something similar of that nature. By default it's set so that they're synchronized (=0), however this is known to cause 'micro-stuttering', or more aptly, frame skipping - see the Troubleshooting Tips section for a discussion of this and some solutions. The skipping seems to occur because certain frames are dropped to keep up with the physics tic rate. In any case by setting this variable to =60 for example, you can remove micro-stuttering, however in places where your framerate is below 60FPS the game physics will slow down, and in places where your FPS rises above the iFPSClamp value, the game physics will speed up. For that reason it is recommended that you do not alter this from its normal value of =0, and again see page 3 for other solutions to micro-stutter/skipping (Fallout.ini).
bDisablePlayerCollision=0 - If set to =1, this variable disables player collision, which effectively means that your character can walk through any solid object. This is not recommended as it will glitch the game, instead if you want to temporarily disable player collision at any time, use the TCL console command (See Console Commands section) (Fallout.ini).
The above settings determine the 'safe zone' within the screen for the placement of your Heads Up Display (HUD) elements. By reducing the values, such as to a value of =5 each, this will move the HUD elements further towards the edges of the screen, making them seem less intrusive. If you want to further resize, customize or remove various HUD elements, see the Interface mods under the Mods section on page 4 (Fallout.ini).
There is a series of four title slides which play before you reach the main Fallout 3 menu screen - these are each named in the four sWelcomeScreen variables shown above. Unfortunately there doesn't appear to be any way at the moment to bypass them entirely; deleting them for example will just result in blank purple slides loading at the start. The best that can be done is to speed up their transitions by changing the fLoadingInitUpdateInterval=5.0000 variable to =0.0000. In practice though it's quicker and easier just to press a key or click the mouse a few times during the initial slides and get to the main menu in a couple of seconds (Fallout.ini).
These variables control the frequency with which background slides and text overlays are updated on the main menu screen and on the general loading screens while loading saved games for example. The fLoadingTextUpdateInterval=10.0000 variable controls how often the text is cycled (in seconds); the fLoadingBkgdUpdateInterval=10.0000 variable controls how often background slides are changed on loading screens; and the fMainMenuBkgdUpdateInterval=10.0000 variable controls how often background slides are updated on the main menu screen. If you want to eliminate the constant changing of slides and text you can raise these values - for example raising the fMainMenuBkgdUpdateInterval=10.0000 value to =180 (3 minutes) means the main menu screen will effectively become static (Fallout.ini).
fRenderedTerminalFOV=0.15 - Sets the Field of View for the computer terminal screens within the game. Altering this setting effectively determines the size of the screens - higher values will make the terminal screens fill less of your screen, lower values will make the terminal screens larger (Fallout.ini).
fPipboy1stPersonFOV=47.0 - This variable determines the Field of View when you open your Pip-Boy 3000. The lower the value, the more of the screen the Pip-Boy will take up (and parts of the Pip-Boy may also become obscured); the higher the value, the smaller the Pip-Boy will be compared to the rest of the screen (Fallout.ini).
fBlurIntensityPipboy=0.25 - This variable determines how bright and blurry the readout is on the Pip-Boy. Higher values will increase the general haziness and brightness of the readout, while setting it to a value of =0 will make the interface clearer but less bright (Fallout.ini).
While you can alter the Pip-Boy and HUD colors using the in-game settings, they are limited to four preset colors (Green, Blue, White and Amber). Here you can alter the Pip-Boy and HUD colors further. The color code used is a decimal representation of RGBA Hex code (Red, Green, Blue, Alpha in Hexadecimal). Basically, to get the correct numerical code for the color you want, you first have to work out its Hex value - again, use this RGB Calculator, click the Table link at the top, select a color, and see the resulting Hex code in the top left of the calculator. Copy this code and add a fourth set of digits for the Alpha (transparency) value, typically FF for solid, lower hex values will be more transparent. Then plug the final 8-digit code into a Hex to Decimal converter such as this one and the resulting string of numbers in Decimal view can be used as values for the variables above. Note: the code for Default Blue is 785383423, Default Green is 452952319, Default White is 3321888767, and Default Amber is 4290134783 (FalloutPrefs.ini).
The next page continues the .ini tweaks, looking at Graphics-related variables.