
Mammonite (2019)
Duo Project - Combat Designer
The game
A lone hero in a postmodern city. A world where streaming is rampant, popularity is status, and money is power.
An Unreal Engine school project being made by 2 of us in our final year in Digipen. I was in charge of combat and core design, while my partner was in charge of level design. We used assets from the Unreal Marketplace.
A hack-and-slash action game featuring weighty combat with a strong focus on deliberate choices
An experiment trying to adapt the combat design methodologies of Mitsunori Takahashi, the battle director of Final Fantasy VII: Remake and Kingdom Hearts 2.
Gameplay Footage
Design Process

Key Points I Definitely Wanted While Designing the Combat
One-Button Combat
Rather than expend a player's concentration of executing different attacks and combos, IÂ aimed for combat that was simple in concept and execution to allow more focus on the battle situation.
Distinct weapons and actions
Even with the addition of different weapons, they must all affect battle differently from each other. Not just offer different movesets.
"This is it!" Deliberate moments
Clear opportunities that the player can weigh their choices against. Direction in how they choose their targets.
The Mechanics
The mechanics I worked on to create my desired game feel
Stagger and Direct Damage
Two kinds of damage can be inflicted on enemies:
Direct Damage is regular damage dealt to HP. When an enemy reaches 0 HP, they are killed.
Stagger Damage cannot kill an enemy no matter how much is accumulated, but it is easier to inflict than Direct Damage.
Here's the gimmick:
Upon receiving Direct Damage, all Stagger Damage is converted into Direct Damage.
​
Different weapons inflict different kinds of damage. Different actions such as Parrying, attacks from NPCs; will also inflict different kinds of damage.
​
My motivation behind this gimmick was to create situations for the player can read and act upon, as well as to be able to create those kind of situations with elements outside of the players' control.

An A.I. teammate
An NPC ally that floats around, peppering the enemy with bullets that inflict Stagger damage. Parties where members fight as individuals didn't feel like what teamwork should feel like. So, I pursued the NPC's presence feeling incredibly helpful, but ultimately inconclusive without the player's participation.
​
Admittedly, when I implemented this, it made battles end faster and took away from some of the player's fighting. However, it did create those moments I wanted where some enemies would clearly be more weakened that others, prompting the player to make decisions which enemy to target. I decided it was worth the trade-off.

Making attacks feel good
I aimed to emulate physical feedback the way Kingdom Hearts did it: knocking enemies about with every attack felt simple yet so effective. I also included attacks that streamed seamlessly into aerial combat, and I made sure that enemies couldn't be killed by anything other than a combo finisher. It was a lot more satisfying than enemies dying mid-combo.
​
From the beginning, I planned our scope to have only 2 types of combo-finishers. One on the ground, meant to create space with a huge AOE, and one in the air, used to single out an enemy to batter. It was very important to me that every move served a very distinct, different purpose. As much as possible, I wanted the player to think "In this situation, I want to use THIS move and I know how to use it."
​
I considered making even more fleshed out air combat, but ultimately decided against it. I felt that unlimited actions at any given time contradicted decision-making in favor of random button-mashing. I captured this by resetting the combos only upon landing. This, I felt, created a sense of believability and weight in the combat.

Guarding, Evading and Movement
These mechanics are quintessential to hack-and-slash games. The core of this game's feel is being able to seize opportunity, so I made the momentary Guard not only stun the enemy, but also inflict plenty of stagger damage, rewarding the player for their perfect timing and continuing the flow of attack.
​
It took a long while sifting through many sound resource packs to find SFX that fit. I had to tweak those I couldn't directly use. The sound effect of the successful Guard I'm quite proud of. I wanted something like a "PINGGG!!" with a high-pitched, slightly resonating bass-kind of feeling, but I couldn't quite find a sound like that. By adjusting the pitch and layering 3 different sounds together, I managed to get what I wanted. It made successful parries feel really good!
​
Most of the animations I got from Mixamo. Some worked, others I had to tweak quite heavily in order to deliver that fast-paced "battle feeling". The sprinting animation with the melee weapon is one of them!

A lock-on I could improve on
The one thing that bugged me from start to end was how to implement the Lock-On. It was necessary to use this over reticle aiming because of the amount of knockback and potential air combat this game had, so I definitely had to figure it out. It took 1-2 weeks of tutorial watching and I still struggled with it.
​
At this point, through the hacky use of a long Trigger box, it definitely works better than it did at the beginning, and it works for what it needed to do, but it definitely feels barbaric, hahaha... If I could do a similar project again, with this experience, I'd definitely try to figure out a better way of implementing it.
