在 GitHub 上加星Star1.1k 个星标

案例

DiabloWeb:基于 Devilution 的 WebAssembly 浏览器移植

将社区重建 Diablo 原始源码的 Devilution 精简分支编译为 WebAssembly,并配合 React 前端,使 Diablo 可在网页浏览器中运行。该分支移除了 Storm、DiabloUI、DirectX 和 Windows 依赖,并为浏览器改写事件处理。这是基于重建成果的移植,本身未报告一致性或行为等价检查。

目标
游戏
类别
独立重建案例
关联
独立重建项目
来源复核于

使用条件与局限

  • 前提条件:完整游戏需使用者从正版取得的 DIABDAT.MPQ(页面指向 GOG 版);共享软件版 SPAWN.MPQ 可运行免费试玩。数据文件在浏览器中选择或拖入,存档保存在 IndexedDB,可作为 .sv 文件下载或上传,应用也可在本地选择压缩 MPQ。两个仓库均不含零售版游戏数据。
  • 前提条件:前端是以 Node.js 构建的 webpack/React 项目。重建 WebAssembly 模块需要 Emscripten 及分支中的 node build.js;该分支也可用 Visual Studio 2017 构建 Windows 应用。README 称托管页面提供共享软件版 SPAWN.MPQ;本地运行需将其放入 public 文件夹。
  • 范围:所审阅的是 diabloweb 1.0.39 的最后一次提交(2022 年 5 月)。零售版与共享软件版的预构建 WebAssembly 模块及一个 MPQ 压缩器已提交入库;其 C/C++ 源码位于独立的 d07RiV/devilution 分支。该分支 README 称修改了大量代码、不保证行为正确且网络对战不可用;diabloweb 含 WebSocket 和 WebRTC 客户端模块。
  • 测试证据:两份 README 均未报告测试、一致性结果或与原可执行文件的对照,所审阅的前端代码树也没有测试文件。可游玩性的依据是托管部署。
  • 许可:diabloweb 没有许可文件。分支附带 Unlicense 文本,但其 README 将源码限于非商业用途;当前上游 Devilution 采用 Sustainable Use License 1.0,Blizzard 仍保有 Diablo 及其数据的权利。

关于此条目

说明已依据一手来源复核。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · d07RiV/diabloweb · 修订 c61ef19
  2. package.json GitHub · d07RiV/diabloweb · 修订 c61ef19
  3. src/App.js GitHub · d07RiV/diabloweb · 修订 c61ef19
  4. src/fs.js GitHub · d07RiV/diabloweb · 修订 c61ef19
  5. README.md GitHub · d07RiV/devilution · 修订 798b512
  6. LICENSE GitHub · d07RiV/devilution · 修订 798b512
  7. build.js GitHub · d07RiV/devilution · 修订 798b512
  8. README.md GitHub · diasurgical/devilution · 修订 9f01757
  9. LICENSE.md GitHub · diasurgical/devilution · 修订 9f01757

同分区更多条目:游戏

游戏分区全部 318 项资源游戏案例(239)

↑↓ 移动↵ 打开⌘↵ 新标签页