PFI Importance in Combat Design

I want to talk about combat design and a few small details that might get lost when thinking about it. I have worked on my 2D adventure game for about a month now, working through state machine iterations to make the game flow smoothly to small details like Player Facing Information and simplicity.

Player Facing Information

Player facing information is extremely important to convey information of what is about to happen, what is happening, and what has just happened. This can be anything sounds and music changing, animations beginning to play or end on a model, or what I like to do when prototyping, changing the colors. Changing colors when prototyping can help signal playtesters of what is happening and can help you, the developer, to remember placeholder assets that need to be created and implemented in the future. Changing colors through code is simple and can lay the groundwork for where the animation will go when implemented. You can see in my gif how enemies will go from red to yellow, play an attack animation, then go from yellow to red. This is important because it shows that the enemy is gearing up to attack by using Animation Anticipation. This is commonly show in games like Dark Souls, Jedi: Fallen Order, and Hyper Light Drifter. This shows that the enemy is starting their attack, but gives the player enough time to formulate a strategy and dodge out of the way. The attack animation is where all the damage is done to the player. If the player gets hit, they take damage. Once the attack is completed, you want to give enemies a recovery time where they are vulnerable. This gives the player a clear opening to deal damage and grab the upper hand in a fight. Recovery time is also designed to show the enemy getting back up/returning to their normal idle stance. This allows players to deal damage and get clear from the enemy before it’s too late. The enemy changing from yellow to red helps to show that recovery to the player to help them formulate a strategy to defeat the enemy. Player facing information like this is extremely helpful to players and shows them when a good time to attack vs evade is. Combining this with a helpful Heads-Up-Display(HUD) can improve the quality of life for the player and keep information known to the player.

Combat Design

Combat design has started to become the focus for my project and how I want to create engaging encounters with different enemy types. I want combat to be challenging, but not super difficult. I created a small scene with a few enemies to see how it worked. The end result is that I am on the right track! I learned I had to create a new enemy pathing system, so I did. But where do I go from here? Well, I played Hyper Light Drifter to get a sense of how their basic combat is. It is a similar style that I am going for and understanding the base of what makes the game fun is important. I noticed that for a majority of their open world fights, the player is put into an arena where they defeat waves of progressively more difficult enemies, or in the open world all the enemies rush towards you when you are close enough to them. What makes this fun is formulating a strategy around your movement abilities and understanding the enemy’s different abilities. Running in and slashing an enemy and dashing away before they hit you feels great! With the big sword swing, being able to do multiple hits and chaining those hits by dashing into another group and slashing them. This is where Hyper Light Drifter excels. How exactly did they design the combat then? They made enemies relatively easy to defeat, used player facing information to convey what the enemies were about to do, and they never had more then a handful of them attack at once. The player can get surrounded, but they always had a direction they could move and avoid attack. This allows players to get close and have them attack, dodge out of reach, then dodge back in and cut them down. This is a basic explanation of how it works and how it feels to play Hyper Light Drifter. When designing combat for a new game though, there’s a lot to consider with the limited resources you have prototyping. I think that the best way to think about combat design at this stage is to think of the cognitive load we put on players. Utilizing player facing information is number one but what about the overall encounter? Mixing enemy types can be a great way make combat more interesting, but having multiple enemy types all with different attack rates, movement speeds, recovery, and the screen being too cluttered. All of these things need to be taken into account when design combat and encounters to make the game engaging and challenging, but not confusing and anxiety inducing.

Conclusion

Overall, I think I am on a good track with this project and have implemented key elements that will help players enjoy the game. Implementing my combat design is going to be fun and is going to take some time. I look forward to sharing some more in the future!

Next
Next

Learning Unreal Engine's Gameplay Ability System