Technical Information

This page covers all the technical information runners should know before both attempting a speedrun and submitting their personal bests to the leaderboards. There are settings that you must adjust in order to have your run be eligible for verification, such as applying a gamma filter to your game feed in your recording or editing software.

## Rules

Make sure that you follow the rules of the category you’re running, which you can find on each game’s page on speedrun.com:

23:11 (No Quitouts)
 Justine | 3:22
 A Machine for Pigs | 21:08
 Rebirth | 42:37

The following rule can be found on speedrun.com and must not be overlooked:

**The game must be clearly visible. The gamma can be increased either as a filter in your recording software or in post.**

A tutorial on how to increase gamma can be found here. More details can be found in the Graphics Settings section.

## Timing

LiveSplit is a sleek, highly customizable timer used by speedrunners all over the world. With its highly customizable interface, component add-ons and Game Time timing features, it is a must for PC speedrunning.
There are load removers available for all Amnesia games. Make sure you enable the load remover in ‘*Edit Splits*’ by hitting ‘*Activate*’, then, don’t forget to right-click LiveSplit and choose **Compare Against Game Time'*, NOT*** *Real Time'* (which LiveSplit is set to by default).
Alternatively you can force your timer to always display *Game Time* by selecting that option in your layout settings.

## Configuration Files

### Controls Config

Here's a video tutorial for most of the things mentioned below.

In all the Amnesia games you can bind one action to two inputs. It is highly recommended to bind the jump action to **scroll wheel up** and **scroll wheel down** for all games except *Rebirth*. This will make boosting significantly easier, faster and more consistent. To change input settings go to:

 Justine
 AMfP
 Rebirth

The document can be opened using Notepad or any other text editor. It is highly recommended to change the input for **Jump**, **Interact** and **Crouch** for all games except *Rebirth*. Here's how these lines of input should look like. Note that "Keyboard.F" is a popular alternative to "Keyboard.Space" for Crouch.

`<Jump Primary="MouseButton.WheelUp" Secondary="MouseButton.WheelDown" />`
`<Interact Primary="MouseButton.LeftMouse" Secondary="MouseButton.WheelDown" />`
`<Crouch Primary="Keyboard.LeftControl" Secondary="Keyboard.Space" />`

### User profile config

You are also able to configure additional settings within your Amnesia profile. These settings are useful for learning, practice, and discovering new tricks.

You can use CTRL + F within these files to find the setting you want to change.

 Justine
 AMfP
 Rebirth

Allow quicksaving and quickloading.

*The Dark Descent*, *Justine*, *A Machine for Pigs*

F4 creates a quicksave, F5 loads the most recent save.

*Rebirth*

F9 creates a quicksave, F10 loads the most recent save.

`AllowQuickSave="true"`

### Main user config

The games also have global settings that apply to all profiles. These settings are useful for learning, practicing, and discovering new tricks.

In *Rebirth*, there is no main\_setting.cfg file. Instead, user\_settings.cfg has the contents of both.

You can use CTRL + F within these files to find the setting you want to change.

 Justine
 AMfP
 Rebirth

Enable the debug menu, which can be toggled on/off in-game by pressing F1.

`LoadDebugMenu="true" (*The Dark Descent*, *Justine*, *A Machine for Pigs*)`

`DebugMode="true" (*Rebirth*)`

When booting the game, you can disable the splash screens that pop up (which you would otherwise press ESC to skip)

`ShowPreMenu="false" (*The Dark Descent*, *Justine*, *A Machine for Pigs*)`

`*Under investigation* (*Rebirth*)`

### Game config

For more customizability, you can also edit .cfg files in the game installation directory, inside the “config” directory. Use CTRL + F to find these settings easily.

 Justine
 AMfP
 Rebirth

**[game.cfg / ptest\_game.cfg**]

Increases the amount of saves the game keeps before it starts deleting older ones. Useful for going back and practicing maps after a full run.

`MaxAutoSaves = "200" (Default: 20)`

**[menu.cfg / ptest\_menu.cfg]**

*The Dark Descent, Justine*

Make the loading text instantly fade out without you clicking it away. This modification is allowed for use in leaderboard submissions. Some people are able to hold down the mouse button to click away the load text instantly, whereas some other people experience the game not responding and freezing when trying to input keys and clicks during the load. To level the playing field, this will remove the need to click away the text, and is equivalent to holding down click to fade the text instantly.

(This entry is at the very bottom of the file.)

`TextDurationMul = "0.0" (TDD Default 0.8, AMfP Default 1.1)`

### Half-Life Movement Config Mod

A fun miscellaneous category for *The Dark Descent* and *Justine* is the Half-Life mode. This is a modification of the movement in-game, and resembles a movement technique called "bunny hopping" from the game Half-Life by Valve.

Make these changes in your **game.cfg / ptest\_game.cfg:**

`GravityForce = "0 -10 0" (default is -20)`
`MaxForwardSpeed = "5.0" (default is 2.5)`
`InAirForwardMul = "2.0" (default is 0.75)`

The rationale for these settings is that the ratio of ground and air movement is changed, meaning you move faster if you run and jump than just running. Running and jumping is encouraged, meaning you have the added challenge of avoiding hitting your head on things.

Hint: In TDD, wait until you're able to jump in Rainy Hall before entering Old Archives!

Hint: In TDD, wait until your camera stops being pulled before entering the Machine Room!

**Setting up shortcuts to run HL config without having to edit files each time:**

1. Make a copy of game.cfg / ptest\_game.cfg and giving it a different name (the example to the right creates a copy of game.cfg and calls it game\_hl.cfg).
2. Inside this file, make the changes from above and save it.
3. Make a copy of main\_init.cfg / ptest\_main\_init.cfg and give the copy a different name (such as main\_init\_hl.cfg).
4. Inside this file, change `Game = "config/game.cfg"` to the name of the file from step 1 (this example changes it to game\_hl.cfg) and save it.
5. Make a shortcut to Amnesia.exe somewhere (this example puts it in the game files).
6. In the shortcut properties, add `config/`[file name from step 1] to the Target box, outside of the quote marks.
7. Apply the change. Now you can run this shortcut to start the game without having to edit files every time you want to run the Half-Life categories.

## Game and Graphical Settings

### Downpatching

*A Machine for Pigs* is best run on an older patch (1.01), as it has glitches that aren't possible in the latest version of the game. Frictional Games have kindly provided us with a way to get this older version through Steam.

To access it, right-click the game in your Steam library, choose Properties, then click on the Betas tab and select `speedrun_branch` from the dropdown. Steam will now start to download the older patch.

A download for amfp\_NoSteam.exe (which allows you to run the game without having Steam running) is available on the speedrun.com resources page and can be used instead of the regular amfp.exe.

### Game Settings

Disable hints. The regular hints do not impact time, but disabling the death hint actually saves time when you die.

Disable smooth mouse. Mouse smoothing adds noticeable input lag and reduces deliberate control over your camera.

### Graphics

*Amnesia: The Dark Descent* was released in 2010, and even then it was not a graphically demanding game. With a modern PC, you can easily max out the game settings to achieve the best visual quality using the settings below:

#### Graphics (Basic)

VSync causes input lag. The downside of disabling VSync is that it allows screen tearing to happen.

#### Graphics (Advanced)

Notice that having everything on does not give the best visual result!

The post processing effects should be completely turned off. They smear, distort, blur, and darken the image to impair visibility. These effects may be appreciated in a playthrough, but not in a speedrun.

SSAO should be turned on, but the samples and resolution really don't matter much in terms of the visual effect. 4 samples + medium resolution is very hard to tell apart from 32 samples and high resolution, however having the samples and resolution up severely decrease performance. A reasonable number of samples is 4 or 8. Having 32 samples is overkill and has negligible visual effect. And keep in mind that changing resolution from medium to high uses 4X the amount of GPU power for SSAO. The recommended setting is thus 4 samples and medium resolution.

Smoothing should be turned off. It uses really crappy FXAA. It also severely blurs the edges of some objects like doors. Instead of using this, you can enable FXAA in your GPU driver settings for this game which produces a better result.

#### Low Visual Quality (High Performance)

If you experience lag in-game and are unable to hold a stable 60 FPS, you can try lowering the in-game graphical settings to fix this. If your game appears fine when you play, but the recording comes out laggy, lowering game settings will not fix this issue. This will only make your game experience smoother.

Starting from the best graphical settings, you can first try lowering the SSAO samples and resolution all the way down. Next, turn down shadow quality. If you still need to keep turning things down, turn off SSAO and shadows.

Here is a video tutorial on how to optimize your graphical settings for performance.

It can also be beneficial to play with the texture quality set to ‘Low’ regardless of your computer. This will make it easier to spot visual cues which can be used for things such as consistent clip setups. If you choose to use low texture quality, it is recommended you use the "nearest" texture filter so you can see the sharp edges of pixels. Otherwise the texture filter makes everything a blurry mess, and look like they're made out of cheese or Play-Doh, or both.

## Recording Settings

### Gamma filter for OBS

One of the requirements for video submission is to provide the moderators with game footage that is clearly visible. Because horror games are naturally darker than most other games, you need to increase the gamma (a brightness setting) for your video. **For Amnesia, increasing gamma in-game does not increase gamma on your stream/video recording, because it does not change how the game pixels are rendered. Instead, the increased gamma acts as a post-effect.**

You need to manually brighten the video. To increase gamma in OBS, right-click your game capture and select ‘*Filters*’, add the filter ‘*Color Correction*’, and move the gamma slider far enough to the right so that the video is no longer too dark. **For most people, the minimum should be 0.40.** Here's the video tutorial once again.

You can also brighten up the video after a recording was already done with the default gamma. However, it is recommended that you brighten up the video in OBS before it gets encoded/recorded, because brighter images retain more detail after the video compression. (Advanced: If you record the game in lossless quality, you can record with default gamma and you'll have more flexibility on how much gamma to apply in the editing stage.)

### Stats Dock

When testing recording/streaming settings, and recording/streaming in general, it's useful to enable the Stats dock. It shows you free disk space, data rate, FPS, and missed/skipped/dropped frames. Once you enable it, the Stats window shows up on the screen.

You can drag this into any part of the OBS interface to dock it.

### Optimizing Performance

If you are dropping a lot of frames or you get a message at the bottom of the OBS interface that the encoding is overloaded, your system is struggling to encode the video. As a worst-case scenario, you may need to reduce the recording resolution and/or framerate. However, there are many things you can try before that.

#### GPU Encoding

For most people, GPU recording is recommended. Modern GPUs have dedicated video encoding chips built-in, and can be used to encode the OBS recording/stream. If you use this, the impact on CPU will be negligible. The only downside of GPU encoding is that compression efficiency is lower than CPU encoding, assuming you have a reasonably powerful CPU. The same average bitrate recording will look worse with GPU than CPU encoding.

In the advanced recording settings, select NVENC if you have an Nvidia GPU, or AMF/VCE if you have an AMD GPU.

For the preset, try using Max Quality first. If the encoding gets overloaded, switch to a higher performance preset.

#### CPU Encoding

If you cannot use GPU encoding, CPU encoding using the x264 encoder is also an option. This is only recommended if you have a CPU with more than 4 cores, otherwise this may impact your game performance significantly.

For the preset, a slower preset makes your CPU work on compression for longer to achieve better compression efficiency. A faster preset makes your CPU work less hard on compression, resulting in lower CPU usage but worse compression efficiency. "Veryfast" is a good starting point for real-time recording. If your CPU usage is too high and you're getting FPS lag in-game, try "superfast." "Ultrafast" (as well as "placebo" for that matter) is an extreme setting and is not a good tradeoff between CPU usage and compression efficiency, and should be avoided. Fast-motion scenes will have much more visible artifacting compared to "superfast" or "veryfast."

### Rate Control

For streaming, a constant bitrate mode is recommended. This gives your internet connection and the streaming platform a consistent and predictable data stream for the video.

For local recording, a quantizer/quality-based rate control is the best for efficiency. x264 uses CRF, and NVENC uses CQP. These rate controls are very similar, and both use a quantizer level you specify. CRF goes from 0 to 51, and CQP goes from 1 to 30. The **lower** the number, the **higher** the quality. CQP specifies a quality level which each frame will be encoded at, and CRF specifies a *perceived* quality level. A reasonable number to use is 20 for 1080p recording. For higher resolutions, you can raise this number, and for lower resolutions, you may want to lower this number. A disadvantage to using these rate controls is that the average bitrate is hard to predict, and varies depending on framerate, resolution, and scene complexity. The solution? Do lots of test recordings to get a feel for how this works!