Born To Rise.

Unreal Engine 4

September, 2022 - In development

2.5D platformer with a strong focus on combat and a dark atmosphere built in Unreal Engine 4. (Work in progress)

Alpha state of the game.

Preproduction documentary.

This is the final project of my HND in Videogames Programming at ESAT. It is a 2.5D platformer that is being developed by a multidisciplinary team of 7 programmers, 6 artists and 3 game designers. You can follow the game progress at @BornToRiseGame.

This project tries to be a very close approximation of how a video games studio works. We have tight schedules with deadlines and milestones such as prototype and first playable. We work under an adaptation of the scrum methodology where we have weekly sprints. Each sprint begins and ends with a meeting where we assess the progress of each department and how well are we reaching our objectives.

The most important aspect of this project is the communication both between peers of your own team and between teams. Constant communication with our fellow designers and artist is key to have a smooth development and to better iterate on the game.

The repository of this project is private but code snippets may be given to anyone interested in its implementation. Contact me for more information.



What I did

Combat system and player mechanics.

I was one of the people in charge of creating the player combat actions, which were: melee attack that knock enemies back, main range attack that fires a spray of bullets and secondary range attack that fires a powerfull wave that deals heavy damage and passes through enemies.

I was also in charge of the HealthComponent that the player and the enemies shared. This ActorComponent tracks the health of the Actor and handles the Actor death and reviving through delegates. Along with the HealthComponent, I implemented an interface to be used for all the Actors that could be damaged, called IDamageable, so that taking damage could be abstracted from the actor and handled directly with the HealthComponent.

Another feature involved with the combat system was the knockback and hit stop of the player and enemies. Whenever the player is hit or when the player attacks an enemy with the melee attack, the damaged Actor is knocked back and both actors are stopped for some frames to give more impact to the action.



Dash ability of the player.

The dash is an Actor Component that provides the Actor with a dash. It can be added to any actor that needs a dash ability. The dash launches the actor in a given direction, removing the gravity force for the duration of the dash. It also grants invulnerability for a period of time. So it can be used to dash enemies, bullets or hazards. It also has a cooldown to avoid spamming the dash. This cooldown is reseted after a period of time or if the Actor hits a wall, platform or the ground.



Breakable platforms.

This platforms break on contact if you step over them. When a hit is registered in the platform, a timer is set to display the OpenPlatform animation. In this animation, an AnimNotify event is dispatched to remove the collision of the platform and to begin another timer for the cooldown before it restores its natural state. Then the ClosePlatform animation is played, with another AnimNotify that restores the platform collisions, returning to its initial state.



Spline meshes.

I created a blueprint that constructed a spline mesh with static meshes for the designers and artists to use. You can specify if the spline has collision or not and specify which type of meshes to use for the initial and final sections as well as the mid sections. You can add more than one type for each section and the spline mesh will select a random static mesh from the sample given.



Other features.

  • Bullet pool subsystem used by all the Actors in the game that shoot bullets.
  • HUD class and Widgets for the Pause Menu and for the in game HUD.
  • Gameloop (player death, level restart, level end...) and checkpoint system.