Week 3 Development (Devlog)


Tasks Undertaken:

- The primary task of this week was communicating with Serena Pei to restructure the WeaponBase script to allow for AI functionality. Time was spent over discord discussing the most viable approach after reviewing our scenes and functionality of our code. The utilisation of tags for the actual Fire method seemed quite effective with some minor complications through design. Ultimately having the 'enemy' tag being checked first within the update function allowed for firing once the AI had targeted the PlayerController with their Chasing and Attacking States. The read for the input was read within the else if code  so that Player input would still function. 

- The testing proceeded with solely the enemy AI wielding weapons and the Player being navigated on Serena's point-and-click movement input system observed within her scene. It is presumed that Serena had also implemented a criteria that only fired once the AI state changed to Chasing as through progressive testing AI would initially fire on game start and ultimately fire in the PlayerController's direction once targeted. 

- During this process, 2 new custom made gun models were imported for testing including the Handgun and Rivetgun which made visualisation and testing for more engaging and easier to observe with instantiation.

Obstacles:

- N/A


Solution Reasoning:

- The ultimate decision for using tags was quite straight forward after having already tested solutions like creating new variables that directly link to the AI prefabs and Assault Rifle Base child scripts. The original approach for getting the components of the newly created variable references was that as soon as the script relative to the reference was present it would start firing without any form of input which was further attempted to be implemented through the WeaponType enumeration at the bottom with 3 AI specific weapon types. This approach was deemed inefficient and the tag approach. Initially both the 'enemy' and 'player' tags were checked for the two input types, however was altered as the script was always checking if the weapon was tagged as player rather than the PlayerController which was solved be removing the player tag check.

Leave a comment

Log in with itch.io to leave a comment.