Inspiration
Our inspiration for Funny Game came from the online Pictionary game Gartic Phone. In Gartic Phone, users draw images, then pass them to the next users who write descriptions for the images. These descriptions are then passed to another user, without the original image, who must recreate the scene based on the description. We all enjoy playing Gartic Phone with our friends and appreciate the creativity and spontaneity of generative AI. Thus, combining these two elements seemed like a natural fit.
What it does
Funny Game works like this. You join up in a lobby with all of your friends. Once everyones there you start the game and everyone has 30 seconds to enter in a prompt. After 30 seconds is up all of your images get generated and passed to the next person. The next person has no idea what you put in for the prompt or your intention for where the story is going to go and has the opportunity to hijack the story for themselves and take it in a new direction. This very often leads to hilarious outcomes when the final stories get displayed at the end of the game.
How we built it
We built Funny Game with Next.js for the front end, socket.io for connecting all of the clients together, and Open AI API to generate the images. We organized and hosted our code on GitHub, allowing easy code sharing among us. We divided the project into different parts, assigning them based on each team member's strengths. Responsibilities included OpenAI integration, socket.io implementation, and Next.js development. Although we worked independently on these parts, we assisted each other as needed.
Challenges we ran into
The development of the app presented multiple challenges: integrating various libraries and technologies, managing state, and combining our diverse skill sets. The most significant challenge was dealing with merge conflicts. Working on the same files often led to conflicts that, when resolved, sometimes broke other parts of the app.
Accomplishments that we're proud of
We are proud of creating a fully functioning app within 24 hours that we can enjoy playing. Despite two team members having limited React knowledge, we managed to develop a good-looking and functional frontend, primarily built by those less experienced in React and Next.js.
What we learned
This project was a valuable learning experience in integrating complex technologies and collaborating as a development team. Team members with less experience in GitHub learned about code sharing and project management. Those new to React and Next.js gained significant knowledge in these technologies. Overall it was a very interesting experience that we all are going to look back on very fondly both because of what we learned, as well as the people we met or the people we were able to get to know better.
Built With
- next
- openai
- socket.io
Log in or sign up for Devpost to join the conversation.