On Sat, Mar 22, 2014 at 1:43 PM, Kallin Nagelberg < [email protected]> wrote:
> Thanks for the answer Patrik :) > Actually, that one was me, not Patrik. Threads getting tangled in the email. > You're actually cluing into what I'm really interested in here; creating a > highly scalable solution for a real-time massively multiplayer game.. > something along the lines of a server-side dwarf fortress with massive > concurrency between all of the entities in the simulation, along with the > players/influencers. > Yeah, I suspected -- this sort of problem tends to come up in games programming. The crucial rule is that building a *truly* honest large-scale simulation is nearly impossible, due to these sorts of synchronization problems. So you instead want to focus on producing an experience that feels synchronous on the player's local level, and which "plays fair" to a reasonable degree. (I will note that even playing fair isn't always possible in a high-speed environment, if the player action time is similar to the network latency. One of the nice things about *Shock* was that, since it was cooperative multiplayer, I could be arbitrarily unfair in favor of the players -- the bots weren't going to complain about the fact that my algorithms always erred in favor of the players in case of race conditions.) > And I agree that for the most part, local sync is the only thing that > really matters, at least as far as any 'hard' real-time constraints go. > When I see the low per-instance limits in mmos, or hear about Eve Online > having to dilate time to support many concurrent users it makes me cringe > and think that there must be a better way :P > Yep. It's a variant of the problem that I learned the hard way, that you can't easily take a single-player game and make it multi-player. Similarly, if your MMO's architecture isn't built for arbitrary scalability to begin with, that's eventually going to bite you on the tuchus. > Out of curiosity, could I ask where you worked? I find myself sitting here > at a cafe on Saturday aft listening to a 'best of' 16-bit console music, > just having missed GDC in my own backyard, and wondering how best to make > the leap from a career of enterprise software to mmo server tech :) > Looking Glass Studios <http://en.wikipedia.org/wiki/Looking_Glass_Studios>, in its latter days: I built the resource management systems for the game *Thief*, and most of the peer-to-peer multiplayer systems for the game *System Shock II*. (And I was in the middle of building the client/server multiplayer engine for our next-gen Siege Engine when the company shut down.) After that, I and a bunch of other refugees from Looking Glass spent several years building a highly-generalized peer-to-peer (but not game-oriented) distributed data engine at a company called Buzzpad. I will warn that the game industry is still, far as I can tell, pretty insane -- the ego-boo from working at LG was pretty fabulous, but the work conditions were a tad abusive, and while I gather that things have improved somewhat, they are still kind of loony. That's based on impressions from my friend who just left Irrational, having been there all the way from *System Shock II* through *Bioshock*, its spiritual sequel. He's now striking off on his own as an indie game developer, which promises to be more fun, but building an MMO is hard to do as an indie... -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
