Sign in to follow this  
caymanbruce

Finding regions in Area of Interest Management in MMO game

Recommended Posts

Hi I have been designing an interest management system in my MMO game. But I am facing an obstacle that I could not figure out how to tackle. 

In interest management the map is divided into many fixed regions and every entity has an interest area. I look into many interest management algorithm and I find that they usually divide the map into similar size regions. But how do I manage the situation that some entities are much larger than other entities. For example like this:

 

Drawing_qbadpo.png

 

Sorry for my bad PC drawing skill.  Suppose some entities on the map is much bigger, like 10 or 20 times bigger than some entity. The size of their interest area will be different. For the above example, A might be able to see B, C, D and E. but B should only be able to see part of A and C, and C should see B, D and part of A, D should see C and part of A, E should only see part of A.  If A is even bigger, it might only be able to see E because the rest of the entities are too far from its head. How should I design the fixed regions? Should A occupy 10, 15 or 20 regions and B, C, D and E only occupy 1, 2, 3 or 4 regions?

Edited by caymanbruce

Share this post


Link to post
Share on other sites

You could have entities exist in multiple regions.

You might use a spatial system that is more suited to arbitrary object sizes, such as a quadtree.

Or you might decide that everybody is aware of entity 'A', if it makes things simpler.

And the size of the regions is there to help you partition data, nothing more; as long as you can search it effectively, it doesn't affect the results. Area of interest does not necessarily have to relate to these region sizes. It can be as simple as "I'm interested in any Entity under 100m away" and how you find those entities is up to you.

Most games do not have large entity size disparities like you do, so they don't have this problem.

Share this post


Link to post
Share on other sites

You could have entities exist in multiple regions.

You might use a spatial system that is more suited to arbitrary object sizes, such as a quadtree.

Or you might decide that everybody is aware of entity 'A', if it makes things simpler.

And the size of the regions is there to help you partition data, nothing more; as long as you can search it effectively, it doesn't affect the results. Area of interest does not necessarily have to relate to these region sizes. It can be as simple as "I'm interested in any Entity under 100m away" and how you find those entities is up to you.

Most games do not have large entity size disparities like you do, so they don't have this problem.

 

Yes it's like  a rabbit just ran into a dinosaur incidentally and get killed but the dinosaur might not see it on its way. But if a dinosaur dies near a rabbit it is very obvious in-sight. I am planning to use aura-nimbus to detect the changes in order to make it simple.

Share this post


Link to post
Share on other sites

I have no idea what "aura-nimbus" means in this context, sorry.

Generally speaking the area of interest has to be large enough to cover everything that you might see or interact with. You could decide to have an area of interest of 250m, which would work for rabbits (0.25m) and dinosaurs (up to 40m) with plenty of room for variation. It depends on what area you're rendering, of course.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this