Inspiration 🌟

We all interact with the fast food industry frequently, and some of our teammates have worked in the fast food industry itself. However, we know that training employees, teaching how to cook, and interacting with customers can all be difficult to get used to, especially for many new employees. Our game thus aims to fix these issues and help employees and employers have a smooth and fast transition to the workspace.

What it does 🤔

By giving new hires a video game with the restaurant’s layout and the abilities to cook food and interact with customers, our application gamifies the otherwise monotonous onboarding process that fast food employees typically face. In addition, by giving players (new hires) the opportunity to speak to customers after an order goes wrong in a safe video game space, the game can help improve employees’ customer service skills. Finally, to allow management to review employees’ performances and customer interactions, a report is generated and hosted online (via Streamlit) after the game is complete.

Controls 🎮

Use W,A,S,D or ↑ ↓ ←→ to move your character! Press E to pick up and cook food and G to interact with customers and deliver food.

W or ↑ = Moves Up

A or ↓ = Moves Down

S or ← = Moves Left

D or → = Moves Right

Objective of the Game 🎯

Deliver food to customers quickly and accurately. Receive as few complaints as possible. Your service score will be calculated!

Game Modes 🎭

Beginner mode is untimed and will help you get used to the kitchen! You will learn to serve customers quickly. Advanced mode trains you to provide service in real life scenarios with complaints and time constraints. You are responsible for responding to complaints.

How we built it 🖥

Our team has used Python and a wide range of packages to create Restaurant Rescue. We used pygame as the primary package to build the game and its functionalities. We also made use of Thorpy, a pygame UI library that provided us with additional functionalities that served to improve the graphics and user experience. Pyaudio was also used to record and create audio files of the player’s verbal responses. Firebase and Streamlit were used to store and display performance report data (complaints and player responses) after a game playthrough, respectively.

Challenges we ran into 🚧

Our team comes from a background more versed in data analysis, machine learning, statistics, and back-end logistics. When we found that the theme of this year’s PennApps was centered around arcade, we decided to dive into the unknowns of Game Dev. Initially, the learning process was very challenging. The thought process that game developers must follow while working on their projects was very new to us, feeling almost foreign at points. Frame by frame updating? Collisions? We hadn’t yet encountered these with coding projects that we had been involved with up until now. Even now, we can’t say that pygame has become easy.

Accomplishments that we're proud of 🙌

Even though game development proved to be very challenging and new to us, we are proud to say that we were able to get enough of it under our belt to produce our final product here. We also found that our goal of making the game impactful while striving to maintain the arcade theme led to an engaging final product.

What we learned 📖

Creating a Game Dev project requires a mindset that is quite different than when working with databases or machine learning. As such, we learned Pygame and Thorpy from scratch while creating this project. Even though we may not be complete masters, being able to participate in this hackathon and work on our game has given us a taste of the wonderful word of Game Dev.

What's next for Restaurant Rescue 🔮

It is often video games that have the largest communities and contain the largest and most engaging user population, especially when compared to other kinds of software. Thus, there is always a population that we can learn and take feedback from. From the current point, we could add different maps to the game to get different restaurant examples that new employees can play in. This would make the game useful in a general manner to many different types of restaurants, beyond the breakfast diner we already made for the game. Furthermore, adding different types of complaints beyond food being late would give players more varied opportunities to practice their customer service skills, helping improve dining experiences for both restaurant customers and staff. Finally, a full integration of ChatGPT can allow players to have realistic conversations with customers and be more immersed in the environment and help players learn to react to a variety of situations.

Built With

Share this project:

Updates