top of page
Screenshot 1.png

Dish Dash : Multiplayer

Note: This page focuses on the multiplayer features of Dish Dash. For an overview of the core game mechanics, please check out the single-player version here.

​

The multiplayer version of Dish Dash, developed using Unity and Netcode for GameObjects, supports up to 4 players working together in real-time to cook and serve as many recipes as possible within a time limit.

​

Players collaborate to chop ingredients, cook, and plate dishes, with all actions, animations, and game states synchronized across all players.

​

The game offers private and public lobby options, allowing players to create custom lobbies with codes or join random matches through the matchmaking relay.

 

It also features character customization, a synchronized pause system, and reliable handling of disconnections and potential network issues to ensure smooth gameplay.

​

This project marks my first experience with networking and multiplayer development, where I’ve gained a strong understanding of networking logic, client/server architecture, network authority, RPCs, and other essential concepts.

​

Through this process, I’ve enhanced my skills in multiplayer mechanics, and I look forward to applying what I’ve learned to future projects, exploring more advanced multiplayer features, and creating engaging online experiences.

Genre :  Cooking, Simulation, Casual, Multiplayer

Platform :  PC

Project Type :  3D

Release/Finish Date :   November 2023

Role :   Solo Dev

Development Time:   6 Weeks

Development Tools :   Unity 2023, Netcode for Gameobjects, Jetbrains Rider, Git

Game Mechanics Showcase

 

Lobby Creation

​Players can create a lobby as either public or private, using Unity Lobby to manage accessibility.

 

Public lobbies are open to anyone, while private lobbies require a code to join.

​

Players can name their lobby to make it easy to identify in the lobby list.

Joining a Lobby : Lobby Finder

​Players can join a lobby using the Lobby Finder, which displays all available public lobbies.

​

The list shows the lobby name, the number of players currently in the lobby, and includes a button to connect.

​

Joining a Lobby :
Quick Joining

Players can use the Quick Join feature to instantly join the first available public lobby near their location.

​

This mechanic utilizes Unity Lobby to search for and connect to the most suitable open lobby.

Joining a lobby : Joining with a code

Players join private lobbies by entering a unique code.

 

This code is automatically generated during lobby creation

Player Customization

Before joining or creating a lobby, players can set their names.

 

Once in a lobby, they can select their chef hat colors.

 

Players in the same lobby cannot choose the same color.

Lobby Action :
Ready Mechanic

Once in a lobby, players can press a "Ready" button to mark themselves as ready.

 

This is indicated by a "Ready" text above their character.

 

Once all players in the lobby are ready, the game starts.

 

​

Lobby Action :
Kicking Mechanic

The host can kick a player from the lobby for any reason, such as inactivity or other issues that may affect the gameplay experience.

Lobby Action :
Kicked Player POV

 

When a player is kicked from the lobby, they will receive a message stating "You have been kicked" along with a button to return to the main menu.

Handling Disconnections :
Host Lobby Disconnects

If the host of the lobby disconnects from the game, the lobby will be closed, and all players will be returned to the main menu.

Handling Disconnections :
Host In-Game Disconnects

If the host disconnects during gameplay, all players will be notified with a message stating "The host has disconnected," along with a button to return to the main menu.

Multiplayer Pause

When one player pauses the game, it pauses for all players in the session.

 

A message, "Waiting for other players to unpause" is displayed to indicate that all players must unpause before the game continues.    

Screenshots

 
Screenshot 5.png

Demo

 
bottom of page