Bot observations
I switched over to bots from mercs a while ago, overall pretty nice, but the things that really bother me about them and I'm poking around the code trying to figure out are:
If you get engaged(in combat) and the bot doesn't have line of sight. they just stop and twiddle their thumbs. I have them currently moving to their owner so you don't have to ^summon every corner in a tight dungeon seems to work but I need to figure out the proper way to move them, right now they just slide to me and if I am in los of the target they will pick up and fight as normal. The other things are pretty much the same as I've seen mentioned here. Group disbanding/ bots depop or get broken(stand there and stuck in group until group is disbanded) on zoning: this seems to only happen since a friend of mine started grouping with me. so over 1 client in a group makes the groups bug out with bots. and the last thing is the terrible rubber banding while they are moving, I can watch them run to a target, and it seems like they do it over and over again until the server says they are there. like the client thinks they are moving faster than the server says they are. The same thing happens when they are following. or really just moving at all. but my pet seems to have very little of that. the mercs didn't seem to do that either. These are the things i'm looking to improve, any ideas or pointers are welcome. I still am trying to wrap my head around the code. Thanks for reading. |
I just pushed updates for Bot Bards (songs and song twisting) and Wizards (familiar casting.)
The line of sight issue is next in my sights and the rubber banding issue is near too. Grouping is a whole other beast..but, it is on the list. |
When it comes to the grouping/following glitches with the bots, I was always curious of the comparison between mercs and bots. (as far as the coding goes).
I don't know anything about that end of the headaches, but is the coding similiar with each other ? |
When mercs were first introduced, they were pretty much a cut-and-paste of bots.
They (mercs,) of course, we standardized a little more since they are a part of the live gaming experience. Bots tend to be bastardized since they are exclusive to the server code..and then bastardized even more since they are not part of the standard server. When I work on bots, I focus exclusively on them because: 1) There are no dedicated devs working on bots.. 2) I don't know how mercs work on live and have no reference to make changes to them with. I haven't played with mercs to see how their grouping works... Do they have similar issues with grouping as well? |
I'm glad to hear those are on your radar, looking through the code, i'm a bit confused, it seems like there should be simple solid npc movment for npcs, mercs, pets and bots etc to move/path through and they all should work about the same as far as movement goes unless something fancy is needed. but I my vision is clouded as I drown in the code. haha.
I can't help myself but to unravel it piece by piece, its like a jigsaw puzzle to me. If I can figure it out, i want to make playing solo more like bards tale or might and magic. where you pick up your group from the local inn and go work to level the group up and equip them as you do. If players want to join you, you can just have a bot sit out. Thanks again, for all the work |
I just saw you replied at some time before I made my post, as for the Merc grouping, I can test that, I moved to bots before a friend was interested in joining the server. that is when the bots started to really have problems with groups. after work tomorrow I'll do some zoning with more than 1 client, it happens every time on zone with more than one actual player in the group for bots.
|
Quote:
what the overall difference is between the behavior. (in the coding) For example, why the mercs follow so faithfully and the bots don't. I can run all over, zoning and the merc, for the most part, keeps up. But the bot will take the scenic route. Haha I just figured "some" of the mechanics in the source code would be the same for both ? |
I was looking over this today while at work on my breaks, the grouping issue seems to start with this:
Code:
// Handles all client zone change event I'm going to try just looking for clients that are in the group instead of just group leader and see where that leads Edit: forgot to mention, mercs handle this way differently. So unlikely to have similar issues. |
Coming from a 2014 build where bots use the # command, I just can't get behind new bots. They're clumsy, too verbose, and ADORE standing around drooling. Like 5 steps forward in the amount of commands available (and stability I'm sure), but they feel and operate radically different and I'm not that big a fan. Not declaring war on Uleat, you do amazing work man. This just isn't my cup of tea is all.
|
I have always had a preference for boxing, which is a great alternative when you can't find a group, but I see the bot system as a
work in progress and don't take them too serious yet, (more like a beta version still) but they could be interesting down the road when they get a little more smoothed out, if that's Uleat's intentions on the bucket list. |
Quote:
I do know that a former dev made some changes to bot behavior between then and the time that I started working on them more mainstream. The only real changes, previous to the recent ones, that I've made were the new command system and heal rotations. I know the command system seems a bit unintuitive, especially coming from the old system. But, it is completely separated from the main system now and allows much more flexibility without all of the duplication that the original system had. (Not trying to sell it :D) Quote:
This is what causes bots to stand around and drool: https://github.com/EQEmu/Server/blob.../bot.cpp#L2217 Casters stop much further out if they are moving (following) when the target is engaged. This led to the problems listed in the remarks above that line. That is my next project..figuring out what to do in those cases. Bard song twisting got fubar'd for a number of reasons..one being my timer hack for instant recast songs. The reason that was done was to fix an issue where only one song within a certain level range was being cast repeatedly. That particular issue has been resolved with the bot using proper recast time. |
Quote:
|
Yes, that does make sense :)
That's just not how they are coded atm.. EDIT: It's hard to switch projects in the middle of them when they contain db changes..it will come :D |
Rock on man, I am just enjoying the discussion on how the bots are moving forward, please at no point take anything I am saying as trying to coax you to work on anything but what you have planned, I tinker and tweak in the mean time figuring out how it all works.
|
Ok, I pushed a fix for line-of-sight combat issues.
Let me know if it isn't working or is causing other issues. |
All times are GMT -4. The time now is 03:03 PM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.