Live data from Hacker News

MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

prdeving.wordpress.com

61–70 of 76 posts

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#61
post #60

Oh I feel for the author. I’ve made games. I’ve made distributed web platforms. I have profound respect for modern mmo architectures because of one, nasty, “I wish this wasn’t a thing” class of data. State. Who, where, what animation, what modeled entity, is in my party, on my screen, under my axe. Synchronized playback of my swing to my party members so we all yell in excitement at the same time when the boss falls.…

> Rewind 15-20 years ago and all the folks who wanted to make a game, their first game, and they want to build an mmo. None of them succeeded. Not 1. I guess it depends on how you define success, but I would posit FOnline [1][2] as a success story. FOnline is a fan made MMO of Fallout by a single guy, using the assets of the original Fallout 1 & 2 single-player games. Having these assets and also general game mechani…

While I commend his efforts, it’s not even remotely MMO. A few thousand can be handled by one server. One beefy server, but one server nonetheless.

I’m talking about 10,000+ players. Where you need clusters of servers and synchronization techniques.

There have been some small multiplayer games that have tried to pass as mmo’s but without the player base in the 10k+ range, you never encounter certain classes of engineering problems.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#62
post #8

You missed the opportunity to talk about WoW private servers like Trinitycore. Trinitycore emulator can handle 10k+ players on a single server.

Eve Online does this for 20years now.

the size of 'big engagements' that are still playable has gone from a few hundred to a few thousand in this timeframe. thou players tend to hit the ceilings and "playable" is a matter of opinion.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#63
post #60

Earlier quoted context omitted.

> Rewind 15-20 years ago and all the folks who wanted to make a game, their first game, and they want to build an mmo. None of them succeeded. Not 1. I guess it depends on how you define success, but I would posit FOnline [1][2] as a success story. FOnline is a fan made MMO of Fallout by a single guy, using the assets of the original Fallout 1 & 2 single-player games. Having these assets and also general game mechani…

While I commend his efforts, it’s not even remotely MMO. A few thousand can be handled by one server. One beefy server, but one server nonetheless. I’m talking about 10,000+ players. Where you need clusters of servers and synchronization techniques. There have been some small multiplayer games that have tried to pass as mmo’s but without the player base in the 10k+ range, you never encounter certain classes of engine…

Going by your logic. Nothing is an MMO. Minecraft is a significantly more demanding game than some cooldoen based ability activator where you can only hit things you click on or hit with an area attack and yet it is possible to have thousands of players on one big server.

Your "synchronization techniques" pale in the face of destructible terrain.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#64
post #27

Does anyone know any more good resources for designing an MMO architecture? Would love to do a MMO as a side project but a bit daunted by the unknown of architecture development.

I made a video series on networking theory for virtual worlds that has been well received: https://youtu.be/0wOZusuMIIM I've also been working on an engine for the past few years if you want some code examples: https://github.com/Net5F/AmalgamEngine

Wow that series is really good! Please do more, you explain things very clearly and the visuals are easy to follow.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#65

Earlier quoted context omitted.

While I commend his efforts, it’s not even remotely MMO. A few thousand can be handled by one server. One beefy server, but one server nonetheless. I’m talking about 10,000+ players. Where you need clusters of servers and synchronization techniques. There have been some small multiplayer games that have tried to pass as mmo’s but without the player base in the 10k+ range, you never encounter certain classes of engine…

Going by your logic. Nothing is an MMO. Minecraft is a significantly more demanding game than some cooldoen based ability activator where you can only hit things you click on or hit with an area attack and yet it is possible to have thousands of players on one big server. Your "synchronization techniques" pale in the face of destructible terrain.

Except in Minecraft, the world is voxel so to sync destructible terrain I only need to send the x,y,z of the block removed.

Going by my logic, there are MOG’s and there are MMOs. Guild Wars 2, World of Warcraft, EverQuest 2, games where thousands of people can be on screen at once, where that server instance is synchronized with the rest of the cluster, for one seamless virtual experience. I’d say half of the self-proclaimed mmos ever really reach massively-multiplayer status. Games like Dota 2 and CS2 are played by millions but I wouldn’t say it’s an MMO because each match it’s 5v5.

Realm vs Realm or World vs World mechanics explain my perspective perfectly.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#66

Earlier quoted context omitted.

Going by your logic. Nothing is an MMO. Minecraft is a significantly more demanding game than some cooldoen based ability activator where you can only hit things you click on or hit with an area attack and yet it is possible to have thousands of players on one big server. Your "synchronization techniques" pale in the face of destructible terrain.

Except in Minecraft, the world is voxel so to sync destructible terrain I only need to send the x,y,z of the block removed. Going by my logic, there are MOG’s and there are MMOs. Guild Wars 2, World of Warcraft, EverQuest 2, games where thousands of people can be on screen at once, where that server instance is synchronized with the rest of the cluster, for one seamless virtual experience. I’d say half of the self-pr…

> World of Warcraft

The original release of World of Warcraft had a limit of a few thousand per server too. It's only much later that this got increased. In the classic MMO era there's really only EVE Online that pushed to 10k and beyond, and never in the same star system. Single star system was limited to around 500 people for the game to still be playable. It's only later that they added time dilation which allowed for thousands to be in a single system at once.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#67
post #8

You missed the opportunity to talk about WoW private servers like Trinitycore. Trinitycore emulator can handle 10k+ players on a single server.

I don't understand how they are able to replicate all the interaction rules. There's a bunch of things going on in WoW, and unless you did a heck of a lot of experiments how would you uncover the rules governing all the interactions between different things? For instance you can bubble hearth on classic but not in hardcore. How is an external server developer going to know that? Also how do they place all the NPCs an…

use to play ragnarok in private servers, the explanation is simple, they know, because you know, they are super fans

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#69

The "cache, lots of cache" statement is the most true of any MMO architecture we can build. I did some optimization work earlier this year on a project where the single back-end server is now handling 2 billion requests per minute and had around 3TB of RAM for cache (I think the final production system was aiming for 12TB of RAM). There's concerns around race conditions as you pointed out, message passing from client…

Let's say that among developers there was a history of how-to-implement gameplay traditions (like how to implement third person player movement, "gameplay ability systems", etc.) in programming languages besides C++. Like C# & Java, the memory managed friendly ones with good tooling. And let's say you're forbidden from reinventing C++ inside C# or Java, like Unity's Burst does (so called HPC#). But you can "do ECS,"…

Interestingly enough, Jeff Kesselman was working on Java middleware for MMOs at Sun Microsystems before the Oracle acquisition. See https://en.m.wikipedia.org/wiki/Project_Darkstar

There's definitely some value in using more productive languages for the backend services, as they're not as latency sensitive as rendering.

Re: MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve

#70
post #66

Earlier quoted context omitted.

Except in Minecraft, the world is voxel so to sync destructible terrain I only need to send the x,y,z of the block removed. Going by my logic, there are MOG’s and there are MMOs. Guild Wars 2, World of Warcraft, EverQuest 2, games where thousands of people can be on screen at once, where that server instance is synchronized with the rest of the cluster, for one seamless virtual experience. I’d say half of the self-pr…

> World of Warcraft The original release of World of Warcraft had a limit of a few thousand per server too. It's only much later that this got increased. In the classic MMO era there's really only EVE Online that pushed to 10k and beyond, and never in the same star system. Single star system was limited to around 500 people for the game to still be playable. It's only later that they added time dilation which allowed…

Yeah and Ultima Online was the same. I’m not talking about 1999’s definition of an MMO, when people were still using dialup.
Post reply on HN