Bot Psychology

Discussions about UT99
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Bot Psychology

Post by hee »

Does anyone know what the specific mental disorder is that causes bots to run in place without getting anywhere? You can shoot them and it will sometimes cure them (like shock therapy I presume), but it will not be long before another bot gets stuck in the same place.
Buggie
Godlike
Posts: 2733
Joined: Sat Mar 21, 2020 5:32 am

Re: Bot Psychology

Post by Buggie »

Append to UnrealTournament.ini

Code: Select all

[Botpack.Bot]
bVerbose=True
Now when you spectate bot you will see what he want.

It is easy built-in way. Also exists mutators like MindReader and so on.

Usually bot stuck when can not reach position. or try reach but condition not met.
For example if path need from bot fly or in conflicts with other rules like "do not jump if direction is more 45 degrees".
So bot want walk on this way but can not. And stuck.

Or try reach something by path, but path is messed with obstacles and bot simply stuck.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: Bot Psychology

Post by Gustavo6046 »

Sigmund Freud would know. When he invented psychoanalysis he was probably actually referring to UT's bots. :P
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
OjitroC
Godlike
Posts: 3613
Joined: Sat Sep 12, 2015 8:46 pm

Re: Bot Psychology

Post by OjitroC »

hee wrote: Thu Nov 05, 2020 11:13 pm Does anyone know what the specific mental disorder is that causes bots to run in place without getting anywhere?
As Buggie says, basically poor bot pathing in a map - use sektor's MapGarbage tool for UEd and have a look at the map(s} where that happens - you may be able to work out why. You'll also get a better bot experience if you use sektor's MBots.
User avatar
EvilGrins
Godlike
Posts: 9695
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA
Contact:

Re: Bot Psychology

Post by EvilGrins »

Bad pathing.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Bot Psychology

Post by sektor2111 »

Running in place depends on some factors (games and maps more exactly)
- They do this in MonsterHunt out of path to waypoint brute-forced by a code which doesn't check if exist any reason to push Pawn - order attacking;
- They do this temporary while are "waiting" an item to respawn in "TeamGamePlus" types;
- They do this in maps/games with Impossible Paths - not rarely seen as long as an easy mapping task as Bot Support is hard to do for majority who think they know more about Bot Support but demonstrating exactly the reversal side messing up combos with paths impossible to follow and through the walls. Else in maps like MH-Purgatory a bad placed PathNode (almost buried) causes a movement lock-down on some stairs as long as Bot cannot walk into stair for "touching" Node. The other way, is a Node having high placement or a similar situation.

In different terms you can talk about mapper psychology instead, or mapping mental damage. Bot just follows what map is saying - Bot did not map anything. If map is saying "Move up" Bot will fail here running in place trying to reach at high point in R_Special type paths. COMBOS are BIDIRECTIONAL not One-Way path unless you are capable to delete one or two damaging reachspecs and blocking "flight" back.

Sektor's study - asses Phys_Flying and bCanFly at Bot when it runs in place. Go figure if is moving somewhere, if yes, there is a borked path. Solving such a path is another chapter OFF-Topic here.

Unfortunately in MapGarbage there is no feature (yet ?) for showing impossible paths unless solutions will return False positives in combos which are having a strategic placement for acting as One-Way paths and then here is needed more processing, going closer to engine's iterations limit (ignoring your awesome CPU :P )even if we talk about Editor which should not have these restrictive practices during editing, but code can be written and will have its risks.
Last edited by sektor2111 on Fri Nov 06, 2020 5:28 am, edited 1 time in total.
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Re: Bot Psychology

Post by hee »

Buggie wrote: Thu Nov 05, 2020 11:23 pm Append to UnrealTournament.ini

Code: Select all

[Botpack.Bot]
bVerbose=True
Now when you spectate bot you will see what he want.

It is easy built-in way. Also exists mutators like MindReader and so on.

Usually bot stuck when can not reach position. or try reach but condition not met.
For example if path need from bot fly or in conflicts with other rules like "do not jump if direction is more 45 degrees".
So bot want walk on this way but can not. And stuck.

Or try reach something by path, but path is messed with obstacles and bot simply stuck.
I think I understand your diagnosis. The bot has desires that cannot be fulfilled in the real world so he is unsatisfied, but to relenquish his desire and follow a different path is difficult, because the gains for him are not sufficient. He therefore becomes obsessed with his main desire and ends up in a neverending cycle of failure and frustration. He simply cannot progress.

You mention a therapy to remove those things that block his goals, but I do not think that is the problem. Is it possible that he has too many options that appear equally desirable so becomes confused and cannot decide at all, thus becoming apathetic and just ends up going through the motions without any real hope of success?
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Bot Psychology

Post by sektor2111 »

hee wrote: Fri Nov 06, 2020 5:24 am Is it possible that he has too many options that appear equally desirable so becomes confused and cannot decide at all, thus becoming apathetic and just ends up going through the motions without any real hope of success?
Bot doesn't work this way.
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Re: Bot Psychology

Post by hee »

sektor2111 wrote: Fri Nov 06, 2020 5:21 am Running in place depends on some factors (games and maps more exactly)
- They do this in MonsterHunt out of path to waypoint brute-forced by a code which doesn't check if exist any reason to push Pawn - order attacking;
- They do this temporary while are "waiting" an item to respawn in "TeamGamePlus" types;
- They do this in maps/games with Impossible Paths - not rarely seen as long as an easy mapping task as Bot Support is hard to do for majority who think they know more about Bot Support but demonstrating exactly the reversal side messing up combos with paths impossible to follow and through the walls. Else in maps like MH-Purgatory a bad placed PathNode (almost buried) causes a movement lock-down on some stairs as long as Bot cannot walk into stair for "touching" Node. The other way, is a Node having high placement or a similar situation.

In different terms you can talk about mapper psychology instead, or mapping mental damage. Bot just follows what map is saying - Bot did not map anything. If map is saying "Move up" Bot will fail here running in place trying to reach at high point in R_Special type paths. COMBOS are BIDIRECTIONAL not One-Way path unless you are capable to delete one or two damaging reachspecs and blocking "flight" back.

Sektor's study - asses Phys_Flying and bCanFly at Bot when it runs in place. Go figure if is moving somewhere, if yes, there is a borked path. Solving such a path is another chapter OFF-Topic here.

Unfortunately in MapGarbage there is no feature (yet ?) for showing impossible paths unless solutions will return False positives in combos which are having a strategic placement for acting as One-Way paths and then here is needed more processing, going closer to engine's iterations limit (ignoring your awesome CPU :P )even if we talk about Editor which should not have these restrictive practices during editing, but code can be written and will have its risks.

I have seen some odd behavior. I have a series of 6 complex lifts. They all work in a similar fashion. With some lifts the bots will wait patiently for the lift and others they will run in place while waiting for the lift. This is no problem for play, but it seems somewhat curious. There were other cases that were fixed by adjusting the navigation points. It also seems to happen with multiple interconnected paths even when all paths are doable. This is why I mentioned to Buggie the possibility of too many choices.

I am not sure I am using the alternate paths correctly. I have a lot of them branching at different points. Usually if there is a bad path, the bots simply ignore it, but I wonder if in some cases the alternate paths are giving the bots mixed signals.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Bot Psychology

Post by sektor2111 »

There is no mixed signal or multiple options, Engine is mapping the shortest route to a goal - AlternatePath goes as goal if used, before a FlagBase.
Waiting timers while they run in place is coming from Botpack TeamGamePlus fantasies. Yeah, one of my reasons for rewriting/using some other Bots was exactly this EPIC style.
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Re: Bot Psychology

Post by hee »

Thanks all for the input. I will get this map working (eventually) and make it available.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Bot Psychology

Post by sektor2111 »

Another note, when Lift Paths are not exactly Lift Paths, the lift is not talking to the Bot as it should, because YES, movers have A.I. code which won't be used telling at Bot to Wait.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: Bot Psychology

Post by Gustavo6046 »

sektor2111 wrote: Fri Nov 06, 2020 5:42 am
hee wrote: Fri Nov 06, 2020 5:24 am Is it possible that he has too many options that appear equally desirable so becomes confused and cannot decide at all, thus becoming apathetic and just ends up going through the motions without any real hope of success?
Bot doesn't work this way.
Guys, Bot is simple, don't overthink them! They're mostly just ants who walk around for food and retaliate at perceived threat. Here, let me explain this for you.

The Bot class obviously is not comparable a human mind. It's not even a neural network or machine learning of any sort (even Quake 3's bots aren't, and those did have rumors about learning to peace after running in an idle server for a long time, buuuuut those are false and just made up... but I can dream!). Steve Polge was pretty good at making AI adversaries, but just before that he was doing one of the first bots in Quake 1 history, the Reaper Bot, and being first usually means being simpler - which of course holds true here, as it was superseded by later instances like the Omicron Bots and, later, the FrikBots.

In UT the Bot is actually a state machine, which actually is a very good way to approximate a structured "plan" of action without actually needing any nuanced consideration of the values of actions to be implemented (such as would happen in reinforcement learning). As such it cannot learn, and just follows static routines, although adjusting the values (and positions and such!) of NavigationPoints in a map will allow control of Bot behavior to some extent. That's why bot support in a map is perhaps the most important part of implementing an actually formidable computer opponent for the player to take on, rather than a brainless rubber duck.

What it actually does is look for good pickups when not engaging a target, and hunting when it does or has a reason to. This differs in gametypes like Assault, where it will always try to path to the next objective, picking up items that happen to be along the way rather than actively seeking them. Still, if they cannot reach the next objective for some reason (which is actually a bad thing in an Assault map), they will still path to the items around them, in order from best to worst. Polge's pathfinding algorithm ensures that the bots always try to find the shortest path from their current position to the desired destination, said desired destination usually being either the best item (highest desireability over distance ratio) or the enemy they're hunting.

This borderline simple loop is very algorithmic, and cannot be described as a mind, or anwyhere close to a subject of psychology. Despite the presence of 'strategic' states, like Hunting, and simple concepts which resemble "attention", like goals (CTF flags, Assault objectives, Domination control points, etc.), from a high level perspective this is a very simple and straightforward process, complicated only by the number of paths to traverse to get somewhere, of actions that allow such traversal (translocating, impact jumping, teleporters AKA jump pads, etc), goals, items, and also relatively simple (most of the time) combat behavior in general.

It is still possible to do something like machine learning in Unreal Tournament. The field itself is very broad, but I can see how simpler kinds thereof could be implemented; even neural networks, complete with matrices of weight and bias, could potentially be done with the magic of UnrealScript! For its time, UnrealScript was revolutionary, and the number of awesome things it can do is only proof that it deserved all the praise it got in the heyday of classic Unreal Engine. Nonetheless, there's a lot of simple things that could be considered machine learning. Even simply Bots associating certain places with success (fragging more) or defeat (being fragged, as in vulnerable positions) and preferring areas where they're most proficient is, in a way, machine learning.
Please don't do that in CTF-November. My feeble mind cannot even imagine the sweat in my hands after being completely wrecked by some stupid Blue Team idiots in those stupid sniping foxholes, but twenty times more than they already do! Argh...

However, Bot is still a very simple process. It is wrong to apply psychology to a simple cycle like this. Psychology is concerned, above all, with understanding patterns of behavior, not because we do have predictable patterns of behavior, but rather the opposite -- because our minds are essentially black boxes and our decisions are often much less clear than they might even seem to ourselves. We are endowed of rationality and emotions, and both play into our decisions and day to day lives, often less conscious ones than we would judge (or wish) them to be. They drive us, and each other, in mysterious manners that, even in the 21st century, amidst this boom of science, we have but difficulty fathoming (let alone explaining).

Concluding, Psychology is trying to untangle the fabric of our minds, yet it's the most knotted and twisted cloth we have ever met. Pretty much the opposite of how Bots operate - no psychology goes into search, seek, kill.
Last edited by Gustavo6046 on Tue Dec 08, 2020 5:39 pm, edited 4 times in total.
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
MEAT
Adept
Posts: 301
Joined: Tue Apr 22, 2008 4:14 am
Personal rank: better then you...
Contact:

Re: Bot Psychology

Post by MEAT »

I've seen bots do some crazy things that would make you scratch your head and wonder...but at the same time I've seen some real stupid repetitive stuff. :facepalm:

viewtopic.php?f=15&t=11989&p=94870#p94870
Image
User avatar
papercoffee
Godlike
Posts: 10447
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: Bot Psychology

Post by papercoffee »

@Gustavo6046
This was actually pretty deep.
Post Reply