Reverse-engineered Diablo Source Code Released


A fan called GalaxyHaxz has managed to reverse engineer the source code for the original Diablo and released it on Github. This is not a free version of the game, it includes no game assets, but it will make it more accessible for modders to update, fix and change.

The project goes by the name of Devilution and the purpose of its release is as follows:

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 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.

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.

More than 1200 hours have been poured into making this release and the plan was to create a Linux port, convert to OpenGL, and modernise the UI. It’s an interesting project and you can find out more here.

Tagged As: , | Categories: Diablo 1

Comments

You're not logged in. Register or login to post a comment.
  1. The best thing Blizzard could do is to create a easy-to-use and powerful tool to mod D3 and allow the Diablo community to go nuts.

    People would turn “D3” into a Diablo game and then some.

    • I mentioned this on one of my past answers. It would be a very good idea indeed, it would leverage Blizz’ bad press.

      Kinda like what Arcade has done for StarCraft 2 (which at times sucked on single-player missions, too fast and short some of them) and at times it reminded me of what happened with The Hobbit movies: both franchises were extended WAY BEYOND common sense just to make some extra bucks from the fans by dividing what would’ve been one excellent game or movie into 3 un-needed parts.

  2. that’s actually pretty cool.

  3. how the hell was this possible ??

    • If you know how to program and understand logic flow, reverse engineering programs isn’t hard, its time consuming instead.

      Reverse engineering doesn’t mean that every line of code will be identical with the original, it means the function outcome and input/output will be the same, and thus will have hopefully identical results as the original code produces.

      Some of today’s programs are in some cases more difficult to reverse engineer because they go to great lenght’s to obfuscate and “black-box” crucial aspects of code itself. It’s often not fully clear what a function or “bunch of code” really does, but it is still needed for stuff to work.

      There is nothing worse for a reverse-engineer than facing deliberate spaghetti coding practice with deliberate fluff added, that is then obfuscated and blackboxed. However, this practice is used for programs that are far outside the COTS spectrum of software for civil use.

    • How do you think crackers can crack applications and games? 😉

Comments are closed.