• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

Question About Wandering Horde Wrap Around

JaxTeller718

Survivor
In the gamestages.xml I see Wandering hordes are tagged with a gamestage. The help text states this:

Code:
		<!-- These will wrap around at 50. -->
A typical wandering horde looks like this in my xml

Code:
	<gamestage stage="01">
		<spawn group="ZombiesFirstLineOfDefense" num="15" maxAlive="10" duration="09" />
		<spawn group="scoutHordeStageGS1" num="15" maxAlive="30" duration="09" />
	</gamestage>
I was interested in whether or not we can "gamestage" these to reflect you in game gamestage instead of having them wrap. For example can i do this

Code:
	<gamestage stage="01">
		<spawn group="ZombiesFirstLineOfDefense" num="15" maxAlive="10" duration="09" />
		<spawn group="scoutHordeStageGS1" num="15" maxAlive="30" duration="09" />
	</gamestage>

	<gamestage stage="200">
		<spawn group="ZombiesFirstLineOfDefense" num="15" maxAlive="10" duration="09" />
		<spawn group="scoutHordeStageGS1" num="15" maxAlive="30" duration="09" />
	</gamestage>

	<gamestage stage="400">
		<spawn group="ZombiesFirstLineOfDefense" num="15" maxAlive="10" duration="09" />
		<spawn group="scoutHordeStageGS1" num="15" maxAlive="30" duration="09" />
	</gamestage>
and if i did would it actually reflect that in game, or is it hard coded to just wrap around and changing that gamestage number does not actually impact the wandering hordes you get by the gamestage you have in game. Wanted to create harder wandering hordes as gamestages increase.

Would be wonderful if i could get Gazz' input on this :)

 
Sorry, it just wraps around and around and...

We were THIS close to not having wandering hordes at all (long story) but I came up with this relatively easy hack to get something of the sort going.

 
Sorry, it just wraps around and around and...
We were THIS close to not having wandering hordes at all (long story) but I came up with this relatively easy hack to get something of the sort going.
Thanks Gazz. People will just have to accept they may get a feral radiated Biker on day three :D

That sounds like a story best served with a pint :o

Also interested in what dream above asked. Is it hardcoded... and if so any cool tricks to possibly extend it, maybe not by gamestage but maybe to a higher number for more variation?

 
Code:
//AIWanderingHordeSpawner
this.KZ.ResetPartyLevel(50);

...

// AIDirectorGameStagePartySpawner
public void ResetPartyLevel(int mod = 0)

...

if (mod != 0)
{
 num %= mod;
}
- - - Updated - - -

Try a patchscript to edit that number in the AIWanderingHordeSpawner constructor

Set it to 0 to disable the wrap

 
We did consider making it scale strictly with GS but when player progression slows down you'd get the exact same horde over and over. Meh.

We (the coder and I =) did go with the simplest and safest approach. It was too late to open any new cans of worms.

The next better version would have been to have a larger list, say up to 500,

it still wraps around but with an offset based on your GS so

at low GS it wraps 1-50 over and over and at a higher GS it wraps 350-400 and so on.

The wrapping mechanic itself is useful. You may only have to add an offset.

That guarantees some variety at every GS but lets you ramp up overall difficulty.

Or you do something entirely different... I heard that's what modders do. ;)

 
Code:
//AIWanderingHordeSpawner
this.KZ.ResetPartyLevel(50);

...

// AIDirectorGameStagePartySpawner
public void ResetPartyLevel(int mod = 0)

...

if (mod != 0)
{
 num %= mod;
}
- - - Updated - - -

Try a patchscript to edit that number in the AIWanderingHordeSpawner constructor

Set it to 0 to disable the wrap
He just looked into the code...as if it is .xml...That's cool!

Thanks ! :)

 
Last edited by a moderator:
We did consider making it scale strictly with GS but when player progression slows down you'd get the exact same horde over and over. Meh.
this is my concern with GS in sleeper variety currently. there comes a point where you just sigh because ferals are now the normal, and you're more surprised when you get a mundane zombie to spawn.

would prefer to NEVER be sure what i'm getting in a building crawl.

 
To keep up the variety, you can always add more variety to the mix. Add more late game zombies, with a variety of abilities, to keep things fresh.

Barring that, you can change the probabilities in the sleeper hordes so that ferals don't eventually overtake normal zombies in probability. At current, the odds of the higher level zombies showing up starts low once they are added to the mix(around 20% of the chance of a normal) and eventually become about twice as likely. This can be fiddled with via the spreadsheet of doom.

 
I found that for sleepers you can have FAR bigger groups at each level. Not so good for horde nights where you want to minimize the variety for fps. But with sleepers, it really doesnt matter if you have 50 different zombies in one group and use that group for 50-100 gamestage range of spawns, and just adjust the quantity as it goes up.

 
Good point. It certainly makes a lot of sense to just have a wide selection for sleepers if you are going to try to write out the GS stages by hand when adding new zombies. For to not have endless sadness, headaches and misery. :p But one doesn't really need to once they have worked out the kinks of Gazz's Grand Gamestage Spreadsheet Of Doom. :p

 
Back
Top