Pizzeria Manager: The First Slice is a 3D, VR-based pizzeria management simulator game in which three players run a pizzeria for a day, each logged in on three different devices: Oculus Rift, iPad and PC/Laptop connected through a multiplayer network. There are three roles available (each for one device): Chef-Oculus, Cashier-iPad and Janitor-PC. All three players need to be logged in to a single room for the game to be played. This game was developed using Unity Game Engine using Photon PUN 2 plugin for the networking module. It was made by a team of programmers at Sheridan College in Oakville, Canada. Duration of development was 12 weeks. The Art assets present in the game are downloaded from the internet (for which credit goes entirely to the owner(s) involved)
Available on Platform: PC, iOS, VR (Separate build for each device)
Inputs Supported: Keyboard & Mouse, Touch, VR Controllers
Unity #C# #AI #VR #iOS #PhotonPUN #Networking #VisualStudio

Team

Huzaifa Saboowala
Programmer

Aditya Dinesh
Programmer

Justin Hole
Programmer

Game Overview

The game is a pizzeria simulator where three players take on the roles of “Chef“, “Cashier” and “Janitor” to successfully run a Pizzeria, earn some money and make a good name for themselves in the town. Each role is specific to the device used by the player to log in. Chef role can be played using the Oculus VR, Cashier role can be played using the iPad and Janitor role can be played using a PC/Desktop. Each player contributes equally to the making of a pizza according to the customer requirements and the customer satisfaction level at the end determines whether they got everything correct. The earnings made per pizza is connected to the satisfaction level so higher the satisfaction, the more money you make and vice-versa. At the end of the day, a final statistics chart is shown to the players reflecting their performance. Earn a good grade and become the most popular pizzeria in town!

Chef Tasks

  • Order Note Board: There is an order board where the orders incoming from the Cashier player will be pinned. Chef needs to read the data clearly before beginning.
  • Topping Station: Using the VR controllers, pick up the ingredients from the bowl and place them on the pizza. You can also pick up the ingredients already placed on the pizza and re-position them.
  • Baking Station: Using VR controllers and the buttons given at all stations, send the pizza from the topping station to the baking station and turn on the timer. Turn timer off when the pizza is baked as per the requirements.
  • Slicing Station: Slice the pizza into number of pieces specified on the order note using the slicer given. Grab the slicer using the VR controllers.
  • Send Pizza to Cashier: Once the pizza is sliced and ready to be packed, send the order to cashier using the buttons given on the panel near the slicing station.
  • Destroy Pizza: A pizza’s health reduces based on the amount of enemies enter the kitchen from the Janitor space. If the pizza’s health is low/zero, destroy it and make a new one.

Cashier Tasks

  • Take Order: Take the order when a customer arrives at the counter.
  • Write Order: Note down the order details using a Pencil and the Order Note.
  • Undo: Undo the previous mark if needed.
  • Clear: Clear the notepad if needed to start from fresh.
  • Send Order To Chef: Once done noting down the order, send it to the chef for preparation.
  • Hand Pizza to Customer: Once chef prepares the order and sends it, hand over the pizza to the customer.
  • Track of Earnings: Keep track of earnings made for each pizza as well as total earnings.

Janitor Tasks

  • Kill Insects: Kill the insects in the pizzeria using a swatter before they fly off to the kitchen.
  • Set Rat Traps: Set rat traps for rats wandering around the pizzeria before they enter the kitchen.
  • Shoo The Cat: Hit the cat using the broom to prevent him from entering the kitchen.

Creating A Room

The process to Create a room is same for Oculus and iOS/PC. Only difference is in the visual because for Oculus we created a floating panel and virtual keyboard.

  1. Login using a valid username
  2. Select “Create Room” option
  3. Enter valid name for room and create it

Player will automatically be entered into the room once its created. This player will remain the Master client for that room and has the access to start the game once all players enter.

Joining A Room

The process of Joining a room is same for Oculus and iOS/PC. Only difference is in the visual because for Oculus we created a floating panel and virtual keyboard.

  1. Login using a valid username
  2. Select “Show Room List” option
  3. Choose from the list of available rooms and join

Player can see the number of players in each room before joining. This player is not the Master client hence, they don’t have the option to start the game.

Customer AI

Customer AI was programmed using Finite State Machines. Each customer performed 4 main actions as given below:

  • Enter Pizzeria and Walk to counter
  • Give Order
  • Walk to the delivery counter wait for pizza
  • Leave the pizzeria with the pizza

Enemy AI

Enemy AI was programmed using Steering Behaviors and Finite State Machines were used to switch between these behaviors. There were 3 enemy types:

  • Cat: Follows simple wander behavior and after a certain interval switches to seek behavior towards the kitchen. (If shooed away then seek behavior applies towards the exit door)
  • Rat: Follows a path of waypoints chosen randomly to reduce predictability for placing rat traps.
  • Bee: Follows a modified wander steering behavior which allows movement along the y-axis to support the flying feature for this type.

My Contributions

  • Pizza Slicing
  • Drawing functionality and UI for Order note
  • Customer AI
  • Partial contribution in enemy AI (Bee and Rat)
  • Networking module
  • UI for Pizzas (Health, Enemy impact)
  • Recording Pizza Data
  • Statistics and Grade calculation

Gallery