What mean "make bots smarter"? Describe in details with examples

Discussions about UT99
Buggie
Godlike
Posts: 1652
Joined: Sat Mar 21, 2020 5:32 am

What mean "make bots smarter"? Describe in details with examples

Post by Buggie » Mon Sep 05, 2022 7:47 am

Players often want bots be more "smarter" in game. What this is mean?
Provide clear description with exact examples.

User avatar
Que
Masterful
Posts: 578
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: What mean "make bots smarter"? Describe in details with examples

Post by Que » Mon Sep 05, 2022 8:00 am

I would like to see bots use DoubleJump if enabled on the server.
the distance between nodes is calculated and the bots would do timed jumps to get onto ledges within reach of doublejump.
also even smarter , dodge jumps.. when possible

Automatically merged

FNN has doublejump mod inside . Some jumps need to be timed with a small delay between jumping. Rather then jump,jump.

Jump , wait for .1seconds , jump
*Join our Discord Here.*
Our most popular mods - MVX , SSB , SmartWFL , UTCmds
Show
~Our Servers~

Buggie
Godlike
Posts: 1652
Joined: Sat Mar 21, 2020 5:32 am

Re: What mean "make bots smarter"? Describe in details with examples

Post by Buggie » Mon Sep 05, 2022 8:21 am

Well... After I make DiagonalDodge actor, which allow bots use Diagonal dodge for reach things on CTF-XV-Idleness map, I found few observation:

1. Bots always do this perfectly. This mean they do this diagonal jump ideally, which is almost unachievable by real player in real game (or it must be VERY skilled). So I even introduce random factor for make it less ideal.

2. Bots able do it instantly. No any preconditions or preparations. Human need preparation. If no room for preparation - no diagonal jump. Bot - not need at all. It just jump.

After that I realize - possible make bots moving like pro players (dodje, jumps and so on), but it be too good for average player.
Even now, normally run bot with your flag (CTF) leave almost no chance catch it again after you be killed. Except some long maps.

Imagine what it be if they move in crazy style with diagonal dodge?

Normally bot run at 400 speed. With dodge speed can be increased to 600 periodically. With diagonal dodge up to 721.
If bot always do this ideally then you simple not able chase it. Even if you skilled.
If you not skilled, it can be disaster.

With doublejump: unfortunately there no common thing called doublejump. It is all custom different mutators which do different things and not expose hat they actually do and how. You need read code, for know all possibilities.
Unfortunately uscript can not read code itself. So hard make support of all doublejumps. But possible can for some specific mutators with specific settings.

But there same pitfalls as with diagonal jump. let's assume bots know diagonal dodge + jump. They able move incredible fast.
This mean if they carry your flag, they runaway from you. And if you carry flag, they chase you very fast and kill you.

What you think about that?

Automatically merged

I recently found one unpleasant thing about bots - they change minds too often.
Let's assume bot inside jeep. Jeep is wheeled vehicle which can run fast forward and backward, can turn but awful slow turn for goes opposite direction. Also this need space for make turn. If no space it goes be totally slow and consist of a lot movement, like car do on parking.

Bot: I wanna reach enemy flag.
Jeep: No problem. There nice thin road which lead straight to flag.
Bot: I hear something near my flag. Need return check.
Jeep: Oooookey... I will try turn for you.
*Jeep start slow turning
Bot: Well... look like nothing serious. I wanna gonna to flag.
Jeep: Oh... Flag... Well we can do that, I think...
*Jeep start turn back.
Bot: Or no. Someone call help on base. I need it be here ASAP!
Jeep: ...
* Jeep try turn back
Bot: False alarm. They deal with it.
Jeep: &%%^%^&!!!
* Jeep try turn forward
Bot: Hmm. Possible I gonna check my flag for be sure.
Jeep: !!!
* Jeep eject bot

So now I consider learn vehicles (jeeps) be driven backwards by bots. Yes, it is unnatural, but in such conditions can prevent jeep be tangled on corridor, try turn few times per minute.

This expose another problem - bots can do very complicated things without any headache. For example bot can perfectly drive jeep backwards, and in same time shoot you with nice precision.
Rare human player able do both task in great quality.

Without vehicles it appear in ability bot notice you even you goes from unexpected ways. You can fool players by that, but not bots. Bots always see you, Doesn't matter how tricky way for appear you choose.
They put bullet in your head in same accuracy if you walk in front to bot. No any difference.

So play against bots lost factor of "unexpected appearing".

User avatar
_21
Novice
Posts: 23
Joined: Mon Aug 30, 2021 10:51 am

Re: What mean "make bots smarter"? Describe in details with examples

Post by _21 » Mon Sep 05, 2022 10:53 am

A smart bot would mimic human behavior. With all human flaws and everything.
And they are built with difficulty slider in mind, so you can get pro player bots
who are able to use all the tricks or beginner bots who look around aimlessly
before choosing a direction to run at.

I think this is the most important thing: human-like flaws and difficulty slider.

So if they can diagonal jump from time to time, or use a few dodges
from time to time like people actually do that's fine. Add delay
between dodges so its similar to the rate at which humans pull it off.

Bots have deadly aim at close range while humans usually circle
around each other desperately trying to aim and shoot. I think some
more randomness added here would help.

Bots have trouble jumping across obstacles that even someone new to the game can do.

Bots stop moving to trans-locate, people in general keep moving
so they don't get hit as easily.

I've seen bots try to use the lift while the lift is already moved up.
Sometimes they get stuck beneath the lift.

Bots take a straight line from point A to point B. This is predictable and can be exploited.

A lot of these things are hard to solve I believe, and all these aspects can be improved forever
and ever and ever. So a lot depends on where you want to focus your energy.

User avatar
papercoffee
Godlike
Posts: 10148
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.

Re: What mean "make bots smarter"? Describe in details with examples

Post by papercoffee » Mon Sep 05, 2022 11:18 am

Bots can't see models ...meshes are invisible for bots and they tend to get stuck when one small mesh is in their path.
they don't even try to walk on them because there is nothing...

User avatar
sektor2111
Godlike
Posts: 5937
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: What mean "make bots smarter"? Describe in details with examples

Post by sektor2111 » Mon Sep 05, 2022 6:06 pm

papercoffee wrote:
Mon Sep 05, 2022 11:18 am
Bots can't see models ...meshes are invisible for bots and they tend to get stuck when one small mesh is in their path.
they don't even try to walk on them because there is nothing...
That's a DUAL issue (Engine and Bot) you should not blame Bot for what Engine does with internal natives - exactly like a path in a bad angle with a ledge. Engine is blocking Bot even if this one wants to move down just for a generic preservation to stay/wander on small things without falling.
_21 wrote:
Mon Sep 05, 2022 10:53 am
I've seen bots try to use the lift while the lift is already moved up.
Sometimes they get stuck beneath the lift.
Tell this to mappers and their "lifts"... some of these are buttons not lifts...

And... let's see... a Grenade or two were thrown in a spot. Bot keeps moving there without paying attention at them until is about a Biogel where sometimes is more cautious. When I'm sitting in a safe place and just killing them one by one, none of them takes future measures, they simply don't remember deadly spot for taking some measures - firing something in zone, not going there immediately, not trying to eliminate threat Before re-trying to pick the damn thing again and again. And... I know such maps and spots where you can gain score just because they are forgetting their previous deaths - a lot of deaths. I think Botz are having some "memory" here if I'm not mistaking.

Stuff whatever...
Something of interest like a shield is not having paths but closer nodes. Bot won't get this if there is no direct path. I think the problem can be solved - including for a dropped weapon which Bot doesn't have (they can find a Flag thrown away or a MonsterWayPoint - lol - see "Hold Position" stuff).

Edit: Even recently I see a PathNode added nearby a kicker but going nowhere - no logic route. No bot will ever try to see what's up with that kicker or it starts a jump-loop without altering the fall anywhere. As you see I'm not talking about "chess player type Bot", I'm thinking at clumsy boys ( BOTH mappers and Bots ) which cannot manage really simple things. I did not see Epic mapping paths right inside a kicker but... ignoring Epic solutions was never a good thing. SMS for cube-drawers: Kicker is not a Bot goal and never was.
Kicker reacts like a movement bugger not like a goal - you should have a logic path through a kicker and not an END-POINT inside kicker.

Old UT Veteran
Experienced
Posts: 146
Joined: Sat Mar 24, 2012 1:37 am

Re: What mean "make bots smarter"? Describe in details with examples

Post by Old UT Veteran » Mon Sep 05, 2022 7:30 pm

I see this topic in 2 ways. One section deals with navigation and the other with combat.
Just quickly mentioning:

Taking some notes from the successor ut2004 in terms of navigation:
- smarter or more skilled bots can dodge around the map to reach certain areas quicker. This is dodging outside of combat.
- translocation when moving(see below for more info) & impact jumping as well.

Combat wise what i've seen bots outside of ut99 do better:
- bots are more prone to retreating and are better at keeping distance when needed - less rushing. As a side note, I've noticed players online in general tend not to be aggressive enough to charge at the other player directly.
- bots have a small chance of dodging if player's crosshair is within a certain 'zone' of their model. As the player points their crosshair, bot can dodge as a reaction. (UT2004?)
- bots are better at executing shock combos in ut2004 and they rarely stand still when doing so - same with sniping on big maps.

Some things bots do annoyingly:
- run in straight lines most of the time. predictable movement via 'shortest' path when in combat sometimes.
- dodge right or left only, and at specific distance most of the time. Can not doge back or forward.
- attack a fully stacked player directly.
- ut99 "jumping behavior" setting for bots makes them jump up half the distance a regular player does and they also land like 50UU from where they jumpled :loool:

In general ut99 bots feel like they are far easier to hit when compared to a regular player. Too predictable.
Perhaps some of the animations don't always match what the player would appear like, so they seem more rigid.

To help out a tad:
_21 wrote:
Mon Sep 05, 2022 10:53 am
Bots stop moving to trans-locate, people in general keep moving

so they don't get hit as easily.
Sektor has done some work with his actor that can be placed on map and modified. It causes the bots to translocate while navigating. So as you figure, bots are quicker on the map and whenever they detect a shortcut, they will throw a shoot a translocator disc. In addition, depending on the actor, bots will no longer stop at the beginning of a transloc chain.
I've done some testing and extensive modifying, and showed it to sektor a while back. This was a long time though. Here is a video of that testing:

https://vimeo.com/manage/videos/538173481

Basically, we can have bot running and teleporting. We can also have bot translocate 1-3 times quickly so that their feet don't land on the ground before they reach objective.
I don't remember the map that had the bot actor that caused them to translocate 2-3 times to reach destination, but I have the post that had the actor that makes bots translocate when moving on map here:

viewtopic.php?t=12729#p106163

Buggie wrote:
Mon Sep 05, 2022 8:40 am
Imagine what it be if they move in crazy style with diagonal dodge?
You might have more features or ideas in mind. Though i feel like this is nice to be included here since it pertains to topic:
viewtopic.php?f=5&t=4097&p=40849&hilit= ... int#p40849

And yes, bots have no errors performing crazy tricks. Maps like dm-spheres for example, or anything else that uses slopes in combo with diagonal dodges to reach certain areas or shortcut.
* credits to sektor and Higor for the mentioned above.

User avatar
OjitroC
Godlike
Posts: 3026
Joined: Sat Sep 12, 2015 8:46 pm

Re: What mean "make bots smarter"? Describe in details with examples

Post by OjitroC » Mon Sep 05, 2022 8:06 pm

Old UT Veteran wrote:
Mon Sep 05, 2022 7:30 pm
It causes the bots to translocate while navigating. So as you figure, bots are quicker on the map and whenever they detect a shortcut, they will throw a shoot a translocator disc.
There is a problem in team games when bots translocate whilst navigating - I used to play a lot of TDM with 2 small teams of 3 or 4 bots plus me leading my team, keeping the team together to gain a tactical advantage over the opposing team - some of my bots were MBots (I forget which version) and they had a tendency to translocate quite a bit - since I was out in front I would not infrequently get telefragged by one of my team - which was, to say the least, annoying. So there is a downside to the propensity to translocate whilst navigating- which is not to say that there are positive aspects, just something to bear in mind.

Old UT Veteran
Experienced
Posts: 146
Joined: Sat Mar 24, 2012 1:37 am

Re: What mean "make bots smarter"? Describe in details with examples

Post by Old UT Veteran » Mon Sep 05, 2022 8:31 pm

OjitroC wrote:
Mon Sep 05, 2022 8:06 pm
Old UT Veteran wrote:
Mon Sep 05, 2022 7:30 pm
It causes the bots to translocate while navigating. So as you figure, bots are quicker on the map and whenever they detect a shortcut, they will throw a shoot a translocator disc.
There is a problem in team games when bots translocate whilst navigating - I used to play a lot of TDM with 2 small teams of 3 or 4 bots plus me leading my team, keeping the team together to gain a tactical advantage over the opposing team - some of my bots were MBots (I forget which version) and they had a tendency to translocate quite a bit - since I was out in front I would not infrequently get telefragged by one of my team - which was, to say the least, annoying. So there is a downside to the propensity to translocate whilst navigating- which is not to say that there are positive aspects, just something to bear in mind.
Yes. You would see bots telefrag enemy bots too though :ironic: Regardless of what happens, they still translocate based on the placed path nodes on the map. So if u happen to stand on one or near one node, that might happen.
For the most part, I think the positives outweigh the negatives by a lot. Matches are a lot more lively and fun. Also, since the actor is part of "mylevel" you can save the actor settings to each map. You can specify: a) how far a bot can toss a disc b) how often a bot can translocate

You could probably do more of course: bots can translocate based on skill or maybe their preferred behavior (cautious, aggressive, etc...). Like any advanced mapping, it involves tinkering and testing. For map like CTF-face, you would probably want a bot that can translocate fast and far, as an example.

User avatar
Berserker
Experienced
Posts: 86
Joined: Fri Sep 27, 2019 5:08 pm

Re: What mean "make bots smarter"? Describe in details with examples

Post by Berserker » Tue Sep 06, 2022 3:08 pm

With AI gaining so much popularity these days, maybe best way would be to train an AI model by watching player live on a server, or watching demos to mimic their behavior.
Visit us on Discord:
https://discord.gg/fcRakgNCjR Image

User avatar
sektor2111
Godlike
Posts: 5937
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: What mean "make bots smarter"? Describe in details with examples

Post by sektor2111 » Tue Sep 06, 2022 8:02 pm

Let's say that we can prevent "Team-Telefrag" or different said "Team-TeleKills" with Translocator. As technical aspect here is needed other function and/or some checks. If the fast method fails, it will be needed an iterator (slow) - adding more and more executions perhaps is not good for performance at all + if we have a Translocator Spot where using Translocator is mandatory, what is supposed to do the Bot if a lolzer is wandering/camping around ? Finding another spot ? Oh well, other codes...
Berserker wrote:
Tue Sep 06, 2022 3:08 pm
With AI gaining so much popularity these days, maybe best way would be to train an AI model by watching player live on a server, or watching demos to mimic their behavior.
:agree1: Agree, I can even try to force a spoon to watch me playing UT... but first I need to paint some eyes on spoon...
Old UT Veteran wrote:
Mon Sep 05, 2022 7:30 pm
I see this topic in 2 ways. One section deals with navigation and the other with combat.
The thing is that these two are linked together, a very flawed pathing will need more extra-deals in Bot code, and here pathing flaws are almost endless... and this was the stage when I slowed down MBot things because... one thing fixed was bringing up another bug - endless work. Primary goal was to mitigate flaws added by Engine/Editor, but... it's more than that...
I would like to know certain data a few months (years ?) ago - related to Translocator - not getting over points sorting possible options from those 16 routecache actors but sorting options from an entire route if situation allows the stunt... this is mandatory in Bot code (or game-controller), external code might fail because of dynamics involved in chaining internal data from routing process, it needs to be done in a single execution frame or else next Pawn will remap a new route for itself (or only in a 1on1 match)... Also doing an ImpactJump elsewhere than JumpSpot would change a bit game style...
A Bot can be educated actually drop out a lousy path if he cannot follow it, but here you can go in a permanent lock down of that route, simply making a Bot to ruin Bot Support... and then... not much combat would be expected.

a9902957@nepwk.com
Average
Posts: 70
Joined: Thu Nov 03, 2011 5:12 am

Re: What mean "make bots smarter"? Describe in details with examples

Post by a9902957@nepwk.com » Fri Sep 09, 2022 5:32 pm

sektor2111 wrote:
Tue Sep 06, 2022 8:02 pm
[...]
Berserker wrote:
Tue Sep 06, 2022 3:08 pm
With AI gaining so much popularity these days, maybe best way would be to train an AI model by watching player live on a server, or watching demos to mimic their behavior.
:agree1: Agree, I can even try to force a spoon to watch me playing UT... but first I need to paint some eyes on spoon...
[...]
I guess you did not want to fully make fun of his statement with your spoon example. Likely just stress how much it takes for this/ hint at what it would require to begin with such a thing.
The thing is this even has kind of already been done, at least for UT2k4 with a middleware (an improved Gamebots IIRC) of which UT99 also has an older version.

https://nn.cs.utexas.edu/?mm-neat (The faculty of the UT^2 fame which itself featured a neural net with evolved weights for parts of the agent's inputs)
The following two papers show they also did a simpler database-backed version of what Berserker suggested ("watching humans"):
https://nn.cs.utexas.edu/?schrum:botprize2011 "UT^2: Human-like Behavior via Neuroevolution of Combat Behavior and Replay of Human Traces (2011)"
https://nn.cs.utexas.edu/?karpov:believablebots12 "Believable Bot Navigation via Playback of Human Traces (2012)"
https://github.com/topics/pogamut

Pogamut is awesome, gotta love UT^2, HolBot, the GladiatorBot and that GOAP structure using one realized with it.



[WHINE]This topic here is pretty dear to me because I mostly play gametypes that you guys or other UT players
(at least server admins) appear to have little to no interest in playing.

(Deathball/Frag*Ball, GemFeeder/Apprehension, MushMatch, BRUT/UTRoyale, Bounce!

So bots should do well. [/WHINE]

I love the BotChatCommand mutator.
I love FerBotz for their advanced use of the translocator, the cool supporting style by walking right beside the supported teammate mostly in sync
(can of course backfire with area of effect weaponry used against 'em) and other neat new tricks and smarts they get there.
I love the Pogamut/Gamebots stuff. Seriously check UT2k4 with that (navmesh navigation support, VisibilityMatrix for pathnodes or maybe even reachspecs which means
bots can know where the nearest/ best cover is or where upon your possible route which is partly obstructed to them it would make sense to lead a with a non-hitscan weapon to
so that the projectile is not wasted by hitting some level obstruction instead ...)


Sound tactical decisions under given situation (with gametype/objectives awareness).


Concrete example:
Deathball bots: These are pretty good, however if your team has the lead you can hold the ball in a corner of the map
and they will not get that you try to avoid them and not finally have one really determined to come forcing you to shoot/pass or lose the ball.

COMMUNICATE MORE
Gotta love when they tell you that they spot XYZ at ABC e.g.

Imagine MushMatch but a Mush that is spotted by a "human (team)" bot is not automatically clearly marked as
Mush for everyone including bots but instead an accusation would have to be made (and maybe tracked for a while).
Bots and human players would truely have to fully play out a social deduction/ amogus-like ;)


When it comes to vehicles they should know how advantagous(sp?) those are compared to walking by foot and
offer the player in some way, shape or form the opportunity to hitch a hike or offer the drivers seat, ask for pickup etc.

Same with cool gadgets (e.g. the BodySnatcher rifle in UT2k4, which allows upon hit to control the hitted target for a brief duration,
a hit with this in certain gametypes on the right target can be a gamechanger obviously).

User avatar
sektor2111
Godlike
Posts: 5937
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: What mean "make bots smarter"? Describe in details with examples

Post by sektor2111 » Sat Sep 10, 2022 7:53 am

Basically UT is... too basic. However Making Bots to work in a poorly or bad pathed map is doable. The only need in stage is some people capable to do things and addiction for this task (/these tasks).
#1 A mutator can be delegated to chase players and deploying paths at certain distance - a network is created over time based on Human steps and probably is never the same, less predictable since "ShowAll" won't reveal future Bot steps. Here we can have X discussions - too much for a forum;

#2 Another mutator (redundant post already) capable to connect to an A.I.-Server (similar to IPToCountry, MapInfo from MapVote, etc) and to download 20-30 kb of paths, throwing them in game and... done. In this server probably paths can be mapped depending on some timers in 4-5 formats for the same map - (Local Game Support ?). Maybe a half of task is shown in Botz mutator but all it's mapped in local stage not via Internet.
A.I. Server will need a Web-Page which admins can visit for reading about which maps are having ensured A.I. support - dynamic A.I. support if you ask me. Here can be added download links for maps since some mappers are "unique" giving the same generic names to different maps and we want to prevent loading wrong assets.

Advantage: Mapper won't waste time any longer with pathing and testing map - it's not like everyone understands physics from UE1 and logical connections. There will be 2-3 boys working on these faster (using Scripts for generating data).
As you can see, I'm seeing problem different, we don't really need uber smart Bots, we can do dynamic things involving less prediction and not "learning Bots" watching matches, which in UE1 it's probably only a story so far, taking memory resources. Things are doable more simple, with less resources concerning game-server but some external resources capable to deliver a random behavior with less prediction.
"They run in straight line between two nodes"
a - let me know if you won't see or know about the two nodes (hosted elsewhere not in map) - you won't know when they do a sudden deviation.
b - why would move other way on thin platforms and falling to death ? And why would not follow the shortest way to a weapon ?
c - Sample me three people here making dynamic nodes (movable nodes) in their maps...
d - child classes of stock Bot perhaps can manage to skip nodes randomly - and doing more than following stock rules.

#3 Bots won't get smarter when map has impossible paths. They go smarter if they can examine lousy spots and de-referencing offending paths insulting their poor intelligence. Perhaps if I'll capture some images of these TRASH paths, "mappers" will feel offended, I really don't need to start a flame war.