Team Design Document Port - UQcsse3200/2024-studio-3 GitHub Wiki

Table of Contents

Summary

Gameplay Loop

Story/Setting

Emotional Goals

Art Style

Code Style

Summary

The goal is to make a story driven game with moral dillemas, a stressful cooking experience, different endings and resource management (currency mostly). Basically, combined Overcooked with Papers Please. Customers will join a line-up, generate an order and wait for their meal to be cooked. The player is then expected to complete orders to the best of their ability, by ideally delivering the exact meal a customer asked for, that is cooked correctly (no under/over-cooking) and within a timely manner. Players are rewarded with more gold per order if they perform well, and are penalised with a reduced payout and potential game over if they consistently underperform by delivering inadequate meals. Difficulty is introduced to the player by forcing them to complete more food orders with a higher complexity - that is, more ingredients - in order to get through each new day, forcing players to focus on prioritising tasks and generally being attentive. To further emphasise attentiveness, if an ingredient is left unattended, a fire can start which would temporarily make that particular cooking station unavailable for use until the fire is extinguished. Losing the ability to use a station would further exacerbate another limitation forced upon the player, that being the very limited number of cooking stations they have. This forced limitation reinforces the importance for players to prioritise certain tasks and to try to plan ahead and anticipate what could happen. Finally, the penalties for making a "bad" order is the final layer of challenge given to players, as they are required to consistently perform to an expected arbitrary standard in order to win the game.

Gameplay Loop

For the gameplay loop there are two main parts, a day and a night. During the day, players will cook various meals for different customers and receive gold upon completing said orders, with a larger bonus if the meal is of "higher quality" and makes them happy (it's their preference, the ingredients were cooked well and it was timely). Unhappy customers (customers that get poorly cooked food, food they didn't want or waited for an excessive amount of time) will give the player less gold, and can potentially result in a game over if enough customers are upset. After all customers are served, the day will end and the night will begin.

At night, players lose some amount of gold for "expenses," increasing as the game goes on. If the player runs out of gold, they get a game over. The player will be shown how much gold they now have, and what customers they managed to please and which were angry. After viewing this screen, the player will be presented with a two option moral choice. The "bad" choice would give a temporary bonus - such as extra gold per order completed - but would eventually lead to the player getting the bad ending. The "good" choice would give no benefits - potentially maybe down the line even debuffs - but would give the player the "good" ending. A neutral ending could be achieved if a player does not achieve the threshold for either ending.

Story/Setting

Full Storyline is here

Emotional Goals

We would aim to invoke a variety of emotions, mainly focusing on stress, guilt, happiness, indecision and relief. Stress would come from the core gameplay loop, mainly from increasing challenge in levels - more customers and more orders with greater complexity - and unhappy customers - enough of which would cause a game over. Guilt would come from the moral decisions, especially if they made the bad choices. Alternatively, a player would feel happy if they made a good decision. Feelings of indecision would come from the mere existence of the moral system, forcing the player to make decisions that they might not want to make. Finally players would feel a sense of relief when the game is finally over and they see the ending they achieved.

Art Style

The art style will be pixel art, with a wide colour palette. This would mean that while the graphics are simple in a stylistic sense, the sprites can still be very detailed, especially in terms of colour grading. The combination of these decisions would create an art style that is visually appealing, as it would be very simplistic and colourful, invoking potential feelings of calm and general light heartedness. There would also be potential colour grading for different times of day, specifically day and night.

image image

Code Style

DocStrings are a requirement, both for maintaining conventions and in order to best communicate and explain functionality to both the teaching team and other studio members. For sake of modularity, maintenance and code complexity/readability, separate features will be kept to separate classes, which are ideally located in appropriate directories/packages, with grouping for related or similar classes.