top of page
  • Holly

Launch Title (Week 3) - Combat Design

This week, I spent most of my time trying to settle on a design for the game’s combat system. As I’ve mentioned in previous weeks, we had decided to aim for a “hack-&-slash” type of melee combat, similar to action games like Devil May Cry. However, beyond this we hadn’t really decided on any specifics or what our main goals with the combat were. To start, I talked with the rest of the team about what the main design pillars of the combat would be.


We had quite a few ideas, some of which were conflicting slightly. Overall though, we managed to settle on:

  • Fast-paced melee combat

  • Variety of options

  • Incorporate some aspect of Yin / Yang theming

We also decided on some of the player’s base abilities, such as attack combos, dodging and blocking. To decide on the rest, I spent some time coming up with a few different ideas.


Light / Dark Stances


The first concept I explored was giving the player two “stances” to switch between that would modify their regular attacks as well as provide unique abilities. To fit with the Yin / Yang narrative theming, these would be a “Light” and “Dark” stance respectively. Some of the ideas I had for the Light stance included making the player’s movement speed and attacks faster, their dodge more effective, and having their attacks travel farther. The Dark stance on the other hand would make attacks slower but stronger, and would sacrifice dodge speed for a parry ability.


Each stance would also have an associated meter, that would build up under different circumstances and could be spent on unique abilities. For example, the Light stance’s meter could be used with a charged bow & arrow shot, or to call in the white wolf Yang. Likewise the Dark stance’s meter could be used for a powerful axe swing, or to call in the black wolf Yin.


One worry I had about this idea was that it would feel unintuitive or frustrating to have to constantly switch stance before using certain abilities, and could lead to players using the wrong ability.


Light / Dark Fragments


The second concept was quite similar to the first, but with a few key differences. There are no longer any 'stances', and the player can use either a Bow or Axe special attack at will. Replacing the two meters would be a set of 'light' and 'dark' fragments, that can be fed to their respective wolves to perform different abilities.


The fragments would be gained through a variety of different interactions in battle. For example, when defeating an enemy, the player would have the option of finishing them with an attack to gain a light fragment, or absorbing their energy to gain a dark fragment. A similar interaction could happen with enemy projectiles that have a fragment at their core.



We ended up moving away from these first two concepts for a few reasons. Overall, they were both quite complex in terms of scope, which we were especially conscious of due to the workload of creating animations for each ability. Another reason was that as the game’s narrative was becoming more developed, the theming of the combat felt more and more surface-level. After talking with Owen, the team’s narrative designer, we decided to try a concept that would revolve around the idea of “freeing” enemies (since within the context of the story, enemies are regular people that were transformed into demons) rather than just defeating them as normal.


Lock Breaking


The concept I arrived at for this revolved around the idea of each enemy being bound with a set of “locks”, each associated with a different negative or powerful emotion of the Night World. While these locks remain on an enemy, their health can only be reduced to a set amount, requiring the player to use an ability to break them first.


However, each lock would also have a different effect associated with it that is triggered upon being broken. Some initial ideas I had for these included:


  • Lock of Fear: Releases a shockwave that the player must jump over, but also interrupts nearby enemy attacks.

  • Lock of Malice: Causes nearby enemies to temporarily become faster and more aggressive, but also take more damage in turn.

  • Lock of Isolation: Spawns a damaging Area of Effect that expands around the enemy for a duration. Any enemies within the affected area will be slowed significantly.


When designing the different effects, I tried to stick to a few principles:


Firstly, each effect would need to introduce an extra challenge for the player to deal with on top of regular combat. This would be the risk factor of breaking the lock.

Second, the player should have multiple options / methods for dealing with the challenge introduced. Lastly, there should also either be a beneficial aspect to the effect, or at least a way for the player to use it to their advantage.


The overall aim of these principles is to create a set of risk-reward options in each battle, where the player has control over the order and timing of when to deal with each lock. Whether this ends up being the case in practice, I’ll have to see.


Implementing Basic Attacks


With the design finally settled on, I spent the rest of the week getting started on implementing the player’s basic attack combo.


Luckily I had some previous experience with melee combat in Unreal, so I didn’t have to start from scratch. I spent some time looking over some research I had done for a previous project


Some useful resources included a video from Game Maker’s Toolkit, a twitter thread from combat designer Jason de Heras, as well as the GDC talk “Evolving Combat in 'God of War' for a New Perspective”.


Based on my research, I made a list of some features included in other melee-combat systems that I would try to replicate:

  • Buffered Attack Inputs: Allowing the player to have their attack input registered before the combo window is active. This should make the timing of attack combos more forgiving and intuitive to perform.

  • Auto-targeting: Automatically rotating the player character towards nearby targets at the start of each attack.

  • Attacks Moving Towards Target: Each of the player's attacks moving them forward towards their target, to help make sure the attack lands.

  • Dodge Cancelling: Allowing the player to end their attack early by switching into a dodge. This way the player can commit to attacking enemies without worrying that they won’t be able to dodge any incoming attacks, and should help keep the pace of combat fast.

For implementing the attacks themselves, I made use of the Animation Notifications I built last week for the DirectionalFlipbook system. On each attack animation, a series of notify classes are triggered at different timings to match the animation. In the screenshot below you can see all of the triggers for the first attack animation.



To start with, I’ve added two basic attacks that form a short combo. The particle effects used are from the “Hack And Slash FX” asset pack. I also put together a basic enemy actor to act as a test target.



My next priority will be actually implementing a dodge ability for the player to use, as well as getting the Lock system working.


1 view0 comments

Recent Posts

See All
bottom of page