Amnesia: The Dark Descent (rework)

About
This is a from-scratch engine rework of Frictional Games' HPL2 engine used by Amnesia: The Dark Descent, replacing the original fixed-function OpenGL renderer with a Vulkan-based render-interface layer, Slang-authored shaders compiled to SPIR-V, and a hybrid rasterization/ray-tracing renderer with surfel-based global illumination. It's actively developed and described as playable end to end, though the README warns to expect rendering artifacts and some broken functionality. It ships no game assets — only engine, game, and tool code — so a retail copy of Amnesia: The Dark Descent from Steam, GOG, or the Frictional store is required to supply the actual maps, entities, sounds, scripts, and configuration.
How it differs from the original
Unlike the original HPL2 engine, this rework is Vulkan-only with no fixed-function OpenGL path, uses the Slang shading language instead of the original one, and adds a hybrid rasterized/ray-traced lighting pipeline with surfel-based global illumination that the original engine never had; the build system was also switched entirely from CMake to premake5.
Getting started
Prebuilt Windows and Linux packages are distributed via itch.io and as GitHub prerelease downloads; players copy the contents into their existing retail Amnesia: The Dark Descent install directory and launch the executable from there so it can find the game's original data files. Building from source instead requires the premake5 build tool, a C++20 toolchain, and, on Linux, the relevant X11/Wayland/graphics/audio development packages, with a Docker-based build container also offered as an alternative to installing everything on the host; a deploy step can copy a retail install's assets next to the freshly built binaries automatically.
Known limitations
- rendering: Work in progress; expect rendering artifacts and broken functionality.
Additional notes
- License
- Licensing is mixed by component: Frictional Games' original code remains GPL, some code adapted from Open 3D Engine is Apache-2.0 or MIT, and the new code the author wrote for the rework is Apache-2.0.
- Quirk
- The project's release automation hard-fails if it detects any retail Amnesia asset directory in a build payload, to avoid accidentally distributing copyrighted game data.