by d2r-mobile
Diablo II: Resurrected as native code on iPhone and iPad, from your own Switch copy. 60 fps, ~10 h battery in power saver mode, 1-tap Runewords, a 100-level Greater Rift. Build it with one sentence to Claude Code or Codex. 暗黑 2 重制版原生跑在 iPhone / iPad 上,一句话复刻。
# Add to your Claude Code skills
git clone https://github.com/d2r-mobile/d2r-mobileSee how d2r-mobile compares with popular alternatives.
d2r-mobile is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by d2r-mobile. Diablo II: Resurrected as native code on iPhone and iPad, from your own Switch copy. 60 fps, ~10 h battery in power saver mode, 1-tap Runewords, a 100-level Greater Rift. Build it with one sentence to Claude Code or Codex. 暗黑 2 重制版原生跑在 iPhone / iPad 上,一句话复刻。. It has 61 GitHub stars.
d2r-mobile's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/d2r-mobile/d2r-mobile" and add it to your Claude Code skills directory (see the Installation section above).
d2r-mobile is primarily written in C. It is open-source under d2r-mobile on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh d2r-mobile against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
An open-source iOS / macOS compatibility layer for Diablo II: Resurrected with the Reign of the Warlock expansion. It brings the Nintendo Switch release you bought, expansion included, to iPhone, iPad and Mac in full: the original game code runs natively, every control is rebuilt for touch, the frame rate holds at 60 fps, and you are in a game one second after the main menu. There is now a native macOS version as well (first version): on an Apple silicon Mac it starts on double-click and works with keyboard, mouse and gamepad. Apple TV 4K (3rd generation, A15) has a community port (developer preview) that has reached the character-selection screen only on its author's device; see the device table below.
This is not a tech demo that "sort of runs". It is a mobile version polished for daily play, from your first character all the way through the endgame.
Platforms: iPhone / iPad (iOS 26 and later; iOS 18 – 25 with the older-API build) · Mac (Apple silicon, macOS 26 or later; macOS 15 – 25 with the older-API build) · Apple TV 4K (3rd generation, A15; community port, developer preview) · Game version: Switch release with Reign of the Warlock, 1.0.34.0 (corresponds to PC version 3.3.94012) · English / 中文 · License: MIT · Bring your own game files
中文: README.zh-CN.md
| Locked 60 fps | 10 h battery | 1-tap Runewords | 100-level Greater Rift | Uber Boss Rush | 1 s to play |
|---|---|---|---|---|---|
| No drops once the phone warms up | Per charge, in power saver mode | Long-press a base, socket every rune | Skill cap rises from 20 to 40 | 12 stages, Diablo Clone to the Ubers | From the main menu into a game |
Have your game files ready, then tell Claude Code or Codex:
Use the d2r-mobile skill from https://github.com/d2r-mobile/d2r-mobile to build D2R Mobile for my iPhone. My game files are in <path>.
The agent checks your machine, prepares the workspace, signs and installs the app, and copies the game resources to your phone. It stops to ask you for your Apple signing details and before any install that needs sudo. The skill lives at skills/d2r-mobile/SKILL.md, and both agents find it on their own through .claude/skills/ and .agents/skills/. The manual steps are under Getting started.
The repository ships the rewriter, the host, the graphics layer, the iOS app, the test tooling and the full build pipeline. It ships no game program, art, text, data tables or shaders: your own machine generates all of that from your own files (see docs/GAME_FILES.md). The interface details we recorded to make the port work, such as shader interface descriptions, the graphics API function table and addresses inside the program, are listed item by item in docs/DERIVED.md.
The game runs fully offline and needs no online account. Multiplayer is out of scope.
All 44 iPhones and iPads in the closed beta cleared Normal, Nightmare and Hell with several characters: 35 registered devices (25 iPhones and 10 iPads) plus 9 TestFlight accounts with one device each. The oldest, an iPhone 14 Pro Max with 6 GB of memory, holds 60 fps.
| Models | |
|---|---|
| iPhone | 14 Pro Max, 15, 15 Pro, 15 Pro Max, 16 Plus, 16 Pro, 16 Pro Max, 17 Pro Max and more |
| iPad | iPad Air, iPad mini, iPad Pro 11-inch and 12.9 / 13-inch (including M2 and M4) and more |
| Lowest model tested | iPhone 14 Pro Max (A16, 6 GB): a steady 60 fps |
One install package covers iPhone and iPad.
Measured on an iPhone 17 Pro Max:
| Item | Reading |
|---|---|
| In-game frame rate | 60 fps, steady, with no drops once the device warms up |
| App launch | 0.15 s |
| To the main menu | about 1 s |
| From the main menu into a game | about 1 s |
| Quick Restart, back in a game | about 1.2 s |
| Longest frame when changing acts | about 0.1 s |
| Whole-device power, 60 fps | about 3.8 W (in camp, 50% brightness): close to 5 hours of play on a full charge |
| Whole-device power, power saver mode at 30 fps | about 1.85 W: close to 10 hours of play on a full charge |
Measurement conditions: whole-device power measured on 2026-10-10 on an iPhone 17 Pro Max, standing in the Act I camp at 50% brightness, with 60 fps and power saver mode measured in the same scene. Battery life comes from the measured power and the battery capacity, not from playing a full charge down to empty. Launch and game-entry times were measured on the same model in 2026-10; frame rate and act-change readings were taken on the same model on 2026-10-12 while moving through areas and changing acts.
The install package is a little over 100 MB. The game resources (about 5.6 GB) go onto the phone separately, and app updates leave your saves and resources alone.
Why it is this fast: the program executes natively, and not a single instruction goes through emulation; graphics go straight to Metal; every shader is translated offline and compiled ahead of time, so nothing is compiled when you enter a new scene. Older chips (A16 and earlier, such as the iPhone 14 family and iPhone 15) do not support the game's original compressed texture format; they need an extra texture pack made from your own game files, and then run at full frame rate too — see docs/LEGACY_DEVICES.md.
We rebuilt every panel and every action for touch, with one rule: keep the original interface language, and use gestures in place of extra buttons. Text and tap targets are sized for fingers. You can play the moment you pick it up, and long sessions stay comfortable.
Connect a controller and press any button: the interface switches to the original controller layout, with button prompts at the bottom of every panel. Touch the screen and the touch interface comes back. Inventory, stash, skill tree, Chronicle and settings all work with a controller, using the Switch button mapping.