Inspiration

Major strides have been made by researchers in developing artificial intelligence to play games traditionally considered incredibly hard to master. While AI has been successful in a wide variety of areas, in many games such as chess, the AI is seen to play very differently from a human, making moves that are easily recognised as "machine moves". Our team wanted to tackle the problem of simulating an AI to play like a human, a different objective from training it to win. We applied this to the game of Ultimate Tic-Tac Toe, a harder variant of the simple Tic-tac-toe game.

What it does

Using the data of approximately one thousand games from an Ultimate Tic Tac Toe game database, The AI Games, we trained a machine to interface with our own custom Ultimate Tic Tac Toe client. Both users and machines are able to play Ultimate Tic Tac Toe against each other locally. The AI is trained with data from the games of a particular player, and thus, tries to mimic him when playing against humans or other AI's.

How we built it

The client, back end, web scraper, data parser and machine learning program were all written entirely using Python. Specific libraries and APIs used include Selenium and TkInter. Photoshop and iMovie were used to create the UI client and demo video.

Challenges we ran into

Some problems that were encountered included

  • Automatically retrieving data from a large game database
  • Correctly parsing raw data into compatible moves for the machine learning program
  • Representing the data in a compatible format for machine learning and selecting network architecture for the AI
  • Time to fully code and debug the fully-trained AI

Accomplishments that we're proud of

  • First hackathon for all of us - created an interesting project
  • Collaborated well and worked to our strengths

What we learned

  • Gained experience developing software as a group
  • Effective Communication Techniques
  • Modifying a large problem to one that can be tackled feasibly by a group over a short time span
  • Working with various frameworks

What's next for Ultimate Tic Tac Toe

  • Fully train and test the AI with more data from different players
  • Extend this to other conventionally multiplayer games like chess and poker, to train AI's that play like specific humans

Built With

Share this project:

Updates