Tools used to create these mods

Offtopic
Post Reply
RagingSloth
Posts: 4
Joined: 19 Nov, 2016 23:06

Tools used to create these mods

Post by RagingSloth »

I recently found out about these mods and I'm interested in learning how they were made. I'm a developer myself, and it seems highly unlikely that all of this work was done in a hex editor (especially Belzebub).

Are there any plans to make the tools and engine public? I completely understand how much hard work went into these mods, and no one wants to just give their hard work away to see someone else take a hot steaming dump on it, but I think the only thing that Belzebub is missing is the multiplayer experience. I'd really like to take a crack at adding multiplayer functionality to Belzebub.
User avatar
DacianDraco
Posts: 461
Joined: 30 Aug, 2015 4:04
Location: Cybertron

Post by DacianDraco »

It was coded, all of it, i have the some of the code for skills, spells, items and monsters and it's a fuckton of lines, can't share it cause it's BrightLord's wish for it to remain under wraps. And i wouldn't really name it a mod since it doesn't modify the game in any way, it's actually a complete recode that (besides other things) still uses the assets from the original mpq, like sounds, gfx, animation frames, etc. It's a monumental work that keeps the spirit and lore of D1 while remaking it for the present.

Thankfully BrightLord (the one responsible) recently said he is back and will continue work on the Tchernobog build whenever he can find time. Know that ppl generally call this the HD mod unofficially, but there have been many iterations, Chochlik, Belzebub, Tchernobog, and maybe others i don't know about since i wasn't here when it all started. Important thing is that the Belzebub build is done, even if left in beta it is pretty much complete, but the Tchernobog build will continue to grow and it has some multiplayer functionality and other stuff that Belzebub hasn't, thou in the future will include quests and other functions from Belzebub which are not present now, so it will be overall better when it's done, sometime next year or in the years to come.

Now, the complete multiplayer functionality is the hardest to achieve since the original game was not meant do have multiplayer at all, it was a rushed after though to push out Battlenet(1) not just for D1 but also for the future of Warcraft 2 and later Starcraft, so we got a minimal multiplayer experience when it came out 20 year ago. Anyway the idea is besides BrightLord i don't think anyone could possibly pull off a full multiplayer experience, i mean look at the cracks taken at D1 by other ppl and you'll see it's nothing compared to what BrightLord did, and i'm not trying to be demeaning of other ppl's work but this is the sad reality, and i'm not trying to put you off either or anyone what would like to make something. So i guess it wouldn't hurt to try and contact BrightLord himself, maybe he could delegate some menial tasks if your proficient, but know that he won't teach you, and IMO it's understandable, he has other things to do IRL and very scarce time to put into making D1 great again.
RagingSloth
Posts: 4
Joined: 19 Nov, 2016 23:06

Post by RagingSloth »

Thanks for the reply Dacian, I appreciate the background. I was party of the beta for Diablo 20 years ago, so I understand just how much multiplayer was rushed. I spent a lot of time in the legit channel in bnet due to how rampant cheating was.

I would argue skill/competency is only a small part of what BrightLord had to make this a reality. For this to work you needed someone (or even a group, but easier with one person) that had the skill, the time, the passion, and a desire/will to keep the scope and style of the project inline with the original spirit of Diablo 1. I'm going to guess that BrightLord was the first that took the time to decompile and truly understand the D1 engine from top to bottom so he could reimplement. Then on top of that he scoured over the assets (both used and unused) and put together a complete, coherent quest line that feels more like a finished product than what was released 20 years ago. Then add on some more modern conveniences (most of the taken from D2, and why not, the game is awesome), fill in some blanks, add some of your own aspects, and yet still make it all still feel like the Diablo 1 that I installed on a Pentium 3, which I had to clear space on my harddrive for. Of course what has been accomplished here is an unparalleled feat.

While I won't post my resume, I've been working on games for a long time, and I currently work in Xbox services. As far as multiplayer is concerned, I think there are two important questions that need to be answered before you can move forward with the design:
  • - Do you care about cheating?
    - Do you want a match making system like bnet?
Depending upon the answer to the first question you automatically get the answer to the second question. So if you don't care about cheating, then the current anticheat measure that are in place are sufficient. The obfuscation techniques are good enough to stop the majority of people. However, if you do want to stop cheating, then you have to have a dedicated server side hosting solution like D2/D3 does with bnet. That requires a lot of rearchitecting / refactoring the core game engine to run headless, and allow the client engine to run in a slave mode to the server. That also requires designing and implementing quite a few services and setting up the infrastructure for those services:
  • - Player account service
    - Match making service
    - Game host service
No one is going to create their own data center for a free run game, so you'd host that stuff on GC, AWS, or Azure. Depending upon the popularity of the game that could easily run a few hundred dollars a month hosting those services on one of those cloud platforms. So yeah, combating cheating in a meaningful way means spending a lot of time and potentially a lot of money.

If you don't care about cheating but want to provide a match making service it is a bit easier to implement. Match making in this sense is just like bnet did it with D1 - a place to go to register your game with a unique name and an optional password. I can't remember if D1 used server relaying for peer to peer connectivity or if it used UDP hole punching. Relaying puts the onus of providing yet another service for multiplayer, while UDP hole punching means the players just have to have supporting hardware (which I'm pretty sure is supported among all hardware NATs these days).

Anyway, I know what I'm talking about. I done this kind of thing before, and I would love to see this made a reality for Belzebub. I'll PM BrightLord and see what is going on. Thanks again Dacian.
Post Reply

Who is online

Users browsing this forum: No registered users and 34 guests