本页目录

异形大战铁血战士 经典版现代移植(NakedAVP)

NakedAVP · atsb/NakedAVP

NakedAVP 是把 2000 年《异形大战铁血战士 经典版》搬到现代系统的非官方移植,基于 icculus 的 Linux/macOS 移植版本,改用 SDL3,面向 Linux、macOS 与 Windows。构建依赖 CMake、SDL3、OpenAL、OpenGL 与 FFmpeg(FFmpeg 仅用于解码 B...

动作游戏 射击 多人对战 自研引擎 C 关卡管理 网络联机 音频系统 渲染技术 专家
★ Stars 95 Forks 14 License 未明确 更新 2026-11-09

国内开发环境适配

Windows
不支持
Linux
官方声明支持
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
README 未提供国内镜像或依赖安装脚本;SDL 1.2、nasm 0.98、OpenAL CVS 等旧依赖需自行获取,国内网络能否直接下载待核验。运行需自备原版 AvP 游戏数据,且源码许可禁止商业使用,使用时必须显著署名 Rebellion。

中文项目介绍

avpmp 是《异形大战铁血战士》(Aliens Versus Predator,Fox Interactive / Rebellion Developments)非官方 Linux 移植版的一个分支。原作者 Steven Fuller(relnev@icculus.org)在 README 中明确说明:这是对该游戏的非官方 Linux 移植,而本项目在其基础上扩展了多人模式等特性。移植所依据的源代码由 Rebellion 于 1999—2000 年发布,官方原始源码与相关工具可在 avpnews.com 的 mods/tools 页面找到。

README 对项目状态给出了坦率的说明:代码“确实能跑起来”,但“尚未达到可以正式发布的完成度”,同时也不是空头承诺;作者的近期目标是至少先把单人部分完成,再考虑正式发布,具体待办事项记录在仓库的 TODO 中。因此读者应把它当作一个仍在推进中的移植与再开发项目,而不是拿来即玩的成品。

核心功能

Linux 原生移植分支

在原始 Linux 移植的基础上继续开发,新增多人模式等功能(README 未展开多人部分的完成度细节)。

多版本数据兼容

原始发布源码只适配《AvP Gold》,而该移植目前声明支持 Gold Edition、Regular Edition 以及 Alien 演示版;README 提示 Marine 与 Predator 演示版年代更早,可能无法运行。

用户级配置目录

游戏改为在 `$HOME/.avp/` 下读写配置、日志等文件,不再依赖当前工作目录。

数据目录重定位

既可以把可执行文件复制或软链接到游戏数据目录后运行,也可以通过设置 `AVP_DATA` 环境变量指定数据目录。

Linux 专属快捷键

`ALT-ENTER` 切换全屏、`CTRL-G` 抓取鼠标、`PRTSCN` 截图。

动态加载 OpenGL

OpenGL 库为运行时动态加载,因此初始化问题不会在启动时暴露,而要等到开始新游戏时才可能出现。

技术架构分析

技术要点

项目以 C 语言编写,构建与运行依赖几条相当“有年代感”的技术栈:

  • SDL 1.2:需要带 OpenGL 支持的 SDL 1.2。
  • OpenAL:README 建议使用当时最新的 OpenAL CVS 版本,且致谢中提到 OpenAL 相关代码由 Chuck Mason 贡献。
  • nasm 0.98:汇编器版本被明确指定。
  • 3D 硬件:AvP 需要支持 OpenGL 的 3D 显卡。
  • 构建开关:编译 Alien 演示版需在 Makefile 中未注释的 CFLAGS 行加入 -DALIEN_DEMO;Regular Edition 则使用 -DREGULAR_EDITION(README 称该行“暂时可以忽略”)。
  • 历史 bug 记录:曾出现“第二次开始新游戏后 Aborted”的问题,作者建议尝试用 gcc-3.0.2 重新编译,并称问题应已修复。

构建与运行

README 没有给出完整的分步安装教程(作者也自陈 README 远未完成),但可整理出以下要点:

  1. 准备游戏数据:如果只想先试一下,可以在 Windows 或 VMware 中安装 Gold Edition,或下载 AvP Alien 演示版。Gold Edition 的光盘上有部分文件经过编码,必须通过 Windows(VMware 亦可)安装才能取得,WINE 因 CD 校验失败而不可行。
  2. 解包演示版:Alien 演示版的安装包虽是 .exe,但可以直接用 unzip 解出文件。
  3. 统一小写:所有 AvP 文件与目录名都必须改为小写;README 推荐使用 chcase 之类的工具批量重命名。
  4. 准备语言文件:若使用的不是 Gold Edition,需下载 icculus.org 提供的 english.txt.gz,解压后改名为 language.txt(Regular Ed.)或 aenglish.txt(Alien Demo)。
  5. 放置数据与运行:程序需在包含全部游戏数据(language.txt、avp_huds、avp_rifs、fastfile)的目录下运行,或用 AVP_DATA 指向该目录。
  6. 地图包:来自 avpnews.com 的 mappack 应与游戏数据装在一起,而不是放进 ~/.avp/;其中 avp_rifs/Custom 下的地图只有 .rif 扩展名必须小写。

README 还提醒:Windows 与 Linux 的玩家配置文件很可能互不通用。

补充说明

版权与授权

README 原样引用了 Rebellion 的源码声明,这是使用本项目前必须理解的前提:

  • 源码版权归 Rebellion 所有(1999—2000),按“现状”提供,不附带任何适用性担保。
  • 不得将本源码的全部或部分用于商业用途。
  • 任何形式的使用都必须包含清晰可见的署名,注明 Rebellion 为创作者与所有者,并重申该许可条款。

换言之,这是一个“可以研究、可以改造、可以非商业分发,但必须署名且不可商用”的代码库。

已知限制

  • 项目尚未发布正式版本,单人部分仍在补完中,多人功能的实际完成度需以仓库代码与 TODO 为准。
  • 过场动画无法播放,因为其使用了 Bink 与 Smacker 专有编解码器;作者认为这部分损失不大。
  • 演示版支持并不完整,部分音效缺失。
  • Mac Gold Edition 是否可用未知,作者本人也表示想了解结果。
  • Gold Edition 在多数渠道已难以购得,README 只能建议去二手市场或本地折扣区碰运气。

学习建议

这个仓库更适合作为“老游戏源码移植”的案例来读:可以观察 1999—2000 年的商业 C 代码如何被逐层适配到 SDL/OpenGL/OpenAL 之上,如何处理路径与小写文件名、如何把配置迁移到用户目录,以及一个长期未完成的移植项目如何用 TODO 组织待办。建议先读 README 与 TODO 建立预期,再对照 Makefile 中的条件编译开关理解不同版本数据的差异;动手前请先解决老版本依赖与合法获取游戏数据这两个现实前提。

开源许可证与版权说明

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

相似项目