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)