![Screenshot 1.png](https://static.wixstatic.com/media/a9c974_7f04d36448144b6698cd7bd5a3a1038c~mv2.png/v1/fill/w_859,h_483,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%201.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.