OpenAWE-Project/OpenAWE
GitHub: OpenAWE-Project/OpenAWE
开源重制 Remedy 的 Alan Wake/Northlight 引擎,实现经典游戏的跨平台可移植运行。
Stars: 204 | Forks: 13
# OpenAWE - Alan Wake 引擎的开源实现

[](https://gitter.im/OpenAWE-Project/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
OpenAWE 是 Remedy Entertainment Alan Wake 引擎的开源重制版,该引擎在后期迭代中被称为 Northlight Engine。主要目标是让 Alan Wake 及其续作 Alan Wakes American Nightmare 能够以可移植的方式运行。次要目标是通过相同的技术基础,支持后续游戏 Quantum Break 甚至可能包括 Control。代码采用 [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later) 许可证,但 3rdparty 文件夹中包含的库除外。
## 构建
运行这些命令时请确保不要包含 `$`。它表示命令应以普通用户身份运行,而不是 root。应以 root 身份运行的命令(使用 sudo)会用 `#` 标记。
```
$ git clone https://github.com/OpenAWE-Project/OpenAWE.git --recurse-submodules
$ cd OpenAWE
$ mkdir build
$ cd build
```
构建 OpenAWE 需要安装以下依赖项的开发文件。获取这些依赖的方式取决于您的操作系统(对于 Linux,则取决于发行版):
- ZLIB
- GLFW
- GLM
- TinyXML2
- OpenAL
- Bullet
- FMT (>=9.0.0)
- Ogg
- Theora
- Vorbis
- GTest(可选,仅用于单元测试)
- spdlog
以下依赖项既可以来自您的系统,也可以通过 git submodules 使用。假设您按照上面的说明使用 `--recurse-submodules` 克隆了仓库,那么您已经通过 git submodules 拥有了这些依赖:
- EnTT
- CLI11
若要使用系统中的版本而非 submodule,您可以分别设置 `USE_SYSTEM_ENTT` 和 `USE_SYSTEM_CLI11`。
除了这些库依赖外,OpenAWE 还需要安装 glslc 编译器,用于构建 glsl shader 的排列组合。
下一步是配置 CMake 并进行构建。如果您的系统上没有配置上述所有依赖项,`cmake` 调用将失败。这对于检查是否已安装所有内容非常有用,因为它会告诉您缺少什么:
```
$ cmake ..
$ make
```
假设这些步骤顺利完成,您现在应该已经构建好了 OpenAWE。
然后您可以选择像这样安装 OpenAWE:
```
$ sudo make install
```
## 用法
要运行 OpenAWE,请执行类似以下的操作。请注意,您需要将路径替换为您的 Alan Wake 安装数据目录的实际路径,以及编译期间生成的编译 shader 的路径。
```
$ ./awe -p /path/to/the/alan/wake/data/directory -s /path/to/the/compiled/shaders
```
## 控制
OpenAWE 具有一个可以通过键盘和鼠标控制的自由视角摄像机。当前的按键映射如下:
```
# Movement
- [WASD] to move forwards/backwards/left/right
- [RF] to move up/down
- [TG] to increase/decrease movement speed
# Camera
- [←→↑↓] to look left/right/up/down
- [YH] to increase/decrease camera speed
- [Q] to switch between controlling camera with keyboard and mouse
- [Alt] + [L] to show or hide the mouse cursor
```
## 截图

标签:3D图形渲染, Alan Wake, Bash脚本, C++, Control, GPL-3.0, Northlight Engine, OpenGL, Quantum Break, Vulkan, 云资产清单, 开源重实现, 引擎复刻, 数据擦除, 游戏开发, 游戏引擎, 物理引擎, 逆向工程, 音视频处理