Also note how the scales of the images are very different, and how once a monster is played, only its picture is shown on the board (creating another challenge).įigure 2 - One of the playable cards in Hearthstone.Īll the images used in our project are stored on the repository, either on the directories "Minion", "Spell" or "Weapon", which constitutes our database, or on the directory Screenshot, which consists of the images to be analyzed. They are matched against the screenshots previously shown.
On Figure 2 we have an example of the images that compose our card database. Note how the monsters can have different shapes and particle effects, and also how the cards in your hand get rotated and more grouped together as you draw more.įigure 1 - The board of the game Hearthstone. Finally, we downloaded each of the cards on the filtered JSON to create our database.įigure 1 is an example of the type of screenshots that were used. We then filtered the JSON so that we could fetch only the currently playable cards on the standard format, which excludes cards older than 2 years. The database of cards was created by using the Hearthstone API service, which provides a JSON with information about all the cards on the game. We didn't need a large number of screenshots, since the biggest challenge of this project relies on identifying which of the more than 1000 playable cards are in play. The screenshots were obtained by playing the game and capturing them in different situations (for example, when the board is full of monsters and also when it is empty). It is important that the input screenshot of the game has a resolution of 1920x1080 pixels. The input images are composed of screenshots of games being played, and also a large database containing every playable card in the game, to be able to detect them on the screenshots. With more than 1000 playing cards, our project aims to process an image from the playing board, and try to detect which cards you are holding, which monsters and weapons are on board and how many cards your oponent has, from which point it will be possible to present various informations to the user, such as who is currently winning the game, what combination of cards can be played and how can the monsters interact. Hearthstone is a popular collectible card game, launched in 2014, with more than 70 million unique players.
Board recognizer for the game Hearthstone using image processing methods.