gladiator_3d · krotik/gladiator_3d
Gladiator 3D 是一个用 JavaScript 编写的 ray casting(光线投射)引擎,用于制作伪 3D 游戏。它不依赖任何第三方库,可搭配或不搭配 Prototype、jQuery 使用,面向支持 canvas 元素的现代浏览器。仓库 examples 目录包含一个演示基础概...
Commander Genius 是一个面向现代操作系统的开源解释器/复刻引擎,目标是在不依赖 DOS 模拟器的前提下,原生运行《指挥官基恩》(Commander Keen)系列与《Cosmos Cosmic Adventure》。根据 README,它完整支持 Commander Keen 1–6 以及 Keen Dreams,并已把 Cosmos Cosmic Adventure: Forbidden Planet 的引擎整合进来;后者目前“可玩”,关卡与敌人已能工作,但仍有不少待完善之处。
需要特别说明的是:游玩原作需要你自备原版游戏数据文件。项目方提供了一个在线商店,可获取部分作品(如 Keen 1、4、Dreams 与 Cosmos 1),也支持直接下载部分 Mod。你当然也可以继续使用手头旧的 DOS 原版数据。
本仓库是 GitHub 镜像,主开发仓库位于 GitLab。项目以 GPL 协议分发,允许自由分发与修改,但要求保留原作者署名。
README 将“尽可能还原原作手感,并在此基础上扩展”作为主要目标,列出的特性包括:
README 也坦率指出,Keen 1–6 与 Dreams 已获完整支持,但仍有少量小功能缺失(例如 PaddleWar),整体玩法是完整的。
从源码构建时,README 建议使用支持至少 C++14 与 C99 的 GNU 编译器或 Clang。依赖包括 SDL2、SDL2_Image、SDL2_mixer 与 SDL2_TTF;SDL 1.2 仍有支持但将移除。要完整使用 CG 提供的游戏商店,还需要 Curl 与 Zlib。README 还包含生成 SBOM、构建 Cosmos 引擎以及启动游戏、多人游戏提示等章节,具体命令请以仓库内文档为准。
项目把自身定位为“在现代硬件上解释这些老游戏”的平台型基础,而不是追求逐帧、逐硬件细节的绝对原味复刻。README 明确表示:物理手感接近原作,但资深玩家可能察觉细节差异;由于图形帧率更高,整体节奏可能显得更快。如果你追求“原汁原味”甚至包括当年的硬件限制与掉帧,作者建议使用 DOSBox;同理,部分 Mod 可能也只能在 DOSBox 下运行。
与 DOSBox 的关键区别在于:Commander Genius 是原生移植,不进行模拟。它希望利用现代硬件带来更丰富的色彩、修复原作的一些问题,例如为 Vorticons 系作品提供双键射击选项,并允许把所有按键映射到任意输入设备,鼠标也能在一定程度上使用。
对于 Mod 作者,README 建议使用 CG 的 Lua 脚本与补丁系统,而不是依赖晦涩的机器码补丁,以提高开发效率。
最初的引擎是开发者 Caitlin Shaw 的 CloneKeen。由于该引擎基本处于弃置状态,Gerstrong 接手并创建了分支 CloneKeenPlus,修复了 CloneKeen 的一些问题;该分支源自 0.83 版本。之后 Commander Genius 诞生,它用 C++ 对引擎进行了完整重写,从 C 转向以面向对象为主的 C++ 代码。据 README 说明,最终仅保留了原 CloneKeen 代码的很小一部分(约 0.02%)。项目也提到从 Refkeen、Chocolate Keen 等同类引擎中学习并尝试改进整体体验。
README 写明 Commander Genius 可运行于 Linux/X11/Wayland、Windows、macOS、Android 与 Switch,并存在一些非官方移植。若你有意移植,可联系项目方获取帮助。
安装与启动方面:下载、安装并启动后,在游戏启动器中点击“New Stuff”并选择游戏,程序会开始下载,完成后即可游玩。Ubuntu 用户可使用项目提供的 PPA(ppa:gerstrong/cgenius)以持续获得更新;Mageia 与 Arch Linux 也有第三方维护的软件包。Windows 方面,README 表示支持 Windows 7 至 10,部分系统可能需要安装 Microsoft Visual Studio Redistributable 2015 (x86)。macOS 的近期 dmg 为 64 位版本,需先安装 MacPorts,再通过 ports 安装 SDL2 相关依赖。
这个项目适合想了解“如何用现代 C++ 与 SDL2 重写并扩展经典 DOS 平台游戏”的读者。建议先从数据目录与启动流程入手,理解游戏数据如何被识别与加载;再阅读 Lua Mod 与补丁系统相关部分,观察引擎如何在不改动机器码的前提下扩展内容;最后结合多人支持与 OpenGL 渲染部分,理解原生移植与模拟器路线的取舍。由于主仓库在 GitLab,获取最新代码与参与讨论应优先前往 GitLab。
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...