This is the game Madhouse Games developed over the course of nine weeks. It is a four player split-screen party game made for Playstation 4.
The premise of the game is to be the last standing and make it out of a haunted mansion, to do so you need to collect souls and with those unlock a locked door.
Roomblocking Feature
This is a system I made so that you can disable different parts of the map. The system supports adding of new rooms and modifying locking time and warning times. It is all compacted into one object that has a hierarchy where you add rooms and corresponding doors.
Haunting Feature
This feature makes it possible for players who have been caught by the monster to enter a sort of spectator mode where they can nudge the player they are spectating. This gives a unique feel to losing as you are kind of still in the game, haunted players gets a headsup when they are being haunted shown as ghost rotating around their head. Being a ghost means that you can nudge the player in a choosen direction this makes for some fun interactions between specators and players.
Optimization
Since this game was developed for the PS4 performance was a big aspect of developing the game. We also had four cameras rendering at all times, which meant that we had to keep our eyes on the rendering time per camera and try to minimise this time as much as we could. In the end we got this game to run at 60 FPS which was one of the goals I had for this project.
Rendering Pipeline issues
I noticed pretty quickly that HDRP in Unity could not handle multiple cameras which made our team switch to URP which could handle multiple cameras smoothly. Before the switch we made a system for having one camera render in four positions and then apply it to a texture, this system did render a bit faster but was still not used as the camera system. Altough this was something that was used later with the 3D eye in the middle but then with only one camera rendering to a texture instead of four.
Mesh Combiner System
This is a system I made so we could combine the whole level into one mesh to get the draw calls down to a reasonable amount. In the end this whole system got scraped as the level was remade in a more optimized mesh. This system could handle multiple textures on multiple meshes and still combine them into one mesh.