-
Notifications
You must be signed in to change notification settings - Fork 2
Map Design
This wiki will outline the design decisions involved with the map layout.
- 1. Map Layout Inspiration
- 2. Development of tile design
- 3. Development of map layout (Map design and player sprite)
- 4. Implementation in the codebase
- Customer queue visible on the left.
- Large dining area with multiple customers, customers showing their order.
- Smaller food/ kitchen area at the top 2d - top down
Endorses gameplay that is more focused on the waiter/ waitress experience. Lower emphasis and space to design a comprehensive cooking experience. 2D top down is feasible and usually good the cooking type game.
Inspiration from craftpix
- 4 separate quadrants
- 2 cooking areas, 2 plating areas, vegetable boxes, sinks, garbage bins, order station, cutting boards, stoves, pots
- Would need to keep all 4 quadrants accessible as only one player 3d - top down (angled)
Provides a greater focus on the kitchen/ cooking and food preparation experience. Lower focus on customer satisfaction, food service and ordering. 3d map design as dimension to the map and adds to realism. However would be very difficult to implement.
We started with designing the floor tiles. We decided on a checkered pattern for the floor since it adds to the cooking theme environment. We designed a 2:2 tile design. Usage of white colours too jarring and bright when implemented into the map. It was not pleasant to look at. We played with different colours.
- Blue: #8fbbba
- White: #ffffff
- Purple: #9b848c
- White: #ffffff
After reflecting on the harshness of the white, we decided to go for something that was a bit more pastel while including pastel. And rather than including white, we decided to go for lighter shades of the colour. Additionally, instead of going for squares, we design our tiles to include rectangular areas which made it more pleasant to look at. We settled on orange and blue. The 4:2 tile design adds to more angled look of map . Customer ordering section and kitchen cooking area more distinct from one another. This helps distinguish where the customers would be waiting.
- Visually appealing and less jarring with the absence of white colours
- Implementation of texture made tiles look more dynamic and interesting
- Light blue: #9db7d2
- Dark blue: #7da1bf
- Light orange: #fcc996
- Dark orange: #eda66a
One kitchen quadrant: Ingredients on the right, preparation on the left, cooking and plating in the middle and customer orders at the top.
Player able to cook meals quicker and navigate through the map easier due to closer quarters. Smaller map layout limits future implementations. Based on the design document and discussions had in the studio with the other teams, it seems that we were thinking a layout that allows for more space and implementation of different stations.
Two kitchen quadrants: Ingredients and preparation in right kitchen quadrant, cooking, plating and orders on the left kitchen quadrant.
Larger map to allow for more creative future implementations. It helps with the ability to serve more customers due to increased customer area section as well as increased distance between sections also decreases cooking speed.
This allows for the implementation of different stations and items to be added as well as the player to move around more when having to manage different tasks that need to be completed.
After drawing and making the above prototype we decided to design a high-level prototype that we would be able to replicate in the game by filling in the map area with the tiles we designed. Hence we decided to go for a 2d top down look for feasibility since 3d would be very difficult to implement. We added benches to seperate the stations that would be added in future sprints. Shadows added to bench designs to have a better look.
We also decided to add a border added to line the outside of the building. Doors added at the top left and bottom left side of the map to allow for customers to come in and out in future implementations.
Map looks more dynamic and angled due to addition of shadows to benches. Map perimeters are clearer and map looks more cohesive. Customer entry and exit clear through addition of doors. The final design uses a colour palette that matches the design discussed with others as well as the theme of the game. The layout allows for the implementation of future features discussed.
6 different types of benches will be added which includes a vertical left and right bench, vertical centered top and centered bottom bench and horizontal top and bottom benches. We designed our own benches since no assets we liked were found on the internet. Hence we decided to create our own similarly to the tiles as well as the map layout we designed.
We looked for a player sprite, a chef that had a pixel design that was pretty simplistic. We wanted to design our own but really liked one we found online. We liked the one above taken from https://opengameart.org/content/chef-animated-classic-hero-edit. There are also multiple movements for this sprite which is very useful when wanting to implement player movements in later sprints. We didn't find any options we liked so it was pretty easy picking the player sprite. It fit in well with out theme as well.
We modified a few files in order to create the above layout described. We modified the:
-
ForestGameArea
: Added thespawnBenches
andspawnBench
function that creates benches using the functions/functionality of theBench.java
file created. We added thespawnDoor
function that adds the doors to the map. We also added thespawnWall
function to create the walls around the game area, this goes with themakeBorder
function. We modified thespawnPlayer
function and also had to make changes to the coordinates for thespawnStations
. -
MainGameScreen
: Change the camera coordinatesCAMERA_POSITION
to change how the map is viewed on the computer window. -
TerrainFactory
: This class was modified quite a lot. The variables and functions were renamed to includeKITCHEN
instead ofFOREST
. Additionally, thefillTilesRandom
was replaced with fillTiles. No functions were added the same names were used as the original code provided to us, hence this is way not much javadoc is included since the functions stayed the same except for the blueTiles to create the customer area and a comment was included to describe its use. - Created
Bench
class ingame.entities.benches
: This creates the benches (setting width, height and scaling) as well as a collision function that handles collisionscreateBench
. However no testing was done for this function this is because collisions was not meant to be implemented in this sprint, was not included in our feature ticket hence we just added it for a better understanding of if the player could move enough when looking at the layout created. -
PlayerFactory
: Just modified the player sprite -
assets/images folder
: Added any images and created additional foldersframe
andbenches
in thestations
folder as well as the tiles and other necessary images for the creation of the map. -
GdxGame
: Modified the background colour to replace the pale yellow to an almond colour We made some very minor changes that were not mentioned here since this wiki only includes the main changes/additions made to the code.
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
Entities and Components
Input Handling
Game Screens and Areas
Fire Extinguisher Handler Component
MainGameActions Create Docket Triggers
Main Game Order Button Display
BackstoryCutsceneDisplay Test Plan
Test Plan for MainGameOrderTicketDisplay
Test Plan for MainGameOrderBtnDisplay
Test Plan for DocketLineDisplay
Test plan for RandomComboService
Test plan for SpeedBoostUpgrade
Test plan for DancePartyUpgrade