Inspiration
In the beginning, we wanted to create a text-based adventure game, while also being educational. One of the most interesting and entertaining parts of a Choose Your Own Adventure is the effects of your choices on the future. We wanted for players to feel the significance of their own actions and how they affect the world around them. We also were inspired by the idea that an LLM can be an incredibly responsive NPC in a game since it can interact with players creatively, guided by some manual settings.
What it does
This is a text-based farming simulation game where players take on the role of a rural farmer. Each in-game day, players perform various tasks such as planting crops and feeding livestock. As players complete these tasks, the game presents interesting and educational facts about agriculture. After the fixed story mode, players can make in-game decisions with the help of Gemini AI, which offers intelligent suggestions and guidance to enhance the farming experience and support learning in a fun and interactive way.
How we built it
The front end was a relatively simple system of functions for each user choice, and storing each of their significant choices to influence the messages at the end of the fixed story. We built the backend using Google’s Gemini API. Gemini was trained as a farming simulator that would update and read players’ stats and learn from players' previous choices to create new challenges for the player.
Challenges we ran into
Ironically, we struggled much more with the front-end implementation of the Fixed Story mode instead of the Infinite LLM mode. We overcame many issues such as mysterious unremovable dark mode, design direction debates, and disappearing bugs. Additionally, through careful delegation of work, we avoided merge conflicts and developed various parts of the application efficiently. Working closely with other people on a coding project was also a unique challenge, since we had each applied different styles to the pages we developed. We spent a significant amount of time unifying the UI. Additionally, since we didn’t have a budget for this project, we had to constantly generate Gemini API keys after hitting the free tier usage limit.
Accomplishments that we're proud of
The majority of our team members were unfamiliar with Expo prior to this project. We all quickly learned an incredible amount to collaborate and create an expansive mobile application. Additionally, integrating an LLM API into a mobile application was an entirely new experience as well. Lastly, for the welcome page, we took inspiration from the look and feel of text-based games and implemented a text-typing animation for the welcoming scene with music embedded to make the game feel more polished.
What we learned
Throughout this project, we deepened our understanding of the Expo framework. For many of us, this was our first time working with Expo, so becoming comfortable with its structure and tools was a major milestone. Additionally, this was the first time any of us worked with a large language model (LLM) API. Learning how to integrate AI into a mobile app was a brand-new and exciting experience for everyone on the team.

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