本页目录

Allegro 5 跨平台游戏与多媒体编程库

allegro5 · liballeg/allegro5

Allegro 5 是面向游戏与多媒体编程的跨平台 C 库,封装创建窗口、接收输入、加载数据、绘制图像、播放声音等底层通用任务,并屏蔽平台差异;它不是游戏引擎,程序结构由开发者自行设计。支持 Windows、Linux、macOS、iPhone 与 Android,...

动作游戏 射击 多人对战 无明确引擎 Python 关卡管理 游戏状态管理 音频系统 渲染技术 中级
★ Stars 1,377 Forks 247 License 未明确 更新 2026-11-04

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
未知
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
国内下载 GitHub 资源可能较慢,建议使用镜像;引擎和数据文件需自行搭配,具体网络依赖待核验。

中文项目介绍

Freedoom 是一个基于 Doom 引擎的完全自由内容的第一人称射击游戏项目。需要明确的是,它本身并非可执行程序,而是由关卡、美术资源、音效和音乐组成的游戏数据。要实际游玩 Freedoom,必须将其与支持 Doom 的引擎(社区常称为“源码移植版”)配合使用。

Freedoom 实际上包含三个独立的游戏部分:

  • Freedoom: Phase 1:包含四个章节,每章九个关卡,总计 36 关。该项目旨在兼容 The Ultimate Doom(即通常所说的 Doom 或 Doom 1)的模组。
  • Freedoom: Phase 2:一个包含 32 个关卡的长篇章,引入了额外的怪物和双管霰弹枪。该项目旨在兼容 Doom II 的模组。
  • FreeDM:一套 32 关的地图,专为多人死亡竞赛设计。

Freedoom 的次要目标是兼容原版 Doom 的修改内容(mod)。Doom 社区拥有跨越三十余年、包含数千个关卡和模组的庞大历史存档,Freedoom 力求让这些内容无需依赖非自由软件即可运行。

核心功能

完全自由的内容

Freedoom 的所有资源均以自由许可证发布,允许用户自由使用、复制、修改和研究。用户可以将其用于任何目的,重新分发时无需申请许可,修改时只需保留许可证(参见 `COPYING` 文件),也可以研究其构建方式(例如了解 IWAD 是如何制作的)。

三合一游戏数据

包含两个单人向战役(Phase 1 和 Phase 2)以及一个多人死亡竞赛地图集(FreeDM),满足不同游玩需求。

广泛的模组兼容性

Phase 1 兼容 The Ultimate Doom 模组,Phase 2 兼容 Doom II 模组,使玩家能够体验大量社区创作的关卡和修改。

完整的配套文档

提供 PDF 格式的完整手册,包含入门教程、战术提示以及怪物和道具信息,手册有多种语言版本,可在官网下载,也可购买实体印刷版。

技术架构分析

技术要点

Freedoom 作为游戏数据,其技术实现围绕 Doom 引擎的规范展开:

  • 关卡格式:所有关卡必须兼容原版(vanilla)Doom 引擎,不得依赖扩展限制或移除限制的引擎。这意味着关卡不能超出原版 Doom 引擎的限制,也不能依赖额外的地图特性。关卡应使用 Doom 的原始格式,而非 Hexen 格式。
  • 兼容性测试:建议使用 Chocolate Doom 测试关卡,该引擎严格遵循原版 Doom 的限制和 bug,确保关卡能在任何 Doom 引擎中运行。
  • 资源规范:图形资源通常应与原版 Doom 图形保持相同的颜色和尺寸,以保持与模组的兼容性。Doom 中虚构的“UAC”公司缩写受 id Software 商标保护,Freedoom 中改用“AGM”。
  • 源码结构:Freedoom 的完整源代码以 DeuTex 树的形式提供,便于构建和修改。

构建与运行

由于 Freedoom 仅包含游戏数据,运行前需要单独下载一个引擎。社区中有大量引擎可供选择,完整列表可在 Doom Wiki 上查阅。Freedoom 项目特别推荐 GZDoom 引擎,它对单人、多人以及大多数 Doom 和 Freedoom 模组都有良好支持。

数据文件放置:

  • 在 Windows 上,应将 Freedoom 的数据文件(以 .wad 结尾)与引擎可执行文件(如 odamex.exe)放在同一目录。
  • 在类 Unix 系统上,这些数据文件应放在 /usr/share/games/doom 或用户主目录中。如果 Freedoom 已通过操作系统发行版打包安装,通常已放置在正确位置。

启动方式:

  • 在 GNU/Linux 或 BSD 等类 Unix 系统上,Freedoom 可能以 freedoom1、freedoom2 和 freedm 等程序形式打包,这些程序会自动调用引擎启动游戏。还可能安装桌面文件,方便通过图形界面启动。

补充说明

学习建议

Freedoom 是学习 Doom 引擎数据结构和关卡设计的优秀素材。通过研究其 DeuTex 树,可以了解 IWAD 的构建方式;通过分析关卡文件,可以学习原版 Doom 地图格式和限制;通过参与贡献,可以实践兼容性测试和资源管理。建议结合 Doom Wiki 和 Chocolate Doom 引擎进行探索。

开源许可证与版权说明

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

相似项目