Dixit and Jackbox were the primary inspirations for our project. Taking elements from both the original board game and an established party game ecosystem, we created Dixit: AI Edition to be a unique and outrageously fun party game experience built on AI art.
What it does
Dixit: AI Edition is a web application that allows you and your friends to play the board game Dixit, online -- with an important twist. In each round, one player generates an AI image based on a phrase of their choice, and gives a clue to others in the room by doing anything from speaking, singing, or doing an interpretative dance. In response to this clue, each other play also generates an AI image based on a related phrase. Out of these images, each player must select what they believe to be the original clue-giver's word, deciphering the antics of an artificial intelligence.
How we built it
The front end of this project was built with React, HTML, CSS, and JS. The back end was built with Flask. We implemented an API to interact with the open-source Stable Diffusion project, which builds AI-generated images from user prompts.
Challenges we ran into
Since our group was back-end experience heavy, we found it challenging to design a functional (and aesthetic) user interface. We used lots of documentation, Stack Overflow, and Googling to ultimately bring the project together.
Accomplishments that we're proud of
The game is truly fun to play, especially with the incredible diversity of AI-generated images. Interacting with the game through prompts rather than a hand of cards allows for more self-expression and enhances the overall experience. We are also proud of the progress we made using the variety of tools to build, connect, and test our application.
What we learned
We learned how to integrate a full-stack web application, including how to use open-source technology to enhance our program and cohesively integrate the different elements of the program.
What's next for Dixit: AI Edition
There are many features we can add to the game itself. For instance, we could implement theming (i.e. by clamping the art style of the AI), adjust the scoring algorithm, or introduce unique voting rounds to encourage diverse play. Other improvements would include improving the UI, improving the run time of the AI by using cloud technologies, and bringing the application onto the web, allowing multiple servers to run simultaneously.