trickerer / Trinity-Bots

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

[AC] [suggestion] BG/Arenas with NPCBots #339

Closed drachai closed 1 year ago

drachai commented 1 year ago

It is very enjoyable to raid and dungeon with bots. It generally runs smoothly. Can bg or arena with bots for single player game?

samuel-edmund-morgan commented 1 year ago

Also interested. As far as I know these guys made it possible to do bg with bots:

https://github.com/vmangos/core

Tbh, the only one reason I don't play AC + npcbots is that I can't fully play as just a player who can either do battlegrounds or dungeons. I guess it would be the best experience in wow emulation if we could make AC repack + npcbots(dungeons+bg) + Individual progression module

ornfelt commented 1 year ago

Is battleground available for TrinityCore (not AC)?

Also, how can I raid with the bots? It seems that they can't join instances?

thordarsen commented 1 year ago

Also, how can I raid with the bots? It seems that they can't join instances?

If you join (all) to group from the gossip menu they can. I locked myself at 60 and I'm up to Ouro/C'thun using a me+4 bot team with autobalancing down to about 50% in effect. (dodging dark glare from cthun reliably is not something I've figured out yet)

*edit (I also changed some of the boss scripts slightly, disabled Burning adrenaline on Vael, a server hang fix to Nefarion. Limiting Spawns on Fangkriss, And disabling bugs on Twin Emp. enough to make it sane and fun without overly changing the feel of the fight's)

ornfelt commented 1 year ago

Yeah, I managed to get raiding to work. It seems like Battleground and Arena can be enabled in the worldserver config as well. However, I'm not sure how to set it up in-game. I have several npcbots (both alliance and horde) but battleground queues are never popping. Maybe BG's aren't fully implemented yet?

xBarselonx commented 1 year ago

https://github.com/trickerer/Trinity-Bots/discussions/229

samuel-edmund-morgan commented 1 year ago

229

Do you think we are supposed to understand vodka runes?

xBarselonx commented 1 year ago

229

Do you think we are supposed to understand vodka runes?

У тебя все получится.

drachai commented 1 year ago

ı try to translate via google, the bots have no waypoint that cant do bg. The ai like familiar

trickerer commented 1 year ago

NPCBots are anchored to the origin point which is either spawn location or player owner. Implementing BGs/Arenas teams without players requires first implementing dynamic acquiring and transition of anchor point or something so bots could have somewhere to travel. Only then there can be some plan for map-based strategies, goals and tasks - where to go, who to kill and what to interact with. Currently bots can only enter BGs and Arenas with owner (as with any other map), following config-based rules.

samuel-edmund-morgan commented 1 year ago

NPCBots are anchored to the origin point which is either spawn location or player owner. Implementing BGs/Arenas teams without players requires first implementing dynamic acquiring and transition of anchor point or something so bots could have somewhere to travel. Only then there can be some plan for map-based strategies, goals and tasks - where to go, who to kill and what to interact with. Currently bots can only enter BGs and Arenas with owner (as with any other map), following config-based rules.

Do you know which bot system Vmangos use? If so, how can you rate vmangos bots? Do you think your bots are better or worse than vmangos?

If worse, do you think it's hard to implement vmangos bots in AC? It better - then ok :)

trickerer commented 1 year ago

Do you know which bot system Vmangos use? If so, how can you rate vmangos bots? Do you think your bots are better or worse than vmangos?

If worse, do you think it's hard to implement vmangos bots in AC? It better - then ok :)

No. The last time I touched any mangos core was about 12 years ago. Now between full-time job, bots and my other projects (not counting RL stuff) I very rarely have any time I wish to spend playing WoW. NPCBots are made to excell in combat AI. Everything else is a matter of preference. The last time I used playerbots was when I wanted to create a storyline, but even then I wasn't trying to make a living world using them, I needed static characters which will look like real players.

TL;DR You can use whichever you prefer and I'm not going to support different kinds of bots.

drachai commented 1 year ago

It's a silly idea but maybe we can set waypoint for bots with an invisible npc (bots master)? so bots fight when they encounter each other.

Thanks for the comments.

Day36512 commented 1 year ago

It's a silly idea but maybe we can set waypoint for bots with an invisible npc (bots master)? so bots fight when they encounter each other.

Thanks for the comments.

So the invisible master idea is fine, except then you're essentially having to create a brand new bot with entirely new interactions and would likely need to use real player data. What's more, you would have to mess with how bots currently interact with game objects. I'm betting there's a better solution though, which would be to have the invisible bots interacting with said object and the npc bot just doing the emote part, but idk. My C++ knowledge is lacking.

Either way, it's a ton of work. If I get BGs, great! I would love that so frickin' much. But if I don't? No big deal. I love how the bots function currently.

ornfelt commented 1 year ago

Do you know which bot system Vmangos use? If so, how can you rate vmangos bots? Do you think your bots are better or worse than vmangos?

If worse, do you think it's hard to implement vmangos bots in AC? It better - then ok :)

No. The last time I touched any mangos core was about 12 years ago. Now between full-time job, bots and my other projects (not counting RL stuff) I very rarely have any time I wish to spend playing WoW. NPCBots are made to excell in combat AI. Everything else is a matter of preference. The last time I used playerbots was when I wanted to create a storyline, but even then I wasn't trying to make a living world using them, I needed static characters which will look like real players.

TL;DR You can use whichever you prefer and I'm not going to support different kinds of bots.

Hi, I noticed that you started doing some development on wandering bots and that the release referenced this suggestion thread. Can I use the wandering bots to some extent now or does it require further development?

trickerer commented 1 year ago

I'd say wait for a couple days until commits containing fixes no longer look like a wall of text. There are also CPU and memory usage concerns. Right now the main discussion going and errors reporting happens in discord.

There are still a couple of item generation bugs, nodes need to be re-done from scratch to fix bots traveling through mountains. Otherwise it's usable - if no new critical errors pop up today, that is.

ornfelt commented 1 year ago

Thanks. How do I go about joining the discord channel?

trickerer commented 1 year ago

https://discord.gg/FSEc5uBB

drachai commented 1 year ago

Wow it's big update waiting for testing.

xBarselonx commented 1 year ago

Не совсем понял как это работает. Что должно произойти? Связано ли количество НПЦботов с количеством стандартных НПЦботов? В настройках конфигурации выставил NpcBot.DesiredWanderingBotsCount = 300. Своих НПЦботов не добавлял, все стандартные с исходниками сервера. На сервере фактически создано только 4 бота из стандартных.

trickerer commented 1 year ago

Количество бродячих ботов ограничено количеством незаспавненых ботов. Команды: .npcbot list spawned, .npcbot go <ID> Для отображения отладочной информации добавь в конфиг логгинга Appender.NpcBots=1,2,0 Logger.npcbots=2 NpcBots Server

xBarselonx commented 1 year ago

Боты есть. Сегодня в Оргриммаре видел ночного эльфа, видимо боты нейтральны к орде и к альянсу. А какая задача ботов? Они на бг или арену ходят? Или просто перемещаются, создавая имитацию онлайна?

trickerer commented 1 year ago

Пока это просто концепт (боты, способные действовать без игрока), позволяющий постепенно перейти к разработке ботов для бг/арены.

drachai commented 1 year ago

The server run almost 3 days with 269 bots and 10 player only one crash. It's increase memory usage like 1500 mb. Do you have sql for more bot's to try or we need add manualy to increase number?

ASSERTION FAILED

Location 'Source\Azerothcore\src\server\game\AI\NpcBots\bot_druid_ai.cpp:2579'

Function 'druid_bot::bot_druid_ai::JustSummoned'

Condition 'false'

Debug info: 'Me: MapID: 0 X: -7893.69 Y: -901.223 Z: 134.918 O: 1.84746

GUID Full: 0xf130011d5300193d Type: Creature Entry: 73043 Low: 6461 Entry 73043 Name: Fylerian AliveState: true UnitMovementFlags: 0 ExtraUnitMovementFlags: 0 Class: 11 AIName: ScriptName: druid_bot WaypointPath: 0 SpawnId: 0'

trickerer commented 1 year ago

The server run almost 3 days with 269 bots and 10 player only one crash. It's increase memory usage like 1500 mb. Do you have sql for more bot's to try or we need add manualy to increase number?

This crash will be fixed in next update.

I don't provide SQLs to mass create bots but you can check WoW repack community discord where people did create some SQLs with up to several thousand bots.

Russianranger commented 1 year ago

The server run almost 3 days with 269 bots and 10 player only one crash. It's increase memory usage like 1500 mb. Do you have sql for more bot's to try or we need add manualy to increase number?

ASSERTION FAILED

Location 'Source\Azerothcore\src\server\game\AI\NpcBots\bot_druid_ai.cpp:2579'

Function 'druid_bot::bot_druid_ai::JustSummoned'

Condition 'false'

Debug info: 'Me: MapID: 0 X: -7893.69 Y: -901.223 Z: 134.918 O: 1.84746

GUID Full: 0xf130011d5300193d Type: Creature Entry: 73043 Low: 6461 Entry 73043 Name: Fylerian AliveState: true UnitMovementFlags: 0 ExtraUnitMovementFlags: 0 Class: 11 AIName: ScriptName: druid_bot WaypointPath: 0 SpawnId: 0'

As trickerer stated, I created an unofficial SQL that creates about 2900 more bots. Go to the WoW Repacks Community discord, check the General > Share channel, the SQL files are there for you to run. I have bots set at 2800 - will give you plenty of targets but will also make life harder if trying to quest

xBarselonx commented 1 year ago

trickerer, свободные боты еще в стадии разработки, я так понимаю, находится?

trickerer commented 1 year ago

Once I map Kalimdor for wander points and add a couple aditional features that will be it for wandering bots for now. I'm not sure if Outland/Northrend will ever get involved

ornfelt commented 1 year ago

Once I map Kalimdor for wander points and add a couple aditional features that will be it for wandering bots for now. I'm not sure if Outland/Northrend will ever get involved

Will you add the ability to add wandering bots to BG? Tbh, I would be happy if I could just add some bots without having them to actually try to capture flags etc.

trickerer commented 1 year ago

Once I map Kalimdor for wander points and add a couple aditional features that will be it for wandering bots for now. I'm not sure if Outland/Northrend will ever get involved

Will you add the ability to add wandering bots to BG? Tbh, I would be happy if I could just add some bots without having them to actually try to capture flags etc.

Well that's the point of this issue being still opened, right? I did look into BG code and implementing BG mechanics for creatures seems extremely painful. Conditions, player-only spells, manual interactions with every single object - BG mechanics are fine-tuned to only have players involved. Rewriting every single BG is not my thing, so what you're asking for is number one thing on the 'BGs with NPCBots' track. Then we'll see. Maybe bots could bring in some additional BG mechanics instead - create different kind of challenge, or maybe even alternative win conditions. There are many other things that can be done with creatures able to travel by themselves like this and I have several ideas in mind; who knows, maybe BGs/Arenas won't be the only thing invlolving NPCBots-only teams.

ornfelt commented 1 year ago

Alright, cheers :)

trickerer commented 1 year ago

There is still an issue with scores not being properly sent to player sometimes resulting in empty scoreboard at client.

trickerer commented 1 year ago

This pretty much concludes WSG implementation. This issue has become overloaded with off-topic and will be closed. For any additional BGs implementation please open a separate issue. Oh, and arenas against NPCBot teams are unlikely as it need a completely separate AI module for bots to be effective against any mature arena team, even in 2v2.