What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Guide for Best Use of Hearthbuddy for Arena (Check Here!)

DanielMahan

Member
Joined
Dec 1, 2013
Messages
556
Hey guys, i've seen several posts of people asking for routine on running the bot with Arena~


THE BEST way to use it that i've found is:

Use Hearth Arena - Beyond the Tier List to draft your decklist, and after you've done that it will tell you if you have a Control or Aggro deck


From there, go into your routine and set it for either Control or Rush and gg!

I just ran a priest rush deck and got 12 wins 1 loss.


You're Welcome! Enjoy! :)
 
Behavior behave = new BehaviorRush();//change this to new BehaviorRush() for rush mode

public DefaultRoutine()
{
// Global rules. Never keep a 4+ minion, unless it's Bolvar Fordragon (paladin).
_mulliganRules.Add(new Tuple<string, string>("True", "card.Entity.Cost >= 4 and card.Entity.Id != \"GVG_063\""));

// Never keep Tracking.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.HUNTER", "card.Entity.Id == \"DS1_184\""));

// Example rule for self.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.MAGE", "card.Cost >= 5"));

// Example rule for opponents.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.OpponentClass == TAG_CLASS.MAGE", "card.Cost >= 3"));

// Example rule for matchups.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.userClass == TAG_CLASS.HUNTER && mulliganData.OpponentClass == TAG_CLASS.DRUID", "card.Cost >= 2"));

bool concede = false;

// play with these settings###################################
int enfacehp = 15; // hp of enemy when your hero is allowed to attack the enemy face with his weapon
int mxwde = 3000; // numer of boards which are taken to the next deep-lvl
int twotsamount = 0; // number of boards where the next turn is simulated
bool enemySecondTurnSim = false; // if he simulates the next players-turn, he also simulates the enemys respons

bool playaround = false; //play around some enemys aoe-spells?
//these two probs are >= 0 and <= 100
int playaroundprob = 50; //probability where the enemy plays the aoe-spell, but your minions will not die through it
int playaroundprob2 = 80; // probability where the enemy plays the aoe-spell, and your minions can die!
this.useExternalProcess = false; // use silver.exe for calculations a lot faster than turning it off (true = recomended)

int amountBoardsInEnemyTurnSim = 40;
int amountBoardsInEnemyTurnSimSecondStepp = 200;
int amountBoardsInEnemySecondTurnSim = 20;

int nextturnsimDeep = 6;
int nextturnsimMaxWidth = 20;
int nexttunsimMaxBoards = 200;

bool secrets = false; // playing arround enemys secrets

int alpha = 50
 
Behavior behave = new BehaviorRush();//change this to new BehaviorRush() for rush mode

public DefaultRoutine()
{
// Global rules. Never keep a 4+ minion, unless it's Bolvar Fordragon (paladin).
_mulliganRules.Add(new Tuple<string, string>("True", "card.Entity.Cost >= 4 and card.Entity.Id != \"GVG_063\""));

// Never keep Tracking.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.HUNTER", "card.Entity.Id == \"DS1_184\""));

// Example rule for self.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.MAGE", "card.Cost >= 5"));

// Example rule for opponents.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.OpponentClass == TAG_CLASS.MAGE", "card.Cost >= 3"));

// Example rule for matchups.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.userClass == TAG_CLASS.HUNTER && mulliganData.OpponentClass == TAG_CLASS.DRUID", "card.Cost >= 2"));

bool concede = false;

// play with these settings###################################
int enfacehp = 15; // hp of enemy when your hero is allowed to attack the enemy face with his weapon
int mxwde = 3000; // numer of boards which are taken to the next deep-lvl
int twotsamount = 0; // number of boards where the next turn is simulated
bool enemySecondTurnSim = false; // if he simulates the next players-turn, he also simulates the enemys respons

bool playaround = false; //play around some enemys aoe-spells?
//these two probs are >= 0 and <= 100
int playaroundprob = 50; //probability where the enemy plays the aoe-spell, but your minions will not die through it
int playaroundprob2 = 80; // probability where the enemy plays the aoe-spell, and your minions can die!
this.useExternalProcess = false; // use silver.exe for calculations a lot faster than turning it off (true = recomended)

int amountBoardsInEnemyTurnSim = 40;
int amountBoardsInEnemyTurnSimSecondStepp = 200;
int amountBoardsInEnemySecondTurnSim = 20;

int nextturnsimDeep = 6;
int nextturnsimMaxWidth = 20;
int nexttunsimMaxBoards = 200;

bool secrets = false; // playing arround enemys secrets

int alpha = 50


you already made many arenas? and which media victories?
 
I test bot in many arenas and best score what i get is 2x 5-3 and all others are 2-3 or 3-3..I dont know why i cant get better score with bot,when i play manualy i get 9 or 10wins somethimes more but with bot max score is only 2x 5-3.I draw cards for arena in heartharena.com,i test bot with many others class,rush/control decks..I dont know why i no get better score with bot..Maybe no luck or i dont know..:-/
 
If u pick your Deck with Hearth Arena and it tells u that u have a Tempo Deck, how to play it? Rush or Control? It would be nice if u could make a list of the kinds of decks and how to chose the right playstyle with the bot.
 
Thankyou muchly for sharing.
This seems like a good thing for me to learn from.

If u pick your Deck with Hearth Arena and it tells u that u have a Tempo Deck, how to play it? Rush or Control? It would be nice if u could make a list of the kinds of decks and how to chose the right playstyle with the bot.
Agree with that though I'm very terrified at the idea of editing myself like this. Would be nice if HB had a built in option to select this option without having to do that.
 
Very nice, these decks perform considerably better then what hearthbuddy usually throws together.
 
I dont understand sorry really noob. please can you slow it up for me. so I got the Hearth Arena and I look there looks like i am meant to type in what cards I am picking from but how dus that have anything to do with the bot? my bot its running 1 win and 9 fails :(
 
just played again it picked warlock and lost every game :(

So, you draft a deck with Heartharena, it will tell you, that your deck is an aggro deck, or a midrange deck, or a controll deck.Then you go to your Hearthbuddy folder\Routines\DefaultRoutine and you open your DefaultRoutine.cs file with a text editor.( I highly recommend you to use Notepad++, its free.)Then you search for this string:(with Ctrl+F) "Behavior behave" without the qoutes ofc, by deafult you sould find this :"Behavior behave = new BehaviorControl();//change this to new BehaviorRush() for rush mode".So Heartharena said, that your deck is an aggro deck, you should change that to ""Behavior behave = new BehaviorRush();//change this to new BehaviorRush() for rush mode", and you start your game with your bot.

I suggest you to use BehaviorControl(); when Heartharena tells you, that your deck is:
-Control
-Midrange

I suggest you to use BehaviorRush(); when Heartharena tells you these:
-Tempo(aldoe it can be Control too, but most of the times tempo decks are pretty aggressive)
-Aggro
-Rush

I'll attach my custom DefaultRoutine.cs for you guys.
 

Attachments

So, you draft a deck with Heartharena, it will tell you, that your deck is an aggro deck, or a midrange deck, or a controll deck.Then you go to your Hearthbuddy folder\Routines\DefaultRoutine and you open your DefaultRoutine.cs file with a text editor.( I highly recommend you to use Notepad++, its free.)Then you search for this string:(with Ctrl+F) "Behavior behave" without the qoutes ofc, by deafult you sould find this :"Behavior behave = new BehaviorControl();//change this to new BehaviorRush() for rush mode".So Heartharena said, that your deck is an aggro deck, you should change that to ""Behavior behave = new BehaviorRush();//change this to new BehaviorRush() for rush mode", and you start your game with your bot.

I suggest you to use BehaviorControl(); when Heartharena tells you, that your deck is:
-Control
-Midrange

I suggest you to use BehaviorRush(); when Heartharena tells you these:
-Tempo(aldoe it can be Control too, but most of the times tempo decks are pretty aggressive)
-Aggro
-Rush

I'll attach my custom DefaultRoutine.cs for you guys.


Thanks man I understand now, but do I let the bot pick the cards or do I pick the cards? because I have played 5 areas now and only got 1 win :(
 
Heartharena does help, but doesn't guarantee anything the bot still makes dumb decisions time after time. Just watched it play my mage in arena, opponent had an enemy with 8-1 took my 7-7 and attacked his 8-1 killing both, then attacking the face of a my opponent with a fireballs. Makes no sense to me.

edit - now it just used 4 mana on the fireball card to take out a 2-1 instead of just shooting the special 2 mana fireball at the guy and killing him

edit - just watch it loss to matches at 5-1 that were both easily winnable but nope ended 5-3 remind me never to play arena with this bot.

edit - just watch the bot not attack, opponent have no minions out and i just lost by 1, you have to be kidding me!
 
Last edited:
8ce3bc383f.png


Wouldn't use this "guide" again, I have a better win chance with the bot's default settings and the bot picking its own cards.
 
lost everygame!!!!! if i keep losing game i want a refund!

my record in arena with HB is 14 loss 1 win :/
 
the bot has some flaws, not perfect. Be patient and in due time it will get better.
 
Back
Top