案例

OpenAWE:Remedy 的 Alan Wake 引擎的开源重新实现

以 C++ 和 OpenGL 重新实现 Remedy Entertainment 的 Alan Wake 引擎(后来称为 Northlight),目标是借助使用者自己的游戏数据,以可移植方式运行《心灵杀手》和《心灵杀手:美国梦魇》,并把《量子破碎》乃至《控制》列为后续目标。README 只介绍了一个用于在已加载游戏数据中移动的自由视角相机,《美国梦魇》的脚本函数表在 278 个原生函数中实现了 16 个。仓库还附带处理这些游戏的归档、纹理、Havok 和音频格式的命令行工具。

使用条件与局限

  • 审阅版本为 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 中的截图展示的是《美国梦魇》的一个场景。本合集未构建或运行 OpenAWE。
  • README 规定代码采用 GPL-3.0-or-later,3rdparty 中的库除外,这些库保留各自的许可证。Alan Wake 系列及其数据仍归权利人所有。所审来源未确立 REA 或 AI 使用。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  2. LICENSE GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  3. CMakeLists.txt GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  4. .gitmodules GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  5. .github/workflows/main.yml GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  6. src/game.cpp GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  7. src/engines/awan/functions_table.cpp GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  8. test GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  9. tools GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3
  10. data/male_player_class.xml GitHub · OpenAWE-Project/OpenAWE · 修订 cce15d3

同分区更多条目:游戏

游戏分区全部 231 项资源游戏案例(189)