Jump to content
  • Advertisement
Sign in to follow this  
lucky6969b

Would like to get your advices on building a hierarchical systems which are interconnected...

This topic is 420 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have designed a hierarchical navigation interconnected system/subsystems in which

there are basically two major types of objects in put inside, first being infrastructures, like buildings, factories

and open-spaces like gardens, roads etc and framework types, like suburbs, cities and continents.... no planets, galaxies, xynoverse

haha

Each of them contains exactly one navigation system and they contain various needed navigation data.

I then would calculate a hierarchical costs between them by using the pivots of the system's bounding box.

But It has one minor problem, when I say add a suburb to the system, I name it the GlobalWorld,

after adding in the open spaces, the infrastructures would overlap with them, or basically sit on them,

so I can't calculate the abstract costs on them. But it is a very naturally simple case to place infrastructures on top of

open-spaces, how should I do it right? I know the correct way should be putting roads beside the infrastructures,

but can I do it this way?

[attachment=36061:q.png]

Thanks

Jack

Edited by lucky6969b

Share this post


Link to post
Share on other sites
Advertisement

"place infrastructures on top of open-spaces" says you have 3 dimensions, you have 2 things at the same position where one has priority over the other. I think in the long explanation before, you silently assumed a 2D world, where all objects are separate from each other.

The structure of the navigation system looks like a red harring to me, its shape is convenient in finding the object, you could also technically use a list, although that would be probably be unwise due to performance.

 

If my interpretation is true, then yeah, trying to fold 3D-like behavior into a 2D environment is trickly :P Simplest in this case is to stick with the 2D idea, and remove any open space so there is room for the new structure. That way everything lives again in its own set of coordinate space.

 

The other idea is to move away from 2D, and have a 3D setup instead. You can express that in the hierarchy. Anything placed on top of other things basically replaces the area of all underlying nodes that it fully or partly covers. The new node then tries to use the new object first, if the navigation is outside its area, it forwards the call to the underlying child node.

In this case, the underlying nodes should probably be made aware that they are only used partly, but I cannot decide that, I have too little knowledge about how you use the navigation system.

Edited by Alberth

Share this post


Link to post
Share on other sites

Let's clarify it a bit, When I want to move an agent from A to B,

I really want it to leave the premise of A and go out of the door, walk on the pathway or sidewalk... whatever, what you call it,, and enter premise B.

Since A to B is 5 meters in length, P0 to P1 is 6 meters in length + 1 meter to enter from the pathway to premise B,

The Agent will choose to directly move from P0 to P2....

Let's say the "front" door is facing down of the block

Sorry, my drawing looks a bit wack...

You can assume block A and B are right next to each other, so there are no entrances/exits between them

[attachment=36062:q2.png]

Thanks

Jack

Edited by lucky6969b

Share this post


Link to post
Share on other sites

How is your explanation clarification related to "place infrastructures on top of open-spaces"?

Navigation is something entirely different from adding or changing the navigation structure, as far as I can see.

Edited by Alberth

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!