Blog Post 4

 

CAGD 470 - Video Game Production

Rune Chronicles

Blog Post 4


    For sprint 4, our team set out to incorporate the feedback gathered during our prototype playtest in order to improve upon the features in the game, as well as fix existing bugs that our inhibited our players enjoyment. For my tasks, I set out to fix the player collision detection with our player controller, fix projectile spawns, as well as change the behavior of our fireball ability. Our other programmer Colin was tasked with creating an AI for our medium sized enemy, creating breakable barrels, and finishing the hidden wall script. Our modeler Preston was tasked with creating additional scene props such as various rocks and a finalized model of our finish portal. Lastly, our level designers Jacob and Andre were tasked with improving visual feedback to the player to help guide players throughout levels, as well as placing the new assets provided to them in their respective scene.

    

    The feedback from our playtest told us that some players were able to clip through walls by continuously walking into them. As we wanted to avoid players from leaving the bounds of our game, I took a look into the reasons why this might be happening. We are moving our player using the physics system, and I thought that the best way to move our player using physics was with MoveTowards on a rigidbody within Unity. This method seemed to be causing our player to push through colliders, as the player controller only knew to move in the direction it was told. To improve upon this, I am now instead taking the movement direction, and then smoothing it out with SmoothDamp() before applying this movement to the rigidbody's directional velocity, which allows our player to move properly over terrain and avoid clipping through our walls. As part of this movement update, I also adjusted the controller's collider.



    After I had smoothed out our player controller, I went to work fixing our projectiles that are created when the player attacks. At the time of the playtest, we had weapon rotation tied to an animation that was controlled with the Animator. After spending way too much time trying to find a solution to our projectile not spinning in the correct direction, I was able to find that the Animator was the root of the issue, as it was overriding the values that my script was trying to modify. I was able to fix this by creating a spinning weapon script for the modelled mesh object, while keeping the projectile script on a parent object with a collider. This issue ended up being a huge time-sink for me during this sprint, and I was not able to find a solution during Spring Break. It wasn't until I was home that I was able to reach out and get help finding a fix for this.


    The final task that I worked on during Sprint 4 was improving the functionality of our fireball ability for the player. We knew that the fireball was buggy during the playtest, but it was inconsistent when players attempted to use the ability against enemies, causing a lot of confusion. To improve on this, I modified the way that the fireball is detected by enemies and structures to use the tag system, allowing us to mark any additional targets in the future. I also swapped out our collider for a large capsule collider for easier hit detection, and worked with Preston, the creator of the visual effect, to find a good intensity for the particle system on spawn. At this time, I am not finished with fixing the fireball ability, as I need to work out the miscalculated rotation being applied at run-time, as well as expand the players ability to swap this spell out during gameplay.



    While this sprint was shorter than the others, I feel like I was not able to accomplish as much as I would have liked to in regard to my tasks. As we launch into the next sprint, I plan to finish the fireball ability and move on to implementing different enemy classes with stats that match their archetype. Player feedback was crucial to our teams goals for this sprint, and I believe that we were able to improve our game with the steps taken to smooth out player interactions and level visibility. I want to thank my team for the work they put in to this project this last sprint, and I can't wait to see how we've progressed after Sprint 5.



Comments