trickerer / Trinity-Bots

NPCBots for TrinityCore and AzerothCore 3.3.5
https://github.com/trickerer/TrinityCore-3.3.5-with-NPCBots/
464 stars 152 forks source link

[AC] [Feature Request] Better Class Distribution for BG Bots #728

Closed StraysFromPath closed 3 weeks ago

StraysFromPath commented 7 months ago

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

Description

I've been enjoying BG bots a lot but they have a habit of doing something like this:

image

Where my team is 5 priests and 2 warriors.

Other comps I've had were -

9 druids.

6 hunts and 1 shaman.

4 mages, 4 warlocks, 1 paladin.

35 rogues in alterac valley on the enemy side.

It'd be nice if the BG bots were soft capped at no more than 2-3(?) of the same class for WSG, and no more than 3-5(?) of the same class for others BGs.

TrinityCore or AzerothCore

AzerothCore

Core rev. hash/commit

jan 1st commit acore

Operating system

win10

trickerer commented 7 months ago

The situation you describe isn't impossible on a live server, right? I do not cherish the idea of complicating BG bots generation even more than it is right now, so BG bot class balance is unlikely to happen. What you must understand though is besides RNG BG team composition strongly depends on class availability

Parkan1986 commented 7 months ago

Кстати хотел тоже создать похожу тему по Бг с ботами.И бывали ситуации где например на моей стороне было что то роде 9 пристов,10 хантеров,10 воинов и остальное маги.т.е максимум было 4 класса ботов.Даже при использований дополнений по увеличению кол-ва доступного пула ботов до 11 тысяч и при использовании гуляющих ботов где то около 8-9 тысяч(плюс 320 засапавненных ботов)неучтенного кол-ва должно же нормально хватать для равномерного распределения ботов на БГ.Возможно ли задать какой-то конфиг с тиле распределения ботов для БГ?

StraysFromPath commented 7 months ago

The situation you describe isn't impossible on a live server, right? I do not cherish the idea of complicating BG bots generation even more than it is right now, so BG bot class balance is unlikely to happen. What you must understand though is besides RNG BG team composition strongly depends on class availability

* spawned bots (including wandering) can't join BGs

* total number of bots available per class is very unbalanced. There is a ton of Rogues / Hunters / Warriors / Priests, but not so many DKs / Warlocks / Shamans. I'm yet to scratch my head on that one

Ty for the reply. I am loving this module to death.

It's not impossible for a live server to have weird games like 9 rogues in WSG but I'd guess that 85-90% of live server games have mixed balanced classes.

I'd guess that 25-30% of trinity bots games have mixed balanced classes. Last night I had an alterac valley with 26 priests and 11 warriors.

Even if it chose at complete random it would be more likely to produce better games.

Maybe it is possibly related to class_ID as the most prevelant classes are;

Warrior (ID1) Paladin (ID2) Hunter (ID4) Rogue (ID8) Priest (ID16)

with almost zero

DK (ID32) Shaman (ID64) Mage (ID128) Warlock (ID256) Druid (ID1024) - I have personally never seen a druid in a bg and me and my friends have run about 100 games.

If they're joining in ChrClassID order it could explain the distribution?

It doesn't have to be perfect even if it's a little hackfixy.

Maybe a workaround like let us run a commant or use the in-game votekick/report afk feature to remove excess bots from the BG and the bots will replenish/join with new bots? That way you can votekick the extras.

StraysFromPath commented 7 months ago

image

17 priests ;-;

Day36512 commented 4 months ago

If players have added additional wandering bots to their database, upwards of like 3k, distribution goes out the window. 1.5k is about the sweet spot to have even class distribution. Depends on the types of bots they added, of course, but if they're the RussianRanger ones, then yes this becomes an issue with higher wanderer counts.

trickerer commented 3 weeks ago

https://github.com/trickerer/AzerothCore-wotlk-with-NPCBots/commit/8d85657ea484bc168b4e85a9949ddf6e845b3fc0 From what I've researched it looks like actual RNG algorithm is kinda flawed when it comes to generating multiple random numbers on a same tick and/or for smaller ranges (in our case 1...21 or so) so instead I decided to change the bot pick randomization approach. I see no difference in-game but maybe you will.

trickerer commented 3 weeks ago

https://github.com/trickerer/Trinity-Bots/commit/dd5e5cf59b39d8254edbf1417a5166251eaa9547