Reverse-Engineered Diablo Source Code Available on GitHub
Events
Subscribe:  iCal  |  Google Calendar
Moscow RU   16, Oct — 18, Oct
Helsinki FI   17, Oct — 25, Oct
Minsk BY   17, Oct — 19, Oct
London GB   22, Oct — 23, Oct
Singapore SG   23, Oct — 25, Oct
Latest comments
by Taylor
10 hours ago

bad management, its your job for stuff like that not to happen, dont put that extra weight on artist because management didn't do your job

by Robert Gardner
11 hours ago

It really is the best game of 2018, Thank you.

"We're saddened if any former members of any studio did not find their time here enjoyable or creatively fulfilling and wish them well with finding an environment more suitable to their temperaments and needs…" Or : We're saddened if any former members of our studio are not happy to have been exploited to enrich us. Awesome !!!! Ok, guys… you have lost one customer !

Reverse-Engineered Diablo Source Code Available on GitHub
19 June, 2018
News

Someone who goes by the name of “GalaxyHaxz” has uploaded a reverse-engineered version of the original source code (with no game assets) for Blizzard’s 1996 Diablo to GitHub. We’ve seen tons of Diablo updates and remakes, but this is something else.

Diablo was everything but loved by Blizzard. The last update to the game was in 2001, and Blizzard stopped supporting/selling it altogether a few years ago. I took up a mission to fix this problem. Diablo was a game I played extensively as a teenager; but as time passed, it became difficult to run the game on newer hardware. The lack of new content also took away from the re-playability. The ideal solution would be to modernize the source, but reversing the whole game initially sounded impossible.

Thankfully, there was a little oversight in 1998. Blizzard gave Diablo’s source code to two developers: Synergestic Software (to create an expansion), and Climax Studios (to create a Playstation port). Now 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.

To top it all off, a debug build of the PC version is contained right there on your Diablo disc! Hidden in DIABDAT.MPQ -> D1221A.MPQ -> DIABLO.EXE. This build contains debug tools not found in the retail game, and many assert strings giving away code information. Combining these aspects not only makes reversing the game much easier, but it makes it far more accurate. File names, function names, and even line numbers will be fairly close to the real deal.

After four months of hard work, I present to you Devilution! Instead of seeing how Diablo evolved, we’ll see it devolved!

Purpose

Having the source code makes things much easier to maintain. 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). The problem is that they never released their sources. Usually being a one-man job, they move on with their livefhs 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.

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.

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.

GalaxyHaxz 

The author states that they’ve released the reverse-engineered code as public domain material, but we are not sure about the Blizzard’s take on this. Make sure to learn more about Devilution here

Source: GitHub

Leave a Reply

Be the First to Comment!

avatar
wpDiscuz
Related articles
Partners’ project
Partners’ project
Environment Art
Environment Design
News