Bot pathing
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
Yeah, basic element is the pathnode (apple).
Any Inventory - weapons, armors, ammo - are also part of paths. Is useless to have a pathnode between more Inventories (will obfuscate Bot orientation due to a high number of paths useless for a single area). You have to spread them a bit for better results.
Other Navigation Points:
- Teleporters (any);
- LiftExit;
- Lift Center (any family);
- Ambushpoint;
- AlarmPoint;
- etc. I don't need to spam - Just open editor and expand class NavigationPoint to see how many things are parts of paths.
If you have doubts about any of them, let's see together what is about.
Any Inventory - weapons, armors, ammo - are also part of paths. Is useless to have a pathnode between more Inventories (will obfuscate Bot orientation due to a high number of paths useless for a single area). You have to spread them a bit for better results.
Other Navigation Points:
- Teleporters (any);
- LiftExit;
- Lift Center (any family);
- Ambushpoint;
- AlarmPoint;
- etc. I don't need to spam - Just open editor and expand class NavigationPoint to see how many things are parts of paths.
If you have doubts about any of them, let's see together what is about.
- Hook
- Posts: 3444
- Joined: Fri Feb 16, 2007 9:41 am
- NoMoreSpam: Silver
- Location: Minnesota USA (Just West of MPLS - by a pond beneath a tree - Dead & Buried)
- Contact:
Re: Bot pathing
The "paths" are actually drawn as a bee-line between navigation points - or between the pathnodes (little apples)
=Hook= of Hook's UT Place - Hopelessly Addicted to UT99!
Forum: https://hooksutplace.freeforums.net
CROSSBONES Missile Madness {CMM} (GT Top 50)
PRO-Redeemer | PRO-SNIPER-Redeemer | SEEKER-Redeemer
Birth Place of ALL Seeker/Scoped Deemers!
IP: NEW IP to come!
CROSSBONES Monster Hunt {CMH} (Special Edition MH by mars007)
IP: 108.61.238.93:7777
Forum: https://hooksutplace.freeforums.net
CROSSBONES Missile Madness {CMM} (GT Top 50)
PRO-Redeemer | PRO-SNIPER-Redeemer | SEEKER-Redeemer
Birth Place of ALL Seeker/Scoped Deemers!
IP: NEW IP to come!
CROSSBONES Monster Hunt {CMH} (Special Edition MH by mars007)
IP: 108.61.238.93:7777
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
So, EG... let's see... You want to learn some A.I. related things ? Maybe you will find some time for a private party... I can send you a few MH maps "adjusted". Even if you have one with some trouble zone, we can see what is about.
- EvilGrins
- Posts: 2674
- Joined: Thu Jun 30, 2011 8:50 pm
- NoMoreSpam: Silver
- Location: Palo Alto, CA
- Contact:
Re: Bot pathing
Thanks... I'll try and track down some good suggestion maps.Nelsona wrote:So, EG... let's see... You want to learn some A.I. related things ? Maybe you will find some time for a private party... I can send you a few MH maps "adjusted". Even if you have one with some trouble zone, we can see what is about.
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
Let me see a small equation. In following image which way is loved by A.I. generally ?
1) Road 1 or Road 2 ? There is only a way preferred. If we want a complete travel to make A.I. looking more smart, we have to use something tricky called BlockedPath. BlockedPath will suggest to not follow that road, but, IF EXISTS another road, A.I. will go using that alternate road or else won't move. A BlockedPath always need to be completed by another route. Something killed or a trigger instigated might unlock BlockedPath according to the TAG used by BlockedPath - BlockedPath can be unlocked only, not activated back. After respawning, A.I. will use old blocked way if is "unlocked". This one can be part of NavigationPoints replacing a pathnode.
2) Where can be used BlockedPath in this case ?
1) Road 1 or Road 2 ? There is only a way preferred. If we want a complete travel to make A.I. looking more smart, we have to use something tricky called BlockedPath. BlockedPath will suggest to not follow that road, but, IF EXISTS another road, A.I. will go using that alternate road or else won't move. A BlockedPath always need to be completed by another route. Something killed or a trigger instigated might unlock BlockedPath according to the TAG used by BlockedPath - BlockedPath can be unlocked only, not activated back. After respawning, A.I. will use old blocked way if is "unlocked". This one can be part of NavigationPoints replacing a pathnode.
2) Where can be used BlockedPath in this case ?
You do not have the required permissions to view the files attached to this post.
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
Assuming nobody knowing answer after 24 hours, I'll point you to a native behavior.
Pawn in finding a path will ALWAYS follow the shortest path - composed even with by a less number of NavigationPoints. They are triggered different only by combat situation (not so often). In our case counting pathnodes from crosses will see Road 2 being shorter with a node than Road 1. In this case, even is about only a node, pawn will follow Road 2. If we want to make this pawn to attack in boths areas we have 2 solutions:
- related to game-controller we can trigger this pawn to his mission adding 2 objectives in these roads;
- if is not very important this place (will die anyway later) we can replace a pathnode from road 2 with a BlockedPath tagged with a random string, they are forced to Road 1 now, later in level we can trigger this tag unlocking Road 2. Bot pawn respawned will go this time to fresh unlocked Road visiting this area as well.
Combining different items for different game-types, Bot might follow both paths leaded by desirability for item. Monsters are acting totally randomly (I did not find their criteria - even experts couldn't predict them).
For monsters, we can speak in next section if is anyone interested.
Pawn in finding a path will ALWAYS follow the shortest path - composed even with by a less number of NavigationPoints. They are triggered different only by combat situation (not so often). In our case counting pathnodes from crosses will see Road 2 being shorter with a node than Road 1. In this case, even is about only a node, pawn will follow Road 2. If we want to make this pawn to attack in boths areas we have 2 solutions:
- related to game-controller we can trigger this pawn to his mission adding 2 objectives in these roads;
- if is not very important this place (will die anyway later) we can replace a pathnode from road 2 with a BlockedPath tagged with a random string, they are forced to Road 1 now, later in level we can trigger this tag unlocking Road 2. Bot pawn respawned will go this time to fresh unlocked Road visiting this area as well.
Combining different items for different game-types, Bot might follow both paths leaded by desirability for item. Monsters are acting totally randomly (I did not find their criteria - even experts couldn't predict them).
For monsters, we can speak in next section if is anyone interested.
- EvilGrins
- Posts: 2674
- Joined: Thu Jun 30, 2011 8:50 pm
- NoMoreSpam: Silver
- Location: Palo Alto, CA
- Contact:
Re: Bot pathing
Sorry, meant to come back to the example.
I was told that less botpath points is ideal. Many bog down memory and most aren't necessary. Pickups function as botpath points themselves, you can stretch points over a great distance and the bot will follow that path, freely checking out other things that may get it's interest along the way.
I was told that less botpath points is ideal. Many bog down memory and most aren't necessary. Pickups function as botpath points themselves, you can stretch points over a great distance and the bot will follow that path, freely checking out other things that may get it's interest along the way.
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
Yes ! You understood, man. They need a good placement, is enough if is possible 600 to 680 UU distance. More than 700 is already a guess, I detected such paths useless (even being blue in editor, bots were obfuscated). Depending on situation I want to complete areas with paths to avoid losing orientation if is boosted by strong enemies. This is just a kind of "let it be", because in my A.I. controller I don't need a strong pathing, just links to objectives and to end. Other areas under 2500 UU no need always paths in fields. Bot will follow a pathnode runing directly at it if can see one overiding default behavior - in case of falls is stopped. This technology not exist in original MH, for this reason pathing well is recommended but not exagerated (example of stupid excessive paths - MH-DarkPass.unr - this one is really anoying pathed). I rebuilded complete bot support there for my local party with only 16 pathnodes not 54 like in original and also a few settings ilogic. Some flies are dying burned, but this also isn't showed in original MH, eh exist more maps which need revisions... no time for all.
- EvilGrins
- Posts: 2674
- Joined: Thu Jun 30, 2011 8:50 pm
- NoMoreSpam: Silver
- Location: Palo Alto, CA
- Contact:
Re: Bot pathing
Is there a maximum distance between path·points where the bot cannot sense where the next one is?
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
I'll try to explain giving examples in the same time.
We can play in a map MH-Arden+fix1 or whatever version with Megatitans. In first area, if Tamerlane (just example) was boosted away but others killed Megatitan, Tamerlane this time even with good aiming skills will be totally useless being too far from paths losing the road to mission.
Some native functions used by A.I. to travel seems to be limited (to not try dumb shortcuting maybe), if a distance between 2 patnodes is much bigger than 700 - 800, Editor won't link any path there, in game bot being stopped in looking for path. They are using indeed some memory to setup a precache of paths that need to be followed to reach at a target. Once discovered a broken link, pawn won't start moving, yeah, will wander (depends on game) or will run in place in MH. I was wander why handlers couldn't be different done to force going out of wander in case of lost paths out native A.I. functions. Using default travel method pawn might be lost. BUT using visibility as alternative (my new ideea) can reach a pathnode placed more far if was boosted out of paths. I did a basic navigation restoration based on function CanSee - developing a forced break in case of falling (cool geometry) also bot won't try to reach a higher placed pathnode (cannot fly).
I developed this just looking at Cilia, was throwed away by a titan, titan was killed by Malakai in a few moments later. Malakai continued his race to target but Cilia was lost. I was suprised to see some nearby pathnodes but Cilia was wandering around. Heck, since I had in that moment a few questions to myself, I just tested if Bot is able to see pathnodes but is oriented different in traveling. Yes, even looking at them, if are too far, Bot won't move a finger. I just added a temporary Bot broadcast message if could see pathnodes and distance to them with 0 enemy and not being in roaming state. Even I spawned a few CorpseFlies around nodes watched by bot, and were spawned a lot. So I didn't have any doubt about new possible things, and I "unlocked" another way to find a path overiding default engine handler. That code could be done in Bot code by default not called by Attraction but I think somebody at Epic was very affraid of Bots (looking how is A.I. coded generally), this could be done as a "next attempt" after 2 seconds of wander (give some time to Cilia for checking GPS, ).
Of course, completing more A.I. intelligence might fail game performance, in the past everybody noticed Bot as being a controller devastator due to mission code called prety often (even more times in a second), to have a decent load with a good reaction I'm using only 3 Bots (4 players).
We can play in a map MH-Arden+fix1 or whatever version with Megatitans. In first area, if Tamerlane (just example) was boosted away but others killed Megatitan, Tamerlane this time even with good aiming skills will be totally useless being too far from paths losing the road to mission.
Some native functions used by A.I. to travel seems to be limited (to not try dumb shortcuting maybe), if a distance between 2 patnodes is much bigger than 700 - 800, Editor won't link any path there, in game bot being stopped in looking for path. They are using indeed some memory to setup a precache of paths that need to be followed to reach at a target. Once discovered a broken link, pawn won't start moving, yeah, will wander (depends on game) or will run in place in MH. I was wander why handlers couldn't be different done to force going out of wander in case of lost paths out native A.I. functions. Using default travel method pawn might be lost. BUT using visibility as alternative (my new ideea) can reach a pathnode placed more far if was boosted out of paths. I did a basic navigation restoration based on function CanSee - developing a forced break in case of falling (cool geometry) also bot won't try to reach a higher placed pathnode (cannot fly).
I developed this just looking at Cilia, was throwed away by a titan, titan was killed by Malakai in a few moments later. Malakai continued his race to target but Cilia was lost. I was suprised to see some nearby pathnodes but Cilia was wandering around. Heck, since I had in that moment a few questions to myself, I just tested if Bot is able to see pathnodes but is oriented different in traveling. Yes, even looking at them, if are too far, Bot won't move a finger. I just added a temporary Bot broadcast message if could see pathnodes and distance to them with 0 enemy and not being in roaming state. Even I spawned a few CorpseFlies around nodes watched by bot, and were spawned a lot. So I didn't have any doubt about new possible things, and I "unlocked" another way to find a path overiding default engine handler. That code could be done in Bot code by default not called by Attraction but I think somebody at Epic was very affraid of Bots (looking how is A.I. coded generally), this could be done as a "next attempt" after 2 seconds of wander (give some time to Cilia for checking GPS, ).
Of course, completing more A.I. intelligence might fail game performance, in the past everybody noticed Bot as being a controller devastator due to mission code called prety often (even more times in a second), to have a decent load with a good reaction I'm using only 3 Bots (4 players).
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
Changing gear a bit. I was thinking to slap some inventory to be added for Bot (don't tell anything to nobody - mutator ? - this section of forum doesn't have too many readers, ). This might be let's see an aditional brain to restore navigation guided by visibility in case of useless wander having an integrated timer to check Bot Owner what is doing. Even felt in a lava I guess is a strategy (used by some players from Argentina) to reconnect when a lava started to burn them (just to not lose points at death - score hunters and not team players), this can be copied at Bot using his native code. Is not so easy and I think is not so usefull for original MH (runing is place is a complete bullshit), only Freelance might help a while.
- Hermskii
- Site Admin
- Posts: 8514
- Joined: Sun Jul 10, 2005 9:56 pm
- NoMoreSpam: Silver
- Location: Houston, Texas
- Contact:
Re: Bot pathing
I don't like bot but when they are there, they better not run in one spot.
~Peace~
Hermskii
Hermskii
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
I'm not the bigger fan of them, but I prefer more times to play with them as replacements for human jerks.Hermskii wrote:I don't like bot but when they are there, they better not run in one spot.
Most of people don't like them based on how they acting. Bot is not so smart as a pawn but can be guided well by more factors: map, game-controller, inventories incomplete done (weapons, armors, etc.). All these factors incorrect done made a few retards to say: look at it how stupid is (Bot won't pass ever BlockMonsters), so stupid is human who told that and the "mapper" is in the same buchet. Give me a reason to see a bunch of paths blocked in both direction by BlockMonsters (is named improper - other Epic interesting grammar). Monsters cannot pass - Bot cannot pass, but we have awsome paths (at 350 UU - totally trash). MM, I think I'll put by default ruining BlockMonsters, I really don't need it (was configurable but I think is better to not be configurable).
- EvilGrins
- Posts: 2674
- Joined: Thu Jun 30, 2011 8:50 pm
- NoMoreSpam: Silver
- Location: Palo Alto, CA
- Contact:
Re: Bot pathing
When the bot revolution comes full circle, ya'll are going on the chopping block.
- Nelsona
- Posts: 998
- Joined: Sun Mar 06, 2011 11:45 am
- Location: Still at Keyboard
- Contact:
Re: Bot pathing
Mhm, How's pathing EG ? Did you worked on this ?