Mods that enhance the Bot AI

Do you search a certain mutator, mod, skin, map, everything else?

Mods that enhance the Bot AI

Postby Gustavo6046 » Sun Feb 18, 2018 5:34 pm

Hello, my dear gentlemen. I've recently made a simple Translocator subclass/modification that could create "jump pads" on the fly with swJumpPads, and I've noticed bots won't use them to reach their destination, unless they're pushed to them. However, they do go after Inventory items, which create InventorySpots on the fly as well.

So I thought to myself, "what if, instead of bringing the existing bot to the jump pad, we had a bot that could use these?". And that's when I realized the community must have already created bots that can perform an even wider array of actions and navigational possibilities than before (come on, it's already 2018!), which should include dynamic stuff like my jump pads!

So now I'm here, asking:

Are there any mods that enhance the AI of the bot and give it more navigational freedom, without fully replacing it?

Subclassing is OK, as long as it is easy and intuitive to add the bots. (FerBotz and XBots are therefore not going to be in this list!)

I'm eagerly waiting for your answers. Thank you.
Terrain apprentice.
User avatar
Gustavo6046
Inhuman
 
Posts: 771
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Typing ghost

Re: Mods that enhance the Bot AI

Postby papercoffee » Sun Feb 18, 2018 7:00 pm

I say, a good bot pathing is the answer. As a mapper you have to guide the bots through a map and tell them what they have to do on certain spots.
Jump-spots, lift-exit, trans-destination etc.

And since you excluded FerBotz already... Good Luck.
Last edited by papercoffee on Sun Feb 18, 2018 8:53 pm, edited 1 time in total.
Reason: typo
User avatar
papercoffee
Site Staff
 
Posts: 9085
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Re: Mods that enhance the Bot AI

Postby Gustavo6046 » Sun Feb 18, 2018 7:21 pm

I have more really excluded FerBotz since I already have it. (I still didn't figure out how to add them, but that's a problem in my side so it doesn't count :P )
Terrain apprentice.
User avatar
Gustavo6046
Inhuman
 
Posts: 771
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Typing ghost

Re: Mods that enhance the Bot AI

Postby Terraniux » Sun Feb 18, 2018 9:18 pm

Are there any mods that enhance the AI of the bot and give it more navigational freedom, without fully replacing it?


Didn't program Nelsona ( Sektor) such things? I mean he is all about that!

He does have a little nufty website tho , but I forgot it.
Terraniux
Masterful
 
Posts: 623
Joined: Mon Jan 05, 2009 8:08 pm

Re: Mods that enhance the Bot AI

Postby papercoffee » Sun Feb 18, 2018 9:26 pm

Terraniux wrote:
Are there any mods that enhance the AI of the bot and give it more navigational freedom, without fully replacing it?


Didn't program Nelsona ( Sektor) such things? I mean he is all about that!

He does have a little nufty website tho , but I forgot it.

It's in his profile.

Edit-------------------------------
Oh I forgot ...Mr Loathsome has a mutator which can enhance the UT performance and it'll also enhance the bot behaviour as a byproduct. They act much faster and more deadly.
I forgot the name ...have to look after it.
User avatar
papercoffee
Site Staff
 
Posts: 9085
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Re: Mods that enhance the Bot AI

Postby ExpEM » Tue Feb 20, 2018 12:25 pm

Gustavo6046 wrote:However, they do go after Inventory items, which create InventorySpots on the fly as well.

InventorySpots are created during path building in UEd.

Bots wont use NavigationPoints created on the fly as they aren't attached to the path network.
ExpEM
Experienced
 
Posts: 90
Joined: Wed Nov 09, 2016 1:48 am

Re: Mods that enhance the Bot AI

Postby Gustavo6046 » Tue Feb 20, 2018 8:35 pm

ExpEM wrote:InventorySpots are created during path building in UEd.


Well, how else do bots find and pick up dropped weapons and pickups? The factor that would concretely determine whether the inventories are added to the path network is whether bots actually navigate toward items, once their location is known, instead of simply walking or gravitating toward them.
Terrain apprentice.
User avatar
Gustavo6046
Inhuman
 
Posts: 771
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Typing ghost

Re: Mods that enhance the Bot AI

Postby OjitroC » Tue Feb 20, 2018 9:54 pm

Gustavo6046 wrote: Are there any mods that enhance the AI of the bot and give it more navigational freedom, without fully replacing it?

As alluded to earlier, have you tried sektor2111's MBots? Go to his website or search this forum (as there is a thread which deals with them).

MBots are 'tweaked' and their behaviour is somewhat different to the default bots. I play a lot of TDM and it always annoys me when bots go off to grab pickups, etc even when ordered to "Follow Me" (as it breaks up the 'group' and sometimes defeats my stealthy approach to hunting down the other team). The MBots will stick with me regardless and it can be difficult sometimes to get them to pick some stuff, even health when they need it. Needless to say, though, TDM is much more like a team game with MBots on my team.

I don't know if they will do what you want but give them a go.
User avatar
OjitroC
Godlike
 
Posts: 1011
Joined: Sat Sep 12, 2015 8:46 pm

Re: Mods that enhance the Bot AI

Postby papercoffee » Tue Feb 20, 2018 9:55 pm

Gustavo6046 wrote:
ExpEM wrote:InventorySpots are created during path building in UEd.


Well, how else do bots find and pick up dropped weapons and pickups? The factor that would concretely determine whether the inventories are added to the path network is whether bots actually navigate toward items, once their location is known, instead of simply walking or gravitating toward them.

We created for our Mansion of Choas map a movable Inventory-Spots (weapon spawn and health spawn) with exactly that kind of hack. They where placeable "randomly" during the match ...but the big drawback was that those Inventory-Spots could not put to sleep when someone picked up the item and the bots where always attracted to it. Even so the spot was empty they would never leave that area.

You must imagine bots like very dumb hungry blind people... if the smell of a good meal is still in the air, they want to have it, even so it's long eaten by others or them self.
User avatar
papercoffee
Site Staff
 
Posts: 9085
Joined: Wed Jul 15, 2009 11:36 am
Location: Cologne, the city with the big cathedral.
Personal rank: coffee addicted !!!

Re: Mods that enhance the Bot AI

Postby ExpEM » Tue Feb 20, 2018 10:04 pm

Gustavo6046 wrote:
ExpEM wrote:InventorySpots are created during path building in UEd.


Well, how else do bots find and pick up dropped weapons and pickups? The factor that would concretely determine whether the inventories are added to the path network is whether bots actually navigate toward items, once their location is known, instead of simply walking or gravitating toward them.


Code: Select all
var Weapon EnemyDropped;


Code: Select all
   if ( (EnemyDropped != None) && !EnemyDropped.bDeleteMe
      && (EnemyDropped.Owner == None) )
   {
      DroppedDist = VSize(EnemyDropped.Location - Location);
      NewWeight = EnemyDropped.BotDesireability(self);
      if ( (DroppedDist < MaxDist)
         && ((NewWeight > MinDistraction) || (DroppedDist < 0.5 * MaxDist))
         && ((EnemyDropped.Physics != PHYS_Falling) || (Region.Zone.ZoneGravity.Z == Region.Zone.Default.ZoneGravity.Z))
         && ActorReachable(EnemyDropped) )
      {
         BestWeight = NewWeight;       
         if ( BestWeight > 0.4 )
         {
            MoveTarget = EnemyDropped;
            EnemyDropped = None;
            return true;
         }
         BestInv = EnemyDropped;
         BestWeight = BestWeight/DroppedDist;
         KnowPath = BestInv;
      }   
   }   
   EnemyDropped = None;


ActorReachable(EnemyDropped) is the interesting bit.

Code: Select all
//Reachable returns what part of direct path from Actor to aPoint is traversable
//using the current locomotion method
native(521) final function bool pointReachable(vector aPoint);
native(520) final function bool actorReachable(actor anActor);


EnemyDropped keeps track of the dropped weapon from the Bots last kill, if they can't grab it, they forget it. No other bot is made aware of it, it is not added to the network.
ExpEM
Experienced
 
Posts: 90
Joined: Wed Nov 09, 2016 1:48 am

Re: Mods that enhance the Bot AI

Postby sektor2111 » Wed Feb 21, 2018 4:42 am

OjitroC wrote:The MBots will stick with me regardless and it can be difficult sometimes to get them to pick some stuff, even health when they need it. Needless to say, though, TDM is much more like a team game with MBots on my team.

MBot in roaming is not always interested about nearby inventory, if has a goal will head to that goal unless something is pushing it as "freelancer". I got tired of crapped maps where default Bot was ALWAYS trying to get "Reachable items" but falling almost to death. If you don't like MBot's habits don't use this class, because I will use them as a permanent stuff as long as they are exactly what I need, of course I still have to put something here and there, but that's not a critical priority, perhaps I will not add other things, but patch modules for maps have their advantages - truly doable nowadays...

To summarize you don't need a super duper intelligent Bot, intelligence can be called when it's needed without to force engine permanently.

However, I'll quote a few default needs that can be added in whatever "Bot_Mutator" or Actor from map - injected or mapped:
- guarding water zones - always check for physics swimming;
- don't be an ass on a Mover(Base) - just wait it to stop - yeah simple and doable the tweak for jumping from an horizontal lift too early without special crapping (ooops mapping) - else if lift is moving on Z you can even jump from it if you can figure a closer LiftExit;
- don't force an obstruction if your speed is low - try to jump and take a break;
- no line of sight to target from legs ? JUMP - is a damn obstruction;
- guard land point on X,Y - in BT zones (when mappers will learn to do them) you will not need to jump too far into death, just block velocity and fall properly to the destination;
- Boosted out of path-net from whatever cause ? If exist a line of Sight to a Pathnode at 2000-3000 UU just move there with any matter if not engaged with an enemy;
- configurable camper option for sniper servers -> Direct line with enemy ? ShootTarget(Enemy) - no stupid decorations rotating and stacking around, no visibility checking, no dumb timers - that simple.
- Bad Spot - Bot is still almost in the same location for 20-30 seconds in a map with paths ? Move to RouteCache[1] or RouteCache[2] if reachable - this has to be written properly by whoever has a good idea toward it.

More "navigational freedom" is mainly IMPOSSIBLE with Stock Engine out of Editor - good luck with that... When you will learn to use XCGE you will have Way MORE options...
User avatar
sektor2111
Godlike
 
Posts: 3832
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Mods that enhance the Bot AI

Postby Gustavo6046 » Sun May 27, 2018 5:58 pm

Thanks for your awesome and well-winded replies.

Yet, I wonder: is there any way to make a Bot use such translocator thing? (it creates permanent swJumpPads from the player's initial spot to the destination disc) I'm assuming not.
Terrain apprentice.
User avatar
Gustavo6046
Inhuman
 
Posts: 771
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Typing ghost

Re: Mods that enhance the Bot AI

Postby sektor2111 » Sun May 27, 2018 8:12 pm

Gustavo6046 wrote:Yet, I wonder: is there any way to make a Bot use such translocator thing?

Bot can use Translocator in order to reach at certain target/location. This habit can be triggered by a wise actor in a needed spot or VIA Navigation directives - custom written nodes using "SpecialHandling" stuff, and here if we speak about mapping such things probably these can be divided in parts: custom teleporters or combos and the second method linking with brute force using XC_PathBuilder. In another format and ONLY by using XC_Engine you can deploy specific stuff in a target map during RUN-TIME where links are doable at will, so to speak "this" point will have a link with "that" point giving you almost full control. Last time I did way better deals than my first pathing spree for NavAdder - I even revised some of Server-Side modules, more work with these = more understanding how much is doable. Actually by developing new nodes you can make Bot/A.I. Pawn to do a lot of unusual things, even to jump randomly while is roaming, shooting some targets, playing victory dance, simulating fear, even sending written messages. Another option is like a "dynamic map", map has nothing special native but when it will figure XC_Engine will initialize a self attack - a self editing, mapping some paths accordingly, let's say that we can use term "XC MAP" type, working even in a plain server but way limited in case of using only default Engine.

According to topic and section Download Search I'm not sure if at this moment you can find some "tools" because these are a little newer things and I don't see too many people addicted to code such stuff. A large percent of them are just Bot HATERS, they are unable to manage a fart of the Bot, but... they are just hating, it's all what they know to do for Bot - HATE. Not the last thing, such a mod will need "eyes" if you want it for common usage as a normal mutator. Maps are... different, by dropping paths blindly result might go ugly, so mods that enhance Bot A.I. are not like an easy task as Outside things - mutators or Server-Actors. Think what Barbie said with MapPatcher - only such a dynamic thing can help + XCGE, for the rest... I have doubts. Default Engine is attacking navigation only in Editor and can do a "destruction-only" in run-time by removing some accessible data from Nodes or toggling things On/Off.

In mean time I'll do some experiments, but... ReachSpecs are a C++ duty out of UScript so I have doubts about any success here... Epic did not set any important Scripting support for this chapter, else mutators for pathing maps would be done for years...

Edit:
For chapter Translocator I have a recall about whatever actor which I wrote for mapping but it might be used even in a mutator working in maps with paths and game allowing translocator. Code can be tweaked with "Random" stuff. Take a look here...
Code: Select all
class TBooster expands Actor;

event PreBeginPlay()
{
}

event PostBeginPlay()
{
   InitialState = 'DoTracking';
   RemoteRole = ROLE_None;
   bMovable = False;
   SetCollisionSize(0,0);
   SetCollision(False,False,False);
}

function ScanAndPush()
{
   Local Bot aBot;
   Local Int J;

   J = 15;
   foreach AllActors (class'Bot',aBot)
   {
      for ( j=15; j >= 1; j-- )
      {
      if ( aBot.PlayerReplicationInfo != None && !aBot.bHidden && aBot.Health > 0 &&
         aBot.PlayerReplicationInfo.HasFlag == None && aBot.RouteCache[J] != None && aBot.MyTranslocator != None
         && Mover(aBot.Base) == None )
      {      
         if ( FastTrace(aBot.Location,aBot.RouteCache[J].Location)
            && VSize(aBot.Location - aBot.RouteCache[J].Location ) < 1000
            && VSize(aBot.Location - aBot.RouteCache[J].Location ) > 400
            && !aBot.MyTranslocator.bTTargetOut )
         {
            aBot.bCanTranslocate = True;
            aBot.TranslocateToTarget(aBot.RouteCache[J]);
            if ( aBot.ActorReachable(aBot.RouteCache[J]) || ( aBot.Location.z+10 > aBot.RouteCache[J].Location.z ) )
               aBot.StopWaiting();
            J = 15;
            break;
         }
      }
      }
   }
}

Auto State DoTracking
{
Begin:
   Sleep (3.00);
   Disable('Touch');
   Disable('Trigger');
   bHidden = True;
LoopMe:
   if ( Level.Game != None && Level.Game.bGameEnded )
      GoTo('End');
   ScanAndPush();
   Sleep(2.00);
   GoTo('LoopMe');
End:
   LifeSpan=0.5;
}

Hint: In case of door borks you might use Trace with completing vectors, not FastTrace. For the map which I was tweaking this was suffice.
User avatar
sektor2111
Godlike
 
Posts: 3832
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Mods that enhance the Bot AI

Postby EvilGrins » Sun May 27, 2018 10:21 pm

Kinda surprised nobody brought up Higor's babies · viewtopic.php?f=64&t=3805
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
User avatar
EvilGrins
Godlike
 
Posts: 6147
Joined: Thu Jun 30, 2011 8:12 pm
Location: Palo Alto, CA
Personal rank: God of Fudge

Re: Mods that enhance the Bot AI

Postby sektor2111 » Mon May 28, 2018 12:10 am

EvilGrins wrote:Kinda surprised nobody brought up Higor's babies · viewtopic.php?f=64&t=3805
Also surprised for not figuring that FerBotz need some work around because they are way different and maybe a bit difficult to manage... Else they are probably OFF-Topic as long as Ferbotz are not BOT child types, Ferbotz are PAWN child classes. The question was about mods than Enhance Bot AI not Pawn AI.
User avatar
sektor2111
Godlike
 
Posts: 3832
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Next

Return to Download Search

Who is online

Users browsing this forum: No registered users and 1 guest