Half-Life 2 瀏覽器移植版:透過 WASM 執行 Source Engine 遊戲
Half-Life 2 瀏覽器移植版:透過 WASM 執行 Source Engine 遊戲
Half-Life 2 現在可以在網頁瀏覽器中遊玩
開發人員已成功將 Half-Life 2 移植到網頁,讓使用者可以直接透過 URL (https://hl2.slqnt.dev/) 遊玩遊戲,無需進行本地安裝。此專案利用 WebAssembly (WASM) 在瀏覽器環境中執行遊戲邏輯與渲染,有效地將遊戲與其原始作業系統需求解耦。
克服作業系統相容性與架構障礙
此瀏覽器移植版為現代 macOS 系統的使用者提供了一個關鍵的解決方案。由於 Apple 已停止支援 32 位元應用程式,且 Valve 並未針對某些舊作發布原生 64 位元版本,導致 Steam 版的 Half-Life 2 在近期的 macOS 版本上無法遊玩。基於 WASM 的瀏覽器移植版繞過了這些原生二進位檔的限制,讓 Apple Silicon 與 Intel 架構的 Mac 都能透過瀏覽器的執行環境來執行遊戲。
技術權衡與目前的限制
雖然此移植版在技術上取得了成功,但與原生體驗相比,目前在圖形與 UI 方面存在幾項退化:
- 渲染問題: 部分著色器 (shaders) 缺失,特別影響角色眼睛與對嘴動畫 (lip-sync animations)。
- 視覺瑕疵: 遊戲世界中的某些畫面缺失。
- UI 錯誤: 據報下載進度條已損壞,接收到的數值介於 0-1 之間,而最大值卻被錯誤地設定為 300。
- 穩定性: 部分使用者回報在載入過程中發生崩潰。
對於追求更高視覺精度的使用者,社群推薦了 noclip.website,它允許以更精確的渲染來探索 Half-Life 2 的關卡,但它並非一個可遊玩的遊戲。
WASM 對軟體分發的影響
能夠在瀏覽器中執行像 Source 這樣複雜的 3D 引擎,凸顯了軟體分發與存取方式的轉變。
繞過安裝與封鎖
透過將複雜的應用程式轉換為網頁,軟體變得極具可攜性。正如社群成員所指出的,這種方法使得軟體幾乎不可能被完全封鎖,因為它可以託管在極簡的硬體(例如 Raspberry Pi Zero)上,且無需任何安裝程序即可存取。
原生開發與網頁開發之爭
此專案引發了關於網頁虛擬化效率與原生開發效率的討論。一些批評者認為,透過 WASM 瞄準網頁開發是開發人員的一個「誘人」捷徑,這可能導致過度依賴瀏覽器應用程式(以及 Electron apps),進而犧牲了經過優化的原生軟體開發。
相關的網頁版遊戲移植版
Half-Life 2 是利用類似網頁技術進行舊作遊戲移植的成長趨勢中的一部分。其他值得注意的例子包括:
- Quake 3: 可透過 thelongestyard.link 取得。
- Unreal Tournament: 可透過 dos.zone 取得。
- Godot Engine: 開發人員經常使用它將原生遊戲匯出到網頁,以便在 Itch.io 等平台託管。