There was a murder in the town of Sanois, but none of the townspeople are paying attention to it. It almost seems too suspicious...


GameJam - A Matter of Perspective
Genre: 2D Narrative based game
Target audience:
Age: PG13
Gender: All
Made on Unreal Engine 5
Completed in a span of 3 Weeks
Team of 3
Tasked With Level Design and Technical Design



About
Secrets of Sanois was a 3 person project which was given to us as a GameJam tasked. We had a total of 3 weeks to complete a game which had the theme: A Matter of Perspective. We decided to create a Narrative based game, where the player can interact with the environment and the NPC's in order to discover the hidden truth behind the town of Sanois. For this project, I was tasked with the Level Design and Technical Design aspect of the game.
Synopsis
The town of Sanois has been in the midst of a few disappearances in the past few years. Detective Campbell has been tasked to look over the details of the town and figure out where these missing people ended up. Speaking with the townspeople and interacting with the environment will help you figure out, the Secrets of Sanois.

Mechanics
Interaction System
The interaction system and Inventory system were build in a way that they would integrate with eachother.
Players are meant to progress throughout the games by picking up, droping, giving and receiving items throughout the game. The progression system will be based on the Items that the player will gathering as he goes through the story.

Players are able to enter new areas

Players are able to pick up objects



In order for these systems to work together, I had to create multiple Actor Components which would later be added onto all characters who we interact with. The first one created was the Interaction Actor Component which would focus around the button itself and the Interaction's Trace so we can gauge the area which will be affected.
The objects and characters that will then be interacted with will be added to 2 separate Actor Components. The Item Actor Component will be dedicated to the progression of the game, which requires more information. Using Structs, Data Tables, and widgets, I was able to classify all the items in the game to which it could run smoothly in the game.



Dialogue System
On the other hand, the Dialogue System was more tedius to complete, but was fairly simple to make. I created another Actor Component, tying all the interactions with a Blueprint Interface. It is a multiple choice system, where the player can decide what he says to the NPC. Each dialogue will end with different information.


The Dialogue System was created through a parent Actor Component, which had over 10 different functions, each plugged into the next, in order to figure out which part of the conversation the player is going into. Using Enumarators and Widgets, the conversation would run smoothly, and I could personally change all the text for each character


Switching Between Options using Array's. Using Enumerators for updating the conversion.

Different conversations would lead to different options. Also using branches to check for items. Clearing progression or Switching into the next Int to continue conversations or changing them.
Piano Mechanic
At the end of the game, to complete the puzzle, the player must find the right notes to play on a Piano which will open the door to the final scene. I created a blueprint for the static mesh of the Piano, and gave it the Blueprint Interact. I then created a Widget which has notes that the player can play, and getting the right one will open the locked door.


Level Design
While I did spend more time on the game mechanics, I was also the lead in the creation of the environment, the placement of the buildings, and the placement of the NPC's.
Since we created a 2d game, we used Paper2D for the creation of the TileMaps.
I used backgrounds found on Itch.IO, while the sprites of the NPC's and the buildings were made by my teamates.
I used backgrounds found on Itch.IO, while the sprites of the NPC's and the buildings were made by my teamates.
Here is a quick overview of the map.

The map in the game
