top of page

Third-Person Combat Design

Utilizing a terrific collection of marketplace animation and locomotion assets I used Blueprints to script together a combat system prototype focused on two types of gameplay: hand-to-hand and swordplay.

 

The purpose of this project was to better understand the work that goes into crafting these combat systems so I may better appreciate the process and limitations to more effectively collaborate on such mechanics with others. The marriage of animations and scripting work are key elements to a satisfying combat system and now I have a far clearer image of how to accomplish this task.

The locomotion system I used (Advanced Locomotion System V4) has a brilliant blending system for animation that made importing new animations and have them look good while moving a breeze.
 
After this was accomplished I put in place a pivot system to keep the player facing the camera's direction while in combat mode.
The next task was getting a punch animation in with an anchored cast to register hit reactions on the player and enemies. After this was accomplished I gave myself the difficult undertaking of implementing a counter system with paired animations for the enemy's reaction.
 
It wasn't terribly hard to get the animations to play as a reaction, but it took a lot of tuning to get both the timing and placement of the player and enemy NPC looking just right to get that satisfying feeling when pulling it off.
Front Counter
Left Counter
Here you can see the four counters that play when timed correctly from each side of the player.
Back Counter
Right Counter
With most of the basic systems for combat already implemented, I was able to fairly easily attach a sword to my player character and script in the new weapon animations as with the punches before.
 
With this new combat style, I wanted to have an AI that could fight the player as well as parry and dodge mechanics to avoid taking damage. 

Here you can see the culmination of these ideas put into a single fight with the enemy AI.

Hex Grid System and Movement

Having always been a fan of strategy games I wanted to try my hand at creating a grid system from scratch and after researching different tile systems it seemed that a hex grid would provide the most challenge so I pushed myself to work in that format.

 

The purpose of this project was to learn something entirely new in a favored genre that would push some of my weaknesses in Blueprint at the time. Systems that require a very specific and mathematical approach were never my forte so this seemed like the perfect choice of focus.

The first challenge after getting a grid to spawn was being able to have the system recognize each tile's neighbors, a task far easier to accomplish in a simpler square tile grid.
 
With this accomplished, I could now spawn a house object and have a unit be easily spawned on one of the neighbor tiles as shown below.
The next wall that I'd hit was getting a pathing system implemented, after doing my research I decided upon going with A* pathfinding.
 
Being a flexible system and one that could work in a variety of different grid types I figured it would be a good learning opportunity that would have further reaching applications than just this prototype.
bottom of page