- [UT2003 / UT2004] Configuration & More: An Informational
- 31 Jul 2017 02:59:19 am
- Last edited by CVSoft on 03 Aug 2017 10:05:34 pm; edited 2 times in total
By request of many, I've written an article covering optimal computer setup, game configuration, basic movement mechanics, and active servers. I recommend that everyone with UT2003 or UT2004 read this, as it provides fixes to many game issues and encourages proper gameplay practices. Due to formatting limitations on phpBB, I recommend the original article be used; due to the uncertainties inherent in the uptime of external websites, a copy is provided below.
UT2004 Optimization and Training
I am writing this article to help people configure their UT2003 and/or UT2004 installations consistently and properly, while also providing resources to practice and refine their skills. This article is quite dense, so take it one section at a time.
System Changes
Hardware
In order to have a gaming-friendly computer setup, I recommend using a mouse with a polling rate of at least 500 Hz, 5 mouse buttons, and 30G acceleration. Using low-quality mice can clip fast inputs, leading to non-linearity. The sensor used should be as linear as possible. I use a Corsair Sabre RGB 10K; while it has 10000 DPI input natively, the sensor is a bit jittery there. It doesn't clip my inputs, and is quite linear. I recommend the Logitech Proteus Spectrum, which features a fabulous 12000 DPI sensor. Always use your sensor's native DPI whenever possible; the native DPI may not always be the highest DPI your drivers will let you use. The mousepad should be clean; a good washing procedure I use is to add a dash of Oxi-Clean to a sink full of warm water, scrubbing the mousepad with a soft brush (I use a toothbrush, but it's not very efficient for my current mousepad), thoroughly rinsing the mousepad, and air-drying either indoors or out overnight. An optical mouse will work better on a cloth mousepad than a laser mouse; a laser mouse should use a finer-grained surface such as a plastic/glass/aluminum mousepad, as the high-contrast illumination the laser provides is not well-suited for the fibrous environment of a cloth mousepad.
Software
Disable mouse acceleration in the Windows Mouse Control Panel. Make sure you are using the highest refresh rate your monitor supports at native resolution, and ensure UT is configured to do the same (see below). For Windows 10 users, if the game crashes when going fullscreen, install the DirectX End-User Runtimes (mirror). Windows 10, by default, does not come with support for DirectX 8 and 9; the runtimes will allow the game to run in DirectX.
INI and Game Changes
INI Changes
In UT2003.ini / UT2004.ini, change the following (if a key does not exist, create it):
By default, UT2003 and UT2004 limit the framerate to either 85 or 90 FPS, depending on whether HPET is enabled. Raising the active netspeed (ConfiguredInternetSpeed or ConfiguredLanSpeed, depending on whether the active game is an Internet server) will increase the framerate to [Engine.LevelInfo] MaxClientFrameRate. As UT2003 and UT2004 are single-threaded, the packet transmissions are synchronous with frame rendering, so using a framerate higher than about 240 is not recommended. As a consequence of these being synchronous, the tickrate (basically, the internal game server's refresh rate) of the DemoRecDriver influences the playback framerate of recorded demos at a 3:4 ratio, e.g. a DemoRecDriver tickrate of 45 will play at 60 FPS. MaxClientFrameRate should be between 130 and 220, and not a multiple of your monitor's refresh rate (which is, ideally, the highest your monitor can go at native resolution and is configured in ut2003.ini/ut2004.ini (active RenderDevice class, such as [D3DDrv.D3DRenderDevice]) DesiredRefreshRate).
I also recommend adding a keybind to set netspeed (and for UT2003 users, FOV) with `set input somekey netspeed 15000|fov 106`, replacing somekey with the name of the key you want the bind applied to, and the fov number with your preferred FOV. UT2004 users don't need the `|fov 106` part.
Mouse Sensitivity
In Unreal Engine 2/2.5, mouse sensitivity varies with (and only with) DPI and FOV. To get a precise distance for 360 degree turn (which will be the measurement I am referring to when I list a distance), i recommend using the website mouse-sensitivity.com. You can calculate your current distance there, and also find the sensitivity value that gives a particular 360 distance. Always use your mouse sensor's native DPI when possible to preserve linearity. I believe the default mouse sensitivity values in UT2004 are intended for a 400 DPI mouse, which was standard in 2004 but not today. Thus, whatever your current sensitivity is, it's too high. I recommend trying 20cm sensitivity, which at 106 FOV is 552.4/DPI. I also recommend using [Engine.PlayerInput] MouseXMultiplier and MouseYMultiplier to set sensitivities and leaving in-game sensitivity at 1; this also allows for different X and Y sensitivities to be set, if not supported by the drivers.
Field of View
Unreal Engine 2 is a Vert- engine, meaning that the horizontal FOV is (approximately) constant and the vertical FOV is constrained when aspect ratio varies. Unfortunately, as the standard for monitor aspect ratio has changed from 4:3 to 16:9 (or even 21:9), this causes the default field of view to become increasingly narrow as aspect ratio widens. I use the number 106 frequently, as this is the 16:9 equivalent of a 90 degree FOV at 4:3. The adjusted field of view can be calculated by the formula NewFOV=2*arctan(tan(OldFOV/2)*(NewAspect/OldAspect)), where Aspect is a floating-point representation of the aspect ratio (e.g. 4:3 is 4/3 ~ 1.33333...). For convenience, the 90 degree equivalents at 16:9 and 21:9 are 106 and 121, respectively. While I use integers here for brevity, the engine will accept a single-precision float.
Proper Movement
Avoid QuadJumping whenever possible; this builds bad habits. Instead, travel either by running (which is quieter) or by dodge-jumping. To get the most distance out of a dodge-jump, hold a movement key and perform the dodge double-tap on a different movement key. This will travel a bit further and faster than a straight double-tap. Translocating is very noisy, but can travel safe areas faster than dodge-jumping. Don't use it in combat unless you're a coward or trying to telefrag the opponent. When in combat, do not continuously jump around; landing positions are predictable and usually ends in eating flak/bio. Use movement to aim, don't stand in one place and move the mouse around. Perform fine adjustments in aim by making a short walking movement in that direction. Additionally, moving while aiming prevents someone from making an easy headshot on you.
To practice movement, play Trials maps; Trials is a variation of Assault where the player must navigate through difficult maneuvers to reach each checkpoint. Some maps are relatively easy, while others are absurdly difficult. SuperSmashTrials and many of its variants are good starter maps.
UT2004 Servers
New players and infrequent players tend to get a bit worked-up when playing for an extended period of time; to increase stamina, my best suggestion is to play against humans regularly. The adrenaline will eventually go away, allowing more time to think and smoother movements.
If you can think of a better way to insert a table, let me know.
Noob-Friendly Servers
Non-Noob-Friendly Servers
UT2004 Optimization and Training
I am writing this article to help people configure their UT2003 and/or UT2004 installations consistently and properly, while also providing resources to practice and refine their skills. This article is quite dense, so take it one section at a time.
System Changes
Hardware
In order to have a gaming-friendly computer setup, I recommend using a mouse with a polling rate of at least 500 Hz, 5 mouse buttons, and 30G acceleration. Using low-quality mice can clip fast inputs, leading to non-linearity. The sensor used should be as linear as possible. I use a Corsair Sabre RGB 10K; while it has 10000 DPI input natively, the sensor is a bit jittery there. It doesn't clip my inputs, and is quite linear. I recommend the Logitech Proteus Spectrum, which features a fabulous 12000 DPI sensor. Always use your sensor's native DPI whenever possible; the native DPI may not always be the highest DPI your drivers will let you use. The mousepad should be clean; a good washing procedure I use is to add a dash of Oxi-Clean to a sink full of warm water, scrubbing the mousepad with a soft brush (I use a toothbrush, but it's not very efficient for my current mousepad), thoroughly rinsing the mousepad, and air-drying either indoors or out overnight. An optical mouse will work better on a cloth mousepad than a laser mouse; a laser mouse should use a finer-grained surface such as a plastic/glass/aluminum mousepad, as the high-contrast illumination the laser provides is not well-suited for the fibrous environment of a cloth mousepad.
Software
Disable mouse acceleration in the Windows Mouse Control Panel. Make sure you are using the highest refresh rate your monitor supports at native resolution, and ensure UT is configured to do the same (see below). For Windows 10 users, if the game crashes when going fullscreen, install the DirectX End-User Runtimes (mirror). Windows 10, by default, does not come with support for DirectX 8 and 9; the runtimes will allow the game to run in DirectX.
INI and Game Changes
INI Changes
In UT2003.ini / UT2004.ini, change the following (if a key does not exist, create it):
- [Engine.LevelInfo] MaxClientFrameRate=200
- [Engine.DemoRecDriver] NetServerMaxTickRate=75 (this will produce 100 FPS playback)
- [Engine.DemoRecDriver] LanServerMaxTickRate=75
- [Engine.PlayerInput] MouseSamplingTime=0.001 (while this value works, ideally use the native polling rate of your mouse)
- [Engine.Player] ConfiguredInternetSpeed=15000
- [Engine.Player] ConfiguredLanSpeed=15000
By default, UT2003 and UT2004 limit the framerate to either 85 or 90 FPS, depending on whether HPET is enabled. Raising the active netspeed (ConfiguredInternetSpeed or ConfiguredLanSpeed, depending on whether the active game is an Internet server) will increase the framerate to [Engine.LevelInfo] MaxClientFrameRate. As UT2003 and UT2004 are single-threaded, the packet transmissions are synchronous with frame rendering, so using a framerate higher than about 240 is not recommended. As a consequence of these being synchronous, the tickrate (basically, the internal game server's refresh rate) of the DemoRecDriver influences the playback framerate of recorded demos at a 3:4 ratio, e.g. a DemoRecDriver tickrate of 45 will play at 60 FPS. MaxClientFrameRate should be between 130 and 220, and not a multiple of your monitor's refresh rate (which is, ideally, the highest your monitor can go at native resolution and is configured in ut2003.ini/ut2004.ini (active RenderDevice class, such as [D3DDrv.D3DRenderDevice]) DesiredRefreshRate).
I also recommend adding a keybind to set netspeed (and for UT2003 users, FOV) with `set input somekey netspeed 15000|fov 106`, replacing somekey with the name of the key you want the bind applied to, and the fov number with your preferred FOV. UT2004 users don't need the `|fov 106` part.
Mouse Sensitivity
In Unreal Engine 2/2.5, mouse sensitivity varies with (and only with) DPI and FOV. To get a precise distance for 360 degree turn (which will be the measurement I am referring to when I list a distance), i recommend using the website mouse-sensitivity.com. You can calculate your current distance there, and also find the sensitivity value that gives a particular 360 distance. Always use your mouse sensor's native DPI when possible to preserve linearity. I believe the default mouse sensitivity values in UT2004 are intended for a 400 DPI mouse, which was standard in 2004 but not today. Thus, whatever your current sensitivity is, it's too high. I recommend trying 20cm sensitivity, which at 106 FOV is 552.4/DPI. I also recommend using [Engine.PlayerInput] MouseXMultiplier and MouseYMultiplier to set sensitivities and leaving in-game sensitivity at 1; this also allows for different X and Y sensitivities to be set, if not supported by the drivers.
Field of View
Unreal Engine 2 is a Vert- engine, meaning that the horizontal FOV is (approximately) constant and the vertical FOV is constrained when aspect ratio varies. Unfortunately, as the standard for monitor aspect ratio has changed from 4:3 to 16:9 (or even 21:9), this causes the default field of view to become increasingly narrow as aspect ratio widens. I use the number 106 frequently, as this is the 16:9 equivalent of a 90 degree FOV at 4:3. The adjusted field of view can be calculated by the formula NewFOV=2*arctan(tan(OldFOV/2)*(NewAspect/OldAspect)), where Aspect is a floating-point representation of the aspect ratio (e.g. 4:3 is 4/3 ~ 1.33333...). For convenience, the 90 degree equivalents at 16:9 and 21:9 are 106 and 121, respectively. While I use integers here for brevity, the engine will accept a single-precision float.
Proper Movement
Avoid QuadJumping whenever possible; this builds bad habits. Instead, travel either by running (which is quieter) or by dodge-jumping. To get the most distance out of a dodge-jump, hold a movement key and perform the dodge double-tap on a different movement key. This will travel a bit further and faster than a straight double-tap. Translocating is very noisy, but can travel safe areas faster than dodge-jumping. Don't use it in combat unless you're a coward or trying to telefrag the opponent. When in combat, do not continuously jump around; landing positions are predictable and usually ends in eating flak/bio. Use movement to aim, don't stand in one place and move the mouse around. Perform fine adjustments in aim by making a short walking movement in that direction. Additionally, moving while aiming prevents someone from making an easy headshot on you.
To practice movement, play Trials maps; Trials is a variation of Assault where the player must navigate through difficult maneuvers to reach each checkpoint. Some maps are relatively easy, while others are absurdly difficult. SuperSmashTrials and many of its variants are good starter maps.
UT2004 Servers
New players and infrequent players tend to get a bit worked-up when playing for an extended period of time; to increase stamina, my best suggestion is to play against humans regularly. The adrenaline will eventually go away, allowing more time to think and smoother movements.
If you can think of a better way to insert a table, let me know.
Noob-Friendly Servers
Non-Noob-Friendly Servers