I worked on the AI code, rewrote it completely for the enemy so it would suit better to the current iteration of the game. RoBros was no longer a stealth game, it was a fast paced railroad shooter. I had a few ideas in my mind when I started working on this game. In my previous game I had experimented with enemy AI logic and used that in this game. My goal was to make the enemies wander around and then chase you when you are in their proximity, then once the player is in his grasp they would attack him and deal damage. Since the player would move constantly, the enemies would take a pursue-halt-attack-pursue again approach. I had two types of enemies in the game, one were the wandering zombies who did melee attacks and one was kinda a boss zombie who would throw a crate at you first once detected, and then perform melee attack as the regular zombies.
The following are the code snippets for regular enemy, for patrolling, detecting and damaging the player.
The boss enemy was similar in functionality, but I had a different idea in mind. I wanted him to throw objects at us, relative to our location as we keep on moving at a steady speed. I decided on a crate, and programmed it to be thrown and hit the player. On impact, the player will get hit and suffer damage while the crate would break.
This is the code for the crate physics and its collaboration with the boss enemy code.
I also worked on a bullet time feature for our player, tweaking with Time class of Unity.