jhaizhou-ops/d2r-mobile · 上手攻略

  • 仓库:jhaizhou-ops/d2r-mobile
  • 链接:https://github.com/jhaizhou-ops/d2r-mobile
  • 分类:engineering / game-port / apple-platform
  • 作者:spark
  • 更新:2026-10-15

§0 自检三证

  • GitHub URL:已 fetch(README 200 OK,已读 14 KB 中文 README 主入口段)。
  • 顶会 venue+年份:本仓库为游戏移植工程,无学术 venue;游戏版本 1.0.34.0 对应 PC 版 3.3.94012 已 README 实测核对。
  • README 子模块 anchor:已落(What it is, and what it is not / Battle-tested / Fast, smooth, and easy on the battery / Redesigned for fingers / Controller / New ways to play / 安装包段 / docs/GAME_FILES.md / docs/DERIVED.md / docs/LEGACY_DEVICES.md)。
  • ⚠️ 仓库卡片主语言标 C,但 README 内容是 Swift / Metal 移植栈;卡片字段可能与实际主语言不一致——以 README 与源码为准。卡片成熟度 research 偏保守;按闭测规模 44 台设备 + 实测功耗数字看,工程化程度已超出 research 范围。

一、是什么

jhaizhou-ops/d2r-mobile 是一个开源的 iOS / macOS 兼容层,把《暗黑破坏神 II:狱火重生》的 Nintendo Switch 版本(含"术士君临"扩展) 移植到 iPhone、iPad 与 Apple silicon Mac。它不是模拟器,不是云游戏,也不是串流:

  • 原 Switch 版本的 aarch64 二进制直接在设备上跑,没有 CPU 模拟层;iPhone 和 Switch 是同一类处理器,仅个别指令需要针对 Apple 内核做重写。
  • 系统调用、文件系统、图形 API、音频、输入由一份专门为 Apple 平台写的"小型 host"提供;图形 API 完全重写到 Apple 的 Metal,没有中间模拟层;shader 在离线阶段从原版 shader 翻译过来。
  • 不是游戏内容源——仓库不包含、不分发任何游戏程序、美术、文本、数据表、shader;所有这些都在你自己的机器上从你自己的 Switch dump 派生出来。

⚠️ 法律边界一句话总结:这是个"接口工程"仓库——你带自己的游戏文件来,它帮你让游戏跑起来。详见下文 §3.4。

二、解决什么问题

  1. 不提供模拟器:iOS 没有现成 PC x86 模拟器,老方法用 JIT 装 PC 版也违反 App Store 政策。
  2. 不靠串流:60 fps + 触控 + 全离线,对网络/延迟无要求。
  3. 重写触控:UI 不是"贴一层 gamepad 渲染"——按钮、技能、物品面板、对话全部为手指重新设计。
  4. 续航与发热的工程化:iPhone 17 Pro Max 实测整机功耗约 3.8 W(60 fps)/ 1.85 W(30 fps 省电模式),从 50% 亮度 + Act I 营地测得。
  5. 续航外加 battery 估算:通过测得功耗与电池容量换算连续游玩约 5 小时(60 fps)/ 约 10 小时(省电 30 fps)。
  6. 新终局内容:在不动原版规则的前提下,加了 Greater Rift(100 层)+ Endgame Boss Rush(12 关)+ Elysium 模式(自创 Build)+ Kill Board 排行等"原版没有的"。

三、快速上手(流程而非命令)

⚠️ 这不是一个 git clone && make 的工程——它需要自带的 Switch 游戏 dump。流程分四步:

3.1 准备你自己的游戏文件

参见 docs/GAME_FILES.md。你需要的是合法持有的 Switch 版《Diablo II: Resurrected - Reign of the Warlock》数字版的游戏数据提取(俗称 dump)。仓库不教你 dump——这一步在你自己的硬件上做,与本项目无关。

3.2 在设备上安装 app

  • iPhone / iPad:iOS 26 直接装新构建;iOS 18–25 用旧版 API 构建("older-API build")。iPhone 和 iPad 共用一个安装包。
  • macOS(Apple silicon):macOS 26 直接装新构建;macOS 15–25 用旧版 API 构建。双击启动,支持键鼠与手柄。
  • Apple TV 4K(第三代 A15):社区移植的开发者预览版,仅在作者本人的设备上跑到角色选择界面——README 明示"community port, developer preview",不能作为日常游玩。

具体下载与签名步骤参见仓库的 Releases 页面与对应文档。

3.3 准备游戏资源到设备

  • 安装包仅约 100 MB。
  • 游戏资源约 5.6 GB,需要单独放到设备上。
  • app 升级不会动你的存档与资源。

3.4 设备兼容性表(README 实测)

设备 状态
iPhone 14 Pro Max(A16, 6 GB) 60 fps 满帧,最低端测试机型
iPhone 15 / 15 Pro / 15 Pro Max ✅
iPhone 16 Plus / 16 Pro / 16 Pro Max ✅
iPhone 17 Pro Max ✅ 实测机器
iPad Air / iPad mini ✅
iPad Pro 11"/12.9"/13"(含 M2 / M4) ✅
Apple TV 4K 第三代(A15) ⚠️ 社区 port,开发者预览

⚠️ 老设备(A16 及更早,如 iPhone 14 / 15 全系):不支持游戏原版的压缩纹理格式,需要先用你自己的游戏文件派生一个额外纹理包(docs/LEGACY_DEVICES.md);加完后也能 60 fps。

3.5 闭测覆盖

44 台 iPhone/iPad 全部跑通 Normal / Nightmare / Hell 多角色通关:35 台直接安装(25 iPhone + 10 iPad)+ 9 个 TestFlight 账号。没有"低端机翻车"的报告。

四、核心用法(运行时特性)

4.1 性能实测(iPhone 17 Pro Max, 50% 亮度, Act I 营地)

项 读数
帧率 60 fps,稳,热机后不掉帧
App 启动 0.15 s
到主菜单 约 1 s
主菜单进游戏 约 1 s
快速重开回到游戏 约 1.2 s
切换章节最长单帧 约 0.1 s
整机功耗(60 fps) 约 3.8 W(≈ 5 小时连续游玩)
整机功耗(30 fps 省电) 约 1.85 W(≈ 2× 续航)

测量日期/条件见 README 脚注:功耗 2026-10-10,启动/进游戏 2026-10,帧率/切章节 2026-10-12。

4.2 触控方案("为手指重做")

  • 移动:虚拟摇杆支持精确八方向;点 NPC/地面自动寻路;门/传送门/洞穴入口整面可点。
  • 战斗:按技能按钮施法、长按保持施法、拖动技能图标到任意角度瞄准;附近怪物自动锁定;双技能组;副手武器技能"一键施放"(自动切武器→放技能→切回,按钮显示剩余充能)。
  • Boss 血条:固定顶部,显示剩余百分比。
  • 物品:单击、双击、长按、拖放全跟手。双击装备/卸下;拖到商店面板卖出;堆叠物品双击取 1 / 长按取 3;长按空格一键整理。
  • 文本:系统键盘;角色名支持中文;留空随机命名。
  • 屏幕:iPhone 19.5:9 全面屏、刘海/圆角不挡视野;iPad 真全屏,打开面板时 UI 自动居中;可加亮 3D 画面。

4.3 手柄方案

接入手柄→自动切回原版 Switch 手柄布局,每个面板底部显示按键提示。点屏幕瞬间回到触控 UI。库存/储物/技能树/编年史/设置全部手柄可达,按键映射与 Switch 一致。

4.4 终局新内容

  • Greater Rift:通关 Hell 后 Harrogath 的红色传送门进入,100 层,怪物随层数增强,15 分钟内击杀 Rift Guardian 通关。每 2 层 +1 技能点 +5 属性点,技能等级上限 20→40。每 10 层首通奖励,第 10 层解锁 6 个佣兵新装备槽。
  • Endgame Boss Rush:通关 Hell 解锁,12 关,第 11 关 Diablo Clone、第 12 关三大 Uber Boss。
  • Elysium 模式(创建角色时选择):Unique ×5、Set ×3、Runes ×5;"无掉落"概率砍到 1/10;Boss 必定掉落。
  • Kill Board:玩家排行。

4.5 省电模式

30 fps / 约 1.85 W / 续航约翻倍——你愿意接受 30 fps 时可以一键切换。

4.6 文件接口(仓库里有什么、不有什么)

仓库里有 仓库里没有
重写到 Metal 的图形 API 函数表 游戏程序
shader 接口描述 美术资源
程序内地址表 文本/对话
派生工具与脚本 数据表
文档(docs/GAME_FILES.md docs/DERIVED.md docs/LEGACY_DEVICES.md) 任何 game shader 原文

清单见 docs/DERIVED.md。

五、典型适用场景

  • iPhone/iPad/Mac 用户:想在 Apple 设备上玩《D2R 术士君临》全内容,60 fps 离线。
  • 地铁/通勤族:不依赖网络、不发热炸、不掉帧。
  • 老设备用户:A16 及更早也能跑——前提是你愿意生成额外纹理包。
  • 手柄玩家:接 PS/Xbox/Switch 手柄,原版按键映射。
  • Switch 版本玩家:你买的本来就是 Switch 版(PC 版 3.3.94012 对应 Switch 版 1.0.34.0),扩展内容已在 dump 内。

六、坑与注意

  1. 你需要自己的 Switch dump:仓库不带游戏数据;不 dump 等于装了个空壳 app。
  2. 法律风险边界:仓库声明"不包含、不分发"任何游戏内容;你必须合法持有 Switch 版游戏。dump 与移植分两步走,dump 的合法性在你所在司法辖区需要自行判断——本攻略不背书。
  3. 不支持 iOS 17 及更早:最低 iOS 18(走旧 API 构建)或 iOS 26(新构建)。
  4. 不支持 Intel Mac:仅 Apple silicon;macOS 15–25 走旧 API。
  5. 不支持在线:完全离线,没有多人游戏;不要期待联机。
  6. 不支持 Apple TV 量产:仅作者本人跑到角色选择界面;买 Apple TV 之前别预期能玩。
  7. 老设备纹理包:A16 及更早需要自己派生额外纹理包——过程比新设备多一步。
  8. Apple TV 4K 与"老设备"是两件事:前者是端口未完成,后者是芯片不支持原版纹理格式要补包。
  9. 版本绑定:当前仓库对应 Switch 版 1.0.34.0 / PC 版 3.3.94012;如果你 dump 的是别的版本,可能跑不起来或内容缺失。
  10. 第三方来源风险:仓库 README 没明确给出"哪里下载安装包"——Releases 页面与文档站点的链接可能在不同分支/版本间漂移,以 Releases 为准。
  11. ⚠️ 仓库卡片主语言标 C 与实际不符:实际是 Swift / Metal 移植栈;卡片字段是历史快照,以 README 为准。
  12. README 闭测规模 ≠ 公测覆盖:44 台设备都是闭测邀请对象,量产用户可能有更复杂的环境组合(备份恢复、不同 iCloud 账号、企业证书等)。

七、与同类对比

方案 形态 与 d2r-mobile 的区别
本仓库 原生 aarch64 + Metal 重写 + 离线 不模拟 CPU,不串流;带得动 60 fps + 触控全方案
RetroArch / Provenance 等模拟器 通用模拟器栈 多为 JIT/解释型,无法稳定 60 fps;法律风险面更广
云游戏(GeForce Now / Xbox Cloud / Boosteroid) 远程串流 强依赖网络、延迟、订阅;不可离线
Switch 原机 / PC 原版 原生平台 不便携 / 不支持触控
iPad 远程串流 Switch Moonlight / Parsec 等 同样需要本机 Switch 在线 + 网络
商业"D2R 手机版"传闻 / 第三方移植 不存在或未发布 d2r-mobile 填补了这段空白

⚠️ 商业版(如果有)通常不会带 术士君临扩展 与上述终局新内容——这是本仓库的差异化卖点之一。

八、一句话推荐结论

Switch 版《D2R 术士君临》的开源 Apple 移植,靠"原生 aarch64 + Metal 重写 + 离线"绕开模拟器/串流的法律与技术双重风险,60 fps / 约 3.8 W / 触控全重做 / 100 层大秘境+12 关 Boss Rush 是亮点;前提是你合法持有 Switch 版游戏并能自己派生纹理(老设备额外一步),Apple TV 端口仍是社区预览。