移动游戏三部曲 Bunker 3D、Laboratory 3D、Fortress 3D 移植至 GZDoom/UZDoom
开发者正在将 Netsoftware 的移动游戏三部曲 Bunker 3D、Laboratory 3D 和 Fortress 3D 移植到 GZDoom 和 UZDoom。这些 2000 年代中期的原版是为没有 GPU 的手机设计的,采用类似 Wolfenstein 3D 和 Blood 风格的射线投射图形。三部游戏中有两部已完全转换:地图、纹理和精灵从专有格式中提取出来,并适配到 UDMF。计划包括添加地板/天花板纹理、动态照明(同时将原地图保留为单独模式),以及音效。目标是为首款游戏 20 周年推出发布版。
资源提取和处理阶段
过程从反编译原代码开始。将关卡加载到内存的功能保存为 .json:压缩数据(游戏体积不到 100 KB)从最小的参数集重建关卡。
转换使用 Python 完成:
- JSON 解析:将数据结构化以便分析——墙壁带有纹理数组(不同于 Doom,其中 sidedef 只有一个纹理)。
- 中间格式:适配到 Doom 逻辑——为地板/天花板高度创建扇区,将墙壁拆分为 linedef/sidedef。
- 导出到 UDMF:生成 TEXTUREDEF、ANIMATED、MODELDEF 以实现与 GZDoom/UZDoom 的直接兼容。
移植后的关卡示例:“Warehouse”(第一关)、“Training”、“Harbor”、“Prison”。保留了原始几何形状,但添加了扇区以提升渲染效果。
适配的技术特性
原格式针对移动平台限制进行了高度优化:关卡由基本图元构建,没有明确的纹理数组。Python 脚本将其重构为 Doom 结构:
- 墙壁:拆分为左右两侧具有独特纹理的段落。
- 扇区:分别用于地板/天花板,并支持高度。
- 精灵/模型:转移到 MODELDEF。
当前状态:两款游戏的资源已完全转换。剩余工作:集成照明(扇区亮度)、声音(声音序列),并打磨第三部内容。
转换器代码正在开发中;预计稍后推出稳定版。
关键点
- 三部曲中的两款游戏已完全移植到 UDMF,用于 GZDoom/UZDoom。
- 保留原始几何形状,并添加扇区用于地板/天花板。
- 使用 Python 进行转换:从 JSON 转储生成 TEXTUREDEF/MODELDEF。
- 计划:添加照明、声音,为 Bunker 3D 20 周年发布。
- 对 Doom 模组作者相关:处理遗留射线投射资源的示例。
— Editorial Team
暂无评论。