NBlood:Build 引擎游戏逆向移植合集(Blood / Rednukem / PCExhumed)
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
ball-and-wall · budnix/ball-and-wall
Ball And Wall 是一个使用 JavaScript 编写的 Arkanoid 风格打砖块游戏。项目包含 space 与 pegasus 两个章节;README 说明 space 图像素材免费,pegasus 图像需单独购买授权。源码采用 MIT 许可证,可通过 bower 与 npm 安装依赖,并用...
SDL Sopwith 是一个把上世纪八十年代经典双翼机射击游戏带回现代平台的移植项目。原作「Sopwith」由 BMB Compuscience Canada 开发,原作者 David L. Clark 后来以 GNU GPL 授权公开了源代码,本仓库正是在这份源代码基础上重新整理、适配并持续维护的 SDL 版本。仓库描述只有一句「Classic bi-plane shoot-'em up」,但 README 清楚交代了它的血统:它不是同人重制,而是有原始授权源码支撑的正式移植分支,因此既保留了老游戏的原始手感与规则,又摆脱了 DOS 时代对特定硬件的依赖。
从玩法类型上看,它属于横版卷轴的空战射击:玩家操纵一架双翼机在空中缠斗,对手同样是双翼机,仓库的 topics 中也出现了 biplane、camel、plane、shoot-em-up 等关键词,说明其题材取自一战时期的双翼战斗机空战。移植版没有改动这套核心玩法框架,而是把精力放在「让它今天还能跑、还能玩、还能联机」这三件事上。
README 列出的特性清单相当具体,可以直接作为功能地图来看。第一是可加载自定义任务文件,也就是玩家可以自制或替换新的关卡内容,这为老游戏提供了关卡层面的可扩展性;第二是 TCP/IP 多人联机,让原本只能同机对战的玩法延伸到网络两端;第三是 PC 扬声器模拟,这是对早期机器只有蜂鸣器发声时代的刻意还原——用软件合成的方式复现那种单薄而辨识度极高的方波音效;第四是多种调色板,用来模拟当年不同型号老显示器的色彩表现,属于对「原汁原味」的进一步追求;第五是奖章与高分榜系统,为反复游玩提供长期目标。
技术实现上,项目用 C 语言编写,并以 LibSDL 作为平台抽象层,这也是它能够同时覆盖桌面系统与浏览器的重要原因。SDL 负责窗口、输入、定时与音频输出,移植者只需把原本直接操作显示与声音硬件的代码改写成 SDL 调用,就能让同一份逻辑跑在完全不同的系统上。仓库还说明可以通过 Emscripten 把游戏编译成 WebAssembly 形式在网页中运行,这条工具链与桌面构建共用同一套 C 源码,是传统 C 游戏移植到 Web 的典型路径。
文档方面,仓库本身附带了若干说明文件:AUTHORS 记录贡献者,COPYING 是 GNU GPL 许可证文本,FAQ 汇总常见问题,NEWS 则是更新日志与变更记录。想了解更久远的原作背景,README 指向了 sopwith.org、项目主页以及维基百科条目;项目也维护着一个 Discord 社区,供玩家与开发者交流。主页 https://fragglet.github.io/sdl-sopwith 同时作为项目的在线信息入口。
适合谁来研究这个仓库?第一类是做老游戏移植的人,它展示了如何把依赖特定硬件行为(蜂鸣器音效、固定调色板、老式计时方式)的代码逐块抽象到跨平台库上,其中「用什么方式模拟旧硬件行为」的取舍非常有参考价值。第二类是想给单机老游戏加网络对战的人,TCP/IP 联机部分涉及状态同步与输入转发的处理。第三类是学习 GPL 项目工程组织的读者,仓库把授权、作者、FAQ、变更日志分文件管理,是相当规范的复古项目结构。
需要注意的地方也有几点:仓库以源码形式发布,README 没有提供现成的二进制安装包,实际游玩通常需要自行准备 C 编译环境与 SDL 开发库;Web 版本依赖 Emscripten 工具链,首次配置成本不低,国内拉取工具链与依赖时可能遇到网络问题,建议提前配置镜像。此外,README 只说「可运行于多数现代操作系统」,并未逐一点名各平台,具体在你所用系统上的构建结果仍需自行验证。
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
该项目用 C 语言维护《Aliens versus Predator》(1999)可获得的游戏源码,...