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 引擎的深入研究,以理解這些正被移植到瀏覽器的傳統軟體之底層機制。