Hacker News new | past | comments | ask | show | jobs | submit login
Open source Diablo 1 engine – DevilutionX 1.5.0 released (github.com/diasurgical)
211 points by michalg82 on June 17, 2023 | hide | past | favorite | 90 comments



There is also a web port of it you can play in the browser, works surprisingly well on mobile: https://d07riv.github.io/diabloweb/


Does not seem to work on mobile at all, I get stuck giving my character a name because I can’t get the keyboard or any other way of inputting text up


Probably you're have an iphone, 20% of world mobile user base


1) It opens just fine on my iPhone and iPad. You have to tap the text entry box.

2) iOS brought in more than 67% of the revenue last year… it’s no wonder why apps are generally higher quality

https://www.businessofapps.com/data/app-revenues/


The apps are generally high quality because of the limited device pool.

It makes testing and making sure everything works vastly easier across the range of devices when you don't have literally thousands of possible devices to account for.

Then there's the monopolistic and highly curated app store.


In my experience as a former employee at one of the largest mobile game developers, the reason iOS apps are high quality is because the users are richer and deliver higher revenue.


You're both right


As a data point, it seems to work ok with Firefox on Linux.


This makes me miss Lineage


There is also an open source Diablo 2 engine, however the project hasn't had any updates in 7 months

https://github.com/AbyssEngine/OpenDiablo2


I actually worked on this for several months a few years ago. The project suffered from massive scope creep and overall disorganization. At one point, we could load the main menu and get in game, but then the project changed directions a few times and ultimately switched programming languages (from Go to C++ if memory serves) so most of that progress got wiped out. I didn't know the language they switched to, so me and one of the other main contributor stopped contributing and started working on our own thing off and on, but that got put on the back burner for me due to IRL circumstances.... I keep wanting to pick this stuff back up but real life has a way of repeatedly getting in the way.

Anyway, this was also all taking place before Diablo 2 Remastered was really a thing, so there was more motivation to work on this -- at least on my part -- back then. Now, not so much when I can already boot up Diablo 2 on my Switch.


Thanks. I had no idea D2 was on switch, and it's on sale for $13! [1]

[1] https://www.nintendo.com/store/products/diablo-ii-resurrecte...


That's the remake of Diablo 2, which Activision/Blizzard will never let you run offline.


It runs fine offline. You can’t run it offline AND multiplayer, however. They took LAN away with the remaster.


You have to login every 30 days which is pretty annoying when the game is at its core 20 years old and could be played entirely disconnected back then.


Oh. I stand corrected then. That’s terrible.


Not open source.

> DevilutionX is made publicly available and released under the Sustainable Use License (see LICENSE)

> The source code in this repository is for non-commercial use only. If you use the source code you may not charge others for access to it or any derivative work thereof.


The source is open. “Open Source” does not mean the FLOSS-flavour of Open in conventional speech. If you want to fight that battle, sure, it’s not unreasonable, but realize that you’re pushing a sub-consensus view.


"Source-available" is already the established term for this kind of software, not sure what you are talking about: https://en.wikipedia.org/wiki/Source-available_software


Does that term really apply to this? You can modify and distribute the source. The only thing you can't do is sell it.


Yes, because the OSI doesn’t recognize it as such.


I don't recognize the OSI as any authority to define words.


The OSI once applied to the USPTO for a trademark on "open source" and was denied [1].

[1] https://opensource.org/pressreleases/certified-open-source.p...


This is fine, but you don't get to decide what people mean when they say "open source", and usually they mean this definition.


> Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose.[1][2]

https://en.wikipedia.org/wiki/Open-source_software


"Free and open source (FOSS)" is another established term, for the opposite, so I'm not sure this proves anything.


It's not the opposite. Source-available is a requirement of FLOSS (or FOSS).

FOSS is "source-available" + other guarantees.


No it's not, and yes it does. This trend on HN that has consisted in wanting to kill the meaning of "open source" as most people understand it is very weird and surprising. I don't understand what is at stake. I have noticed this since one month or so.

The vast majority of projects that call themselves open source mean the open source definition as defined by the open source initiative, or something equivalent.

You might not like or recognize the OSI and that's fine, but you can't decide what people mean when they say open source.

You are the one starting the battle and I don't understand your motives.

I just searched for "open source" in a search engine, I'm getting [1,2,3] and lists of "the best open source software". And they are all using the OSD. You are at odds with Wikipedia, IBM, RedHat and with Microsoft, Google, Amazon, Facebook, Apple [4,5,6,7,8], and with everyone else, really.

[1] https://en.wikipedia.org/wiki/Open_source

[2] https://www.redhat.com/en/topics/open-source/what-is-open-so...

[3] https://www.ibm.com/en-en/topics/open-source

[4] https://opensource.microsoft.com/

[5] https://opensource.google/

[6] https://aws.amazon.com/fr/opensource/

[7] https://opensource.fb.com/

[8] https://opensource.apple.com/


Consensus is very clear here and it's the opposite of what you suggest.

Check out wikipedia, or count google hits, or just talk to any computer geek who was alive in the 90s.


This sounds like it's getting into a pedantry I wasn't aware of. If the source is available for me to look at and potentially mess around with, I'd consider it open source, but I assume it's the non-commercial aspect that makes it not "Open Source"?

That said, I'm very impressed with the reverse engineering work on this having played it before.


There’s a clear widely accepted definition https://opensource.org/osd/


This is a claim by an organization on ownership of a phrase used by humans in common speech. That doesn’t mean it’s what people mean when they say it.


Don’t forget who you’re arguing with on this website. Most people here earn their livelihood by commercializing huge amounts of work done for free by others. They definitely have a horse in this race.


What is this conspiracy theory now?

The requirement to allow selling is also true for free software, and RMS had user rights in mind, not commercial interests.


There are many licenses and license models, and there's an already a consensus on what consists of open source software.

There are also licenses which shows you the code, but you can't legally reuse parts of it. Even some of the licenses prohibit you from compiling and creating your own version and use it, yet alone study, modify and/or distribute.

There are many sinister versions of so-called open source software per your definition. The most famous ones in my book is Microsoft's VSCode and Google's Chrome.

Both have "open source" counterparts VSCodium & Chromium, yet they lack the sauce to perform like the closed source one, or is confined to its small space and prevented from operating like the closed source versions.

Can we call these crippled versions open source software? Yes, they compile & run, but to what extent? They are intentionally a shadow if their real selves, and this creates a situation where you can see the code but can't use it. They run afoul the idea behind open source by adopting a permissive license, and abusing the license to create the closed source, superior version which is force-fed to users.

Even GPL doesn't prohibit selling the software itself or other commercial/for profit uses. It bolsters four freedoms, and make sure that it's continued from generation to generation, maintainer to maintainer.

So, just because you don't agree on the ideas, ideals and consensus amongst the developers and open source / free software people, it doesn't give you the license to treat every codebase the way you see fit regardless of the license it contains.


I have not used chromium in a while, but when I did, all it could not do compared to chrome, was playing proprietary codecs (I could add via terminal somehow).

Did this change?


Chrome has higher performance w.r.t. Chromium in some aspects [0].

[0]: https://arewefastyet.com/win10/benchmarks/overview?numDays=6...


> Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose.[1][2]

https://en.wikipedia.org/wiki/Open-source_software


> common speech

In which situation outside the developer world people use this phrase… to mean something other than FLOSS?

Open source is not common speech. It's jargon. Jargon that's becoming popular outside the tech world because of the advocacy around open source and free software going on.


Where does this consensus of considering open source to mean the same as source available exist? I certainly haven't seen any such consensus anywhere.

Or is it just a consensus you assume to be there based on the assumption that people in general would just take the words at face value?


Can't edit anymore, so replying to self instead. But now that I look at it again, it seems you aren't saying the face value meaning of the words "open source" would be the consensus either, just that the OSI-style meaning isn't common enough to be considered consensus either.

Which I suppose is fair enough, and it seems like I may have originally replied to something you didn't say. I'd still disagree both about the lack of a consensus, based on my general experience, and about the meaning.


> Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose.[1][2]

https://en.wikipedia.org/wiki/Open-source_software


Is it stands, it would be rejected for inclusion in Debian and other distributions (unlike open source games) and I wouldn't be able to bring it to my software club and study it with kids, because that would be using it in a commercial setting.

Don't get my hopes up by calling it open when you post it on HN. It's not that much to ask.


> I wouldn't be able to bring it to my software club and study it with kids, because that would be using it in a commercial setting.

Would you mind elaborating on this? How is a software club a commercial setting?


"Commercial activity" can be as benign as "There are membership fees", "There's a soda machine in the corner that takes coins", "I'm doing it to brush up my CV" (increasing future income potential), or "There are ads on the website".

As such, any of these might trigger the "only for ... non-commercial ... use" clause. So folks generally just don't sweat it.


The Sustainable Use License doesn't seem to contain a blanket ban on commercial use. Here's what it says on limitations:

"You may use or modify the software only for your own internal business purposes or for non-commercial or personal use. You may distribute the software or provide it to others only if you do so free of charge for non-commercial purposes. You may not alter, remove, or obscure any licensing, copyright, or other notices of the licensor in the software. Any use of the licensor’s trademarks is subject to applicable law."

Studying the software in a commercial setting seems to be permitted.


It's still non-free, period. True FOSS software doesn't impose restrictions on commercial sales.


Why does Debian care that it can't be used in a commercial setting?


Because it comes with the freedom to used for any purpose in its core goals / social contract [1], including commercial purposes:

> No Discrimination Against Fields of Endeavor > > The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

See also [2]

[1] No Discrimination Against Fields of Endeavor

[2] https://www.gnu.org/philosophy/selling.html


Are there any (main) distributions that are fine with this restriction?


The GNU project has a page listing common distribution and their handling of non-free software if you are interested in the topic [1].

[1] https://www.gnu.org/distros/common-distros.html


Then it would be fair to call Unreal Engine open source, which is not.


I think you're in the minority here. Open source is generally understood to be the OSI definition of the term, not just "source available". The latter is typically what is understood by people who are not familiar with OSS or free software.


And it is of at best dubious legal status given that it was from decompiled Diablo code. I think it's unlikely that they'd get sued for this because Diablo is old and Blizzard probably doesn't care too much about the engine, but if they did I seriously doubt you would win a case against them.


I feel this issue will never die till someone finds new catchy terms...

Maybe the core problem is that the atnonym of open is closed. And closed source definitely means you can't see the source

You'd be hard pressed to convince anyone a source available project is "closed source "


Ugh this again. If you have the source publicly available, it’s open source. I wish you guys would get over it! If people want to profit from this work they can pay for it.


Just for the record, i did a full playthrough including hellfire on mac with this last year. No problems.


Does anyone have examples of games with a client/server architecture, where new clients have been written, but that can still connect to an original server? I think there's a valuable learning exercise in the idea, but I can't find anything that actively courts multiple clients being developed.


Old School Runescape. Pretty much everyone is using the Runelite client instead of the official one

https://runelite.net/

https://github.com/runelite/runelite


Exactly what I was after, thank you. Your other comment[0] with a link to game engine recreations is also super useful.

[0] https://news.ycombinator.com/item?id=36374297


Similar to this is there any example of someone building an entirely "new game" by changing the front-end client and assets so heavily that it literally becomes a different story/world/lure/characters? Essentially a total facade reskin?


League of Legends, Dota 2, and Heroes of Newerth were all directly inspired from a Warcraft III map mod, Defense of the Ancients. Multiplayer Online Battle Arenas, MOBAs, are now an entire genre.


Of the 10 most popular multiplayer games in 2023[0] seven of them owe their core mechanics to mods / flashes of brilliance from a handful of amateurs.

A more or less correct history of their origins:

- Four of the games on that list are battle royale games, which started life as a somewhat popular Minecraft mod and really took off with "Battle Royale" - a mod of "Dayz" which itself is a mod of "ARMA II". It's mods all the way down.

- Two are tactical FPS games, which owe a huge chunk of their mechanics to "Team Fortress" a Quake mod and "Counter Strike" a Half-Life mod.

- One is a MOBA, which started life as "DotA", a Warcraft III mod.

Of the other three, one is Minecraft. Created by a solo dev, and I expect its moddable nature has helped its multiplayer popularity significantly.

One is Roblox. Created by two devs, and is itself a game creation system.

The final one is Genshin Impact - something of a an outlier in terms of team size and genre origins.

[0] https://twinfinite.net/features/most-played-games


I vaguely remember a mod called tower defense which we played on LAN, I wonder if that was the inspiration.


I've never played the map, but Aeon of Strife from Starcraft is a custom map that has the origin of Dota mechanics... and the Protoss Photon Cannon brought about some earlier versions of Tower Defense custom maps.


Bungie's Myth II supported extensive modding (everything defined in the assets), so there's many total conversions that have been done.


Ace of Spades is one. I usually play with the OpenSpades client[1], but there is also Betterspades[2], and probably many other clients I don't know of yet. There are usually about 10-50 players online on the public servers listed on BuildAndShoot[3], variable depending on the time of day and mostly from Latin America it seems.

One can host the game with piqueserver[4]. I'm not sure if one can still host with the original Ace of Spades server, but the game was 'shut down' in 2019 so maybe not.

It's well worth a go - there is intense satisfaction in digging a tunnel undetected all the way through to the opposing team's base! Playing with friends enhances the enjoyment for me as one can be a little more strategic when in direct communication.

[1]: https://openspades.yvt.jp/

[2]: https://github.com/xtreme8000/BetterSpades

[3]: https://www.buildandshoot.com/servers/

[4]: https://www.piqueserver.org/


There's several for Ultima Online - the original MMO:

- https://crossuo.com

- https://www.classicuo.eu

- https://libregamewiki.org/Iris2_3D_Client_-_for_Ultima_Onlin... - this is older, but really interesting as it's a totally different style to the official one


Second life is tangentially an example. they open sourced (or similar) the official viewer and some enhanced community and custom clients are out there like firestorm

oh, and quake 1's quakeworld client. many excellent quakeworld clients like darkplaces and ezquake. lots of one offs showing off tech, etc


There are several dragonrealms clients, but most use Genie 3, and that's now been open-sourced.


On the wiki...

> I shouldnt have write access to do this i'm just some random internet guy, maybe think about fixing the permissions here

Whoops!

https://github.com/diasurgical/devilutionX/wiki


Back in the day all wikis used to be open for editing, unfortunately spam and vandalism has made it rare. Anyway, as another random visitor, I simply reverted that change.


Thanks. The wiki is for community members to help each other.


Diablo 1 is my favorite Diablo game, but last time I tried this there were some weird changes (needing to use a town portal scroll in the butcher's room). Is that still the case?


I believe the "X" in DevilutionX signals that there are opinionated QoL changes made to that distribution of the game. There is another repository called Devilution that is unmodified.


The X is a reference to it being able to running on other systems then Windows.

Most QoL are optional and is either off by default or can be turned off in the settings. Devilution is more of a reference work then something intended for anyone to use.


This doesn't sound like DevilutionX, I think what you might have tried Belzebub which is an entirely different project with no relations. The game play adheres closely to the original and only bug fixes are addressed.


I want to meet the person who reported a bug with this running on the original Xbox. Warms my heart someone out there still uses it and has already tried this.


I remember the days of bnetd, and that didn't end well.


Is there a list of all projects like this that are at a release stage? I would like to follow this scene.




I still remember that I tried to install D1 on Win95 on 386 computer back then. System disk has 200MB and I needed 12 MB free space for D1 launcher that let me run D1 from disc. So I uninstalled Microsoft Briefcase. What a lovely times.

Still not finished, because then I got 486 and there was games like Heroes of M&M or AoE2 that I enjoyed more.

Maybe I shoul finish D1 now.


Damn that must have been a bit of a slide show :D


Is this a decompiled version? I mean Blizzard won't open source it right?


Reverse engineered from some partial leaks: https://github.com/diasurgical/devilution#introduction


No screenshots on the GitHub page? :/


Try Google Play (or just plain Google) for more screen shots: https://play.google.com/store/apps/details?id=org.diasurgica...


The page linked is not the github project home page just the update notes.

Try https://github.com/diasurgical/devilutionX


I think it doesn't work on onion os 4.2 beta.

A pity, at least the amount of systems it supports is staggering.




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

Search: