网页上的《Super Mario 64》

一个基于 WebGL 和 WebAssembly 的《Super Mario 64》移植版可直接在浏览器中游玩,凭借流畅性能、手柄支持,甚至在老旧智能手机上的可玩性而让用户印象深刻。评论者交流了键盘映射以及浏览器音频和手柄怪癖的绕过方法,同时指出这是一份编译后的原生移植版,而不是传统的 N64 模拟。伴随着对原作及其设计的怀旧情绪,也有人担心如此公开托管任天堂 IP 的合法性,以及在任天堂历来强硬下架历史下,是否应信任一个闭源 WASM 二进制文件。

控制与输入

  • 键盘控制并不直观;用户分享按键映射(X/C/空格、方向键、WASD)以及一个会在屏幕上显示这些映射的分支链接。
  • 有人报告在某些构建中键盘完全无效,但手柄通常运行很流畅,包括 Xbox、PlayStation、8BitDo 以及手机上的蓝牙控制器。
  • 在 iPhone 上,用户通常会配对控制器,而不是依赖屏幕键盘。

音频与浏览器行为

  • 许多人报告在 Firefox、Chrome 和 Edge 中默认没有声音。
  • 原因被确认是浏览器在没有先前用户交互的情况下阻止自动播放音频/WebAudio。
  • 解决方法包括更改站点权限(Autoplay/Sound → Allow)以及通过点击触发的 iframe 来加载游戏。

实现细节与安全性

  • 评论者澄清这不是 N64 模拟,而是基于反编译后的《Super Mario 64》移植版构建的 WebGL/WebAssembly 版本。
  • 核心游戏位于一个 .wasm 二进制中;源代码包装层在 GitHub 上,相关分支也有链接。
  • 有些人对运行一个封闭的 WASM blob 感到不安;另一些人则认为,考虑到浏览器沙箱,它并不比普通 JS 更糟。
  • WebAssembly 被描述为与 JavaScript 大致具有相同的能力限制。

性能与平台

  • 性能广受称赞,即使在低端笔记本和智能手机上也是如此。
  • 用户觉得一个手机上的浏览器标签页能够全速运行 Mario 64 这件事很超现实。

游戏设计、教程与现代主机

  • 几位评论者提到,在真正开始游戏前有这么多打断/教程,并将过去“即开即玩”的游戏与如今带有冗长开场和强制更新的现代作品进行对比。
  • 有些人认为这些早期提示对当时刚接触 3D 的玩家是必要引导;也有人觉得它们很烦琐。

法律/IP 与分发顾虑

  • 许多人预期任天堂会下架这个项目,理由是其一贯强硬的知识产权执法历史。
  • 有人指出,基于官方反编译的移植版通常要求用户自行提供 ROM 资源,而这个预打包版本并非如此。

怀旧与硬件讨论

  • 讨论串中包含大量对 N64 硬件、手柄以及复古设备配置(CRT、flash cart、RetroPie)的怀旧。
  • 其中还争论了 N64 手柄的人体工学设计,并分享了延长摇杆寿命的技巧(例如加润滑脂)。

网页游戏开发常见坑

  • 开发者指出了反复出现的问题:必须先有用户交互才能使用 AudioContext、浏览器间手柄映射不一致,以及由于反指纹识别而导致设备识别受限,这些都让稳健的手柄支持变得复杂。