本页目录

《异形大战铁血战士》Linux 移植分支(AvPMP,含多人模式)

avpmp · mbait/avpmp

本项目是《异形大战铁血战士》(Aliens Versus Predator)非官方 Linux 移植版的分支,在原有移植基础上增加多人模式等特性。代码源自 Rebellion 1999—2000 年发布的 AvP 源码,采用 C 语言编写。作者在 README 中说明,项目仍在开发中,...

射击 其他 自研引擎 C++ 关卡管理 UI 系统 渲染技术 专家
★ Stars 20 Forks 6 License 未明确 更新 2026-10-23

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
需自备原版 UE1 游戏;主要下载渠道为 GitHub Releases 与 AUR/Nix,国内访问可能受限;编译依赖与工具链细节见仓库 Docs/Building.md,国内环境待核验。

中文项目介绍

SurrealEngine(仓库 dpjudas/SurrealEngine)是一个以 C++ 重新实现虚幻引擎 1(Unreal Engine 1,简称 UE1)的开源工程。它的定位十分明确:重新编写一个能够运行 UE1 游戏的运行时,而非制作一款新游戏。项目目前将主要精力放在两款经典作品上,努力让《Unreal(Gold)》与《Unreal Tournament(UT99)》在当代硬件与操作系统上重新可玩;README 也说明,未来项目的覆盖范围有可能扩展到更多基于 UE1 的游戏。

需要特别注意的是:本项目不附带任何游戏资源。「系统要求」一节把「你希望运行的 UE1 游戏的原始拷贝」列为第一条硬性条件。也就是说,SurrealEngine 提供的是引擎侧的兼容实现,美术、关卡、音效等内容仍需玩家自备原版游戏文件。

技术架构分析

构建与运行

如果你希望从源码自行构建,README 没有在主页展开细节,而是指向仓库内的 Docs/Building.md,其中包含完整的构建说明。结合项目以 C++ 编写、需要调用 Direct3D 11 / OpenGL / Vulkan / Metal 等图形接口这一事实,构建过程通常需要相应平台的编译工具链与图形 SDK 支持;具体要求与依赖清单请以 Docs/Building.md 为准,不要在未阅读文档的情况下假设依赖项。

补充说明

当前状态

README 中的「Current Status」一节并未用文字逐条罗列功能完成度,而是把读者引向仓库内的 Docs/Status.md。因此,在准备试用之前,建议先阅读该文档,了解当时各子系统(渲染、音频、脚本虚拟机等)的实际情况,再决定是否上手。由于项目仍在持续开发,具体可玩程度会随提交变化,README 中的状态指针是获取最新情况最可靠的入口。

系统要求

README 明确列出了运行所需的三个条件:

  • 你希望运行的 UE1 游戏的原始拷贝;
  • Windows 10 及以上、macOS 15 及以上,或一个较新的现代 Linux 发行版;
  • 一块支持 Direct3D 11、OpenGL 3.2 或 Vulkan 的显卡;在 macOS 上则要求支持 Metal 2+ 的 GPU。

从这份清单可以看出,SurrealEngine 面向的是现代图形 API,并未对老旧硬件做兼容。多个图形后端并列,意味着使用者可以按平台与显卡选择可用的渲染路径。

下载与安装

除了自行编译,项目提供了多条获取途径:

  • Nightly 构建:发布在 GitHub 仓库的 Releases 区域下的 nightly 标签页中,适合不想配置编译环境的玩家;
  • Arch Linux:通过 AUR 的 surrealengine-git 包安装;
  • Nix:可在 nixpkgs 包搜索中检索到 surreal-engine,仓库中还给出了对应的 Quickstart 拉取请求链接。

对于 Windows 与 macOS 用户,README 只给出了 nightly 构建这一条获取途径,没有提及应用商店或其他分发渠道。

如何游玩

上手流程非常直接,README 给出的步骤是:

  1. 运行 SurrealEngine 可执行文件;
  2. 在 Folders(文件夹)标签页中添加你想运行的 UE1 游戏所在目录;
  3. 在 Games(游戏)标签页中选中要玩的游戏;
  4. 点击「Play」。

这种「先登记游戏目录、再选择游戏」的设计,说明引擎本身是通用的,可以为不同 UE1 作品分别配置路径,并非只针对某一款游戏写死。

命令行参数

除了图形界面操作,SurrealEngine 也支持命令行启动,格式为:

SurrealEngine [--url=<mapname>] [--engineversion=X] [Path to game folder]

README 对这几个参数的行为做了说明:

  • 如果没有指定游戏目录,并且可执行文件不在 System 文件夹内,引擎会去查询注册表——即 Epic 当年写入的那些注册表键,这一行为仅在 Windows 上有效;
  • 如果没有指定 URL,则使用 ini 配置文件中的默认 URL,默认情况下指向片头地图;
  • --engineversion 用于覆盖引擎内部自动探测到的版本号,README 强调该参数仅供调试用途。

社区与反馈

项目维护者在 README 中给出了 Discord 邀请链接(https://discord.gg/5AEry4s),作为交流与反馈的入口。对于这类仍在演进中的引擎重实现项目,遇到运行问题或有兼容性反馈时,社区渠道往往比单独提 issue 更能快速确认是否为已知问题。

学习建议

SurrealEngine 适合对「游戏引擎如何被重新实现」感兴趣的开发者阅读:它面对的是一个已经存在、行为被大量内容依赖的旧引擎,需要在现代图形 API 上复现原有表现。建议的阅读路径是:

  • 先读 Docs/Status.md 了解各模块的完成程度,避免在尚未实现的子系统上花时间;
  • 再按 Docs/Building.md 完成一次本地构建,确保环境可用;
  • 结合系统要求中列出的多个图形后端,观察同一套引擎逻辑如何适配 D3D11、OpenGL、Vulkan 与 Metal 的差异。

需要提醒的是,本项目并不分发游戏资源,任何测试都必须以合法持有的原版 UE1 游戏为前提。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目