Week 9 has been another week of rapid progress. We successfully challenged on the Monday of Week 9 and moved into the Proof of Concepts stage. My two primary goals for this week were to implement any animations that Alexis made, and to implement the activation system for the traps.
One of my goals for the week was to make it so that each of the traps could be “activated” by a defender. Basically, if the defender is in close proximity to a trap and presses a certain button (the left bumper), that will “activate” the trap, usually granting it some sort of buff. Activation is different for each of the traps:
- Spring: activating the spring increases its knockback
- Gate: activating the gate raises the gate
- Bear claw: used to “re-activate” a bear claw after a player has broken out of it
- Cage: used to reset a cage after a player has already triggered it
So, I first added a sphere GameObject to the defender prefab that had a SphereCollider attached to it to determine when a trap would be activated. After figuring out how to scale it across the network (since NetworkTransform doesn’t sync scale across the network) I then worked on implementing the different activation logic for each trap.
We also made a lot of progress this week implementing the animations and art. Alexis finished the first pass of the walking and running animations on Wednesday night/Thursday morning, and I brought those into Unity and set up the basic animation state machine using the AnimatorController in Unity.
Getting animations in the build was crucial for us to have a chance at successfully challenging out of the Proof of Concept stage, so both Alexis and I were really excited to get these up-and-running (so to speak) in our game.
We decided in a meeting on the Wednesday of Week 9 that we wanted to attempt to challenge out of the Proof of Concept stage on Monday (the first day of Week 10). Originally we were planning to stay in Proof of Concept for two weeks, but we thought that we might as well try anyway after one week. At least we’d get some feedback, and at best, we might even pass into the next stage. However, this meant that we needed to test our game at two QA sessions this week. So, on Thursday (the first QA session) we quickly incorporated Eva’s newest iteration of the level and Alexis added his environment art to it. This, combined with the animations, made it really start to seem like our game was actually going somewhere.
The art progressed even further. A certain John Parsaie showed Alexis the PostProcessingStack, a beta Unity feature that allows easy and simple management/addition of post-processing image effects. After Alexis added these effects, the environment looked even better.
Anyway, on Saturday, Alexis completed the first pass of the jump animation and I got that in the build. Now we had three animations that would certainly demonstrate the animation pipeline and our ability to implement them in the game.
Other Features Implemented
- The ability to stand on moving platforms – seems simple but it’s a bit more complicated than I thought it would be at first glance. A common solution I found online was to parent the object to the moving platform temporarily. After some unsuccessful attempts, I got this working by parenting the entire player GameObject (the parent of both the attacker and defender) to the moving platform temporarily.
- Timer system – now the timer actually tracks each team’s time during the attack phase.
- Fixed-camera zones – zones that, when entered as the defender, lerp the camera position to a fixed point to allow us to show the defenders points of interest in the level
So, that’s what we did in Week 9.