top of page

PROJECT: ARPG

A solo project developed at Futuregames as my graduation project. I wanted to challenge myself with a Top Down Level Design. I also wanted to create a project by myself to see what my limitations were and how much I could learn and develop in 3 weeks.

Length

3 Weeks

Genre

Top Down

ARPG

Team
 

Solo Project

UELogo.png

Unreal 5.3

Blueprints.png

Blueprints

Assets

From Epic Games

Character Model, Animations & VFX

Paragon: Shinbi

AI Models, Animations & VFX

Paragon: Minions

Environment Art

Paragon: Agora and Monolith

Terrain Material

Quixel

Vision

I aimed to create a Top Down Level Design with focus on verticality, encounter spaces, combat, level & ability progression. My main inspiration for the Level Design were Diablo 3 & 4 and Lost Ark. I also took inspiration from their level and ability progression.

Level Design

Levelmap To Blockout To Dress

LevelMap.png

I wanted to add the verticality in the map as well as encounter spaces and where the player would level up. I also wanted to use the verticality to show players treasures (which would become pickups) before players could get to them to encourage exploration.

TopDownView.png

For the blockout, I would need to deviate from the level map to ensure that the verticality did not disturb the camera. I would also add more paths to make the player able to see down from the higher verticality. I also added more enemies to make the player gain more levels, get their abilities earlier and feel stronger when they encountered the boss.

ModularKit.png

To make the blockout, I created a modular kit (walls, floors and ramps). It allowed me to cohesively create the gameplay area and design the encounter spaces. I could also add in verticality without too much complexity. I later on decided to keep the walls hidden in game and making them non-clickable. It allowed more freedom for the player to move around and gave them more vision. 

Second1.png

I would then Level Dress using the blockout as the base. This allowed me to still use the blockout for movement while keeping it hidden. 

Fourth1.png

An important aspect for the level was to show the player in advance a treasure they could pickup. I wanted to encourage exploration and later create separate paths that the player could choose to take. I also added a teleporter to bring players to the main path to remove unnecessary backtracking.

Fifth1.png

In this fork, I noticed players would often take a left rather than a right, missing out on a skill point pickup. I did not want to force players to take a right, rather I wanted to incentivize them. Therefore, I placed a few enemies on the right side. Most players would have a "ooh piece of candy" moments and walk to the right which would lead them to falling down and allowing them to get a pickup.

When players were on the path leading to the boss, they could see down from the higher verticality to give them a sense of the scale of the level. Players would also get a feeling of accomplishment as they looked back on what they had already passed through. 

Boss1.png

Boss Room

Ability Progression

To give a sense of progression, players would unlock abilities when they leveled up. They also gained more health and mana regeneration.

From this section and below are all the blueprints that I created.

(Blueprints for Levels, Ctrl + Scroll to Zoom, Right Click to Drag. You can also press Fullscreen on the top left to see it entirely)

Melee Attack

Basic Attack, Learned from Start

(Blueprints for Melee Attack - First is on the Player - Second is a BP that spawns (hitbox) that deals the damage)

Wolf Attack

Second Attack, Learned Level 2

(Blueprints for Wolf Attack - First is on the Player

Second is a BP that spawns an AI that runs, aggroes to enemies and deals damage)

AoE Attack

Third Attack - Learned Level 3

(Blueprints for AoE Attack - First is on the Player

Second is a BP that spawns a sphere on the player (hitbox), stuns enemies and deals damage)

Dash

Basic Ability - Learned from Start

(Blueprints for Dash - On the Player)

Ultimate Ability

Fourth Ability - Learned from defeating the Boss

(Blueprints for Ultimate Ability - On the Player)

Talent Tree

To further the sense of progression, players would also gain skill points from level ups and pickups. Players would be able to spend them on a Talent Tree to further increase the power of their abilities.

 

I wanted the players to make their own choice and allow them to have their own playstyle. Players could upgrade their Melee, Wolf, and AoE Attack. Spending 3 points on either would also unlock a special power for that attack. 

Talent Tree.png

(Blueprints for the Talent Tree - On the Player)

(Blueprint for the Skill Point Pickup)

Melee Attack Upgraded

Spending 3 skill points into the Melee branch unlocks life steal on melee attacks

Wolf Attack Upgraded

Spending 3 skill points into the Wolf branch unlocks spawning double wolves

AoE Attack Upgraded

Spending 3 skill points into the AoE branch unlocks triple explosions

Player Attributes

Player Health, Potions & Taking Damage

(Blueprints for Taking Damage, Gaining Health, Gaining and Spending Health Potions, Dying & Reviving - On Player)

(Blueprint for Health Potion Pickup)

Player Mana, Regen & Spending

(Blueprint for Regenerating Mana and Spending Mana - On player)

Rotation Towards Mouse

(Blueprint for an Event to Rotate Player Towards the Mouse - On Player)

To allow the player a little bit more freedom and faster combat, I implemented a rotation towards mouse event. This event is called on other blueprints, main use being on the melee attack. This allows the player to be able to move and attack in opposite directions.

AI & Boss Design

Enemies.png

I created 3 different AI's

Two Melee Variants - Normal & Strong

Two Range Variants - Normal & Strong

One Boss

Melee AI Behaviour

EnemyBehaviour.png

To start off, I created a flowchart of the most basic level of the AI Behaviour.

The AI uses a sphere to detect the player. 

If the AI does not detect the player, it will roam around randomly in the navigable area.

If player gets into the sphere, it will start chasing the player. 

If the player is close enough to the AI, the AI will attack the player.

AIBehaviorTree.png

(Behaviour Tree for the two Melee AI's)

(Blueprint to Attack the Player - On the AI)

(Blueprint to Detect Player (Overlaps) - On the AI)

(Blueprint for Stunning the AI - On the AI)

(Blueprint for the AI taking damage - On the AI)

Range AI Behaviour

The Range AI was created as a child of the Melee AI, inheriting most of the behaviour. However, I would change its behaviour tree to fit its Ranged functionality.

AIRangeBehaviourTree.png

(Behaviour Tree for the two Range AI's)

(Blueprint for Attacking the player - On the Range AI)

(Blueprint to Rotate Towards Player - On the Range AI

To ensure the AI Rotates correctly to the player when attacking)

Boss Behaviour

The Boss AI was also created as a child of the Melee AI.

It inherited most of the behaviour, however I changed its behaviour tree and added more functionality to create the boss fight.

BossBehaviour.png

(Behaviour Tree for the Boss AI)

(Blueprint for the Boss AI to use its Aoe Stun Attack - On the Boss AI)

(Blueprint for the AoE Stun Attack Hitbox)

Gets Activated when Boss is at 50% HP
(B
lueprint for the Boss AI to use its Charge Attack - On Boss AI)

(Blueprint for the Charge Attack HitBox)

(Blueprint for the Boss AI taking damage and events based on taking damage - On Boss Ai)

(Blueprint for events based on Boss Health - On Boss Ai)

(Blueprint for Boss overlaps and resetting if player dies - On Boss Ai)

Hazards

I also created Hazards that were placed in the level. 

Static Shooters

(Blueprint for StaticShooters)

(Blueprint for StaticShooter HitBox that deals damage)

Spike Traps

(Blueprint for Spike Traps)

What I have Learned

Creating a top down level using verticality is... quite challenging, but it was a fun challenge to tackle. I needed a different thought of process when trying to show points of interests from a top down perspective. Leading the players also needed a different approach than a first- or third-person camera, as the player had much more of the camera space to wander around. 

Verticality was also tricky for the camera. I wanted certain objects to show in the camera that were closer to the camera but still feel distant from the player. Therefore, I had to understand the metrics and distance of objects that I could place out in a higher verticality. Otherwise, objects might have blocked the cameras vision and make the players disoriented. 

I have also gained a deeper understanding of blueprints. I am happy that I managed to create the amount of work in the short amount of time I had. This project has definitely made me more confident with visual scripting.

I also learned a lot about AI and that it is hard to get the intended behaviour. The AI needed to work well for the fast paced level I wanted. It took the most time to polish and get a good feeling for, especially the boss with its two main mechanics. 

bottom of page