Spawn system

Just like yours Marathon, sorry, pills are having an effect on me from the pain, sorry.

No problem. :)

The iTurn setting is a bit faster on the XML in SVN right now compared to what I've been tweaking. You may happen to have a lot of bonuses that they are spawning from and with the "density" setting you may be spawning them every turn from those bonuses.

I'll push the spawn file I've tested later today. Even on Raging I don't get tile to tile Neanderthals.
 
No problem. :)

The iTurn setting is a bit faster on the XML in SVN right now compared to what I've been tweaking. You may happen to have a lot of bonuses that they are spawning from and with the "density" setting you may be spawning them every turn from those bonuses.

I'll push the spawn file I've tested later today. Even on Raging I don't get tile to tile Neanderthals.

OH, yeah thats correct, i forgot i have TONs and TONs of bonuses all over this map, its the way I made it, DUH!!.:blush:
 
I have been working with the animal spawning numbers to ensure some barbarians do spawn in the old fashioned way. The last update is the one I think is about right but I did not check it for Neanderthals or Raging Barbarians. Earlier spawn rates gave more animals so there was no room for barbarians to spawn.

Which reminds me, I need to convert all those 100% to ANIMAL_SPAWN_MODIFIER. Kashling is there anything special that needs to be done beyond adding it to the A_New_Dawn_GlobalDefines.xml file?
 
I have been working with the animal spawning numbers to ensure some barbarians do spawn in the old fashioned way. The last update is the one I think is about right but I did not check it for Neanderthals or Raging Barbarians. Earlier spawn rates gave more animals so there was no room for barbarians to spawn.

I haven't touched the animal spawning, only the Neanderthal spawn values in the Neanderthal folder. But in my games I've had a very good mix of animals as well. And the density is pretty good across the entire Huge map.

It may be, DH, that you don't need to tweak the animals too much once a more refined Neanderthal spawn is used.
 
I haven't touched the animal spawning, only the Neanderthal spawn values in the Neanderthal folder. But in my games I've had a very good mix of animals as well. And the density is pretty good across the entire Huge map.

It may be, DH, that you don't need to tweak the animals too much once a more refined Neanderthal spawn is used.

The Crocodiles (river and salt water) are the only ones I am still working actively on.
 
The Crocodiles (river and salt water) are the only ones I am still working actively on.

I really like the increasing variety of animals in the early game. Including (especially?) the Alternate Timeline wild animals. It's also nice to see more in the ocean, even though I tend to prefer maps with less water.
 
I got a solution to the spawn cluster issue and the order of spawn checks thing... for every X number of a unit on a map add +1 to the area size check that type of unit from each spawn point. That way you will have high density spawn clusters increasingly negated until only the ones that haven't produced any of that unit are viable candidates to spawn that type of unit.
 
It is possible now to use iGlobalTurns in the spawn system (the new schema needs to be copied to the respective modules though). If there are 100 plots that can spawn the unit then a iGlobalTurns of 5 means that on one of the plots a unit will spawn on average every 500 turns which means that on average every 5 turns a unit will spawn somewhere in the world.
iGlobalTurns can be used in combination with iTurns.
Spawn plot number and chances are logged to ANewDawn.log.
 
It is possible now to use iGlobalTurns in the spawn system (the new schema needs to be copied to the respective modules though). If there are 100 plots that can spawn the unit then a iGlobalTurns of 5 means that on one of the plots a unit will spawn on average every 500 turns which means that on average every 5 turns a unit will spawn somewhere in the world.
iGlobalTurns can be used in combination with iTurns.
Spawn plot number and chances are logged to ANewDawn.log.

@AiAndy

Would it be difficult to create a MaximumGlobal value for the spawns? The density ones are great for pacing, but in the case where animals, neanderthals, or barbs aren't being regularly killed, it seems they just keep building up. They may spawn in area X but then move to area Y (usually near an AI/Player city), which means more can spawn in area X again.

In my game on Raging it went fine because they would attack the cities and die (when the city is defended well enough) so that kept the overall pop down. But with Raging off, since they don't attack cities, someone else said the units just pile up.

The value would need to be map size scaling, or have separate values for each size.
 
@AiAndy

Would it be difficult to create a MaximumGlobal value for the spawns? The density ones are great for pacing, but in the case where animals, neanderthals, or barbs aren't being regularly killed, it seems they just keep building up. They may spawn in area X but then move to area Y (usually near an AI/Player city), which means more can spawn in area X again.

In my game on Raging it went fine because they would attack the cities and die (when the city is defended well enough) so that kept the overall pop down. But with Raging off, since they don't attack cities, someone else said the units just pile up.

The value would need to be map size scaling, or have separate values for each size.
Hmm, something easy to do would be a maximum density in the area for the barbarian player after which the spawn rule would be ignored for those plots.
The number of units of each player is already tracked so that is rather easy and cheap compared to counting all the units of the specific spawn type in each area or global (although that is not that hard either).
 
Hmm, something easy to do would be a maximum density in the area for the barbarian player after which the spawn rule would be ignored for those plots.
The number of units of each player is already tracked so that is rather easy and cheap compared to counting all the units of the specific spawn type in each area or global (although that is not that hard either).

Max area density seems right given the things people are having issues with (which are basically down to either a (un)lucky density of spawn resources, or an unoccupied landmass that just has the entire spawn period unchallenged)
 
Max area density seems right given the things people are having issues with (which are basically down to either a (un)lucky density of spawn resources, or an unoccupied landmass that just has the entire spawn period unchallenged)

Currently the only issue I've seen for Neanderthals is their amassing along cultural borders, posted by Necrotoid. However, in his post it sounded like he is using stock v17, which may very well account for what he's seeing.

So for now unless people with SVN report similar issues, we can hold tight. How has Neanderthal spawning been for you guys?
 
Currently the only issue I've seen for Neanderthals is their amassing along cultural borders, posted by Necrotoid. However, in his post it sounded like he is using stock v17, which may very well account for what he's seeing.

So for now unless people with SVN report similar issues, we can hold tight. How has Neanderthal spawning been for you guys?
Already implemented iMaxAreaTotalDensity.
It can be used to deactivate a spawning rule when a specified density of barbarian units is exceeded in an area. Similar to the local density setting. Added it to SPAWN_BEAR_FOREST as an example.
 
Already implemented iMaxAreaTotalDensity.
It can be used to deactivate a spawning rule when a specified density of barbarian units is exceeded in an area. Similar to the local density setting. Added it to SPAWN_BEAR_FOREST as an example.

This applies to ALL barbarian units then? (i.e. any animal, neanderthal, regular barb?)

Same area range as local density? (49 tiles)
 
This applies to ALL barbarian units then? (i.e. any animal, neanderthal, regular barb?)

Same area range as local density? (49 tiles)

I'll let AIAndy confirm, but I suspect he is using 'area' in the sense the code does (has a class called cvArea), which means 'landmass'
 
I'll let AIAndy confirm, but I suspect he is using 'area' in the sense the code does (has a class called cvArea), which means 'landmass'
Indeed, an area is a continent, an island, a lake, the ocean. And the limit counts all units belonging to the barbarian player in the respective area which means neanderthals, animals and regular barbs.
 
Two things I would like but are can live without.

1) Initial spawn, on turn 11, to put a bunch of units on the map so you don't have to wait for units to spawn "naturally".

2) Spawn on terrain and not feature. Eg Bison spawn on plains but not in plains with forest.

I have asked this before but it got missed. How do I define a ANIMAL_SPAWN_MODIFIER which behaves like the NEANDERTHAL_SPAWN_MODIFIER does? Currently I have 100 everywhere where as it I could use ANIMAL_SPAWN_MODIFIER I could quickly see what effect a small change might have leading perhaps to some better numbers.
 
Two things I would like but are can live without.

1) Initial spawn, on turn 11, to put a bunch of units on the map so you don't have to wait for units to spawn "naturally".
You can do something similar by adding high spawning rate rules that are only active in the years around turn 11 (probably useful to use the area density limit also). Best also use a SPAWN_MODIFIER for those so you can easily adjust.

2) Spawn on terrain and not feature. Eg Bison spawn on plains but not in plains with forest.
That is what happens when you use a terrain instead of feature and featureterrain in the spawning rule.

I have asked this before but it got missed. How do I define a ANIMAL_SPAWN_MODIFIER which behaves like the NEANDERTHAL_SPAWN_MODIFIER does? Currently I have 100 everywhere where as it I could use ANIMAL_SPAWN_MODIFIER I could quickly see what effect a small change might have leading perhaps to some better numbers.
Add a global define with your new spawn modifier and reference it in the spawn rule.
 
Top Bottom