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.

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 checked 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. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
30 comments Subscribe
Page: 1/2»
  Go to:

mcphail 20 Jun 2018
I'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.
son_link 20 Jun 2018
Another is working on samw for Diablo II, but at the moment only works for Windows (GNU/Linux and Mac needs some work): https://github.com/eezstreet/OpenD2
stretch611 20 Jun 2018
More 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](https://www.techdirt.com/articles/20160427/05472834289/blizzard-pretends-ip-made-it-kill-fan-server.shtml) and [lawsuits](https://www.techdirt.com/articles/20180206/10250339165/blizzard-still-trying-to-take-down-wow-vanilla-fan-servers-while-refusing-to-offer-competing-product.shtml). 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.
legluondunet 20 Jun 2018
There is a free open source port named FreeAblo too: https://freeablo.org/
Someone tested it? You can play single game and the dev actually work on a multiplayer feature.
GustyGhost 20 Jun 2018
https://www.hooktube.com/watch?v=qvM6Mg0VtO0
slaapliedje 20 Jun 2018
This is awesome news! I love the Diablo games (as in 1 and 2...there was no 3 was there?)
There was the freeablo project to make an open engine, this moves that effort along much faster. Dunno if the freeablo developer will continue on his project, maybe he could help out on this one or take from it. Just hope i can finally play diablo on Linux soon.

(also somebody copy the source code before bizzard hears about this)

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

This is cool though, Diablo 1 and 2 are still great games!
shawnsterp 20 Jun 2018
This is awesome news! I love the Diablo games (as in 1 and 2...there was no 3 was there?)
There was the freeablo project to make an open engine, this moves that effort along much faster. Dunno if the freeablo developer will continue on his project, maybe he could help out on this one or take from it. Just hope i can finally play diablo on Linux soon.

(also somebody copy the source code before bizzard hears about this)

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

This is cool though, Diablo 1 and 2 are still great games!

I'm pretty sure he was kidding, but yeah I thought Diablo 3 was a letdown too.
slaapliedje 20 Jun 2018
This is awesome news! I love the Diablo games (as in 1 and 2...there was no 3 was there?)
There was the freeablo project to make an open engine, this moves that effort along much faster. Dunno if the freeablo developer will continue on his project, maybe he could help out on this one or take from it. Just hope i can finally play diablo on Linux soon.

(also somebody copy the source code before bizzard hears about this)

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

This is cool though, Diablo 1 and 2 are still great games!

I'm pretty sure he was kidding, but yeah I thought Diablo 3 was a letdown too.

Ha, well to be fair, I thought so as well, but then again I actually had forgotten it'd come out until I saw it for sale on the PS4, then thought I'd pick it up, and it was pretty terrible. Pretty much you stay alive as long as you mash buttons and pick the right skills. Friend of mine said you play it for the gear... and I was like "what's the point in that?" If I wanted to play for gear, I'd play an MMO.
Maybe Gitlab though?

We should clone the repository so we'll have a copy in case that it gets DMCA:d.... Microsoft is owning GitHub now so can't be too precautious.
Nibelheim 20 Jun 2018
Grey area. It'll be hard to know if it's legal or not...


Last edited by Nibelheim on 20 Jun 2018 at 5:01 pm UTC
lucifertdark 20 Jun 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 20 Jun 2018
There 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 20 Jun 2018
There 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 20 Jun 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 Jun 2018 at 8:05 pm UTC
slaapliedje 20 Jun 2018
There 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 Jun 2018 at 8:07 pm UTC
STiAT 20 Jun 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 20 Jun 2018
I'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 Jun 2018 at 10:50 pm UTC
mcphail 21 Jun 2018
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).

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 21 Jun 2018
More 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 Jun 2018 at 3:25 am UTC
NeoTrantor 21 Jun 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.