SurrealEngine 开发者指南
1. 项目介绍
SurrealEngine 是一个开源项目,旨在重新实现原始的 Unreal Engine 的功能,使得 Unreal Tournament (UT99) 及更多 UE1 游戏的地图可以运行。该项目目前可以加载并渲染地图,Unrealscript 虚拟机几乎完成了所有功能(数组和网络条件执行除外)。尽管地图加载和初始化已经实现,但许多原生函数尚未实现,因此与菜单和 HUD 的交互可能会导致异常。
2. 项目快速启动
环境准备
- Windows 10+ 或现代 Linux 发行版
- 支持 Vulkan 的显卡
- 原始的 UE1 游戏副本
克隆项目
git clone https://github.com/dpjudas/SurrealEngine.git
构建项目
Windows
- 使用 CMake 构建项目。
- 需要 Visual Studio 和支持 C++17 的 MSVC 编译器。
- SDL2 是可选依赖,如需使用,需下载并配置。
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 16
Linux
- 使用 CMake 构建项目。
- 安装必要的开发包。
# 根据你的发行版安装以下包
# Ubuntu
sudo apt install cmake g++ libasound-dev libopenal-dev libdbus-1-dev libsdl2-dev libxkbcommon-dev waylandpp-dev
# 构建项目
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 16
构建完成后,build
目录将包含 SurrealEngine
、SurrealEditor
和 SurrealDebugger
三个可执行文件。
运行项目
将 SurrealEngine
可执行文件复制到 UE1 游戏的 System
文件夹中,并从那里运行。可以通过以下命令行参数指定地图和游戏文件夹:
SurrealEngine [--url=<mapname>] [--engineversion=X] [Path to game folder]
3. 应用案例和最佳实践
- 单机游戏:将 SurrealEngine 可执行文件放置在游戏文件夹中,运行并选择单人游戏模式。
- 网络对战:启动 SurrealEngine 并选择对战模式,设置网络参数进行多人游戏。
4. 典型生态项目
SurrealEngine 目前支持以下游戏:
- Unreal Tournament (v436, v451b, v469(a, b, c, d))
- Unreal (v200, v209, v220, v224v, v225f, v226f)
- Unreal Gold (v226b, v227(i, j, k_11))
- Deus Ex (v1002f, v1112fm)
- Klingon Honor Guard (219)
- NERF Arena Blast (v300)
- TNN Outdoors Pro Hunter (v200)
- Rune Classic (v1.10)
- Clive Barker's Undying (v420)
- Tactical-Ops: Assault on Terror (v3.4.0 and v3.5.0)
- Wheel of Time (v333)
请注意,目前只有 Unreal Tournament v436 和 Unreal Gold v226 处于相对可玩状态。其他版本的游戏可能会出现崩溃。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考