本页目录

CatacombGL:Catacomb 3D 开源 OpenGL 移植引擎(第一人称射击)

CatacombGL · ArnoAnsems/CatacombGL

CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apocalypse)的开源移植版,用 OpenGL 硬件加速渲染,支持宽屏、可调视野与不限帧率,玩家与怪物移动改为浮点精度,键鼠可配置。原生运行于 Windows 7–11 与 Linu...

动作游戏 射击 自研引擎 C 碰撞检测 敌人 AI 关卡管理 游戏状态管理 高级
★ Stars 201 Forks 22 License GPL-3.0 更新 2026-11-11

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
N64 SDK/iQue SDK 下载链接位于 mega.nz 与 ultra64.ca,国内访问可能不稳定,需自备代理或镜像;编译需 Windows XP 或 Red Hat Linux 9 等旧环境/虚拟机,原版美版 Doom 64 ROM 数据需自行准备,注意版权与合规。实际构建与运行情况待核验。

中文项目介绍

DOOM64-RE 是 [GEC] 完成的一套 Doom 64“完整逆向工程”源码工程,目标是把原本只以 N64 二进制 ROM 形式存在的商业游戏,还原成一份可以用官方开发套件重新编译的 C 语言源码树。作者在前言里交代了时间线:整件事前后持续约一年半,中间几乎没有推进,后来从当年 6 月重新从零开始,理论上用 5 个月把工程做完。需要强调的是,它产出的是“能重新编译出 doom64.n64 的工程”,而不是面向现代 PC 平台的源码移植,编译产物仍然是要跑在 N64(或 iQue)硬件/模拟器上的 ROM。

从内容上看,这份工程并不携带任何美术、音效或关卡资源,它提供的是代码骨架、构建脚本和数据抽取工具;真正的游戏数据必须由使用者自备正版 Doom 64 ROM,再从中提取。README 明确说明目前只兼容美版(USA)的 Doom 64,编译前需要得到 DOOM64.WAD、DOOM64.WMD、DOOM64.WSD、DOOM64.WDD 四个数据文件。也正因为如此,工程本身更接近“可重建的引擎与逻辑代码”,玩法内容仍然是原版那套单人射击流程:关卡、怪物、武器与音乐都由原版数据驱动。

作者在 News 段落里列出了相对原版新增或解锁的若干开关,这些是理解该项目定位的关键:SECURITY KEYS 原本被原版锁定,开启后可直接获得当前关卡内所有可用钥匙;WALL BLOCKING 同样在原版中被锁定,作者把它理解为类似 Noclip 的穿墙;LOCK MONSTERS 会冻结敌人的移动,作者说明效果类似 Doom 64 EX 的同类功能;MUSIC TEST 是一个音乐测试入口,可以播放游戏中已有的曲目;此外还有三个偏画面体验的选项——COLORS 用于开关彩色效果,FULL BRIGHT 让场景整体全亮,FILTER 用于开启或关闭游戏的三点滤镜。这些改动说明该工程不只是“照抄复原”,也留出了调试与体验调整的接口。

核心功能

核心特性

技术实现上,工程使用 C 语言编写,依赖 N64 SDK 的工具链编译。作者提到项目是用 CodeBlocks 建立的,但 CodeBlocks 在这里并不承担编译职责,只是用来把代码组织整齐、便于阅读和校验。音频部分有一个可选做法:可以不使用作者重写的 WESS 实现,而是改用从《真人快打三部曲》N64 版中取得的 WESSLIB.o;具体做法是在 wessarc.h 中去掉 “//#define NOUSEWESSCODE” 前的斜杠使其生效,然后在 Makefile 里取消 WESSLIB 那一行的注释、并给 ASMFILES(wessint_s.s)那一行加上注释符号,再重新编译 ROM。

标准构建流程在 README 中写得比较具体:先下载并安装 N64 SDK,作者给出的下载地址是 mega.nz 链接,也提供了 n64.dev 作为参考入口;编译需要使用 Windows XP,或者用虚拟机跑一个 Windows XP 环境。SDK 装好后,把 doom64 文件夹复制到硬盘的 C:\ 根目录。接着进入 Tools 目录解压 Doom64Extractor.zip(含源码),编辑 ExtraerDatos.bat,把其中的 “Doom 64 (Usa) .z64” 换成自己 ROM 的文件名,且必须是 z64 格式;如果手上是 n64 或 v64 格式,可以用 Tools 里的 Tool64_v1.11 转换。执行批处理后,把提取出的数据复制到 Data 文件夹,最后运行 MAKE_ROM.bat 编译,得到 doom64.n64。

iQue 版则走另一条链路:需要下载安装 iQue SDK,编译环境要求 Red Hat Linux 9,同样可以放在虚拟机里。SDK 装好后把 doom64 文件夹放到用户主目录下。数据提取不再用批处理,而是按 dm64ex.cpp 中的说明自行编译 Doom64 Extractor,然后执行 ./dm64ex -i baserom.us.z64 抽取数据(文件名只是示例,仍须为 z64 格式),把结果放进 Data 目录,进入主目录执行 make PLATFORM=BB,生成的 doom64.n64 即可在 iQue 上运行。

技术架构分析

技术要点

适合学习的地方在于,它是一份相对完整的 N64 时代游戏代码样本,可以观察资源受限平台上的关卡管理、敌人行为、渲染与音频(WESS)实现,以及一套老旧工具链的工程组织方式。注意事项也很明确:必须自备美版 ROM 才能构建,工程不含可直接游玩的资源;构建环境非常古老(Windows XP / Red Hat Linux 9),在较新系统上大概率需要虚拟机;SDK 通过 mega.nz 分发,国内网络访问可能不便,具体下载可用性待核验。仓库没有给出 Stars 数量,也没有提供实际构建与运行的验证记录,是否能在当前环境下顺利编译出可运行的 ROM,需要读者自行核验。此外 README 中给出了 GEC Team 的 Discord 链接与致谢(特别提到 DoomWorld 社区以及 Kaiser 在过程中的帮助),可作为进一步交流的入口。

开源许可证与版权说明

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

相似项目