5 ms·
My understanding is that their twist on the problem is some kind of dynamic sharding of game entities across a cluster of servers. Different games seem to try t
by bane 10y ago
My understanding is that their twist on the problem is some kind of dynamic sharding of game entities across a cluster of servers. Different games seem to try to deal with this in different ways:
- WoW - Several servers hosting copies of the main game world, dedicated party servers for instances
- Second Life - A server maps to a specific volumetric "box" that is estimated to be able to handle whatever activity and whatever entities end up in that box
- Eve - A server maps to a star system, local game time can slow down to accommodate more activity
My understanding is that these guys do something else, where they determine sets of entities (players, NPCs and non-player entities) that are likely to interact and shard off the controlling logic to a server. As the world-state changes, the clustering and mapping of entity groups to servers changes and they have some kind of way to move likely interacting clusters of entities seamlessly within the infrastructure.
This has the possibility of supporting huge persistent game worlds with tens of thousands of players at a time without the kinds of ill effects we see with the other approaches.
- revelation 10y agoThere is a reason for that and they call it "the latency numbers every programmer should know".
- chris_io 10y agoThat's pretty accurate, yes. To add to your examples: - Worlds adrift - 100s of instances of Unity running in the background, but it appears to be a single seamless world to players.
- jcfrei 10y agoInteresting, so I guess this still limits the number of entities that can interact with each other on one server but allows for much more non-interacting entities spread out over a large world. But couldn't then lots of players (maybe by accident) meet in one spot and then slow that server down?
- bane 10y agoI honestly have no idea. Clearly given the number of smart people and amount of money being thrown at the problem (without being able to produce a real seamless massive persistent on-line world without compromises) this is very hard. I also wonder how it handles very large entities that might span across clusters (say a large spaceship with thousands of entities spread across multiple decks and in different area). Since all of those things are entities in a sense, and there might be many ships, how does it handle this? No idea, but the fact that this can be asked at all is pretty interesting.
- a_t48 10y agoYeah, the secret sauce seems to be in how they handle interactions split across clusters. It's not a simple problem.
- dxhdr 10y ago> Clearly given the number of smart people and amount of money being thrown at the problem (without being able to produce a real seamless massive persistent on-line world without compromises) this is very hard. It's just not worth it. The technical back-end challenge isn't the hard part here, it's the game design. WoW with 10,000 players idling in Orgrimmar isn't fun. WoW with 100 players in a single dungeon isn't fun either, for that matter.
- spuz 10y agoThe real value is not in games. It's in simulations of real world systems. The kind of thing governments are happy to spend a lot of dollars on. http://www.wired.co.uk/article/improbable-spatialos-simulated-cities http://www.wired.co.uk/article/improbable-spatialos-simulate...
- Banderly 10y agoDo those simulations need to be real time and massively multiplayer? I don't see the need for this tech in the high fidelity city simulation cited in the linked article: that would much easier to implement as an offline simulation. Training seems like the most likely usage: eg. disaster response or large scale military scenarios. I have to agree with the earlier poster that tech is not the limiting factor for massively multiplayer games.