Q3Edit: 基于浏览器的 Quake 3 地图编辑与执行
Q3Edit: 基于浏览器的 Quake 3 地图编辑与执行
Q3Edit 实现浏览器原生 Quake 3 地图创作
Q3Edit 是一个基于 Web 的编辑器,允许用户打开、编辑并保存真实的 .map 文件。它将整个地图创作流程——编辑、编译和游戏体验——集成到单一的浏览器体验中,无需安装外部游戏文件或软件。
技术架构
Q3Edit 使用 TypeScript 和 WebGL2 构建,以提供高性能的编辑环境。该工具利用 WebAssembly (WASM) 将传统的基于 C 的工具引入浏览器,实现了从设计到游玩的无缝衔接。
地图编辑与 UI
该编辑器采用了“Radiant 风格”的四视图用户界面,模仿了原始 Quake 地图编辑器的传统工作流。它支持以下核心地图元素:
- Brushes: 地图的主要几何构建块。
- Patches: 用于细节描绘的 2D 曲面。
- Entities: 游戏对象和逻辑触发器。
- Terrain: 特化的地形几何体。
- CSG (Constructive Solid Geometry): 支持对 brushes 进行布尔运算以开辟空间。
编译与执行
为了将原始地图文件转换为可游玩的关卡,Q3Edit 使用了 id Software 原生 q3map 编译器的 WebAssembly 移植版。编译完成后,地图可以通过开源引擎 ioquake3 的 WASM 移植版直接在浏览器中启动。
该应用程序附带了 OpenArena 资源,这意味着用户无需提供自己的游戏文件即可开始编辑和游玩。
社区观点
Hacker News 上的用户对原始 Quake 地图编辑器表达了强烈的怀旧之情,并对将这些工具带到 Web 端的技术成就表示赞赏。
一位用户 @spikk 指出,该工具除了创作之外,还具有潜在的实用价值:
This can actually accidentally become the best debugging tool for map files, ngl you should cook
其他用户强调了 id Software 引擎的历史意义,并提到了 Fabien Sanglard 对 Quake 3 引擎的深入研究,以理解这些被移植到浏览器的遗留软件的底层机制。