The project in my third semester was titled “Nachtmahr” which is the old word for a creature that causes nightmares in German folklore. This project was my first project 3D in the Unreal Engine and also my first multiplayer project. As a team we decided to try to create a multiplayer game because our curriculum has no modules regarding multiplayer and we wanted to learn about something outside our curriculum. In addition to being a networked multiplayer title, “Nachtmahr” was also an asymmetrical horror game in which three players try to escape from a fourth player who is controlling the titular monster. In this project I took on quite a lot of duties and worked as a Game Designer, Sound Designer and Programmer. As a Programmer my main tasks were writing netcode and implementing gameplay features as well as conceptualising solutions for implementations of gameplay features I did not work on myself. As a Game Designer I worked on all the mechanics I will talk about on this page.
Excerpts from the German pitch presentation:
Survivor Gameplay Overview:
The three players who are not the hunter take on the role of survivors which try to escape the maze-like haunted mansion they were trapped in. In order to open an exit and escape the survivors need to find clues which they need to communicate to their fellow players. Exploring the mansion might also lead to finding useful items that can be of great help in avoiding or fighting against the hunter.
Monster Gameplay Overview:
The hunter moves faster than the survivors but gets slowed down when passing through doors because of its size. To successfully end chases with the survivors the hunter can use his special abilities. These abilities however cost power which can only be gained by the hunter by dematerialising from the map and adding new rooms to pre-generated part of the mansion. This means that a large portion of the map is generated dynamically by the hunter-player as the round progresses. Building rooms means the map gets larger which in return means survivors get more space to hide and more chances to find useful items and clues. However building rooms also gives the hunter its power which is needed to materialise and activate abilities for hunting survivors.
The hunter has three basic abilities:
In the game a Curse can be applied on either doors, lamps or paintings. Each of these objects stay cursed for a certain duration and help the hunter to locate the survivors or hinder their progress in different ways:
- Cursed lamps will burn out when activated and shortly turn off every other lamp in the room with a loud noise, scaring the player and forcing them to use their flashlights. The noise can also be used to by the hunter to estimate in what direction survivors are.
- Cursed doors will trigger when a survivor walks through a door. These doors then slam behind the player and get jammed for a short period of time. This splits up players who explore the mansion in a group and can help the hunter to end chases in loops as the hunter can still open and pass through jammed doors.
- Cursed portraits are the hunter’s most useful tool in finding survivors. After a portrait has been cursed the silhouette of every survivor entering its range will be shown to the hunter as long as they are inside it. This applies also to survivors who are hiding in closets. The survivors get an auditory cue when they walk in and out of a portraits range.
The Darkness ability can also be used to locate survivors. In a large range every lamp is turned off or cursed if it already was turned off and the hunter gets a notification if a survivor healthy or injured was also inside the range of the ability.
Finally the Rage ability is the hunter’s ultimate weapon to end chases. After letting out a loud howl the hunter starts to sprint through the corridors on all fours, increasing speed and most importantly gaining the ability to walk through doors without being slowed down while Rage lasts. This is also the most costly ability and should be used wisely as it depletes a large portion of the hunter’s power.
Using abilities is not the only way the hunter looses power. Just by being materialised on the map slowly drains the hunter’s power which forces it to dematerialise and build new rooms if its power runs out completely. This way the game is naturally divided into phases where the hunter builds rooms, the survivors can focus on exploration and finding clues and a phase when the hunters goes hunting and the players need to be more careful. This creates a natural cycle between tension and release. I was responsible for implementing all of the hunters abilities as well as the logic for the cursed props like doors, portraits and lights.
Escaping the mansion:
In order for the survivors to have a chance of escape they need to work together in a team and communicate with each other. Since voice chat is very affordable and often expected from such games we conceptualised the game with this technology in mind. The clues that are hidden in the rooms throughout the game are code fragments which show how to decode the symbols representing the four digit code on the exits. Each of the three exits has its own unique set of symbols and an individual code, but only one exit needs to be opened for survivors to escape. Communicating these symbols and their meaning to the rest of the team efficiently can be the key to escape. While each symbol is unique they all share similar silhouettes to immediately make clear to the player which code fragments are part of which exit code.
When exploring the mansion the players can also find various items which help them on their way:
- Lockpicks trigger a small timing based minigame and open a locked door. A certain percentage of doors spawn locked but the algorithm I wrote that determines which items need to be spawned where ensures players will always have enough lockpicks to explore the whole map.
- Batteries increase the duration the flashlight can be used. While the players have a minimap to help with orientation and clues can be seen in the dark as well they need to be very careful about not wasting their flashlight as they often cant rely on lights around them as they might be cursed.
- Invisibility scrolls turn the user invisible for a short duration of time. This is extremely useful when trying to escape from the hunter. However if the player has his flashlight active the player can still see the light they emit. If the invisible player runs around or opens doors the hunter will be able to hear them as well.
- Speed Scrolls give a survivor more stamina which is useful if they need it to sprint for longer when exploring the mansion or when running away from the hunter.
- Vision scrolls help the team to coordinate. When used the footsteps player leave when running will be shown to all other teammates which can greatly help with orientation and coordination. If the hunter is far away it will also see these footsteps.
- Blinding scrolls are the players only means of actively combatting the hunter as these scrolls conjure a flash of light which can stun the hunter and drain its power.
- Healthpacks are the rarest item in the game and increase how many times a player can heal an injured survivor. At the beginning of the game every survivor starts with two heals. If they use all of those then the only hope for an injured player is to crawl through the exit before they are being abandoned.
The survivors can also crouch behind objects like tables or shelves and try to hide. Throughout the mansion they can also find big closets in which they can try to hide as well. If the hunter opens these closets though they are in trouble.
Building rooms for the mansion that both gave of an eerie atmosphere and hinted at something sinister happening there as well as providing enough space and opportunities to create the “hide and seek” like thrill was very challenging but equally fun. I built about a third of the rooms in the game using assets our artists created.
End of the game:
The win conditions for the survivors are very straight forward: A survivor who escapes from the map wins the game. If an injured survivor is still on the map and there is no other survivor in the match anymore who could heal them, the game is ended and all remaining injured survivors loose the match. In this case the hunter is guaranteed to have a partial victory. If they let not a single survivor escape they gain a “brutal victory” and a loss if all of the survivors can escape.
However the survivors need to be quick in finding and opening exits because the hunter will go into a powerful mode as soon as no more rooms can be placed. The hunter gains unlimited power, immediately materialises and can hunt the players until one of the end conditions is met.
One of the main lessons I learned in this project was certainly that multiplayer games are a lot of work. In hindsight I can see why our group was advised by many people not to attempt such a project but it also makes me proud my team and I could pull it off. I also had too many responsibilities in this project as I was programming, working on the netcode, organised the pipeline, made all the sounds in the game myself, conceptualised most of the gameplay mechanics and helped building the rooms of the mansion. I was doing all these things because I had fun doing them but it became too much for me and I had to crunch a lot to fulfil all my responsibilities which had a negative effect on my health both physically and mentally. In hindsight it was obvious I was asking too much of myself but it did teach me the importance of balance. Also we had some troubles in our group during this project as some team members unfortunately proved to be unreliable. It was not a pleasant lesson to learn but it helped me to understand better how to run a team when developing a game. And even though this project was a lot of work I think I would do it again, but this time with a different team and in a way where I can focus on the things I enjoyed most during development.
We created a gameplay video to better convey how our game works. The gameplay video shows the content of all four players screen simultaneously while audio of only the highlighted player is used.