Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bots

Development::Bots Forum for bots.

Reply
 
Thread Tools Display Modes
  #1  
Old 05-26-2009, 09:49 PM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default Bot Agression Level

A thought I had was to create a "bot aggression" variable to help guide the bot ai, especially for certain types of bot classes. Right now, I would characterize bot behavior as "aggressive"; meaning when bots aren't healing or casting pets, they are nuking like newbz " Imagine we create 3 aggression modes:

1. Low Aggression
2. Moderate Aggression
3. High Aggression (think meth addict...)

So a bot with "low aggression" would nuke until it's mana was <= 75%, then this bot would conserve it's mana and med (ideal for the "healer" in the group like a cleric, druid or shaman).

A bot with "medium aggression" would nuke until it's mana was <= 50% and a "high aggression" bot (our meth addict) would keep up with the nukes until out of mana. Obviously you need corresponding logic here to guide how long each of these bot's would meditate until before resuming their "aggression".

Perhaps you can combine this idea of "bot aggression" with implementing another concept, "bot duties". We all know that in a group there is a "healer", a "tank" and someone is usually assigned "snare duty". So say we also create a command where we can assign these "duties" to our bots. So if we give the command:

#bot group tank

That should set a "property" with the bot that other bots can check and take appropriate actions. For the "healer", it would mean this bot gets a priority heal. For DPS bot members, it means not to engage until the tank has caused 5% to 8% damage (thus earned good aggro) and maybe it can tell these other bots to not over aggro with spells like over nuking or casting root, etc.

The bot on snare duty would auto cast a a snare spell when the target was under 25% of it's hit points.

The bot on "heal duty" should lower it's aggression level to "low aggression" and conserve it's mana only for heal spells and buffs. perhaps we could add additional logic here to calculate the rate at which the group tank is losing hit points. If the ratio of lost hit points is low, then the bot ai can increase it's aggression level by one level so it's being as useful as possible.

Another idea I had was right now a bot corpse vanishes when a bot dies and it auto leaves the group, even though a battle continues. Why not let the bot create a corpse and allow the group to rez it? Given, if this group doesn't have a cleric then i can see where some players would scream in pain at this suggestion, but it would add another dimension to the game. So if the bot dies, say it leaves a corpse and the bot stays in the group. If the cleric casts rez on the corpse, then the bot comes back and loots it's corpse, begins to med or whatever. If instead the player zones or disbands the group, then the bot's corpse simply vanishes as it does now.

Lastly, and I know this is ambitious, but why not let bots accumulate experience points and aa points like a player does? We can add logic to help guide the bot spending these aa points and to add new spells to it's spell list (and why not let each bot have it's own spell list for that matter!).

I might implement some of these ideas so I'd like to hear everyone's thoughts.
Reply With Quote
  #2  
Old 05-26-2009, 10:15 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

Quote:
Originally Posted by WildcardX View Post
#bot group tank
This already exists, see '#bot raid order maintank' and '#bot raid order secondtank' and in raid situations the ai gives them priority on heals.
Quote:
Originally Posted by WildcardX View Post
..it means not to engage until the tank has caused 5% to 8% damage (thus earned good aggro) and maybe it can tell these other bots to not over aggro with spells like over nuking or casting root, etc.
Current ai does this for casters, but not melee.

There's certainly a lot things that can be done with the bots. The ai currently has several classes grouped into a single behavior (pure casters) and other classes grouped into a single behavior (melee). The only class that really has the most ai work done is the Cleric. I would like to see the ai get to the point where each class is handled separately. That would be cool.
__________________
The Realm
Reply With Quote
  #3  
Old 05-26-2009, 10:23 PM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

I see you can set a main tank for a raid, but you can't for a simple group. I guess the bigger picture I'm trying to paint is to assign general guides like "aggression level", "group role" to throttle bot behavior.

As for the "bot raid commands", i was just thinking how cool would it be if we could tie in the client's "leadership" commands to achieve the same thing bot commands do. I haven't done much with leadership points, but I believe you can use them to tell your raid on live who the raid main tank is, etc.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:21 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3