A coder spent 1,200 hours reverse-engineering Diablo's source code

A coder who goes by the name of GalaxyHaxz has uploaded a reverse-engineered version of the original Diablo source code. According to this GitHub post, it took them over 1,200 hours over the course of "6-12 months", in bid to ensure "that everything is preserved."

Devilution, as the project is known, doesn't contain any of the original game's assets so don't expect a free copy of the classic action slasher. Do however expect an accessible project that aims to make things "much easier" to support and maintain into the future.

"For years mod-makers had to rely on tedious code editing and memory injection. A few even went even further and reversed a good chunk of the game (such as Belzebub/The Hell)," explains GalaxyHaxz. "The problem is that they never released their sources. Usually being a one-man job, they move on with their lives inevitably due to the amount of time/work required or lack of interest. 

"This leaves people with a half-finished mod; one which had countless hours put into it, but left full of bugs and unfinished potential. So we're back to square one. Devilution aims to fix this, by making the source code of Diablo freely available to all."

GalaxyHaxz explains the goal of Devilution is to reproduce the '96 original's source code as accurately as possible—"this goes as far as bugs and badly written code"—in order to make updates, fixes and ports to other platforms more straightforward.  

The post adds: "As a side goal, Devilution helps document the unused and cut content from the final game. Development of Diablo was rushed near the end—many ideas were scrapped and Multiplayer was quickly hacked in. By examining the source, we can see various quirks of planned development."

With a remake of the original inside Diablo 3, an active modding community, and a new game in the works, Diablo remains well served. But I'll never not be blown away by the care and effort that goes into hobbyist projects like Devilution.

GalaxyHaxz offers a more detailed look at their processes here.