
OpenDiablo2 - tomcam
https://github.com/OpenDiablo2/OpenDiablo2
======
Vysero
I played Diablo2 for almost 19 years. Then the Blitzchung controversy
happened. Now Diablo2, and all Blizzard products are dead to me, and imo they
should be dead to you all as well.

~~~
jean-
For those who are wondering what the parent is referring to:
[https://en.m.wikipedia.org/wiki/Blitzchung_controversy](https://en.m.wikipedia.org/wiki/Blitzchung_controversy)
They banned a player who voiced support for the Hong Kong protests.

~~~
marcusverus
This is serious concern for me regarding the rise of China. Access to their
market is already so valuable that they are able to impose their censorship
program internationally via implicit threat against corporate proxies abroad.
See the similar NBA Hong Kong controversy[0] and the YouTube 'communist
bandit' ordeal[1].

[0]
[https://en.wikipedia.org/wiki/National_Basketball_Associatio...](https://en.wikipedia.org/wiki/National_Basketball_Association_criticisms_and_controversies#2019_Hong_Kong_protests)
[1] [https://www.cnbc.com/2020/05/27/youtube-china-communisty-
par...](https://www.cnbc.com/2020/05/27/youtube-china-communisty-party-
comments.html)

------
wheybags
Hey, just gonna take this opportunity to plug my very similar project for
Diablo 1:
[https://github.com/wheybags/freeablo](https://github.com/wheybags/freeablo)

~~~
k__
Nice!

Since it's written in C++, does it compile to WebAssembly?

~~~
wheybags
I guess it could, but I haven't tried yet. It uses SDL and opengl, which I
gather are well supported. You'd still need to load the original assets
though, so it would maybe be more useful as a demo with some new assets.

------
jonathanlydall
Unfortunately Blizzard has a history of shutting down open source projects of
implementations of their IP, I would be surprised if they don't go after this.

[https://en.wikipedia.org/wiki/Stratagus](https://en.wikipedia.org/wiki/Stratagus)

~~~
logicNSci
I've thrown in the towel on some of my favorite games, anything from Blizzard,
Nintendo (Zelda), and obviously EA.

I think it "Clicked" when someone said 'none of the programmers that made
Old_Game even work there anymore'

These companies are selling IP, not a sequel. When you buy modern Zelda, you
don't get Majora's Mask, you get a 2015 action game skinned with Link.

Blizzard is a corporation that owns the characters and names. However you can
play Diablo clones that are significantly better in 2020. You just need to be
okay without Cain.

Nolstagia is a hella drug.

~~~
anthk
Flare RPG and Nethack are both better than Diablo.

When I discovered libre games thanks to Linux/BSD and some source ports with
total conversions, I was sold.

There was 2000 times better quality on a lot IF and now called "indies" than
most games since 2002.

~~~
the_af
Isn't Nethack a completely different game though?

Nethack is a turn-based roguelike. Diablo is an action-oriented dungeon crawl
(the original at least; I never played Diablo 2 or 3). To me they don't "feel"
the same enough to compare which one is better.

I'm a fan of roguelikes too, by the way. If you want to try a somewhat
different roguelike for Linux, I recommend Teleglitch (commercial, scifi,
quirky graphics, real-time, brutal gameplay).

edit: and Duskers! How could I forget Duskers! For a really different scifi
roguelike: [http://duskers.misfits-attic.com/](http://duskers.misfits-
attic.com/)

~~~
anthk
Sorry, to me a roguelike must be top down and turn based.

I have a good list here. Nethack, DCSS, the old TOME 2.x releases, SCrap...

I avoid CDDA because I hate games with no clear ending or objectives ingame.

~~~
the_af
I respect your purism! But do try Duskers, regardless of classification. It's
a cool game and shares some traits with roguelikes: autogenerated world, stuff
to find and equip, permadeath, and high difficulty as the game progresses
(though it's deceptively easy when starting).

Teleglitch is punishingly difficult from the start, and pretty fast paced too,
so maybe give that one a pass.

------
llarsson
Cool! I would love to play this natively on Linux.

I would also really like to easily read somewhere, website or github, what the
status of the project is. Is Diablo II (with or without LoD) entirely
playable?

Do they actually also target other games as well? Their choice of words seem
to indicate so: "OpenDiablo2 is an ARPG game engine in the same vein of the
2000's games, and supports playing Diablo 2." If so, which?

~~~
ballresin
I only joined the project just this week, but I can tell you that the game
isn't playable yet. It launches and runs, allowing you to create a character
and walk around in town. Most functionality isn't wired up yet. There are a
lot of opportunities to contribute.

There are no plans to support any other games, but it sounds like they expect
to be able to use it to create new games.

~~~
anentropic
is it cross-platform, since it's built in Go? runs on macOS?

~~~
essial
I'm the lead and I use OSX Catalina :)

------
87zuhjkas
For anyone interested in this sort of thing, ReGoth (Gothic 1 & 2) comes to
mind and is still in active development: [https://github.com/REGoth-
project/REGoth-bs](https://github.com/REGoth-project/REGoth-bs)

~~~
the_af
Wow.

Gothic 1 was one of my favorite RPGs of that era. The setting was intriguing
(it was devised to limit the world, but it was an interesting way of doing
so), the world felt "alive", with night-day cycles and NPCs going their way,
working, etc. I still have the box lying somewhere, because I keep the boxes
of my favorites games.

(Unfortunately, I don't think I have any way to read the original game discs
anymore, so I have the game and at the same time I don't have access to its
assets...)

------
jaynetics
In an ideal world, Blizzard would get on board and help complete this, then
sell an HD asset pack for a few bucks to make a quick million.

~~~
pmilot
Why help complete this? If they would be willing to have an open source D2 out
there, they can just release the original source code. It would seem even more
"ideal" to me.

~~~
mraison
Fun (or sad) fact: they apparently lost a lot of the source code and assets.
Looks like they were able to recover most of the code, but not the assets [1]

[1] [https://www.gamespot.com/articles/how-diablo-2-was-almost-
lo...](https://www.gamespot.com/articles/how-diablo-2-was-almost-lost-and-why-
a-remaster-is/1100-6471517/)

~~~
im3w1l
They said they lost the source code pre-release, but managed to reconstruct
most of it. Given that it was released and that there have been many patches,
I think the source code is fine.

I think the only thing they really lost are the hi-def assets from which the
lower-def ingame assets were created.

~~~
taneq
Are you sure the in-game assets were created from hi-def versions rather than
just being pixel art?

~~~
BolexNOLA
That’s exactly what the article says.

~~~
taneq
Can you point to where? I can't find it, and a quick search for "resolution",
"high", "quality", "def" turned up nothing. They say they lost the art assets
but a bunch of pixel art tilemaps would fit that description, especially if
they were composited down during the build process.

------
have_faith
For anyone interested in this sort of thing, OpenMW (Morrowind) comes to mind
and is still in active development:
[https://openmw.org/en/](https://openmw.org/en/)

~~~
hombre_fatal
This is great.

I wanted to try it on macOS Catalina but was too lazy to copy my GOG game
files over from Windows. I noticed the top Morrowind torrent already comes
with the "Data Files" folder unpacked from the installation.

Download OpenMW, run the wizard, point it at the Morrowind.esm file (from the
torrent or your own installation), and click play. We now have a Morrowind
that works on all OS.

Amazing stuff. Even detects mods dragged into the directory and lets you click
and drag their load order.

------
sydd
Does anyone know why they switched from C# to Go?

~~~
de_watcher
Does anyone know why would you try to develop an opensource game in C# in the
first place?

~~~
Octoth0rpe
Presumably due to the wealth of C# code/libraries available to game devs. It's
an incredibly popular language in that area, certainly more popular than Go.

There are plenty of good reasons not to use C#, but we shouldn't pretend that
there aren't plenty of good reasons _to_ use it for specific problem spaces.

~~~
de_watcher
It works in frameworks like Unity Engine, but otherwise it ends up like Space
Engineers Windows-only which is a shame.

~~~
mywittyname
A lot of indy devs are using Unity. Hell, a lot of non-indy devs use it. So
that's not a big deal.

There are some other frameworks that use C# and are cross-platform. Monogame
is the cross-platform replacement for MS's XNA, which targets most of the
major game systems out there.

~~~
de_watcher
As the OpenDiablo2 developer has confirmed: cross-platform C# is a pain.

Yes, I understand that Windows is big and there are a lot of C#
developers/fans here who immediately scream "What? C# can do anything!!!", but
in practice MS doesn't support opensource where it matters and when it
matters.

------
happy_path
Sadly, this kind of engine rewrites need original data files. Alternative art
content would be awesome (a la OpenTTD). Could donations help this?

~~~
bootloop
I don't think this would be of interest for anyone surrounding this project.
Requiring you to buy the original game keeps the publisher happy (to a certain
level) and also gives you an argument for legality regarding the non-graphical
content which might also be copyright protected.

~~~
Maledictus
If you are not using any of their content you are not violating their
copyright.

~~~
rubber_duck
But then you need to replace dialogues and storyline as well ? Also
items/spells/mechanics can't be a straight clone ? So you would end up with a
completely different game ?

~~~
hajile
Stat blocks aren't protected by copyright. Most game mechanics aren't
patentable in the first place and Diablo patents would have expired.

Names fall under trademark law and even names that they've bothered to apply
for (let alone all those rejected for various reasons) aren't difficult to
change.

Story is a different question. The core story is incredible thin and
derivative. Creating a new story wouldn't be very hard. That said, most
players today would probably be much more interested in multiplayer anyway.

~~~
rubber_duck
I'm thinking more along the lines of names + stats, and game rules in general,
if that wasn't copyrightable I'd imagine nobody would have to license D&D to
create a video game based on it.

------
perceptronas
Very exciting. Diablo 2 is one of the best games for me. Lore and universe is
extremely interesting too

~~~
vorpalhex
If you want a modern incarnation, Path of Exile is basically a homage to
Diablo 2 with it's own universe and story but same complex and enjoyable
mechanics.

~~~
fgonzag
I would hate being a newbie in PoE now a days. The game has gotten so bloated
and ridiculously complex that it would take months to sort of grasp all the
different league mechanics.

I honestly can't wait for Diablo 4 as a PoE veteran since beta, I just don't
agree with most of the recent design decisions. Lack of visual clarity,
mechanical clunkiness with movement skills, rng on rng on rng mechanics (just
progressing through maps can be incredibly frustrating if you're on a dry
spell and can't even get maps to drop).

It's almost as if the devs are intentionally creating frustrating mechanics,
in a game...

------
chungus
Earlier this year I read "Stay a while and listen" by David Craddock and it
made me reinstall diablo 2 after not touching it for 15 years. After disabling
d3d11 in wine, it has been running with no issues on ubuntu 20.4

------
benologist
Excellent work. I think it is long overdue that many of our childhood
cherished games, books, cartoons etc are paralleled in open source. Stuff from
20 - 30 years ago was supposed to be public domain once upon a time, Blizzard
already made billions then got paid billions again when they sold to
Activision and it's never going to reach public domain. Instead of public
domain we have each generation paying $100b to continue enjoying pokemon,
Harry Potter, Barbie, super heroes, cartoons etc.

------
BosunoB
For anybody interested in this, you should also check out Path of Diablo
[https://pathofdiablo.com/](https://pathofdiablo.com/). It's a popular mod
with a lot of QoL improvements and which borrows Path of Exile's robust
endgame mapping system for replayability.

------
obidan
Interestingly this is written in Golang. I wonder what the main considerations
for choosing it were.

~~~
loopz
On top of the hat: Safe, fast compile times, takes care of memory management
for you, powerful stdlib, fast and lean execution, straightforward readable
code, portability, static compilation, swiss army knife tooling.

Potential downsides: Golang/libs maybe a bit immature for non-
system/microservices projects.

------
kazagistar
This is going to go poof to lawyers the moment they release their remasters.

~~~
BurningCycles
I don't think so, I believe the worst case scenario is they might have to
rename the project to not have 'Diablo' in its title.

Only project that I know Blizzard shut down was a Starcraft server re-
implementation, presumably because it would allow you to play without having a
legitimate cd-key.

------
pjmlp
I wish to get just one pence in whatever currency for every time one writes
Golang instead of Go.

~~~
tankenmate
How about a brass razoo? [0]

[0]
[https://en.wikipedia.org/wiki/Brass_razoo](https://en.wikipedia.org/wiki/Brass_razoo)

------
imtringued
I actually don't understand the motivation behind these projects. Usually the
games for which an open source engine is written for are quite old. Old enough
that emulation should be more than sufficient to play these games on something
like a Mac with an ARM based SoC. It is also not possible to exactly replicate
the game without straight up reverse engineering the game's binary which will
open you up for lawsuits. The end result is a very similar game that is merely
sharing the same assets but it just isn't the same. If the project was created
with the intention of allowing a new experience that is different from the
original game then it will be harder than expected because you still need
artists, musicians and so on to create more content. Ultimately I think people
should focus on making a very good and very faithful clone instead of
replicating an old game that still requires you to own the original and
proprietary assets.

Of course everything I'm talking about could miss the point of the project and
the contributors are just doing this for fun because they like writing code
for games but can't create game art on their own.

~~~
waldfee
OpenRA states in the about section

> This means that OpenRA is not restricted by the technical limitations of the
> original closed-source games: it includes native support for modern
> operating systems and screen resolutions...

I think this is the most compelling reason - it opens up features that would
be way harder to realize in the original engine.

noteworthy

\- OpenXcom [https://openxcom.org/about/](https://openxcom.org/about/)

\- OpenRA [https://www.openra.net/about/](https://www.openra.net/about/)

\- OpenTTD
[https://www.openttd.org/about.html](https://www.openttd.org/about.html)

~~~
mikorym
> not restricted by technical limitations

Yup, if you play Sacred Gold or Disciples II using open frameworks you get a
game that looks much newer. But more importantly, perpetually playable.

Disciples II has an edit that uses OpenGL that makes the game much faster and
more playable, and gives widescreen.

Sacred has numerous mods, such as giving 1080p HD (and more).

The next question is going to be: "But why do you play those games?" To this I
will ask, honestly, what is Fortnight anyway?

~~~
heyens
Do you by any chance have a link to the "open framework Sacred Gold" you
mentioned?

It's been a while, but I sure would go look for my old disks to give it a try
in FHD!

~~~
tempytempy
Hey heyens, here are my tips for you.

1) I used this [1] guide to get it working on Windows 10.

2) This [2] is a more detailed version with a lot of comments.

The bugs don't bother me that much to be honest, unless you want to complete
all quests in a city, then you should have a look at them.

The tools one uses for configuration like dgVoodoo generally work, but I guess
anyone could slip in malicious code if they really wanted to.

One final tip, the Hero Editor is a great way to edit your characters if you
want to turn a fire mage into a wind one or stuff like that. Since multiplayer
is not common these days, I reckon it's not cheating as you've lost all the
benefits of multiplayer anyway. (I think the tool is just in German, not
sure.) [3]

In terms of the open frameworks, it's not my area of specialty, but there is
Sacred ReBorn, and there is even a Diablo 2 mod to Sacred. I believe even
dgVoodoo does edit some files to use newer (open) frameworks.

[1]
[https://steamcommunity.com/sharedfiles/filedetails/?id=84319...](https://steamcommunity.com/sharedfiles/filedetails/?id=843192504)

[2]
[https://steamcommunity.com/sharedfiles/filedetails/?id=20187...](https://steamcommunity.com/sharedfiles/filedetails/?id=2018712992)

[3]
[http://www.sacredvault.org/forum/index.php?action=tpmod;dl=i...](http://www.sacredvault.org/forum/index.php?action=tpmod;dl=item45)

