Software Engineering Part 2 Group Project for the University of Auckland
Welcome to the AI Text Box Integrated Escape Room Game! This project is a thrilling and interactive escape room game where players must find clues, solve riddles and puzzles to escape various rooms. The game is developed using Java, JavaFX, CSS, and the OpenAI API.
Bank.Breakout.Heist.Escape.Room.mp4
The AI Text Box Integrated Escape Room Game is designed to provide an immersive experience where players interact with an AI-powered text box to find clues and escape from different rooms. The game leverages the OpenAI API to process player inputs and generate responses, enhancing the gameplay with intelligent and context-aware interactions.
- Interactive Gameplay: Players interact with the game through an AI text box, finding clues and solving puzzles to escape rooms.
- AI-Powered Responses: The game uses the OpenAI API to generate intelligent and context-aware responses to player inputs.
- Cognitive Novelty: Each gameplay session introduces unique and varying elements, keeping the experience fresh and increasing replay value by stimulating player curiosity and engagement.
- Engaging UI: The game is developed with JavaFX, providing a rich and engaging user interface.
- Stylish Design: Custom CSS is used to enhance the visual appeal of the game.
- Difficulty Levels: Choose from Easy, Medium, and Hard levels to match your skill and challenge preference.
- Timers: Select from 2, 4, or 6-minute timers to add an extra layer of excitement and urgency to the game.
- Java: The core programming language used for the game's logic.
- JavaFX: Used for creating the user interface.
- CSS: Used for styling the game interface.
- OpenAI API: Used to process player inputs and generate AI-powered responses.
-
add in the root of the project (i.e., the same level where
pom.xml
is located) a file namedapiproxy.config
-
put inside the credentials that you received from no-reply@digitaledu.ac.nz (put the quotes "")
email: "upi123@aucklanduni.ac.nz" apiKey: "YOUR_KEY"
these are your credentials to invoke the OpenAI GPT APIs
-
add in the root of the project (i.e., the same level where
pom.xml
is located) a file namedcodestyle.config
-
put inside the credentials that you received from gradestyle@digitaledu.ac.nz (put the quotes "")
email: "upi123@aucklanduni.ac.nz" accessToken: "YOUR_KEY"
these are your credentials to invoke GradeStyle
./mvnw clean javafx:run
./mvnw clean javafx:run@debug
then in VS Code "Run & Debug", then run "Debug JavaFX"
./mvnw clean compile exec:java@style
In the development of our AI Text Box Integrated Escape Room Game, our primary challenge was defining a distinct persona for the AI. This involved creating an AI character that would be unique, intuitive, and enhance the gaming experience. Through numerous discussions and iterations, we crafted an AI persona that aligned with the game’s context and resonated with our target audience. Another major challenge was ensuring seamless interaction between the players and the AI, which we addressed by designing a small, unobtrusive user interface and implementing a "quick hint" feature to keep the gameplay engaging.
Our goals for this project were to create an immersive escape room game leveraging AI for interactive gameplay. The AI was intended to provide intelligent, context-aware responses to player inputs, enhancing the gaming experience. We aimed to use technologies such as Java, JavaFX, CSS, and the OpenAI API to develop a visually appealing and functionally robust game. Additionally, we sought to incorporate different difficulty levels and timer options to cater to varying player preferences and to ensure a smooth, engaging user experience.
We faced several challenges during the development process. One of the largest was managing the intricacies of prompt engineering to ensure the AI provided relevant and consistent responses. This involved extensive testing and tweaking of prompts to balance specificity and flexibility. Another challenge was the technical implementation of AI within the game, including managing response times and minimizing unnecessary API calls to reduce costs. Through these challenges, we learned the importance of concise prompt design, efficient API usage, and the value of iterative testing. These experiences have enhanced our understanding of integrating AI into interactive applications and highlighted the potential for AI to revolutionize user experiences.