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 引擎的深入研究,以理解这些被移植到浏览器的遗留软件的底层机制。

Sources