Jump to content

New PB/PB-AI Development Discussion


Unkle Nuke

Recommended Posts

This is to kick off discussion, debate, and planning for continued development of the playerbot mods for MaNGOS.

Once things get rolling, authors and their collaborators can start threads for their work.

I would prefer to see a unified Playerbot development, with ports/backports for each version of MaNGOS being overseen by the Playerbot project leader. Let's avoid having completely separate projects for Playerbot-Zero, Playerbot-One, Playerbot-Two, etc. Otherwise, we'd end up with a mess, where code for one version of Playerbot is incompatible with another.

Some issues that could be addressed:

------------------------------------

To avoid confusion, rename Playerbot-AI. A new name can be decided upon by a forum Poll, if you like. Otherwise, I'll leave the new name up to whoever takes on the work.

While you're at it, could someone please make Playerbot-AI into a real mod? By that, I mean separate the code into a patch that can generated by running a diff against MaNGOS. Right now, the mod is mixed in with a lot of other patches added by Ike because the Playerbot-AI code is only a part of his custom fork of MaNGOS.

If possible, let's try merging the best features of Playerbot and Playerbot-AI into a single code base. It would make things a lot easier than having to develop and maintain two separate projects, along with their branches for each version of MaNGOS.

Seeing bots for PvP finally implemented! Having bots which you can duel, fight in Outdoor PvP zones, or fill out teams in arenas and battlegrounds are just as important for low-pop servers as having a party for PvE. PvP bots should be designed to use NPCs instead of player characters. Their behaviors can then be scripted through EventAI, similar to the way a dungeon boss can be scripted. The EventAI module might need to be modified to achieve this functionality.

More development of sophisticated AI for all of the bots. Instead of having the Class/Spec AIs for the player character bots hard-coded into the Playerbot core, move them into the scripts also, where behaviors can be properly triggered by the EventAI, if this is possible. However, this may require more modifications or additions to the EventAI code.

Playerbot-UI Addon was developed for the Playerbot master at the time, which supports WoTLK 3.3.5a. Because of differences in the API between client versions, it might be necessary to develop separate PB-UI Addons for each. That is, unless someone who knows addon development well enough to:

1. Create a modular version, with a main function and version-specific modules the player copies into their client's addons folder.

2. Create a single addon that dynamically detects your client version, then loads only what is needed for a specific client.

Playerbot-UI still needs a lot of work. It's current code should be regarded as alpha stage, at best.

One last thing...

The repositories and branches for the MaNGOS versions of Playerbot, Playerbot AI, and Playerbot-UI Addon can disappear at any moment, since they are no longer maintained by their authors. I will try to fork them into a new repository as soon as I can, but I advise anyone who thinks they might want to join in on a new project for this to clone blueboy's, Ike's, and Gitch's code immediately.

Okay, I'll surrender the soapbox to the rest of you. Let's see some good ideas! ;)

Link to comment
Share on other sites

  • 2 years later...

Just wondering if there is still work being done to the playerbot project. I've noticed that most of the posts in this section are getting old.

I love that you included playerbot in the Mangos Zero easy build and wondering if its being worked into the other builds. Works great for us C++ special needs types...

Thanks again for all your hard work.

Link to comment
Share on other sites

Currently the Mangos Team is small with many of the contributor being absent.

But saying that, there is working going on all the time.

In the fullness of time all the enhancements made in Zero will be rolled out into the other cores :D

The more people who help out, the better :P

  • Like 1
Link to comment
Share on other sites

That's fantastic. Thanks again.

I would love to help out anyway I can. I'm no programmer though. I tried reading through the learncpp.com pages and managed to say hello world. Time just slipped away I guess. If you need any testers or some thing like that, I would be more than willing to help. I did notice the install guide needed a little work if you would like me to update that. Its the least I can do to support the people that have given me hours of entertainment.

Link to comment
Share on other sites

  • 8 months later...

Hi,

  I've been messing around with the player bots for a while and found them to be really fun. Thank you for including them in the latest prebuilt Mangoszero (which I've been using).

  This might not be the right place for this but there were a few things I'd noticed with the playerbot.

1. When asking them for their status with "stats" instead of showing copper/silver/gold icons, the bots say "|TInterface\Addons\AtlasLoot\Images\silver:0"

  I've tried this with AtlasLoot installed and enabled and checked it's a version with those images but it still doesn't seem to work correctly. It might be easier if the bot was set to just say "g", "s" and "c" by default (and the text could be coloured to make it stand out), rather than trying to show an icon. I think the bit that would want changing is "string ChatHelper::formatMoney(uint32 copper)" in https://github.com/mangoszero/server/blob/master/src/modules/Bots/playerbot/ChatHelper.cpp

2. Is there a complete list of available strategies anywhere? I've seen it's possible to dredge though https://github.com/mangoszero/server/blob/master/src/modules/Bots/playerbot/strategy/ and the header files for each strategy have a line like "virtual string getName() { return "bear"; }" which in that case is the name of the bear tank strategy.

  If there isn't a complete list anywhere I will probably try and make one if that'd be helpful for other people to have, I just didn't want to start on that if I was missing something obvious. Most of them are quite intuitive but a full list wouldn't hurt.

3. The use command doesn't seem to work for Game objects. I can use "los" to get the bots to report game objects nearby, then can tell them to use the game object. They reply that they're using it but don't seem to do anything.

  The using items action seems to be handled in https://github.com/mangoszero/server/blob/master/src/modules/Bots/playerbot/strategy/actions/UseItemAction.cpp

and game objects is in the function "bool UseItemAction::UseGameObject(ObjectGuid guid)", however I'm afraid I'm not familiar enough with the code to know why it might be failing.

  If it's of any use my herbalist bot did automatically use game objects that counted as herbs. So if they're using game objects by a different method there it might work more generally too. In this case it was the laden mushrooms for the fungal spores quest in the barrens (Quest 848, Game object 3640, Item 5012).

  Apologies again if this isn't the place for it. I appreciate that the mangos team is very small and on the whole I've been very impressed with the server and the bots.

Edited by Thatguy
Added in a third point
Link to comment
Share on other sites

If i remeber correctly the "stats"  issue has been repaired.....Try  the bots from the authors updated bot repo from https://github.com/ike3/mangosbot-zero It has some nice update. Or  https://github.com/conan513/mangosbot-zero its more updated and has some custom upgrade.

you can try ikebotui addon to control bots. It has a menu with a lot of orders (not all) .

  • Like 1
Link to comment
Share on other sites

  • madmax pinned this topic

I've moved this topic and the other Playerbot topics into the community projects forum to help streamline the forums a bit. This topic will remain pinned.

@Lidocain might be worth reaching out to me on discord when you have the time and see if we can work getting your bots into the mangos core if they are more updated then the current ones we use? 😄

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

I posted in the other thread but my friends and I have a Mangos Zero server up and running and have been running in to the following issues:

 

1) client often crashes when trying to use a flight path with bots (note: only happens on linked flights, direct flights mostly seem okay)

2) bots won't rez if they die (which is fine since I can heal)

3) bot randomizer seems to mostly spawn ~150 level ones and ~50 correctly out of 200

4) bots aren't grinding or questing on their own, most are standing in fire after world is built

5) client will crash on need/greed rolls in dungeon, have to set to master loot which angers the bots

 

Once we had the bots ready to go and the proper strategies set, rogue and melee bots were doing just fine.  If anybody has any solves for these in the config files without needing a recompile, please let me know! 

Edited by Oura_
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use