Unfortunately, this week was a bit light in terms of programming progress. The programmers were mostly focused on finishing up midterm prototypes for our Console Programming class, so that took up most of our time.
Fortunately, it looks I will be able to devote my whole spring break week to working on Ponds.
Now as to what I actually did this week;
The first thing I did was clean up some of the code for fading in/out the player when entering an interaction. Before this was handled with direct calls to the PlayerFade script attached to the PlayerDisplay GameObject. To decouple the fading code, I now just have the PlayerFade script listen for our InteractionEntered and InteractionExited events, and handle them accordingly. This way we won’t need to have a bunch of unnecessary references to the PlayerFade script floating around.
The second thing I did this week was make the first pass of an interaction for the clock tower. Previously, the drive chain weight “elevator” functioned similar to Eric’s mountain elevator. But, a suggestion was brought up to have an interaction where you actually lift yourself up whilst in the interaction. I thought up a way to apply this to the drive chain weight interaction: as you (the player) enter the interaction, you see a section of grabbable chain. If you pull on it, you can hoist yourself up to another section of grabbable chain. And so on and so forth until you reach the top of the clock tower. Not only does this make the journey up the clock tower more interactive, it aligns with the newly revised interaction guidelines given to us by Levi.
Here’s my first pass of the interaction in-game:
My implementation ended up being a sort of linked-list system – each grabbable node holds a reference to the “previous” and “next” nodes in the chain. If the “next” node is null, then the player has reached the end of the chain. When this happens, I then initiate a quick cutscene showing the player arriving at the top floor of the clock tower.