So for this week I decided to tackle some basic feedback issues because at the moment it’s easy to see this type of game being harder to tweak without feedback as opposed to the fps or top down game. Two feedback issues I’ve decided to implement is a low health system and also displaying the characters stats when the player clicks on them.
The low health system was apart of the generic variables like character stats. So I had to create a bool system that set to ‘true’ when the health dropped below a certain value. Once that was working I figured out that changing the gameobjects material colour would provide the feedback. However I wanted this colour to flash on the gameobject not just stay permenant. So I created a co-routine that ‘while true’ switch the gameobjects colours every 0.5 seconds. This worked perfectly and without a hitch.
After the low health system I started working on displaying the characters stats upon player click. This turned out to be really straight forward. I created an ‘OnMouseEnter’ function and displayed the characters stats via GUI code. All this feedback turned out to be so easy I decided to work on each characters attacks.
Each characters basic attacks were easy to implement with GUI buttons and using arrays to select a particular enemy. Special abilities however were somewhat more challenging. For my melee characters special attack I wanted him to do a jump attack that did area of effect damage. My initial thought was doing a trigger based aoe spherecollider, but I immediately knew that was wrong for this game. I decided to attack the main enemy with full damage, and depending on the main enemy I would hit adjacent enemies at half damage using array indexing. For my mage I needed to do a poison attack. So I created an attack like all my others, but when successful it would trigger a poison bool. What this bool would do is upon the start of a new enemy round it would subtract health from the enemy effected while it was true. In order to reset this bool I implemented a roundcount that would count up to 3. Once it hit 3 it would reset the poison bool and itself back to 0.
I’m amazed out how far I’ve come with scripting. I still struggle with it no doubt, but I’ve come a long way where once this simple type of coding was impossible for me it now comes to my mind much easier.