本页目录

指挥官基恩:基恩之梦(Commander Keen in Keen Dreams)游戏源码

keen · keendreams/keen

该仓库是 DOS 平台游戏《Commander Keen in Keen Dreams》的源代码,采用 GNU GPLv2+ 发布。代码原为 Borland C++ 2.0 设计,发布时在 3.1 下亦可编译;static 目录中的数据需编译进二进制,运行 make.bat 前需将 Borland C++ 加入 PATH...

动作游戏 平台跳跃 自研引擎 C 角色控制 跳跃与重力 关卡管理 渲染技术 高级
★ Stars 1,973 Forks 185 License GPL-2.0 更新 2026-11-01

国内开发环境适配

Windows
未知
Linux
未知
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
构建依赖 Borland C++(2.0 设计,3.1 可编译)工具链,国内获取与配置该环境需自行解决;游戏数据文件需合法获取,仓库内 static 数据仅允许为兼容目的链接分发。实际编译可行性待核验。

中文项目介绍

本仓库收录的是 DOS 平台游戏《Commander Keen in Keen Dreams》(指挥官基恩:基恩之梦)的原始源代码。代码以 GNU GPLv2+ 许可发布,具体条款见仓库中的 LICENSE 文件。

需要特别区分的是:源码的开源并不改变游戏数据文件的授权状态。玩家仍需通过合法途径获取游戏数据,包括仓库中为方便起见一并存放的 static 数据。不过,README 明确允许为兼容原版游戏的目的而链接与分发这些数据。

据 README 记载,本次源码公开源于一次众筹活动,由 Javier M. Chavez 与 Chuck Naaden 推动,并得到 Dave Allen、Kirill Illenseer、Michael Jurich、Tom Laermans、Jeremy Newman、Braden Obrzut、Evan Ramos、Sam Schultz、Matt Stath、Ian Williams、Steven Zakulec 等人的额外支持。

补充说明

编译说明

这套代码最初面向 Borland C++ 2.0 设计,但在发布时,所有修订版本在 Borland C++ 3.1 下也能正常编译。

构建流程大致如下:

  • 部分数据必须被编译进二进制文件,这些数据位于 static 目录中。
  • 在准备构建前,确认 Borland C++ 已加入系统 PATH,然后运行 make.bat。
  • 随后回到根目录,输入 bc 打开工程并执行构建。
  • 可能需要在 Borland 环境中正确配置目录,编译才能顺利通过。

README 未提供其他编译器或跨平台构建方式的说明,因此复现构建需要相应的 Borland 工具链环境。

EGA/CGA 版本差异

1.00 版可以通过修改一个常量,分别构建为 EGA 或 CGA 版本;此后所有版本都只针对单一显示模式。

  • 该常量是 ID_HEADS.H 与 ID_ASM.EQU 中的 GRMODE。
  • 修改常量后,还需确保链接了正确的静态数据文件:EGA 使用 KDREDICT.OBJ / KDREHEAD.OBJ,CGA 使用 KDRCDICT.OBJ / KDRCHEAD.OBJ。

版本沿革

README 指出,版本号之所以看起来有些混乱,是因为修订沿三条序列推进:常规(EGA)版、CGA 版与共享软件(shareware)版。发布时,1.05 是最新的 CGA 版本,1.93 是最新的 EGA 版本,1.20 是最新的共享软件版本。此外,当文本等内容变更而程序本身未重新编译时,会使用带字母后缀的版本号。

主要节点包括:

  • 1.00(未编号):最初发行版。
  • 1.01:用于 Tiger Software 营销合作的版本。
  • 1.01-360:为适配 360K 软盘而特别调整的 Tiger Software 版本。
  • 1.01S(误标为 1.01):共享软件版。
  • 1.02:注册版。
  • 1.03:注册版(重制版)。
  • 1.04:CGA 版本。
  • 1.05:去除 Gamer's Edge 相关引用的 CGA 重制版。
  • 1.13:共享软件版(重制版)。
  • 1.20:去除 Gamer's Edge 相关引用的共享软件重制版。
  • 1.91:Prodigy Download Superstore 版本。
  • 1.92 [rev 0]:Good Times 版本,该版本不含 shell。
  • 1.93 [rev 1]:目录销售版本,使用 DocView Shell 取代旧的 GE shell,版权信息更新为 "1991-1993" 与 Softdisk Publishing,其余与 Good Times 版本相同。

README 还给出了后续编号约定:新的 CGA 版本应编为 1.06 至 1.12,新的共享软件版本应编为 1.21 至 1.90,新的 EGA 版本从 1.94 起编号。

学习与使用建议

这是一份具有历史价值的商业游戏源码,适合研究早期 DOS 时代 C/C++ 游戏的组织方式、显示模式适配与静态数据打包思路。由于构建依赖 Borland C++ 工具链,实际编译与运行效果需自行核验;游戏数据文件的合法获取也需使用者自行解决。

开源许可证与版权说明

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

相似项目