HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: [Resolved] Dynamic loading of area's  (Read 1641 times)

PN-Dwight

  • General Accounts
  • *
  • Posts: 465
    • View Profile
    • Pirates' Nest
[Resolved] Dynamic loading of area's
« on: Aug 16, 11, 05:02:08 PM »

Lectori salutem!

After some research done with Hero Engine, there are a few questions that keep bugging me for quite a while and are disturbing me as well...

We are building a world that is quite like this world, and contains a lot of ocean and a lot of islands (of which some are far apart). Is it possible in HeroEngine to build all these area's in 1 world and that the area's are dynamically loaded with its assets (including other online characters) when a player comes closer to them?

I have read the ways of teleportation and how you can make it "look" like its seamless with parts you cannot see (like the maze-thing). Though that is quite hard to accomplish in a world where there is a vast ocean and you are not 100% sure where the player is at with his crew and boat to make the teleportation... And Im also worried that the player in area X cannot see the player in area Y above him before he used the "teleport" a couple of yards before him..

Is the dynamic loading of area's and its assets and characters possible?

Your help if very much appreciated and thank you for reading in advance!

Awaiting your response(s), I remain,


Dwight Gijzen
« Last Edit: Oct 31, 12, 03:02:21 PM by HE-Cooper »
Logged

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Dynamic loading of area's
« Reply #1 on: Aug 16, 11, 05:07:23 PM »

Dwight, I think either you need to be more specific, or the simple answer is a resounding yes. It's the core of what the heroengine does.
Logged

PN-Dwight

  • General Accounts
  • *
  • Posts: 465
    • View Profile
    • Pirates' Nest
Re: Dynamic loading of area's
« Reply #2 on: Aug 16, 11, 05:15:16 PM »

Dwight, I think either you need to be more specific, or the simple answer is a resounding yes. It's the core of what the heroengine does.

Short version: can we build the whole gameworld into just 1 world, so we don't need teleportations in any way? Im talking about at least 2000 areas (max size) in 1 gameworld with thousands of assets.

I think I got confused with "properly sizing your worlds" and the "teleportation to other worlds" on the wiki. I thought all the area's were pre-loaded when you enter a world..

My apologies for the trouble!

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Dynamic loading of area's
« Reply #3 on: Aug 16, 11, 05:30:50 PM »

Yeah, let's just make sure we have our terminology straight, as it's different across many online games.

Server- this normally refers to a physical piece of hardware with inherent limitations on the amount of processes and memory it can run. It is also frequently used to describe the playspace that a fixed number of users have characters on, and characters on one server aren't able to interact with characters on another server. Developers would normally refer to the latter definition as a shard. Also, the term server for physical piece of hardware doesn't apply to the herocloud since our hardware scales beyond physical boxes to grow to whatever size a game requires.

Shard - a world or universe with a fixed amount of characters on it. WoW has dozens of shards. Eve Online is shardless and all characters play in the same space.

Area - in the heroengine this is a unit of server simulation, it roughly maps to an area of terrain and gameplay. Attempting to overwhelm a single area with too many assets or terrain or units of simulation (ai, players, etc) creates negative effects on the server or the users clients. Area can be stitched together with seamless technology to create the appearance of a game world that is expansive and epic without having to load assets when the player crosses an area.

So areas and shards and therefore world or universe are independent concepts. The discussions you've obsevered are about how to limit memory usage on the server, while attempting to explain to developers new to online world building that attempting to simulate miles of real world ocean is a common mistake and a waste of resources, but that in no way prohibits you from doing so.

Posted from my iPhone. Ignore all typos.
Logged

PN-Dwight

  • General Accounts
  • *
  • Posts: 465
    • View Profile
    • Pirates' Nest
Re: Dynamic loading of area's
« Reply #4 on: Aug 16, 11, 05:48:41 PM »

Yeah, let's just make sure we have our terminology straight, as it's different across many online games.

Server- this normally refers to a physical piece of hardware with inherent limitations on the amount of processes and memory it can run. It is also frequently used to describe the playspace that a fixed number of users have characters on, and characters on one server aren't able to interact with characters on another server. Developers would normally refer to the latter definition as a shard. Also, the term server for physical piece of hardware doesn't apply to the herocloud since our hardware scales beyond physical boxes to grow to whatever size a game requires.

Shard - a world or universe with a fixed amount of characters on it. WoW has dozens of shards. Eve Online is shardless and all characters play in the same space.

Area - in the heroengine this is a unit of server simulation, it roughly maps to an area of terrain and gameplay. Attempting to overwhelm a single area with too many assets or terrain or units of simulation (ai, players, etc) creates negative effects on the server or the users clients. Area can be stitched together with seamless technology to create the appearance of a game world that is expansive and epic without having to load assets when the player crosses an area.

So areas and shards and therefore world or universe are independent concepts. The discussions you've obsevered are about how to limit memory usage on the server, while attempting to explain to developers new to online world building that attempting to simulate miles of real world ocean is a common mistake and a waste of resources, but that in no way prohibits you from doing so.

Posted from my iPhone. Ignore all typos.

"I can do whatever I want and get away with it, because HeroEngine can adapt" is the bottomline? :)

After you have explained the views on terminology, I can now ask my questions better, and also give some more explanations:

Basically, the endgoal is to have a game in which all players play in the same world. As the player-base extends, new servers can be created, but there is not and must not be interaction between the servers.

I meant with "area" a part of the whole world, as explained here: http://hewiki.heroengine.com/wiki/Area . It's not our idea to have "miles of sea" all the time, but there are a few, I can think of 2 now, cases in which it is needed.

In the end, there is nothing that stops us from stiching together a lot of areas. Re-reading the updated wiki pages has increased my understanding.

Thank you for your replies!

Stadi_Thompson

  • General Accounts
  • *
  • Posts: 324
    • View Profile
Re: Dynamic loading of area's
« Reply #5 on: Aug 17, 11, 10:27:00 AM »

Any non funded, small/medium size indie trying to build a world larger than WOW Aion or Rift (or all 3 combined) will likely run into productions issues. Building a next gen MMO doesn't mean "build the largest game world in existence". I have seen a few threads about game size, that are pretty unrealistic. Nothing wrong with making a large world, you don't have to make it all at once before starting your game. Try to make a world that is a reasonable size, then add on if you are able to achieve that. Also you will not find any other engines available that comes with seamless out the box, while you may be concerned of what Hero can and can't do, there is nothing else out there that will come close to creating your vision, unless you are going to write a seamless engine from scratch in Ogre3d or Panda3d. Whatever happens good luck :) .
« Last Edit: Aug 17, 11, 02:09:45 PM by info360covers »
Logged