This summer I am working with PHD student, Markus Eger, who designed an AI for a two-player version of the Japanese card game, Hanabi. His version of the game is written in Python, and we are working to translate it into C# in Unity, so that we can implement eye-tracking technology within the game.
Hanabi is a cooperative game with 2-5 players, where each player can see the cards of all other players, but not their own. There are five colors of cards, and three 1’s, two 2’s, two 3’s, two 4’s, and one 5 of each color. The goal is for the group to work together to build one set, from one through five, of each colored card. With each correctly played card played being worth one point, the maximum score of the game is 25. On each person’s turn they can either choose to give a hint to another player about their cards, play a card, or discard a card. There are a limited number of hints, and a limited number of mistakenly played cards allowed in each game. The game is over once 3 mistakes have been made, or when all of the cards have been discarded or played. Discarding a card or correctly playing a 5 of any color wins you back a hint token. With each hint, and card played, players are able to get more information about the cards in their hand, and therefore make informed decisions about which cards to play or discard, and when.
The first part of my summer project is to translate The Hanabi game into Unity using C#. I started by getting comfortable with Python, which Markus’ original code is in, C#, and the Unity platform. The re implementation project took up a large part of the summer, but once had created the game in Unity, we were able to add Tobii Eye tracker technology to the game. The eye tracker can tell us which cards a player is looking at, which could potentially give us information about what hints a player is planning on giving. I also was able to generate a “heat-map” of where players look during the game, and how frequently, so that we can analyze the gaze data and see how to relate it to the decisions made throughout the game. We do not yet know how this information will be able to help inform how the AI makes decisions about giving hints or playing/discarding certain cards, so our research and tests have been geared towards finding out if and how we can use the data from the eye tracker.
In the scope of this summer we were able to finish implementing the game in Unity, and design the research and testing plans for the eye tracker. The future of this project will be to add Markus’ AI, and carry out the research plan by performing the eye-tracking tests, saving more heat maps, and eventually applying the data to the AI’s decision making process. The information of where a player is looking in the game could also be useful to other AI’s for Poker and other games that rely on non-verbal communication. Enabling the AI to observe and make decisions based off of other players body language and subconscious actions will ultimately make game play more intricate and human-like. Another future path for the Hanabi project will be to provide more than two-player options, which will complicate the AI by giving it options about which player to give hints to, which we believe will make the game more enjoyable for human players; two-player games of Hanabi are often quick and play choices are sometimes limited.