Chrysalis

Top-down shoother made by Rolling Barrel Studio , a team of 28 programmers, artists and designers.
Made with with the Hellheim Engine with a sci-fi aesthetic that emphasizes fast-paced combat and delivering a short but polished experience.
I focused on the player's animations and state machine as a programmer and I also worked as a level designer, planning the stucture of the levlels and bringing them to life by adding details and scripts for props.

Summary

The game consists of 3 levels that gradually increase in difficulty and culminates in a boss fight in the last level.
The protagosit, Elios, is set on a quest to recuse his wife, Eury, from the underground cientific facilities she works in, where something has gone awry and the security robots have started to turn on everyone and there are even rumors of strange creatures in the lower levels...

Player's movement

Animations

Following my animation work in the engine, I implemented the first version of the player's movement animation. The player has 8 differnet movement animations, depending on a combination of the keys pressed and the direction the player is looking I defined what animation has to play and its transition times.

State machine

Building upon my work on the player's animation i helped to define the player's state machine: what states are connected with other states, what activates the transitions between states...

The player was split into 2 state machines: movement and attack (bottom ans top parts of the player). From the attack state machine I defined the reload state and its transitions and the shooting behaviour depending on the key input, incentivizing the player to adopt a more engaged approach to their play.

state-machine
Simplified player's state machine
level-design
Part of level 2 in Blender

Level design

Used Blender to design the blockout and the level itself using custom assets made by the artists in the project.
My approach was to design an engaging and rich with detail level that immerses the player in the experience. One of the goals was to give a sense of depth to the level to add complexity to the environment.

Miscellaneous scripts

Following the philosophy used to design the levels, to make them come to life, I designed and wrote scripts for props and objects to add more detail and make the experience much more responsive and captivating. These features are:

Bulletholes

Implemented bulletholes for the player's shooting, which improves the responsiveness and immersion of the game.
This feature relies on setting up proper colliders in the level, which I was in charge of, and calculating the normal vector of said colliders to set the right rotation of the decals used to project the bullets onto the models.
Aside from having a decal, the bullethole gameobject also consists of a particle system to simulate sparks coming from the hole.

Bulletholes apearing where the player's bullet hits
Flickering lights in Level 2

Flickering lights

Integrated flickering behaviour for the lights in the level. This feature enhances the experience by supporting the asthetics of a broken down thecnological facility.
It's implemented by defining intervals of time in a loop (blackouts) where the light is turned off. The script also disables the emissive factor of the mesh renderer components it's attached to, to archive the effect seen in the video example.
The script can also be applied to particle system, to turn on/off looping particles or to repeat non-looping ones.

Moving objects

Created a script to move objects from one point to another to have dynamic elements in the backround of the game. The objects can go back and forth between two points or teleport back to the initial position.
The script also enables the objects to oscillate vertically in a sinusoidal pattern, being able to modify the height and the period of the cycle, to simulate vibration and make the movement more realistic.
Also added particle effects to these moving effects to enchance them visually as it can be seen in the example videos.

Flying drones (top) and hovering robots (bottom)
Security camera following the player

Security cameras

Implemented behaviour for the security cameras in the levels: these cameras follow the player during their playthrough, giving a sense that they are being watched and to substantially build upon the narrative of the game visually.
To make the cameras more realistic the player tracking is slightly delayed and they turn on and off gradually when the player gets close or moves out of range.


Download Chrysalis through this link