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