keen · keendreams/keen
该仓库是 DOS 平台游戏《Commander Keen in Keen Dreams》的源代码,采用 GNU GPLv2+ 发布。代码原为 Borland C++ 2.0 设计,发布时在 3.1 下亦可编译;static 目录中的数据需编译进二进制,运行 make.bat 前需将 Borland C++ 加入 PATH...
本仓库收录的是 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 目录中。PATH,然后运行 make.bat。bc 打开工程并执行构建。README 未提供其他编译器或跨平台构建方式的说明,因此复现构建需要相应的 Borland 工具链环境。
1.00 版可以通过修改一个常量,分别构建为 EGA 或 CGA 版本;此后所有版本都只针对单一显示模式。
ID_HEADS.H 与 ID_ASM.EQU 中的 GRMODE。KDREDICT.OBJ / KDREHEAD.OBJ,CGA 使用 KDRCDICT.OBJ / KDRCHEAD.OBJ。README 指出,版本号之所以看起来有些混乱,是因为修订沿三条序列推进:常规(EGA)版、CGA 版与共享软件(shareware)版。发布时,1.05 是最新的 CGA 版本,1.93 是最新的 EGA 版本,1.20 是最新的共享软件版本。此外,当文本等内容变更而程序本身未重新编译时,会使用带字母后缀的版本号。
主要节点包括:
README 还给出了后续编号约定:新的 CGA 版本应编为 1.06 至 1.12,新的共享软件版本应编为 1.21 至 1.90,新的 EGA 版本从 1.94 起编号。
这是一份具有历史价值的商业游戏源码,适合研究早期 DOS 时代 C/C++ 游戏的组织方式、显示模式适配与静态数据打包思路。由于构建依赖 Borland C++ 工具链,实际编译与运行效果需自行核验;游戏数据文件的合法获取也需使用者自行解决。
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...