Skip to content

Maker's Academy - Final Project - Open-world battle game built with Unreal Engine 4

Notifications You must be signed in to change notification settings

BenSheridanEdwards/Makers_Paladins_Path

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Makers Academy - Week 11 & 12 Final Project

Paladin's Path - An Open-World Battle Game (Made With Unreal Engine 4)

Overview | Approach | Progression | Features

Story | Level Design | Player Hero | Enemy Golems

Hero Blueprints | Golem Blueprints | Golem AI


For our final project, our team decided to build a game that would allow us to utilise the programming skills we learnt at Maker's Academy, whilst also exposing us to the game engine Unreal, a leading creation tool used by gaming companies across the globe.

Our original goal with this project was to create a turn-based battle game, where a hero fought against enemies using elemental projectile spells. But as we approached the end of the first week, we decided to pivot the core mechanic of our game to the more contemporary open-world style of game - Where players could freely move around, encounter enemies in different environments throughout the world, and then battle using a dynamic targeting system with a combination of physical and ranged attacks.

Maker's Academy teaches us to take a very methodical approach to building a program. Using test-driven development, we were able to visualise the features we wanted to create, create an environment to run our test, setup the variables needed, expect an outcome, and then work towards passing that test in the simplest way possible.

Early Stage Test An early-stage view of us testing two core mechanics - projectiles and damage

We focused on using agile methodologies throughout the project, organising ourselves with daily stand-ups and retrospectives to ensure we were always aligned and prioritising well at all times. We reviewed each others code before every merge, ensuring that all our tests were passing and we had high coverage of all our features and user edge cases.

During our planning process, we created a simple mockup of the map the player would traverse. We planned on having 3 battle zones and a boss zone, indicated by the circles of sand on the left-hand map below.

Early Map vs Final Map Map Creation: Day 1 Outline & Final Map

Our final map on the right follows a very similar design pattern. Players start in the upper-central forested area and make their way through the smoke into a fire-lit cavern, the first battle zone we envisioned. After defeating several enemies in this zone, they move deeper into the rocky cavern to the next battle zone, where they encounter several similar enemies but of a different type. The third battle zone is located amongst frozen wooden huts in the bottom-right of the map. This is the final zone and enemy type the player encounters before moving to the boss zone, inside the castle the player first sees in the distance when they start the game.

During our planning process, we also outlined many features we wanted to include in our game, which I've listed below. The list shows all the features we hoped to implement into our game, and this list will be updated regularly to indicate the features that are finished and implemented into the game, the bugs still present, and some additional features we'd love to implement in the future.

Core Level & Game Mechanics

  • Open-World Map with multiple environments
  • Health System for players and enemies
  • Magical attack spells that vary in effectiveness against different types of enemies
  • Dynamic Targeting allowing players to lock-on to nearby enemies and switch between targets.
  • Player respawns upon death

Player

  • Player health bar that changes colour and size depending on the amount of remaining health points
  • Players can cast magical attack spells inspired by the elements of Fire, Ice, and Rock
  • Players have a physical attack that deals a fixed amount of damage
  • Players can use a physical combo sword attack (Animation)
  • Combo attacks multiply attack damage
  • Different attack animations for physical and ranged attacks
  • Blended movement and attack animations

Enemies

  • Enemies have AI that allows them to move randomly within a designated area
  • Enemies have AI that allows them to follow a patrol path of set points in a designated area
  • Enemies have AI that allows them to see the player when they're in the enemies line of sight
  • Enemies chase and attack the player upon detecting them
  • Enemies have a simple physical attack that deals a fixed amount of damage

Bugs We're Squishing

  • Combo attacks not working as expected in terms of damage output
  • Overlap with a dead enemy body causes them the mesh to stand upright and then fall

Additional Features For The Future

  • Player has different animations for each spell
  • Enemies have multiple attacks
  • Enemies have more advanced AI - More senses, able to raise alarms, and alert other enemies when the player has been detected
  • Enabling VR controls

Story | Level Design | Paladin Hero | Enemy Golems

In Paladin's path, you'll move through an open-world with different environments for you to explore. Your goal is to reach the stronghold castle in the distance, where a powerful enemy awaits you:

Along your path, you'll encounter enemies, called Golems. Golems are magical being made of inert matter like rock, fire, and ice. That have been animated to life by mysterious forces.

In Paladin's Path, you'll be guided through multiple environments as you make your way through our world:

  1. The Forest
  2. Fiery Cavern
  3. Dark Cave
  4. Snowy Village
  5. Castle Stronghold

Movement | Targeting | Health | Physical Attacks | Magical Attacks | Death & Respawn

You can move around with either A(Left), W(Up), S(Down), D(Right) or the directional arrows on your keyboard. You can also jump by pressing the space bar.

The player can also use dynamic targeting, which allows a player to lock-on to the nearest enemy using (T), and switch targets left or right using the (Q) and (E) keys respectively.

Targeted enemies are shown by a glowing red ring at the targets feet

The hero starts out with 100 health points. Golem attacks deal 10 damage, so decrease your health by 10% for every hit. As your health points decrease, the health bar next to the hero's head will both deplete and change colour from green to amber to red.

As a Paladin, you have a sword to defend yourself against the enemies you face on your journey:

Sword Slash

A single slash of your sword is an effective way to deal damage to your enemies. A single slash deals 20 damage points.

Press [4] to slash with your sword

Sword Slash Combo

Sword slashes can be chained together to multiply their attack power. 3 successful sword slashes will add 40 bonus damage points to your attack.

Quickly press [4] three times to unleash your sword slash combo attack

As a Paladin, you can also use magic. You have three spells, fireball, ice shard, and boulder.

Fireball

Fireball is a fire-type attack that hurls a ball of fire at your target, dealing 20 damage points. Fireball is weak against earth-type enemies, dealing a reduced 15 damage points, and strong against water-type enemies, dealing a boosted 30 damage points.

Press [1] to cast Fireball

Ice Shard

Ice Shard is a water-type attack that shoots a high-speed shard of ice at your target, dealing 20 damage points. Ice shard is weak against fire-type enemies, dealing a reduced 15 damage points, and strong against earth-type enemies, dealing a boosted 30 damage points.

Press [2] to cast Ice Shard

Boulder

Boulder is an earth-type attack that hurls a rock straight at your target, dealing 20 base damage. Boulder is weak against water-type enemies, dealing a reduced 15 damage points, and strong against fire-type enemies, dealing a boosted 30 damage points.

Press [3] to cast Boulder

In Paladin's Path, when you die, you immediately respawn at the beginning of the level, ready to continue your journey.

Golem Types | Golem AI

Along Paladin's Path, you'll encounter a variety of different environments where you'll meet different type of golems. Recognising each type is important, as each of your spells deals varying damage depending on the type of golem you're facing.

Fire Golem

Image of Fire Golem

A Fire Golem's skin is made of molten rock, softened from the heat emanating from their bodies. Because of this, the hero's boulder spell is very effective at disfiguring their bodies shape as well as smothering their flames. The hero's ice shard, however, spell melts before it can pierce it's skin, causing it to less effective.

Image of Fiery Caverns & Marked Map

Fire Golems are found in the fiery caverns between the forest and caves of Paladin's Path.

Ice Golem

Image of Ice Golem - Tagged

An Ice Golem's skin is made of thick shards of ice. Because of this, the hero's fireball spell is very effective at melting their bodies, turning them to slush. The hero's boulder spell, however, freezes before impact and shatters against their dense icy bodies, causing it to less effective.

Image of Snowy Village & Marked Map

Ice Golems are found in the snowy village between the caves and castle in Paladin's Path.

Rock Golem

Image of Rock Golem - Tagged

A Rock Golem's skin is made of dense boulders that grind against one another as it moves. When the hero's ice shard spell freezes these boulders just before the moment of impact, allowing the force of impact of the shards to shatter the boulder to pieces making it a very effective spell against them. The hero's fireball spell, however, doesn't have anything to burn or melt on their rocky bodies, causing it to less effective.

Image of Caves & Marked Map

Rock Golems are found in the dark caves between the fiery caverns and snowy village in Paladin's Path.

Golems out in the world are known to have in one of two different ways. They either move randomly within an area or move between spots on a patrol path.

When a Golem sees the hero, they immediately begin chasing the hero, and when they're in range, they attack!

Hero Blueprints | Golem Blueprints | Golem AI

Player Movement

Game Movement Blueprint

Dynamic Targeting

All credit for this targeting system goes to Grzegorz Szewczyk, whose targeting system we purchased on the Unreal Marketplace. The red targeting ring is our own addition.

You'll find Grzegorz's dynamic targeting system here.

Physical Attacks

Magical Attacks

In our blueprints, our spells are separated into their respective skills of fire, ice, and rock. Each playing an animation when cast, and then releasing the spell towards the direction the player is facing.

Launching the spell projectile

Death Animation

Receiving Physical Damage

Receiving Magical Damage

Health Bar

Melee Attack

Receive Physical Damage

Receive Magical Damage

Death Animation

Golem Behaviour Tree

Golem AI

Moving around the world randomly

FindRandomLocation

Patrol Path

Follow patrol path

FollowPatrolPath

Find next path point

FindPathPoint

Incrementing to the next path point once a path point has been reached

IncrementPathIndex

Decrementing down the same patrol path backwards once the patrol path has been completed

DecrementPathIndex

Loop back to the patrol path start once completed

LoopPath

Finding and chasing the player

Detecting the player

CanSeePlayer

Finding their location

FindPlayerLocation

Chase the player

ChasePlayer

Attacking the player when in range

Detecting if the player is in range

IsPlayerInRange

Melee Attack

MeleeAttack

Check out our one-minute cinematic trailer on YouTube:

If you know a way to host our game online for free so everyone can play, message me on LinkedIn

About

Maker's Academy - Final Project - Open-world battle game built with Unreal Engine 4

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •