现代平台上的原生运行
不再依赖老旧的系统接口,改用 SDL3 处理窗口、输入等平台相关事务,可在当前的 Linux、macOS 与 Windows 环境中编译运行。
dukenukem3d · videogamepreservation/dukenukem3d
这是 3D Realms 于 2003 年 4 月发布的《毁灭公爵3D》(Duke Nukem 3D)v1.5 CD 版完整源代码,以 C++ 编写,并按 GPL 授权。README 说明游戏数据文件仍归 3D Realms 版权所有,不得再分发,仅可用于个人娱乐或教育用途;具体构建步骤需...
NakedAVP 是把 2000 年的《异形大战铁血战士 经典版》(Aliens Versus Predator Gold)搬到现代系统上的非官方移植项目。原作由 Rebellion Developments 开发、Fox Interactive 发行;本项目则以 icculus 早年发布的 Linux / macOS 移植代码为基础,把平台层迁移到 SDL3,并面向 Linux、macOS 与 Windows 三个平台。
需要先说明的是,这并非一个「开箱即玩」的完整游戏发行版:仓库只提供引擎源码与移植层,运行前必须自备原版游戏数据。README 中明确写着「Previously missing features are still missing. Multiplayer, etc.」——多人对战等在原移植中就没有完成的功能,这里依旧没有实现。
如果把项目拆开来看,它由三部分构成:一是当年游戏自身的引擎逻辑,二是 icculus 移植带来的跨平台外壳,三是本项目新引入的 SDL3 与 FFmpeg 依赖。对外部使用者来说,理解这三层的关系,比记住构建命令更重要。
不再依赖老旧的系统接口,改用 SDL3 处理窗口、输入等平台相关事务,可在当前的 Linux、macOS 与 Windows 环境中编译运行。
只要原版游戏的影片文件存在,就能播放全动态视频。全屏过场动画使用 Bink(`.bik`),游戏内的视频屏幕使用 Smacker(`.smk`),两者统一交给 FFmpeg 解码。
仓库既不附带游戏资源,也不分发 Bink / Smacker 的 SDK 二进制,避免把闭源素材混进源码树。
README 附录列出了 Gold 版的文件 MD5 清单,覆盖 `avp_huds/*.rif`(HUD 资源)、`avp_rifs/*.rif`(关卡/剧本)、`fastfile/*.ffl`(声音、贴图包)等,可用来核对安装是否完整。
多人模式等缺失功能没有被补上,项目也没有声称补上。
项目使用 C 语言编写,构建系统为 CMake,运行时依赖 SDL3、OpenAL 与 OpenGL,影片解码依赖 FFmpeg。几个容易被忽略的细节:
libavformat、libavcodec、libavutil、libswscale、libswresample 五个组件,且版本要求 5.1 或更新。典型的构建流程非常常规:
$ cd <avp-source-code>
$ mkdir build
$ cd build
$ cmake ..
$ make
顺利的话会产出名为 avp 的可执行文件。前提是系统已安装 CMake、SDL3、OpenAL、OpenGL 以及上述 FFmpeg 开发库。
运行方面,游戏数据是必需的,合法获取途径包括 GOG、Steam 上的《Aliens versus Predator Classic 2000》,或原版 CD 安装介质。数据准备有两条硬性要求:
avp 可执行文件复制到游戏数据目录中,要么通过 AVP_DATA 环境变量指向数据目录。平台相关的数据目录约定为:macOS 使用 /Users/$USER/Library/Application Support/AliensVsPredator/;GNU/Linux 及其他 *NIX / BSD 使用 /usr/local/games/AliensVsPredator。本地用户设置则单独保存在 ~/.avp。
这个仓库更适合对「老游戏源码移植」感兴趣的开发者:可以观察一份 2000 年代的 C 引擎如何被剥离平台相关代码、替换为 SDL3,以及如何把 FFmpeg 这类现代解码库嵌入旧的影片播放路径。阅读时建议先关注平台抽象层与构建脚本,再回头看 FFmpeg 的接入点,最后对照附录 MD5 清单理解原版资源目录的组织方式。
如果你只是想直接玩游戏,需要先确认能合法获得原版数据,并接受多人模式缺失这一现状。
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apo...
《影子武士》(Shadow Warrior)v1.2 CD 版完整源代码,由 3D Realms 于 2005...