ReLion Us!
Made with: Unity, C# for PC
Group project
Module ‘Context II’ - 8 weeks
March 2025
About the project
For this project, we worked in a team of 6 people (2 developers, 3 artists, 1 designer) for our client TNO, who instructed us to make a game that would make municipalities and civilians more inclined to work together to solve certain problems within cities or towns. Civilians often don’t know how to report problems or things they think could be better, and the municipalities often don’t even consider the problems or improvements that civilians do report. To try and get these parties to work together, we made ReLion Us!
Functionality
In this multiplayer game, you play as either the Lion or as a Crowd. The Crowd has tasks to build and gets to choose locations to move to. The player can then rearrange their crowd into certain shapes to convey to the Lion what to build at those locations (e.g. a house or a fountain). The Lion gets to place these objects anywhere, but you lose points if you build an item in a wrong location or if you build the incorrect thing. The more points you get, the higher the tree in the middle will grow and the better you do as a team. The Lion represents the municipalities, and the Crowd represents the civilians. To get the highest amount of points, the Lion and the Crowds are incentivized to work together, and the reward players will get from doing so might help them realize that they can in fact make a difference in their city!
My role in the project
I was one of the 2 developers in the team, and initially we split it up so that I would make the Lion and he would make the crowd. I also set up the server (dedicated server this time) and coded all of the functionality for multiplayer, like:
A lobby system:
Upon hitting play, you’ll get connected to the dedicated server and join the current lobby. Here you can check the box for if you’d like to be the Lion. Once atleast 2 players are connected, you can both ‘Ready Up’ and if all players are ready the game will randomly choose a Lion between all the connected players who checked the box and load all players into the game. When a game is over, everyone gets sent back to the lobby and new players can join.
Synchronized movement:
When you move you’re player your new position gets sent to the server, which then sends it back to the other clients, updating it for everyone.
Spawning in Network Objects
The Lion can spawn in all sorts of objects like houses, fountains and barns. Any object he grabs but hasn’t placed yet will only appear on the Lion’s client, but once the Lion places the object, it will spawn that object in on the server for everyone. The server then handles the logic for if it’s the right object and if it’s in the right place.
The multiplayer uses NetcodeForGameobjects and Unity’s underlying UnityTransport.