On 4/4/2012 1:06 PM, Miles Fidelman wrote:
BGB wrote:
On 4/4/2012 9:29 AM, Miles Fidelman wrote:

- game-like simulations (which I'm more familiar with): but these are serious games, with lots of people and vehicles running around practicing techniques, or experimenting with new weapons and tactics, and so forth; or pilots training in team techniques by flying missions in a networked simulator (and saving jet fuel); or decision makers practicing in simulated command posts -- simulators take the form of both person-in-the-loop (e.g., flight sim. with a real pilot) and CGF/SAF (an enemy brigade is simulated, with information inserted into the simulation network so enemy forces show up on radar screens, heads-up displays, and so forth)

For more on the latter, start at:

http://en.wikipedia.org/wiki/Distributed_Interactive_Simulation
http://www.sisostds.org/


so, sort of like: this stuff is to gaming what IBM mainframes are to PCs?...

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.


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.

however, it appears fairly low-level in some ways as well, using magic-numbers in place of, say, "entity type names", as well as apparently being generally byte-oriented.


in my case, my network protocol is currently based more on the use of specially-compressed lists / S-Expressions (with the compression and "message protocol" existing as separate and independent layers).

the lower-layer is concerned primarily with efficiently and compactly serializing the messages, but doesn't concern itself much with the contents of said messages. it is list-based, but theoretically, also supporting XML or JSON wouldn't likely be terribly difficult.

the upper-layer is mostly concerned with the message contents, and doesn't really care how or where they are transmitted.

I originally considered XML for the message protocol, but ended up opting with lists as they were both less effort and more efficient in my case. lists are easier to compose and process, generally require less memory, and natively support numeric types, ...


most entity fields are identified mnemonics in the protocol (such as "org" for origin, "ang" for angles or "rot" for rotation). entity types are given both as type-names and also as names for 3D models/sprites/...

I personally generally dislike the use of magic numbers, and in most cases they are avoided. some magic numbers exist though, mostly in the case of things like "effects flags" and similar (for stuff like whether an entity glows, spins, ...).

however, this doesn't mean that any strings are endlessly re-sent, as the protocol will compress these (typically into single Huffman-coded values). note that recently encoded values may be reused.

beyond entities, things like geometry and light-sources can also be synchronized.

nothing obvious comes to mind for why it wouldn't scale, would probably just split the world across multiple servers (by area) and have the clients hop between servers as needed (with some server-to-server communication).

probably, free-form client-to-client messages would also make sense, and maybe also the ability to broadcast messages more like in a chat-style system. this way, specialized clients could devise their own specialized messages.

(currently, I am not doing anything of the sort, mostly focusing more on small-scale network gaming).

...


(if by any chance anyone wants code or specs for any of this stuff, they can email me off-list...).


I had mostly heard about military people doing all of this stuff using decommissioned vehicles and paintball and similar, but either way.

I guess game-like simulations are probably cheaper.
In terms of jet fuel, travel costs, and other logistics, absolutely. But... when you figure in the huge dollars spent paying large systems integrators to write software, I'm not sure how much cheaper it all becomes. (The big systems integrators are not known for brilliance of their coders, or efficiencies in their process -- not a lot of 20-hour days, by 20-somethings betting on their stock options. A lot of good people, but older, slower, more likely to put family first; plus a lot of organizational overhead built into the prices.)


fair enough.

probably not as much need to emphasize graphics though, since it probably isn't really being sold as much on its "photo-realism" and similar, unlike a lot of commercially-made games?...

so, less work for the graphics artists and 3D artists and similar to do.
(nevermind work recreating various geographic locations or similar...).

then again, maybe some of this could be assisted with satellite photos and stand-ins and similar, sort of like with "Google Earth" or similar?...

or such...

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

Reply via email to