Star on GitHubStar1.1k stars

Case study

DevilutionX: porting Diablo’s reconstructed engine

Builds a modern Diablo and Hellfire port on the Devilution reconstruction, with platform support, bug fixes and optional quality-of-life features. The project documents the original symbol-assisted reconstruction and includes selected dungeon-generation and saved-game regression checks.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: Full Diablo play requires the user’s original DIABDAT.MPQ. Hellfire additionally needs hellfire.mpq, hfmonk.mpq, hfmusic.mpq and hfvoice.mpq. The separately offered spawn.mpq supports only the shareware portion; source availability does not supply rights to original game content.
  • Prerequisites: The pinned source identifies 1.6.0-dev and requires CMake 3.22 and C++23. SDL2 is the default, with separate SDL1/SDL3 options; build documentation lists platform-dependent libraries and packaging steps.
  • Scope: The background describes Devilution’s use of PlayStation debug symbols, assertion strings, compiler information and assembly comparisons.
  • Testing evidence: The reviewed timedemo test replays a warrior’s level-1-to-2 session and compares saved hero state; it skips without MPQ data and explicitly selects shareware mode. Separate dungeon tests compare seeded fixtures. These are bounded regression checks.
  • License: The root LICENSE.md declares Sustainable Use License 1.0: use/modification is limited to internal business purposes, non-commercial use or personal use, while distribution must be free and non-commercial. Components and original game data retain separate terms.
  • License: The same snapshot retains conflicting Public Domain wording in the Windows package README and Unlicense metadata in the Apple bundle configuration.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · diasurgical/DevilutionX · Revision 9443306
  2. docs/BACKGROUND.md GitHub · diasurgical/DevilutionX · Revision 9443306
  3. VERSION GitHub · diasurgical/DevilutionX · Revision 9443306
  4. CMakeLists.txt GitHub · diasurgical/DevilutionX · Revision 9443306
  5. docs/building.md GitHub · diasurgical/DevilutionX · Revision 9443306
  6. test/timedemo_test.cpp GitHub · diasurgical/DevilutionX · Revision 9443306
  7. test/drlg_l1_test.cpp GitHub · diasurgical/DevilutionX · Revision 9443306
  8. LICENSE.md GitHub · diasurgical/DevilutionX · Revision 9443306
  9. Packaging/windows/README.txt GitHub · diasurgical/DevilutionX · Revision 9443306
  10. Packaging/resources/README-SDL.txt GitHub · diasurgical/DevilutionX · Revision 9443306

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab