Inspiration
When deliberating how to maximize "entertainment" for our users, we landed on the idea of utilizing procedurally generated, non-repeating gameplay elements that changes every time a game was run. This would provide infinite replayability and content, thus supplying potentially limitless entertainment value. Then, we decided to combine this idea with a game that seems to embody completely opposing concepts: Chess. The game of chess has been studied and played for thousands of years, and in that timespan, the rules have not budged an inch. So, what happens when we combine the dynamic capabilities of Gemini with the static concepts game of Chess? Enter: "Forgotten Game"
What it does
"Forgotten Game" is a game that is designed for endless content and fun. It is a real-time multiplayer game, allowing for players to face each other across the internet. At the start of every game, new unique pieces are generated that possess completely different move sets and capabilities. Then, the map layout and piece placements are determined. The players now begin taking turns taking actions with these new pieces until all of the pieces of the other players are taken.
How we built it
We first developed a custom multiplayer solution that allows for players to connect to a lobby together using web sockets. Then, we defined a generalized schema to model arbitrary movements across the board and capabilities for pieces, and requested the Dedalus API to generate structured output abiding to those schemas. The returned data is used to formulate the attributes of the new chess pieces and the board configuration. Firebase was used to store the generated piece data, allowing for future games to reuse interesting pieces without wasting resources re-prompting generative AI. The visual components were created using Three.js to render the chess board and pieces in 3d, and allow for interactive rotation of the game.
Challenges we ran into
Combining the various components of our program was a challenge. It was oftentimes a complicated process to implement the new APIs and databases that we utilized. Then, to link them together and their data, we had to create server/client and frontend/backend structures that allowed communication and efficient data transfer between each compartment. This was a process that required incredible system
Accomplishments that we're proud of
A moment that was incredibly fulfilling for us was when the 3d graphics finally displayed the board and the chess pieces after many hours of tweaking with Three.js. It was so satisfying because the visuals looked extremely nice compared to our previous flat 2d version, and it was an endeavor that took a lot of time to complete.
What We Learned
- How to structure a project with many complex and intertwined parts
- How an AI to coding pipeline works, and how to cleanly represent the AI data in code
- How to connect computers through sockets and bring them into the same lobby
- How to use 3d graphics on the web to display components
What's next for Forgotten Game
For the future, we plan to diverge from being a chess variant entirely, and move to broader topics. We hope to take this idea of having AI alter and generate content in games to an even greater level, where it will become an actual possibility to have a world where anything that can be imagined will be possible.
Built With
- dedalus
- firebase
- spellkit
- three.js
- typescript
- websockets


Log in or sign up for Devpost to join the conversation.