本页目录

Bevy 2.5D 横版清版动作游戏(Punchy)

punchy · fishfolk/punchy

Punchy 是 fishfolk 团队使用 Rust 游戏引擎 Bevy 开发的 2.5D 横版卷轴清版动作(beat'em up)游戏;其 README 说明,灵感来自《小朋友齐打交 2》《热血物语》等横版格斗作品。仓库语言为 Rust,话题标签包含 multiplayer、wasm、web,...

动作游戏 射击 自研引擎 C++ 渲染技术 高级
★ Stars 315 Forks 37 License 未明确 更新 2026-11-10

国内开发环境适配

Windows
未知
Linux
未知
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
源码为 16 位 DOS 时代工程,README 称原始项目使用 Borland C++ 3.0 构建且不保证可编译;现代环境需 DOSBox/DOSBox-X 或虚拟机并自备 Borland 工具链,直接使用现代编译器构建的可行性待核验。运行编译产物还需要已发行版《德军总部 3D》或《Spear of Destiny》的数据文件(可用共享版)。国内获取旧工具链与数据文件时注意版权与来源合规,仓库本身不含可运行游戏数据。

中文项目介绍

这个仓库是 id Software 在 2012 年 2 月 6 日放出的《Wolfenstein 3D》原始 PC 版源码存档,由 Travis “Ash” Bradshaw 整理发布。它并不是一个重新打包、可直接双击游玩的现代复刻项目,而是把当年商业作品的工程文件按原样交给社区保存和研究。仓库根目录放置的是 DEICE.EXE 自解压安装程序,这是当年把自解压 zip 分卷塞进多张软盘的产物;执行后才会展开出 WOLFSRC 目录。安装后的 README.TXT、RELEASE.TXT、LICENCE.DOC 位于 README 子目录,仓库说明也把它们附在下方,方便不运行 16 位安装器的读者直接阅读。

从 RELEASE.TXT 的措辞看,id 对这份代码的态度相当直白:发布它主要是给用户社区“娱乐”和研究,官方不保证任何东西能顺利构建,因为老项目长期无人维护会自然腐坏。原始工程使用 Borland C++ 3.0 构建,后续编译器版本可能需要少量改动;README 又补充说该版本能在 Borland C++ 3.0/3.1 下编译,上传前曾编译通过,但请不要把问题发回 id Software。即便成功生成可执行文件,也仍然需要已发行版《Wolfenstein 3D》或《Spear of Destiny》的数据文件才能运行,共享版数据也可以使用。

核心功能

核心特性

仓库最有价值的部分之一是 John Carmack 在 RELEASE.TXT 里留下的回顾式技术注释。他指出,射线投射刷新架构对这款游戏仍然算合适:基于 BSP 的纹理映射器也许更快,但在当时射线投射实现起来简单得多。动态编译的缩放例程在今天看来是“坏东西”:在无缓存的老机器上它可能是缩放墙体最快的方式,但在现代处理器上容易反复冲刷代码缓存、拖垮性能,486 以后的机器用简单的循环纹理映射反而更快。他还提到整页管理器缓存方案不必要地复杂,代码里 #ifdef 过多,这些都是阅读老代码时值得留意的工程教训。

同一份说明还列出了围绕这套代码可以尝试的方向:增加新的怪物或武器;加入更高的墙体和垂直移动,但前提是重写纹理映射器;把它移植到 32 位编译器,工作量不小,不过代码体积会明显缩小;以及利用 DOOM 的 sersetup/ipxsetup 驱动做多人游戏。这些是 Carmack 当年的建议,不代表仓库已经实现,也不应被当作现成功能。对于学习复古 FPS 的读者,它们更像是一份可继续探索的路线图。

技术架构分析

技术要点

需要特别注意的是授权。LICENCE.DOC 是 Limited Use Software License Agreement,允许出于教育目的使用源码中的部分例程来开发自己的软件,但禁止出租、出售、租赁、按次收费、为金钱或其他对价分发,也禁止以任何方式商业利用软件。它并不是今天常见的宽松开源许可证,不能简单把仓库标签理解为可自由商用;如果要把代码片段用于项目,应先仔细阅读原始许可并自行判断合规性。

实际使用上,这个仓库更像一份历史档案:根目录的安装器、16 位 DOS 工具链和缺失的游戏数据共同构成了较高的上手门槛。现代环境通常需要先解包、准备 DOS 模拟器或旧编译器环境,再自行寻找合法的数据文件;国内网络对 id 老资源、Borland 工具链和 DOSBox 的获取情况不一,相关依赖与构建步骤需要待核验。适合学习的内容包括射线投射渲染、纹理缩放、页面缓存、老式 C/DOS 工程组织,以及商业游戏源码在许可限制下如何被社区保存。若只想玩《Wolfenstein 3D》,应使用正式发行版或合法共享版,而不是指望这份源码直接提供完整游戏。

开源许可证与版权说明

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

相似项目