Hacker News new | past | comments | ask | show | jobs | submit login
OpenDiablo2 (github.com/opendiablo2)
380 points by tomcam on June 24, 2020 | hide | past | favorite | 163 comments



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.


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


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... [1] https://www.cnbc.com/2020/05/27/youtube-china-communisty-par...


I'm pretty happy to draw a distinction between playing a blizzard north game that I bought in 2002, and continuing to support activision blizzard today.


Sure, I get that, if the copy of D2 that you're using was purchased from Blizzard North.


BTW did you ever see the Diablo they came up with? There's gameplay, neat to think what might've been. https://blizzardwatch.com/2020/05/18/diablo-3-blizzard-north...


Wow... I haven't read an article that made me more upset than that one in weeks. The "Diablo 3" we got had no business calling itself Diablo anything imo. We didn't dodge a bullet, we were robbed.


I wholeheartedly agree! Oh no, I also wish I wasn't the bearer of bad news, lol. The creatives behind these projects are gone, I feel Blizzard is a shell of what it once was. I wasted countless hours with Diablo - another Blizzard project I'd like to have seen is Titan.


You are boycotting an open source project that reimplements a 19 year old game from scratch because you hate the current owner of the original game?


it's not reimplementing it from scratch. it's developing a runtime engine that can read the original diablo 2 files. It says right in the README with big letters. You can't use this unless you have a legal copy of diablo2 and an expansion.

This thing is more like an emulator than a game.


If it gets big enough, people will make free asset packs to replace the official ones, much like there are for Doom


OpenRCT2 is pretty mature, but I doubt asset packs for that will be wholesale remade either.

Assets aren't like software in this regard.


OpenTTD went the same route, but has a free asset pack these days.


This is a game engine reimplementation, not an emulator.

You obviously don't know what an emulator is.

And OFC is reimplementing from scratch. Everything else is not code, but data. Get your facts right.


>You can't use this unless you have a legal copy of diablo2 and an expansion.

Or an iso acquired from a random torrent site. I've owned a few copies of D2 in my life and given blizzard years of my time, who knows where the booklets with the CD keys are. At least my copies of lod have it printed on the cover. I feel no qualms whatsoever about not giving blizzard more money for another 'legit' copy.


Do you boycott any other companies based in, or products made in China?


You are boycotting people playing a 20 year old game that was made by Blizzard North, who closed their doors in 2005, over someone being banned in 2019? Why don't we just cancel every business who has ever done something we disagree with?


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


I'll take this opportunity to plug my project that I used to build plugins for Diablo 2: https://github.com/blurt/X86.Interop/

You can use this library to interop between C# and x86 assembly under a Windows process.


Going to use this opportunity to plug someone else's Diablo 2 clone written in C++ that's been around for a few years: https://github.com/eezstreet/OpenD2


Nice!

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


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.


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


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

Blizzard's complaint with Stratagus was mostly with the original name, "Freecraft". When they took "Craft" out of the name, they were mostly left alone, and the project continued onwards.

>In June 2003, a cease and desist letter was received from Blizzard Entertainment, who thought the name Freecraft could cause confusion with the names StarCraft and Warcraft, and that some of the ideas within the engine were too similar to Warcraft II.[3] The project halted on June 20, 2003

My biggest recommendation to the OpenDiablo and other Diablo clones? Rename it as soon as you can... to OpenDemon or something. It at least gets you away from Blizzard feeling as if they need to defend their trademark, to ensure they can successfully defend their trademark in the future.


OpenDevil. Totally not related to "Diablo"...


Visit for a time and hear...


OpenSpanishDevil2


OpenSpanishDevilDos


Libreablo


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.


I think it's fair to say that Blizzard is a shadow of its former self. No argument there.

But there are (IMHO) at least two companies that still put out outstanding games.

1. Nintendo. I can't speak for the Zelda remasters that have come out. I never played the originals so had no nostalgia to draw me in. But Breath of the Wild... that was simply amazing. I bought a Switch just to play it and don't regret it at all; and

2. Rockstar. This one is a little more difficult for me because GTA3 and 4 blew me away at the time. Like they're actually satire. I think they lost that soul with GTA5, which people rave about for some reason. For me, it was a massive disappointment I never went back to after finishing the story missions. Sure it looked pretty but the writing was lazy, the characters were absolutely two-dimensional and off-putting (eg I almost stopped playing entirely when it came to Trevor) and all the humour/satire was just... gone. Plus it became less "slapstick". Like I drove a bus the wrong way down the ring road to see how far I could get before blowing up. I actually did a complete loop. There's no way that'd happen in GTA4. Your car would blow up long before then. In San Andreas you could cause massive car pileups that would chain explosion and I'd sometimes do that for giggles. I'd gotten >20 cars to blow up that way. I really do hope GTA6 finds its way back.

But Red Dead 2... that's both a massive technical achievement and a great game.

I'm also not opposed to reskins of old games. But they have to be right in exactly the way Warcraft III (Refunded) wasn't. It's too easy to lose the magic and the feel by carelessly updating graphics. Oh and Blizzard's IP grab on player maps (aka we're not going to let Dota 2 happen again) is downright disgusting.

But these franchises and companies are (unfortunately) exceptions. Too many games now fall into two buckets: player-generated content (ie PvP) or pay-to-win (ie mobile games). Neither particularly interest me.


I doubt if Nintendo really deserves that appraisal. Breath of the Wild was hardly revolutionary, having come just a couple years after Witcher 3. Rather even Sega has been more innovative pouring money into places like Amplitude, Relic and Creative Assembly.

Perhaps Obsidian is one studio/producer that keeps turning out outstanding experiences for so many years.


The only real point of comparison between Witcher 3 and Breath of the Wild is that they’re both open world games that reward exploration. Witcher 3 executed that beautifully, but hardly invented it. Breath of the Wild is not only a very different experience, but took a big risk by breaking with the old school Zelda formula. It may not be to your taste, but the Witcher comparison misses the mark.


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.


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/



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.


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.


I mean, in philosophy, Diablo and Moria were related. The initial plan was to release Diablo as a modern Moria, and yes, turn based, but they switched into real time and they simplified the game for the more casual generation.

If any, Flare RPG has anything the first Diablo offers with a longish campaign and a good set of skills.


I know that was the plan, but the end result is quite different!


I know, but I can't stop comparing it to Moria/Angband.

I know the timing changes everything (and Nethack is more like a text adventure lore made into a top-down RPG), but the environment and tasks ingame aren't so that different both in Diablo and Moria.


No idea why you are comparing Nethack with Diablo. Two completely different games, but if I had to choose I would 100% pick Diablo so strongly disagree.


Go down levels in mostly randomly generated dungeons and do a thing. There are many differences - turn based is the biggest, graphics is significant, level of complexity (partly enabled by lack of need for graphics) - but they are very far from "completely different". Diablo II even had "hardcore mode" for permadeath.


If procedurally generated is the only prerequisite I guess Nethack is not "completely different" from No Man's Sky then.


Procedurally generated dungeon levels which comprise the bulk of the game, made up of rooms, corridors, and the occasional set pieces. An identification mechanic. Books to learn a spell, scrolls for single use. I can go on.

There are absolutely differences, some significant. But they have a lot in common.


Still, the differences are in the core mechanics which make them very different games. I would be surprised if there's much overlap between the player bases at all, so I still see no point in saying that Nethack is a better game since it appeals to totally different players.


> I would be surprised if there's much overlap between the player bases at all

I would be pretty surprised if, of those who played Nethack around the release of Diablo who also made a habit of purchasing Windows games, there wasn't a majority that also played Diablo.

> I still see no point in saying that Nethack is a better game since it appeals to totally different players.

I agree that the two are sufficiently different, and sufficiently well executed examples of their species, that personal preference between the two is likely to be dominated by the differences that cannot be reasonably labeled "quality".

FWIW, I loved both.


Diablo was based on Moria/Nethack. First it would be turn based, but they switched into a real time gameplay.


> You just need to be okay without Cain.

Just play Youtube clips of Bane from The Dark Night Rises. I swear he is voiced by Deckard Cain.


Thanks, random internet stranger.

I'll never be able to un-hear this. •__•


You merely adopted Tristam. I was born into it, molded by it.


Devilution is still alive, AFAIK: https://github.com/diasurgical/devilution


And Devilution is more of an infringement, as it represents a direct recreation of Blizzard's source code for Diablo 1. OpenDiablo2, on the other hand, is more of a reimplementation (albeit not a clean-room approach).


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?


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.


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


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


This is written in Go and you should have no issue running it on Linux. It looks like there’s a small setup script you need to run first.


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


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


The development has come to a (temporary?) halt right now, the bs::framework we were using encountered some issues right after we adopted it... Hopefully we'll be able to resume some time in the future! In the meantime, https://github.com/Try/OpenGothic is more feature-rich.

(Disclaimer: I worked on the project but I am not the maintainer nor am I any kind of leader figure in the dev team)


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.


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.


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


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.


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


They said "It would make it very difficult for Blizzard to do a Diablo 2 remaster because all the assets we used are pretty much gone. They'd have to make them from scratch."

I can't think of any other way of interpreting it.


To be fair it wouldn't surprise me - this sort of thing was pretty common back then. You'd create high def 3D models and then render 2D sprites etc from them.


That’s exactly what the article says.


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.


At least the source code they seem to have, as reasonably recently, they ported D2 from PowerPC to Intel on the Mac.


In an ideal world D2 would have been open source from the start.


How would the devs pay their bills?

I don’t think games are well adapted to open source. For starters, it’d be very hard to build an adjacent business like Red Hat, and there are very significant time and capital requirements even for smallish projects.

These might be the reasons why the model never caught on like it did for generalist software.


> I don’t think games are well adapted to open source.

Not as end products, but it's pretty insane how much is available these days as far as free engines and tooling. Both in terms of beer (UE4 is free for all but the most successful of projects) and libre (Godot, LÖVE, loads of others).

There are also tons of classic games that have been rebuilt from their assets as modern open source engines: https://en.wikipedia.org/wiki/List_of_game_engine_recreation...

And, finally, there are also a small number of pure OSS labour-of-love titles, like the incredibly ambitious 0ad: https://play0ad.com/

None of this really disputes the notion that commercial game development is not (and has never really been) well suited to open source development. But it's nonetheless interesting to look at how these things have evolved over time.


In an ideal world, people give back freely, when they received freely and think it was worth it and want to see more of it, in the future.

In todays world most people only give, if they have to.


In an ideal world, you'd always get a fair exchange for whatever you gave away. Currently money seems to be the most versatile. I remember I rented a room from a friend. He told me that his grandfather got a 100 year lease on that apartment, with an option to buy. He never did, since the lease was incredibly low. Paying for something isn't always unfair.


You cannot moralize against people for being human.

Find a way to work with us as we are rather than condemn us for not being as you can imagine.


So you think, your specific set of habits and ethics is hardcoded to humanity in general?

I doubt so, because I know enough people who act the way, I like people to act.

In other words, I try to find a way to work towards change in culture. History shows that can be done and has been done multiple times. Every succesful open source project is a step towards that. Wikipedia is a step towards it. Blender. Inkscape. LibreOffice. Linux. VLC. And so on. I believe and hope we improve in that direction.


None of them are games.

There are some open source games but they tend to be more like engines than proper games, or are very niche. Some rather popular example:

- Nethack: Maybe the most "complete" open source game I can think of, if you like ASCII characters for graphics.

- Freeciv: The engine is original, but the game logic and assets are a complete ripoff.

- Stepmania: a DDR clone, useless without user contributed (and often illegal) songs.

- SCUMMVM: that's an engine, not a game

There are also plenty of smaller games, some of them of playable but they tend to be at "school project" level. Well below the standards for popular indie games.

As for OpenDiablo2, it is yet another engine, not a game.

I think the open source model can make good engines, because everyone can pick it up and contribute the few features they want, allowing for gradual improvement that the original developers can benefit from.

But for a complete game, you usually need a more global approach, and a lot of work making assets, open sourcing will probably benefits your competitors more than you: once your game is complete, there is little need for you to take advantage of the work of others.


In Freeciv the assets are NOT a ripoff. I know Freeciv since the GTK1 days.

- Battle for Wesnoth. HOMM3 quality level. Not so niche.

- XConq. Zillons of campaigns, old and with a good quality.

- Flightgear. Impressive data and models.

- Lincity/Lincity-NG. Lincity is old and amazing.

- Supertuxkart.

- Supertux. With the extra campaigns you have a long, really long game with a solid gameplay.

- FreedroidRPG.

- Foobillard.

- FreeOrion.

- GNUChess + the GUI you like most.


Battle of Wesnoth

Glest

The Ur-Quan masters

Neverball

Beneath a Steel Sky

Alien Arena

Armagetron Advanced

Wing Commander (not sure about the name, played it a long time ago)

Endgame: Singularity

All of those are really good free software games that I played myself. There are a lot more, but I have not played them so I don’t really know how good or bad they are.


Tuxcart is a game I would add to that list, which is in a very mature state. My niece and nephews play it and have fun.


>open sourcing will probably benefits your competitors more than you

Solution: don't have competitors, make a unique product. You don't even have to find a niche to do this.


No, you’ve misinterpreted me to make it easier to make your same point again.

We can change all kinds of directions, in all kinds of ways.

But not through condemnation and high minded judgement. If it did anything at all it would’ve worked by now.


I interpreted your statement as "humans are the way they are face it. So they will always give only, when they have to."

Which I don't believe is true. And you apparently neither. So lets call it a misunderstanding.

And yes, I also do not believe, that anyone changes by moral judgment. I certainly did not became a free software activist by reading RMS moral codex. I became it, by listening to inspiring people in my university. By the local linux groups who spend their free time, to help other people. By reading about and using free software. To the point, where I thought, yes, this really makes sense. The world would be such a better place if open source would be the default. Not just for software, but also hardware. Medicine. Knowledge in general.

Utopian? Maybe, but still worth working towards it. And even if the default of the industry will be IP-restricted forever - what has been achieved so far, is very useful already today.


If you work for free, I'd love for you to take a shot at my project! :D Nope, there's nothing in it for you, except the feeling of JOY to work on my plan on taking over the world.


That’s not entirely true.

“Every Man Lives By Exchanging” means that everyone is constantly giving and taking in an exchange. That exchange can be free monetarily or not, doesn’t matter.

It’s only when third parties interfere with this natural law that some people take way more than they give.


> It’s only when third parties interfere with this natural law that some people take way more than they give.

So if I read correctly you are saying, that nobody ever took more than he gave if not for a third party interfering? And that this is a law of nature?

Because if that actually is your claim I would love to read the evidence on that. Having studied history, I very much doubt that ver being the case. Also archeological evidence as far as I am aware of doesn't corroborate your words.


While I mostly agree, there could be two ways:

Upfront crowd funding ala KickStarter.

Monthly subscription ala Patreon for new features, assets etc.

Could very well be a combination of the two, starting out with some KickStarter then going through an "eternal alpha" via Patreon.

Of course lots of potential issues with this, like people rebranding and pretending to be devs, taking donations for themselves etc. But in theory it could possibly work.


> How would the devs pay their bills?

Why, they'd offer consulting for a fee, of course! On such things as how to most effectively level your char, or perhaps they'd sell you a neat yet overpriced user manual that they wrote for their free software, or perhaps they'd offer printed maps for a price. :D

Jokes aside, there are loads of ways to earn money off free software, though usually you'd have to accept competition. I agree that it's probably not viable for a game, however, though there are some open source game projects out there, such as UFO:AI.[1]

[1]: https://ufoai.org/wiki/About


1. Open source the client but not the assets

2. Open source the client and the assets but not the server

3. After a delay, open source everything but still charge for playing on the official server where there is already a thriving community

Although there is not necessarily much of a benefit.


Minecraft made a killing from what I think was going directly to #3.

But it's easy to see how that isn't a great option for Blizzard.


D2 could have come with a source directory and a make file then been sold just the same way it was. If they were woried about how it would effect priacy they could have added the source directory in a patch a year later.


I don't understand how this is not the obvious answer. Maybe people are equating open source with an open development model?


In an ideal world, they would have found a way. I feel like the "ideal world" cue didn't communicate as effectively as I expected that this is fantasy realm.


What's the point of bringing up some imaginary world that has no way of materializing?


Games are actually pretty well adapted to open source (well, unless anti-cheating solutions are required, but most games don't need that). Releasing the game's code as FLOSS doesn't prevent the art assets from being sold in order to be able to play the game and there are plenty of examples that followed this model, either at release or some time after.


What language is it written in?

How accessible is game code to a modern web dev that understand memory management and such, but never really uses C/C++ outside of coursework?

If I pull in Diablo / Half-Life / Shadows of Chernobyl source, am I going to see pretty clean files in an organized fashion that I can open with a modern IDE or a code dump?


They're already working on remastering D2, according to leaks. Supposedly it's going to be announced this next Monday. It follows from the SC:1 and WC:3 remastering that we've seen. In that case, it'd be more than a quick million. It'll be many millions and it'll refresh their IP claims (which is why these things actually happen anyway, right?).


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


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.


And here is what I consider the best client emulator for Ultima Online https://github.com/andreakarasho/ClassicUO


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


Project lead here. I switched from C# to go for multiple reasons. One was that we were having strange platform-specific issues between different operating systems with the runtime. Another reason was due to some design issues causing the code to be very difficult to work in.

I was originally going to re-write it in C, but when I saw go, I immediately fell in love with it. In my mind it sits somewhere between C and C++. Yes it has a GC, but it's not obtrusive. Plus the language is simple and nice to work with.

Regardless of what language I use, someone's going to say it's a "bad" choice and others will say it's a "good" choice. Personally I believe the language is just a tool, and go is working out extremely well for us so far.


I love go, but I've never thought of it for game projects due to the GC.

Have you had to do anything to avoid problems with the GC? (e.g. manual runtime.GC() calls, or work to avoid generating garbage)


No premature optimizations from the GC perspective that I am aware of. So far it has not gotten in the way from what I can see. The Go team has made some excellent improvements. The team has been doing work profiling along the way already even in this early phase.


What frameworks were you using in the C# version? And which ones in Go?


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


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.


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


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.


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.


Why not? What are you implying?

BTW, there are a lot of opensource games written in C#. More than there are written in Go actually.


Don't know, maybe because C# follows up on Assembly, Pascal, C and C++ as the next language being widely adopted by the games industry?


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


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.


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


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 ?


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.


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.


All that is content too and it's in the game files.


You say that like it's a bad thing.


But it's also a massive increase in scope, and will likely make the end product less appealing/interesting from a nostalgia point of view.


They do already (see below) and they most certainly will do in the future once this project gets more complete.


In what sense are they breaking the copyright? Saying that the project needs some commercial files?

They haven't copied the code but re-implemented (in another programming language that didn't existed when this game was originally released).


The code is not the problem, nobody says that. But everything which was created as part of the Diablo universe can potentially be subject to copyright law.

For example here they take the original text from the game for the labels: https://github.com/OpenDiablo2/OpenDiablo2/blob/37ae98d81b79...

For sure most of the game specific data can be extracted from the game files but it's unlikely that there are no artifacts in the game code itself.


Fair enough, however I think that could fall on the "fair use" side of the thins (not a lawyer, nor American, but still).



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


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.


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


This is exactly why I got involved and support it on Patreon. I played this a ton as a teenager.

It is also written in my favorite language, Go, which means that on my Mac running Catalina this will likely be the only way to play the game in the future. I couldn't even get the game files without using a High Sierra VM. There's also the impending ARM transition, which this project should also easily support.


Excellent point! I remember back when the original Rosetta was discontinued, and I couldn't play WarCraft 3 on my Mac. Haven't played D2 for a couple of years, but very excited by your points that even ARM can't kill this project. If the OS merges between iPad and Mac then maybe even D2 on iPad using OpenDiablo2. Very cool!


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


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.


For anybody interested in this, you should also check out Path of Diablo 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.


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


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.


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


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.


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


How about a brass razoo? [0]

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


I wish everyone wrote it "Golang".


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.


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/

- OpenRA https://www.openra.net/about/

- OpenTTD https://www.openttd.org/about.html


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


It is a great question! Why does anybody play a specific game? For my kids gaming is a way to form a collective in-group narrative between a set of kids. That means that they all drift to the same games. My sons actually play different games together than the games they play to form a narrative with the bigger group. For me I play solo without talking about it with other adults too much. Many of the games are of the type I played with my friends when I was in the phase my kids are in now. Mostly 4x and RTS/TD. So my relaxation also has a nostalgic element. I don't grok Fortnite, but I do grok the cultural element in a few hundred million (!) people watching the same seasonal change. I wish I could have had gaming as a cultural element on that scale when I was young. Based on my preferences it beats the fads of the 90s by a very long stretch!


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!


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

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

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




thank you, i'll need to give this a go



ScummVM contains almost 80 game engines (and a lot of sub-engines) supporting hundreds of games. Most of them are made by straight reverse engineering of the original executables.

In the early days we did have a lengthy back-and-forth with a tenacious lawyer from LucasLegal but they backed off when we convinced them that we didn't support piracy.

It is not uncommon for rereleases of older games to use the ScummVM engine instead of the original engine, see for instance the recent rerelease of Westwood's Blade Runner on GOG.com, which wouldn't have happened without ScummVM.


Scummvm compiled with --enable-all-engines supports a fuckload of games, even maybe, Microsoft Encarta. You can even run Ultima games.


To me it seems the point is to have an open engine to be able to create that kind of games; instead of starting completely from scratch, they wanted to emulate a base that is known to be working and actually fun to use, so the moment they reach feature-parity they'll have a solid foundation. After that anyone can create on top of the existing and make it even better.

This feels like people who are passionate about the base game and would like to see it being open-sourced but they don't own the source code, so they do the equivalent


They can end up producing more convenient, better performing, better integrated, more moddable versions of the game. When it works out it's sort of an 'amateur/community remaster'. Of course that's piles of work so there's many more unfinished than reasonably finished ones.


beyond the obvious 'do it to show that i can' and similar reasons, one less obvious reason may be that often people want to mod these games and its easier than either making a reproduction or using hacks. Having the actual code the game runs (even if decompiled) allows you to both learn how things were done, as well as modify them and improve them.

Many people starting out in games development often want to make games like RPGs to emulate a favorite game they play, but want to experiment with their own rules/mechanics


The point is obviously as an exercise to pick apart a piece of older technology, figure out how it was built and interacts with the original assets, and create a machine that works for doing that.

If you've got a passion for software and the game in question, it's a rewarding activity in its own right, in addition to being an excellent avenue for learning new languages and tools.

Not every instance of human effort needs to push the world forward in a way that's immediately economically rewarding.


I started to write the engine for my favourite game in my favourite programming language and the experience was addictive and enjoyable beyond compare. Sadly I just couldn't justify to myself the amount of hours that I would need to spend to complete this project.


This might be more to your liking

https://github.com/diasurgical/devilution#introduction

it is a faithful reconstruction of original Diablo source code from various debug builds leaked over the years.


Have you heard about openttd?


People ported Diablo I to the Nintendo Switch using a similar project.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: