CAGD 470 - LockedIn Sprint #4

 During this Sprint Kickoff, my most significant task was creating the watcher enemy. Also, during kickoff, my team started discussing what would be needed for the game to be fully functional with the sprints we had left. It looked like the watcher would be one of our last enemies added, so most of the time in this sprint was dedicated to the watcher itself. Sprint Kick-off was good because I got to discuss the game’s current state and the work ahead for future sprints with the producer, designer, and another programmer.


I started researching the watcher and how it had to achieve the intended behavior. So, the watcher enemy is supposed to follow you when you look at it and stop when you look at it. So I started looking at how to check if the camera was seeing an object, and luckily, various forums mentioned different ways of checking if the camera was looking at a game object. One of the bigger problems I ran into when developing this feature was that the object was being checked to see if it was rendered by the camera, even behind a wall. I fixed it by implementing a secondary check in which a ray cast was shot from the enemy center to the camera position. If the camera did not hit the enemy, it would not activate. After that, I did a quick prototype implementing these features, which worked well.



Unfortunately, during this time, I had a version conflict in GitHub because I was using two separate devices and not pushing from one of them, which caused the partial loss of the Watcher code. I had to remake the watcher about halfway through the sprint, and that caused a decently big setback. Luckily, I had learned the logic and started the code, so I was able to re-implement the watcher. I made a quick watcher, which is supposed to be tall, so I made it tall with red eyes, which, according to our GDD, is how it was described. Finally, the watcher was finished and implemented.


Because of this interruption in the watcher development process, I decided that it would be best to take a break from it and start working on another system requested by the designer, which was a camera system. Previous to this, I had little to no experience using Unity’s render texture component and how cameras can output. So, I did some research on this component, and it is used to play any type of animated texture within Unity. However, something that I was very aware of was that this component is very performance-heavy, so I had to keep in mind the quantity of cameras. The designer also mentioned that he preferred it if the camera system could be dragged and dropped that way. That required the creation of a render texture within the security camera code and assigning it to the screen monitor.



After the security cameras were working and the Watcher basics were in place, it was time to work on the final feature for this sprint: the radioactivity when getting close to the radioactive bug. The screen will go greener the closer a bug gets to you, and if your screen goes fully green, it will kill you. This was very easy to achieve using linear interpolation.



Overall, this sprint was very productive. Even with the watcher code loss setback, I picked up the logic fairly quickly. The communication with the team during this sprint was great, and I easily acquired the designer's view. I’m happy with the work that my team and I did in this sprint.


Comments

Popular posts from this blog

CAGD 373 - Pirate Game Assets Final

CAGD 470 - Locked in Sprint #1

CAGD 495 - Stumble Sprint #3