HearthbuddyBeta GvG Release Thread
The GvG expansion broke large parts of our previous bot. As a result, we're been working on a new one. For those wondering why the "update" for Hearthbuddy has taken so long, that's why. This release represents the first user testable version of what we have so far. There's still a lot of work to do and things to address, but hopefully users will see the project is not dead, and we're working towards fixing all the previous known issues with the last version.
Expect bugs, possible crashes, lack of features, and for things to change, a lot. We'll be working as fast as possible to collect feedback and bugs, and fix them in batch.
Things To Know
* In order to receive Support, you must attach a full log from the bot session that you encountered a problem with. Please do not modify the log; we need all the information present. If your log file is too large to upload, please ZIP it first before attaching. For more information on this topic, please see the following guide: How to attach your log.
* The bot will stop as soon as an exception is hit. Please make a Support thread and include your log as soon as possible. As a result, we do not recommend trying to bot unattended, unless you're botting Practice games using a deck that is known not to cause any issues.
* Silverfish creates its own logs in "Routines\DefaultRoutine\Silverfish\UltimateLogs". If you have Silverfish errors to report to us, please attach those logs as well. We want to unify the setup of the logs to make life easier for users, but it was not possible without delaying the release longer.
* Please do not try to interact with the game while the bot is running. You'll interfere with it.
* We will be using a modified Silverfish AI as our default AI. However, the GvG update added a lot of cards and mechanics that need to be handled properly, so there will undoubtedly be a lot of things to fix as testing goes underway. We are grateful and appreciative for obtkamer's work and contributions to help modernize AI for Hearthstone bots. We're still working on a better layout and distribution for the logic itself, so the current implementation is very "messy" (e.g., namespaces for HREngine in his code have not been renamed, since properly setting up everything requires massive changes which breaks his workflow as well as anyone else who wants to help contribute using the Silverfish repo).
* Mulligan is currently hard coded to DefaultRoutine. We will be changing this system to something more dynamic and easy to use in the near future.
* ArenaDraft is pretty limited at this time. We'll be expanding the system and opening it to community development in the near future.
* A legacy API is currently being used to test Silverfish as it's the most complete (and by most, I mean only) GvG AI available. We will be eventually switching to a new API that will require the integration code for Silverfish to change for Hearthbuddy. That would delay a testable release for too long right now, so we're going with what we have.
* Community development is not ready to start yet. We know users want to start adding new features and various things for human like behaviour, but we need to get things setup differently first. Our options are to either start testing with what we have now, or delay a lot longer to try and find something that will work how we want.
* The bot has been updated to hopefully work correctly in any resolution. The way the bot interacts with the game has changed, and the previous version's code is no longer used. However...
* There are still some unsolved issues with the legacy AI and how it's currently used. For example, we changed the way card interactions work. The legacy AI does not implement the logic completely. It is possible for the bot to misclick and not perform the correct action due to a client lag spike or an animation taking a bit longer than calculated.
* Lastly there's a lot of stuff not explained or covered yet. We'll be working on that. For now, we need to fix any stability issues and get updates to the AI in place to take care of serious problems that make it unusable so people can get back to botting.
[/list]
Quick Start/Reference Guide
Please run the Buddy Dependency Wizard! first. It will update .Net 4.5.1, and all of the Visual C++ Runtimes we use.
Please note this guide is just a quick start/reference guide to help users get pointed in the right direction when using the new version. Hearthbuddy will change quite a lot in the upcoming months, so a lot of the images shown here will most likely not reflect the latest version of Hearthbuddy, or look different if you are not using Windows 8.1.
The GvG expansion broke large parts of our previous bot. As a result, we're been working on a new one. For those wondering why the "update" for Hearthbuddy has taken so long, that's why. This release represents the first user testable version of what we have so far. There's still a lot of work to do and things to address, but hopefully users will see the project is not dead, and we're working towards fixing all the previous known issues with the last version.
Expect bugs, possible crashes, lack of features, and for things to change, a lot. We'll be working as fast as possible to collect feedback and bugs, and fix them in batch.
Things To Know
* In order to receive Support, you must attach a full log from the bot session that you encountered a problem with. Please do not modify the log; we need all the information present. If your log file is too large to upload, please ZIP it first before attaching. For more information on this topic, please see the following guide: How to attach your log.
* The bot will stop as soon as an exception is hit. Please make a Support thread and include your log as soon as possible. As a result, we do not recommend trying to bot unattended, unless you're botting Practice games using a deck that is known not to cause any issues.
* Silverfish creates its own logs in "Routines\DefaultRoutine\Silverfish\UltimateLogs". If you have Silverfish errors to report to us, please attach those logs as well. We want to unify the setup of the logs to make life easier for users, but it was not possible without delaying the release longer.
* Please do not try to interact with the game while the bot is running. You'll interfere with it.
* We will be using a modified Silverfish AI as our default AI. However, the GvG update added a lot of cards and mechanics that need to be handled properly, so there will undoubtedly be a lot of things to fix as testing goes underway. We are grateful and appreciative for obtkamer's work and contributions to help modernize AI for Hearthstone bots. We're still working on a better layout and distribution for the logic itself, so the current implementation is very "messy" (e.g., namespaces for HREngine in his code have not been renamed, since properly setting up everything requires massive changes which breaks his workflow as well as anyone else who wants to help contribute using the Silverfish repo).
* Mulligan is currently hard coded to DefaultRoutine. We will be changing this system to something more dynamic and easy to use in the near future.
* ArenaDraft is pretty limited at this time. We'll be expanding the system and opening it to community development in the near future.
* A legacy API is currently being used to test Silverfish as it's the most complete (and by most, I mean only) GvG AI available. We will be eventually switching to a new API that will require the integration code for Silverfish to change for Hearthbuddy. That would delay a testable release for too long right now, so we're going with what we have.
* Community development is not ready to start yet. We know users want to start adding new features and various things for human like behaviour, but we need to get things setup differently first. Our options are to either start testing with what we have now, or delay a lot longer to try and find something that will work how we want.
* The bot has been updated to hopefully work correctly in any resolution. The way the bot interacts with the game has changed, and the previous version's code is no longer used. However...
* There are still some unsolved issues with the legacy AI and how it's currently used. For example, we changed the way card interactions work. The legacy AI does not implement the logic completely. It is possible for the bot to misclick and not perform the correct action due to a client lag spike or an animation taking a bit longer than calculated.
* Lastly there's a lot of stuff not explained or covered yet. We'll be working on that. For now, we need to fix any stability issues and get updates to the AI in place to take care of serious problems that make it unusable so people can get back to botting.
[/list]
Quick Start/Reference Guide
Please run the Buddy Dependency Wizard! first. It will update .Net 4.5.1, and all of the Visual C++ Runtimes we use.
Please note this guide is just a quick start/reference guide to help users get pointed in the right direction when using the new version. Hearthbuddy will change quite a lot in the upcoming months, so a lot of the images shown here will most likely not reflect the latest version of Hearthbuddy, or look different if you are not using Windows 8.1.
1. Download Hearthbuddy Beta build from http://updates.buddyauth.com/GetNewest?filter=HearthbuddyBETA. The new version starts with build #70. Please do not use or try to update old versions. It is suggested to not rename the zip file!
2. Right click on the "Hearthbuddy" zip file and "Extract All...".
3. The Window's Extract Compressed (Zipped) Folders dialog opens. Simply click on the "Extract" button to begin extracting the bot.
4. The bot will now begin to extract. This process might take a while for some users with slower PCs due to the number of files that must be extracted. Please wait patiently for it to finish.
5. When the extraction process completes, a new Hearthbuddy folder will open. The directory layout will resemble this.
6. Sometimes, Windows blocks new files on your PC when you download them from the net. Right click on "Hearthbuddy.exe" and choose "Properties".
7. If the file is blocked, you will need to "Unblock" it by clicking on the "Unblock" button, followed by "Apply" and/or "OK". Not all users might see this, so this step is only necessary if you do.
8. Run Hearthbuddy by double clicking "Hearthbuddy.exe". Hearthstone must already be launched.
9. When Hearthbuddy starts, you will see a "Configuration Window". For now, simply click "Select" to use the "Default" configuration.
10. Next, the "Hearthbuddy Key" window will be shown. Enter your Hearthbuddy key and press "Login".
11. Hearthbuddy will now start. Please wait a moment for it to fully load and compile bots, plugins, and routines. This "Main" tab is where you will be able to change bots/routines, and start/stop the bot.
12. The "Plugins" tab will list currently loaded plugins. By default, a simple "Stats" plugin is auto-enabled. Plugins are a future development focus, and are not ready to be user created yet.
13. The "Settings" tab provides one play to manage settings for the program, the current bot, the current routine, and any enabled plugins. The "Configuration" tab lists the current configuration Hearthbuddy is using, which should be "Default" by default.
14. The "Global" tab tab lists a few global settings, such as your Hearthbuddy key, the ability to disable update checks (disabled by default), and if Hearthbuddy will auto-login to BuddyAuth (enabled by default).
15. The "Main" tab lists a few application specific settings. It shows the last bot/routine used, the currently enabled plugins, as well as some application position/size data. The last two options will be covered later, but for now, don't worry about changing them.
16. The "DefaultBot" tab can only be seen because "DefaultBot" is the active bot selected from the "Main" (non-settings) tab as previously shown in #11. This tab provides users a means to change various settings for this bot. The "*CustomDeck" fields are strings that should be set to the actual name of the deck to use, and not a number. The rest of the options should be self explanatory, and the Friendly mode will be talked about in more detail later. Hover over the text labels on the left side for additional information. Please see the DefaultBot Settings Guide in the next post for more information.
17. The "DefaultRoutine" tab can only be seen because "DefaultRoutine" is the active routine selected from the "Main" (non-settings) tab as previously shown in #11. This tab provides users a means to change various settings for this routine. The current options that can be configured are the priority of arena heroes when no quests are active. With the default settings, Hunter is prioritized the highest, followed by Warlock, Pried, Rogue, and Warrior. If none of these heroes are available, a random hero is chosen.
18. The "Stats" tab can only be seen because "Stats" is an enabled plugin activated from the "Plugin" tab as previously shown in #12. This plugin's options are pretty simple; you can view the current wins, losses, and choose to reset them with a click of the button.
19. The "Dev" tab provides a means to execute code at runtime. It's an advanced feature, and will not be talked about here yet.
20. The "Tools" tab is currently empty and might be removed, depending on how various tools are implemented.
21. After going though the GUI, and changing settings as needed for DefaultBot and DefaultRoutine, return to the "Main" tab and click "Start". Hearthbuddy will now navigate it's way to the selected game mode and start botting away.

2. Right click on the "Hearthbuddy" zip file and "Extract All...".

3. The Window's Extract Compressed (Zipped) Folders dialog opens. Simply click on the "Extract" button to begin extracting the bot.

4. The bot will now begin to extract. This process might take a while for some users with slower PCs due to the number of files that must be extracted. Please wait patiently for it to finish.

5. When the extraction process completes, a new Hearthbuddy folder will open. The directory layout will resemble this.

6. Sometimes, Windows blocks new files on your PC when you download them from the net. Right click on "Hearthbuddy.exe" and choose "Properties".

7. If the file is blocked, you will need to "Unblock" it by clicking on the "Unblock" button, followed by "Apply" and/or "OK". Not all users might see this, so this step is only necessary if you do.

8. Run Hearthbuddy by double clicking "Hearthbuddy.exe". Hearthstone must already be launched.
9. When Hearthbuddy starts, you will see a "Configuration Window". For now, simply click "Select" to use the "Default" configuration.

10. Next, the "Hearthbuddy Key" window will be shown. Enter your Hearthbuddy key and press "Login".

11. Hearthbuddy will now start. Please wait a moment for it to fully load and compile bots, plugins, and routines. This "Main" tab is where you will be able to change bots/routines, and start/stop the bot.

12. The "Plugins" tab will list currently loaded plugins. By default, a simple "Stats" plugin is auto-enabled. Plugins are a future development focus, and are not ready to be user created yet.

13. The "Settings" tab provides one play to manage settings for the program, the current bot, the current routine, and any enabled plugins. The "Configuration" tab lists the current configuration Hearthbuddy is using, which should be "Default" by default.

14. The "Global" tab tab lists a few global settings, such as your Hearthbuddy key, the ability to disable update checks (disabled by default), and if Hearthbuddy will auto-login to BuddyAuth (enabled by default).

15. The "Main" tab lists a few application specific settings. It shows the last bot/routine used, the currently enabled plugins, as well as some application position/size data. The last two options will be covered later, but for now, don't worry about changing them.

16. The "DefaultBot" tab can only be seen because "DefaultBot" is the active bot selected from the "Main" (non-settings) tab as previously shown in #11. This tab provides users a means to change various settings for this bot. The "*CustomDeck" fields are strings that should be set to the actual name of the deck to use, and not a number. The rest of the options should be self explanatory, and the Friendly mode will be talked about in more detail later. Hover over the text labels on the left side for additional information. Please see the DefaultBot Settings Guide in the next post for more information.

17. The "DefaultRoutine" tab can only be seen because "DefaultRoutine" is the active routine selected from the "Main" (non-settings) tab as previously shown in #11. This tab provides users a means to change various settings for this routine. The current options that can be configured are the priority of arena heroes when no quests are active. With the default settings, Hunter is prioritized the highest, followed by Warlock, Pried, Rogue, and Warrior. If none of these heroes are available, a random hero is chosen.

18. The "Stats" tab can only be seen because "Stats" is an enabled plugin activated from the "Plugin" tab as previously shown in #12. This plugin's options are pretty simple; you can view the current wins, losses, and choose to reset them with a click of the button.

19. The "Dev" tab provides a means to execute code at runtime. It's an advanced feature, and will not be talked about here yet.

20. The "Tools" tab is currently empty and might be removed, depending on how various tools are implemented.

21. After going though the GUI, and changing settings as needed for DefaultBot and DefaultRoutine, return to the "Main" tab and click "Start". Hearthbuddy will now navigate it's way to the selected game mode and start botting away.
Last edited by a moderator: