Ben Mowry

Ben MowryBen MowryBen Mowry

Ben Mowry

Ben MowryBen MowryBen Mowry
  • Home
  • Team Projects
    • The Descent
    • PUPPIT
    • Faded Path
    • Treacherous Totem
  • Solo Projects
    • Armor
    • A Little Walk
    • Polygonal Pummel
    • Cubic Adventure
  • About Me & Resume
  • More
    • Home
    • Team Projects
      • The Descent
      • PUPPIT
      • Faded Path
      • Treacherous Totem
    • Solo Projects
      • Armor
      • A Little Walk
      • Polygonal Pummel
      • Cubic Adventure
    • About Me & Resume
  • Home
  • Team Projects
    • The Descent
    • PUPPIT
    • Faded Path
    • Treacherous Totem
  • Solo Projects
    • Armor
    • A Little Walk
    • Polygonal Pummel
    • Cubic Adventure
  • About Me & Resume

Armor

The Project

A project built from scratch in Unreal 5.2 to practice and broaden my knowledge of design, Unreal Engine, and engineering.


Armor is a passion project prototype inspired by From Software's Sekiro: Shadows Die Twice. The player takes control of a fallen knight's armor to save its kingdom. I took the opportunity to design my own combat system revolving around blocking, parrying, and a posture system.


As the only person working on the project, I got to broaden my horizons and dip my toes into other aspects I hadn't before such as AI programming, rudimentary character animation, and system design.


If you're interested in more of the details and want to hear my thoughts during the project's inception and construction, I go into more detail further below.

The Data

Role(s):

  • Full Stack Developer

Dates:

  • Dec 2023 - Oct 2024

Tools Used:

  • C++
  • Visual Scripting/Blueprints
  • Blender

Engine:

  • Unreal Engine 5

Team Size:

  • Solo

Behind The Scenes

Combat

The main combat loop of Armor revolves around a more aggressive playstyle of an exchange of blows. 


Players may opt to attack, dodge, block, or, with good timing, parry. Blocking will enable players to fend off enemy attacks and prevent all health damage. A well-timed block will parry an enemy's attack as it lands, building "Posture Damage" in the process. 


Filling up an enemy's posture bar will allow the player to execute a takedown that is an instant kill. This system is reciprocated on the player to prevent them from "turtling" behind their block for too long, and once filled will stagger the player leaving them defenseless for a few seconds.


While not showcased above, I also implemented perilous or unblockable attacks on the technical side. These attacks cannot be blocked and require additional action from the player. The three attacks implemented include Thrusts, Sweeps, and Grabs. Thrusts must be dodged into where the player will perform a counter, sweeps must be jumped over, and grabs must be parried or dodged.

The enemy AI is a very basic setup of a Wandering, Chasing, and Attacking state. If given a patrol path spline the AI will follow that path indefinitely until it finds a target to pursue.


When attacking/chasing, the AI will gauge the distance to its target before consulting its valid attack combos, a system I will cover in a subsequent section (to the right). The AI will attack its target until the target dies, the AI itself dies, or the target evades detection by breaking line of sight for an extended period.


Going forward I'd like to flesh out the intricacies of combat and allow the AI more options in engagement. I've implemented basic communication between allied AI to allow coordination. While one attacks, others will recover if needed or flank and attempt to surround the player. Adding individual "skill" levels to the AI will help dictate their ability to block or parry incoming player attacks is something I hope to incorporate as well to make enemies feel more alive and unique.

Systems were a joy to make being a solo designer because I got to expose everything I needed to. System design and implementation took up most of the project time to allow experimentation and refactoring, but I am very happy with how it turned out in the end.


The interface above is the combo system for enemy attacks. I developed this (and all my other systems) with other people's use in mind to make it as easy to use as possible. The Combo System allows me to set attacks for any enemy in a few clicks, just slot in the attack animations, plug in the attack stats (such as damage), and the "rarity" of the attack.


This allowed me to iterate on enemy attacks, so if I wasn't quite happy with how something looked, felt, or played out I could change it in a minute and be back to testing.

I am by no means a UI designer, but I took it upon myself to dip my toes into roles that I had not experienced before. I did so since I needed to for the project, but also to become more aware of what was required of those roles.


I've gotten to try a bit of modeling, animating, and rigging alongside intricate system design and my first hand with enemy and AI design. It has been a great experience to get to know various roles at a surface level and a pleasure to iterate upon and watch that work grow and improve.

Overall I'm pleased with how the project has turned out. I set out wanting to make my little version of Sekiro and I believe I nailed all the basics while also getting some great experience all around within Unreal.


There are some aspects I wish to continue to flesh out such as AI, and this will still act as a passion project I will poke at on the side. 


I truly believe that with a larger team, this project could bloom into an amazing game for the world to enjoy, but until then I'll just have to hone my skills to help make that and other projects a reality.

  • About Me & Resume

thebenmowry@gmail.com

All content and trademarks property of their respective owners.