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

Notification

Icon
Error

I want to learn how to make configs
iiNnoVation
#1 Posted : Monday, July 2, 2018 11:16:00 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 6

Is there some reliable tutorial you guys know of where I can learn to try and make configs on my own?? Much appreciated thank you :)
scottbreak
#2 Posted : Monday, July 2, 2018 11:30:14 PM(UTC)
scottbreak


Rank: Advanced Member

Groups: Registered, HSModerator
Posts: 429

Thanks: 291 times
Was thanked: 469 time(s) in 153 post(s)
iiNnoVation;56851 wrote:
Is there some reliable tutorial you guys know of where I can learn to try and make configs on my own?? Much appreciated thank you :)


http://www.hearthranger....sionai/VisionAI_Help.htm
iiNnoVation
#3 Posted : Tuesday, July 3, 2018 2:30:55 AM(UTC)
Rank: Newbie

Groups: Registered
Posts: 6

Thanks scott!

May I ask how to know what actions the bot will take per move?

I was using the "BotReviewDebuggerWindow" and I can see that they made multiple Node Paths. So if the last block of lines start with "Node Path --- 99" does this mean it calculated 99 different moves and value? And that the last one is the ideal and will be carried out.
scottbreak
#4 Posted : Tuesday, July 3, 2018 5:57:57 AM(UTC)
scottbreak


Rank: Advanced Member

Groups: Registered, HSModerator
Posts: 429

Thanks: 291 times
Was thanked: 469 time(s) in 153 post(s)
iiNnoVation;56854 wrote:
Thanks scott!

May I ask how to know what actions the bot will take per move?

I was using the "BotReviewDebuggerWindow" and I can see that they made multiple Node Paths. So if the last block of lines start with "Node Path --- 99" does this mean it calculated 99 different moves and value? And that the last one is the ideal and will be carried out.


Node 0 is the actual play
Acelmo
#5 Posted : Thursday, July 5, 2018 10:50:54 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 5
Man

Thanks: 1 times
iiNnoVation;56851 wrote:
Is there some reliable tutorial you guys know of where I can learn to try and make configs on my own?? Much appreciated thank you :)

scottbreak;56852 wrote:
http://www.hearthranger.com/onlinehelp/hs/visionai/VisionAI_Help.htm


Hello...

I would like a help... I can not understand why the conditions and values in .json files

Example:

"condition":
"my_minions (count ()) <1",
"value": "- 15"


"condition": "*",
"combo": "CS2_112 >> NEW1_018",
"value": "15 >> 10",


"condition": "*",
"combo": "GVG_041> -> CS2_011",
"value": "20> -> 30",



{
"GameCardId": "AT_132_PALADIN",
"ConfigComment": "Hero Power settings.",

"BeforePlayCardBonus":
{
"values":
[
{
"comment": "Natural boost to hero power",
"condition": "*",
"value": "20",
},
{
"comment": "If we have 6+ minions do not play",
"condition": "my_minions (count ())> = 6",
"value": "- 50",
}
],
}
}


Could someone explain why the "value": "- 15", "value": "20", "value": "- 5"...
Antariel
#6 Posted : Saturday, July 7, 2018 3:11:09 PM(UTC)
Rank: Member

Groups: Registered
Posts: 15
Man
Location: DE

Was thanked: 3 time(s) in 3 post(s)
Each turn the Bot calculates what the best move to make is
Each move has a intern value. Like playing a minion or dealing damage to the enemy face.
with the config file you overwrite certain aspects of the behavior of the bot in certain situations


This is the upgraded heropower were you get 2 minions for 2 mana so if you have 6 minions on board you would waste a potential minion if you would play the heropower now
"condition": "*", // means always
Quote:
{
"GameCardId": "AT_132_PALADIN",
"ConfigComment": "Hero Power settings.",

"BeforePlayCardBonus":
{
"values":
[
{
"comment": "Natural boost to hero power",
"condition": "*",
"value": "20",
},
"comment": "If we have 6+ minions do not play",
"condition": "my_minions (count ())> = 6",
"value": "- 50",



Here is another Example

Quote:
{
"GameCardId":"EX1_048",
"ConfigComment":"Spellbreaker config.",

"BeforeBattlecryTargetBonus":
{
"values":
[
{
"comment":"If you're targetting Voidlord (LOOT_368), Possessed Lackey (LOOT_306) or Carnivorous Cube (LOOT_161), gain a huge bonus.",
"condition": "my_target(count(), cardid = LOOT_368 | LOOT_306 | LOOT_161, silenced = false) > 0",
"value":"100",
},

{
"comment":"If you're targetting your Hydra, gain a huge bonus.",
"condition": "my_target(count(), cardid = UNG_087) > 0 AND opp_minions(count(), cardid = UNG_087) < 1",
"value":"20",
},
],
},

"InHandBonus":
{
"values":
[
{
"comment":"If you're against Warlock, and there is no Voidlord (LOOT_368), Possessed Lackey (LOOT_306) or Carnivorous Cube (LOOT_161) on the board, hold onto this.",
"condition": "opp_minions(count(), cardid = LOOT_368 | LOOT_306 | LOOT_161) < 1 AND opp_hero(count(), hero_class = warlock) > 0",
"value":"50",
}
],
},
}


This config states that enemy Voidlords are are better target for Spellbreaker your own Hydra for example.
Or that you should hold your Card for later if the enemy is a warlock
Acelmo
#7 Posted : Saturday, July 7, 2018 4:38:51 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 5
Man

Thanks: 1 times
Antariel;56902 wrote:
Each turn the Bot calculates what the best move to make is
Each move has a intern value. Like playing a minion or dealing damage to the enemy face.
with the config file you overwrite certain aspects of the behavior of the bot in certain situations


This is the upgraded heropower were you get 2 minions for 2 mana so if you have 6 minions on board you would waste a potential minion if you would play the heropower now
"condition": "*", // means always



Here is another Example



This config states that enemy Voidlords are are better target for Spellbreaker your own Hydra for example.
Or that you should hold your Card for later if the enemy is a warlock



Antariel, thanks for your reply ... this I already had in mind that the configuration files overwritten certain actions of the bot ...
What I do not understand and I think is not well explained, is how I come to this value of "value:"

what is the difference between -50 and 50 (why and when to use positive or negative numbers)?
is it a random value that I decide if I will add or decrease the calculation made by the bot for the best move?


thank you so much!
kamil234
#8 Posted : Saturday, July 7, 2018 6:19:44 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 116

Thanks: 6 times
Was thanked: 34 time(s) in 20 post(s)
you don't overwrite actions, neither are the values random.

You either boost likely hood that a certain action will take place, or you diminish the value of that play.

The values can be extracted using the debugger, then you can assign a specific value to an action.
For example, if you assign value: 1000, that play will take place 99.9999% of the time (except in some situations where you have lethal)
or if you assign -1000, it is almost never happen.

Easy way to debug it, is play and record a few games of a deck you want to create the config for, then use the debugger turn by turn and alter your config, then use the recalculate moves button.

For example, you play taunt druid, you can make a config for card 'naturalize' and boost the value to 1000 if the target is friendly hadronox, and -100 if target is anything else then hadronox. Then it is very unlikely that the bot will naturalize a different target, unless it prevents opponent lethal. Of course, you will have to make different conditionals as well (value for when naturalize is played for another minion, or if you already played or didnt play hadronox),

or you can use 'combo.json' to create a specific combo (then, if the combo is not present, the value of the card takes negative value of the combo value. ie, play hadronox(value 100) -> naturalize(value 200), if combo is not available on that play, hadronox will have -100 value if naturalize is not in hand, or not available to play (maybe you dont have enough mana).

Read the documentation :)

Good luck.
1 user thanked kamil234 for this useful post.
Acelmo on 7/7/2018(UTC)
Acelmo
#9 Posted : Saturday, July 7, 2018 9:01:19 PM(UTC)
Rank: Newbie

Groups: Registered
Posts: 5
Man

Thanks: 1 times
kamil234;56904 wrote:
...

Read the documentation :)

Good luck.



Thank you for the explanation...

I have read the documentation available at http://www.hearthranger....onai/VisionAI_Help.htm, but some details are not covered and, I believe, some people feel lost and give up creating their own .json files ...

I appreciate the pace in explaining better how and the operation of this mechanic of "value"

thank you so much!
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.121 seconds.