Metroidvania Project (name TBD)

A retro styled Top-Down Survival Horror Shooter

Made in Unreal.

Early in Development

Programming

Inventory System and Twin Stick Aiming

This is an early proof of concept example for the Game Flow where the player will navigate the space and discover interactable items that are accumulated in their inventory. 

 

The inventory is limited and requires the player to manage the space themselves as inspired by the Resident Evil Franchise.

 

Equipped weapons change the players animation states and provide different uses for exploration. 

Vision based wall transparency

I created a way to dynamically adjust the transparency of walls so the camera can see behind them to show hidden objects or enemies, based on the current line of sight of the player character.

 

 

The visible lines are Line Traces and they determine if the player has a direct line of sight to walls that are obstructed by the camera.

 

 

Red lines are failed traces as they came in contact with an object blocking the target.

Green lines are successful traces that determine nothing is in the way blocking the players view of the target.

 

Animation State Implementation

Using Blend Poses I adjust and swap the current animation state machine for the player to be using the appropriate animations on their torso based on the current equipped weapons integer value. This way it can be easily updated based on the number of weapons present in the game.

Accompanying Weapon Combat and Animation Code

Tool Creation for Level Designers

This is an example of one of the tools I made to be used by the Level Designers where they can easily swap the type of an item and the mesh and relative values are updated automatically.

For example these primitive shapes each represent a different item type that the player can pick up.

By changing the item type from the list, the model and scripts are updated automatically while still keeping the objects position in world space. Other available values that can be adjusted are the size of the item according to the players inventory space, as well as the relative values such as damage and healing. 

This is to allow for easy balancing and exchanging of items in world space.

Seed Based Item Randomizer

This is an example of a Item Randomizer I made to add replayability to the game where the player will be able to adjust the level of extent they want the game to be randomized too. 

 

They can randomize specific pools of items amongst themselves, or combine them all into one all encompassing pool. As well as the control of having an editable seed where the player can recreate the randomness for themselves or to share with others.

Level Design

First Floor Map & Basement Map

I designed the layouts of the first floor and basement which make up 2/3 of the games floors. As the game is in the style of a Metroidvania designing with backtracking and problem solving in mind is crucial.

 

 

The First Floor is the players introduction to the game and although multiple paths are visible to the player there only exists one current means of progression. The other doors are locked and hallways obstructed. In order to progress further on this floor the player will have to return later with keys or found abilities to clear a path.

 

The Basement is a late game area with the sole purpose of solving a puzzle by collecting discarded fuse’s to unlock a powerful weapon and progress to the final area afterwards.