Week 7 Development (Devlog)


Tasks Undertaken:

- The primary tasks for the week was to integrate a Universal Pickup for Munitions, Health, and Armor alongside some testing procedures for Frost Projectiles that function similar to the DOT Damage Flame Bullets however Slow the target down after impact. The repair and proper integrated functionality of the DOT Damage script was also integrated during this week and was tested to be successful with AI.

- The development of a universal Pickup was relatively simplistic utilising a OnTriggerEnter function to trigger HealthArmorController updates of variable Health or Armor with the publicised variables. This script did have a complication regarding communication to the weapon that the player was currently holding and knowing which WeaponBase to add ammo to due to no GameObject reference being set within the script. The proposed solution to this would be a call of GetComponent WeaponSwitching in order to access the Primary and Secondary Weapon references in order to allow the correct weapon to add munitions.

- The DOT Damage script was completed this week by separating the script into two separate codes with a DOT Damage script and the Projectile script that attaches the component onto the target and checks if the HealthArmorController is part of the target before triggering. Whilst maintaining the Co Routine method that was written during the last testing phase some minor updates were made utilising a For conditional loop so hat the fire didn't apply massive amount damage to the target immediately which allows it to be limited and controlled for proper integration with munition type pickups. A similar method was conceived for the Frost projectile that deals slow damage and branching of of both Munition types, the hybrid of the two being the Acid Munition which deals DOT damage and Slows the target. Alongside damaging the player these additional munition scripts call directly from a modified Player Movement script that I created with two new functions being SlowMovement and ResetMovement alongside the call to the HealthArmorController which deals the standard damage. The Slow effect was unable to be tested however due to the Player Controller not functioning as intended with moevemtn and a Navmesh not being setup within my scene, testing will commence over the following weeks on Player Controller repair.

Obstacles:

- One minute problem that was encountered with the Universal pickup was that due to a Rigidbody was not attached to the player the standard collision code would not suffice, this was however remedied by the check for a Character Controller component rather than Rigidbody component.

Solution Reasoning:

- The solution for creating the Universal Pickup script  was  considered under a variety of lenses testing with varied tags to check what variable would be effected when the player integrated with it which was ultimately removed due to the consideration of possible multiple Health, Armor and Munitions variables needing to be added to simultaneously. The script was kept more simplistic for concision and adaptability by having all variables be updates on contact however necessitates editor changes in order to update sole aspects or variables 

- The DOT Damage script has been implemented after various tests with multiple solutions including conditional loops, Co routines, independent function calls. however the conclusive solution was the limitation of damage within a Co routine  using a For Loop and a Wait For Seconds so that a delay was present for the fire damage. This method within a separate script allows for versatile programming and Game Development as the DOT Damage script can be applied to various other environmental hazards rather than being solely attached to the Flame Bullet which therefore makes for a more modular script and aids in the development of other munition types during later stages.

Leave a comment

Log in with itch.io to leave a comment.