{
  "added_at": "2026-10-31",
  "additional_evidence_urls": [
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/LICENSE",
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/CMakeLists.txt",
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/.gitmodules",
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/.github/workflows/main.yml",
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/src/game.cpp",
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/src/engines/awan/functions_table.cpp",
    "https://github.com/OpenAWE-Project/OpenAWE/tree/cce15d3bc289df31522d778fb8e99180e6752b58/test",
    "https://github.com/OpenAWE-Project/OpenAWE/tree/cce15d3bc289df31522d778fb8e99180e6752b58/tools",
    "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/data/male_player_class.xml"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reimplements Remedy Entertainment’s Alan Wake engine, later known as Northlight, in C++ and OpenGL, aiming to run Alan Wake and Alan Wake’s American Nightmare portably from the user’s game data, with Quantum Break and possibly Control as later goals. README documents only a free camera for moving through loaded game data, and the American Nightmare script table implements 16 of its 278 native functions. The repository also includes command-line tools for the games’ archive, texture, Havok and sound formats.",
  "description_zh": "以 C++ 和 OpenGL 重新实现 Remedy Entertainment 的 Alan Wake 引擎（后来称为 Northlight），目标是借助使用者自己的游戏数据，以可移植方式运行《心灵杀手》和《心灵杀手：美国梦魇》，并把《量子破碎》乃至《控制》列为后续目标。README 只介绍了一个用于在已加载游戏数据中移动的自由视角相机，《美国梦魇》的脚本函数表在 278 个原生函数中实现了 16 个。仓库还附带处理这些游戏的归档、纹理、Havok 和音频格式的命令行工具。",
  "entry_url": "https://awesomerea.org/resources/openawe-alan-wake-engine-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/openawe-alan-wake-engine-case/",
  "evidence_url": "https://github.com/OpenAWE-Project/OpenAWE/blob/cce15d3bc289df31522d778fb8e99180e6752b58/README.md",
  "group": "cases",
  "id": "openawe-alan-wake-engine-case",
  "json_url": "https://awesomerea.org/resources/openawe-alan-wake-engine-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/openawe-alan-wake-engine-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/openawe-alan-wake-engine-case/index.md",
  "name": "OpenAWE: an open reimplementation of Remedy’s Alan Wake engine",
  "name_zh": "OpenAWE：Remedy 的 Alan Wake 引擎的开源重新实现",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "Reviewed at the master commit of 2026-10-11; there are no releases or tags, and CMake declares version 0.0.1. README states the goals but gives no gameplay status beyond a keyboard-and-mouse free camera, and the game selector rejects Quantum Break and Alan Wake Remastered as not yet supported. In the reviewed American Nightmare native-function table, 16 of 278 script functions are implemented and the rest are placeholders.",
    "OpenAWE runs from the data directory of the user’s own Alan Wake or Alan Wake’s American Nightmare installation, passed with -p, together with the shaders compiled during the build, passed with -s. The repository contains no game data: the archive tests use small synthetic byte arrays, and data/ holds a single XML file that carries the project’s GPL header.",
    "Builds use CMake 3.21+ and C++20 with development packages for zlib, GLFW 3.4+, GLM, TinyXML2, OpenAL, Bullet, fmt 9+, Ogg, Theora, Vorbis and spdlog, GTest for the optional tests, the EnTT and CLI11 submodules or system copies, and the glslc shader compiler. CI builds with GCC and Clang on Linux, MSVC on Windows and Clang on Intel macOS.",
    "Each CI job runs ctest with GoogleTest unit tests for the archive readers, streams, compression, XML and TOML parsing and geometry utilities, then packages the build with cpack. No test reads the games’ data or compares behaviour with the original executables; the README screenshot shows an American Nightmare scene.",
    "README places the code under GPL-3.0-or-later except the libraries in 3rdparty, which keep their own licenses. Alan Wake and its data keep their owners’ rights."
  ],
  "requirements_zh": [
    "审阅版本为 2026-10-11 的 master 提交；仓库没有发布版或标签，CMake 中的版本为 0.0.1。README 说明了项目目标，但除键盘鼠标操作的自由视角相机外，没有介绍任何游戏玩法进度；游戏识别逻辑会以“尚不支持”拒绝《量子破碎》和《心灵杀手：重制版》。在所审的《美国梦魇》原生函数表中，278 个脚本函数只实现了 16 个，其余均为占位。",
    "OpenAWE 需用 -p 指定使用者自有的《心灵杀手》或《心灵杀手：美国梦魇》安装中的数据目录，并用 -s 指定构建时编译出的着色器。仓库不含游戏数据：归档测试使用的是小型合成字节数组，data/ 中只有一个带有项目 GPL 许可头的 XML 文件。",
    "构建使用 CMake 3.21+ 和 C++20，需要 zlib、GLFW 3.4+、GLM、TinyXML2、OpenAL、Bullet、fmt 9+、Ogg、Theora、Vorbis 和 spdlog 的开发包，可选测试需要 GTest，EnTT 和 CLI11 可用子模块或系统版本，此外还需要 glslc 着色器编译器。CI 在 Linux 上用 GCC 和 Clang、在 Windows 上用 MSVC、在 Intel macOS 上用 Clang 构建。",
    "每个 CI 任务都会用 ctest 运行 GoogleTest 单元测试，覆盖归档读取器、数据流、压缩、XML 与 TOML 解析以及几何工具，然后用 cpack 打包。没有测试读取游戏数据或与原版可执行文件对比行为；README 中的截图展示的是《美国梦魇》的一个场景。",
    "README 规定代码采用 GPL-3.0-or-later，3rdparty 中的库除外，这些库保留各自的许可证。Alan Wake 系列及其数据仍归权利人所有。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/OpenAWE-Project/OpenAWE",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
