Half-Life 2 浏览器移植版:通过 WASM 运行 Source Engine 游戏
Half-Life 2 浏览器移植版:通过 WASM 运行 Source Engine 游戏
Half-Life 2 现在可以在 Web 浏览器中游玩
开发者已成功将 Half-Life 2 移植到 Web 端,允许用户直接通过 URL (https://hl2.slqnt.dev/) 游玩游戏,无需本地安装。该项目利用 WebAssembly (WASM) 在浏览器环境中执行游戏的逻辑和渲染,有效地将游戏从其原始操作系统需求中解耦出来。
克服操作系统兼容性和架构障碍
该浏览器移植版为现代 macOS 系统用户提供了一个关键的变通方案。由于 Apple 停止了对 32 位应用程序的支持,且 Valve 未针对某些旧作发布原生 64 位版本,导致 Steam 版的 Half-Life 2 在最近的 macOS 版本上无法运行。基于 WASM 的浏览器移植版绕过了这些原生二进制限制,使 Apple Silicon 和 Intel 架构的 Mac 能够通过浏览器的运行时环境运行该游戏。
技术权衡与当前局限性
虽然该移植版在技术上取得了成功,但与原生体验相比,目前在图形和 UI 方面表现出一些退化:
- 渲染问题: 部分着色器(shaders)缺失,特别影响了角色眼睛和唇形同步动画。
- 视觉伪影: 游戏世界中的某些屏幕缺失。
- UI Bug: 据报告下载进度条已损坏,接收到的数值在 0-1 之间,而最大值被错误地设置为 300。
- 稳定性: 部分用户报告在加载过程中发生崩溃。
对于追求更高视觉保真度的用户,社区指向了 noclip.website,它允许用户以更准确的渲染方式探索 Half-Life 2 关卡,尽管它并不是一个可游玩的游戏。
WASM 对软件分发的意义
能够在浏览器中运行像 Source 这样复杂的 3D 引擎,凸显了软件分发和访问方式的转变。
绕过安装与封锁
通过将复杂的应用程序转换为网页,软件变得具有高度的可移植性。正如社区成员所指出的,这种方法使得软件几乎无法被完全封锁,因为它可以在极简硬件(如 Raspberry Pi Zero)上托管,并且无需任何安装过程即可访问。
原生开发与 Web 开发之争
该项目引发了关于基于 Web 的虚拟化与原生开发的效率讨论。一些批评者认为,通过 WASM 针对 Web 端进行开发是一种“诱人”的捷径,这可能导致开发者过度依赖基于浏览器的应用程序(以及 Electron 应用),从而以牺牲优化后的原生软件开发为代价。
相关 Web 端游戏移植版
Half-Life 2 是利用类似 Web 技术进行旧作移植的日益增长趋势的一部分。其他显著的例子包括:
- Quake 3: 可通过 thelongestyard.link 获取。
- Unreal Tournament: 可通过 dos.zone 获取。
- Godot Engine: 开发者经常使用它将原生游戏导出到 Web 端,以便在 Itch.io 等平台上托管。