Berserk Monsters Mutator

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!

Berserk Monsters Mutator

Post by MrLoathsome » Sat Nov 26, 2011 3:10 am

9:26 PM 1/4/2012

Berserk Monsters v3.0 by Mr.Loathsome

Install: Drop BerserkMonsters.ini, BerserkMonsters.int & BerserkMonsters.u into
your UnrealTournament/System folder. (No need for serverpackage or uz file on servers...)

v3.0 - Update Changes:

1. Monsters will now attack bots much more often.

2. Added considerable debugging info. 2 independent levels controlled by ini variables.

If bDebug is set True, mutator will log and broadcast info regarding current number
of monsters being adjusted, current HateRadius, and when it changes from Fast Check
or Slow Check mode.

If bExtDebug is set True, mutator will log detailed information regarding every monster
being checked, and if it was able to locate an enemy. (Only turn this on if you plan on
checking the logs. Won't effect performance much to have it on, but LOTS of log file entries
get made...)

3. Added a "Reporting Mode". If you set MaxChecks=0 and bExtDebug=True, the
mutator will switch modes and adjust nothing. It will dump a list of ALL monsters
on a map and their current enemy into the log file at intervals specified by
the current InsanityRate. (Actually, it will do it at InsanityRate*4, as it will enter Slow Check
mode after 3 checks...)
It will also broadcast and log a current count of monsters on the map.

4. Mutator will automatically adjust between 2 speeds of operation. (Fast and Slow Checks)
If it does 3 checks, and no adjustments are made to the current HateRadius, it will
basically slow down and get out of the way. The next checks will be done at InsanityRate * 4.
Soon as some monsters get killed/spawned or move around enough to trigger another
adjustment to the HateRadius, the mutator switches back into checks at the InsanityRate
you have set in the ini file.

5. This might be the most significant change. Mutator can now traverse the current UT
list of scripted pawns in 2 different ways.

If bSeqCheck=True, it will always start at the begining of the list and attempt to adjust
the number you have set in MaxChecks.

Would recommend using this if you know you are playing games that will never have huge
numbers of monsters on them. Then just set MaxChecks=32 or 64 or 128, and bSeqCheck=True.

If you are using this with maps/gametypes that have LOTS of monsters, set bSeqCheck=False.
(Or if you have any lag/performance issues while running with bSeqCheck=True...)

Setting bSeqCheck=False puts it into "Progressive" mode.

The mutator will now traverse the entire scripted pawn list a bit at a time, attempting to adjust
the number you have set in MaxChecks each time. When it gets to the end, it will reset
the offset it is using to zero and start again. You can set it to check 2 at a time, or as
many as your machine will handle before things bog down. Recommend testing this with a number
of values in your ini, as it gives you a LOT of control over the rate at which this mutator
turns the monsters loose.

It was a lot of fun getting that code to work right, as the list is constantly changing as monsters
get killed, or spawned into the game either via the map itself, a mutator or other methods.
Seems to be doing what I want at this point,.

Keep in mind, if you are on a map with hundreds of monsters on it, and you set half or all of them
to start attacking all at the same time, you are very likely to have some performance issues until
a bunch of them get killed. (Your cpu will get slammed...)

For maps like that, a InsanityRate in the 10-30 range, and MaxChecks in the 8-32 range seems to work
well.

I tried to make this very adjustable, but use a bit of common sense and try a few settings out
before reporting errors.

If you tell me you set InsanityRate=2 and MaxChecks=1024 and bSeqCheck=True and it made your UT
crash, my answer will be, "I bet it did."

v2.0 - Update Changes:

1. Fixed a bug that was causing lag on maps with more than 100 monsters.
Performance has been improved considerably.

2. Made some optimizations to the code that automatically adjusts the search radius.

-----------------------
v1.1 - Update Changes:

1. Eliminated several of the configuration variables.

2. Mutator will now automatically adjust the radius used when
searching for the next victim.

3. Added an option to exclude a specific class from being
modified by this mutator.

-----------------------

This mutator attempts to make monsters in games more active.

I was initially looking for a way to make monsters fight with each other
and interact with bots more.

I was hoping to find a way to make this work for all scripted pawns, including
the default Unreali monsters.

It does this by periodically checking all monsters in the game
and then adjusting any who are not currently engaged with another
pawn or player so they attack a nearby monster, bot or player.

By adjusting the configuration file, this should work with most any
game or gametype where monsters show up.

Did a bit of testing with Oldskool and EXU2 in both SP and Coop
modes, and it seemed to function the way I intended.

This WILL NOT result in total chaos, even on maps with huge amounts of monsters
unless you have the InsanityRate set lower than recommended and the MaxChecks
value fairly high.

If you are using this in games that have large numbers of monsters and things
start getting laggy, increase the InsanityRate value, and/or decrease the
MaxChecks value as needed. Set bSeqCheck=False for games like that.

BerserkMonsters.ini contains the following configuration variables:

Code: Select all

InsanityRate=15.0 // How often the mutator will check monsters
// Recommended Range 10-120+. (60 = approx. once a minute...)

MaxChecks=16 // Max number of monsters to check each Insanity rate
// Range 2-300+

bAdjustBosses=False // If False, Boss monsters will be excluded from being modified or attacked

bAttackKin=False // If False, monsters will not attack others of the same class

bSeqCheck=False // If True, UT's monster list processed sequentially. Recommend False.
// See above v3.0 Update Changes for more info.

bDebug=False // If True, a message will be logged and broadcast each time the mutator does its check

bExtDebug=False // If True detailed info will be dumped into the UnrealTounrnament.log file
// This dumps a bit of info into the log. Recommend False once you have the settings you want

ExcludeClass // Allows you to exclude a class from being checked. Subclasses of the Exclude class will also be skipped
// i.e. ExcludeClass=UnrealI.Pupae -- Pupae will not look for other creatures to attack
* Current recommended ranges above are just my best guesses. Other values may work better for
your maps and mutator combos.
No checks are performed to prevent you from testing other values.
You do not have the required permissions to view the files attached to this post.
Last edited by MrLoathsome on Thu Jan 05, 2012 6:10 am, edited 5 times in total.
blarg

User avatar
Dr.Flay
Godlike
Posts: 3332
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK

Re: Berserk Monsters Mutator

Post by Dr.Flay » Sat Nov 26, 2011 6:52 pm

I took to using "Us Against Them" mode from the Monster Madness mod, for all my monster mayhem, as it lets you play all the map types (though Assault maps obviously don't work as they should).
I also run Monster Spawn, Bad News and TWT Zombies at the same time, with more blood and more gore mutators.
Every 3 minutes Monsterspawn mod is spawning dinosaurs, cows, dogs, creatures, zombies and pawns from nearly every mod and map I have found pawns in. :satan:

In my 30 minutes of mayhem I get to see lots of different monsters from (currently) 17 banks of up to 25 pawns at a time.
They do tend to have "personality issues" so your mod sounds like a godsend to me!

One thing I have noticed in with a lot of pawns, is they quite often ignore non-player team bots in favour of hunting me.
The xbots mod seems to make my team bots clever enough to attack most creatures, so thankfully I don't everything trying to hunt me.

I can recommend you use the Monsterspawn mod to try as many mixed monsters as possible in any map.
I edited the monsterspawn304.int file so I can quickly edit the ini via UT's advanced config panel (much easier).

User avatar
Dr.Flay
Godlike
Posts: 3332
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK

Re: Berserk Monsters Mutator

Post by Dr.Flay » Sat Nov 26, 2011 11:44 pm

I've been home and had a quick play. No issues at the moment with my setup. Though I only played 2 games.

I had crashes with a pawn I don't usually have problems with, but it is an unfinished beta pawn, so I'm not counting it until I strip my list of mutators down to normal levels.

:idea: I might suggest at this point, to have the int file written thus;

Code: Select all

[Public]
Object=(Name=BerserkMonsters.BM,Class=Class,MetaClass=Engine.Mutator,Description="Berserk Monsters!!")

Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="Berserk Monsters!!",Parent="Mutators",Class=BerserkMonsters.BM,Immediate=True)
This will make changing options quicker and you don't have to close and reopen UT.

Also as a matter of interest (and for variety), here is my MonsterSpawn config and a replacement int file, so it also can be edited without closing UT.
You do not have the required permissions to view the files attached to this post.

User avatar
EvilGrins
Godlike
Posts: 8879
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA

Re: Berserk Monsters Mutator

Post by EvilGrins » Sun Nov 27, 2011 10:01 am

You're like the 2nd guy in as many weeks that's mentioned bots and monsters not fighting each other. I find this a bit odd. The original ut99, when monster mutators came into play, the monsters and bots fought all the time. It wasn't until years later that I used a different update of ut99, the Unreal Anthology pack, that I experienced this.

After hitting multiple forums and tinkering, I simple copied a main system file from the original ut99 into the UA version of ut99 and monsters and bots started fighting each other again.

What version of ut99 do you have and what did you install it from?
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758

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: Berserk Monsters Mutator

Post by MrLoathsome » Sun Nov 27, 2011 5:30 pm

Dr.Flay wrote: :idea: I might suggest at this point, to have the int file written thus;

Code: Select all

[Public]
Object=(Name=BerserkMonsters.BM,Class=Class,MetaClass=Engine.Mutator,Description="Berserk Monsters!!")
Preferences=(Caption="Mutators",Parent="Advanced Options")
Preferences=(Caption="Berserk Monsters!!",Parent="Mutators",Class=BerserkMonsters.BM,Immediate=True)
Well I'll be damned. I never knew you could do that. Great tip there Dr.Flay.
I will be sticking some preferences lines like that in the int files for future updates or releases
of any of my mutators that have a config file.
Could only make wild guesses at this point as to why a beta pawn might crash with this beta mutator..... :loool:
Tested it out some on my EXU2 server, and it worked ok on some maps, but crashed another several times.
(EXU2 is a beta also..... I like to live dangerously....)

@EvilGrins. I got the UT99 GOTY 2 cd set. Install from that, then the 4.36 patch and bonus packs off CD 2.
blarg

UT99.org

Re: Berserk Monsters Mutator

Post by UT99.org » Sun Nov 27, 2011 6:00 pm

medor wrote:
MrLoathsome wrote:
@EvilGrins. I got the UT99 GOTY 2 cd set. Install from that, then the 4.36 patch and bonus packs off CD 2.
CD2 Image

User avatar
Fuzz_Ball
Experienced
Posts: 102
Joined: Wed Mar 04, 2009 11:09 pm
Personal rank: Harmless

Re: Berserk Monsters Mutator

Post by Fuzz_Ball » Sun Nov 27, 2011 6:20 pm

Interesting idea, Loathsome!
At my place, there's an "Easy Kill "column where all the site's maps are listed and two powerful weapons are given at spawn.
A lot of players just breeze thru the maps in seconds and I'd like to use this on the Easy column only, to make it a little more challenging.
How would I load it in mapvote.ini?

CustomGameConfig[1]=(bEnabled=True,GameClass="MonsterHunt.MonsterHunt",NewPrefix="FZ",Mutators="BerserkMonsters.BM... etc," ???

Without presently diving deep into the research myself, do you know if this will play well with the MH mod and various MH mutators out there? (I'm also running an old gopostal mod that is pre-M2).

I like the idea and look forward to doing some testing!
* * * Image * * *

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: Berserk Monsters Mutator

Post by MrLoathsome » Sun Nov 27, 2011 7:29 pm

Hi Fuzz. Yes that line should load the mutator fine. No need to include this one in ServerPackages either. Anything it
adjusts is already getting replicated. (I thinks....)

No time to even test this with MH yet. Try it and let me know how it goes. Start in debug mode and watch the logs close as
that will give you clues as to the best setting for the config variables.
blarg

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: Berserk Monsters Mutator

Post by MrLoathsome » Sun Nov 27, 2011 7:40 pm

Dr.Flay wrote:Also as a matter of interest (and for variety), here is my MonsterSpawn config and a replacement int file, so it also can be edited without closing UT.
I used MonsterSpawn for many years offline and on my servers.
However the last few months I have been using something different I wrote up
that adds actors to the game only when a player or monster dies.
Using that method, the mutator only spawns stuff in areas where something is
actually going on.
And unlike MonsterSpawn, monsters spawned with the Dropper will stay on the
map until they are killed.

It is available here: http://ecoop.ucoz.com/load/the_dropper/1-1-0-36

Thanks to Dr.Flay, I just updated it with a new int file so you can access the crazy
number of config variables it supports. (Up to 3076 of them. :wtf: )

Just 2 lines in an int file...... :shock: Wish I had known about that before
spending time in the past writing mutator config menus.....
blarg

User avatar
Dr.Flay
Godlike
Posts: 3332
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK

Re: Berserk Monsters Mutator

Post by Dr.Flay » Sun Nov 27, 2011 8:24 pm

I've edited a bunch of int files in my system folder once I noticed what the extra lines do. It makes changing variables so much easier on mods with lots of switches.
:idea: It may be worth making a dedicated thread for submitting edited int files ?

I've gone back to using the unofficial 451b, while i'm waiting for the next SDK update, then I'll put the 436 files back.

BTW. the beta pawns in question are the dogs from the postal2 conversions pack.
After a few games today I have had no crashes with the dogs, so as I thought they are too random to include for bughunting.

I have edited a version of the DM-deadwood map, with a jail-house dog (every jail-house needs a dog) cows, horses and rabbits (not the nalirabbit) out in the fields, snakes, scorpions and butterfly's in the grass and reed-beds (and a few sneaky places). Birds, rats and swarms of flies in appropriate places, and I've even slightly changed the firefly's. It's a much more "real" place to roam around in.
...Oh yes, and pathnodes, so it works for bots.

I have found that the default settings in the postal pawns are way to high, with the animals being set on "human" skill and able to see you all the way across the map.
With this mutator running, by the time I get to the fields only a few of the cows still remain. I will have to tweak the background animals settings to compensate (I need to tweak anyway, as the horses are already too aggressive).
The idea is to have cows and horses peacefully milling about the fields, unless they get shot at.

User avatar
Dr.Flay
Godlike
Posts: 3332
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK

Re: Berserk Monsters Mutator

Post by Dr.Flay » Sun Nov 27, 2011 8:26 pm

MrLoathsome wrote: Thanks to Dr.Flay, I just updated it with a new int file so you can access the crazy
number of config variables it supports. (Up to 3076 of them. :wtf: )

Just 2 lines in an int file...... :shock: Wish I had known about that before
spending time in the past writing mutator config menus.....
HOW MANY ?????
OH GOD WHAT HAVE I DONE ?
:loool:

I am more likely to use dropper, with bad news and monsterspawn all at the same time.
....I am feebly trying to stifle a maniacal evil laugh!

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: Berserk Monsters Mutator

Post by MrLoathsome » Sun Nov 27, 2011 9:32 pm

They should all work together just fine. Been running at least 2 of those 3 at a time on the servers for months now.
Note, I did update BadNews again last month.
Highly recommend use of the latest version.

You can get the latest version either in the thread in this forum, or here:
http://ecoop.ucoz.com/load/bad_news_fixed/1-1-0-31

Still fiddling with an update for that, but nothing ready yet....
blarg

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: Berserk Monsters Mutator

Post by MrLoathsome » Sun Nov 27, 2011 9:35 pm

Dr.Flay wrote: I've gone back to using the unofficial 451b, while i'm waiting for the next SDK update, then I'll put the 436 files back.
I hope you mean on your dedicated server....

ONLY version that should be used for playing, is 4.36

4.51 is for dedicated windows servers.

I find the UTPG 4.40 release best for linux servers.
blarg

User avatar
EvilGrins
Godlike
Posts: 8879
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA

Re: Berserk Monsters Mutator

Post by EvilGrins » Mon Nov 28, 2011 9:53 am

MrLoathsome wrote:@EvilGrins. I got the UT99 GOTY 2 cd set. Install from that, then the 4.36 patch and bonus packs off CD 2.
If you can copy the original ut99 UnrealShare.u into your system directory, everything between bots and monsters should be nice and violent.

Well... even with that there's a minor glitch with team games. Red team never seems to notice the monsters, though blue & green & gold do. Never did find a way around that so I largely keep monster activity with team games to a low.

Well... red team obviously fights monsters in MonsterHunt. I mean in like Team DM & CTF & AS &...you get the idea.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758

User avatar
Dr.Flay
Godlike
Posts: 3332
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK

Re: Berserk Monsters Mutator

Post by Dr.Flay » Mon Nov 28, 2011 5:01 pm

I have 2 copies of UT.
436 for editing, and 451b with the S3TC Hi-Res replacements for playing.
I'm quite sure I'm using your current Bad News mutator.

Right, I'm going to post a thread for edited int's because I had a revelation a few hours ago, trying to do something I thought would be long-winded and a laborious.

... 1 line...
...1 LINE !!...
...1 BLOODY LINE AFTER ALL THIS TIME !!
:loool: