You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

Reverse engineered source code for Diablo is now on GitHub

By - | Views: 26,850

This is a bit of a surprise! Someone going by the name 'GalaXyHaXz' has put up source code for the original Diablo that was apparently reverse engineered called 'Devilution'. It doesn't have the data, so you do need a copy of the original to work it.

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.

I don't know enough about that myself to say if it's legit, legal or anything, but it's still rather interesting. It's especially fun, since in the FAQ, the developer noted they plan a separate project to update it with a Linux port with OpenGL, modernize the UI and much more.

On the project page, the developer notes that it can apparently run in Wine on Linux right now.

It will be interesting to see what Blizzard do as a response to this. Find it on GitHub.

Thanks for the tip Roney.

Article taken from GamingOnLinux.com.
Tags: Misc
17 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
30 comments
Page: «3/3
  Go to:

Wendigo Jun 21, 2018
Quoting: slaapliedjeThere is a Diablo 3, it just isn't good... like at all. About the only thing I would mark it as good are the graphics. Past that it is way too easy.
To me the biggest let down wasn't the difficulty but the lack of freedom.
In Diablo2 I had lots of fun creating new characters and experimenting with different skills and spells. One of my favorite characters was an assassin skilled in traps alone. I had the luck to find a unique item meant for a mage that gave me lots of mana regeneration. It was extremely strong -> open the door -> place 3 traps -> wait -> all enemies dead.
In D3 you can't even assign any skill points and the spell system is meaningless since about any distribution of spells works. And if not just reset everything on the fly and try something new.
One thing I liked in D2 were the necro and druid pets. I put lots of skill points in them so that they were able to fight on their own and I just had to cast some damage spells / curses against champions and bosses.
In D3 I am forced to use pets as tanks and do the damage myself. Playing as WD it took 3 of my hounds about 3 seconds to kill a single zombie.
D3 was the only Diablo game that I had to force myself to finish at least with one character. And with finish I mean killing diablo in the basic difficulty level. Blizzard calling the first run a "Tutorial" is just ridiculous since after that you already know the whole story, so why bother playing the game again in higher difficulty when there are hundreds (sic!) of other games in my steam library waiting to be played?
poisond Jun 21, 2018
Wait ... that's not reverse engineered, that's a straight decompile from a debug build.
That's is not legal to distribute anywhere.
monnef Jun 21, 2018
There is a lot of disinformation about D3. Yes, I would too probably not say it's better than D2 (if ignoring graphics, and also I am probably rating D2 too high because of nostalgia). But a lot of critique here is plainly false.

QuoteLike I can set down my controller and leave the room and that is the only way I die, easy. The way they balanced it is ridiculous, and my brother and I were playing on the hoghest difficulty allowed.
There is many difficulty levels - https://us.diablo3.com/en/game/guide/gameplay/game-difficulty

QuoteIn D3 I am forced to use pets as tanks and do the damage myself.
There are summon builds - https://odealo.com/articles/helltooth-gargantuan-pet-witch-doctor-build-diablo-3-ros

QuoteIn D3 you can't even assign any skill points and the spell system
I personally hated how few wrong clicks can ruin your character in D2 (before adding reset through end-game quest). I recommend watching a GDC talk about D3, they mentioned quite a lot of down-sides of D2 skill tree (analysis paralysis, only illusion of choice - illusion of skill system depth, unintuitive/arbitrary synergies, lack of any visual [and for most part even game play] effect on spells/skills).

QuoteBlizzard calling the first run a "Tutorial" is just ridiculous since after that you already know the whole story, so why bother playing the game again in higher difficulty when there are hundreds (sic!) of other games in my steam library waiting to be played?
That's the definition of a Diablo game. You quickly level and get through tutorial (story) and then the meat of the game is actually gearing up, trying builds with build-defining unique/legendary items (this aspect was quite weak until itemization patch which landed before expansion). In my opinion, if you don't like the grind, then you really shouldn't have bough a Diablo game. How long was D2 on easy difficulty? I am pretty sure just a few hours.

Diablo games start at high/top levels when that build-defining gear starts to drop. That's why story is labelled as tutorial. I am a filthy casual (no leaderboards, no theory crafting or obsessive min-maxing) and yet I managed to spent I think 150hours playing it (long pauses, usually going back after half a year, usually when new season starts - new content is added).
Mountain Man Jun 21, 2018
Quoting: WendigoIn D3 you can't even assign any skill points and the spell system is meaningless since about any distribution of spells works. And if not just reset everything on the fly and try something new.
That, I think, is one of Diablo 3's greatest strengths, the extreme number of viable (but not necessarily optimal) builds per character and the ease with which you can experiment. I've had so many times where my build would be OK, but with a little thought and reassigning of skills, paragon points, and gear would suddenly becomes a DPS beast. I love the fact that I don't need to grind out a new character whenever I want to try something a little different. Diablo 2 patch 1.13 did resolve this issue to some extent by allowing limited respecs.

Quoting: WendigoIn D3 I am forced to use pets as tanks and do the damage myself. Playing as WD it took 3 of my hounds about 3 seconds to kill a single zombie.
Sounds like a less than optimal build. A couple seasons ago, I had a Witch Doctor who could literally stand still, and his pets would destroy everything in sight within seconds, including elite mobs. Made clearing high level rifts a breeze.


Last edited by Mountain Man on 21 June 2018 at 3:07 pm UTC
Asu Jun 22, 2018
I have my old CD but I don't have any CDROM drive lol...
Shmerl Jun 22, 2018
You can get a cheap external optical drive with USB connector for that purpose :)
slaapliedje Jun 23, 2018
Quoting: Shmerl
Quoting: slaapliedjeMore on topic, it is not illegal to reverse engineer things. People do it all the time, like openmw, etc.

"Clean room" reverse engineering is legal. Copying copyrighted code is not. So if they reconstructed the original engine from scratch - it's fine, but if they had code dumps from the original Blizzard code - then it's a problem.

100% correct. Since this was established as decompiling the code and patching it, this definitely is in the 'not safe to distribute' area. At least if you take what other comments are saying.

That's quite different then 'we sniffed protocols and recreated the engine ourselves.'
Seegras Jun 23, 2018
Quoting: Mountain ManAt any rate, I'm pretty sure that reverse engineering software is illegal

Absolutely not! Stop sprouting other assholes propaganda!

Of course o load of bad companies would like it to be illegal, but it's not.

It's illegal to copy code verbatim, but "reverse engineering" implies this is not the case.
Mountain Man Jun 24, 2018
Quoting: Seegras
Quoting: Mountain ManAt any rate, I'm pretty sure that reverse engineering software is illegal

Absolutely not! Stop sprouting other assholes propaganda!

Of course o load of bad companies would like it to be illegal, but it's not.

It's illegal to copy code verbatim, but "reverse engineering" implies this is not the case.
It depends on what is done and how it is done.
Randall_Linux Jul 4, 2018
Quoting: stretch611More than likely, it is not legal. If it was legal chances are that Blizzard/Activision would be making the announcement, not some unknown "hacker" named "GalaXyHaXz". Also, if it was legal, I would expect the original source code to be released... not some reversed engineered code.

In many cases, it is hard to tell how a company would react to 20-25 year old code being released illegally. Some companies may not exist anymore, and others would ignore it as it is not likely to be worth much more than a curiosity of a time long passed.

However, this is Blizzard/Activision... We have seen what they have done to people that have tried to extend their code before and it results in takedowns and lawsuits. Even people who create bots have been taken to court by Blizzard. Expect the same treatment here... a quick DCMA takedown notice to the site hosting the code, followed by a major lawsuit against the hacker.
technically it is quite legal, this was reverse engineered, not just outright theft of code. but when it comes to the civil court room, legality takes a back seat to "can I afford to defend myself in court against a giant corporation with more expensive lawyers"
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.