Skip to content

Map Layout

Rakshit31773 edited this page Oct 16, 2024 · 39 revisions

Introduction

It was decided that we would implement 5 stages of the game all with different map layouts. The idea is that as the stages progress, the difficulty of the game would increase. This implemented through the increased prevalence of different ingredients and stations requiring more complex recipes for the player to create.

Here you will see the stations and recipes required for each day. Further recipe information can be seen in the Ingredient Station wiki page. There will also be a description of the purpose of the day, and an image of the final map design of that day after it has been completed.

Day 1

This is the first day the player will play on, so is made to be as simple as possible so that the player can learn the basics of the game. Only one meal is required, and minimal stations are provided.

Stations required:

  1. Cutting board
  2. Tomato basket
  3. Cucumber basket
  4. Lettuce basket

Recipes:

  1. Salad - cut up tomato, cucumber & lettuce
Screenshot 2024-10-03 at 11 06 37 am Screenshot 2024-10-03 at 11 06 56 am

Evaluation

  • Simplified map layout to accomodate newer players unfamiliar with how to play the game
  • More open and free map design

Day 2

This day aims to up the ante by getting players to manage different types of dishes and making the ingredients for the right one.

Stations required:

  1. Cutting board
  2. Tomato basket
  3. Cucumber basket
  4. Lettuce basket
  5. Banana basket
  6. Strawberry basket

Recipes:

  1. Salad - cut up tomato, cucumber & lettuce
  2. Fruit salad - cut up banana & strawberry
Screenshot 2024-10-03 at 11 07 27 am Screenshot 2024-10-03 at 11 07 37 am

Evaluation

  • Still relatively simple and easy layout for new players
  • Slight increase in difficulty with stations and ingredients more spread out from each other
  • More stations and recipes

Day 3

This day builds off day 2 by getting the user to both juggle multiple dishes, while also learning the cooking mechanic.

Stations required:

  1. Oven
  2. Frying pan
  3. Cutting board
  4. Fridge
  5. Tomato basket
  6. Cucumber basket
  7. Lettuce basket
  8. Fire extinguisher

Recipes:

  1. Salad - cut up tomato, cucumber, lettuce
  2. SteakMeal - cut up tomato and cucumber, put cut up ingredients in oven. Beef on frying pan
Screenshot 2024-10-03 at 11 10 26 am Screenshot 2024-10-03 at 11 10 36 am

Evaluation

  • Oven and ingredient strategically placed as far as possible from each other
  • Increased difficulty with more eccentric map layout

Day 4

Day four is introducing new meals and the blender which hasn't been introduced beforehand. This should be easier then day 3, but will help the player relax a bit before Day 5.

Stations required:

  1. Blender (for acai bowl, not sure if required, could use cutting board instead)
  2. Cutting board
  3. Banana basket
  4. Strawberry basket
  5. Acai basket
  6. Fridge - Chocolate

Recipes:

  1. BananaSplit - cut up banana, strawberry and chocolate
  2. AcaiBowl - cut up or blended up (?) acai and banana
  3. FruitSalad - cut up banana and strawberry
Screenshot 2024-10-03 at 11 10 50 am Screenshot 2024-10-03 at 11 10 59 am

Evaluation

  • Cutting board placed as far as possible from ingredients as well as the servery position
  • Increased difficulty do to longer travel time

Day 5

Day 5 aims to truely test the players skills they have gained through playing the game. In this day, every recipe and every station is present.

Stations required:

  1. Oven
  2. Frying pan
  3. Cutting board
  4. Fridge - Beef
  5. Fridge - Chocolate
  6. Tomato basket
  7. Cucumber basket
  8. Lettuce basket
  9. Banana basket
  10. Strawberry basket
  11. Acai basket
  12. Fire extinguisher

Recipes:

  1. Salad - cut up tomato, cucumber & lettuce
  2. SteakMeal - cut up tomato and cucumber in oven & cooked beef from frying pan
  3. BananaSplit - cut up banana, strawberry and chocolate
  4. AcaiBowl - cut or blended up (?) acai and banana
  5. FruitSalad - cut up banana and strawberry
Screenshot 2024-10-03 at 11 11 14 am Screenshot 2024-10-03 at 11 12 10 am

Evaluation

  • Drastic increase in number of stations and ingredients
  • Addition of more complex recipes
  • Maze like path to servery to increase travel time and difficulty

Map text files

We created a MapLayout file which loads in the text file in the load function. It is being called in ForestGameArea which takes in the level when being initialised to load in the right map. We also create a Map class in order to return the arrays when load is being called and the spawning happens in ForestGameArea. We also created 5 .txt files, one for each level there are located in images/map/....txt. The load function reads every line of the file and checks with if statements based on the letters to know what needs to be loaded. These are added to arrays which are then accessed in ForestGameArea and spawned. The map for each level is loaded through a text file formatted as follows: (note: the row that the object begins at corresponds to the row of the file where the text is written) Benches:

  • Xab creates a horizontal bench beginning at column a that is b cells long
  • Yab creates a vertical bench beginning at column a that is b cells long

Stations:

  • all stations use the same code of Za1 where a is the column and Z is a letter from the following
  • b: banana basket
  • s: strawberry basket
  • u: lettuce basket
  • t: tomato basket
  • c: cucumber basket
  • a: acai basket
  • E: stove
  • O: oven
  • B: beef fridge
  • C: chocolate fridge
  • G: cutting board
  • N: bin
  • S: submission window
  • F: fire extinguisher

The first 4 lines of the file are ignored. Example: assets/images/map/map_one.txt

Hel
1
3
=
X08 Y07 Y97
S00
Y63 X13
O00
N61
X21 Y32 X70 G70 X50
000
X12 X44 t21 c51 u71

Here is a UML diagram which shows how the class works and the other classes it uses for it's functionality mapLayout_uml_diagram

Table of Contents

Home

Team Design Document

Game Features

Inventory System
Scoring System
Food Recipes
Level System
Player Actions
Ordering System
Stations
Items
Map Design
Customers
Pause Menu
Upgrades
End of Day Display
Day Night Cycle
Moral System
Debug Terminal
Game Interactions Tutorial
Backstory Cutscenes

Game

Getting Started

Entities and Components

World Backstory

Service Locator

Loading Resources

Logging

Unit Testing

Debug Terminal

Input Handling

UI

Animations

Audio

AI

Physics

Game Screens and Areas

Terrain

Concurrency & Threading

Settings

Map Design

Test Plans

Sensor Component

Customer Sensor Component

Interaction Component

Inventory Component

Inventory Display

Station Meal Component

Station Progress Display

Keyboard Input Component

Fire Extinguisher Handler Component

Score System

HoverBox Component

MainGameActions Create Docket Triggers

End Day Display Component

Cutscene Area

Docket

Docket Line Display

Docket Meal Display

Main Game Order Button Display

Order Actions

Recipe

Ticket Details Component

BackstoryCutscene Test Plan

BackstoryCutsceneDisplay Test Plan

Test Plan for Tutorial

Keybinds

Keybinds Test Plan

Test Plan for MainGameOrderTicketDisplay

Test Plan for MainGameOrderBtnDisplay

Test Plan for Docket

Test Plan for DocketLineDisplay

Test Plan for OrderActions

Ticket Details

Test plan for RandomComboService

Test plan for LoanUpgrade

Test plan for UpgradesDisplay

Test plan for RageUpgrade

Test plan for SpeedBoostUpgrade

Test plan for DancePartyUpgrade

Test plan for ExtortionUpgrade

Troubleshooting

MacOS Setup Guide

Clone this wiki locally