I've been looking at Second Life recently, which does most things server-side (in fact, running a distributed world with game physics) unlike games like WoW, where the intelligence (and crunch) is mostly in the client. Linden Labs run a large cluster to host the game world, which is segmented by virtual machines. I don't know which network topology they use, but a contiguous game world maps well to a 2d mesh or a torus.
What I didn't like is that most of the game is purportedly based on a byte-compiled language, with some long-term plans to switch to .Net (Mono, actually), which should result in much improved performance. Current performance is rather ridiculous, even high-priority simulations like private islands only tolerate few 10 avatars before severe performance degradation, and even crashes. While I do see what a usual C/C++ MPI approach wouldn't be probably enough for a highly dynamic and flexible virtual environment, the result still strikes me as inelegant, and killing architectural deficiences by throwing enough hardware at it (not necessary always wrong, mark, just not in this case). Can things be compiled in realtime by passing code snippets in conventional compiled languages, or is this always limited to highly dynamic environments like Smalltalk (which OpenCroquet is based on) or Lisp (with sbcl and cmucl there are now great compilers for Lisp, though I don't know about MPI support)? -- Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org ______________________________________________________________ ICBM: 48.07100, 11.36820 http://www.ativel.com 8B29F6BE: 099D 78BA 2FD3 B014 B08A 7779 75B0 2443 8B29 F6BE _______________________________________________ Beowulf mailing list, [email protected] To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
