C++/C# programmer
Developed in June 2020
For the fourth project of my first year in university, we finally worked in a multidisciplinary team to concept and create a small demo that would be released on itch.io.
My main contribution was in concepting and implementing the main mechanic of the game.
I also did some debugging and UI work when the project needed it.
This was my first team project and I learned a lot about (inter-disciplinary) communication.
Gameplay video
Of a Dark Species is a 3D puzzle platformer where you can walk along any surface using "shadow movement".
The goal is to simply get to the end of the level, but you can also collect the optional fishes, which will follow you until you set them free at the end of the game.
During concepting, I got the idea of the player being able to walk along any wall and ceiling while in the shadow.
Another part of this idea was that there would be enemies that could only walk inside of these shadows, and they would chase you when you move in them yourself.
When you aren't in the shadows, you would be able to pull the enemies out to defeat them, creating a back and forth between being the hunter and the hunted whenever you switch between the two gameplay styles.
Since we were a small team with limited time (just eight weeks), we scoped this mechanic down into what eventually became the shadow movement you see in the demo.
Simple diagram & explanation of how shadow movement was implemented
I was in charge of implementing the main mechanic of the game, which was shadow movement. Shadow movement could be toggled on and off by a simple key/button press when close enough to a compatible surface. When enabled, shadow movement would snap the player to stick to the surface and align the camera behind them so that the controls can remain intuitive in this new perspective. The player could then move along the surface, even around any corners.
The initial prototype of shadow movement
Here you can move along any surface (not just those tagged for shadow movement) and there is no special camera yet. It was used to prove the feasibility and potential of the mechanic
Shadow movement in the final build
Here it only works on the star-material shadow movement walls, the special camera I designed and implemented was added, and the player's appearance changes
After the team struggled with the camera for shadow movement, I eventually implemented a prototype of what I thought would be a good idea for it. This ended up being the final camera that you see in the demo. It is aligned with the surface the player is currently on, which allows for more intuitive controls (since they are just forward, left, and right from the camera perspective), and the transitions help the player to understand where they are in the larger space.
Enemy character using shadow movement to reach an otherwise unreachable target
Although they didn't end up being used because we misjudged our level design capacity, I also worked a lot on implementing enemies that could also use shadow movement in their pathfinding.
I was able to use Unreal engine's smart links to let an AI character know they could use shadow movement to go from one spot the navmesh to another.
I could also use this to make them enable shadow movement and move towards their target.
Although this got us a long way to enemies using our special movement system, it didn't work very well as soon as the enemy was on the wall, since there is no navmesh there.
In this implementation, the enemy would simply move straight towards their target.
In a perfect world, there would have been a custom navmesh generator here.
Something more feasible to make this work better could have been to define certain points on any surface that could form a sort of graph that the AI would move through to create paths along the surface, though this would add more level design overhead.
Although it's a relatively minor feature, it was still essential to have controller-supported menus.
To make it visible to the player which menu item is currently selected, which wasn't necessary before controller support was added, I decided to make the text glow.
The main menu
The pause menu
The game was released on itch.io and can be downloaded there.
Project tags: #3D Math, #C++, #Gameplay, #Multidisciplinary, #Released, #UE4