Project
Eat Everything - A Unity Multiplayer Game
Gameplay Video
Project Overview
Created in 9 weeks as part of a university module alongside my FYP, I created a multiplayer game in Unity. We were given a lot of creative freedom and the ability to choose between 2D or 3D. I chose to create a 3D co-op game since I was already creating a different Unity project in 3D.
The objective in this game is for two players to work together to eat all the food before either of their hunger bars run out, this creates an experience where you have to balance what food you eat first as you may want to leave easier to reach food for later so that you can eat that if either hunger bar is getting low. The players also have different types of food they can eat which forces the players to work together so that they can find / reach their respective food items.
We were told to create a game that featured a mechanic that could be used in multiple ways, for my game I chose to have mechanic where one player is able to carry boxes or the other player.
This mechanic is used to lift boxes in order to drop them releasing more food and also used to carry the rat character to ropes so that they can chew them to release the boxes.
For this project I was inspired by other asymmetrical multiplayer games such as: It Takes Two / Split Fiction / Bokura. These games helped my understand how to implement different mechanics for each player while maintaining a fair player experience, for this I wanted to give the players abilities that ensured that they could not complete the level without cooperating.
Skills Used
- Unity
- C#
- Unity Multiplayer Plugin
- Unity's UI Toolkit
Project Setup
As this was my first attempt at doing a multiplayer game it took me a while to learn the structure and how to properly use Remote Procedure Calls (RPCS)
Thankfully using a few packages designed for creating a multiplayer game (Netcode for GameObjects, Multiplayer Tools, Multiplayer PlayMode) did make setting up the foundations super simple and I was able to get two different player objects spawning on a network in the first day!
Early Demo
Game Scene
Design Choices
As I was working within the limitations of creating a multiplicative mechanic and as I was doing this project at the same time as my Final Year Project which was a puzzle game, that was my original plan for the game. However, while in development I found that the mechanic I was focusing on with one player being able to pick up the other led itself to a more chaotic game feel. I decided to lean into this and changed the game into a time trial co-op with players needing to strategize together.
The multiplicative mechanic that was my focus was the ability for carry items be they box or rat. This can the be used to break boxes from dropping them from a decent height or to transport the rat to otherwise unreachable food.