Live Chat: Discord.
Get the latest builds: Patreon.
Download for Heroine Rumble is at the Heroine Rumble page.

Thursday, August 31, 2017

Combat System, part II

It was certainly a challenge to get the upper body and lower body independence to look believable. But it is mostly working now.

Here is a rather big gif file as demonstration: for full gif. Warning: Large file.

Here is another view from different angle. Note that the actual hit system is not implemented yet.

Here is a more detailed explanation of the the combat system for those unfamiliar:


  • <DIR_KEYS> (WASD) -> movement 
  • <ATTACK_KEY> (mouse1) -> attack 
  • <GUARD_KEY> (mouse2) -> guard 

Movement: <DIR_KEYS>
  • 2 modes: walk and run 
  • when walking: unit is facing direction the unit is looking at (eg. camera), moves at slower speed than run 
  • when running: unit is facing the direction its moving towards, moves at faster speed than walk 

  • turns guard on 
  • running is disabled/ unit will only walk during guard 
  • direction of guard is based on the prev pressed direction key. So for example, <LEFT> + <GUARD> means to enter left-guard, or switch to left-guard from a different guard direction 
  • Guard persists even if <GUARD> key is let go 
  • Guard is canceled when player double taps a direction key (starting a run) 

  • prepares an attack, there is a minimal period of time (affected by weapon/stats/skill/perks/etc) before the actual attack swing is released 
  • if <ATTACK_KEY> is held down: 
    • the attack swing will only initiate when the <ATTACK_KEY> is let go 
    • charging longer than the required time will increase the amount of damage dealt, up to a limit 
  • if <ATTACK_KEY> is immediate released (eg. a click): 
    • the attack swing will immediate commence once the minimal required amount of time has passed 
  • direction of attack is inputed in a similar manner as guard 
  • an attack can be canceled with the <GUARD_KEY> before it is "released" 
  • Running Attacks is possible 
  • Blocks are only successful if the direction of block matches the direction of attack. So for example, a <UP_BLOCK> is ineffective against <RIGHT_ATTACK>. 
  • Successful blocks are not 100% guaranteed to interrupt/stop the opponent's swing, but will reduce the damage taken. 
  • Attacks have cleave by default, the swing is not stopped after hitting the first opponent but will continue on, possibility hitting multiple opponents with every swing 
  • No location differentiation (hitting head same as hitting leg)


  1. Does this mean you can only strafe during walk mode? Would character rotation be only done through running? I guess the mouse would do the character rotation. What if we wanted to see where we are running? Looking at the gif it doesn't look like the camera chases the character in run mode. (Does it chase the character at all? lol) Different camera options and a lock on system, a button to center the camera and a button to do an about turn in 3rd person view.

    1. Wait for the next post, the camera isn't done in these gifs. :)