浏览器中的《Half-Life 2》
技术方法与性能
- 该移植基于 WebAssembly 和 WebGL 构建,通过编译泄露的 Half-Life 2 代码实现;资源按章节流式加载,因此初始下载约为 50 MB,随着进度推进还会继续增加。
- 即使在非游戏本和一些手机/平板上也能出人意料地流畅运行;一些用户表示在前期可以顺畅游玩,但到了后期更重的场景时会崩溃或变慢。
- 着色器/动画系统被部分禁用或简化,导致缺少阴影、眼部纹理不正确或缺失,以及没有口型同步或某些场景内屏幕。
- 资源缓存完成后可以离线游玩;浏览器可在没有互联网连接的情况下重新启动游戏。
法律与伦理问题
- 许多人认为这几乎肯定是未经授权的,因此构成版权侵权,不论 Valve 是否执行维权。
- 也有人认为是否执法是 Valve 需要关心的事;这对一款 20 年前的游戏来说是免费的宣传,并不构成严重的收入威胁。
- 争论还包括相关引擎先前的免费促销或 SDK/源码发布是否改变伦理判断;大多数人同意这不会改变合法性。
- 更广泛的讨论聚焦于“知识产权法已死”与高调和解案显示的大额版权罚金之间的对比;并将盗版与公司不当行为作对照。
Web 与原生及平台之争
- 一些人认为这证明浏览器是新的“通用平台”,WASM 是共同接口。
- 另一些人则对把精力花在浏览器应用而非原生移植上感到遗憾,认为 Web 能力侵蚀离线能力和用户控制,并且在性能与安全性上更差。
- 还有人担心给 Web 更多类原生能力会导致滥用(通知、跟踪),而原生应用的安装摩擦其实是一种用户保护特性。
兼容性、UX 与控制
- 可在主流桌面浏览器上运行;一些项目(例如 Ultima Online web client)在 Firefox 上会因缺少 File System Access API 功能而退化。
- 在 iPad 和移动端上,输入体验笨拙;外接控制器在 iOS 上也可能有问题。
- 对 UI 的批评包括:在没有清晰“Play”按钮的情况下自动加载大型资源,看起来像骗局;还有进度条 bug 以及缺少清晰按键绑定的问题。
怀旧与相关 Web 移植
- 对 HL2 时代的硬件和 LAN 文化有强烈怀旧情绪;令人惊讶的是,这款曾经的高端大作如今竟能在浏览器中运行。
- 类似的 Web 移植列表很长:Quake 3、Doom 3、Diablo、Counter-Strike、Tomb Raider、Deus Ex、GTA Vice City、Ultima Online、RuneScape、The Simpsons Hit & Run、Red Alert、Duke Nukem 3D 等。
- 一些人强调经授权的浏览器客户端(例如 Ultima Online)与这个很可能未经授权的移植形成对比。
Mac 与平台支持
- 多条评论指出一个讽刺之处:由于放弃 32 位支持,HL2 已不再通过 Steam 在现代 macOS 上运行,但却可以通过浏览器游玩。
- 讨论聚焦于 Apple 放弃 32 位、弃用 OpenGL、忽视 Vulkan 的决定,以及 Valve 是否本应发布 64 位 Mac 二进制文件。
- 更广泛的感慨是:macOS 作为游戏平台的处境,以及云/串流方案和 Wine/Proton 风格兼容层的替代作用。
为什么没有更多游戏这样发布?
- 提到的障碍包括:引擎支持有限(Web 导出对 Unreal 较弱、Godot+C#)、WebGL 的功能集较旧、WebGPU 尚未完全普及,以及性能/成本方面的顾虑。
- 一些公司正在开发 UE5 的 WebGPU 后端和资源流式传输方案,这意味着未来可能会出现更多高端浏览器游戏。