Of A Dark Species

Developed in June 2020

3D Math C++ Gameplay Multidisciplinary Released UE4


bannerImage
Of A Dark Species
Introduction
The Game
My Contribution
        Concepting
        Shadow Movement
        Enemies
        Menu UI
Download
Similar Projects

Introduction

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.


The Game

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.


My Contribution

Concepting

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.

Shadow Movement

Simple diagram & explanation of how shadow movement was implemented

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[br][br]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

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[br][br]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

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.

Enemies

Enemy character using shadow movement to reach an otherwise unreachable target

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.

Menu UI

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 main menu

The pause menu

The pause menu


Download

The game was released on itch.io and can be downloaded there.


Project tags: #3D Math, #C++, #Gameplay, #Multidisciplinary, #Released, #UE4


Similar projects:

GMTK jam 2020: Clown Snatchers Thumbnail

GMTK jam 2020: Clown Snatchers

Keep reading

Betty Falcon's Pro Surfer 1 Thumbnail

Betty Falcon's Pro Surfer 1

Keep reading

Global Game Jam 2021: M&oslashnkey Madness Thumbnail

Global Game Jam 2021: Mønkey Madness

Keep reading

More projects...