Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

April 2023 - Expanded Development Plan:

The following list are tasks that need to be done:

...

Summarized Task list:

Task Name

Task Type

Is it done? (And tested?)

Exposed Attack Speed Value + Linked to Animation

...

  • I’d like for there to be a “Attack Speed Value” that can be exposed and changed. This is because there’s going to be a RPG progression skill (Called Haste) that’s tied to the players attack speed.

  • “Attack Speed” is defined as a single input in which the player character does a single attack.

    • Functionality Wise: The action itself is taken immediately upon the input, but another attack cannot be started until the one currently playing completes. Think of it as a “cooldown.”

    • At the beginning of the campaign that means players have to be more careful with attacking and interacting. It can’t be spammed.

    • Where as the reward for leveling up the associated RPG element will allow for more rapid attacks and damage output.

  • I’d like to link this to setting the speed of both the player attack animation as well as attack effects. So that the physical look of the attack is getting faster as the speed of the attack improves:

Animations Associated with Attacking Speed:

...

Speed

New Functionality

  •  

Enemy “Attacking” Animations no longer play and need to play again.

Restoring Functionality

  •  

Slimes in particular can have detected the player but can take longer then usual to start moving towards the player

Bug Fixing

  •  
  • Golems will take a longer time to attack “again” if:

    • They’re just completed an attack

    • The player has moved and is staying on a tile directly next to the golem.

Bug Fixing

  •  

Enemies will “sometimes” refuse to move for 1-2 additional beats if they’re positioned diagonally next to the player.

Bug Fixing

  •  

Enemy Movement: Wonder, Repelled, And Stand Ground Movement Types Implementation.

New Functionality

  •  

Detailed Description of Tasks:

Player Controller Improvements (New Functionality)

Exposed Attack Speed Value + Linked to Animation:

  • I’d like for there to be a “Attack Speed Value” that can be exposed and changed. This is because there’s an RPG progression skill (Called Haste) that’s tied to the players attack speed.

  • “Attack Speed” is defined as a single input in which the player character does a single attack as well as its cool down time.

    • Functionality Wise: The action itself is taken immediately upon the input, but another attack cannot be started until the one currently playing completes. Think of it as the attacks “cooldown.”

    • At the beginning of the campaign that means players have to be more careful with attacking and interacting. It can’t be spammed.

    • Where as the reward for leveling up the associated RPG element will allow for more rapid attacks and damage output.

  • I’d like to link this to setting the speed of both the player attack animation as well as attack effects. So that the physical look of the attack is getting faster as the speed of the attack improves:

Animations Associated with Attacking Speed:

...

Enemy “Attacking” Animations no longer play and need to play again (Restoring Functionality)

  • This issue applies to all enemy prefabs. (Cultist, Slime, Golem)

  • When the attacking FSMs where made redundant, the attack animations that triggered where not integrated into the new enemy scripts.

  • There needs to be the ability to associate an animation to play when an enemy attack “Starts” and complete when an attack “Ends” - An animation bool is already set up on these enemy prefabs, so it’s more or less just linking these bools to attack starts and ends.

...

Enemy Movement and Attacking: Timing Consistency Improvements (Bug Fixing)

There’s a small amount of investigation and bug-fixing work to be done to improve the consistency of enemy movement and attacking:

...

  • Issue 1:
    Slimes in particular can have detected the player but can take longer then usual to start moving towards the player, and in some instances it looks like they get “Stuck” where they are and refuse to move until the player gets very close. The impression given is that the “Finder” code can’t find the player character.

    • This seems to happen once the slime has merged. Is the merging reverting them back to idling? Or perhaps they’ve been told to stay stationary for too long once merging. None the less something is making them act oddly.

    • I’m taking a guess here: But maybe this has less to do with code and more so tweaking the variables for the Simple Path Finding 2D script until an optimal ratio of “CPU performance to Reliability” has been reached?

      • It seems to be tied to performance to some extent. IE: This plays up much more when running in engine then if you export the game and play.

  • Issue 2:
    Golems will take a longer time to attack “again” if:

    • They’re just completed an attack

    • The player has moved and is staying on a tile directly next to the golem.

      1. They do attack again so they’re not hard-locked into not attacking. This might just be some janky playmaker script but can you check your code to see if there’s anything script wise that’s doing this?

  • Issue 3:
    Enemies will “sometimes” refuse to move for 1-2 additional beats if they’re positioned diagonally next to the player. Hard to say what causes this, maybe they’re making movement calculations and don’t think there’s anywhere relevant to move. Might be an issue related to the simple path finding 2D script again. It Warrants investigation.

Enemy Movement: Wonder, Repelled, And Stand Ground Movement Types Implementation. (New Implementation)

  • The alternative types of enemy movement has been implemented.

    • Wondering: Similar to hunt. But some intentional deviation away from the player every few moves.

    • Repelled: The enemy wants to run away from the player once detected.

    • Stand ground: The enemy will directly go towards the player once the player has invaded the enemies “Area” but the enemy will not leave that designated area.

...