explaingit

diasurgical/devilutionx

9,485C++Audience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A modern engine port that lets you play the classic 1996 game Diablo on today's computers, phones, and game consoles, you provide your own copy of the original game files.

Mindmap

mindmap
  root((devilutionx))
    What it does
      Run classic Diablo
      Bug fixes
      Widescreen support
    Platforms
      Windows macOS Linux
      Android iOS
      Nintendo Switch
      PlayStation Xbox
    Use Cases
      Play Diablo
      Modding
      Retro gaming
    Requirements
      Own game files
      Platform release
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Play Diablo on a Nintendo Switch, Android phone, or modern Windows PC using your existing game files.

USE CASE 2

Create a mod for Diablo using the documented modding tools and community resources built on this engine.

USE CASE 3

Run the classic Diablo shareware demo to try partial game content before buying the full version.

Tech stack

C++CMake

Getting it running

Difficulty · easy Time to first run · 5min

You must own a legal copy of Diablo, the DIABDAT.MPQ file from your CD or GOG purchase is required to run the game.

Non-commercial use only under the Sustainable Use License, not affiliated with or endorsed by Blizzard Entertainment.

In plain English

DevilutionX is a way to play the classic 1996 action role-playing game Diablo (and its Hellfire expansion) on modern computers and devices. The original game engine was reverse-engineered years ago, and DevilutionX builds on that work to make it run cleanly on current hardware, fix old bugs, and add optional quality-of-life improvements like widescreen support and visible health bars. To use it, you need to own Diablo. The game data files (specifically a file called DIABDAT.MPQ) must come from your own CD or a digital purchase, such as from GOG.com. DevilutionX provides only the engine code, not the game content. There is a shareware version of the data available for people who want to try the partial demo content before buying. Once you have the data file, you download a DevilutionX release for your platform, place the data file in the same folder, and run it. The project runs on a wide range of platforms: Windows, macOS, Linux, Android, iOS, Nintendo Switch, Nintendo 3DS, PlayStation 4, PlayStation Vita, Xbox One, Xbox Series consoles, and even older hardware like the original Xbox and Amiga computers. This breadth is one of the project's main attractions for fans who want to play on unusual hardware. For people interested in building on top of the game, DevilutionX also provides modding support, with tools and documented ways to create modifications. There is a growing list of community mods built on this foundation. The source code is released under the Sustainable Use License, which allows non-commercial use only. DevilutionX is not affiliated with or endorsed by Blizzard Entertainment, which holds the Diablo trademark and copyright. Contributors are welcome via code, documentation, or testing, with a Discord community available for coordination.

Copy-paste prompts

Prompt 1
I own Diablo on GOG and want to run it with DevilutionX on my Nintendo Switch, what files do I need and where do I put them?
Prompt 2
Show me how to start a DevilutionX modding project and change enemy spawn rates in the game.
Prompt 3
How do I build DevilutionX from source on Linux to run it on a custom or unusual hardware target?
Prompt 4
What quality-of-life improvements does DevilutionX add over original Diablo, and how do I enable widescreen mode?
Open on GitHub → Explain another repo

← diasurgical on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.