top of page


Genre: Side-scrolling Adventure Game

Project Role: Physics Programmer, Gameplay Programmer

Team size: 11

Platform: PC

Engine: Custom C++

What is it?

In "Abyssal", you play as a woman from a coastal fishing village. A darkness has taken hold of the surrounding waters, so she takes it upon herself to delve deep into the ocean. As she explores the caves and tunnels below, she discovers a dark mutation that has taken hold of all marine life. As she fights the mutated creatures, she herself begins to mutate and uses these newfound strengths to once and for all rid the waters of the darkness.

If you are interested in playing this game, the installer can be found here.

What did I do in this project?

For this project, my primary contributions were implementing the physics and particle systems.

The physics system supports basic kinematics, including friction and gravity. For our collisions, I implemented two types of collider using simple AABB collision: segment and circle collider. The collision system is designed to allow designers to draw consecutive segment colliders within a custom collision channel.


The particle system supports custom emitters and particle generators. Due to this, we could support any kind of particle effect; I used it to generate water flow and jets of bubbles from oceanic volcanic vents and from the player character to show their breath.

Outside of those systems, I also developed the Inno script used to build the installer for the game.


What went wrong?

During the project, the tech team focused too much on implementing what we wanted, so we didn’t give the designers the editor in time for them to fully implement their design into the game. 

What went right?

The physics system performed well and made the player character move smoothly. The particle perfectly decorated the environment, which made our art assets more graceful.

bottom of page