top of page

METROIDVANIA

BlueBack.png
BlueBack.png

DESCRIPTION

Metroidvania Project is a metroidvania game that is still in development. Currently in the pre-production phase, creating the base system for the game to build upon.

The game is centered around a key weapon that can be used to fight enemies, traverse the environment (using grapple-like movement) and unlock new paths.

ROLES

Game Design
Technical Design
Programming
Narrative/World Design

SKILLS LEARNED

- C# Programming (in Unity)
- Unity UI
- Unity Animation Graphs
- Unity Particle Systems

YEAR

2023 - ???

PLATFORM

PC 

Team Size

2

GENRE

Metroidvania

RollingEnemyGIF.gif

Surrounding Movement

Gamepad Aiming Prototype

Gamepad Aiming Prototype

Gamepad Aiming Prototype

UI Health & Energy

For creating the UI I first implemented some designer art (that is now replaced with higher quality art). I came up with the concept of locks for hearts and the animations of it opening and implemented it using scripting.

For the energy I knew we used the key so I implemented a system to fill bars in the key and change colors of filled bars. I also added functionality to charge energy and release it. Lastly I added other animations that we needed for the key, like gaining energy, full energy and burst explosion of energy.

UIShowcaseSmall.gif

Enemies

First a base enemy script was created by me. In which health, taking damage and death is handled.

Next I worked on ground movement, an idle state for the enemy was implemented along chasing logic that allows the enemy to follow the player. The enemy does not fall off edges and turns around walls while idle, but does chase the player if possible off edges. This enemy was created as a base for other enemies to use so development of enemies would go faster in the future.

ezgif.com-crop.gif

On the right is a rough implementation of the base attack logic that allows enemies to attack using animations and hitboxes. There are some rough animations in there made by me to illustrate a possible attack for enemies.

On the right is the base of a flying enemy complete with movement, idle and attack logic. This is a base that uses the base enemy logic but not the base ground enemy logic. This allows the use of general enemy functions while not needing ground specific logic.

Here is a variation of the ground enemy. This enemy drops from the sky (or tree as concepted at the time). When it lands it rolls to the player, colliding with it or a wall. When colliding it bounces and resumes normal attacks until the player disengages.

RollingEnemyGIF.gif

Level

After doing research into dynamic tilemaps I succesfully created one using some basic art assets I made. It will be easy to create future dynamic tilemaps now which will increase efficiency of creating levels.

Next we needed a way to transition between levels. I created a level transition mechanic that can bring you to another level (and store some temporary variables) at the right spot.

Inside levels there were going to be hazards. In order to not have the player get stuck on them it was decided to be best to respawn the player when getting hit by those hazards. The system relies on some hitboxes that track last safe location.

bottom of page