About
djavul is a preservation project aiming to provide an open-source reference re-implementation of the Diablo 1 game engine. It requires the player's own original diablo.exe and diabdat.mpq files, since no original game assets are included. The project's goal is pixel-perfect parity with the original: validating that, given a deterministic seed, its output matches the original game's graphics and audio when mirroring the same mouse and keyboard input. It's currently marked unplayable overall, though as of its most recent recorded progress (May 2018) it could be interacted with from Python scripts.
How it differs from the original
Unlike many clones, djavul ships no original Diablo 1 assets at all — it requires the player's own copy of diablo.exe and diabdat.mpq to run against the reimplemented engine.
Getting started
Installation and run instructions are provided separately for Linux and Windows in the project's documentation; running it also requires supplying your own original Diablo 1 game files (diablo.exe and diabdat.mpq).
History
The project posted incremental progress updates from late 2017 into 2018, including dungeon generation for the Cathedral level, sound playback, mouse/keyboard input forwarding between a separate 'frontend' and 'backend' process, and, as of May 2018, control of the game engine from Python scripts.
Additional notes
- Subprojects
- The reverse-engineering work is split into companion subprojects: 'notes' for documenting the engine's internals and 'formats' for converting original game assets into openly specified file formats.