Increase special zombie spawn

loving the increase in zombie spawns. have one game where Im up to 30x(started at 4x and upped it as the game went on). im under constant attack. its GREAT.
i think the ‘special zombies’ spawn as a percentage of total spawns or total zombies?

how about an option to jack up the special zombies?

2 other notes

  1. did you guys lower the zombie necromancer spawns? I cant remember the last time I saw one. I thought about posting a bug on this
  2. special zombies should have a higher chance of random drops on top of just cloths. It appears that zombies generally drop some kind of ripped cloths then have a small chance of a random drop. special zombies should have a higher chance of dropping other stuff so there is incentive to try to get yourself killed other than ‘losing is fun’.

We reworked the spawning system a while back (er. 0.5 I think?), at which point masters, necromancers, and hulks were all dropped to 0.1% of the spawn each, in other words 1/1000. There might be a bug with this, because that means an average screenfull of zombies in 30x should have about three of each… I know I’ve run across all of them when testing with high spawns, but they do seem to be exceptionally rare.

You can adjust ratios of different zombies already by poking at data/raw/monstergroups.json (will be moving to data/json/monstergroups.json at some point).
An entry looks like:
{ “monster” : “mon_zombie_necro”, “freq” : 1, “multiplier” : 25 },
and adjusting the number after “freq” will adjust the ratio of that zombie.
In each group, there are 1,000 “points” that you spread around to the various members of the group, and any “points” left over will go to the “default” monster.
“multiplier” means that when that monster does spawn, it counts extra compared to the default, so for example if 50 zombies are going to spawn in a particular square, each regular zombie counts for one, and necros count for 25, etc. This is intended to keep things relatively balanced when you mess around with the ratios, if you make there be more necros, hulks, etc, it means less zombies will spawn overall.

I should add I still absolutely dislike the the multiplier mechanic - especially in regards to necromancers and masters, who only actually matter if they have a bunch of other zombies around.

I also suspect this might have something to do with why they seem to spawn so rarely - If you’ve got thirty zombies, do you really have thirty chances to span a necromancer? Or does it mean a necromancer check is only even made for the first 5? (I honestly don’t know).

fighting giant wars against necromancers and masters used to be one of the funnest things in the game. now i cant find any necromancers, or hulks, or masters.
my current thoughts on specials:
there arent nearly enough hulks, masters, and necros.
there are about the right amount of grabbers, shockers, spitters, and boomers.
there are way too many swimmers.

If the mapgen decides to spawn 30 zombies, you do indeed get roughly 30 chances to spawn a necromancer (probably somewhere in the ballpark of 25), but if you do spawn one, it’ll wipe out the balance of zombies.

What it does is:
pick a number of monsters
while number of monsters greater than 0:
pick a monster
subtract monster multiplier from number of monsters

Feel free to propose another system that allows us to arbitrarally turn spawning of different monsters on and off and keep roughly the same level of danger, that’s what the multiplier is intended to address, e.g. for classic zombie mode (in which case you’ll actually get 30 zombies instead of roughly 25 and a special)

I think the big problem here actually lies in the frequency, not the multipliers. The game doesn’t actually do a “X in Y” (where X = the frequency and Y = the sum of frequencies); what it actually does is “X in 1000”, where the “default” monster automatically fills up the extra spots. This means that out of the many spawns that happen, only 1 out of 1000 spawns will be a necro, master, or hulk (as compared to most specials which have a 30/1000, 50/1000, or 70/1000 chance of happening).

I’d vote for a switch to a true “X in Y” system. It only requires one additional pass per list and while the math for finding an exact percentage of something spawning is a little harder, it becomes much more easy to give relative spawn rates (i.e. a hulk is X times less likely to spawn then a zombie). With a little rework on loading you could probably even take out that extra pass by creating a new list with spawn “ranges” for each monster, and a saved total on JSON load, keeping the amount of passes when actually spawning things the same.

Another small rework logic that might be done is to always add the multiplier, regardless of if its positive or negative. Then you could give some monsters such as necros the ability to actually increase the spawn size near them (probably with a maximum cap, something like 2x the original spawn group size).