Changes to monster spawning (Complete)

@glyph: why do you want to get rid of dynamic spawns? is there some kind of limitation in how its coded? I kind of like this.

About packs. for certain packs (ants/spiders/bees/fungaloids) how about the spawns grow if they are not whittled down? remember the algorithm that most people have to code in freshman computer science? I forget which series it is, but it represents bunnie birth rates. its something like this

1+1+3+… plus what ever?

some mobs can spawn close to that. makes the game more challenging and adds an element of tension. right now survivors have alot of free time. they can leisurely train and get stronger. if you add elements like this, you have to pick what you want to work on because time also leads to the game getting harder. adds an element of stress and more strategy. This would be appropriate for certain mobs.

eventually id like to see more logic in mobs so some mobs fight each other. There is a terrific Skyrim Mod called ‘skytest’ that I have discussed before. you might want to look at that to get ideas about animal/mob logic.

[quote=“Kevin Granade, post:18, topic:3530”]Actually that’s really easy, you just make them want to follow each other with a low priority, so if one of them spots the player and wanders over, the others will follow, since they can see the first one, THEN they’ll get pulled to where they can see the player and go on the attack.

I’m planning on making this happen a little bit with zombies by making them be silent when they’re standing around, but moan or growl sometimes when they’re going after a target. The noise will attract others just a little bit, so they’ll pack up, but only a little bit. With wolves it would make sense for them to move closer to another wolf any time they’re further away than some threshold and not otherwise occupied. You could still maybe pull the pack by distracting them from two directions at once, but it’s be quite difficult.[/quote]

how hard would it be to enhance this a bit. if you just ‘pull’ then you can still pretty easily spread them out. having zombies 3 squares a part is a good strategy cause you can often take them out one at a time. however, if they will ‘attract’ each other. it would be smart for them to wait for others to catch up if they get beyond a certain distance and this way they will be right next to each other.

5 zombies that are all right next to each that you can’t really pick off 1 at a time in melee is much harder than if they are spread out by a few blocks each.

time of day and seasonal conditions have been added and tested

looking good

Something that combine all advantages of both static and dynamic spawn mode? Sounds awesome to me :slight_smile: I hope eventually the game will have a stealth element to it, like sneaking around zombie, manage your scent/noise, making distractions, …

Noisy Zombies
That’s not a terrible idea, we could just base the chance to make noise on health level, have to think about it.

Dynamic Spawns
I know you addressed this to GlyphGryph, but here are my reasons.

  1. A fundamental assumption of dynamic spawn as it exists right now is that monsters will spawn within your field of view, therefore automatically ambushing you. This is fundamentally unfair, and to me completely intolerable. This will be even worse when we add stealth mechanics, because it would totally negate them.
  2. The implementation is a terrible accretion of intended and unintended changes that have accumulated over time, it’s nearly incomprehensible at this point.
  3. The concept of “spawning” creatures on-demand in reaction to the player’s presence and actions is absurdly game-y. In my mind the game world is completely indifferent to your presence.

Geometric Progression
We’re planning on doing something similar to this, though the thing the “programming 101” version leaves out is that you have multiple interrelated populations, all the way down to plants and insects, so it’s actually quite complicated to model properly. A decent approximation shouldn’t be too much trouble though.

Clumpy Zombies
For enemies exibiting some intelegence this would be reasonable, but for zombies it isn’t really right, they aren’t smart enough to wait for each other. For e.g. a wolf pack the lead wolves might slow down to wait for the rest of the pack to catch up.

[quote=“Kevin Granade, post:26, topic:3530”]Dynamic Spawns
I know you addressed this to GlyphGryph, but here are my reasons.

  1. A fundamental assumption of dynamic spawn as it exists right now is that monsters will spawn within your field of view, therefore automatically ambushing you. This is fundamentally unfair, and to me completely intolerable. This will be even worse when we add stealth mechanics, because it would totally negate them.
  2. The implementation is a terrible accretion of intended and unintended changes that have accumulated over time, it’s nearly incomprehensible at this point.
  3. The concept of “spawning” creatures on-demand in reaction to the player’s presence and actions is absurdly game-y. In my mind the game world is completely indifferent to your presence.[/quote]

These are the exact reasons I always play with static spawns, having zombies appear when you make noise just seems far too game-y and for me the whole point is to have an indifferent world which just goes on without you (which would be great if in later versions it was taken to an extreme, with severe deterioration of everything after several months) which dynamic spawns negate.

However, at the moment, i’ve been going for about two weeks and only seen one or two zombie dogs (running classic) as I’ve been being careful and kept out of the way. Perhaps if they could be pulled closer by very loud noises (explosions/building stuff) or as is often mentioned, roving hordes (or even small groups) that’d mean you couldn’t just sit around and tank up in the wilderness and then obliterate cities.

I usually play with Static Spawns but lately I’ve been trying to play with Dynamic spawns because I feel it’s too safe to clear the area in my reality bubble in a city and boom, SECURE. It’s too easy… And then Dynamic spawns is too hard XDD

Gawd I can’t wait till this change is done XD

I am not removing dynamic spawns

Some people seem to have gotten a bit confused - no large scale changes to spawning will occur in this thread. Eventually we want to replace localized dynamic spawning with a mobile globalized version or something similar, but these particular changes will keep no matter how that is handled. This isn’t actually removing dynamic spawn, it’s just changing the way it’s handled to make it significantly more interesting.

As of now, everything I’ve got planned and have implemented can work in both static and dynamic mode (the spawn conditions won’t effect static, because that would be dumb, but they can if we decide we want them to pretty trivially as the only thing preventing it is that we haven’t added any conditions to the static spawn group data files).

Note: Don’t add conditions to the static spawn group data! Since everything is spawned at game start, that’s when the conditions will apply!

The spawn delay stuff is in PR, and that’s the last bit, so this can now be considered “done”.

very impressive glyph.

Not particularly, it was a pretty simple and straightforward project that introduced what is likely an overall subtle change.

May I speak for the community: We appreciate any work done by you dedicated developers toward the game, no matter how trivial - A heartfelt thank you!

A though for future consideration: Temperature and weather based spawning. Giant slugs/worms during rain and variable rates of snakes/reptiles depending on temperature.

Otherwise, good job.

That’s a good point, also giant worms when it rains, because, yea that’s just damn funny.

FYI this is all in the latest experimental, you can see the time-based progress by setting your starting season to something other than spring. Although that’s probably not exactly what we want setting the season to do.

Yeah, “weather based” conditions were on the “maybe” list, but it’s a bit more difficult overall. If I go back to working on this with expanded aims, I’ll probably do that, make some adjustments to pack density, spend some time tweaking how the system handles time for delayed spawns (although the current setup is nice from the perspective of debugging), and the stuff I really want to do: Make time delay based on the spawning region - so if a new triffid or fungal area appears, the time delay means it will have to exist for a while before you see the tougher monsters, even if you yourself have already been playing a while. This would also fix the other spawns, since most spawn regions would be created at “game start”.

But all of that is pretty low benefit for a good deal more work, so it probably won’t happen any time soon. And the jsons are already getting complicated enough that we’re going to need the json editor to have special case code to handle it effectively (unless you want to spend time working with spreadsheets and calculators or working it out manually like I’ve been doing). Luckily, the exact details aren’t nearly as important as the general feeling that things are changing over time.

Ideally we could have a “decay” and “build” entry that would have monster types become more or less frequent over time instead of making it happen with multiple thresholds.

Also a good (but more difficult) thing to consider.

I might be doing something wrong, but “pack_size” seem to be not working.

[spoiler]

I increased spawn frequency on purpose of testing:

{ "monster" : "mon_bat", "freq" : 250, "cost_multiplier" : 1, "pack_size" : [1,8], "conditions" : ["TWILIGHT", "SPRING"] }, { "monster" : "mon_bat", "freq" : 250, "cost_multiplier" : 1, "pack_size" : [1,8], "conditions" : ["TWILIGHT", "SUMMER"] }, { "monster" : "mon_bat", "freq" : 250, "cost_multiplier" : 1, "pack_size" : [1,8], "conditions" : ["TWILIGHT", "AUTUMN"] }, { "monster" : "mon_bat", "freq" : 125, "cost_multiplier" : 1, "pack_size" : [1,8], "conditions" : ["NIGHT", "SPRING"] }, { "monster" : "mon_bat", "freq" : 125, "cost_multiplier" : 1, "pack_size" : [1,8], "conditions" : ["NIGHT", "SUMMER"] }, { "monster" : "mon_bat", "freq" : 125, "cost_multiplier" : 1, "pack_size" : [1,8], "conditions" : ["NIGHT", "AUTUMN"] },[/spoiler]

…and there’s that brilliant project called “Sil” (did anyone mention Angband?) that has an advanced pack-behavior gearup… There are scouts that behave like scouts, leaders that want to kill you themselves, and selfworthy squads that tend to like the occasional knife in the dark and an arrow in the back. Everything but the mindless undead should behave this way. Just imagine a pack of feral dogs acting this way, since you’re new in town…