Wednesday, 27 February 2019

Week 4 - Enemy damage system and start of level block out

Final Year Project

Week 4

Since my basic combat system was almost complete, I decided that this week I would begin work on adding damage to the enemy and attaching weapons to the player through sockets. 

Setting up damage for the enemy was fairly simple. Once I had attached the sword to the player, I added a collision box around the edge of the blade. I then set up a overlap function with the sword in the enemy blueprint. Then I had to create a basic health system to test enemy death. I set this to a low number so that I could test attacking the enemy. 

The first problem I encountered while creating this was that when the enemy dies they freeze slightly before playing the death animation. This is an issue I can address while in the polishing stage of my project. 








This clip demonstrates the enemy death function. now that these basic combat mechanics are complete I will now be focusing on creating more enemy types as well as player abilities alongside my level design.













Now that I am currently on track for completing my project for the deadline I am currently working on my level block out. I am creating this so that I can experiment with my various enemies to see if I can make my project more challenging, for example, fighting a large enemy in a tight space. 


This is the current state of my level block out, I plan on completing this by the end of march. 

Week 3 - Enemy AI

Final Year Project

Week 3

This week I mainly focused on creating the first enemy AI for my project. I decided to start with something basic so that when it came to creating the more complex enemies I would only have to expand on the mechanics that are already in place. As I have had experience in creating AI using Behaviour trees in previous projects, I started by creating the various tasks needed for a basic AI such as sensing the player, chasing the player and attacking the player. 



This is the AI controller currently implemented into my basic enemy. This is where the player is set as the target for pawn sensing. 


Now that basic functions were added to the AI, I began to create more tasks that would make my enemy seem more real. I added a function that makes the enemy search the last know position of the player. I also added a focus task that allowed the enemy to follow the player more smoothly. 


This is the finalised Behaviour tree for my basic enemy AI. Once I begin to add more complex AI to my project I will be expanding from this behaviour tree.




This clip demonstrates the pawn sensing of my AI and how it searches the players last known location.














Thursday, 7 February 2019

Week 2 - Player Mechanics and Basic Animations

Final Year Project

Week 2


This week I decided that I should begin work on areas that I have knowledge in already such as the player mechanics and AI. I started by adding simple mechanics such as movement, sprinting, attacking and the ability to lock on to enemies. along with creating these mechanics, I began adding animations to these mechanics, the main reason I did this was to decide early on what the overall feel of my game would be like and after adding in animations I decided that I was going to keep my game slow paced with difficult combat. Once these were added I felt like I should finish the week by learning how to create a lock on system. During my research I learnt how to make my player focus on the closest enemy in a minimum range using camera rotation. 

     

These are the currently implemented player mechanics including target lock-on, attacking, blocking, movement and sprint which includes a timeline to provide a smoother transition between walk speed and sprint speed, this also provides a smoother transition for animations.


This is the current state of the state machine within my animation blueprint, I have included a combat stance in my game that is still in progress, but when the player enters this stance they become more effective at blocking and moving during combat. 


Finally this is the blend space I created for the idle/walking/running states of my character, this creates a smooth transition between animations depending on speed and direction. Currently I have only included one direction but when I come to the polishing stage of the project, these will hopefully be included.