While some gamers are hoping to get news of a new Diablo game from Blizzard, others are giving the original game some love.
Thanks to some keen observation, GitHub user Galaxyhaxz was able to find the original Diablo source code that was left on a Japanese port of the game.
Says the hacker, “Sony of Japan has long been known for letting things slide in their QA department. Anything from prototypes to full source code leaks (Beatmania), and Diablo was no exception. A symbolic file was accidentally left on the Japanese port, which contained a layout of everything in the game. This includes functions, data, types, and more! A beta version of the port also leaked, which contained yet another one of these files.”
So after four months of work, Galaxyhaxz has reverse engineered and released the original source code for the game, bugs and all under the project name Devilution.
So why release the source code for a game that is 22 years old in December?
The simple answer is that Galaxyhaxz and many others still love that original game and for good reason. Unfortunately – unlike StarCraft which was remastered recently – Diablo has been left very much alone since 2001, at least in an official capacity.
Folks can and do still mod the game but, as Galaxyhaxz points out, this is usually a one-person operation and bugs from various versions make their way into those mods or simply break the mod because the developer wasn’t aware of the bug. As its a one-person operation these bugs often go unfixed and folks are left with an unfinished mod.
The idea behind releasing the source code is to preserve the original game while giving developers a base-line from which to build on.
“The goal of Devilution itself is to recreate the original source code as accurately as possible, in order to ensure that everything is preserved. 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,” writes the hacker.
Our big question is whether this is legal. Galaxyhaxz appears to have had the same thought given they address the matter in the FAQ section of the GitHub page.
“Under the DMCA, reverse-engineering has exceptions for the purpose of documentation and interoperability. Devilution provides the necessary documentation needed to achieve the latter. However, it falls into an entirely grey area. The real question is whether or not Blizzard deems it necessary to take action,” they write.
So for now there is a fun project for developers to sink their teeth into. Just note you will need a copy of the original Diablo game as the source code is just that, code, and you’ll need the assets to make that code playable.