Dead Space 2 Mouse Fix

What is this?

This fix makes Dead Space 2 use raw mouse input without any additional smoothing or acceleration. It works with VSync and high frame rates and is easy to install without having to fiddle around with FPS limiters or config files.

Overview

Description

Even though the mouse controls in Dead Space 2 are better than in the first one, it still suffers from many of the same issues. Most notably, it has negative mouse acceleration and a sensitivity that is dependent on the frame rate, which leads to inconsistent movement when the performance is not stable.

This fix circumvents those problems by acquiring raw mouse input and injecting it directly into the game’s camera functions.

Features

  • Raw mouse input independent of FPS or VSync
  • Reasonable sensitivity range
  • Same sensitivity in each direction
  • No dead zone for slow movement
  • No additional smoothing or positive/negative mouse acceleration
  • Improved mouse cursor
  • No automatic camera re-center
  • Configuration via the ingame settings as usual
  • Simple installation and usage without any external configuration

Instructions

Supported Versions

Important: This fix relies on the latest, fully patched executables of the supported versions. Older versions or ones that otherwise have been tempered with might not work.

  • Origin/Retail
  • Steam

Install

The fix does not make any permanent changes to the game or the system and can easily be removed (see below).

  1. Extract the file dinput8.dll to your main game folder*. For example: "C:\Program Files (x86)\Origin\games\Dead Space 2\".
  2. Start the game like you would normally, for example directly through Origin or Steam

See *Loading Other Fixes/Mods/Injectors for information on how to use the fix with another fix, mod or injector that uses a DLL file with the same name.

Uninstall

  1. Remove or rename the dinput8.dll from the folder of the game.

How To Use

After the installation the fix does not require any additional treatment. Just launch the game as usual.

To change the sensitivity just use the ingame settings like you would normally. The fix also incorporates the x- and y-axis inversion settings.

Loading Other Fixes/Mods/Injectors

To increase the compatibility with other fixes, mods or injectors that are also using a dinput8.dll, this fix offers a remote loading feature of additional DLLs. This can be done in two ways:

  • File method: The fix DLL will automatically load a DLL that has the same name as itself with the postfix _Remote added to it. For example dinput8_Remote.dll. Just rename the DLL file you want to load accordingly. This is the simplest way if you only have a conflict with one additional DLL
  • Folder method: The fix DLL will also automatically load all DLL files regardless of their name in a sub-directory that has the same name as itself with the postfix _Remote added to it. For example dinput8_Remote. Just create a folder with the corresponding name in the install directory of the fix. This is the only way to load multiple (conflicting) DLLs

Note that there might still be compatibility issues between the different fixes, mods or injectors that have nothing to do with the loading process.

Additional Information

What You Should Know

This fix is essentially a hack and relies on the layout of the specific executable. There may be crashes or unexpected issues. Feel free to provide feedback so that the problems can get fixed.

Since this fix consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

If you do not — and why should you — feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the fix uses “hacking techniques” such as injection and hooking, it could trigger anti-virus software without being harmful.

Known Issues

The fix currently does not work with the alternate .exe file that removes the preorder/promotional DLC from the Steam version of the game.

Acknowledgments

I would like to thank Kaibz for his detailed bug reports and testing for the v1.0 version of the fix.

Contact And Support

If you like this fix and want to support the development or show your appreciation, you can find more information on my website. There you can also find out more about other fixes that I have done and means to contact me if you have a question, want to provide feedback, bug reports or suggestions.

Version History

v1.0:

  • Initial public release
Advertisements

Metro Mouse Fix

What is this?

This fix makes Metro 2033 Redux and Metro Last Light Redux use raw mouse input to solve the issue of different sensitivities for horizontal and vertical movement. It also changes the sensitivity range to more reasonable values. It is easy to install and use and does not require any external configuration.

Overview

Description

Even though the mouse input in Metro 2033 Redux and Metro Last Light Redux is quite good, both games apply different sensitivities for vertical and horizontal movement. They also have sensitivity settings that are too high for some players who prefer slower movement.

This fix removes these problems by acquiring raw mouse input and injecting it directly into the game’s input function.

Features

  • Raw mouse input
  • Same sensitivity in all directions
  • More reasonable sensitivity range
  • No additional smoothing or positive/negative mouse acceleration
  • Configuration via the ingame settings as usual
  • Simple installation and usage without any external configuration

Instructions

Supported Versions

Important: This fix relies on the latest, fully patched executables of the supported versions. Older versions or ones that otherwise have been tempered with might not work.

The fix supports the following versions of Metro 2033 Redux and Metro Last Light Redux:

  • Steam/Retail
  • GOG

Install

The fix does not make any permanent changes to the game or the system and can easily be removed (see below).

  1. Extract the file dinput8.dll to your main game folder*. For example: "C:\Program Files (x86)\Steam\steamapps\common\Metro 2033 Redux\"
  2. Start the game like you would normally, for example directly through Steam or GOG Galaxy

See *Loading Other Fixes/Mods/Injectors for information on how to use the fix with another fix, mod or injector that uses a DLL file with the same name.

Uninstall

  1. Remove or rename the dinput8.dll from the folder of the game.

How To Use

After the installation the fix does not require any additional treatment. Just launch and configure the game as usual.

Loading Other Fixes/Mods/Injectors

To increase the compatibility with other fixes, mods or injectors that are also using a dinput8.dll, this fix offers a remote loading feature of additional DLLs. This can be done in two ways:

  • File method: The fix DLL will automatically load a DLL that has the same name as itself with the postfix _Remote added to it. For example dinput8_Remote.dll. Just rename the DLL file you want to load accordingly. This is the simplest way if you only have a conflict with one additional DLL
  • Folder method: The fix DLL will also automatically load all DLL files regardless of their name in a sub-directory that has the same name as itself with the postfix _Remote added to it. For example dinput8_Remote. Just create a folder with the corresponding name in the install directory of the fix. This is the only way to load multiple (conflicting) DLLs

Note that there might still be compatibility issues between the different fixes, mods or injectors that have nothing to do with the loading process.

Additional Information

What You Should Know

This fix is essentially a hack and relies on the layout of the specific executable. There may be crashes or unexpected issues. Feel free to provide feedback so that the problems can get fixed.

Since the fix consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

If you don’t — and why should you — feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the fix uses “hacking techniques” such as injection and hooking, it could trigger anti-virus software without being harmful.

Known Issues

There are currently no known issues with the fix.

Acknowledgments

I would like to thank Magmarock (Steam/gog), who requested this fix and supported the development.

Contact And Support

If you like this fix and want to support the development or show your appreciation, you can find more information on my website. There you can also find out more about other fixes that I have done and means to contact me if you have a question, want to provide feedback, bug reports or suggestions.

Version History

1.2:

  • The fix now respects the vertical inversion setting

1.1:

  • The mouse modifier now works correctly with the weapon popup menu

1.0:

  • Initial public release

CoD: Modern Warfare Remastered Singleplayer FoV Fix

What is this?

This fix lets you change the FOV of the singleplayer campaign, including the size of the weapon model. It is simple to install and use and comes with a GUI for easy configuration.

Overview

Description

Despite being a decent PC version, the singleplayer of Modern Warfare Remastered lacks the option to set the FOV. Even though the default FOV is not as horrible as in other Call of Duty games, it still makes the campaign unpleasant or outright unplayable for some people.

This fix aims to fix this issue by providing an easy and convenient way to set the FOV for the game.

Features

  • Option to set the vertical FOV to almost arbitrary values
  • Option to set the FOV scale of the weapon model
  • Simple to install and use
  • Easy to configure via a GUI and ingame bindings

Important: This fix is specifically designed for the singleplayer campaign and will not work with the multiplayer version

Instructions

Supported Versions

  • Steam

Important: This fix relies on the layout of the executable. Although it uses techniques to make it more robust to modifications of the game, it might have to be updated when the game is patched

Install

The fix does not make any permanent changes to the system, the game or the configuration of the game and can easily be removed (see below).

  1. Extract the XInput1_3.dll and the MWRSPFovFixGUI.exe files to the main folder of the game. For example "C:\Program Files (x86)\Steam\steamapps\common\Call of Duty Modern Warfare Remastered\"
  2. Start the MWRSPFovFixGUI.exe to configure the fix as desired
  3. Start the game like you would normally, for example directly through Steam or Big Picture mode

A few additional notes on the installation:

  • You should hear a FOV Fix loaded message on game launch when the fix was loaded. This sound can be turned off in the config
  • The GUI requires the Microsoft .NET Framework 4.6.1 and the Microsoft Visual C++ 2015 Redistributable package; both of which should already be installed on most systems. If you are having problems starting the program, you can download the required versions here and here

Uninstall

  1. Remove the XInput1_3.dll from the game’s main folder.

Configuration

To configure the fix you can use the GUI application. Remember that you can hover over almost any option with the mouse to get an explanatory tooltip.

There are two FOV settings. The vertical FOV Base and the FOV Weapon Scale factor. The effective FOV is calculated by multiplying these two values. The scaling factor also affects the way the weapon is displayed in addition to the camera.

By default the game uses a base FOV of 65.0 and a weapon scaling of 1.0. For a 16:9 27 inch display I am using a FOV Base of 66.0 and a FOV Weapon Scale of 1.15.

Note that the settings can also be adjusted while in the game by using the corresponding keybindings.

Additional Information

What You Should Know

Since the fix consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

If you don’t — and why should you — feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the fix uses “hacking techniques” such as injection and hooking, it could trigger anti-virus software without being harmful.

Known Issues

There are currently no known issues with the fix.

Contact And Support

If you like this fix and want to support the development or show your appreciation, you can find more information on my website. There you can also find out more about other fixes that I have done and means to contact me if you have a question, want to provide feedback, bug reports or suggestions.

Version History

v1.0:

  • Initial public release

Prey Interface Customizer

What is this?

The Prey Interface Customizer (PRIC) is a user experience customization mod for Prey (2017). Use a simple GUI to disable individual parts of the UI and notifications sounds. Set UI elements to Dynamic mode to only show them with a hotkey. Bind non-standard actions, such as scrolling through the quickbar or the direct usage of a medkit. Additional options include skipping of intro videos, disabling motion blur or control of the image sharpening amount.

Overview

Description

Similar to Dishonored, Prey per default shows a lot of information on the HUD. But contrary to the former game, it does only provide very limited options to customize or disable elements of the UI. Many of those elements can be distracting or outright immersion breaking for some people, especially when they show quite gamy information, such as awareness markers or enemy health bars. Additionally, many of those elements are unnecessary, because the information is already conveyed in other ways. This is especially unfortunate, since there are many details in the animations, the environment and the behavior of enemies that get lost due to the cluttered UI.

Although there already are some great mods out there that let you disable certain parts of the HUD, they usually work on the basis of replacement files. Unfortunately this type of solution is rather restrictive in what can be disabled and also static, because you just replace the HUD texture with a transparent one.

This mod approaches the problem from a different direction and allows fine-grained control over almost all aspects of the UI. Additionally, it provides the option to use non-standard bindings, such as directly using a medkit without having to open the spiral wheel or to scroll through the items in your quickbar. All this is configurable with an easy to use GUI.

Features

  • Control over the visibility of individual UI elements, including the health/armor/PSI bars, objective markers, pickup log, button tutorial prompts, item highlighting, as well as various notifications, such as objective updates
  • Fine-grained settings, such as only disabling side-mission markers while keeping the main-mission markers visible
  • Dynamic UI mode, which shows elements only with a hotkey instead of disabling them completely
  • Options to disable various notifications sounds, such as enemy behavioral cues, objective updates or the ring sound for incoming audio messages
  • Options to change the crosshair style
  • Options to use non-standard bindings, such as scrolling through your quickbar items or directly using a medkit without having to open the spiral wheel
  • Options to skip intro videos, disable motion blur or set the image sharpening amount
  • Includes XInput fix for the controller issues that were introduced in patch v1.05
  • Easy installation and configuration via a GUI

If there is enough demand, there is also the potential of extending the list of features extensively.

Instructions

Supported Versions

  • Steam

Important: This mod relies on the layout of the executable. Although it uses techniques to make it more robust to modifications of the game, it might have to be updated when the game is patched

Install

The mod does not make any permanent changes to the system, the game or the configuration of the game and can easily be removed (see below)

  1. Extract the files of the archive to the release sub-folder of Prey. For example: "C:\Program Files (x86)\Steam\steamapps\common\Prey\Binaries\Danielle\x64\Release\"
  2. Start the PreyInterfaceCustomizerGUI.exe to configure the mod as desired
  3. Start the game like you would normally, for example directly through Steam or Big Picture mode

A few additional notes on the installation:

  • You should hear a PRIC loaded message on game launch when the mod was loaded. This sound can be turned off in the config
  • The GUI requires the Microsoft .NET Framework 4.6.1 and the Microsoft Visual C++ 2015 Redistributable package; both of which should already be installed on most systems. If you are having problems starting the program, you can download the required versions here and here

Uninstall

  1. Remove all files starting with PreyInterfaceCustomizer as well as the dinput8.dll from the release sub-folder of the game

Configuration

Although the configuration using the GUI should be easy and straight-forward, there are some things to note:

  • The GUI provides tooltips with additional information about a setting
  • You can change settings while in the game by using the Reload Config binding, which is per default set to the '-' key on the numpad. Just change the settings in the GUI as necessary, press save and then use the binding to reload the config in-game. You should hear a PRIC reloaded sound message when the reloading was successful

Profiles

Profiles can be used to create specific configurations for certain builds or to use different control schemes for multiple people who are using the same computer. The check mark on the tab indicates which profile is currently active and being used by the mod. You can also toggle all available profiles while in the game by using the Toggle Profile binding.

On first launch, PRIC will create a set of standard profiles. You can either modify these basic profiles or create as many new ones as you want by clicking the + button on the profile bar. To rename or delete a profile, just right click the tab.

The profile system works on the basis of files. If you want to share a profile with someone else, just copy the file with the corresponding name.

Presets

The mod comes with three standard configuration presets:

  • Default: All UI elements, notifications and sounds are enabled. This should be equivalent to the unmodded version
  • Reduced: Removes UI elements, notifications and sounds that are unnecessary or are already conveyed in other ways. Additional elements, such as objective markers are only visible in the Dynamic UI. This preset is chosen in such a way that it should be usable by an observant player on the first playthrough
  • Immersive: Removes all UI elements, notifications and sounds that are not absolutely essential to playing the game. This preset expects a certain knowledge of the game by the player and is probably not suitable for a first playthrough

Note that these settings are just templates and can be adjusted as desired.

Binding System

The binding system allows you to bind an action to an arbitrary combination of keys and buttons on the controller, mouse or keyboard. The system works reactively. To bind an action, double left click the corresponding box. When the box turns green, press the combination of keys or buttons you would like to assign. The combination is set once any pressed keys or buttons are released.

The mod should work with arbitrary devices that are either mice, keyboards or XInput compatible controllers. In the case of keyboards you should be able to use almost any keyboard key, independent of the keyboard type or layout. The key names are dependent on the layout currently set in Windows. If you are using an English layout, the key names will be in English, while an AZERTY layout will lead to French names. Bear in mind that the key names are automatically determined by using a Windows function and not all keys have pleasant display names.

A few additional notes on the binding system:

  • Keys or mouse buttons that participate in a binding are blocked when the binding is triggered. For example, this allows a binding to open the ability screen with LCTRL+C, while using C for crouch in the ingame settings. Beware that controller buttons are currently never blocked
  • Each key or button pressed before another acts as a modifier for the next one
  • Any key or button can be used as a modifier, not just ALT, CTRL or SHIFT
  • There is no limit to how many keys or buttons can participate in a binding
  • The order you are pressing the keys or buttons in is only important during the binding process to differentiate between bindings that involve the same modifiers. In the game the only condition for a binding to trigger is that all buttons are down
  • To unbind an action double right click the corresponding box

Additional Information

What You Should Know

Since the mod consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

If you don’t — and why should you — feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the mod uses “hacking techniques” such as injection and hooking, it could trigger anti-virus software without being harmful.

Known Issues

There are currently no known issues with the mod.

Acknowledgments

I would like to thank all those people who created the original file replacement UI mods for Prey. Although it is a great game, I would have certainly enjoyed it a lot less without them.

Contact And Support

If you like this mod and want to support the development or show your appreciation, you can find more information on my website. There you can also find out more about other mods and fixes that I have done and means to contact me if you have a question, want to provide feedback, bug reports or suggestions.

Version History

v1.2:

  • Completely revised the Dynamic UI system. With a few exceptions, all elements should now behave as expected when using the Dynamic UI binding
  • Added Dynamic UI option to control the highlighting/glow of items
  • Added Dynamic UI options to control button prompts in interaction and quick loot windows
  • Added Dynamic UI options to control various notifications, such as objective/task updates, location discovery, item pickups and more
  • Added sound option to control behavioral audio cues of enemies
  • Added sound option to control the ring before an incoming audio message
  • Added sound options to control various notifications, such as objective/task updates, location discovery, item pickups and more
  • Added options to skip intro videos, disable motion blur and set the image sharpening amount
  • Revised the layout of the GUI
  • Fixed various display bugs and crashes

v1.1:

  • The repair icon option does now work correctly
  • The mod does no longer lead to a crash when starting a new game instead of loading an existing save game
  • Buttons bound ingame no longer become unresponsive when using a key binding of the mod

v1.0:

  • Initial public release

Prey XInput Fix

What is this?

This fix attempts to resolve the controller issues in Prey that were introduced with patch v1.05, by forcing the game to use XInput instead of the Steam Controller API by Valve.

Overview

Description

While Prey offers good controller support, patch v1.05 introduced various issues. Instead of choosing either XInput or the Steam Controller API based on the user settings, the game always uses the latter. This results either in problems with the movement as well as certain controller settings or in the controller not working at all if the user has disabled the usage of the Steam Controller API in game’s properties in Steam.

This fix re-enables XInput support and forces the game to use it, regardless of the settings.

Instructions

Supported Versions

Important: This fix is is designed for latest, fully patched installation of Prey and will probably crash when it is used with any other version than 1.05.

Install

The fix does not make any permanent changes to the game or the system and can easily be removed (see below).

  1. Extract the file dinput8.dll to the release sub-folder of Prey. For example: "C:\Program Files (x86)\Steam\steamapps\common\Prey\Binaries\Danielle\x64\Release\"
  2. Important: Make sure that you have turned of the usage of the Steam Controller API (see below)
  3. Start the game like you would normally, for example directly through Steam or Big Picture mode

Although the fix forces the game to use XInput, it is necessary to turn of the usage of the Steam Controller API in the game’s settings. This is because the Steam Controller configuration emulates mouse input when using the analog sticks, which overrides the data provided by XInput. To do this, go to Big Picture mode and find Prey in you library. Click Mange Game -> Controller Options and uncheck Use Steam Configuration for Non-Steam Controllers.

Uninstall

  1. Remove or rename the dinput8.dll from the folder of the game.

How To Use

After the installation the fix does not require any additional treatment. Just launch and configure the game as usual.

Additional Information

What You Should Know

This fix is essentially a hack and relies on the layout of the specific executable. There may be crashes or unexpected issues. Feel free to provide feedback so that the problems can get fixed.

Since the fix consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

If you don’t — and why should you — feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the fix uses “hacking techniques” such as injection and hooking, it could trigger anti-virus software without being harmful.

Known Issues

There are currently no known issues with using the fix.

Contact And Support

If you like this fix and want to support the development or show your appreciation, you can find more information on my website. There you can also find out more about other fixes that I have done and means to contact me if you have a question, want to provide feedback, bug reports or suggestions.

Version History

Beta 0.2:

  • Added support for demo version of Prey
  • Added measures to make the fix more robust to updates of the game

Beta 0.1:

  • Initial release

FEAR 2 Mouse Fix

What is this?

This fix makes FEAR2 use raw mouse input and removes the game’s deadzone and sensitivity problems. It is easy to install and use and does not require any external configuration.

Overview

Description

While the mouse controls are pretty responsive, FEAR2 suffers from a deadzone for small movements, as well as an unusual high sensitivity, even on the lowest settings.

This fix removes these problems by acquiring raw mouse input and injecting it directly into the game’s input function.

Features

  • Raw mouse input
  • No additional smoothing or positive/negative mouse acceleration
  • Configuration via the ingame settings as usual
  • Simple installation and usage without any external configuration

Instructions

Supported Versions

This fix relies on the latest, fully patched executables of the supported versions. Older versions or ones that otherwise have been tempered with might not work.

  • Steam/Retail
  • GOG

Install

The fix does not make any permanent changes to the game or the system and can easily be removed (see below).

  1. Extract the file X3DAudio1_5.dll to your main game folder. For example: "C:\Program Files (x86)\Steam\steamapps\common\FEAR2\"
  2. Start the game like you would normally, for example directly through Steam or Origin

Uninstall

  1. Remove or rename the X3DAudio1_5.dll from the folder of the game.

How To Use

After the installation the fix does not require any additional treatment. Just launch and configure the game as usual.

Additional Information

What You Should Know

This fix is essentially a hack and relies on the layout of the specific executable. There may be crashes or unexpected issues. Feel free to provide feedback so that the problems can get fixed.

Since the fix consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

If you don’t — and why should you — feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the fix uses “hacking techniques” such as injection and hooking, it could trigger anti-virus software without being harmful.

Known Issues

The mouse controls of the mech are currently unaffected by the fix and might use a higher sensitivity than the rest of the game. This should not be a big issue, since those sections are quite short and comparatively easy.

Contact And Support

If you like this fix and want to support the development or show your appreciation, you can find more information on my website. There you can also find out more about other fixes that I have done and means to contact me if you have a question, want to provide feedback, bug reports or suggestions.

Version History

Beta 0.3:

  • Added support for GOG version
  • The fix is now disabled when controlling the mech. This is a temporary workaround until a proper fix for the mech controls is available

Beta 0.2:

  • The fix now uses a X3DAudio1_5.dll instead of the d3d9.dll for loading, to increase the compatibility with other fixes

Beta 0.1:

  • Initial release

Waypoint Interview – Complete Answers

A few months ago I was interviewed by the gaming website Waypoint about the development of the Dark Souls Mouse Fix (which later evolved into the Dark Souls Input Customizer). As with almost any interview, the answers were cut down to fit the style of the site and the intended flow of the author. I have no idea how many people read the original article or are even interested in this kind of thing, but for the few people who are, here are my complete answers to the questions I was given.

Be wary of wall of text


Can you talk to me a little bit about what you do in real-life, and what kinds of games you’re usually drawn to?

I recently received my master’s degree in computer science and am currently in the process of transitioning out of the lazy life of a student to something more, I guess, grown-up. What that will exactly look like I am not sure about at the moment. As a side job, I have been working as a tutor for a few years now and am currently teaching software development and software engineering at a university.

I am interested in a broad spectrum of games and there really are only a few genres I do not touch at all. But although I play almost anything from RPGs, strategy and adventure games to platformers or weird indie games, I am definitively most drawn to first-person shooters.

Dark Souls shipped with mouse support on PC, but obviously it wasn’t right for everyone. What didn’t work?

As probably most people know by now, the PC version of Dark Souls was a total mess at release and is to this day only properly playable thanks to the fantastic DSFix by Durante. Aside from many technical issues, people also quickly discovered that the mouse and keyboard controls were in a state one could, without exaggeration, only describe as unplayable. Not only showed the default layout of the keybindings a profound lack of understanding of how games are played with that control method, it was also basically impossible to properly control the camera. While there are other games out there which have sub-optimal mouse input, they usually only suffer from unwanted acceleration, sluggish movement or input lag. But the original mouse controls of Dark Souls have a very weird behavior, where the movement is choppy and controlling the camera feels like using a mouse that only updates once a second.

While the keybindings could easily be fixed in the ingame settings, the camera controls were basically broken. Another modder (whose name unfortunately escapes me), very early on came up with a solution that was the way to go when wanting to play the game with the mouse. What he did was writing a controller emulator that feeds the mouse input to the game as movement of the right analog stick, thereby circumventing the original mouse input of the game altogether. This was a good enough solution and made the game finally playable for people who do not have a controller or someone like me who just prefers to use mouse and keyboard.

Although it did a great job in helping many people (including myself) to enjoy the game over the years, it is not an optimal solution, because using an analog stick is very different on a technical level from mouse movement and therefore emulating it with a mouse does not feel like you would expect or want from a PC game. Aside from sluggish movement, the most prominent drawback of that solution is negative acceleration, meaning that the faster you move the mouse, the less camera movement is produced. This had bothered me and other people for years, but we just accepted it, because the only way of this getting fixed was for the game to be patched, which everybody knew would was not going to happen at that point.

It’s hard for me to even imagine playing Dark Souls with a mouse; a gamepad is ingrained into my mind. Is there an advantage to using a mouse, or just preference?

This is something that always comes up when talking about the Souls games. Some people even go so far and claim that those games are impossible to be played with mouse and keyboard. This is of course nonsense. All the games can be played fine with mouse and keyboard from start to finish. It is of course undeniably true that you lose a little control of the movement, because you are trading an analog stick for binary keyboard input, but in practice this actually makes very little difference. The two relevant movement speeds can be specified with a modifier key and using the eight rolling directions the keyboard offers work perfectly well to do anything you need in those games. On the other hand, you gain fine control of the camera with a mouse, which makes some things such as aiming with a bow easier. But I would be the first to admit that this also does not have a major impact to the overall gameplay, unless maybe you are playing a bow-only build.

So for most people it is not about getting an advantage, but rather personal preference. I personally cannot stand using a controller for any game in which I have direct control over a 3D camera. Even though precise input is not necessary from a gameplay stand point, I am just more comfortable with a mouse and keyboard. One of the beautiful aspects of PC Gaming is that everyone can use the control scheme he or she prefers, even though it may deemed to be inferior by other people.

What did you aim to fix with your mod, and what changed as you went about developing it?

The development was actually pretty straight forward, because it was a well defined problem, with which I as devout Dark Souls player was very familiar with. The goal was to iron out all the remaining issues the mouse and keyboard controls had, primarily by making the camera movement feel as you would expect from a proper PC game. Before I started to work on the Dark Souls fix, I had already developed a somewhat similar fix for Dead Space, which also suffers from bad mouse controls. Although these kind of fixes are custom tailored to a specific game and therefore few components can be reused, I was already familiar with the general approach of injecting the raw mouse input directly into a game’s camera functions. However, the Dark Souls fix turned out to be more challenging, because a lot more things had to be taken care of to make it work properly.

This mod goes far beyond swapping texture or importing a character model. I have to imagine this was complex. What was its development like?

Yes, even though it might not appear like it, because there are no changes to the visuals or the gameplay, fixes like this actually do take a lot of effort to make. The problem is that these kind of technical issues often cannot be fixed from outside of the game. When it comes to controls, there is only so much you can do by tinkering with configuration files or using external tools, such as AutoHotkey. If they are broken on a fundamental level, like they were with Dark Souls, you actually have to dive deep down into the guts of the game to figure out a way to solve the problem. This is why this approach should only be used as a last resort, when it is pretty clear that all other options have been exhausted and that there is no hope for an official patch to fix the problem.

To do something like this, you have to apply techniques that in computer science are referred to by the term reverse engineering. The same way you can break apart your toaster to find out how it works, you can take a look at the executable file of a piece of software to reveal its inner workings, without having access to the source code. Now, this is easier said than done, because a modern game is of course much more complex than a toaster and you are looking for very specific parts in a program that quite a few people spend years on to develop.

After having found what you were looking for, you are faced with the question of how solve the actual problem. This is a little different from conventional software development, because there are a lot of factors you do not have any control over and you have to find a way to make the game do what you want, all while being very careful not to break something. The whole process can be tedious and time-consuming, but it can also be a lot of fun because it is a challenging problem. It can also be very interesting so see how things are actually implemented in a particular game, which often provides some insight into why a game behaves in the way it does.

How long it will take to do a fix such as this is highly dependent on experience and intuition. People hacked into games forever, and of course I am far from the only person being able to do this. To be honest, I have very limited experience and skills in this kind of thing, especially compared to some other people out there, who in some cases have been doing nothing else for the past 20 years. Unfortunately, more often than not, those people usually end up developing cheats or cracks for games, instead of using their powers for good.

Was there a particular aspect of this mod that was challenging to put together? What took the most time and why?

The development of a fix such as this can broken down into two parts. First, you have the hacking part, in which you are trying to solve the actual problem by dissecting the executable and finding ways to make the game do what you want. Secondly, once you have actually achieved what you wanted, you have to think about how to make the fix usable by other people. Although the first part consumed more time overall, the second one consumed more time than I had anticipated.

What you have to keep in mind, is that you are trying to deploy something that is essentially a hack, to a game without any modding support whatsoever, for a lot of people with vastly different combinations of hardware, tools and other mods they are using with the game.

This is much harder than it may seem, because especially with Dark Souls you cannot assume that people are playing the same way you do. You have to ask yourself things such as: Is the fix easy enough to install or configure, so it can also be used by people who might not be tech-savvy? Are the instructions and the GUI design intuitively to understand? Can players configure the controls the ways they want?

Additionally, there is also the problem of compatibility. People are using all kinds of different mods and tools to customize the game, sometimes resulting in Frankenstanian amalgamations of different programs and DLLs that all interact with the game simultaneously, and you have to take care that at least the most popular ones are working with your fix. Although there was a fair amount of alpha testing before the fix was made public, there were a lot of issues like this that I had not seen coming.

At this point, Dark Souls is several years old, with most of the community having moved on to newer games like Dark Souls 3. Why keep working on Dark Souls?

Even though the sequels were generally well received, the first Dark Souls is already somewhat of a cult-classic and is by many people considered to be the best part in the series. The SteamSpy statistics seem to confirm this, with the first Dark Souls still being roughly on par with Dark Souls 2 in terms of concurrent players. Even Dark Souls 3 has only a little over twice as many, despite being a much younger game. So the first Dark Souls is far from dead and it is also a game many people hold dear and come back to for another playthrough a few years later.

Additionally, even though some games do not age well, great games generally do not suddenly become bad because they are a few years old. And I am of the opinion that good games deserve to be preserved.

How’d you originally discover Dark Souls, and what drew you to it?

As a PC-only gamer, I initially heard of Demons Souls and Dark Souls as one of the great examples of console games that are not available on the PC. And after reading about them I was kind of baffled by the decision, because from the description they struck me as the kind of games that would be very successful on a PC. I then participated in the petition to port the game to the PC, which must have been one of the very rare cases where a petition actually did have an impact on something, and then waited in anticipation for it to come out.

The thing I find most intriguing about Dark Souls is the world design and how it is connected to the gameplay. While other fantasy settings often present a peaceful world under attack by evil, the world of Dark Souls is a bleak place full of misery and despair, while at the same time being quite beautiful and appealing in its own way. The atmosphere the game creates with its art design and music immediately makes it clear that you should not expect any help to progress in the game and are supposed to figure things out on your own.

I think it is unfortunate that the Souls games are mostly known for their supposed difficulty, when a much better word to describe them would be tough. Although they are certainly not easy and may appear to be unfair at times, they are mostly about being thoughtful and observant of the environment, and will punish you if you are careless.

Do you have a history with modding, and do you tinker with things in real-life, too?

I am a long time PC gamer and came first into contact with the concept of modding around 1995, when building levels for the Star Wars game Dark Forces, together with my father and brother. Not only was it amazing to see how much work people put in custom campaigns, it was also an interesting experience to exchange levels online at a point in time where most people around you had not even heard about the internet.

While I was dabbling around with an editor to create a custom map for the original Counter Strike, I quickly realized that I lacked the creativity and dedication to contribute anything valuable for other people and I just kept enjoying modding as a player instead of a developer.

Some time ago I ran into a notorious problem in one of my all-time favorite shooters named F.E.A.R, which on many modern systems slows the performance of the game down to an unplayable degree and can only be fixed by a tedious workaround. I took a deeper look into the problem and was able to determine the cause and develop a fix for it. After I released it I was amazed by the reception and it made me realize that I could contribute to the PC community in ways that did not require any creative talent.

That is why I do not consider myself a modder in the traditional sense of the word. Up to this point, I did not create anything that changes the gameplay or visuals of a game, but rather help people to better utilize their hardware and to allow them to play a game in the way they like. There are many other great people doing stuff like this, such as Durante or the developers behind tools such as Flawless Widescreen.

Unfortunately, I have two left hands when it comes to fixing things in real-life that have nothing to do with computers. But I have an unspoken agreement with a long-time friend of mine, who works as a craftsman. I will fix any problems he has with his PC, and he will help me with any handiwork around my apartment. Which is also an idealized way I like to think about the PC gaming community as a whole.

When I saw this mod posted to reddit, the outcry of support was huge. People seemed to really appreciate it. What was that like?

It is always great to see that something you have created is helping people to enjoy a game more. Aside from the few expected naysayers claiming that the game should not even be played with mouse and keyboard in the first place, the reception was pretty good and I am very grateful for the acknowledgement I got. Although I was fully aware that the vast majority of players prefer to play the game with a controller, I did anticipate that there would be at least a few people who would be happy with a fix like this. What I did not see coming was the coverage the fix got on many, mostly PC-centric, gaming websites. This was a very pleasant surprise.

Another thing that took me by surprise was the interest in the fix by people who do not even want to play the game with mouse and keyboard. As it turned out, the changes to the mouse movement improve the camera controls with the Steam Controller, when mapping the mouse movement to one of the trackpads. This resulted in the experimental Steam Controller support, which was introduced to the Dark Souls Mouse Fix in version 1.3.

Any plans for future mods? What’s next for Methanhydrat?

I am definitely planning to continue working on something in the future. What that will be I am currently not sure about. The Dark Souls fix needs some additional work, as there are still some minor bugs to fix and also additional features that I would like to add. Aside from Dark Souls, I also have a few other games in mind that would benefit from some fixing. I am also always open for suggestions. I originally developed the fix to remove the mouse acceleration in Mass Effect for just one person. So if you have an idea, get in touch with me, make a good case for it, and we will see what will happen.

However, due to the ongoing changes in my work life, it is currently hard to say how much time there will be in the future for stuff like this.