Assassin's Creed Tweak Guide
[Page 8] Advanced Tweaking
Assassins' Creed is, at its heart, a console port - that means it was designed for gaming consoles, and "ported" over to PC. As with most console ports, this means that it has far less options for advanced tweaking than made-for-PC titles like Crysis or STALKER, precisely because it was never really designed to be extensively tweaked or modified by the end user. Still, this doesn't prevent you from being able to do some advanced tweaking and customize the game further to suit your specific needs. In particular, advanced tweaking allows you to 'mix and match' various settings which would otherwise not be possible if only using the in-game options. The in-game Graphic Quality slider for example controls over 8 different variables at once, so say you want to choose Level 2 on the Graphic Quality slider for better performance, but wish to maintain high resolution shadows - you can do so via advanced tweaking as described below.
There is only one main way to access advanced tweaks in Assassin's Creed, and that's via the game's initialization (.ini) files which are found under the following directories:
Windows XP: \Documents and Settings\Username\Application Data\Ubisoft\Assassin's Creed
Windows Vista: \Users\Username\AppData\Roaming\Ubisoft\Assassin's Creed
The two .ini files are Assassin.ini which holds all the in-game settings related to graphics and gameplay, and DARE.ini which holds all the audio-related variables. You can open and edit these files using a text editor such as Windows Notepad, but make sure to back them up first before making any changes.
Below we look at all the main .ini variables and what they do. Note: any variable which can be completely adjusted using the in-game settings is not covered (e.g. the PostFX or VSynch variables), and furthermore, any variable which appears to have no visual and/or performance impact is also excluded. Importantly: If you adjust these .ini files, do not go back into the in-game options as this may reset many of the variables back to default settings, and thus your changes won't be implemented.
Assassin.ini
[Player]
LastUsedProfile=1207889740
The value for this variable records your last used profile in the game. The number corresponds with the saved game and associated profile files found in your Profile directory (See the Profile section of the In-Game Settings for details). Remember, you can match profile numbers to profile names by opening the relevant .hdr file with a text editor to see what the profile name is for that string of numbers.
[Graphics]
DisplayWidth=1280
DisplayHeight=1024
These two lines determine the width and height of the display resolution used for the game. While you can set the resolution in the in-game Resolutions setting under Graphic Options, if you want to try setting a custom resolution, alter these lines - but make sure the Refresh Rate (specified below) is supported by your monitor and graphics card at your chosen resolution.
RefreshRate=60
This option determines your refresh rate in Hz at your chosen resolution. Typically it can be set using the in-game Resolutions setting under Graphic Options, however you can try forcing a different refresh rate here as long as you are certain your monitor supports it. If your monitor doesn't suppor the refresh rate your game may not start, or may start with a black screen.
ShadowDistance=4
This variable is normally controlled by the in-game Shadows setting under Graphic Options. It determines the distance at which shadows are visible. At Shadows Level 3, this variable =4, at Shadows Level 2, this variable = 2, and at Shadows Level 1 this variable =0 (i.e no shadows). If you wish to have better control over the shadow distance, you can manually set the value here, e.g using a value of 3 or 1, which is not possible by using the in-game settings. Altering shadow distance can have a noticeable impact on both the image quality and performance in the game.
ShadowMapSize=1024
This variable determines the resolution, and hence overall quality, of shadows in the game. The higher the value, the less pixellated, and the more detailed shadows will be, at the cost of some performance. It is normally controlled as part of the in-game Graphic Quality setting found under Graphic Options. However if you wish to set a value other than the specific values determined by that setting (i.e. 1024, 768, 640 or 512), you can do so here. For example, you can use values lower than 512 (such as 256 or 128) to improve performance at the cost of image quality. Note that it appears that 1024x resolution is the maximum possible, higher values seem to have no impact on shadow quality.
Multisampling=1
This variable controls Multisampling Antialiasing (AA), and can be adjusted using the Multisampling setting as described in the In-Game Settings section. The main reason you would want to adjust this setting in the .ini file is if you don't have access to it in the in-game options because you've set a high resolution. A value of 0 for this variable = no AA, 1 = 2xAA, and 2 = 4xAA. Higher values appear to be ignored.
DistanceLOD=0
This variable determines the detail of objects visible in the distance. The higher the value, the fewer objects will be visible at distance, which may improve performance in large outdoor areas. It is normally controlled as part of the Level of Detail slider in-game setting. At Level of Detail 4 and 3, this variable =0, and at Level of Detail 2 and 1 it =2. In practice altering the setting won't greatly affect most distant objects, mainly just trees and bushes, but it may provide a few extra FPS.
MaxNPCLODLevel=5
This setting controls the level of detail on all NPCs (Non-Player Characters), with the higher the value, the more detailed the features, clothing and general figure of NPCs - whether near or far from Altair - at the cost of performance. Normally you can control this variable through use of the Level of Detail in-game setting, whereby Level of Detail Level 4 = a value of 5 for this variable, Level 3 =3, Level 2 =2 and Level 1 =1. However here you can set a value of 4 if you wish, which is otherwise not possible in the game. Note that setting a value of 0 for this variable causes major glitching in the game.
SmallObjectsCullDistanceModifier=1
MediumObjectsCullDistanceModifier=1
These variables appear to control the distance at which certain sized objects are removed from view, however visually the impact is difficult to tell. They are controlled as part of the Level of Detail in-game setting, and at progressively lower levels of detail, these variables rise in value - e.g. at Level of Detail 1 on the slider, SmallObjectsCullDistanceModifier=5, and MediumObjectsCullDistanceModifier=3. A value of 1 for each should provide the highest quality.
MaxSearchTimePerFrame=2000
After testing this variable in both XP and Vista, I'm unclear as to precisely what it does. I do note however that in my XP, this variable =2000, while in my Vista it =10000, both using exactly the same settings (everything at maximum). If anyone knows exactly what this setting does, please Email Me with the details so I can update the guide.
Update: Based on further feedback, the value for this variable seems not to differ by OS, rather it seems to differ on various systems for other reasons which are not clear.
Fullscreen=1
This variable controls whether Assassin's Creed starts up in fullscreen (=1) or windowed (=0) mode. Fullscreen mode is always recommended for optimal performance and minimal problems - especially under Windows Vista where fullscreen applications automatically disable the desktop and thus improve performance. However if you find the game starting up in windowed mode even if you don't want it to, make sure this option is set =1 and if that doesn't work, press ALT+Enter to force the game to switch to fullscreen mode.
Particle=1
This variable is normally controlled as part of the Graphic Quality in-game setting, and is automatically enabled at Graphic Quality Levels 3 and 4. It determines whether particle effects such as smoke, dust and moving clouds are used. When set to =0, all particle effects are disabled, which can noticeably improve performance at the cost of some realism.
LODBlend=1
This variable is normally controlled as part of the Graphic Quality in-game setting, and determines how smoothly the level of detail transition is made as distant objects come closer. For example with LODBlend=0 (disabled), additional details on buildings will suddenly popup into view as you walk closer to them, rather than blending in more smoothly when LODBlend=1 (enabled). Disabling this option can improve performance but will reduce realism and can be particularly annoying if you constantly notice the LOD transitions.
Layers=1
This variable is normally controlled as part of the Graphic Quality in-game setting, and determines whether additional 'decorative layers' are applied to the game world. These are minor graphical touches, such as additional pathways in the cobblestone streets (See screenshot comparison of Level 1 vs. Level 2 Graphic Quality in the In-Game Settings section for an example). If disabled, the visual impact is not particularly noticeable, but then neither is the performance impact, so this is best kept enabled unless truly struggling for FPS.
Anisotropic=1
This variable is normally controlled as part of the Graphic Quality in-game setting, and determines whether Anisotropic Filtering (AF) is enabled or not - see the bottom of this page of my Gamer's Graphics & Display Settings Guide for more details. If set to 1, Anisotropic Filtering is enabled and improves visual quality at the cost of some performance; if set to 0, AF is disabled. Values higher than 1 seem to have no additional impact on image quality.
DistanceLODEnabled=0
This variable is normally controlled as part of the Level of Detail in-game setting, and essentially determines whether the texture streaming system in Assassin's Creed is enabled or disabled. If set to =1, texture and detail streaming is enabled, which can result in anything beyond a short radius outside Altair's immediate vicinity being virtually barren and with minimal surface detail. Then as Altair moves around, textures and details will stream or pop into view. This can improve performance, but completely reduces immersion, and can also create some glitches.
AdvancedDynamicLighting=1
This variable is normally controlled as part of the Graphic Quality in-game setting, and determines whether advanced dynamic lighting is applied to the game world. If disabled (set to =0), this effectively removes all shadow and surface effects, making the game world bland, monotonous and unrealistic, as well as resulting in some glitches.
[Performance]
MaxNumNPCs=105
This variable determines the total number of NPCs which can exist at any one time, and is normally controlled by the Crowd Density in-game setting. However here you can alter this value beyond that allowed by the in-game settings. The minimum working number is 60 here (as opposed to 80 when set to Crowd Density Min in the game), the maximum working number is 105, the same as the Crowd Density Max setting.
The next page concludes the Advanced Tweaking for Assassin's Creed.