A Slender's Lullaby
Practical course project: Game Lab 2021 WS
A semester project for the 2021 Winter Semester Game Lab at TUM. A "Slender Man" themed 2-player stealth game.
Basic Information
Time Scale
4 months (a semester)
Team Size
3 programmers/artists
Documentation
Introduction
This project was developed by our team as part of the Game Lab course offered by the Technical University of Munich during the Winter Semester of 2021. The theme of this Game Lab was "Slender Man". We created a 2-player stealth game, where the 2 players need to confront with each other. One player assumes the role of the Slender Man, whose objective is to kidnap a sleeping child within a limited time frame, while the other player takes on the role of the guards, striving to prevent this malicious act from occurring. The guards player has the ability to switch between three different guards. When not controlled by the player, the guards are driven by AI, patrolling the area and engaging in combat by shooting the Slender Man upon sight. The Slender Man has different abilities while the guards have different items to use. The entire project was built using the Unity 3D Engine, and our team collaborated through Git.
Game Development
Concept
Throughout the development process, we focused on creating an engaging and immersive experience that captures the essence of the Slender Man theme and exploring the unique and enjoyable aspects of the multiplayer experience. By leveraging the power of confrontation between players, we aimed to enhance the overall fun and excitement of the game.
Personal Contributions
In my role, I was mainly responsible for handle network-related functionality for this multi-player game. I used Unity's new (by the time) Netcode package and the relay server it provides. When choosing a connection method, we needed a peer-to-peer solution since it wasn't feasible for us to dedicate a device as a server. With this in mind, I implemented two different connection options for the players to choose from: local LAN connection and remote connection using Unity's relay service. The LAN connection is straightforward, allowing two devices on the same local network to easily communicate with each other. On the other hand, Unity's relay service exempted us from using NAT traversal or setting up a server, enabling easy remote connection for 2 devices.
Apart from that, I was also in charge of creating various gameplay elements, designing and implementing the UI, character modeling, as well as animating characters. Additionally, I created the final trailer.
Challenges
The networking proved to be the most challenging part of the development process. Overcoming the complexities of networking was a significant achievement that contributed to the final result of the project.
At the same time, our goals were a bit too ambitious, which led to a time crunch in the final stages. As a core component, the networking functionality took up so much of my time that I wasn't able to contribute as much to assisting my teammates. In the end, we still managed to produce a decent game, even though there was plenty of room for improvement in the art. However, this experience became a valuable lesson for me, leading to better outcomes for me and my teammates in the other Game Lab project in the next semester.
Gallery




