Tooth And Nail
Assignment: Personal project!
Role: Combat and Enemy Designer
Engine/Tools Used: Unreal Engine 5
Team Size:
Development Time: 9 weeks
Overview
Tooth and Nail is a solo project I started to build combat and enemy design skills. The game is centered around throwing nails at your enemies from a distance, and then finding the perfect moment to close in and strike them with your hammer, dealing extra damage to the target for each nail stuck to them.
I am the only person working on the project, so it lacks art and doesn’t look finished, but it serves its purpose in showing off my combat and enemy design skills, and leaves room for me to continue development.
Design goals
Design a character with a full and engaging combat focused move-set
Implement 3 enemy types and a boss battle
Make the combat design and enemy design work together seamlessly
Showcase the outcomes in a high-intensity arena setting
Combat Design
For this project I wanted to emulate two different departments working together on the same project, in doing so I decided to start by finishing up the character movement, mechanics, and attacks, and only after all that was done would I move on to enemy design.
This approach allowed me to look at combat design in isolation from enemy design. I wanted to work on the character until his movements felt satisfying enough, even when fighting a lifeless test dummy.
With the special attack added, the character’s move-set was now done, though testers still lost interest in the combat rather quickly. I attributed this issue to lack of autonomy in picking playstyles. The solution I came up with was to give the player more options for what weapons to pick, and have the weapons vary in what playstyle they promote. I added a weapon select screen, and new weapons which each had different effects. I also added weapon combination effects to add another layer of choice for the player.
For example, the player could pick the poison nails which deal more damage than base nails, but deal it over time instead of immediately, meaning if it’s ripped out the poison damage stops, promoting slower and safer playstyles.
The mechanic of dealing extra damage for every nail stuck to the enemy made for a natural push and pull to and from enemies for the player, I found that this mechanic was one of the most rewarding and satisfying interactions I may have ever made.
It did come with some issues though, primarily the nails were not made to deal a lot of damage by themselves. If they did, you wouldn’t need to get close to your opponent or take any risks. This means that opponents which were hard to hit were near impossible to kill. To mitigate this I added a charged attack. The player slams the ground and explodes all nearby nails, dealing AOE damage. The attack also gave room for the player to set traps for enemies with predictable movement paterns, adding another dimension to the combat.
Enemy Design
To continue on the combat design already established before, I also implemented 3 different enemies. My main objective with these enemies was to give them each a creative spin, and have each of them ask for a different approach in taking them down.
I decided to keep enemy AI relatively simple and prototype level so I could fully focus on their designs.
Designing and implementing the final boss was also a great success. The boss was fun to fight, though testers did say that the attacks were very easy to dodge by just walking to the side. I completely agreed with this, so I decided to add onto the boss fight by giving her a second phase. In the second phase the materializing orbs spawn a random distance away from the player within a range, so they can’t blindly walk away anymore. She also shoots two sets of rotating orbs and has significantly less cooldown between her attacks. These changes remedied the issues brought up by the testers and made the fight less repetitive in the process.
One of the roadblocks I bumped into was in designing the close ranged tanky enemies which are supposed to cover for the ranged enemies. The character’s moveset relies on switching between long range and short range attacks. This means the traditional enemy that runs up to the player and attacks them up close is quite problematic, as the player will have no real way of sticking nails into the enemy.
My approach to solving this was to design a frog enemy. The frog would jump up, crash down into where the player was standing, after which it would pause for a couple seconds.
This approach left enough room for the player to respond with nails and hammer attacks, while still fulfilling the role of tanky high maintenance cover.
Outcome
Even though this project isn’t as flashy as my others, it does well in the purpose it was built to succeed in. I was able to experiment with combat and enemy design and ran into problems I didn’t initially expect, but was also able to find solutions to those problems which often times improved the project in more ways than one.
I think I might take this project further, as there’s still a lot I’ve left out in terms of polish and feel. I would love to see this game with some satisfying sound effects and particles.