Re: Evolution in the Mobs?
Posted: Tue Nov 01, 2005 11:35 am
Seen a *huge* herd of bodocs spawn, but I must admit this more looked like a triple spawn then anything else, small AI-server hickupmarct wrote:I for one would love to see herds get enormously large due to the fact that no one has thinned them down. Imagine seeming a herd of 400 Bodocs. And if their socialness extended to attacking Aggro.

Yes, growing herds would be great, as the carnivores in the region would gain more food and grow in numbers, thus thinning the herd beyond the part where this herd can support the aggro. Then the carnivore population grows smaller allowing the herbivores to grow in size.
Groups of herbivores attacking aggro... Why not make it so that an area has a certain amount of food in one place and another amount in another place. This would cause migration but when a herd learned to attack other animals, why not kill the another herd (bodocs vs yelks) to get the limited amount of food? This is a *possible* result in evolving groupactions.
The first I can think of a way to implement not too difficult.
SET spawn_location = Fount_01
SET herd_spawn_type = bodoc
SET herd_spawn_level = 100
SET herd_spawn_number = 15
SET herd_spawn_evolve = yes
SET herd_max_size = 50
This is theory ofc, but would say that a group of 15 Bodocs, 1* would spawn somewhere in Fount. The exact amount of basic/fine bodocs is a know balance set in another configfile.
This is the spawn of a herd at the startup of the AI server. I could think of other things I would like to set, but or the evolution, these are okee to start with.
Now let's add some rules.
IF herd_size = 0
THEN SET herd_spawn_number = (herd_spawn_number - 1)
IF herd_spawn_number = 0
THEN SET herd_spawn_location = (herd_spawn_location + 1) \\needs a loop
(also add some rule that will make the herd grow with one every x amount of seconds)
These rules could not act alone, something similar for carnivores:
IF herd_size = 0
THEN SET herd_spawn_number = (herd_spawn_number - 1)
IF herd_spawn_number = 0
THEN SET herd_spawn_location = (herd_spawn_location + 1) \\needs a loop
(also add some rule that a carnivore needs to fight a herbore (or homin) every x amount of seconds or it dies.)
(also add a rule that if within a certain timeframe of y seconds, an z amount of carnivores (min 2) fought a carnivore and lived, a carnivore is spawned and the herd_spawn_number goes up by one)
Now the migration rules would include that moving to another herd_spawn_location would SET this location, we would see carnivores popping up near the new location of the herds. Migration area's would include a region (a group of spawnlocations).
I think this could be CPU demanding, but programmed well would make for a living world feeling for sure.
"Anyone seen the bodocs recently?"
"They moved on, no idea where they went."
"I can understand, look at all these kinchers!"
"Well, they ate all the bodocs and will starve soon."
"Help me put them out of their misery then."
"Gladly!" *evil grin*
btw: this would also require all carnivores attacking all herbivores. And a group of hungry ragusses attacking mobs they cannot handle will indeed starve and spawn in another place to try again.