New PropHunt for UT99

Discussions about GameTypes

New PropHunt for UT99

Postby 'Zac » Thu Apr 26, 2018 3:07 am

Hello UT99.org, as an amateur unreal scripter I wanted to take on the challenge of creating a new game mode for UT just to gain experience, have a new game type to play with all you interesting people, and ultimately have fun doing it, which I am.

I released a demo alpha of it on moddb here: http://www.moddb.com/mods/prophunt-for-ut99
There's some pictures on their for you guys to take a look at.
Please download it and take a look, there two demo maps for you guys to check out everything. Any help, assistance, or tips are very much appreciated!!!
The round times and gameplay variables are set for testing purposes so their not at a realistic gameplay setting, though i will make it customizable.



Two teams, hunters versus hiders. Hunters need to persue hider players disguised as props/decoration models though every miss with the hunter weapon is a health penalty, so make sure you shoot wisely! As hunters there is only one way to win the round - find and kill all the hiders before the round time is over.

Hiders have a couple ways to win a round
for their team, first is having at least one hider alive when the round is over and second is having the hunters all die by them missing their shots and being trigger happy.

Though, hiders have a disadvantage: when running, their health slowly reduces. Hiders must use their surroundings to blend into the environment and
avoid the hunters to stay alive!

At the end of every round, teams switch sides to take turns being hiders and hunters until a team reaches the score!

Configurable Variables:
HunterHealth - How much health hunters start with, keep in mind that for each kill a hunter gets, they gain a third this amount for every kill. default=200
HiderHealth - How much health the hiders have to start, recommend keeping this around default. default=50
HideTime - The amount of time ( in seconds) hiders get to freely go out and hide without the hunters being able to kill or see them. default = 60 seconds
RoundTime - Length in minutes for each round ( not including Hide Time ). default=2
RoundsToWin - The team goal to get to for their team to win the game. default=7
Attachments
prophunt_logo.png
User avatar
'Zac
Experienced
 
Posts: 95
Joined: Tue Jul 29, 2014 9:35 pm
Location: NC
Personal rank: Who knows.

Re: New PropHunt for UT99

Postby EvilGrins » Thu Apr 26, 2018 3:32 am

How well do bots handle this?

They don't seem well suited to "hiding".
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
User avatar
EvilGrins
Godlike
 
Posts: 6021
Joined: Thu Jun 30, 2011 8:12 pm
Location: Palo Alto, CA
Personal rank: God of Fudge

Re: New PropHunt for UT99

Postby Hook » Thu Apr 26, 2018 5:23 am

EvilGrins wrote:How well do bots handle this?

They don't seem well suited to "hiding".

Good question.
However I LOVE the idea!!! :gj:
The old Hide n Seek, UT style! :tu:
=Hook=(Member# 626)
Forums - http://hooksutplace.freeforums.net
UT99 Game Server -> CROSSBONES Lucifurs Missile Madness {CMM}

* Newest Versions of: PRO-Redeemers | PRO-SNIPER-Redeemers | PRO-SEEKER-Redeemers <-(the Original)
and Now with FOOD FIGHT and Frying Pan arena !!!
IP: 68.232.181.236:7777
User avatar
Hook
Masterful
 
Posts: 647
Joined: Tue Apr 22, 2008 11:21 pm
Location: Minnesota USA
Personal rank: UT99 Promoter/Admin

Re: New PropHunt for UT99

Postby iSenSe » Thu Apr 26, 2018 9:41 am

wow!
This could be really interesting, but codingwise a big project i assume and imagine.
It needs a mappack with its objects/props, so alot of mappers and maybe randomness with objects/props are needed, so never the same props are chosen.

I might know a mapper or two that would be interested in this!

I guess the interest in it would certainly be big!

Will try the demo out tonight / this weekend!
User avatar
iSenSe
Experienced
 
Posts: 109
Joined: Mon Aug 31, 2015 12:58 pm

Re: New PropHunt for UT99

Postby Feralidragon » Thu Apr 26, 2018 1:33 pm

Nice. :tu:

Just an advice, for presentation only: I would suggest you to set up a server with this, and then set a time to play this, and maybe announce it on Discord, and perhaps even make a video from it to be used as trailer material.
I may join in too if needed (and if I manage the time), since I am curious how this plays out in UT.
This is the kind of game type that is only fun if it is populated with actual players.

EvilGrins wrote:How well do bots handle this?

They don't seem well suited to "hiding".

Unless "real" machine learning is used (hard, but not impossible in UScript), any kind of game type which requires creativity is not very well suited for bots.
And this is one of those game types.

And, personally, I don't really see the appeal to play it against bots, it's no fun to bamboozle a bot, but an actual player on the other hand... :mrgreen:
User avatar
Feralidragon
Godlike
 
Posts: 4917
Joined: Wed Feb 27, 2008 6:24 pm
Location: Liandri
Personal rank: Work In Progress

Re: New PropHunt for UT99

Postby papercoffee » Thu Apr 26, 2018 1:40 pm

Feralidragon wrote:Nice. :tu:

Just an advice, for presentation only: I would suggest you to set up a server with this, and then set a time to play this, and maybe announce it on Discord, and perhaps even make a video from it to be used as trailer material.
I may join in too if needed (and if I manage the time), since I am curious how this plays out in UT.
This is the kind of game type that is only fun if it is populated with actual players.

EvilGrins wrote:How well do bots handle this?

They don't seem well suited to "hiding".

Unless "real" machine learning is used (hard, but not impossible in UScript), any kind of game type which requires creativity is not very well suited for bots.
And this is one of those game types.

And, personally, I don't really see the appeal to play it against bots, it's no fun to bamboozle a bot, but an actual player on the other hand... :mrgreen:

And bots are not good at missing targets on purpose when they play as hunter. You would need a new kind of bot with intelligent dumbness. :ironic:
User avatar
papercoffee
Site Staff
 
Posts: 8777
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Re: New PropHunt for UT99

Postby Deepak O V » Thu Apr 26, 2018 2:53 pm

You can test this game type here 62.141.39.226:1111.
Vote for [Prop Hunt - Normal], we tested this game type seems it is broken, always stuck on the ground when game is started for hiders side, I think it needs more improvement...
Deepak O V
Experienced
 
Posts: 126
Joined: Mon Nov 11, 2013 7:56 am
Location: India
Personal rank: Average

Re: New PropHunt for UT99

Postby 'Zac » Fri Apr 27, 2018 12:58 am

it is not broken, the network replication settings aren't made yet and that being stuck in the ground thing is the hunters being frozen while the hiders get free hide time
User avatar
'Zac
Experienced
 
Posts: 95
Joined: Tue Jul 29, 2014 9:35 pm
Location: NC
Personal rank: Who knows.

Re: New PropHunt for UT99

Postby Hook » Fri Apr 27, 2018 5:17 am

'Zac wrote:it is not broken, the network replication settings aren't made yet and that being stuck in the ground thing is the hunters being frozen while the hiders get free hide time

Yes, that all makes sense, and just like hide and seek, a delay time for the seekers/hunters would be like when the seekers count before going to seek the hiders.

Don't give up on this one.
It sounds like it has promise to me, and I see by the responses that others feel the same about it too. :tu:
=Hook=(Member# 626)
Forums - http://hooksutplace.freeforums.net
UT99 Game Server -> CROSSBONES Lucifurs Missile Madness {CMM}

* Newest Versions of: PRO-Redeemers | PRO-SNIPER-Redeemers | PRO-SEEKER-Redeemers <-(the Original)
and Now with FOOD FIGHT and Frying Pan arena !!!
IP: 68.232.181.236:7777
User avatar
Hook
Masterful
 
Posts: 647
Joined: Tue Apr 22, 2008 11:21 pm
Location: Minnesota USA
Personal rank: UT99 Promoter/Admin

Re: New PropHunt for UT99

Postby 'Zac » Tue May 01, 2018 4:04 pm

Thanks for the feedback everyone, my first mod is going very well.

I have a new version coming out soon with a rules/settings menu to set variables such as round time, goal score, hunter health, hider health, etc. Also, i am still working on the selector gun that hiders use to pick their prop. Before it was the sniperrifle, the model would show, make the firing noise, and other aspects I did not want in it, so I inherited from TournamentWeapon instead.

Also changed a bit on the scoreboard and HUD, and my next step is getting a simple AI working.

My idea of an AI for a hider bot is if they see a close model, select it and remaining camping near it. Add in a random factor to move a short distance to change prop if there is one. That's my basic idea right now.

For hunter bots that need to search, they would freely move around the map and if they see a prop, throw in a random factor if they shoot at it, if not a player stop and move on. If the prop moves and is jumping and obviously an enemy, chase that guy. When the prop changes and the enemy is lost, they lost their enemy in their tiny bot brain and have no idea where they went. Though,

AI in UT i think is only customizable in the game type class right? I see functions upon functions within the CTF class and Assault classes for bot AI. it would be so much better if the gametype had a bot class to spawn the bots as and have all their functionality in those classes, much like scripted pawns and monsters. It is the next learning step, and is also food for thought.
User avatar
'Zac
Experienced
 
Posts: 95
Joined: Tue Jul 29, 2014 9:35 pm
Location: NC
Personal rank: Who knows.

Re: New PropHunt for UT99

Postby PrinceOfFunky » Wed May 02, 2018 12:58 pm

Well I'll try thinking at some suggestions, other than using AdvancedMutator which I think is too late at this point XD.
The nalis usually escape the player if the player shot them, this behaviour in conjuction with someting like PlayerCanSeeMe() or this could make the AI stay when the player can see them and escape when the player doesn't.
A list of meshes that potentially make sense near the one the AI is using could be needed.
Every mesh of the same type should share the same collision.
Image
User avatar
PrinceOfFunky
Inhuman
 
Posts: 931
Joined: Mon Aug 31, 2015 10:31 pm

Re: New PropHunt for UT99

Postby papercoffee » Wed May 02, 2018 5:36 pm

randomly should some meshes be dropped to confuse the hunter. Or else well known maps (I know some geeks know every pixel of a map) are no fun.
But be aware that those random decos should never be dropped on a path between pathnodes or bots will get stuck there.
User avatar
papercoffee
Site Staff
 
Posts: 8777
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Re: New PropHunt for UT99

Postby 'Zac » Wed May 02, 2018 11:40 pm

Hmm, not a bad idea papercoffee. Maybe replace pickups in the map with random decorations?
I like that though, because I want this mod to be very mapper friendly and have maps ported over to PropHunt very easily, no importing the class or putting in special nodes or anything, just swap gametype and maybe tweak a few things and that's it. Though, great idea! I'm fully open to ideas like this :)

Just released another version, it's way better than 1.0.0a.
- Added rules menu before starting a game
- Hider Selector allows behind view ( right click )
- Hider Selector now has accurate prop ownership, sticks to ground.
- Added ' You have died, you must wait until round is over ' when a player has died.
- Changed default model from the UnrealShare.Barrel to the UnrealShare.Vase
- Fixed the weird angle at the start of hide time for Hunters, now they start off looking straight down.
- Changed the Hider selector to be of TournamentWeapon instead of sniperrifle, removed the sounds and models. ( third person model still there for testing purposes )

http://www.moddb.com/mods/prophunt-for- ... phunt-110a

Stay hidden or die trying!
Attachments
Shot0058.png
new_rules.png
User avatar
'Zac
Experienced
 
Posts: 95
Joined: Tue Jul 29, 2014 9:35 pm
Location: NC
Personal rank: Who knows.

Re: New PropHunt for UT99

Postby sektor2111 » Thu May 03, 2018 5:37 am

I'm "fascinated" about what I was reading above especially A.I. things.

I see here that you wanna try to do some Bot support for this game-type but I see the people are really "encouraging you" very "nice". I might recommend to ignore such posting against Bot especially when they are Negative by default and BOT HATERS since forever :pfff: .
I see here
PrinceOfFunky wrote:The nalis usually escape the player if the player shot them, this behaviour in conjuction with someting like PlayerCanSeeMe() or this could make the AI stay when the player can see them and escape when the player doesn't.
Nothing useful for developing Bot Support :loool: . and PlayercanSeeMe() is damaging a NON XC server - go to sleep - 0 (zero) Bot help here
papercoffee wrote:You would need a new kind of bot with intelligent dumbness.
like a smart BOT which can be dumb if game directives are properly set as long as a smart guy can be easily stupid on demand, but a stupid one cannot be smart not even after taking a brain stimulus.
Feralidragon wrote:I don't really see the appeal to play it against bots, it's no fun to bamboozle a bot, but an actual player on the other hand...
Seriously ? Another game for 0 (zero) game Off-Line and directly dependent by others - especially which are leaving in 4-5 minutes - very nice indeed ? Thanks for suggestion anyway :thudown: .

Zac, keep looking for a solution and do not forget to take in account default factors.
A few points:
- keep in mind that navigation Stuff can be part of game see CTF and Domination, objectives there are dependent on them - FlagBase and ControlPoint;
- When you do need to call Bot at game participation you have a default function which Bot is calling before to do what he knows to do - in game controller if this is a TeamGamePlus child game-type:
Code: Select all
...
function bool FindSpecialAttractionFor(Bot aBot)
...
This is the main Bot core in TeamGamePlus games.
In this function you can deal with various bool values (maybe self explanatory) bIsHidder, bIsHunter, bTeamIsHidden, etc. These can be associated with whatever stuff - an additional controller checking itself things without over-loading Bot's task. You can even use Tags for Bots if I'm not mistaking.
Now let's see what Bot might use (located in Pawn so even PlayerPawn can use them as well):
- native(518) final function Actor FindPathTo(vector aPoint, optional bool bSinglePath,
optional bool bClearPaths);
This usually doesn't need too many deals with those optional components because you might see funky things happening. It is used for checking if exist a route to a point in space.

- native(517) final function Actor FindPathToward(actor anActor, optional bool bSinglePath,
optional bool bClearPaths);
This one is used in default matches coded by Epic - Mother-Factory.

- native(540) final function actor FindBestInventoryPath(out float MinWeight, bool bPredictRespawns);
This can be also re-called (Bot already uses it as an alternate option when some "item" is set with high desire by some factor in certain conditions. Here you can use your imagination...

Another one which they did not use but here you can capture a random spot - *maybe this is suitable for such a game-type (I guess might help even in Soccer game):
- native(525) final function NavigationPoint FindRandomDest(optional bool bClearPaths).

Bot internal stuff:
- ShootTarget()
Code: Select all
   function ShootTarget(Actor NewTarget)
   {
      Target = NewTarget;
      bFiringPaused = true;
      SpecialPause = 2.0;
      NextState = GetStateName();
      NextLabel = 'Begin';
      GotoState('RangedAttack');
   }
Available often because roaming is Bot's default state if map has PATHS not crap.
Here is the Bot thing dealing with TeamGamePlus:
Code: Select all
   function PickDestination()
   {
      local inventory Inv, BestInv;
      local float Bestweight, NewWeight, DroppedDist;
      local actor BestPath;
      local decoration Dec;
      local NavigationPoint N;
      local int i;
      local bool bTriedToPick, bLockedAndLoaded, bNearPoint;
      local byte TeamPriority;
      local Pawn P;

      bCanTranslocate = ( Level.Game.IsA('DeathMatchPlus') && DeathMatchPlus(Level.Game).CanTranslocate(self) );
      if ( Level.Game.IsA('TeamGamePlus') )
      {
         if ( (Orders == 'FreeLance') && !bStayFreelance
             &&   (Orders != BotReplicationInfo(PlayerReplicationInfo).RealOrders) )
            SetOrders(BotReplicationInfo(PlayerReplicationInfo).RealOrders, BotReplicationInfo(PlayerReplicationInfo).RealOrderGiver, true);
         if ( FRand() < 0.5 )
            bStayFreelance = false;
         LastAttractCheck = Level.TimeSeconds - 0.1;
         if ( TeamGamePlus(Level.Game).FindSpecialAttractionFor(self) ) //THIS !!!
         {
            if ( IsInState('Roaming') )
            {
               TeamPriority = TeamGamePlus(Level.Game).PriorityObjective(self);
               if ( TeamPriority > 16 )
               {
                  PickLocalInventory(160, 1.8);
                  return;
               }
...
...
...


If you get the point how TeamGameplus do works together with Bot and what these natives can do, I can say that you have a start, and from that moment forward ignore any Bot Haters blabbering around, just keep doing your job.
Hint: If Bot needs a sort of value/string which he doesn't have, give it some actor owned having that needed stuff (as replication does). Then you can check these (even chained as Higor is doing if is not hard for you) and these can be tested from "Attraction" code which is not only an attraction thing as name is pointing, there can take place more things before returning that True or False.

What I'm not encouraging at all it's a game changing meshes and forcing engine to run null animations, that's not what I would ever recommend.

PS: When I'm looking at such Bot "thoughts" posted, encouraging development like that, probably my next visit here will be after at least 2 weeks and maybe I will reduce more the forum reading out of XCGE section. I did not see any recommendation but... things like "I think it's not possible", "it's not suitable", and other mooing-type posting :sleep: . While last time I was working at A.I. stuff generally, I see here something like an entire campaign against Bots so I'm motivated to not release anything from which I do.
User avatar
sektor2111
Godlike
 
Posts: 3521
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: New PropHunt for UT99

Postby papercoffee » Thu May 03, 2018 3:38 pm

sektor2111 wrote:I'm "fascinated" about what I was reading above especially A.I. things.

I see here that you wanna try to do some Bot support for this game-type but I see the people are really "encouraging you" very "nice". I might recommend to ignore such posting against Bot especially when they are Negative by default and BOT HATERS since forever :pfff: .
[...]
PS: When I'm looking at such Bot "thoughts" posted, encouraging development like that, probably my next visit here will be after at least 2 weeks and maybe I will reduce more the forum reading out of XCGE section. I did not see any recommendation but... things like "I think it's not possible", "it's not suitable", and other mooing-type posting :sleep: . While last time I was working at A.I. stuff generally, I see here something like an entire campaign against Bots so I'm motivated to not release anything from which I do.

Maybe you should reread our posts.
No one did hate bots, but had concerns about the default bots acting right in this new game type. Where bots have to stay still (the hider) or escape when the player doesn't look at them, or have to search (the hunter) and not directly finds you and shoot.
That's why I wrote about an intelligent dumbness. Artificial human like dumbness is not an easy task.
Different than a human player can a bot see you through the entire map ...the bot must be able to be tricked into the wrong direction and aim for the wrong decoration mesh. Or for the hiding bot, to stay put until an opponent has passed by and the line of sight gets blocked by a mesh or bsp.

Yes, we are guessing about bot behaviour, because you, who has more knowledge about Bot AI, is very inactive in the last time.
Don't blame us. :P
User avatar
papercoffee
Site Staff
 
Posts: 8777
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Next

Return to GameTypes

Who is online

Users browsing this forum: No registered users and 1 guest