Someone who goes by «GalaxyHaxz» has uploaded what appears to be a reverse-engineered version of the original source code (sans game assets) for Blizzard’s pioneering 1996 game Diablo to GitHub.
Heads up, devs: someone who goes by «GalaxyHaxz» has uploaded what appears to be a reverse-engineered version of the original source code (but no game assets) for Blizzard’s pioneering 1996 game Diablo to GitHub.
While both Diablo and its 2000 sequel Diablo 2 have seen their fair share of mods and unofficial updates/remakes, this particular attempt (branded «Devilution») at reverse-engineering the original source code is notable for how accessible it is and how much work the author has put into documenting why/how they did it for other devs.
«The goal of Devilution itself is to recreate the original source code as accurately as possible, in order to ensure that everything is preserved,» reads an excerpt of the project’s GitHub page. «This goes as far as bugs and badly written code in the original game. However, it becomes a solid base for developers to work with; making it much easier than before to update, fix, and port the game to other platforms.
«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.»
Devilution appears to include none of the actual game assets, so you can’t just download it and start playing a free game of Diablo. The creator claims they’ve released the reverse-engineered code as public domain material, though it’s not clear if Blizzard is on board with that.
Nevertheless, it’s an interesting project devs can learn more about by poking around in both the Devilution repo and, if you’re really curious, the creator’s accompanying repo of notes on the project. For a more authentic, broader look back at how the seminal Blizzard action-RPG was built, check out creator David Brevik’s GDC 2016 postmortem of Diablo.