Sign in to follow this  
Kammerz

Using GIS to Handle Mob Distribution & Redistribution

Recommended Posts

Hi,
 
In real life I work as a Senior GIS Analyst - for anyone who doesn't know what GIS is, I would suggest Googling it.
 
In a shorter summarized sentence, GIS is basically a tool (for some a science) to analyse data spatially, i.e. based on it's in world location along side layers of other information to effectively create cartographic (fancy maps) outputs, contextual analysis or statistics. The motto being that a map can tell a thousand words.
 
So with the introduction done I want to suggest a new way of handling mob distribution, and it could possibly be used for resource distribution as well (But i think Xanadu got that covered, not seen many complain about not enough resources)
 
Please bear with me as I am going to make a lot of assumptions (I am not a game developer :D)
 
My assumptions:
 
1) I assume that the database stores the coordinate locations of each and every AI (mob) in the game and also is connected to other various databases which set its characteristics, such as what type of mob it is, how alert it is, aggro range, health, difficulty, strength yada yada yada
 
2) I assume it is possible to create a selection of AI(mobs) within the database using SQL or another form of database querying language.
 
3) I assume you also store in the database, the location (coordinates) of every player in the game upon maintenance downtime (as this will be needed within the query)
 
 
My idea:
 
With GIS you can link your GIS software up to any database, whether that be a spatial database or a non-spatial database. So for the techies, an example of that would be QGIS (Free GIS software) with a PostgreSQL database, or even better a PostGIS database.
 
So now to the meat of the idea...
 
Basically something like this....
 
  
 Wurm_Distribution_GIS.jpg

 

This way you will be able to visually explore the problems with mob distribution as well as calculate a certain buffer zone from players in which you will not affect the mobs that are in that area (so If i saw a spider near me yesterday, it should be there or roaming after the maintenance) 
 
However in areas where there are no active players then these mobs can be selected with SQL and redistributed into blank areas in the map on each maintenance break.
 
Effectively this is what happens:
 
1) Use geographic processing to query a selection of mobs within player zones to be unaffected, unless a player has more than 10-20 (random number) of a specific mob in his/her vicinity.
2) Create another buffer around the player zone which is bigger than the zone by a factor of 3 (random number) and count the number of hostile and non-hostile mobs, if the count is not sufficient then redistribute the selected mobs (from point 1) to these areas around players
3) Possible exceptions around start villages giving them less of a mob count to be considered a redistribution zone.
 
 
Ta da. Mob redistribution using GIS.
 
Comment please.

  • Like 5

Share this post


Link to post
Share on other sites

Smart and well explained. Not sure how it is handled right now, but if implementing something like this is possible, it sure seems like a neat idea. Although I would miss the areas where settling down and leveling up lower level characters who have to run from any kind of mob is possible, so it's a -1 from me. Having monsters everywhere just kind of seems a little bit too tough for the game where you lose everything you got if you don't manage to survive. I feel like PvP servers have enough mobs already, and PvE servers don't necessarily need more in general, only in some areas.


Share this post


Link to post
Share on other sites

Smart and well explained. Not sure how it is handled right now, but if implementing something like this is possible, it sure seems like a neat idea. Although I would miss the areas where settling down and leveling up lower level characters who have to run from any kind of mob is possible, so it's a -1 from me. Having monsters everywhere just kind of seems a little bit too tough for the game where you lose everything you got if you don't manage to survive. I feel like PvP servers have enough mobs already, and PvE servers don't necessarily need more in general, only in some areas.

Fair point.

 

Where distribution is not required then there's no need to change anything. Because it works.

 

However in Xanadu it is clearly not working... in my opinion of not seeing a mob for at least 3-4 game tiles. 

Share this post


Link to post
Share on other sites

Yea I agree that there are barely any mobs in Xanadu. It depends on where you are looking though. Some hills are full of them, but mostly there is nothing else around. So yes, Xanadu could use an overhaul.


Share this post


Link to post
Share on other sites

ErickN made a tool to look at mob distribution some time back iirc.( I think it was Erick that made it.) At any rate they are supposed to be looking at and monitoring mob distribution.

  • Like 1

Share this post


Link to post
Share on other sites

Very thought out, I can see this as a useful tool for the devs to not only fix certain distribution errors, but also manage mobs more efficiently. 


  • Like 1

Share this post


Link to post
Share on other sites

In certain areas of Xan even un deeded for many tiles no more than 1-2 mobs as far as the eye can see. This could certainly use some help.


Share this post


Link to post
Share on other sites

Makes far too much sense. Ergo, it'll never happen. :P


 


It SHOULD, though. :wub:


  • Like 1

Share this post


Link to post
Share on other sites

++1


I'm excited to see this suggestion come up.  As an urban planner myself, i've used GIS and it's application in the realm of spatial analysis.  It is powerful and efficient.  I believe ErikN had made a forum post discussion, giving us a glimpse of something he was working on to solve the Mob distribution particularly on Xanadu at one time and would likely be interested in seeing what you have in mind.  


 


As you and I have talked about this some, I am glad to see you putting forth your ideas and suggestions for us all to think about in hopes Rolf and the Dev Team will see this idea as well and examine it more closely as a potential tool to resolve mob distribution/redistribution.  Nicely done Kammerz!!!!!


Edited by Bloodscythe

Share this post


Link to post
Share on other sites

You mean like this?


 


creatures.png


 


 


One of Johan's weekly updates showed a test server map which displayed the location of horses, sea creatures, and other mobs which was being used to study the mob distribution. This analysis wasn't applied to Xanadu, of course, possibly because Xanadu is too big to efficiently use as a model. As I understand, this is a fairly early on in the experiment, but you can already see some anomalies: in the centereast, there's a mysterious vertical line of mobs, and in the center west coast, there's a bunch of mobs stuck on a cliffside.


 


The real question, of course, is whether we will see anything come of this research.


 


Here's the post: http://forum.wurmonline.com/index.php?/topic/109208-news-update-work-and-progress-week-35/


Edited by LaRue
  • Like 1

Share this post


Link to post
Share on other sites

The fundamental idea behind this is great. Although, I disagree with its application.


 


I would use a kill count GIS system.


- In areas where there are lots of killings going on its clear evidence of player demand for stuff to hunt.


- Areas with little hunting and possibly lots of NPC killing is clear evidence there is little demand for hunting targets.


 


With this information Wurm could make density maps that show kill count concentration. Finally, the last stop would be to take the density maps and convert them to alteration of spawn probability for the areas.


 


Wurm should its resources efficiently to supply (spawn mobs) the demand (players seeking out hunting).


 


 


 


Another interesting idea is deed influence. It is a GIS type data analysis problem.


 


Basicly deeds would radiate out a decaying influence that pushes away certain types of mobs. The type of mob would depend on how the deed mayor configures the deed. By default areas far away from any deed would be very dangerous. If a deed mayor chooses the highest danger influence it would be like the deed is not there as far as mob pathing goes.


 


For the mobs, Wurm could buff and nerf movement depending on origin to destination and if there are differences in zone influence. A mob going from a preferred zone to a undesirable one would nerf movement and the severity of the nerf is explained by the difference in zone influences. Likewise if a mob is going from undesirable to prefered it would get a buff. Preferred to preferred would be unalter. This would over time cause the various types of mobs to congregate in areas that correspond to what the players do with their deeds. It would be dynamic and change as player create and disband deed or change their deed influence settings.


 


  • Like 1

Share this post


Link to post
Share on other sites

double post.


Edited by joedobo

Share this post


Link to post
Share on other sites

I'd wager this is well above the abilities of the devs to program. With how long it takes them to implement comparitively rudimentary things like bridges when we already have multistory code, a whole new system for something nowhere near as major seems unlikely


Share this post


Link to post
Share on other sites

Hmmm GIS at this basic form is not difficult and the work they already do is far more complex than GI Analysis (imo). If the Devs are reading this then please leave me a PM! I'll be happy to do some consultancy work on this or even test it on a small extract of data to prove the theory. 


 


:)


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