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!

Hearthbuddy's Deck aka Silverfish AI aka Ultimate Ai

update V117.3:
- fixed mistress of pain (thought it will only heal for "real" dmg done to enemys)
- added a new behaviour for testing (its a tweaked control-behaviour) choose it in ai-custom-menu (@L4mpje2 please test that)

@L4mpje2 please also add the silverlogs of your reports (i cant realy do anything with the hearthbuddy-log)
 
[HIDE]
5382b8f5333c8b22238b19c12d1f3c15.jpg
[/HIDE]

We have 8 Hp, we end our turn with an enemy 3/2 on the board while we have a lightning storm in our hand an 5 mana left (3-4 dmg to all enemy minions.) Our opponent has a 3/2, his hero power as a hunter, and an eaglethorn bow for another 3 damage.

We do not use lightning storm, not killing the enemy minion (our enemy has an empty hand), thus the next turn we die to his exact 8 dmg.

View attachment Hearthbuddy 8416 2016-01-13 16.43.txtView attachment SilverLog_2016-01-13_20-45-01.txt



Honestly, the whole process of reporting every single misplay is too tiring and complicated. I have to edit out my name on hb's log, then search for the exact Silverfish logs, waste time with the file uploader on here and so on....
 
Are there ever going to be any updates to this? I still use it because it seems to perform better than the default Routine, plus it has the options for Control/Rush/Face etc.

Is this dead?
 
this isnt updated to Whispers of the old gods dont download the curret version (as this post) use the defult version in the meantime
 
It's been awhile since we last heard of botmaker, we can only hope he's well and got tired from updating his AI.
 
I'm rather late on telling everyone around here but I've had a working branch of SF based on botmaker's original main branch here + most of the HB SF updates + many of my own.

Just replace Routines/DefaultRoutine with the one in https://github.com/sliverfishes/silverfish/blob/master/HrtBddy/DefaultRoutine.7z (use 7zip to extract).

Since I am not aware what the weaknesses of the "original" SF are, could you explain what improvements your tweaked SF-AI delivers? :)
Thanks in advance!
 
Lots and lots of misplays fixed mainly. Things like playing rockbiter on your hero after attacking once or twice with your hero or playing knife juggler after unleash the hounds. All the misplay fixes should be pretty obvious in the commit log: https://github.com/sliverfishes/silverfish/commits/master

I added _discovery.txt file to prioritize discover card selection.

The format of _discovery.txt is currently very simple: [card id],[bonus];[own class];[enemy class]
Classes can use the "all" keyword or a class name like you would in mulligans/combos.
The bonus is currently a hard priority with the biggest number always chosen but I want to make it an actual bonus to the board value if I can figure out a way that actually makes sense.
If none of the choices are in your list then it will use the old selection methods.
 
Thanks for your effort, sepefeet, I appreciate it very much! (+rep)

Your current build of Silverfish starts two instances of Silver.exe. Is that intended?
Also, your current build for HSbuddy is several commits behind the latest codebase. Is there a reason for that?
I'm quite interested in using your improved version and ready to provide feedback if applicable.
(P.S. I am not a coder though.)
 
Last edited:
SF bot plays Deadly Shot on a large board before mopping up weak enemy minions with own minions and other spells:

Code:
#######################################################################
start calculations, current time: 15:49:39:5947 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 8/8
emana 8
own secretsCount: 0
enemy secretsCount: 0 ;
player:
0 0 0 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 17 17 0 False False 76 True 0 False 0 0
weapon: 0 0 unknown
ability: True DS1h_292 2
osecrets: 
cthunbonus: 0 0 0
enemyhero:
druid 20 20 0 False False 74
weapon: 0 0 unknown
ability: True CS2_017 0
fatigue: 19 0 19 0
OwnMinions:
savannahhighmane EX1_534 zp:1 e:65 A:6 H:5 mH:5 rdy:True natt:0
EnemyMinions:
doomcaller OG_255 zp:1 e:29 A:7 H:9 mH:9 rdy:False natt:0 ex ptt
discipleofcthun OG_162 zp:2 e:23 A:2 H:1 mH:1 rdy:True natt:0 ex
crazedworshipper OG_321 zp:3 e:40 A:3 H:2 mH:6 rdy:True natt:0 ex tnt
darnassusaspirant AT_038 zp:4 e:15 A:2 H:3 mH:3 rdy:True natt:0 ex
darnassusaspirant AT_038 zp:5 e:5 A:2 H:3 mH:3 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 deadlyshot 3 entity 67 EX1_617 0 0
pos 2 gladiatorslongbow 7 entity 52 DS1_188 0 0
pos 3 killcommand 3 entity 48 EX1_539 0 0
pos 4 kingselekk 2 entity 49 AT_058 0 0
pos 5 hugetoad 2 entity 70 LOE_046 0 0
Enemy cards: 0
ownDiedMinions: 
enemyDiedMinions: 
og: 90,1;431,1;1508,1;957,1;688,1;
eg: 53,1;528,2;1881,1;824,1;1820,1;

received 15:49:39:5947 actions to do:
play id 49 pos 2
play id 67 pos 1
play id 48 target 5 pos 1
attack 65 enemy 40
set best action-----------------------------------
-a-
play id 49 pos 2

-a-
play id 67 pos 1

-a-
play id 48 target 5 pos 1

-a-
attacker: 65 enemy: 40

nmgsim-
nmgsime-
play id 49 pos 2

play: King's Elekk choice: 0
recalc-check###########
minions count or hand changed
#######################################################################
start calculations, current time: 15:49:57:5451 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 6/8
emana 8
own secretsCount: 0
enemy secretsCount: 0 ;
player:
1 1 0 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 17 17 0 False False 76 True 0 False 0 0
weapon: 0 0 unknown
ability: True DS1h_292 2
osecrets: 
cthunbonus: 0 0 0
enemyhero:
druid 20 20 0 False False 74
weapon: 0 0 unknown
ability: True CS2_017 0
fatigue: 19 0 19 0
OwnMinions:
savannahhighmane EX1_534 zp:1 e:65 A:6 H:5 mH:5 rdy:True natt:0
kingselekk AT_058 zp:2 e:49 A:3 H:2 mH:2 rdy:False natt:0 ex ptt
EnemyMinions:
doomcaller OG_255 zp:1 e:29 A:7 H:9 mH:9 rdy:False natt:0 ex ptt
discipleofcthun OG_162 zp:2 e:23 A:2 H:1 mH:1 rdy:True natt:0 ex
crazedworshipper OG_321 zp:3 e:40 A:3 H:2 mH:6 rdy:True natt:0 ex tnt
darnassusaspirant AT_038 zp:4 e:15 A:2 H:3 mH:3 rdy:True natt:0 ex
darnassusaspirant AT_038 zp:5 e:5 A:2 H:3 mH:3 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 deadlyshot 3 entity 67 EX1_617 0 0
pos 2 gladiatorslongbow 7 entity 52 DS1_188 0 0
pos 3 killcommand 3 entity 48 EX1_539 0 0
pos 4 hugetoad 2 entity 70 LOE_046 0 0
Enemy cards: 0
ownDiedMinions: 
enemyDiedMinions: 
og: 90,1;431,1;1508,1;957,1;688,1;
eg: 53,1;528,2;1881,1;824,1;1820,1;

received 15:49:57:5451 actions to do:
play id 67 pos 1
play id 48 target 5 pos 1
attack 65 enemy 40
set best action-----------------------------------
-a-
play id 67 pos 1

-a-
play id 48 target 5 pos 1

-a-
attacker: 65 enemy: 40

nmgsim-
nmgsime-
play id 67 pos 1

play: Deadly Shot choice: 0
recalc-check###########
#######################################################################
start calculations, current time: 15:50:03:6091 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 3/8
emana 8
own secretsCount: 0
enemy secretsCount: 0 ;
player:
1 2 0 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 17 17 0 False False 76 True 0 False 0 0
weapon: 0 0 unknown
ability: True DS1h_292 2
osecrets: 
cthunbonus: 0 0 0
enemyhero:
druid 20 20 0 False False 74
weapon: 0 0 unknown
ability: True CS2_017 0
fatigue: 19 0 19 0
OwnMinions:
savannahhighmane EX1_534 zp:1 e:65 A:6 H:5 mH:5 rdy:True natt:0
kingselekk AT_058 zp:2 e:49 A:3 H:2 mH:2 rdy:False natt:0 ex ptt
EnemyMinions:
doomcaller OG_255 zp:1 e:29 A:7 H:9 mH:9 rdy:False natt:0 ex ptt
crazedworshipper OG_321 zp:2 e:40 A:3 H:2 mH:6 rdy:True natt:0 ex tnt
darnassusaspirant AT_038 zp:3 e:15 A:2 H:3 mH:3 rdy:True natt:0 ex
darnassusaspirant AT_038 zp:4 e:5 A:2 H:3 mH:3 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 gladiatorslongbow 7 entity 52 DS1_188 0 0
pos 2 killcommand 3 entity 48 EX1_539 0 0
pos 3 hugetoad 2 entity 70 LOE_046 0 0
Enemy cards: 0
ownDiedMinions: 
enemyDiedMinions: OG_162,23;
og: 90,1;431,1;1508,1;1027,1;957,1;688,1;
eg: 53,1;528,2;1820,2;1881,1;824,1;

noRecalcNeeded!!!-----------------------------------
nmgsim-
nmgsime-
play id 48 target 5 pos 1

play: Kill Command target: Darnassus Aspirant choice: 0
recalc-check###########
mana changed 0 0 8 7 8 8

SF bot plays Knife Juggler + Unleash the Hounds before mopping up an enemy minion with a weapon:

Code:
mana changed 9 -100 9 8 9 8
#######################################################################
start calculations, current time: 17:19:08:7915 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 9/9
emana 9
own secretsCount: 0
enemy secretsCount: 0 ;
player:
0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 19 19 0 False False 64 True 0 False 3 0
weapon: 3 1 eaglehornbow
ability: True DS1h_292 3
osecrets: 
cthunbonus: 0 0 0
enemyhero:
warrior 3 5 2 False False 66
weapon: 0 0 unknown
ability: True CS2_102 0
fatigue: 17 0 17 0
OwnMinions:
EnemyMinions:
twinemperorveknilash OG_319 zp:1 e:79 A:4 H:3 mH:6 rdy:True natt:0 ex tnt
elisestarseeker LOE_079 zp:2 e:39 A:3 H:5 mH:5 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 unleashthehounds 3 entity 14 EX1_538 0 0
pos 2 gladiatorslongbow 7 entity 27 DS1_188 0 0
pos 3 fierybat 1 entity 26 OG_179 0 0
pos 4 knifejuggler 2 entity 18 NEW1_019 0 0
Enemy cards: 3
ownDiedMinions: 
enemyDiedMinions: 
og: 959,1;1710,1;1018,1;90,2;1931,1;952,1;954,1;
eg: 1012,1;932,2;614,2;1800,2;1881,1;708,1;615,1;1820,1;

received 17:19:08:7915 actions to do:
play id 18 pos 1
play id 14 pos 1
attack 1001 enemy 79
heroattack 66
useability on target 66
set best action-----------------------------------
-a-
play id 18 pos 1

-a-
play id 14 pos 1

-a-
attacker: 1001 enemy: 79

-a-
attack with hero, enemy: 66

-a-
useability 
on enemy: 66

nmgsim-
nmgsime-
play id 18 pos 1

play: Knife Juggler choice: 0
recalc-check###########
#######################################################################
start calculations, current time: 17:19:15:3548 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 7/9
emana 9
own secretsCount: 0
enemy secretsCount: 0 ;
player:
1 1 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 19 19 0 False False 64 True 0 False 3 0
weapon: 3 1 eaglehornbow
ability: True DS1h_292 3
osecrets: 
cthunbonus: 0 0 0
enemyhero:
warrior 3 5 2 False False 66
weapon: 0 0 unknown
ability: True CS2_102 0
fatigue: 17 0 17 0
OwnMinions:
knifejuggler NEW1_019 zp:1 e:18 A:2 H:2 mH:2 rdy:False natt:0 ex ptt
EnemyMinions:
twinemperorveknilash OG_319 zp:1 e:79 A:4 H:3 mH:6 rdy:True natt:0 ex tnt
elisestarseeker LOE_079 zp:2 e:39 A:3 H:5 mH:5 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 unleashthehounds 3 entity 14 EX1_538 0 0
pos 2 gladiatorslongbow 7 entity 27 DS1_188 0 0
pos 3 fierybat 1 entity 26 OG_179 0 0
Enemy cards: 3
ownDiedMinions: 
enemyDiedMinions: 
og: 959,1;1710,1;1018,1;90,2;1931,1;952,1;954,1;
eg: 1012,1;932,2;614,2;1800,2;1881,1;708,1;615,1;1820,1;

noRecalcNeeded!!!-----------------------------------
nmgsim-
nmgsime-
play id 14 pos 1

play: Unleash the Hounds choice: 0
recalc-check###########
enemyhero changed 3 3 0 0 1 2 0 0 False False False False
#######################################################################
start calculations, current time: 17:19:24:3034 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 4/9
emana 9
own secretsCount: 0
enemy secretsCount: 0 ;
player:
1 2 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 19 19 0 False False 64 True 0 False 3 0
weapon: 3 1 eaglehornbow
ability: True DS1h_292 3
osecrets: 
cthunbonus: 0 0 0
enemyhero:
warrior 3 4 1 False False 66
weapon: 0 0 unknown
ability: True CS2_102 0
fatigue: 17 0 17 0
OwnMinions:
knifejuggler NEW1_019 zp:1 e:18 A:2 H:2 mH:2 rdy:False natt:0 ex ptt
hound EX1_538t zp:2 e:83 A:1 H:1 mH:1 rdy:True natt:0 ptt chrg(1)
hound EX1_538t zp:3 e:84 A:1 H:1 mH:1 rdy:True natt:0 ptt chrg(1)
EnemyMinions:
twinemperorveknilash OG_319 zp:1 e:79 A:4 H:3 mH:6 rdy:True natt:0 ex tnt
elisestarseeker LOE_079 zp:2 e:39 A:3 H:4 mH:5 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 gladiatorslongbow 7 entity 27 DS1_188 0 0
pos 2 fierybat 1 entity 26 OG_179 0 0
Enemy cards: 3
ownDiedMinions: 
enemyDiedMinions: 
og: 959,1;1710,1;1018,1;957,1;90,2;1931,1;952,1;954,1;
eg: 1012,1;932,2;614,2;1800,2;1881,1;708,1;615,1;1820,1;

received 17:19:24:3034 actions to do:
heroattack 79
attack 83 enemy 66
useability on target 66
attack 84 enemy 66
set best action-----------------------------------
-a-
attack with hero, enemy: 79

-a-
attacker: 83 enemy: 66

-a-
useability 
on enemy: 66

-a-
attacker: 84 enemy: 66

nmgsim-
nmgsime-
attack with hero, enemy: 79

heroattack: Rexxar target: Twin Emperor Vek'nilash


SF bot doesn't play Stampeding Kodo to avoid a certain lethal next turn:
Code:
mana changed 8 -100 8 7 8 7
#######################################################################
start calculations, current time: 16:53:09:7799 V120.0SE control 5000 face 15 twoturnsim 1000 ntss 6 20 200 ets 40 ets2 200 ents 40 plcmnt
#######################################################################
mana 8/8
emana 8
own secretsCount: 0
enemy secretsCount: 0 ;
player:
0 0 0 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
ownhero:
hunter 4 4 0 False False 66 True 0 False 0 0
weapon: 0 0 unknown
ability: True DS1h_292 3
osecrets: 
cthunbonus: 0 0 0
enemyhero:
hunter 17 17 0 False False 64
weapon: 0 0 unknown
ability: True DS1h_292 0
fatigue: 18 0 18 0
OwnMinions:
spider OG_216a zp:1 e:77 A:1 H:1 mH:1 rdy:True natt:0
EnemyMinions:
ramwrangler AT_010 zp:1 e:19 A:3 H:3 mH:3 rdy:False natt:0 ex ptt
angrychicken EX1_009 zp:2 e:79 A:1 H:1 mH:1 rdy:False natt:0 ex ptt
flamejuggler AT_094 zp:3 e:7 A:2 H:3 mH:3 rdy:False natt:0 ex ptt
Own Handcards: 
pos 1 stampedingkodo 5 entity 37 NEW1_041 0 0
pos 2 savannahhighmane 6 entity 35 EX1_534 0 0
pos 3 ramwrangler 5 entity 60 AT_010 0 0
pos 4 abusivesergeant 1 entity 53 CS2_188 0 0
pos 5 eaglehornbow 3 entity 42 EX1_536 0 0
Enemy cards: 5
ownDiedMinions: 
enemyDiedMinions: 
og: 1846,1;1018,1;90,1;1931,1;688,1;1710,1;959,1;
eg: 90,1;1710,1;1724,1;1508,1;954,1;

received 16:53:09:7799 actions to do:
play id 35 pos 2
play id 53 target 77 pos 3
attack 77 enemy 19
set best action-----------------------------------
-a-
play id 35 pos 2

-a-
play id 53 target 77 pos 3

-a-
attacker: 77 enemy: 19

nmgsim-
nmgsime-
play id 35 pos 2

play: Savannah Highmane choice: 0
 
Last edited:
Are you sure you deleted your old DefaultRoutine before installing mine? It should only run the .exe once.

It's behind because I'm too lazy to package and test it twice for every release so the HB releases are going to come slower whenever I think a round of updates is stable. If you really wanted to you could just use git to get the latest files.

I'll add those to my pile of misplay logs.
 
Hi good sir. I don't see the HB version updated to the newest version from your sharing site. I only see version 120.4SE for HB while version 121.2SE for HR. Can you please update for HearthBuddy ? Thank you
 
Are you sure you deleted your old DefaultRoutine before installing mine?
Absolutely.

you could just use git to get the latest files.
I downloaded silverfish-master.zip from GitHub and tried to mix and match, but I'm obviously doing something incorrectly because now HSbuddy randomly quits (leaving no entry in its log file). It loads the latest Silver.exe (not sure whether Silver.exe loads deck settings in subdirectories though) and plays OK, but sometimes it just quits, leaving the two Silver.exe console windows open (in fact, they never close, even if HSbuddy is exited normally). May be a false alarm though, because so far this only happened once in an hour or so.

All this forces me to ask you to do us a favor and make the latest Silverfish available in the HSbuddy format.
You said elsewhere that contributing back is the best form of thanking you, and I'm ready to submit more reports to your pile (that hopefully will get sorted sooner rather than later :)).

I'll add those to my pile of misplay logs.
A pile?! I thought it was a neat FIFO stack! ;)

PS. I have noticed problems with the way your SF (the latest version) handles Knife Jugglers, but I can't be sure if it is legitimate or due to something I messed up while mixing and matching.

PPS. When using your own Wild Secret Paladin deck, your SF plays Steward of Darkshire + Muster for Battle when the player has a fully charged Ashbringer equipped, and the opponent is a 10 life. How smart is that? ;)

PPPS. Something's definitely wrong with Knife Jugglers in the latest SF. Also, reading of SF settings from subdirs based on deck named does not work.
 
Last edited:
Some serious insanity here. Please see the last two turns. SF ends turn (twice!) instead of attacking opponent's face, decides to trade when it clearly has lethal (but eventually goes on doing lethal).

It may be relevant that two turns before this dickery SF brought my CPU (Core i5 2500K, stock clock speed) to its knees calculating a board with 10+ minions and couldn't end the turn in time. (I know I can decrease maxwide, but honestly, how often do you see double Unleash the Hounds on a full board? :))
 
The new automatic settings switching feature in 121.0se requires bot specific code and I haven't adapted it for HB yet which is the main reason there is no 121 for HB yet. I'll try to get it done tomorrow.

I don't know what to say about the double Silver.exe, it does not happen for me. I've got HR .277 and even deleted my defaultroutine and replaced it by extracting the current 7zip. You should be able to close one of them though, you do not want 2 open both eating your cpu doing the same calculations.

I'm pretty sure the muster overwriting good weapons is an old bug but I need the log.

FYI the mulligans for HR do not work with HB because botmaker reused the HB mulligan code for the HB build. I'll probably add the botmaker format mulligans to the HB build within a week though.

That call of the wild missed lethal is because it got bad data from HR. If you look at the boards after call of the wild was played, none of the 3 minions appeared. On turn 8 there were several updates but the minions still never appeared. There does seem to be a small issue of SF sending an action to attack with the huffer before it has an ID but that shouldn't have anything to do with minions not appearing at all.
 
Last edited:
Thanks for the explanation, sepefeet!
I appreciate your efforts very much and will be happy to test the new and improved version when it comes out (and the mulligans too!). Let me know if I can be of further assistance by running test versions and providing debug logs or something of the sort. I like watching the bot play, it's like a zero-player game to me. :)

Here's some more logs (1,2) of SF's suboptimal decisions that may be related to the data exchange problem you mentioned.
 
Im a little confused. Im pritty sure even tho hes not post here that botmaker still updates and is the default HB AI when pushedX wants to check for his updates.

If your making a fork of an old version you might want to consider making your own thread.

Update i went back and read a few posts by botmaker and there were a few but this one stands out.

@DanishNinja
i dont want to say that my version is better. my version might be other.
afaik HB forked my project long time ago and are developping it themselves since then (dont know if they allways add my changes).
so for example: our version will do other assumptions at random effects (like arcane missiles).
the biggest change is: they dont use an external process which results into lower speed for HB -> fewer simulations -> worser play (dont have to, but likely).
(if you dont want to use silver.exe open settings.txt in DefaultRoutine/silverfish/data and change useExternalProcess from = true to = false),
especial the parallel part of the caluclations will be alot faster, because silve.exe uses the GC-Server-mode (see silver.exe.config).
another difference (that i noticed while changing the HB-defaultroutine.cs to work with my source) is the handling of tracking/discovering cards.
a downside (for you) with my version is: i dont support the single player campaigns (they have additional cards and heropowers), so my ai wont know these cards and how to play them.
i'm supporting only the cards, that you can use in ranked games. (currently my version does not support Anyfin Can Happen and that deathrattle-raptor).

So HB is using / made a fork and im pretty sure that PushedX does update it every so often with botmakers updates. If hes still updating it for another.

I still suggest your own thread so people can find your work.
 
Last edited:
Back
Top