Faster Zombies via SwarmSpawner

Search, find and discuss about Mutators!
MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Faster Zombies via SwarmSpawner

Post by MrLoathsome » Tue Sep 22, 2015 3:25 pm

Way back when I did my update/rewrite of the TWT_Zombies I was focused on just fixing the broken code while
keeping the original authors and GoPostals "vision" of the zombies untouched.

Looking back, I should have added some more options for configuring them further.
I also should have documented what can be done with SwarmSpawner better...
(I SUCK at documenting things.)

However the handy SwarmSpawner mutator does provide a fix for that.

Instead of using the mutator supplied with the Zombies5 package, use SwarmSpawner to add the Zombies to your game.

This example SwarmSpawner.ini file shows how you can Tweak variables such as JumpZ, GroundSpeed, AccelRate, WaterSpeed etc.
to make the Zombies as fast as you want.

Code: Select all

[SwarmSpawn.SS]
;CheckRate=0.330
CheckRate=1.0
bDebugMode=False
bSpawnAtStart=False
bTrooperGunDrop=False
SwarmInfo[0]=(SwarmClass="Zombies5.TWT_ZombieNurse",Qty=1,SDS=2.0,SSet0=(SName="Jumpz",SVal="140"),SSet1=(SName="GroundSpeed",SVal="100.0"),SSet2=(SName="AccelRate",SVal="1900.0"),SSet3=(SName="WaterSpeed",SVal="160.0"))
SwarmInfo[1]=(SwarmClass="Zombies5.TWT_ZombieTraci",Qty=1,SDS=1.750,SSet0=(SName="Jumpz",SVal="160"),SSet1=(SName="GroundSpeed",SVal="200.0"),SSet2=(SName="AccelRate",SVal="2750.0"),SSet3=(SName="WaterSpeed",SVal="240.0"))
SwarmInfo[2]=(SwarmClass="Zombies5.TWT_ZombieTraci2",Qty=1,SDS=1.50,SSet0=(SName="Jumpz",SVal="180"),SSet1=(SName="GroundSpeed",SVal="300.0"),SSet2=(SName="AccelRate",SVal="3600.0"),SSet3=(SName="WaterSpeed",SVal="320.0"))
SwarmInfo[3]=(SwarmClass="Zombies5.TWT_ZombieTraje1",Qty=1,SDS=1.250,SSet0=(SName="Jumpz",SVal="280"),SSet1=(SName="GroundSpeed",SVal="300.0"))
SwarmInfo[4]=(SwarmClass="Zombies5.TWT_ZombieTraje2",Qty=1,SDS=1.0,SSet0=(SName="Jumpz",SVal="280"),SSet1=(SName="GroundSpeed",SVal="300.0"))
SwarmInfo[5]=(SwarmClass="Zombies5.TWT_ZombieTraje3",Qty=1,SDS=0.750,SSet0=(SName="Jumpz",SVal="280"),SSet1=(SName="GroundSpeed",SVal="300.0"))
SwarmInfo[6]=(SwarmClass="Zombies5.TWT_ZombieBalin",Qty=1,SDS=1.0,SSet0=(SName="Jumpz",SVal="180"),SSet1=(SName="GroundSpeed",SVal="400.0"))
SwarmInfo[7]=(SwarmClass="Zombies5.TWT_ZombieBalin02",Qty=1,SDS=1.0,SSet0=(SName="Jumpz",SVal="200"),SSet1=(SName="GroundSpeed",SVal="400.0"))
SwarmInfo[8]=(SwarmClass="Zombies5.TWT_ZombieBalin03",Qty=1,SDS=0.80,SSet0=(SName="Jumpz",SVal="220"),SSet1=(SName="GroundSpeed",SVal="400.0"))
SwarmInfo[9]=(SwarmClass="Zombies5.TWT_ZombieBalin04",Qty=1,SDS=0.80,SSet0=(SName="Jumpz",SVal="240"),SSet1=(SName="GroundSpeed",SVal="400.0"))
SwarmInfo[10]=(SwarmClass="Zombies5.TWT_ZombieBalin05",Qty=1,SDS=0.60,SSet0=(SName="Jumpz",SVal="260"),SSet1=(SName="GroundSpeed",SVal="400.0"))
SwarmInfo[11]=(SwarmClass="Zombies5.TWT_ZombieBalin06",Qty=1,SDS=0.60,SSet0=(SName="Jumpz",SVal="300"),SSet1=(SName="GroundSpeed",SVal="400.0"))
SwarmInfo[12]=(SwarmClass="Zombies5.TWT_ZombieGordo",Qty=1,SDS=1.250,SSet0=(SName="Jumpz",SVal="80"),SSet1=(SName="GroundSpeed",SVal="500.0"))
SwarmInfo[13]=(SwarmClass="Zombies5.TWT_ZombieGordo01",Qty=1,SDS=1.250,SSet0=(SName="Jumpz",SVal="100"),SSet1=(SName="GroundSpeed",SVal="550.0"))
SwarmInfo[14]=(SwarmClass="Zombies5.TWT_ZombieGordo02",Qty=1,SDS=1.0,SSet0=(SName="Jumpz",SVal="180"),SSet1=(SName="GroundSpeed",SVal="600.0"))
SwarmInfo[15]=(SwarmClass="Zombies5.TWT_ZombieGordo03",Qty=1,SDS=1.0,SSet0=(SName="Jumpz",SVal="280"),SSet1=(SName="GroundSpeed",SVal="650.0"))
SwarmInfo[16]=(SwarmClass="Zombies5.TWT_ZombieGordo04",Qty=1,SDS=0.750,SSet0=(SName="Jumpz",SVal="380"),SSet1=(SName="GroundSpeed",SVal="700.0"))
SwarmInfo[17]=(SwarmClass="Zombies5.TWT_ZombieGordo05",Qty=1,SDS=0.50,SSet0=(SName="Jumpz",SVal="480"),SSet1=(SName="GroundSpeed",SVal="750.0"))
SwarmInfo[18]=(SwarmClass="Zombies5.TWT_ZombieGordo06",Qty=1,SDS=0.330,SSet0=(SName="Jumpz",SVal="580"),SSet1=(SName="GroundSpeed",SVal="800.0"))
This ini will spawn one of each type of Zombie into your game, at a rate of 1 per second.
If you want more, adjust the value for the Qty= parameter.
The SDS= parameter sets the size of the zombes. (as a percentage of the default. 1.0)
Note all pawn defaults that need to be adjusted to scale the zombie from default values to the new size
are adjusted. Including Health. You can over-ride any of those adjustments by adding an additional SSet section to that SwarmInfo line in the ini.

The Zombie5 default values for the 3 variables tweaked in this ini are as follows:
Jumpz=120
GroundSpeed=50
WaterSpeed=80

More details on configuring the SwarmSpawner.ini file in the Readme.txt file for the mutator.

Download links at the top of these posts:

http://www.ecoop.tk/load/loathsomes_39_ ... 0/1-1-0-46
http://www.ecoop.tk/load/twt_zombies_up ... 5/1-1-0-44
blarg

User avatar
papercoffee
Godlike
Posts: 10133
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: Faster Zombies via SwarmSpawner

Post by papercoffee » Tue Sep 22, 2015 4:22 pm

Somehow did I hope for a possibility to enhance the amount of skins for the zombies to add more variety.
Some kind of random blood stain mutator would be fine :ironic:

MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: Faster Zombies via SwarmSpawner

Post by MrLoathsome » Wed Sep 23, 2015 12:19 am

Well I sort of suck at skins and models, so somebody else would need to make more of those.

It did occur to me while testing out the zombies with the faster movement settings, that it would
be cool to have new models for them all that have roller skates on their feet. :mrgreen:

Re: Random Blood Stain Mutator.

The MoreBlood RC7.5 mutator and the MoreGore LGE provide all the blood and
blood stain decals I need. MoreBlood even contains a version of DecalStay that
supports all the additional blood splats.
blarg

User avatar
papercoffee
Godlike
Posts: 10133
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: Faster Zombies via SwarmSpawner

Post by papercoffee » Wed Sep 23, 2015 1:34 am

MrLoathsome wrote:Re: Random Blood Stain Mutator.

The MoreBlood RC7.5 mutator and the MoreGore LGE provide all the blood and
blood stain decals I need. MoreBlood even contains a version of DecalStay that
supports all the additional blood splats.
Ah...no no ...I did mean for the zombie pawn skin.
The idea is every time a zombie spawns did it get random blood stains on its texture ...even so you have only a handful of skins would they be different. And you would gain more variety.
I don't even know if something like this would be possible to implement. But I can imagine some kind of overlay with masked textures.

MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: Faster Zombies via SwarmSpawner

Post by MrLoathsome » Wed Sep 23, 2015 3:34 am

That is an interesting idea.

I bet Mr. JackGriffin would have some insights regarding if that could be made to work.

He would be my 1st choice for adding roller skates to the zombies.
If anybody else did it, they would have to meet with his approval before I
released an update.
8)
blarg

JackGriffin
Godlike
Posts: 3767
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Faster Zombies via SwarmSpawner

Post by JackGriffin » Wed Sep 23, 2015 3:20 pm

If you want, I could make a photo-realistic skinned version. I stuck with cartoony because the original author felt that was best but I'm at a point now where I do what I feel like doing and as long as it doesn't step on someone's toes who is active then I'm pretty good with it.

It wouldn't be hard to create multiple faces, skins, etc and swap them randomly, much like choosing your skin happens in the setup. To be honest Loathe we should start a ground-up project with a zombie mod. We've rode this POS mod too much, it's time to do it right. Let me know.

BTW, drop me a line.
So long, and thanks for all the fish

MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: Faster Zombies via SwarmSpawner

Post by MrLoathsome » Thu Sep 24, 2015 3:26 am

Well after thinking on that for a bit, I would suggest that you just use the existing models and
the TWT_ZombiePawn source as a base for new Zombies.

SwarmSpawner does a better job of spawning them than the existing mutator anyway IMHO.

The only real advantage of using the Zombies mutator is that it makes an attempt to spawn
the zombies out of view of any players, but that feature is not crucial I don't think.
And it currently has a bug with that.

If you run it on a map that is just 1 big room, it will fail to spawn any zombies at all.....
Occasionally it will also spawn a few zombies that don't exactly find where the floor should be.

As far as I can tell so far SwarmSpawner has neither of those issues, although it will sometimes
spawn zombies very close to players.

Another reason that I might have wanted to update the Zombies mutator code itself would have been to
add more configurable options in the ini file.

But, SwarmSpawner can do that anyway, with the right ini file.
It can tweak most, if not all of the defaultproperties for the TWT_ZombiePawn class I think.

I can't tell if the AccelRate adjustment in that example ini is doing anything or not.
Does anybody know offhand what exactly that is supposed to do? Don't have the UT sources exported on this
PC, and I can't remember.

Have been testing with those example settings I posted earlier in this thread on the DOM server for a couple days now, and the change
in the zombies is pretty dramatic.
I used a wide range of values in those test settings, but the zombies in the middle of the ranges I picked, are quite agile.
They are chasing players around DM-HyperBlast, and making the jumps across the void onto the bow of the ship.

The ones with the higher JumpZ values, fly to the ceiling in low-grav maps when they jump and make a nice splat when they land.

Any thoughts?
blarg

User avatar
papercoffee
Godlike
Posts: 10133
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: Faster Zombies via SwarmSpawner

Post by papercoffee » Thu Sep 24, 2015 9:12 pm

My idea...
One basic skin with blood and gore (a skinless body + blood)
The normal texture with grey (dead) skin and clothes is an overlay with random masked spots which show the bloody base texture underneath it. If the zombie get shot with a big gun (RL, Flak, Shock-ball) at the torso for example more masked spots are added randomly.
Those masked spots work like a negative texture and subtracts from the overlay texture.
With this system do you get the most realistic and most disgusting gore effect on zombies ever.

And now crush my dreams and tell me that this is never gonna happen and won't work at all.

Edit--------------------------
Just ...never mind ...random blood stains on the zombies would be more than enough.

MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: Faster Zombies via SwarmSpawner

Post by MrLoathsome » Sat Sep 26, 2015 12:17 am

Some interesting ideas there...

How about a zombie with a chainsaw? That could get nasty. :twisted:

If Jack actually wants to re-visit the Zombies, I suppose I could setup a new
development folder and provide a bunch of new defaults in the ini file
that would allow for considerable adjustment of the zombies speed
and behavior etc. Update the spawning function a bit and fix the few
bugs I have found with the mutator included in Zombies5.
Just got to sorta merge some of the SwarmSpawner code with the thing
and tweak it a bit.

One of the things I would tweak, would be the internal WalkingSpeed
variable the ZombiePawns use. I can fix that I think, so there will be
no need for any models that actually have roller skates on them. :ironic2:

Having all these options in the new Zombies package, if it actually gets done, would
be much more user-friendly than using the SwarmSpawner.
SwarmSpawner is very powerful, but the configuration is a bit complex I suppose. :what:

? Has anyone attempted to use the example SwarmSpawner.ini file I posted in
this thread? Does anyone even use it at all?
blarg

JackGriffin
Godlike
Posts: 3767
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Faster Zombies via SwarmSpawner

Post by JackGriffin » Sat Sep 26, 2015 12:41 am

This brings up something that I briefly played with and considered at one time. EvilGrins had mentioned about making a true Godzilla and I thought at length about it. One idea to make it much more immersive is the same thing as bothered me about the super-size titans found in some MH maps: they need spot damage. If you shoot a leg then there ought to be blood on that leg. Hit the head and only the head gets bloody.

Anyway I don't have time to ramble, I'm getting ready to fix dinner but let me leave this here: it's certainly very possible to do specific damage on a monster. It would require some finesse and a pretty big monster file but yeah it can be done. I could create a zombie that you could shoot in the arm and the arm would bleed (only). It would get progressively more bloody and damaged as it took damage. You could even get totally crazy and design damage to fit the weapon. Hit it with energy and it burns the skin. Cut with a sword and it slices open and bleeds. Hit it with a flak shell and it bruises.

You want to saddle up and ride Loathe, I'm with ya. Let's give them a zombie that isn't like anything else they've ever seen. I'll make it cool and scary and functional, you make it work.

...but no fast zombies. I'm out if they are going to be fast zombies. This isn't 'The Racing Dead'...
So long, and thanks for all the fish

MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: Faster Zombies via SwarmSpawner

Post by MrLoathsome » Sat Sep 26, 2015 12:49 am

I like that idea.

How about this... Suppose if you shoot the arm, the arm gibs and the rest of the zombie is still there.
Zombie health goes down a bit.
Same with a leg. (Would need a hopping on 1 leg anim. :omfg: )

Re: The Zombie speed.

We can set that to whatever default values you wish, and that will be the defaults included.

The options will be available to set them for any speed the user wishes however.
We could throttle the max values they can set in the ini file, but I prefer to leave those
sort of setting just wide open, with a recommended range suggestion in the documentation.

Edit:
Hell, we could set this up to include a whole variety of different zombie types, and could config the
mutator so the user could select which set or sets of zombies to use in the game. That would be easy.

Edit2:
1st, (2nd, 3rd etc.), shot on arm or leg, zombie gets cool blood splat thingy/effect there. After x# of shots on same arm or leg, the limb gibs.
The rate of zombie destruction, could be controlled either by zombie.health, or some other new var.
Last edited by MrLoathsome on Sat Sep 26, 2015 4:02 am, edited 1 time in total.
blarg

User avatar
papercoffee
Godlike
Posts: 10133
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: Faster Zombies via SwarmSpawner

Post by papercoffee » Sat Sep 26, 2015 3:26 am

If you need bloody stomach twisting textures ... I can make some.

JackGriffin
Godlike
Posts: 3767
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Faster Zombies via SwarmSpawner

Post by JackGriffin » Sat Sep 26, 2015 4:15 am

As far as I know it to be possible the answer would be no to arms and legs being shot off. I've thought about this too and can't really see an answer. Well, technically you could do it with fast replacement of the mesh where the full one was replaced with the mesh missing an arm but it's not going to be either pretty or smooth and server lag might make it nasty. I even considered trying to skin it so that the arm would have an invisible skin but it left a hole where the textures picked back up.

That's not to mean all is lost. You could still have zombies spraying blood and gore all over when they get shot, the textures on them getting progressively worse, and they actually shrink up via fatboy as they lose mass to the blood loss. Overall the effect would be pretty good I think, it's just not as in-your-face as dropping an arm.

I really just need to spend the time to learn animating a skeleton. I know what I want to do and if I could design the anims for that it would be pretty good.
So long, and thanks for all the fish

User avatar
papercoffee
Godlike
Posts: 10133
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: Faster Zombies via SwarmSpawner

Post by papercoffee » Sat Sep 26, 2015 12:12 pm

What about to create the zombie out of 6 models.
Head, torso, left leg, right leg, left arm, right arm... combined with random blood stains.

JackGriffin
Godlike
Posts: 3767
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Faster Zombies via SwarmSpawner

Post by JackGriffin » Sat Sep 26, 2015 2:37 pm

It's not that simple. You could do that in UT2004 but the animation in UT is just too primitive. Think of it like this...Let's call the normal player model 'Six' since it has 2 arms, 2 legs, a head and a torso. I can script it taking enough damage so that one arm can 'fall off' but I'll need to replace the player model with a new one. We'll call it 'Five' because it's missing an arm. This engine absolutely requires a single mesh for the player model, not a collection of them working together so I'm forced to do a fast swap of 'Six' for 'Five'. This is possible but I worry about what it will look like and if it will be fast enough to retain the illusion.

The game already does this with the krall. If you hurt one it can become the legless krall we all know. The difficulties in trying to do this with a player model though are quite complex. It's going to have a big size, and you will have exponentially larger numbers of combinations if you also alter textures. Here's some quick math...

Allowing for both arms and both legs and the head to be shot off results in around 15 distinct models, each with their own animation package. Now if you want to texture those with degrees of blood you need to multiply 15 times the number of texture packages you want to do. Even a simple burn, blood, bruise texturing gets you quickly to a combination that numbers close to 100. That's a LOT of accounting for.

In a nutshell this is why it hasn't been done before. All isn't lost though because I think it can be done other ways. Like this:

I did this already for Alucard to use and I could improve greatly on what I did for him. In fact the Killing Floor santa model I imported would probably work. The point is there are options to work around the limitations, it just needs a ton of animation work and that's the one thing I've never learned.
So long, and thanks for all the fish