Frogatto & Friends(青蛙主角 2D 横版动作冒险游戏)
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
sm64 · n64decomp/sm64
n64decomp/sm64 是《超级马里奥64》的完整反编译工程,覆盖日版、美版、欧版、Shindou 版与 iQue 神游版(cn),可用 make 构建对应 ROM,并列出各版本 sha1。仓库不含编译所需全部资源,需自备原版 ROM(baserom.<版本>.z64)提取素材;...
这个仓库是 id Software 以 GPL 授权公开发布的《Doom 3 BFG Edition》源代码包。需要强调的是:它发布的是代码而非游戏,仓库中不包含任何游戏数据(地图、材质、模型、音频等资源),这些数据仍受原版最终用户许可协议(EULA)约束,使用者必须照常遵守。README 同时提醒,若想让编译产物与正式版本保持一致,应先把游戏本体更新到最新版本;《Doom 3 BFG Edition》在 Steam 商店有售,但商店链接只用于购买游戏数据,与源码授权是两回事。
这一版源代码在功能上是「删减过的」。README 明确列出三处缺失:其一,不含任何 Steam 集成功能,包括漫游配置(roaming profiles)、成就、排行榜、匹配(matchmaking)、Steam 覆盖层以及其他 Steam 特性;其二,不含 Bink 视频的渲染功能,因此过场视频相关的播放路径在开源版中不可用;其三,不含通过「depth fail」方式渲染模板阴影(stencil shadows)的功能,也就是业界常说的「Carmack's Reverse」技巧。这三点意味着,即使你有正版数据,直接用这份代码编译出的程序也无法完整复现商业版本的全部表现;反过来说,它们也恰好标出了原版中由闭源中间件或专利化技巧承担的部分,对研究「商业游戏哪些模块会因法律或商业原因被剥离」很有参考价值。
许可证结构是阅读本仓库时不可忽略的一环。主体代码采用 GNU 通用公共许可证(详见 COPYING.txt),但还附带若干「附加条款」(additional terms),README 说明这些附加条款应随 GPL 正文一并提供,若缺失需以书面形式向 id Software(c/o ZeniMax Media)索取。更重要的是,有一部分第三方代码被明确排除在 GPL 覆盖范围之外,各自保留原有许可:neo/renderer/jpeg-6 下的 IJG JPEG 库(Thomas G. Lane 版权)、neo/framework/zlib 下的 zlib、neo/idlib/Base64.cpp 的 Base64 实现(Lars Wirzenius)、neo/idlib/hashing/MD4.cpp 与 MD5.cpp 的 RSA Data Security 摘要算法实现,以及 neo/framework/Unzip.cpp 与 Unzip.h 中基于 zlib 的 zip 解压 IO 代码。这些文件在再分发时必须保留各自的版权声明与免责声明,不能简单当成 GPL 代码处理。
构建方面,README 只给出了 Windows(win32)路径:官方提供 Microsoft Visual Studio 2010 工程文件 neo\doom3.sln,并期望该解决方案与 Express 版本兼容;此外必须安装 Microsoft DirectX SDK,工程默认到「C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)」这个路径查找,如果实际安装位置不同,需要自行修改工程文件里的包含目录与库目录。除此之外,README 没有承诺 Linux、macOS 或其他平台的官方构建方式,只在末尾提示:如果你拿到这份代码时距发布已过去数周,互联网上很可能已有各方维护的改良分支,视你的目的(研究、移植、做新游戏)而定,那些分支或许是更好的起点。
从学习角度看,这是一份体量可观、结构完整的 C++ 商业引擎与游戏逻辑源码:包含渲染器、音频、输入与文件系统抽象层,以及 idLib 这类自带的通用基础库(容器、字符串、哈希、序列化等),还有资源打包与解压、跨平台的类型与内存管理约定。它适合用来研究上一代 id 引擎的工程组织方式、模块划分与渲染管线写法,也适合做「把老引擎移植到现代平台」这类练习的起点。但它的门槛不低:老旧的 VS2010 工具链与现代编译器存在兼容问题,DirectX SDK(June 2010)已属淘汰组件,且由于缺少游戏数据、Steam 层与 Bink 播放,开箱即用的「跑起来看效果」体验并不成立。建议把它当作阅读与移植素材,而不是可直接二次开发的完整游戏基座。
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apo...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
jfduke3d 是 JonoF 对 3D Realms《Duke Nukem 3D》的源码移植,基于其 Build...