Jump to content

  • Log In with Google      Sign In   
  • Create Account

14 years ago on June 15th Gamedev.net was first launched! We want to thank all of you for being part of our community and hope the best years are ahead of us. Happy birthday Gamedev.net!

#Actualwodinoneeye

Posted 10 February 2012 - 11:18 PM

The target system I'm investigating is :: a MMORPG with mutateable world ('infinte universe', auto-generation, on-the-fly level downloading from server, extendable world, on-the-fly bubble instances for auto-generated quests, deformable world, etc...)

This all is a requirement for something I want to see someday - player created assets for games (topic discussed several years ago in these forums) which would require more fluid client side world terrain data (no longer static levels, huge worlds etc..)

Ignore for now how/where that data is created. It will be based in the server and somehow get to the client in time to be digested and rendered for the player's 3D presentation.

---

Possible soution mechanisms:

Chunked terrain building blocks with 'dictionary/atlas' on the client already (alleviating on-the-fly large asset DL)
Bulk mesh data nd associated navmesh etc would be unitized and sent to client in patches of as background xfer.
Subsituteable attributes to vary these basic building terrain blocks (theme textures, axis rotations/fliops/scaling).
Easier than complete level data rebuilding. Neverwinter Nights had a system something like this.

Assemblies (precanned groupings) of prop objects that can be added/inserted as instances into terrain being displayed (discrete objects not part of the static terrain mesh) Discrete objects also assists in having more reactive world terrain.
LOTRO has something like this for player chars with so much varying clothing/horses that it takes many (many) seconds to transfer the dynamic data from server to client (very bad when large numbers of players in one place).

Player avatars/NPCs/vehicles currently are discrete objects but serverside these would be seperated more from the terrain associations (ex- no terrain triggers for NPC mobs). This allows for more complex (and variable) object AI (another one of my desired objectives).

Lots of 'templates' that have parameters to combinatoricly vary the look/feel/function of the 'building blocks' instances.
This allows specifics for instances to only need network send the base identity of the building block (already in the clients disk data store) and the Parameters -- a MUCH smaller set of data. Some programatic mutation is done to the final data before it is stuffed into the GPU.

Techniques to preload upcoming world chunks ahead of need (before the player will see them). Important -- the players can effect the base terrain beyond their initial state and thus all changes (deltas) will have to be patched over the base data (ie- I remove/detroy a prop or apply decals to indicate effects). The server keeps track of all these changes but they need to be transmitted to the client for CORRECT display of the world state.
You may be able to cache some of this world data client-side when the player walks away but other players may make additional changes (deltas) that will have to be corrected.


Auto-generation of terrain serverside (later sent to clinets). World terrain/assets is no longer static and can be expanded, modified as the plots procede, instanced, recycled .... Allows HUGE world with content created as needed
and more customization/variations (ie- not the same quests and locations that 1 million other players already went thru)


-------------------------------

Can any of the existing game engines do things like this???? (any talk of doing such features)

------

Actually the system could also be used for solo MP games with mutateable/generated terrain content ) -- maybe more likely than the MMORPG monstrocity .... A simpler mechanism that builds a static level but with many of the auto-generation possibilities.


Obviously 'detail' assets like textures/sounds/boneanimations/particle effect scripts/figure and prop meshes would also be downloaded, but again these can be done ahead of time (bundled as part of patches or in more frequent updates to add them to the client disk data store to be ready to be applied to the templated building blocks).

#1wodinoneeye

Posted 10 February 2012 - 10:46 PM

The target system I'm investigating is :: a MMORPG with mutateable world ('infinte universe', auto-generation, on-the-fly level downloading from server, extendable world, on-the-fly bubble instances for auto-generated quests, deformable world, etc...)

This all is a requirement for something I want to see someday - player created assets for games (topic discussed several years ago in these forums) which would require more fluid client side world terrain data (no longer static levels, huge worlds etc..)

Ignore for now how/where that data is created. It will be based in the server and somehow get to the client in time to be digested and rendered for the player's 3D presentation.

---

Possible soution mechanisms:

Chunked terrain building blocks with 'dictionary/atlas' on the client already (alleviating on-the-fly large asset DL)
Bulk mesh data nd associated navmesh etc would be unitized and sent to client in patches of as background xfer.
Subsituteable attributes to vary these basic building terrain blocks (theme textures, axis rotations/fliops/scaling).
Easier than complete level data rebuilding. Neverwinter Nights had a system something like this.

Assemblies (precanned groupings) of prop objects that can be added/inserted as instances into terrain being displayed (discrete objects not part of the static terrain mesh) Discrete objects also assists in having more reactive world terrain.
LOTRO has something like this for player chars with so much varying clothing/horses that it takes many (many) seconds to transfer the dynamic data from server to client (very bad when large numbers of players in one place).

Player avatars/NPCs/vehicles currently are discrete objects but serverside these would be seperated more from the terrain associations (ex- no terrain triggers for NPC mobs). This allows for more complex (and variable) object AI (another one of my desired objectives).

Lots of 'templates' that have parameters to combinatoricly vary the look/feel/function of the 'building blocks' instances.
This allows specifics for instances to only need network send the base identity of the building block (already in the clients disk data store) and the Parameters -- a MUCH smaller set of data. Some programatic mutation is done to the final data before it is stuffed into the GPU.

Techniques to preload upcoming world chunks ahead of need (before the player will see them). Important -- the players can effect the base terrain beyond their initial state and thus all changes (deltas) will have to be patched over the base data (ie- I remove/detroy a prop or apply decals to indicate effects). The server keeps track of all these changes but they need to be transmitted to the client for CORRECT display of the world state.
You may be able to cache some of this world data client-side when the player walks away but other players may make additional changes (deltas) that will have to be corrected.


Auto-generation of terrain serverside (later sent to clinets). World terrain/assets is no longer static and can be expanded, modified as the plots procede, instanced, recycled .... Allows HUGE world with content created as needed
and more customization/variations (ie- not the same quests and locations that 1 million other players already went thru)


-------------------------------

Can any of the existing game engines do things like this???? (any talk of doing such features)

------

Actually the system could also be used for solo MP games with mutateable/generated terrain content ) -- maybe more likely than the MMORPG monstrocity .... A simpler mechanism that builds a static level but with many of the auto-generation possibilities.

PARTNERS