Inspiration
The idea for our project was born from a shared passion for tabletop games like Dungeons and Dragons and the potential of artificial intelligence to enhance the experience. We wanted to create an immersive environment where players could interact with an intelligent game master that could handle complex game settings, narrations, and interactions—making the gameplay more dynamic and accessible to all. Since the AI has the ability to always able to expend the story based on the free ideas from users, we wish to explore the potential of AI as a D&D type of game host to offer a immersive and free imagination experience for gamers.
What it does
Our project is an AI-driven online board game platform where the AI plays the role of the game master, guiding players through various interactive experiences. The AI sets up the game, explains the rules, and dynamically adapts the story as players progress. It hosts different genres of games, such as adventure, investigation, and break-out, offering a seamless multiplayer experience. By using AI as game host/story finisher, users will have more space to freestyle in terms of making choises and push the game to expend
How we built it
We divided the project into three core parts:
- Client: Built using React, the client provides the user interface where players can interact with the game. We focused on creating a smooth, intuitive experience for the users to join and participate in games.
- Spring Boot API Service: The backend API handles user authentication, game session management, and data exchange between the client and AI service. We used RESTful API principles to ensure scalability and maintainability.
- AI Service: The AI service powers the game master’s role. We built it using FastAPI, training it to understand game flow and adapt to players' decisions, offering a dynamic and engaging experience.
Challenges we ran into
We encountered several technical and logistical challenges:
- AI integration: Merging the AI service with the game logic was complex. Ensuring that the AI could handle unexpected player inputs and dynamically adapt the game narrative required ongoing testing and fine-tuning.
- Real-time communication with Muti-players: Creating a real-time multiplayer experience presented challenges in synchronizing data across the client, server, and AI in a way that minimized latency.
- Balancing the game flow and setting the boundaries: Ensuring the AI remained engaging without overwhelming or underwhelming the players required iterative design and feedback sessions. It is good to have the opportunity to experience where we decide how far we can push the level of freewishes in our games without sabotage the integraty of the story telling.
Accomplishments that we're proud of
- Successfully integrating AI to act as a real-time game master, enhancing the player experience.
- Developing a scalable Spring Boot API that efficiently handles user interactions and game session management. So, in case we don't start everything fresh everytime new changes required, we need to carefully design the scalable structure where the services can be added and expandable in the design phrase.
- Lean how to achieve multi player experience on web app(regarding the data handling, storing and design)
- As the game project scale up, we need to make trade offs when progressing with development, we learn how to make engineering decisions based on the real world problems.
What we learned
Throughout this project, we gained significant insights into working with AI services, backend APIs, and client applications. Each part of our team was responsible for a different module, which gave us valuable experience in collaborative development. We learned how to integrate different services—AI and game logic on one side, Spring Boot for handling user interactions and backend logic, and the client interface for seamless user experience. The most importantly, we will get the full experiences as full time full stack engineers that working based on Github Pull Request, mocking the day to day work enviroment and to get the experiences from there, as students, it is exciting to learn to take advantage of the tools like Jira, Git, Discord, and solve some problems together.
What's next for AIBoardGame
With the first version of the AI integrated board game, we push the limits to see what can we do further to provide more immersive and amazing game experiences from AI's ability to expend people's imagination. we will have he opportunity to explore what we can build dynamically with AI and what requires the traditional game designing. Pushing the possibility is very exciting for this project.
Built With
- docker
- fastapi
- figma
- github
- java
- javascript
- jira
- microservice
- postgresql
- python
- react
- spring
Log in or sign up for Devpost to join the conversation.