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。
二、解决什么问题
- 不提供模拟器:iOS 没有现成 PC x86 模拟器,老方法用 JIT 装 PC 版也违反 App Store 政策。
- 不靠串流:60 fps + 触控 + 全离线,对网络/延迟无要求。
- 重写触控:UI 不是"贴一层 gamepad 渲染"——按钮、技能、物品面板、对话全部为手指重新设计。
- 续航与发热的工程化:iPhone 17 Pro Max 实测整机功耗约 3.8 W(60 fps)/ 1.85 W(30 fps 省电模式),从 50% 亮度 + Act I 营地测得。
- 续航外加 battery 估算:通过测得功耗与电池容量换算连续游玩约 5 小时(60 fps)/ 约 10 小时(省电 30 fps)。
- 新终局内容:在不动原版规则的前提下,加了 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 内。
六、坑与注意
- 你需要自己的 Switch dump:仓库不带游戏数据;不 dump 等于装了个空壳 app。
- 法律风险边界:仓库声明"不包含、不分发"任何游戏内容;你必须合法持有 Switch 版游戏。dump 与移植分两步走,dump 的合法性在你所在司法辖区需要自行判断——本攻略不背书。
- 不支持 iOS 17 及更早:最低 iOS 18(走旧 API 构建)或 iOS 26(新构建)。
- 不支持 Intel Mac:仅 Apple silicon;macOS 15–25 走旧 API。
- 不支持在线:完全离线,没有多人游戏;不要期待联机。
- 不支持 Apple TV 量产:仅作者本人跑到角色选择界面;买 Apple TV 之前别预期能玩。
- 老设备纹理包:A16 及更早需要自己派生额外纹理包——过程比新设备多一步。
- Apple TV 4K 与"老设备"是两件事:前者是端口未完成,后者是芯片不支持原版纹理格式要补包。
- 版本绑定:当前仓库对应 Switch 版
1.0.34.0/ PC 版3.3.94012;如果你 dump 的是别的版本,可能跑不起来或内容缺失。 - 第三方来源风险:仓库 README 没明确给出"哪里下载安装包"——Releases 页面与文档站点的链接可能在不同分支/版本间漂移,以 Releases 为准。
- ⚠️ 仓库卡片主语言标
C与实际不符:实际是 Swift / Metal 移植栈;卡片字段是历史快照,以 README 为准。 - 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 端口仍是社区预览。