Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
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,791

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: «2/3»
  Go to:

lucifertdark Jun 20, 2018
Blizzard have a long history of stamping on this sort of thing with Very Large Legal Boots, they really hate the thought of anyone outside their "family" fiddling around with their precious code.
Mountain Man Jun 20, 2018
Quoting: slaapliedjeThere is a Diablo 3, it just isn't good... like at all.
I disagree. Diablo 3 is an excellent game and very fun. It has so many gameplay and quality-of-life improvements that I have trouble going back to play the earlier games which feel so clunky in comparison.

At any rate, I'm pretty sure that reverse engineering software is illegal, or at least it violates license agreements (but could a pirate argue that he never agreed to any kind of license? Ha! Probably not.).
Grimfist Jun 20, 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. Like 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.
I bet you haven't tried anything beyond Torment X difficulty? Diablo 3 has an endless difficulty with its Greater Rift Dungeons. Beyond some point, you just get oneshot no matter what. So you are basically talking shit here. (no offense)


Anyway, back to topic, I had a quick look at the source (and downloaded it before Blizz shuts it down), this is ancient ancient C-Style code. I have no interest in the world refactoring it in any way, I am not masochistic :D
But I hope some will pick up on this!
Dragunov Jun 20, 2018
I would much rather see Path of Exile come to Linux. This game is absolutely amazing, this is what Diablo 3 should have been.

This is the only game I've found that has even come close to the amount of fun I had playing Diablo 2: Lord of Destruction.

I wasn't really a huge Diablo 1 fan, but Diablo 2 with the Expansion was amazing.

I do have Path of Exile working somewhat under wine though.


Last edited by Dragunov on 20 June 2018 at 8:05 pm UTC
slaapliedje Jun 20, 2018
Quoting: Grimfist
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. Like 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.
I bet you haven't tried anything beyond Torment X difficulty? Diablo 3 has an endless difficulty with its Greater Rift Dungeons. Beyond some point, you just get oneshot no matter what. So you are basically talking shit here. (no offense)


Anyway, back to topic, I had a quick look at the source (and downloaded it before Blizz shuts it down), this is ancient ancient C-Style code. I have no interest in the world refactoring it in any way, I am not masochistic :D
But I hope some will pick up on this!

I am not talking shit, because to get to that level is beyond the actual Story itswlf which is all I am really interested in. Same reason I only played through part 1 and 2 once instead of over and over again to grind for new gear. Who cares if you get to a point you get killed in one shot, just shows again a lack of proper balance. D3 was not created by anyone on the team from D1 and D2. Everytime during the story it allowed us to increase the dufficulty, we did.

Edit: Sacred 2 had the same issue. You couldn't increase difficulty until you beat the game, and you had no challenge unless you didn't pick up items. I would fall asleep playing it, even though it is a massively huge and beautiful game, I could never finish it because of being bored.

We got up to level 40 or so without dying unless I set my controller down to get a drink while my brother mashed buttons. Playing the necromancer (or whatever it was) I would just do the ground spikes to heal, with my skeletons just killing everything.

More on topic, it is not illegal to reverse engineer things. People do it all the time, like openmw, etc.


Last edited by slaapliedje on 20 June 2018 at 8:07 pm UTC
STiAT Jun 20, 2018
Reverse engineering is legal in some countries, especially for educational purposes.

That said, publishing it may not be. I do not think Blizzard will object, they seem to have adopted a pretty lax stance to enthusiasts, and there isn't any potential harm to them.

It's interesting, and if they reverse engineered the code of disassembled code they have my deep respect, since that's not an easy task to do.

I'd like that on Linux (I do have the original), and hope Blizzard won't take action. It's only their customers who can play anyway.
STiAT Jun 20, 2018
Quoting: mcphailI'm so tempted to make a snap of this with bundled WINE...

...but maybe I'll wait for a bit of clarity about the legal situation.

For that you'd have to bundle Blizzards IP, the data files. That's legally not possible unless Blizzard gives the permission (as in example Id did with Doom).

We're moving a grey area with reverse engineered code for the game engine and scripts, but the game data is certainly out of question their IP.

I am not sure you could convince them for that, though, they have gotten more open and maybe they are at a point where they're ready to give the old IP they hold some freedom. That's a question only to be answered by Activision/Blizzard.


Last edited by STiAT on 20 June 2018 at 10:50 pm UTC
mcphail Jun 21, 2018
Quoting: STiATFor that you'd have to bundle Blizzards IP, the data files. That's legally not possible unless Blizzard gives the permission (as in example Id did with Doom).

No, I wouldn't be snapping the assets; just the engine. The user would have to supply the game files.

I can't see that the engine could be legally redistributed, though. Merely putting the binary through a decompiler and then compiling the output would not make this free. Furthermore, if Oracle have proved that an API can be copyrighted, it seems logical that a leaked symbol table would also be under copyright protection.

Sadly, I'll have to watch this one from afar.
Shmerl Jun 21, 2018
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.


Last edited by Shmerl on 21 June 2018 at 3:25 am UTC
NeoTrantor Jun 21, 2018
This is rather the result of decompiling the binaries and some cleaning up of the code than "reverse engineering". If it was reverse engineered the author would have written most parts of the code by himself. That's not the case here.
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.