Monster Hunt 613

Need some nice Mods? Here, you are right!
User avatar
OjitroC
Godlike
Posts: 3754
Joined: Sat Sep 12, 2015 8:46 pm

Re: Monster Hunt 602

Post by OjitroC »

Shrimp wrote: Sun Jan 02, 2022 12:26 pm There's no delay between the start of the match and monsters starting to spawn. I was reluctant to add "waves", preferring to just spawn monsters at a steady rate which eventually compounds into an overwhelming force if you can't keep on top of it. That's the intent anyway.

Perhaps there could be a 30 second "warm up" period at the start though, to allow you to run around and grab things and position yourself, which seems fair.

Basically, the intended way of playing is that you are supposed to lose more frequently than you expect :satan:. I like to play with the life limit of 6, and a time limit of 5 minutes, with bot skill (monster skill) set to Masterful or above, and try to survive with the 20 escapes limit not being reached. That keeps the rounds short and intense.
Once again, thanks for the detailed response.

I think a 'warm up' period would be a very good idea. I also agree with not having waves but a steady flow of monsters.

I play with bot skill at Inhuman though I haven't been altering the life and time limits from those I use in MH (which are no limits basically) - so I need to get back into the habit of setting limits and having rounds (I don't have limits either when I play Monster Spawn, which is what I do most of the time now).
Shrimp wrote: Sun Jan 02, 2022 12:26 pm Monster Defence can and will not work on all CTF maps, and it'll be up to players to find which do or don't. For example CTF-Dreary is too small to even allow some monster types to spawn at all in most places.
I tried MD in CTF-November and nothing much happened at all - plenty of monsters spawned in the red area but no attempt to reach the portal - perhaps down to the pathing in that map?

Anyway part of the fun with this is finding out how it works in different CTF maps.
JackGriffin
Godlike
Posts: 3776
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Monster Hunt 602

Post by JackGriffin »

I happened to swing by last night and saw this thread on the forum. It really made my day :) The MH prodigal son has returned!! I'll watch this with anticipation for sure and I hope it breathes all new life into the mod. Thank you Shrimp for taking this back up and moving forward. I could not be happier!!

Happy new years everyone! Hope y'all are well, fat, and happy.
So long, and thanks for all the fish
darksonny
Masterful
Posts: 515
Joined: Sat Sep 13, 2008 10:24 pm

Re: Monster Hunt 602

Post by darksonny »

Is this the last and true version for monsterhant?
User avatar
sektor2111
Godlike
Posts: 6443
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Hunt 602

Post by sektor2111 »

Shrimp wrote: Sun Jan 02, 2022 12:26 pm Unfortunately, I'm not sure I can do anything about that. Obviously all the code within Monster Hunt targets Monster Hunt, it was never designed or intended to have you drop in other non-Monster Hunt gametypes and have them work with existing Monster Hunt maps, the same way Monster Hunt maps assume they're going to be used with Monster Hunt.
...
The variable(s) removed were useless and should have been local, which they are now. A software project is free to modify it's internal API, which is what I feel like I've done here. Hopefully you can just re-compile your existing binaries with no other changes, so they pick up that those vars no longer exist and it works at runtime again. Hopefully those numbers weren't being used, since they were only used as "local" values before putting the value into the GameReplicationInfo.
Into MonsterEnd Trigger it can be used some thing REALLY Simple:

Code: Select all

function TriggerObjective()
{
	local	MonsterHunt	MH;
	local	pawn		P;

	MH = MonsterHunt(Level.Game);
	if ( MH != None )
	{
		if ( !Level.Game.bGameEnded ) //Don't end game redundantly if it's ended already
			MH.EndGame("Hunt Successfull!");
	}
	else
		log("MonsterEnd - TriggerObjective - MH == None");
	SetCollision(False,False,False); //And... stop it, it's no longer useful.
}
Okay, for rewriting XC_MonsterHunt I will wait a final version because I think I'll have to change things as long as MH structure is changed and I need to see what's up in servers first.
In other hand, like for XC_MonsterHuntArena the newer game-type "Monster Defence" will be a separate thing - some day... maybe. Here for me is mandatory using newer natives from XC stuff because here we really need some polishing for paths - excuse me but original ReachSpec has nothing to do with Titans. An original ReachSpec/Path generated by Editor is 70 × 70 which is not helping Titans (110 × 115) and other big ones at all. Right now by altering these to a bigger size (I have actors for this task done months ago) game goes harder than expected. I lost X matches when 1 Titan + 3 Skaarj + 1 Warlord were heading to portal completed by a Pupae and a Manta. Kill them quickly if you can...

In original UT out of pathing tweaks, some of them were just sitting into the other Base looking at walls... I called them: Hey, monsters, here is your portal... They were just sleeping in shoes...

Edit: "AlternatePath" - with other words Another Way for stock UT...
Inspired from my own experience with "Titan Patrolling" - you can shrink them correctly using their own code or a clone code - timing when this happens it's important to not mess their cylinder more than is necessary. Titans having DrawScale 0.6 and cylinder adjusted properly will deal with original Paths better than you think. I can show you an edited MonsterHunt map where Titans ordered with patrolling will proceed into patrols (I added PatrolPoints and I did settings correctly). In maps like CTF-EpicBoy probably you don't want a Titan to block entrance in Base just because he wants to escape - if paths are forced enlarged, in my logic these should be in account because the most of CTF maps are not for Titans and other type "Fat-Ass" monster.
Having these said, if I'll start doing something like an Expanded "Monster Defence" these factors are mandatory in account - but maybe it's just me interested to see some action... instead of Monsters getting stuck in small places or doing nothing outside of Escaping Base...
I'm playing games with Monsters and... definitely all DrawScales and collisions are lower than 1.00 and... they are really DM monsters...

The true story is simple somehow: You can input some commands for growing PlayerPawn (yourself in an Off-Line session) using "ConsoleCommand", and then... try to find a path from a Base to another using "RememberSpot" "ShowPath" testing commands. Go figure if you have a route or not and how does it work. You can bind a key for Execution of a Txt file: "exec MeMonster.txt" having this content:

Code: Select all

set PlayerPawn DrawScale 1.5
set PlayerPawn CollisionHeight 58
set PlayerPawn CollisionRadius 32
And... after figuring what's here and there you can take a decision how to spawn Monsters and their properties...

ExtraMethods about waves:
During waiting timer you can process a bit Navigation Network for capturing how many Paths are having ReachFlags 9 and 12 from entire Network (using DescribeSpec). These are "Jumper-Paths".
If map has certain charge (10-15%) with such things perhaps any monster with JumpZ = -1 doesn't have too much activity... As far as I know Titan doesn't jump and neither Brutes (these can be inactive in such a stage), some flying creatures also are having another story but I think I'm spamming forum already... :?
Old UT Veteran
Skilled
Posts: 170
Joined: Sat Mar 24, 2012 1:37 am

Re: Monster Hunt 602

Post by Old UT Veteran »

Shrimp wrote: Sun Jan 02, 2022 12:26 pm Unfortunately I'm going to have to leave this one with a large caveat: Monster Defence can and will not work on all CTF maps, and it'll be up to players to find which do or don't. For example CTF-Dreary is too small to even allow some monster types to spawn at all in most places.
The only negligible criticism from me in that aspect might be that Monster Defense could work better in maps designed for it - avoid all the issues with incompatible monster pathing, collisions, etc. While at it, control what monsters can spawn from custom spawnpoints placed on maps. Of course this would render a need for maps, though I don't see a lack of assortments that fullfill that role with some minor edits. MH-Invasion is probably one of the better examples.

Back from lala-land...
OjitroC wrote: Sat Jan 01, 2022 6:57 pm Yes, they certainly do complete an escape with much more vigour - perhaps with a little too much vigour? I've played one game with the new version so far - in CTF-NRMC-Hightown - and the game is dramatically different - so much so that I lost the game in about three minutes (perhaps in part due to me going to look for weapons/armour). Much more activity from Skaarj Warrior types in this version.
I wonder now if things are balanced a little too much in the favour of those attempting to escape? Maybe it's a gametype that's not really intended to be played by just one player?
Personally I don't mind monsters that are more aggressive on how they try to reach the portal. Better that than to have them stand 1m away from portal to melee a player. Perhaps certain monsters could have a small affinity or chance for whether they choose to attack a player/bot? Skaarj do have ranged attacks so they could be more flexible. Another idea would be to have them force their way through when within a certain radius of the portal - i believe fortStandard has something like that for bot AI.
You do not have the required permissions to view the files attached to this post.
User avatar
Shrimp
Adept
Posts: 305
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia

Re: Monster Hunt 602

Post by Shrimp »

Updated original post with 603. Several improvements hopefully, as well as some more configuration and Defence features.

I imported the graphics in the setting tabs from new PNG format images - I'm not sure if that means it requires 469 to play still, or if the PNG importer imports the images in a way that older versions can still use. If it doesn't work, I'll go back to the low-res pixelated PCX source images.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
Buggie
Godlike
Posts: 3229
Joined: Sat Mar 21, 2020 5:32 am

Re: Monster Hunt 602

Post by Buggie »

Shrimp wrote: Mon Jan 03, 2022 7:41 amI imported the graphics in the setting tabs from new PNG format images - I'm not sure if that means it requires 469 to play still, or if the PNG importer imports the images in a way that older versions can still use. If it doesn't work, I'll go back to the low-res pixelated PCX source images.
No, v469 not required. It is just use PNG as source for get pixels. So it work with older versions fine.

Automatically merged

Re: Monster Hunt 603
Make few PR on github with not fixed problems from: viewtopic.php?f=4&t=14513
Hope it helps.
User avatar
sektor2111
Godlike
Posts: 6443
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Hunt 603

Post by sektor2111 »

Shrimp will do these as he is considering better. When these are getting ready perhaps I'll go for something "expanded" from 503 (I don't take any compatibility risk here because I failed once very ugly... with old 503 triggering things in Level unexpected or getting "forged object" in logs and going nowhere...). Perhaps prototype which I'm thinking will have a "dual" mod for initializing waves, an expanded class.

The Other Theory:
Tracking the most far away node from Portal - perhaps Blue FlagBase spot. Spawning there a "prototype" (Pawn) in first second and letting this pawn to tell me if he can see "Player Base" with Portal or a nearby PathNode using paths-net (some CTF maps are messed up here - it's a reality - no names right now). If prototype says "No Damn Path" it will shrink dimensions. If path can be seen we can calculate what sort of monsters should be used in the map, campers are useless. If again "No Path", shrink and retry. If nothing happens then... Level.Game.ENDGAME("IncompatibleMap"). There is no reason to have a supposed defence against monsters which are never attacking.
No, this solution is not mine, this is happening during Pathing Process by Goblin known by friends as "Unreal Editor", we can learn good things from there - if we want... Or you can work in reverse, using a tiny little small Pawn for initial test, and grow pawn until result is Negative, waves should stop when prototype Pawn says: This is the maximum possible. Pawn can have bCanJump or not - this result might prevent non-jumpers from entering the stage - they won't attack after all if Tester is saying: jumping is needed here *or swimming.

Notes: Titans will never do anything if they are not following the same way: shrinking cylinder under 70 × 70 or else you can forget them at 3 miles away and sleeping there... The Plan would be to play this defence in CTF-Coret too and using All Monsters (perhaps not all of them will pass edges blocking attackers...), SPACE should not be a problem but movement is indeed a problem and a big one. Believe me or not, you can spawn any monster where you want if you really want by adjusting some class properties before spawning it and reverting it back after spawn post rescaling - tested in a few patch plugins used by me. The same story is with PathNodes "I could not add it there" - sektor says: I'll bet on 10$ that I can put PathNodes exactly where I want them - bCollideWorld = False, bCollideWhenPlacing = False - end of mystical issues. After spawning they won't fall if you shrink them in spot and colliding them back in original, or if you are using a different default DrawScale and cylinder calculated based on the report executed by tester prototype.
Extra-Biography can be SwarmSpawn by an Ex-Member LoathSome ( R.I.P. LoathSome... :sad2: ), there are a couple of hints about bringing creatures in game - which is exactly the purpose of Monster Defence.
User avatar
OjitroC
Godlike
Posts: 3754
Joined: Sat Sep 12, 2015 8:46 pm

Re: Monster Hunt 603

Post by OjitroC »

Monster Defence
Nice to see the new configurable options - makes it much easier to set up a game. There is a noticeable difference in what happens on the various monsters difficulty levels so one can change those around to find the setting that most suits the type of game one wants to play.

The warmup period is very useful especially in those maps where the player is unsure of the position of the portal/red flag. I did wonder if it would be possible to spawn the 'players' at the playerstarts closest to the portal but perhaps this is unnecessary/impractical?

So, yeah, the gametype is coming on nicely - personally I think it is fine now. I can't really think of anything that stands out as needing improvement.

Obviously, for a player off-line and without any particular technical knowledge, finding maps that work OK with the gametype is a matter of trial and error - but that's OK - it only takes a couple of minutes to know whether a map is suitable or not (and suitability goes beyond the extent to which monsters try to escape).

________________________________________________________
UPDATE

Something I noticed - I played a bit of MD, then had a MH game and then switched back to MD - I checked the settings under Rules and the Warmup TIme had gone back to the default 0 even though I had set it at 60 when I started the first bit of MD (checking the MonsterHunt.ini now, I see that the Warmup Time has gone back to 0 again even though I set it to 60 when I switched back to MD) - should this happen or should that setting be saved?
User avatar
Hitman
Adept
Posts: 315
Joined: Mon Aug 16, 2010 11:01 am
Location: Sweden

Re: Monster Hunt 603

Post by Hitman »

Is this meant for servers? should it not have a new name then just MonsterHunt to avoid mismatch or have I missed something?
Buggie
Godlike
Posts: 3229
Joined: Sat Mar 21, 2020 5:32 am

Re: Monster Hunt 603

Post by Buggie »

AFAIK it is well-known problem:
From one side, for exclude package mismatch, you need set new name for modified package.
From other side items on map explicit specify actor package. So when you use monsterhunt stuff it can not be used from other package.
User avatar
Shrimp
Adept
Posts: 305
Joined: Wed Oct 10, 2018 11:15 am
Location: Australia

Re: Monster Hunt 603

Post by Shrimp »

Hitman wrote: Sat Jan 08, 2022 1:23 pm Is this meant for servers? should it not have a new name then just MonsterHunt to avoid mismatch or have I missed something?
It cannot be renamed like a mutator, since maps explicitly import the MonsterHunt package.

The only way to give it a unique name would be to force rebuilding all maps against the new version.

I've updated the first post with version 604, thanks to SeriousBuggie for several improvements on this one. It drastically improves the bot behaviour - Defence is now almost too easy with bots :mrgreen:.
ShrimpWorks
Unreal Archive - preserving over 25 years of user-created content for the Unreal series!
User avatar
sektor2111
Godlike
Posts: 6443
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Hunt 604

Post by sektor2111 »

I simply don't understand why you didn't do an expanded package of MonsterHunt like I did with XC_MonsterHunt .

Code: Select all

class dummyMH expands MonsterHunt.MonsterHunt;
And then

Code: Select all

class MonsterHunt expands dummyMH;
All variables are matching package called by Map, but game executions are deviated to said expanded game-type doing calls similar to "DeathMatchPlus(Level.Game)" which can be called from any child game, because this MonsterHunt is in fact like original and has original executions and variables in the back. This way works tested, I did the same with CTFGame, TeamGamePlus, DeathMatchPlus (for the rest I'm not interested...).

The most of game related codes can be rewritten this way and getting rid of buggers - you can rewrite all chain concerning "Killed" "ScoreKill" right from Game-Info and then "Engine.Killed/ScoreKill Accessed None" will cease to exist. For MonsterWaypoint the fix would need some extra tweaking (such as disabling collision if LastPosition doesn't match required waypoint). For MonsterEnd perhaps an add-on around it for taking control, preventing Extra-Touching if possible.

Human Extras: Talking about that Scorekill - excuse me but you lost me only with stock. Since 200X+ years we have custom ScriptedPawns which are not scored as stock ones with ISA iterations and classes tests. Let me show you something - probably done in 2006 2007 if I'm not mistaking...

Code: Select all

function ScoreKill(pawn Killer, pawn Other)
{
	local ScriptedPawn S;
	local int ph;

	if ( ScriptedPawn(Other) != None ) //Generic Monster
	{
		S = ScriptedPawn(Other);
		if ( S != None )
			ph = S.Default.Health;
	}
	if ( ( Killer != None && Killer.PlayerReplicationInfo != None ) && S != None ) //if it's a valid stage
	{
		if ( Nali(S) != None || Cow(S) != None ) //Score is rounded because it's an "INT" type...
			Killer.PlayerReplicationInfo.Score += 0.02*ph;
		else if (S.bIsBoss)
			Killer.PlayerReplicationInfo.Score += 0.06*ph;
		else
			Killer.PlayerReplicationInfo.Score += 0.04*ph;
		Killer.KillCount++; //no longer calling GameInfo anyway
	}
....
....
Does it really worth testing Sliths Brutes and all stock-only and doing scoring limitations ?
User avatar
Delacroix
Adept
Posts: 342
Joined: Thu Mar 25, 2010 6:00 pm
Personal rank: UMS R&D CEO

Re: Monster Hunt 604

Post by Delacroix »

> mismatches

ucc conform...

Come on. I ain't even a coder and I know THAT basic thing. Besides, server owners should really avoid holding players hostage like that, requiring outdated versions of a project or gametype. That way, once it's out, you can't even bugfix it or develop it further coz servers won't have it... Come on, that even _sounds_ ridiculous.

Go ahead and update further, Shrimp-san. This is God's work.
User avatar
sektor2111
Godlike
Posts: 6443
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Hunt 604

Post by sektor2111 »

"UCC Conform" does DAMAGE if packages are different in content - incompatible - and THIS was already demonstrated by UTPG.
Not once player using 451b trying to join into a 436 server was going nowhere - all log returned "forged object" errors, you can check some map randomly and see what I mean by yourselves doing such a server and probing it with an updated client.
Old MH version has some variables. Newer package has them removed but added new functions and probably classes - these are not going to be compatible. Games will develop randomly funky events and even crashing unexpected.

The most compatible solution is an expanded thing without any data referenced removed but using attached fixes and changes concerning game functions.
When a new package has new references and used for mapping, you have all chances to do broken things for prior versions which are not having new added things and pointing codes to nowhere. Already my expanded XCMH doesn't work nearby these updates because of changes in structures and this is demonstrating that conforming them it's not exactly advisable. If they would be compatible, all child games expanded from MH would be operational but... now they aren't operational any longer. When these are going to be finished I'll do a separate Monster Defence compiled based on MonsterHunt 503 for coders and nothing else. All Bot/Monster/Player related stuff and everything needed can go inside an expanded package without any mismatch - simply package used so far for making maps will stay as it is. Conformed versions already were demonstrating funky things. Once again, play MH using different assets and see what's the deal by yourselves - it's not happening all time but... it happens.
I did experiments with BPak, HauntedCreatures, all sort of packages, including MonsterHunt.u, so I know what I'm talking about...