Shadow Split
Shadow Split is a short single player adventure game made for the Lost Relic Gamjam on Itch.io.
Play Shadow Split on Itch.io
Gamejam: Lost Relic Gamejam
Duration: 1 week
Team Name: Crimson Alchemy
Team Size: 4
My Roles: Game Designer, Programmer & Developer
Publishing the game on to Itch.Io platform before the Gamejam’s submission time/date.
Programmed a system for the currently controlled character to detect whether they are in a light or dark area.
Designed a system to damage the human when exiting the light zones and the shadow takes damage when entering the light zones.
Created all the games cutscenes such as the intro, first interaction with the relic and last interaction with the relic.
Collaborated with the art and audio team members to balance values for animations, volume levels in game, and cutscenes.
Designed, programmed, and implemented the bird mechanics that carry the shadow player across light zones without taking damage.
The bird also has a state machine that I programmed to transition from idle, patrolling, and returning to idle point when the shadow exits the bird.
I worked on the visual effects for the fire, shadow dissolving and particle effects in the game.
I collaborated with the artist to get the pixel art needed, so I was able to animate the player, shadow, player falling in the pit, bird and cutscenes in the game.
Media
Code Sample & Mechanic Design
Design Problem: The player plays as two different types of characters in the game, a human and a shadow character. I needed to reverse the functionality of the system whether the player was a human or shadow. The shadow takes damage in the light, while the human takes damage while in the darkness.
My Design Solution: I decided to go with a Layermask to serperate the light zones and colliders on the light sources for detecting collision with that later. On the player I made an Enum for Player Type to check is human or shadow and a function that will detect what collider the player is currently touching with. If the player is a human and in a light zone, they will not take damage, if they are the shadow character the will take damage upon entering the light zones.
Effect on Gameplay/Player after playtesting: During gameplay the player starts off as a human learning that darkness is a hazard while light is safe. In the next level the player plays as a shadow and the mechanics are flipped where the dark areas are safe and the light areas are hazards. This brought on a surprise for the players as they did not expect the mechanics to flip moving forward in the game and it kept the gameplay feel quite different but similar to the previous level.
Insanity System Script
This script is to check if the Human character enters the “Insanity Zone” which has a collider attached to the light sources in the game, to stop adding to the insanity bar (which is basically a health bar wrapped in the horror theme of our game). When the player leaves that insanity zone, the script will start counting up until it reaches the max value.
Player Collision Detection Script
This function is a check to detect if the character has entered or exited the “Insanity Zone” (Which is a collider attached to light sources). I created this on the player because I wanted to achieve different functionality whether the player was playing as a human or shadow character. I created a enum to change if the player is a human or shadow, and inside this function it will check what that enum value is during gameplay. The idea was to make the check flexible without creating another whole script for the same type of functionality.