• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • HearthbuddyBeta GvG Release Thread

    Discussion in 'Hearthbuddy Forum' started by pushedx, Dec 20, 2014.

    Thread Status:
    Not open for further replies.
    1. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      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.
      You need to register and have one post to see spoilers!
       
      Last edited by a moderator: Jan 3, 2015
    2. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Versions

      #90 [Next Version]
      • Experimental fix for UseAt. It now implements more logic to try and place cards at the correct position. Please report any continued oddities with where cards should be placed, vs what is actually done/logged.
      • The automatic custom deck caching on startup has been disabled to be reworked in the future.

      #88 [07 Jan 15 21:38]
      • Added a new feature for the bot to not draft arena and just stop instead.
      • Added a new feature to stop the bot at arena rewards, so users can manually open them.
      • Caching has been added to some of TritonHs API functions to help address performance issues.
      • Silverfish is now updated outside the framelock. This should reduce the "freeze" during it's update phase.
      • The bot should now play though Naxx scenarios if they are manually started by the user (e.g., you start the bot at Mulligan).
      • Added TritonHs.IsQuestForClass. This function can be used to check if a quest is a victory quest for a specific class.
      • AchievementData now stores the id, which is what needs to be used for localization issues as opposed the name.
      • ArenaDraftLogic in DefaultRoutine now uses IsQuestForClass to implement proper arena quest support for any language.
      • The bot will cache custom decks on startup.
      • Added settings to DefaultBot's gui to set NeedsToCacheCustomDecks and NeedsToCacheQuests on demand.
      • A new class, CustomDeckCache has been added. This class holds cached deck info for persistence and uses JsonSettings for saving/loading.
      • Utility.CacheCustomDecks has been rewritten to use the new CustomDeckCache class.
      • MainSettings now holds an ObservableCollection of CustomDeckCache objects that represent the current cached decks.
      • A new event was added, GameEventManager.CustomDecksCached. This is called when the bot has cached the current custom decks, and users can make use of MainSettings.CustomDecks.
      • TritonHs.IsQuestForSpecificClass added. This can be used to know if a quest is a class specific win quest.
      • TritonHs.GetBasicHeroCardIdFromClass / TritonHs.GetBasicHeroClassFromCardId added. These allow easier mapping between card ids and basic hero classes (as opposed to calling an API function for HS).
      • The initial Quest plugin logic has been implemented. It will attempt to use custom decks to complete quests, and then fall back to basic decks unless otherwise configured.
      • The Quest plugin is now included with the bot for users to test: https://www.thebuddyforum.com/heart...dybeta-gvg-release-thread-21.html#post1810795
      • A bug where the bot was unable to continue due to a HS client state issue involving PLAY_QUEUE has been found and fixed.

      #86 [02 Jan 15 17:18]
      • Various GvG null exception fixes based on logs.
      • Fixed a client issues where the status was set to COLLECTION in the hub scene.
      • SeasonEndDialog should now be clicked though correctly.
      • GameEventManager.StartingNewGame added. This is called when the bot is in the process of starting a new game.
      • The AutoStop plugin now offers a StopAtRank feature.
      • TritonHs.MyRank added for users to check the current constructed rank.
      • Stats plugin now adds total program runtime to the bottom left corner of the GUI.

      #85 [29 Dec 14 16:48]
      • "Keep Constructed Rank" has been renamed to "Keep Constructed Rank/MMR" and now applies to both unranked and ranked constructed games. Please re-enable this Constructed setting as it uses a different internal name now.
      • Two non-gui options have been added. DefaultBotSettings.AutoConcedeMinDelayMs and DefaultBotSettings.AutoConcedeMaxDelayMs. These settings make the bot wait 15-30s by default to concede on the next constructed game to avoid the issues of double concedes as well as adding some randomness when the concede is done. Users can edit their DefaultBot.json files for their current configuration when the bot is not running to change these.
      • Concedes are now manually tracked and triggered though GameEventManager.TriggerGameOver.
      • The Stats plugin now distinguishes between losses and concedes. The GUI has been updated so users can test the plugin itself.
      • The plugin must now be enabled before the Config button works on the Plugin tab. Before, the settings would show for disabled plugins.
      • A new plugin, AutoStop, has been added. This plugins provided extended functionality for the old "Stop after X games" feature.

      #83 [28 Dec 14 19:15]

      #82 [26 Dec 14 12:54]
      • Mulligan logic now only executes once as opposed to infinitely. Before, it was possible for the game to be disconnected, and Mulligan logic would run forever.
      • The bot will no longer cancel the "Beat Down" quest. It was just meant as an example, so it shouldn't have been doing it. It will still "view" quests though.
      • GameEventManager.MulliganConfirm added. This is triggered when the bot confirms the Mulligan, and can be used to know when/if the bot handled Mulligan logic for the current game.

      #81 [25 Dec 14 06:43]

      #77 [24 Dec 14 04:27]
      • The PLAY_QUEUE state is now handled from the GameplayScene.
      • Users will now see a different message when there's a specific error authenticating the key. Rather than a "System.InvalidOperationException" error message box, they will see: "There was an error authenticating your key with the server. Please try again or use a different key."
      • DefaultRoutine should now properly target Weapon card's with a battlecry rather than your own hero.

      #76 [23 Dec 14 11:42]
      • Another null exception in getHPBuffPenality should now be fixed.

      #75 [23 Dec 14 03:39]
      • Concede logic changed a little since it seems the dialog might not exist for all users.

      #74 [22 Dec 14 19:12]
      • Concede logic update to try and identify some exceptions reported from null objects.
      • The bot will now keep on trying to concede until it works. If it continues to have issues, we'll have to switch the method used.
      • The issue with minions being targeted when it was disallowed should now be fixed.
      • SF should now calc card placement.
      • UseAt now outputs the position it is moving to, in order to try and work out placement issues with the new GvG client.

      #73 [22 Dec 14 04:10]
      • Added the old AutoConcede feature using the new setup.

      #72 [22 Dec 14 01:51]
      • Some extra delays were added after performing actions. The new bot runs much faster than the previous one did, so it's possible the AI runs too soon after performing an action, which results in it performing the wrong action because the client has not fully updated yet.
      • "Friendly" mode now uses the correct settings.
      • ConstructedCustomDeck / FriendlyCustomDeck / PracticeCustomDeck are now checked for being empty before selecting a custom deck. The bot will now stop if it's unable to know which custom deck the user wants.

      #71 [21 Dec 14 03:27]
      • DefaultRoutine now uses OrderByDescending rather than OrderBy for ArenaValues. Cards with higher value should be taken as opposed to lower.
      • Fix for the exception thrown from having "Dark Wispers" in your hand.

      #70 [20 Dec 14 14:31]
      • Initial version.

      F.A.Q.

      Q. Which pre-requites do I need to run HearthbuddyBeta?
      A. Problems with a new install of a Buddy product? Try the Buddy Dependency Wizard!

      Q. Can I click and interact with the game when the bot is running?
      A. No. The bot must perform actions like a human would, which requires using keyboard and mouse input. If you attempt to interact with the client while the bot is running, you'll interfere with the bot.
       
      Last edited: Jan 15, 2015
    3. jotd

      jotd Member

      Joined:
      Sep 27, 2010
      Messages:
      745
      Likes Received:
      1
      Trophy Points:
      18
      This thing looks amazing! Currently running on my first game. Nice new settings. And he automatically does the daily quests? nice!
       
    4. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      The bot now has support for quests, but we don't have full logic in to do them all in an ideal way other than the win games using a certain hero in Arena. Users will also be able to cancel them on startup and after a quest update as well (e.g., daily reset while you're playing). In addition, we can only support English clients right now until we are able to work in correct localization (which is big on the todo list, but we have to have something working first to localize!)
       
    5. DarkOS

      DarkOS New Member

      Joined:
      Jun 15, 2012
      Messages:
      213
      Likes Received:
      0
      Trophy Points:
      0
      great work guys. thanks for putting the time into this and getting it released.
       
    6. telefony

      telefony New Member

      Joined:
      Jan 9, 2011
      Messages:
      156
      Likes Received:
      0
      Trophy Points:
      0
      Sorry if im asking a stupid question, but i dont see any option to run ranked games ? only arena constructed fiendly and practice ?
      am i missing something ?
      appriciate help
       
    7. jotd

      jotd Member

      Joined:
      Sep 27, 2010
      Messages:
      745
      Likes Received:
      1
      Trophy Points:
      18
      Constructed has the option to do rankeds in the settings. you can choose between casual and ranked (dropdown menu)

      Edit: btw where do I see the statistics?
       
    8. kaime

      kaime New Member

      Joined:
      Jun 11, 2012
      Messages:
      127
      Likes Received:
      0
      Trophy Points:
      0
      Thank you.
      About applying additional time from the downtime.
      Are you guys gonna update the expired sessions automatically, or should we contact you?
       
    9. Shunri

      Shunri New Member

      Joined:
      Dec 20, 2014
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Thank you for this update. I just went through 2 games of botting and there have been some problems with cards buffing another card, and then the buffed card not actually attacking. Here's the log, when I buffed nerubian to 2 attack it did not attack unit or face
       

      Attached Files:

    10. FIRST

      FIRST Member

      Joined:
      Dec 3, 2011
      Messages:
      160
      Likes Received:
      0
      Trophy Points:
      16
      The autoconcede after win has been removed?I cant find it
       
    11. janusznazir

      janusznazir New Member

      Joined:
      Jun 28, 2014
      Messages:
      108
      Likes Received:
      1
      Trophy Points:
      0
      Why the bot all time try to attack with minion wich is already attacked? "This character already attacked" Its waste of time wich is limited in hearthstone as you know.
       
      Last edited: Dec 20, 2014
    12. Orvion

      Orvion New Member

      Joined:
      Sep 3, 2013
      Messages:
      11
      Likes Received:
      0
      Trophy Points:
      0
    13. mrswepyro

      mrswepyro New Member

      Joined:
      Jan 21, 2012
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      Tryin it out atm this far it looks really nice :-D
      Great job
       
    14. Soske

      Soske New Member

      Joined:
      Dec 20, 2014
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      An issue arises whilst playing the Druid class.
      Every time Dark Wispers is in hand, the bot will crash.
      Has happened 3/3 times I've tested the theory.

      Aside from that obscure issue, the bot looks good!
      Really appreciate the work you guys put in for us!
       
    15. halreater

      halreater New Member

      Joined:
      Jan 19, 2011
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      where is the autoconcede please?
       
    16. mrswepyro

      mrswepyro New Member

      Joined:
      Jan 21, 2012
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      How do i get it to run random custom decks? and get it to aotomaticly chose one of my custom deck for daily exemple win 2 games with warrior..
       
    17. Soske

      Soske New Member

      Joined:
      Dec 20, 2014
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      I also wanted to point out very odd card choice in the arena.
      Picking cards purely based off of mana cost, and disregarding the effect of the card.

      ie.
      Picking:
      In certain class vs card vs mana cost scenarios, there definitely could be improvements made in deck construction when it comes to Arenas.
      PM me if you would require any help in regards to this.
       
      Last edited: Dec 20, 2014
    18. mrswepyro

      mrswepyro New Member

      Joined:
      Jan 21, 2012
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      The bot Had plenty of cards to play but just passed turn and let the enemy build up a defence. also so many cards in my hand so i auto sacced cards upon card getting
       

      Attached Files:

    19. q8designer

      q8designer Member

      Joined:
      Mar 31, 2012
      Messages:
      109
      Likes Received:
      1
      Trophy Points:
      18
      Hello,

      Tried the bot in casual. It tried to play the minion twice every time .. for every minion.

      I'll report more bugs


      Thanks
       
    20. mikku789

      mikku789 New Member

      Joined:
      Jun 23, 2014
      Messages:
      10
      Likes Received:
      0
      Trophy Points:
      0
      When i start HearthBuddy it wont work. There are no plugins and anything.
       

      Attached Files:

    Thread Status:
    Not open for further replies.

    Share This Page