
Dark Fantasy Horror Game (Unannounced)
The game is a dark fantasy horror RPG with turn-based combat that is designed to be highly replayable. You play as a torchbearer leading people through the forest where darkness slowly creeps closer and shadow monsters lurks, ready to strike when darkness reaches you. There is a mysterious corruption plaguing the villagers and through exploration and combat you have to find out what is causing the corruption and how to defeat it.
Role: Programmer
Responsibilities: I setup the start menu with animation and navigation to the first scene in the game. I also implemented the main mechanic of the game which is a darkness effect creeping closer to the character when he explores the forest and I made a transition to a combat scene when the darkness enculfs the player. I implemented a follow system for companion characters so they mover closer to the player as the darkness moves closer. I also implemented a simple shop interface and a tool-tip system when hovering items in the shop. Elaboration of all features are described in details further down this page.
The Start Menu setup is a portrait of the main character with flames in the background. I animated the flames to move slightly using the Unity animator and animation controller. I added a script with a boolean variable to the start button which would either load the the scene or show a black background with fading in text blocks so the director can easily decide which intro to use.


I added a darkness controller to the darkness particle effect which controls the speed of how fast the darkness engulfs the player. I exposed the variables in the inspector so our writer and designers can test the feature easier. The darkness effect was implemented in collaboration with another programmer. He implemented shaders and safzones in the darkness effect and I implemented the interaction with the darkness and the safezones. When entering the safezones the darkness will be pushed back a percentage and when the player is engulfed by darkness it loads a combat scene additively to the forest scene and using cinemachine cameras I show the combat scene. I also deactivate the player character and the darkness in the forest scene while in combat and I reactivate it when we exit combat.
The items in the shop are ScriptableObject with variables holding the image, name, description and cost of each item. To buy the item I implemented a function to fill the image when holding down the mouse button on the image. This is to avoid having an extra confirmation button to avoid accidentally buying an item. When the item is bought it is removed visually from the shop and the currency are subtracted from the full amount of currency shown in the top left corner of the shop. When opening the shop and when you bought an item all items cost are calculated against the players currency amount and if an item is not affordable the cost number is colored red. If you attempt to buy the item anyway it will play a shake animation indicates you cannot buy the item. The animation is made using unity animator and animation controller. A tooltip will appear when hovering the item showing the description of the item found in the ScriptableObject.

To make the companion character follow the player character added a script to the companion which changes the companion’s navmeshAgent’s stopping distance based on the darkness value. When darkness moves in, the stopping distance decreases. The companion has a max and min stopping distance to make sure the companion is always close by – but not too close.