本页目录

Digger 网页小游戏(HTML5 Canvas + JavaScript)

digger · lutzroeder/digger

Digger 是一款使用 JavaScript 结合 HTML5 canvas 元素实现的网页游戏,仓库语言标注为 HTML。根据 README,操作为方向键控制,ESC 重新开始,DEL 跳到下一关。README 还提供了 GitHub Pages 在线试玩链接,可在浏览器中直接打开。具体玩...

动作游戏 射击 多人对战 自研引擎 C++ 网络联机 音频系统 渲染技术 专家
★ Stars 1,634 Forks 648 License 未明确 更新 2026-11-07

国内开发环境适配

Windows
官方声明支持
Linux
不支持
macOS
不支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
仅说明 Win32 编译;需自备游戏,并准备或替代 DirectX SDK、Bink、Miles、GameSpy 等旧依赖。Visual Studio 6.0/旧 MSVC 工具链、依赖获取和 Steam 创意工坊访问在国内可能受限,具体待核验。

中文项目介绍

这是一个由艺电(Electronic Arts)在 GitHub 上公开的《命令与征服:变节者》(Command & Conquer: Renegade)完整 C++ 源码归档仓库。README 明确说明,该仓库的目的在于保存(preservation)这款商业游戏的原始代码,仓库以只读方式归档、不提供官方支持,也不接受 Pull Request 或 Issue;如果希望基于这份代码做修改并推动协作,官方建议在自己的账号或组织下另建 fork。仓库采用 GPL v3 许可,并附带额外条款,具体以仓库中的 LICENSE.md 为准。因此它并不是一个“可直接玩的游戏项目”,而是一份典型的商业游戏源码公开(source release)资料,价值集中在工程史、引擎实现与老项目构建实践上。

从内容构成看,仓库里放的是游戏本体与配套工具的可编译源码工程,而不是资源或安装包。README 的构建章节提到主工程文件 commando.dsw,以及 Level Edit 关卡编辑器和 RenegadeGR 等工具链组件;这些工具中部分依赖 Java 运行时头文件,说明当年的编辑器与工具并非纯 C++ 单体程序。仓库说明还提到,这个发布版本为游戏补充了 Steam 创意工坊(Steam Workshop,appid 2229890)支持。也就是说,这份源码对应的是商店页上那一版可订阅模组的发行版本,而不仅是 2002 年原始光盘版。

技术依赖是这份源码最鲜明的特征,也是复刻构建时最大的障碍。README 逐一列出了必须自行寻找替代品或整体删除的第三方库:DirectX SDK(8.0 或更高,期望路径为 Code\DirectX\)、RAD Bink SDK(视频播放)、RAD Miles Sound System(音频)、NvDXTLib(纹理压缩)、Lightscape(光照)、Umbra(可见性剔除)、GameSpy(联机与大厅)、GNU Regex、SafeDisc API(光盘校验)、Microsoft Cab Archive Library(安装包归档)、RTPatch(增量补丁)以及 Java 运行时头文件。这些几乎全部是上世纪末到本世纪初的商业中间件,如今要么已经停止授权,要么已被彻底淘汰。因此,“能编译”与“原样还原”是两件不同的事:前者只需要替换接口层,后者则需要重新取得当年的授权与工具链。

核心功能

核心特性

构建流程方面,README 给出的最短路径是在 Microsoft Visual Studio C++ 6.0(建议安装 SP5,以便与 1.037 补丁做到二进制一致)中打开 commando.dsw,使用“生成 → 批生成”后点击“全部重新生成”。如果要在现代 Visual Studio 上编译,README 建议先用 Visual Studio .NET 2003 打开旧工程完成格式转换,再用 MSVC 2015 或更新版本打开转换后的解决方案;同时 README 也直言,新版 MSVC 对 C++ 标准执行更严格,需要大量修改才可能编译通过,若目标是 Win64 则改动量更大。工作区编译成功后,二进制会被复制到仓库根目录的 /Run/ 目录。此外,README 还提供了两个编译开关:在 Combat\specialbuilds.h 中取消注释 #define FREEDEDICATEDSERVER,即可在 Release 配置下生成 Windows 版免费专用服务器(FDS);在 LevelEdit 工程的预处理器宏里加上 PUBLIC_EDITOR_VER,则可以构建公开版 Level Edit。

README 还记录了一个颇具年代感的已知问题:Commando 主工程的 Debug 配置有时无法链接出最终可执行文件,原因是 Windows Defender 误判 RenegadeD.exe 含毒(可能与内嵌浏览器代码有关),把仓库根目录的 /Run/ 加入杀毒排除项即可。这类问题在老代码库中并不罕见,也侧面说明这份源码并非经过现代化整理、可开箱即用的工程。

使用这份源码有一个硬性前提:你必须已经拥有这款游戏。README 说明,编译出的二进制要能实际运行,需要拥有《命令与征服:变节者》,正版可通过 EA App 或 Steam 上的《Command & Conquer: The Ultimate Collection》合集获取。平台的限制同样明确,编译章节的标题就是“仅 Win32”,因此 Windows 是唯一被官方声明的构建目标平台,Linux 与 macOS 没有任何支持声明。

技术架构分析

技术要点

对学习者而言,这个仓库适合作为“商业游戏引擎与工具链考古”的样本:可以观察自研 3D 引擎如何组织渲染、音频、视频、网络与安装补丁等多个子系统,如何在单一工作区里管理游戏、专用服务器和编辑器三套构建;也可以研究 Steam 创意工坊接入在老代码里的落点,以及 GameSpy 时代联机架构的形态。但它并不适合作为入门项目:依赖缺失、工具链陈旧、平台锁死、杀毒误报,都会让第一次构建变得相当艰难。国内开发者还需额外考虑获取游戏本体的渠道,以及访问 Steam 与创意工坊的网络条件,相关细节建议自行核验。

开源许可证与版权说明

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

相似项目