BGB wrote:
On 4/8/2012 8:26 PM, Miles Fidelman wrote:
BGB wrote:
On 4/4/2012 5:26 PM, Miles Fidelman wrote:
BGB wrote:
Not so sure. Probably similar levels of complexity between a military sim. and, say, World of Warcraft. Fidelity to real-world behavior is more important, and network latency matters for the extreme real-time stuff (e.g., networked dogfights at Mach 2), but other than that, IP networks, gaming class PCs at the endpoints, serious graphics processors. Also more of a need for interoperability - as there are lots of different simulations, plugged together into lots of different exercises and training scenarios - vs. a MMORPG controlled by a single company.


ok, so basically a heterogeneous MMO. and distributed


well, yes, but I am not entirely sure how many non-distributed (single server) MMO's there are in the first place.

presumably, the world has to be split between multiple servers to deal with all of the users.

some older MMOs had "shards", where users on one server wouldn't be able to see what users on a different server were doing, but this is AFAIK generally not really considered acceptable in current MMOs (hence why the world would be divided up into "areas" or "regions" instead, presumably with some sort of load-balancing and similar).

unless of course, this is operating under a different assumption of what a distributed-system is than one which allows a load-balanced client/server architecture.

Running on a cluster is very different between having all the intelligence on the individual clients. As far as I can tell, MMOs by and large run most of the simulation on centralized clusters (or at least within the vendor's cloud). Military sims do EVERYTHING on the clients - there are no central machines, just the information distribution protocol layer.

yes, but there are probably drawbacks with this performance-wise and reliability wise.

not that all of the servers need to be run in a single location or be owned by a single company, but there are some general advantages to the client/server model.
All I can say to this is that:

- this is how it's been done for years, all the way back to the original SIMNET project (the birthplace of distributed sims)

- pretty much all of this architecture was driven by the requirements to feed data at high speed to high-res. image generators (notably Evans and Sutherland stuff as derived from the flight sim. world)

- all the protocols for linking together, and interoperation among simulators are based on this model

- there's a lot of history and engineering experience, and billions of dollars of investment in this approach

- it ain't changing anytime soon


reading some stuff (an overview for the DIS protocol, ...), it seems that the "level of abstraction" is in some ways a bit higher (than game protocols I am familiar with), for example, it will indicate the "entity type" in the protocol, rather than, say, the name of, its 3D model.
Yes. The basic idea is that a local simulator - say a tank, or an airframe - maintains a local environment model (local image generation and position models maintained by dead reckoning) - what goes across the network are changes to it's velocity vector, and weapon fire events. The intent is to minimize the amount of data that has to be sent across the net, and to maintain speed of image generation by doing rendering locally.


now, why, exactly, would anyone consider doing rendering on the server?...

Well, render might be the wrong term here. Think more about map tiling. When you do map applications, the GIS server sends out map tiles. Similarly, at least some MMOs do most of the scene generation centrally. For that matter, think about moving around Google Earth in image mode - the data is still coming from Google servers.

The military simulators come from a legacy of flight simulators - VERY high resolution imagery, very fast movement. Before the simulation starts, terrain data and imagery are distributed in advance - every simulator has all the data needed to generate an out-the-window view, and to do terrain calculations (e.g., line-of-sight) locally.


ok, so sending polygons and images over the net.

so, by "very", is the implication that they are sending large numbers of 1024x1024 or 4096x4096 texture-maps/tiles or similar?...

more - we're not talking a high-def. tv here, we're talking we're talking about painting a hemisphere providing a realistic out-the-cockpit view from a fighter - that's a lot of pixels being updated every second
ironically, all this leads to more MMOs using client-side physics, and more FPS games using server-side physics, with an MMO generally having a much bigger problem regarding cheating than an FPS.

For the military stuff, it all comes down to compute load and network bandwidth/latency considerations - you simply can't move enough data around, quickly enough to support high-res. out-the-window imagery for a pilot pulling a 2g turn. Hence you have to do all that locally. Cheating is less of an issue, since these are generally highly managed scenarios conducted as training exercises. What's more of an issue is if the software in one sim. draws different conclusions than the software in an other sim. (e.g., two planes in a dogfight, each concluding that it shot down the other one) - that's usually the result of a design bug rather than cheating (though Capt. Kirk's "I don't believe in the no win scenario" line comes to mind).


this is why most modern games use client/server.

<more about "what modern games do" snipped>

Umm... no. You're talking about what commercial games do. I don't know of anything outside the military world that can support, say 100s or thousands of fighter simulators engaged in simulated combat, or 10s of thousands of mixed human-in-the-loop simulators, AIs, and real people/vehicles running around an exercise.

This isn't theory we're talking about, this is stuff that works, has been working, that's based on lots of experience.

Miles

--
In theory, there is no difference between theory and practice.
In practice, there is.   .... Yogi Berra


_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to