top of page
Search

Cambat Rework

  • Writer: Christopher Carr
    Christopher Carr
  • Jun 16, 2023
  • 3 min read

So it has been a while. Firstly I have been on a break between my study blocks for my masters so I’ve been feeling a bit on my own with this project which has been a change from having occasional supervision meetings to help me keep on track. I have kept working on this project over this break with the aim of getting the project close to getting some playtesting sessions done. Other than this I have been busy elsewhere, I managed to get elected to public office so campaigning and organising that has taken up a decent amount of my time on top of having an episode of Crohn’s Disease.


One of the things I wanted to add before I would start play-testing sessions was to add a second enemy type. The enemy type I wanted to add was a ranged variant, this way it would encourage the player to use their ranged attacks as this AI would try to get some distance from the player.

For this enemy, I used the same asset pack that I used for the melee enemy but to distinguish one from another I used separate models that also indicate to the player how much health they have with the bulkier melee enemies taking more to defeat. I also wanted there to be visual prompts that the enemy is about attack the player, just like the melee enemy it uses the same animation to warn the player but since they are likely to be further away I added a red line that gets drawn from the enemy to the player. This way the player can see what direction the ranged attack is coming from so they can get out of the way.

The movement of the ranged enemy will act differently from the melee enemies. I have still used the EQS query system but this time I used it to find a point around a piece of cover on the opposite side of it to the player. The AI would select this piece of cover by using a Blueprint that I would place in the world, this would be by finding the nearest BP class to the enemy and then running the query to find a point in which it could move that would place the piece of cover between them and the player. I did attempt a version that would use a line trace going from the player and would try to create points just after the hit locations but this had the enemies running behind walls that would hinder their ranged attacks.


ree


ree

Once the enemies are in cover they will use the same system as the melee enemies when they ask to attack by checking a variable in the game mode and then pinging back. When the game mode says the enemy can attack they will signal to the player the enemy is about attack with the same animation as the melee enemies. To ensure the player is aware of this action I took inspiration from third-person action games like the Spiderman PS4 game by having added warning lines just before they attack.


ree

I wanted to give a different reason for the player to get closer to the enemies so now when an enemy is defeated they will drop orbs that add to the player's health, mana and rage metres. This will hopefully encourage the player to collect these orbs as they will act as a reward for defeating the enemies and have them running into a group of enemies.


One of the things I have been struggling with over the last couple of weeks has been trying to get the combat movement right. I fought I could tie it to root motion but I have been using Mixamo animations which are made without root. Initially, I would add velocity to the player character in the direction the player is facing but I wanted to try to get root motion add to these animations as the movement would love smooth. I managed to find a plugin for Blender that allows me to convert the Mixamo animations to have root motion but it’s not precise. So for example one of the spinning attacks would move the player a bit diagonally instead of just moving them forward. Given these limitations with the animations, I have reverted it back to what I had before, which does give me a little bit more control over the player’s movement. I just now have to balance the velocity of the player while they attack to get the feel right.


 
 
 

Comments


Contact me

Interested in hiring me for your current project?

Contact me via email: christopher.carr@ntlworld.com

                                              Check out my LinkedIn:

  

                                                      Check out my CV:

  • LinkedIn
bottom of page