Repository files navigation
Using FirePlace Hearthstone simulator https://github.com/jleclanche/fireplace .
Replays
Results statistically processable
Random bot
Face hunter
Malygos freeze mage
Secret paladin
Q learner with neural network
Q learner with table
Navigate to \HearthstoneAI\
"pip install -r requirements.txt"
And finally run bootstrap.bat
Let say we want to run Face_hunter (hunter_face deck) VS Random_bot (hunter_face deck) 5 times.
Navigate to ...\HearthstoneAI\tests
"python general_game.py Face_hunter hunter_face Random_bot hunter_face 5"
If we want also to clear results_summary.csv file, instead of 2.:
"python general_game.py Face_hunter hunter_face Random_bot hunter_face 5 T"
Each simulation creates its own folder in \HearthstoneAI\game_results\
Result folder is named AI_1_id-deck_1_id-AI_2_id-deck_2_id-date-num_game_today
Same naming convention is applied to the files that folder contains. That are:
.hdtreplay file viewable by Hearthstone Deck Tracker - https://github.com/Epix37/Hearthstone-Deck-Tracker
.csv file containing snapshot of game state before each turn on each line
Summary game result is located in HearthstoneAI\game_results\results_summary.csv
Each AI must be located in \HearthstoneAI\AI\bots\
Before starting, let you inspire by bot_template.py - There is everything you need to implement + some advices
Deck is a .txt file located in \HearthstoneAI\AI\decks\
Its name must begin with the class name it is designated for. This has to be followed by "_"
Hunter deck file must be named hunter_WHATEVER.txt
Mage deck file must be named mage_WHATEVER.txt
Deck file must consist of 30 card names (1 card on 1 line)
2016
Evaluation framework improved
replays in \HearthstoneAI\game_results
summary results in \HearthstoneAI\game_results\results_summary.csv
general_game.py extended
runnable in command-line with arguments: ai_1_name, deck_1_id, ai_2_name, deck_2_id, num_games
All AIs are now in \HearthstoneAI\AI\bots\
All decks are now in \HearthstoneAI\AI\decks\ and their names begins with class name followed by "_"
2016
Malygos freeze mage
Tries to survive until combo is playable (freeze + def. secrets)
Combo:
a. TURN N: Emperor Thaurissan
b. TURN N+1: Malygos + 2x Frost Bolt + 2x Ice Lance
Mulligan phase
From now, AIs implements get_mulligans(self, choice_cards), that shoud return unwanted cards. This is called before 1st turn of a game.
Spell targets in Replays
Replays show also the target of Spell, if there exists one.
Results summary
You can add "T" as a 6th argument, if you want to clear results_summary.csv file before the next simulation
Column "Winner" added to results_summary.csv file
2016
Secret paladin implemented
tries to have predominance on the field == primary destroys minions
Taunt an Divine shield are now visible in replays
2016
Q_learning with neural networks
working but in phase of win_rate optimization
2016
Table Q-learner implemented
You can’t perform that action at this time.