How does Diablo 3 work?

I hear that trying to make a MMORPG that has a thousand players in 1 world is nearly impossible. However, what kind of comparison is it with a MMO like Diablo 3 where users make games and then a few join it?

It is still hard, and will take a lot of people, a few years and a lot of dollars :smile:

The server part might be a bit easier, depends on what you are gunning for.

What if I went with one of these premade kits made by Zerano? Like the Advanced Multiplayer Kit or the RPG Kit?

Not a chance. Why don’t you check out how large team D3 had and how long did it take em to make it. No premade thing will help you.

I think there are two different issues being mixed together here.

  • The server backend. First of all, it has to be and scalable so that it can support thousands of users. It also has to be authoritative. In traditional MMOs, such as WoW or Guild Wars 2, this is considerably harder as you have to optimize the backend so these thousand players can be in the same world together. With a game such as Diablo (or any other room/lobby/instance based game), you don’t have to worry as much about this since players only need to send and receive updates from the few people in their instance.
  • Content creation. Let’s take a look at World of Warcraft again.

Source: http://www.thegamereviews.com/article-1515-World-of-Warcraft-by-the-Numbers.html

As you can see, even if WoW (or Diablo 3 for that matter) was a single player game, it would still take years and years with a knowledgeable and sizable team to develop.

Won’t this get a lot easier with the Make MMORPG button planned for a future release of Unity?

Word is, Aras has a make game button somewhere. It’s only rumour at the moment but a lot of experienced guys seem to think he’s hiding that button in the source.

I think that button will come after the Make MMORPG button but will feature a drop down to select the type of game to create.

I found the button, its located at file > new project. All you need to do is assemble the game using your keyboard and mouse, how easy is that!

Oversimplified, high-level answer that applies to every game: The user enters input into an input device, which the game engine takes and passes off to the server. On the server, game logic is evaluated, and a response is sent to all connected clients. The clients interpret this with various assets - y’know, graphics, sound, etc. - such that the player will know the consequences of their last input. This cycle is repeated over and over until the player stops the application.

Specific, low-level answer that applies to Diablo III: Pretty much the above, but if you play Diablo III, you know more about specifically which rules the server is enforcing than I do, since I don’t play Diablo III.

If this is your first project, I might suggest something simpler, like a nice game of Pong.

Best Photoshop rig ever!

Well, as the obvious answers have been taken… :wink:

Start with what Diablo 3 is at it’s heart: It’s a roguelike. A graphical roguelike, but a roguelike nonetheless. There are tonnes of information regarding the creation of roguelikes.

So start by getting a roguelike up and running (graphical or not doesn’t really matter at this point).

From there, you’d need to deal with handling the state of several connected players. Oh, and drop the term MMO. There may be a lot of people who play it, but unless there’s someplace where you can see hundreds to thousands (and up) of players in the same game at once, it’s not an MMO…just a Multiplayer Game. That problem is a “bit” “simpler” to tackle.

Quantum mechanics and semiconductor application.