Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

51 Pages123>»
silverfish update
botmaker
#1 Posted : Thursday, February 19, 2015 12:19:08 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
latest update: V117.3 (7. jan. 16 15:46 (UTC+1))
Note: delete your UltimateLoggs-folders... ai will write logs now in SilverLogs folder!

and set speed = false (its false on default)


if you want to post bugs/misplays, read below.

install-video:
how to install silverfish

Quote:
how to install:
- go to Hearthranger/ExternBot replace the silverfish-folder inside with https://github.com/noHero123/silverfish/blob/master/HR/silverfish.rar?raw=true
- do this with silver.exe + silver.dll http://www.hearthranger....dule-list-is-blank.aspx
- for speedup open settings.txt (int that new silverfish-folder) and change useExternalProcess = false; to useExternalProcess = true;



Quote:
if you want to report a bug/missplay then i need your logs!
(i will mostly ignore bugreports without a log-file, because the ai's decisions are basing on to many parameters!)
you will find the logfile (each match has an own file, with a timestamp of the match-start in its name)
in the Hearthranger/ExternBot/silverfish/SilverLogs -folder!

the name of that log-file is looking like this: SilverLog_YYYY-MM-DD_hh-mm-ss

if you dont want to search the current misplay in that log, just upload the whole log and post/send me the whole log,
and please give the round/time where the missplayed happened (like "in round 3" OR "at start of the game") + a short description
what happened and what should the ai do instead.

i realy need those files... i dont want your pictures!


sincerely
botmaker
68 users thanked botmaker for this useful post.
Yoin on 2/19/2015(UTC), jubak on 2/19/2015(UTC), Gothic on 2/21/2015(UTC), masterwai on 2/22/2015(UTC), harmachine on 2/25/2015(UTC), Jammo2k5 on 3/8/2015(UTC), flashkarl on 3/15/2015(UTC), asubasu on 3/16/2015(UTC), MaPillow on 3/25/2015(UTC), Hearthmem on 3/28/2015(UTC), gxgxgx on 4/2/2015(UTC), micax on 4/10/2015(UTC), andvol on 4/22/2015(UTC), HawkenX on 5/9/2015(UTC), Duschaf on 5/11/2015(UTC), wooksbaby on 5/15/2015(UTC), 1tallo on 5/30/2015(UTC), fioufiouw on 6/24/2015(UTC), ivanpowa on 8/5/2015(UTC), darkgen2 on 8/14/2015(UTC), sniperx on 8/27/2015(UTC), raktom on 8/28/2015(UTC), ruxer100 on 8/28/2015(UTC), budafarmi on 9/5/2015(UTC), kymo on 9/8/2015(UTC), zealot0515 on 9/15/2015(UTC), Jezass on 9/20/2015(UTC), minority on 9/22/2015(UTC), franner on 9/23/2015(UTC), Vick Nan on 9/25/2015(UTC), rockon1122 on 9/25/2015(UTC), Durara111 on 9/25/2015(UTC), phillipe_kazuza on 9/25/2015(UTC), xicloudix on 9/27/2015(UTC), Pervin on 9/29/2015(UTC), computomasac.bot on 10/2/2015(UTC), bettergamer on 10/2/2015(UTC), sadpwner on 10/5/2015(UTC), Jeff2302 on 10/12/2015(UTC), Abarai91 on 10/12/2015(UTC), dm3d on 10/14/2015(UTC), estupratom on 10/15/2015(UTC), yarrrly on 10/16/2015(UTC), ersatz13 on 10/22/2015(UTC), megaplayer on 10/31/2015(UTC), Remage on 10/31/2015(UTC), glide93 on 11/1/2015(UTC), Falkic15 on 11/3/2015(UTC), marcos0100 on 11/3/2015(UTC), Psyrodon on 11/6/2015(UTC), luffyDmonkey on 11/8/2015(UTC), idavis on 11/10/2015(UTC), jchan0425 on 11/16/2015(UTC), omgfrost on 11/17/2015(UTC), Haiiro13 on 11/19/2015(UTC), neversell on 11/20/2015(UTC), Aloshkin on 11/26/2015(UTC), f3hearth on 12/8/2015(UTC), jackback on 12/11/2015(UTC), match90 on 12/28/2015(UTC), jason22 on 2/2/2016(UTC), JerseyMikes on 2/4/2016(UTC), pherease on 2/4/2016(UTC), thewinner54 on 2/4/2016(UTC), bronners on 2/16/2016(UTC), anm on 2/27/2016(UTC), Whiskers on 3/25/2016(UTC), DizzyDwarf-JG on 7/29/2017(UTC)
oijkn
#2 Posted : Thursday, February 19, 2015 2:34:11 PM(UTC)
oijkn


Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 472
Man
Location: 127.0.0.1

Thanks: 76 times
Was thanked: 271 time(s) in 93 post(s)
Hi,

Are you the dev of this ?

I take a look in yours settings.txt and can you explain me what do you mean with that :

Quote:
useExternalProcess = false; // use silver.exe for calculations a lot faster than turning it off (true = recomended)


Regards.
1 user thanked oijkn for this useful post.
MaPillow on 3/25/2015(UTC)
Yoin
#4 Posted : Thursday, February 19, 2015 3:03:04 PM(UTC)

Rank: Advanced Member

Groups: Registered, HSModerator
Posts: 583
Location: Spain

Thanks: 118 times
Was thanked: 218 time(s) in 108 post(s)
Thx botmaker :)
My Control rules: here.
1 user thanked Yoin for this useful post.
MaPillow on 3/25/2015(UTC)
botmaker
#3 Posted : Thursday, February 19, 2015 3:23:18 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
if you set it to true, then the .dll will create a file with the current board and settings, the silver.exe (you can find it on my githube page (in the external-folder)+source) will read it, calculate the actions and create himself another file with the results, which is read by your .dll. this was a faster way in calculating stuff in hearthcrawler + buddy, because the calculations in these bots where performed in the hearthstone process and not in the bot-process. so an external process (the silver.exe) did a speedup of about 20~40(with threading) times, compared to do the calculations in the hearthstone process. (you have to place the .exe in same folder as carddb.txt, start the exe and run your bot) if you set it to true and dont start the exe, the bot will wait forever on this result-text file. if you set passive waiting to true (recommended) the bot will wait passive (thread.sleep) for the result (hearthstone will not become black). but i didnt test whether HR needs this external calculation.
1 user thanked botmaker for this useful post.
desmondio on 11/21/2015(UTC)
oijkn
#5 Posted : Thursday, February 19, 2015 4:03:00 PM(UTC)
oijkn


Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 472
Man
Location: 127.0.0.1

Thanks: 76 times
Was thanked: 271 time(s) in 93 post(s)
Ok, thank you a lot for this explanations !

For my part i prefer the default AI from HR it's seam a little better but it's only my opinion.

You have made an amazing job and i hope you can update your stuff to make it very very good !

Apart this fix have you made another improvement ?

What do you think about this topic ? (http://50.62.6.107/forum/yaf_postst4603_silverfish-recompiled-rush-and-control.aspx)

Can you explain me what mean that please because i don't understand :

Quote:
twotsamount = 0; // number of boards where the next turn is simulated


Thank you in advance !!

Edit: I'm trying to use your silver.dll (modified with settings) but HR don't see it when i tried to choose it from the GUI, i'm the only ? (i tried this trick but nothing)

Regards.
botmaker
#6 Posted : Thursday, February 19, 2015 5:27:08 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
for the settings, i copy a explanaition from the forum (so that you know how the ai works, and what the settings do) note: some variables might be named different, i copyed an old explanation and edited it:

we are starting with one board, the current board, with your current mana, cards, minion on board and all the stuff you can see.

ai is taking this board, and doing all the actions, you could do with this board:
play card a, card b, attack with minion x the enemy minion y, attack with minion x the enemy minion z, attack with minion x the enemy hero, use your ability (and maybe target to something)
each of these actions creates a new board. one board, where you played card a. one board where you played card b...and so on.
so our begining board has get some childs.

in the next level of calculation, we are taking these childs, and with every child, we are making the same stuff, we was making with the first board. some actions arent allowed this time (you cant play card a twice, because you only have it once, or you cant play card b, because of lacking mana, or you cant attack twice with the minion). so every child get also parents, and produces his own childrens.
but after some "generations" there are too many childs of the childs of the childs of the... of the childs of the starting board, that we cant calculate them all (or your turntimer would be end/ your computer will melt/ you will die at the age of 90).
so after our childs became parents and get some new childs, we take these new childs, and only take the best 3000 (maxwide) ones. so we make sure, that the next generation isnt growing to mutch!
example:
10000 parents -> produce 300.000 childs (30 childs each) without contraceptive and stuff these childs would produce 9.000.000 childs and these will produce 270.000.000 childs...
but if we only select the 3000 best childs they will only make 90.000 new childs. these 90.000 childs of the elite childs, are also sorted, and the 3000 best childs, of the elite-childs are also produce only 90.000 childs.

so the maxwide is our insurance, that the board-population dont explode.



so, the mxwde (max-wide) number will affect, how many boards are keeped alive.

the ai will simulate in the first phase the boards of your own current turn and , if ai decides to end turn on a board a simple enemys response of this board is calculated.
it will do the "same" calculations (with his heropower and his minions on board, but ai will assume that he plays some minions first) but it will (for each baord) maximal enemyTurnMaxWide boards for the enemys response.


in the second phase (threaded), ai will then give each board a value (based on your minions, handcards and other stuff),
then it will take the "twotsamount" best boards of them, to calculate the enemys response to your actions (but this time it will calculate enemyTurnMaxWideSecondTime boards at maximum. this value should be bigger than the first one, and so ai will perform a deeper "analysis" of the enemys turn ). only for the best enemys turn ai will calculate your response to that (your second turn). if you set "enemySecondTurnSim" to true, the enemy ai will also calculate the of the enemy to your second-turn.
(so it will calculate 4 turns).

for the enemys turn i only calculate the attacking of his minions / weapon/ hero power, so i have only a setting for how many boards the ai is allowed to produce in the enemys turn (enemyTurnMaxWide for the first fast analysis, enemyTurnMaxWideSecondTime for the deeper analysis of the twotsamount best boards and enemySecondTurnMaxWide for the enemys second turn)

if you activate "bool playaround = true;" the enemy will play some class-specific aoe-spells at the begin of his turn, if there are some conditions fullfilled (like he have to have enough mana, and the probability of having this aoe-spell in his hand, has to be above the given values (above the first one, to be non-deadly, above the second one, to be deadly))

for your second turn, i have more settings for you:
int nextturnsimDeep = 6; the deepness of the simulation (how many generations are generated) (in your first turn simulation, this value is set to 12), or better: the maximum amount of actions that are played in this turn. dont set it to high,because of the next settings, these deepness will never be reached in later, complex turns :D

int nextturnsimMaxWidth = 10; same like mxwde (maxwide) in your mainturn, but only for your second turn.

int nexttunsimMaxBoards = 50; the total amount of boards, that are generated in your second turn (in the first-turn-simulation, this value is infinite)


bool secrets = true; this will simulate secrets for the enemy, but its not recommended yet (ai will be to careful). (so set it to false)

the alpha = 50 is the wight how the value of the second phase will insult the total value ( total value = (100-alpha)/100 * value of the first phase + ( alpha / 100 * value of second phase) (second phase = calculations of enemys response + your second turn + enenys second turn)

and i dont know if you just copied the default values (you use them if the creator of he dll didnt change the settings-file), these values that you guys will use them are VERY bad ( that are the dumb settings, because hrtbuddy dont allow (official) the use of silver.exe, which made the multiple turn simulations to slow).
im going to post a new (recomended) settings.txt file this evening. (just copied the dumb ones fastly)
7 users thanked botmaker for this useful post.
oijkn on 2/19/2015(UTC), Yoin on 2/19/2015(UTC), jubak on 2/20/2015(UTC), Pizzon on 3/19/2015(UTC), l3lackitty on 4/30/2015(UTC), phillipe_kazuza on 9/21/2015(UTC), xNightflash on 10/4/2015(UTC)
oijkn
#7 Posted : Thursday, February 19, 2015 5:39:58 PM(UTC)
oijkn


Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 472
Man
Location: 127.0.0.1

Thanks: 76 times
Was thanked: 271 time(s) in 93 post(s)
This is a pretty good complete answer ! thank you very much i will read it more closely because English is not my native language ^^ but thank you to have take the time to write it !

I don't understand the end of your post (sorry).

I use your dll + settings (default) but the HR bot don't see the dll (i don't know why...) ==> I have fixed it (unlock the dll + run as admin).

I will be happy to test it and give you some feedback !

Glade to see you again in the scene ! Keep your mind :)

Regards.
botmaker
#9 Posted : Thursday, February 19, 2015 6:29:22 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
in the end i just tried to say, that if Rush4xDev didnt changed the default-settings in my source-code, the ai will be pretty dumb :D

updated the settings.txt file... ai will be mutch smarter :D
https://github.com/noHer...blob/master/settings.txt
1 user thanked botmaker for this useful post.
oijkn on 2/19/2015(UTC)
oijkn
#10 Posted : Thursday, February 19, 2015 6:43:12 PM(UTC)
oijkn


Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 472
Man
Location: 127.0.0.1

Thanks: 76 times
Was thanked: 271 time(s) in 93 post(s)
Ok thank you for the clarification !

For the moment i must admit your silver.dll roxx a lot !

With my hero and basic deck i win 5/7 battles with the old settings.

now i'm trying yours last changes...so wait and see :)

Thank you again for yours contributions !

Regards.
siricuticu
#11 Posted : Thursday, February 19, 2015 6:58:38 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 9
Location: Brasil

Thanks: 5 times
Was thanked: 2 time(s) in 2 post(s)
How do I known if the External calculator silver.exe is working? I did the changes on the txt file and did put on the same folder as settings.txt and cardbb.txt. Started first the silver.exe and then the bot, but it keeps saying "wait for board..."
Thanks man

He didn´t find test.txt
1 user thanked siricuticu for this useful post.
harith852 on 9/13/2015(UTC)
botmaker
#12 Posted : Thursday, February 19, 2015 7:19:47 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
siricuticu;23949 wrote:
How do I known if the External calculator silver.exe is working? I did the changes on the txt file and did put on the same folder as settings.txt and cardbb.txt. Started first the silver.exe and then the bot, but it keeps saying "wait for board..."
Thanks man

He didn´t find test.txt

reload the silver.dll :D (fixed this few seconds ago)
(ignore the test.txt -message, its just for testing boards)
1 user thanked botmaker for this useful post.
siricuticu on 2/19/2015(UTC)
changshibin
#17 Posted : Thursday, February 19, 2015 7:31:48 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 2
Location: canada

Cant get this to work, replaced silver.dll in external, now when hearthranger loads, it just says load extern bot failed and the path to siver.dll
siricuticu
#18 Posted : Thursday, February 19, 2015 7:32:59 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 9
Location: Brasil

Thanks: 5 times
Was thanked: 2 time(s) in 2 post(s)
It´s Working,
Thanks!

Man, I wich I would known how to code and such...
siricuticu
#19 Posted : Thursday, February 19, 2015 7:38:12 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 9
Location: Brasil

Thanks: 5 times
Was thanked: 2 time(s) in 2 post(s)
Actually, it seens it´s working, but the bot doens´t do anything after all the calculation, it just pass the turn,

Also, everytime the client search for a game it fails and closes the game, if the silver.exe is open. Can´t use it for more than one game.


using the Txt as:

enfacehp = 15; // hp of enemy when your hero is allowed to attack the enemy face with his weapon
maxwide = 5000; // numer of boards which are taken to the next deep-lvl
twotsamount = 1000; // number of boards where the next turn is simulated
simEnemySecondTurn = true; // if he simulates the next players-turn, he also simulates the enemys respons
playarround = false; //play around some enemys aoe-spells?
playaroundprob = 50; //probability where the enemy plays the aoe-spell, but your minions will not die through it
playaroundprob2 = 80; // probability where the enemy plays the aoe-spell, and your minions can die!
enemyTurnMaxWide = 40; // bords calculated in enemys-first-turn in first AI step (lower than enemySecondTurnMaxWide)
enemyTurnMaxWideSecondTime = 200; // bords calculated in enemys-first-turn BUT in the second AI step (higher than enemyTurnMaxWide)
enemySecondTurnMaxWide = 40; // number of enemy-board calculated in enemys second TURN
nextTurnDeep = 6; //maximum combo-deep in your second turn (dont change this!)
nextTurnMaxWide = 20; //maximum boards calculated in one second-turn-"combo-step"
nextTurnTotalBoards = 200;//maximum boards calculated in second turn simulation
useSecretsPlayArround = false; // playing arround enemys secrets
alpha = 50; // weight of the second turn in calculation (0<= alpha <= 100)
simulatePlacement = true; // set this true, and ai will simulate all placements, whether you have a alpha/flametongue/argus
useExternalProcess = true; // use silver.exe for calculations a lot faster than turning it off (true = recomended)
passiveWaiting = true; // process will wait passive for silver.exe to finish
1 user thanked siricuticu for this useful post.
hkekez on 3/1/2015(UTC)
botmaker
#20 Posted : Thursday, February 19, 2015 8:15:33 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
@siricuticu going to fix that issue tomorrow, for now set
passiveWaiting = false;

this will work (i think hearthranger actual insnt interrupted by these calculations..., maybe we dont need that passivewaiting here)

Edit: uploaded a new version.. will ignore passiveWaiting (cant use that with Hearthranger, because i give the control back to Hearthranger, in this mode, by doing nothing
(and then HR will end the turn ;D)) and i think this option isnt needed actually (didnt encounter big enough boards to test if the game will freeze, but it dont look like it will freeze)

Edit: @changshibin have you tried this: http://www.hearthranger....dule-list-is-blank.aspx and started HR with admin rights?
changshibin
#21 Posted : Thursday, February 19, 2015 10:04:46 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 2
Location: canada

Thanks, its working now.
Question regarding silver.exe, I know HR isnt detected at the moment, silver.exe works great, but will blizzard detect this?
(ps, your AI is amazing)
botmaker
#22 Posted : Friday, February 20, 2015 7:37:46 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
@changshibin
1. it has no protection, because it doesnt do anything with Hearthstone (it just requesting after a file, calculate stuff, and write to a file)
2. my tests show that you dont need silver.exe, it seems have the same speed in calculating

Update:
-it will create less logs for HR
- added a line in Settings.txt for changing the behaviour ("behave = control; " OR "behave = rush; " OR (very experimental) "behave = mana; ")
1 user thanked botmaker for this useful post.
oijkn on 2/20/2015(UTC)
oijkn
#23 Posted : Friday, February 20, 2015 8:32:40 AM(UTC)
oijkn


Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 472
Man
Location: 127.0.0.1

Thanks: 76 times
Was thanked: 271 time(s) in 93 post(s)
Well good news mate !

I'm just trying your new mod.

After playing some battles with your silver.dll i think it's nearly the same rate win as the default AI of HR.

Let's see now with the last mod.

Regards.
botmaker
#24 Posted : Friday, February 20, 2015 11:48:38 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 177

Thanks: 2 times
Was thanked: 196 time(s) in 75 post(s)
okey, i have to revert my last statement... the scrolls.exe is faster then the use of the .dll!
BUT only with a .config-file, which activates the Server-Garbage-Collector!
a testfile with a big board and crazy settings was finished in the half of the time, that the exe (without that config) and the dll needed:

http://postimg.org/image/cb2efd2uh/

(this speedup will only have an influence on the second part of the calculations (the part that works parallel))

if you use silver.exe, just copy the config file in the folder with the silver.exe!

https://github.com/noHer...ocess/Silver.exe.config

(if you cant download it, just create a .txt file, copy

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<gcServer enabled="true"/>
</runtime>
</configuration>

into it and rename it to Silver.exe.config
)

2 users thanked botmaker for this useful post.
oijkn on 2/20/2015(UTC), Mangonade on 9/27/2015(UTC)
oijkn
#25 Posted : Friday, February 20, 2015 12:23:21 PM(UTC)
oijkn


Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 472
Man
Location: 127.0.0.1

Thanks: 76 times
Was thanked: 271 time(s) in 93 post(s)
Good to see you in active mode :)

I'm trying as usual yours last changes. Here all works good with your silver.exe.config !

Wait and see :)

I take a look in my CPU statement and it's very low compared to you. So i can set a bigger value for board no ? What's your advice ?

Thank you again mate !!!

Here is the file for people who want it : Silver.exe.config
1 user thanked oijkn for this useful post.
Weizhen77 on 5/31/2015(UTC)
51 Pages123>»
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.457 seconds.