Ive been exploring possible advancements for MMORPGs (with much more complex/detailed game representation on client). One feature is game Asset data being frequently/continously streamed to the Client (not just new objects, but terrain updates as almost the entire world is changeable with very little static map data any more -- this is not just deformable scenery but also a continuing addition of new assets flavors to the game as time goes on - magnitudes more than MMORPGs have these days).
The client would have some huge File dictionaries/encylopedias so that once an instance of an object flavor is transfered it doesnt require a repeat (and the scheme also has alot of hierarchical templating used to define objects which can cut down alot of the data required to be sent)).
Issues I can think of :
- The Volume of data to transfer that can happen in rushes as the player POV moves into a much changed location or one with previously unseen object flavors. Effect upon ongoing gameplay when the gameflow has to share with a background asset data stream (how much is too much)
- Need for placeholder data to handle the delay while the client 'catches up
- Preloading prioritization (to attempt to preload needed data before it is seeable) types of objects and distance (LOD considerations)
- In general a much larger number of objects in the clients simulation (keeping the game processing busy)
- Server loads (alot more data traffic to all clients)
- Dictionary/Encyclopedia lookups and update decisions -- the client has to determine from the server whether there has been an update for an asset flavor (besides NEW asset flavors there are also improvement/fix updates that can happen)
- possibility of offline/background to background generic dictionary updates (if the immediate-need data flow is Idle then send through changed/new data to get likely future-needed data into the client well ahead of time.)
- Platform considerations. Limited disk archiving might require discarding some previously transfered data (keeping whats most relevant to the players situation and unfortunately having to reload some data as it is needed.
- Detail level control scheme - need a way to limit/tune this whole system for targeted hardware having significantly less capability (MMORPGs tend to have a wider range of customer target - heck, tablets continue to advance)
Things helping possible advancements :
- Higher average Internet throughputs
- SSD to speed the disk end of archiving/caching client data
- the usual CPU/Memory improvement for general increases of performance (additional cores etc..)
- heavy use of a Templatuing scheme with alot of reuse which can help shrink the data that is required to be sent fo any particular object instance
All of this is something for the future - where things MIGHT go (current state of MMORPGs if not fossilized, have actually degenerated)
Comments.. Ideas... ?