Inspiration

Working in the dishroom has been a shared experience of many student workers in MHC including our own members. By turning the repetitive task of sorting dishes into a playful challenge, our game - MHC Dishroom Master hopes to highlight the skill and mental focus required in these jobs. It’s meant to celebrate student labor, appreciating how much unseen work goes into keeping dining halls running and how even ordinary tasks can become fun and oddly satisfying when transformed into a game.

What it does

It is a single-user game where multiple dishes pass through the conveyer belt and the player has to sort it according to type. The player has to sort at least 7 dishes - mismatching 3 dishes or letting dishes pass through, makes the player lose, the student is fired and the game ends. However, if the player clears all the dishes, congratulations the student has survived another shift!!

How we built it

We have utilized the Gafr game framework, a framework for writing 2D games in Java built by Professor James McCauley. For the game elements, we took pictures of actual utensils from Blanchard and applied a pixelated art style to them. We then utilized the GFStamp object and onDraw method from the Gafr framework to import these graphics into the user interface. For the structure of the program, we built a Dish class that creates dish objects and a Game class that handles the actual game itself. These two classes are connected by a dependence relationship where the Game class uses Dish objects.

Challenges we ran into

-Choosing the project framework: We were considering using Unity at the initial stage of our project. However, Unity was not working for everyone’s laptop and the interchangeability between C# and Javascript is fairly new to all of us. We then decided to use GaFr which we have some familiarity with. -GUI design: There is not that many pre-existing graphics that fits the theme of our game. We therefore decided to create our own graphics. First, we tried out drawing pixelated images of dishes, but it proves to be a bit time-consuming. We then took pictures of actual plates inside blanch and pixelated the images. -Handling mouse clicks: The most challenging part of our project was to handle the dragging of the dish from the conveyor belt to the container. To do so, we need methods that continuously handle mouse clicks, move the graphics to the container and check if the graphic is inside the correct container. We first used pseudocode to sort out the logic of the code, yet there proved to be a lot of details we needed to consider (for example, the dish should not be moving forward once it is being dragged, and the dish would need to disappear after being placed inside a container). Incorrect implementation of logic constant gave us time-out errors. Debugging step-by-step, we are able to make the dragging work.

Accomplishments that we're proud of

Our team consisted of first time hackers and although we only met at the hackathon itself, we were able to identify each other’s strengths and compliment each other. We worked together, problem solving and learning as we went.

What we learned

We have gained more experience with game programming by designing the settings and rules for our own game. We are now also comfortable with designing graphics and handling object motion in 2D games.

From a wider perspective, we have also learned how to design a project stage-by-stage through actually enacting the software design cycle. We have also learned how to conduct research on different programming frameworks and choose the tools most suitable for our needs.

What's next for MHC Dishroom Master

-Building community: We may want to include user accounts and leadership boards that students can use to compete with their friends. -Increased difficulty: We may want to add in more levels of difficulty, with a greater variety of dishes (perhaps Useful bowls and cups!) and the dishes moving at a quicker pace. -Game deployment: We want to migrate the game as a mobile app that students can play as their low stimulation pass time.

Built With

Share this project:

Updates

Submission history