Author Topic: Dynamic Tribe Behavior  (Read 113 times)

tman

  • Hydlaa Citizen
  • *
  • Posts: 385
    • View Profile
Dynamic Tribe Behavior
« on: August 13, 2013, 02:51:21 am »
With all the recent progress on monster AI, I had an idea I thought would be cool.  What if the server kept track of how many of a given monster type were killed recently, and their behavior was influenced by recent kill counts?

For example, let's say there's a tribe of ulbernauts along the road.  If nobody has been killing them in while to keep their numbers in check, they may spread out and roam a greater area looking for food.  They may be more aggressive to passers-by, and their respawn rate might be faster (to account for there being "more" of them).  However, if a group of hunters go out and kill a bunch of them over time, they may retreat to a smaller area of the map further from the road, they may take a more defensive stance against those passing by, and they may take more time to respawn (because there are "fewer" of them).  Other creatures might have different behavior (for example, if they are hunted they may retreat to a small area, but become more aggressive and territorial).  Kill counts could be calculated relative to all kills in a given time frame, to prevent all monsters spreading out during times of low player count and retreating in times of high player count.

This could even lead to sort of dynamic quests, in which guards might tell you they hear rumors of a certain monster type becoming more aggressive lately, and pay some bounty for each one killed or certain parts recovered.  Packs of hunters might be assembled to combat the threats and keep the roads safe.

Overall this would make the game world feel less static and more like a living, changing place.

Thoughts?
You can't teach a pig to sing.  It'll never work, and you'll annoy the pig.

Eonwind

  • Developers
  • Hydlaa Notable
  • *
  • Posts: 815
    • View Profile
Re: Dynamic Tribe Behavior
« Reply #1 on: August 13, 2013, 04:10:35 am »
The tribe code is already able to breed new tribe's members but actually this function is limited by keeping the maximum tribesman number equal to the original number of tribe members, the problem here is new members are added to the same DB table like characters thus creating some trouble with data syncing. We would need a system to create copies (instances) of original members instead of whole new DB entry.