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-ut99There'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 roundfor 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 andavoid 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=200HiderHealth - How much health the hiders have to start, recommend keeping this around default. default=50HideTime - 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 secondsRoundTime - Length in minutes for each round ( not including Hide Time ). default=2RoundsToWin - The team goal to get to for their team to win the game. default=7

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!

For many of us it's just a dream.They are guided by the mainstream.You need some balls, some self-esteem?Come join us at the substream!

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...

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...

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.

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...

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.

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.

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.

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 )

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 .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.

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 .

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:

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(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).

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 . 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.

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 .[...]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 . 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.