Picking a deck of cards out of a random pool is a problem which exists in many card games. In general, this is the problem of finding the most appropriate element to select and add to an already existing set of similar elements. In this thesis we implemented a solution for the online game Hearthstone, which relies on three key components. The first heuristic scores cards depending on how well they match the already existing cards in our deck. The second heuristic scores cards depending on how well they synergize with each other. Finally, the third heuristic scores cards based on their own power level. The final score is a weighted sum of all three heuristics. This is then used at each of the 30 steps to determine the cards which will be added to our deck.
Based on average strength of the cards, our algorithm performs better than a random choice. This is also confirmed by comparing statistics of actual games played by the player. We can't absolutely determine that our algorithm is better than human choice, but the average wins achieved with our algorithm are way higher than all of the other methods for selecting cards.
|