The way I see it, engineers are hired to solve non-trivial problems. The decision to be 100 per chunk of land doesn't scale. What happens when more than 100 people want to walk into that server? Invisible wall? (V:SOH did that).
-
-
Vastauksena käyttäjälle @tloch14
We’ve stumbled upon my favorite problem I can’t talk about. :-(
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjälle @kurtismcc
I can't tell if "favorite problem" should be read literally or more like "most headache inducing problem I have personal experience with". Lol.
1 vastaus 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjälle @tloch14
We’ve talked publicly about how WoW split its world sim among shards back when it was based on a grid, and we’ve talked about how we don’t do that anymore, but we haven’t talked about what we actually do now.
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjille @kurtismcc ja @tloch14
To leave WoW behind for a second and talk about the massively multiplayer world sim problem for a second, though; you’re absolutely right - geography alone is pretty terrible.
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjille @kurtismcc ja @tloch14
Like, completely abstractly, the question we *should* be trying to answer is how to weigh the trade off of latency/complexity/visibility? Let’s take movement for example: a desired solution must be low latency and high visibility. Complex systems are out.
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjille @kurtismcc ja @tloch14
Can you take complexity out by interpolating between fixed positions instead of playing back movement streams? Can you reduce the number of positions as you get further away from the mover?
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjille @kurtismcc ja @tloch14
I feel like the “right” way to solve the problem is to break up a simulation using k-clustering (with interaction, not geographic weights) and move players among the clusters and their interactions shift.
2 vastausta 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjille @kurtismcc ja @tloch14
But the problem rapidly becomes the Kevin Bacon game: where do you actually cut long interaction chains?
2 vastausta 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjälle @kurtismcc
Interesting! I've always thought k-clustering was a good solution too, but never had an opportunity to try. Although I tended to think geographically, because for movement updates and combat, that's mostly what you want.
2 vastausta 0 uudelleentwiittausta 1 tykkäys
The clusters effectively create something of a voronoi pattern too, and it seemed like a good opportunity for LODing updates. In a neighboring cluster? Get every 2nd update. Neighbor's neighbor? Every 4th update. And so on.
-
-
Vastauksena käyttäjille @tloch14 ja @kurtismcc
Although, I do think that it's better for all this to be on one process, rather than a process per k-cluster, just for the headache of replicating across server boundaries. Instead, I'd be interested in seeing a process own a subsystem.
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjälle @tloch14
I would want the whole point of the clustering to be that you wouldn’t need to mirror data at all for the computation of the interaction, just to pass data on the results to the clients for notification.
1 vastaus 0 uudelleentwiittausta 1 tykkäys - Näytä vastaukset
Uusi keskustelu -
Lataaminen näyttää kestävän hetken.
Twitter saattaa olla ruuhkautunut tai ongelma on muuten hetkellinen. Yritä uudelleen tai käy Twitterin tilasivulla saadaksesi lisätietoja.