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

Development::Bots Forum for bots.

Reply
 
Thread Tools Display Modes
  #16  
Old 02-07-2018, 11:58 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

A few more tweaks to the 'jitter' code.


If casters have target reflection and the target is rooted, they will now attempt to move out of melee range only, not the full caster range as they do without target reflection.


Also, modified the position calculation code to accept non-heading change position updates.

This helps a little when bots 'adjust' themselves during combat. (They did a lot of facing movements before...)


I know there are still issues and they will be addressed as I find solutions for them.

You are welcome to report ANY bot movement or targeting problems here since the re-work affects both areas directly.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #17  
Old 02-08-2018, 12:25 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

@jia_jacky

Funny thing... My female dwarf bot always spawns without a beard and I can't get it to show at all (RoF2 client.)
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #18  
Old 02-08-2018, 06:17 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Added a little functionality to the ^guard command.


Bots will now 'park' themselves at the point where they are when the command is issued.

No movement is allowed while in this mode. Any attempts to 'force' them to a new position will trigger a 'warp' back to the set coordinates.
(Just release 'guard' mode by issuing a ^follow command and re-issue the ^guard command at a new location.)

This new 'guard' behavior will override the current 'leash' behavior. As a result, combat is currently disabled while in 'guard' mode due to its exploitable nature.

Bots will process 'idle' spell casting while in 'guard' mode.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #19  
Old 02-08-2018, 06:36 PM
Proxeeus
Fire Beetle
 
Join Date: May 2005
Posts: 27
Default

Interesting, that was quick ! Thank you

Does 'idle' spell casting include healing? what about meditation?
Reply With Quote
  #20  
Old 02-08-2018, 07:02 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

They essentially perform all out-of-combat functions - save movement and target selection.

Non-combat healing of a group member in combat may seem like an exploit (which it is..) but, it is highly countered by the inability to engage
in combat and to use combat spells (bots can die if they get aggro from a target and don't react.)


This is just an initial behavior change and is subject to change as refinements occur.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #21  
Old 10-06-2018, 11:56 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Fixed a few issues with the bot ai code..
  • Fix for bot 'stop melee level' not honoring setting level over rule level
  • Fix for missing bot combat spell casting when within melee range
  • Fix (in-work) for bots 'forgetting' current target when it flees


I have more issues to look at and I need to review all of the current behavior..

..but, if you guys have more problems to report or would like to see behavior changes, please post.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #22  
Old 10-07-2018, 02:05 PM
Proxeeus
Fire Beetle
 
Join Date: May 2005
Posts: 27
Default

Thanks for those fixes !

I've been playtesting old world raids as of late and I've got a remark, regarding botgroups. Let's say that I've got a few bot casualties due to a nasty fight. If I re-summon those bots individually, they don't automatically re-join their botgroup -- I'm kinda forced to redo a "^bgload the_group", even if said group has only lost one member. This, in turn, also restarts the whole group buffing session (it looks like botgroup buffs aren't saved, compared to regular groups?). Moreover, it's kinda hard to keep track of which bot actually died. A command listing botgroups (which already exists I think) and their members + current status (spawned/not spawned) would do wonders !

Unless I missed something ? (which is very possible)

This is no deal-breaker or anything but...think it could be possible to have a look at that?

Dunno if I made myself clear, don't hesitate to ask if you need more info !

Cheers
Reply With Quote
  #23  
Old 10-07-2018, 08:28 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I'm familiar with the group joining issue..wasn't so much on the buffing one.

I've added these to my list.


(A marquee message on a bot's death would be nice, no?)
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #24  
Old 10-08-2018, 03:10 AM
Proxeeus
Fire Beetle
 
Join Date: May 2005
Posts: 27
Default

Quote:
Originally Posted by Uleat View Post
I'm familiar with the group joining issue..wasn't so much on the buffing one.

I've added these to my list.


(A marquee message on a bot's death would be nice, no?)
Yeah that's a definitive step in the right direction for sure ! Think an update to the ^bglist command listing botgroup composition (+ their spawned/despawned state) would also be possible? Or too much of a hassle?

Other unrelated, random-ish stuff:

- possibility to configure & persist the songs Bards can twist (on an individual basis) ?

- tweak hybrid tanks AI to include aggro-generating spells ? I tried to refine that using the botspells table but it's kinda hit or miss. SKs will actually use Disease Could so that's great, but spells like Flash of Light & the Stuns line for Paladins is trickier and doesn't really work with the existing system.

- sometimes during a fight where you get multiple mobs, the bots will "split" targets: one will attack mobA, and two will attack mobB, even if you explicitly order the to stick to a target, they automatically go back to their split targets after a few seconds.

- speaking of multi-mobs fight, is there already some implemetation regarding Enchanters auto-mezzing adds? right now the leader has to manually ^mez adds, it definitely works but depending on the situation, stuff can get tricky :P

- i've seen Ranger bots Snare fleeing mobs, so that's good, the problem is that it's being cast really late in the fight. Ideally you'd need to Snare a bit before the mob Flee threshold. Could also add SKs/Necros with the Darkness line as well

Sorry about that info-dump, but those Bots are amazing and I'm only eager to see them become even more so
Reply With Quote
  #25  
Old 10-08-2018, 07:48 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Note on losing botgroup buffs..

I had no issues with bots in my test botgroup keeping their buffs after camping or zoning.

The only time I had casting was when either a bot died or when a wizard's familiar was involved - which is not bot-related.


Most of what you're suggesting is going to be addressed when I look at spell-casting ai and spell selections.

That's not in the immediate future, though...


I do plan on making bots a little smarter so they can handle mez/nuking opportunities better.

The mob splitting is unfortunately a current design flaw..but, that can be modified.

Try setting the 'main assist' feature of your group to see if that helps (or hurts..) for now.

The 'flee' code addition recently added will force all bots to target the furthermost fleeing mob away from its leash owner when a target
is returned from that function.

When the spell ai and group roles are updated, I can do a lot more to enhance their spell casting capabilities


On the bard songs..

Anything like that will be extremely tricky...

They will likely have some 'specialization' when group roles are expanded.

From there, I can look at additional tweaking options.


EDIT: I just heard that familiars are not supposed to be buffed..so, an adjustment for that is incoming.
__________________
Uleat of Bertoxxulous

Compilin' Dirty

Last edited by Uleat; 10-08-2018 at 11:14 PM..
Reply With Quote
  #26  
Old 10-09-2018, 02:27 AM
Proxeeus
Fire Beetle
 
Join Date: May 2005
Posts: 27
Default

Quote:
Originally Posted by Uleat View Post
Note on losing botgroup buffs..

I had no issues with bots in my test botgroup keeping their buffs after camping or zoning.
Oh ?! That's mighty strange... When I'm grouped with 5 bots for a regular xp group, buffs get saved no problem, but in a bot-only group (when I'm raiding), a full rebuff will always happen (and now that you mention it, bot-only groups never zone with me, only my own group does)

Quote:
Most of what you're suggesting is going to be addressed when I look at spell-casting ai and spell selections.

That's not in the immediate future, though...
Oh no problem, take your time

Quote:
Try setting the 'main assist' feature of your group to see if that helps (or hurts..) for now.
Ah-ha, I wasn't aware of that feature, I'll take a look !

Quote:
On the bard songs..

Anything like that will be extremely tricky...

They will likely have some 'specialization' when group roles are expanded.

From there, I can look at additional tweaking options.
Alright I did think of something along the lines of maybe having a separate db table storing a botId and maybe 3 songsId, and those would be set via a bard-specific ^twist songId command...since Bards are already capable of using Songs it'd "only" be a matter of actually loading those songs from the table instead of the current method......or that's only the tip of the iceberg maybe? :p
Reply With Quote
  #27  
Old 10-09-2018, 09:57 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

If you are running your own server, I would take a look at the logs to see if there are any error messages for saving bot info.


Adding a 'tertiary' table for bard bot songs probably won't happen.

I pulled bot spells(/songs) out of the primary npc spells table so that non-bot server admins could completely gut bots from their
server code if they wanted to.

User-added spells are really not an option with the way the npcs use spells .. and bots eventually go into npc code for casting.

That would require a re-work of the entire spell casting system to allow for something like that..and I'm not really the one to say
that change is acceptable to the base code.

I'll keep that in mind as I make changes..but, I just don't believe that something like that is possible at this time.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #28  
Old 10-09-2018, 10:51 PM
Proxeeus
Fire Beetle
 
Join Date: May 2005
Posts: 27
Default

Alright, that clears things up! Thanks for the explanation
Reply With Quote
  #29  
Old 10-10-2018, 10:39 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Proxeeus,

What are your thoughts on these 'additional' songs?

What would they do that the base songs wouldn't?
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #30  
Old 10-11-2018, 02:05 AM
Proxeeus
Fire Beetle
 
Join Date: May 2005
Posts: 27
Default

Well to be honest I'm pretty unfamiliar with Bard (and Bard AI in general) so bear with me :p

My line of thought was, maybe during a raid a player would like to have, depending on botgroup compositions, Bards playing different sets of songs (ie: a melee-heavy group would get melee buffs, a caster-heavy group would get mana regen songs, a magic-heavy encounter may require heavy elemental resistances etc).

Unless this kind of reasoning already exists? As I said I'm still pretty much ignorant in that area. If this is the case you can pretty much ignore this
Reply With Quote
Reply

Thread Tools
Display Modes

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 02:37 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