The Final Week

So, I’ve finally reached the final week. While this isn’t the last deadline I’ll be working towards, this is the one where I’m trying to get as much done as possible in time for assessment. There are still a number of things that I want to be working on to polish the game after submission, but I’ve done what I can, and have lost a lot of sleep to get here. Anyway, prepare for bullet points, because this is the final lightning round. 

Monday

Morning:

  • With it being a Bank Holiday, I stayed at home, and my first task for the morning was to write my portion of the team’s weekly blog post

18 001

  • I was extremely tired, and I struggled to get anything done for a while
  • I listened to the intro and looping sections of the wind interaction music, and planned a wave on paper based on the notes in time with the rhythm, thinking of the wave in terms of peaks and troughs to aim for with sine waves

Afternoon:

  • After lunch, I planned-out the movement patterns of the brass interaction on paper while listening to its music, generally moving around the circle with the very subjective criteria of it being what felt right, often changing radial direction when the notes moved up or down
  • I planned the patterns for the triangle interaction, relying on the number of moves I had to work with and the shapes I wanted to draw instead of the music (and I ended up drawing a representation of Triangle Man and the wind people)
  • I spent a while listening to the piano interaction music and coming up with ways to represent the moving up and down of keys while only having the lines move to the right during the interaction, at no more than three keys per bounce (in response to the difficulty that people had playing it in its prototype form)
  • Using Desmos Graphing Calculator, I came up with and checked the sine wave values I’d have to use for the wind interaction based on my plans

18 002

  • By looking at my diagram, I came up with the sine wave values for my plan for the wind interaction, entering them into the code for drawing the wind mechanic’s wave
  • I tested that the patterns were working as intended, and they were, so I pushed the changes on GitKraken (since George wanted to add some environmental assets while I was working on the interactions)

18 007

  • Since Sam found out that his deadline is earlier than he expected, I discussed with him how to handle his implementation of Wwise into the Unity project, and we agreed that he’d work on his own version of the game while George and I continued to work on the version with Unity’s standard audio implementation
  • I spent a chunk of time explaining my audio implementation to Sam, so that he could understand what to work with when implementing Wwise
  • I realised that it’d probably be a good idea to back up the Unity project, so I did
  • Looking at the values I’d come up with in my plan, I programmed the patterns of the brass interaction (which was pretty tedious)

Evening:

  • After dinner, I tested that the brass interaction was working as intended, and it all seemed to be fine

18 012

  • I then spent a fair while adding the values for the triangle interaction’s patterns, mentally converting my plan diagrams into directional values (since I was storing the movement directions as integers from 0 to 5, clockwise from the top-left)
  • I tested that the triangle interaction was working as intended and it was, though I felt that I needed to make the trails longer to account for the longer patterns (so I did)

18 018

  • I spent a while plugging in all of the numbers for the piano interaction’s patterns, which was the definition of tedium…
  • Since George wanted to merge some of his additions with mine, I pushed the changes I’d made to GitKraken
  • I tested that the piano interaction was working as intended, but noticed that the Piano Man was repeating the same motion after a certain point, and when I looked at the code for it, I saw that it was because of a typo in which the first check of the counter value to determine the number of keys being moved across was too low (so a portion of the counter that determines the current point in the interaction was being ignored)

18 025

  • I pulled the changes that George had made to the scene, and things were now looking prettier due to the shaders and post-processing effects that he added

18 026

  • I fixed the typo that caused the issue with the piano interaction, and when I tested the game, the piano interaction was working as intended

18 027

  • I also realised why the final camera transition wasn’t working properly (or at least I thought so at the time) – like last time I had this issue, I forgot to increase the maximum camera number to account for the new camera target
  • Also, I saw that the triangle interaction’s grid was no longer contrasting nicely with the triangle behind it, so I adjusted the values of its colour

18 028

  • I saw that there was a gap between George’s waterfall and ocean, so I moved the waterfall slightly to remove that gap

18 029

  • As per Adam’s request, I pushed everything to GitKraken again
  • Bernie sent over the model for Triangle Man, so I imported and scaled him to fit the capsule collider I was using to reflect his size

18 030

  • Using Ella’s turnaround sheet as a reference, I created and attached Triangle Man’s unlit materials, and the way in which Bernie separated the model’s parts made it quick and easy to replace the materials

18 031

  • I pushed the changes to GitKraken and headed to bed

Tuesday

Morning:

  • When I got to the studio, I moved the critical violinist and the associated tower-looking camera further into the string area than their initial placement on the pier, so that the player would find the violinist more easily and so that the framerate wouldn’t be murdered upon the first look to the tower

18 032

  • I showed Fred the game when he came in, and noticed some issues to fix while going through it, but Fred also gave me some feedback:
    • He wanted the characters to be given shadows/lit materials, assumedly to be in line with the environments
    • He felt that the pulsating of the triangle interaction should be turned down a bit, as it was too intense
    • He liked that the Piano Man has a musical theme, and felt that the game was cool, particularly how it ends
  • I added a reference to Gloria’s ping particle for synchronising with Triangle Man, so that it’d appear when triggered to do so

18 033

  • I halved the intensity of the triangle interaction’s pulsing, in response to Fred’s feedback

18 034

  • I gave the flautist’s swing its materials back (taking the same materials as the planks and rope of the wind environment), since they disappeared when George updated the wind area

18 035

  • I let Ella play through the game as it was, and she liked how it was coming along, but gave me some feedback:
    • She said that it was quite hard to see the lines in the triangle mechanic, likely down to a combination of it now being thinner and the lighting change causing a reduction in contrast with the background
    • She told me that seeing the orange line for the brass mechanic was sometimes impossible, due to the change in the scene’s lighting making the clock tower’s clock far closer in colour to the amber of the trumpeter’s line
    • She found the piano mechanic very difficult, maybe because of the loose feeling for moving the line, so the acceleration could be increased, though she couldn’t ever memorise the patterns of the bouncing (and because it runs away, you can’t sit and watch the patterns, unlike the triangle mechanic)
    • Some of the rock colliders in the string area needed fixing, since Ella was able to walk straight through one

img_3927

  • I spent a while placing a copy of all of the characters at the top of the tower, and checked that the composition was good for a final shot

18 036

Afternoon:

  • After a trip to town, I caught up with George on my progress and discussed with Ella how to handle characters’ synchronised pings without making a new particle, and Ella suggested that we have each character pinging white orbs in their own language only
  • Adam came into the computer room and briefly let me know what he thought of the game from playing it the night before:
    • Due to the lack of a response by other characters or audio cues, he felt that it wasn’t clear that the pinging was doing anything
    • He said that the minigame triggering immediately, rather than having Gloria and the character first ping at each other, means it isn’t necessarily clear that the interaction is meant to be the two playing together
    • With the finished sound for the tower, Adam felt that it’s not clear when the extra instruments are coming in, due to the audio mixing
    • Since you can’t control the camera when moving through the tower, Adam felt that it’s not easy to know that you’re meant to turn right
    • He said that it’s weird to lose control of the camera when approaching and ascending the tower, but that might not be an issue
    • Finally, he said that he was “pleasantly pleased that the walking simulator part felt alright”
  • Sid showed me how to handle adding and tweaking the particle systems that he sent over, so that we could have the intended effects
  • I spoke to Ella about the alternative colour palettes she was picking for the string and brass area NPCs, and how she could have minor variations on her expanded palettes to allow for differentiation between NPCs
  • Ella said that the critical character in the string area is going to be a cellist, and we determined that the background music of that area can have one of the tracks playing consistently, one played when Gloria bows her violin and the last played by the cellist
  • While looking through my code for triggering camera changes, I noticed the likely cause of the tower’s roof camera not working properly, being that one of the conditions didn’t check that the Boolean for looking at the ensemble after the piano interaction was false before changing the camera target

18 037

  • I briefly made it so that Gloria doesn’t spawn an infinite stream of ping particles when pinging with the Triangle Man

18 038

  • Adam came to the computer room and tested the game, giving feedback as he went:
    • He said that with the wind BGM track, the non-woodwind instruments can be cut, since it doesn’t really sound like a wind track
    • He said it’s not clear when the player is leading in the wind interaction, so there might need to be some more visual feedback
    • He told me that characters should ping before interactions start, because it’s not clear that pinging is playing the violin
    • He said the wind interaction feels long after synchronising, and the brass interaction feels even longer because it’s so easy and there’s not enough variety (bearing in mind that players will likely hold the line in one position to drop balls consistently into the trumpeter’s gap)
    • He felt that the snow in the triangle area looks like white sand, because the broken buildings look like shipwrecks to him, but he acknowledged that the snow particles would probably change that
    • He couldn’t see the player’s line in the triangle interaction, and I agreed that there needed to be more line visibility
    • Adam felt that it’s not clear when the player takes the lead in the triangle interaction, so the grid could light up to signify it, and the added ping particles would probably help
    • The pings coming out of the Triangle Man’s head without him having a triangle, combined with the sounds of the triangle area’s background music, made Adam think the Triangle Man is telekinetic
    • He reiterated that losing control over the camera is weird
    • Both Adam and George felt that I should pull the camera for climbing the tower back further from Gloria, possibly so that you can see her feet as she’s running up the stairs
    • To overcome the lack of direction telling the player to walk inside the tower, Adam said that I could switch to the camera inside the tower when Gloria reaches the doorway, instead of having to enter it before the camera switches
    • George said that he wanted to have the camera for when Gloria reaches the outer part of the tower’s staircase be a side-on view of her ascending, and I felt that I could have it switch when she reaches a certain altitude on the stairs
    • Adam felt that the triangle interaction was the most difficult, and he was fine with the piano interaction being difficult
    • He pointed out that the camera flying through the tower at the start of the piano interaction looks bad
    • Adam said he felt good when the music became uplifting, with the instruments joining in
    • He said that while he’d have liked us to have started testing earlier, we’ve been making strong decisions because there’s a team of us (and internal testing is a thing)

img_3930

  • While testing the game, I saw that the camera for the roof of the tower was still broken, so I determined that I’d need to fix the conditions for triggering different camera to only set the camera target as anything else if the associated Boolean is false
  • Speaking to Adam, Ella and George, I came up with a list of priorities to work on throughout the evening and the following day:
    • Make Gloria able to play with the BGM (and the cellist)
    • Make the piano mechanic have a simpler pattern
    • Make the piano mechanic smash its barrier after a counter value (rather than when the Piano Man has reached a point of fully matching the player’s position)
    • Add the other characters’ lines to the piano mechanic
    • Make the characters ping during the interactions, reflecting whether the player is synchronising
    • Make characters ping before interactions start, to emphasise how the characters are trying to play with and understand each other
    • Change the materials on the brass area clock (to make the trumpeter’s line more visible)
    • Fix the piano interaction’s final camera
    • Implement Sid’s particles
  • When Adam left the room, I headed home

Evening:

  • After having dinner (and replying to an important email), I made it so that the camera only switches to the main tower cameras if the Boolean for looking at the ensemble on the roof is false, and when testing the game, this fixed the issue with the camera not properly transitioning to the camera target on the roof
  • I programmed a script to hide and show the game’s core characters in their standard positions and atop the tower based on whether the player has synchronised with the Piano Man, and when I tested that it was working, everything seemed to be fine

18 041

  • I gave the cogs on the brass area’s clock tower a new material, and tweaked its values to be darker than the initial material (so that the brass interaction is properly visible)

 

 

 

18 042

  • I tested that the brass mechanic was now more visible, and the change definitely helped a lot, though once I saw which parts I could leave as the old material I reverted a couple of the materials to make the clock look a bit cooler
  • I spent a while adjusting the ping particles for the characters atop the tower, so that they were all white and synchronised versions, emitting each character’s respective symbols

18 045

  • Remembering to reference an important detail of the game’s story, I copied the Piano Man’s piano to put a second one behind it, and placed a flower from the foliage that George added to its seat, pointing out Piano Man’s lost loved one
  • Bernie and Ella felt that it’d be better to have two seats instead of two pianos, due to better implying that the two were a couple, so I copied Piano Man’s seat, moved him and his seat to the left and placed the flower on that seat

18 048

  • I suddenly started feeling very ill
  • After spending a fair while feeling dead and being incapable of working, I weened myself back into work by importing George’s model for the cellist and using Ella’s drawing from earlier in the day to create unlit materials for her

18 049

  • I spent some time looking through my code for triggering interactions to find how I was making the player stop plucking their violin when triggering interactions, so that I could follow through with Adam’s suggestion and make the player ping a couple of times with the characters before the interaction starts
  • I found that it was because a timer value for determining when the plucking is happening was being reset to its full value (signifying the plucking has finished) each time an interaction was triggered, so I commented those lines out (on top of slowing down the timer increase speed, thus making plucking last longer)

18 050

  • After adding a couple of audio source objects to the scene (for Gloria and the cellist), I programmed a short subroutine in the music management script to set the volume of the audio source for Gloria playing along with the background music based on whether she’s bowing/plucking the violin

18 051

  • I updated the music management script to appropriately turn on and off the music played by Gloria and the cellist

18 053

  • Using Audacity, I merged the viola track and one of the violin tracks of the separated string area theme, so that I could use them as one background theme (and have the other violin track and the cello track given to Gloria and the cellist, respectively)

18 052

  • I tested that playing along with the music was working properly, tweaking the values of the audio source components as I went (setting Gloria’s and the cellist’s to use 3D space without the Doppler effect, with a linear rolloff and, for the cellist, a low range)

18 054

  • While testing the ability to play along with the background music, I remembered that I needed to fix the visibility issue for the triangle mechanic and make the synchronisation and reversal more obvious, so I gave the grid a different grey as a base and first made it gradually change its colour towards the opposite of the synchronisation colour between the two characters based on the synchronisation values, but when I saw that this was garish (and made visibility worse) I switched it to simply transition towards a lighter grey
  • I pushed my changes to GitKraken, so that George could work on environmental changes
  • I briefly tweaked the rotation of Gloria during the brass interaction so that she and the trumpeter are facing diagonally in towards the same point

18 061

Wednesday

Morning:

  • Having not slept, I was struggling to stay awake or alert enough to work, while also still being brought down by the stomach bug
  • When I got to the computer room, I switched the triggers for the interactions to start coroutines that, after a pause, trigger their respective interaction, so that (in line with Adam’s suggestion) the characters first play with each other before starting the interactions (though I still needed to make the characters ping before and during their interactions)
  • I went to town, and was persuaded to have a coffee to help me to feel less dead
  • I showed Ella the game as it was going, and she said that it’d probably make more gameplay sense, in hindsight, for the interactions to start with the player leading, to act as a kind of tutorial for what to expect
  • Adam came in and watched me play through the game, just to check on progress and give feedback
  • I was told to make it more obvious that there should have been someone sat next to Piano Man, making it more clear that there are two seats, with a cushion colour (probably purple) to contrast with the black and a white flower to reflect mourning, possibly in a bouquet or a wreath
  • To keep the characters from rotating into their interaction positions before starting the interactions, I commented out the condition that has the characters treat their rotations as if they’re interacting when they’re only marked as waiting

18 064

  • I spoke to Ella about the alternative NPC colour palettes she was going to send me, and as well as explaining how to approach using the palettes, she said to give the standard brass NPCs no anklets if that’s possible, as an extra differentiating element for the main trumpeter

Afternoon:

  • I started thinking about the future and feeling quite unhappy
  • Even after going into town, the unhappiness was getting worse, and I was incapable of working for a fair while
  • Eventually, I pushed to GitKraken and merged branches with George, pulling in his additions and lighting changes
  • I added in Sam’s updated files for the string area loops, with the tracks matched in length (to prevent the desynchronisation that was happening upon looping before)
  • I made a Boolean in the NPCs’ ping behaviour script as a condition for starting the ping particle system for the interactive characters, and set it to be true when playing to trigger an interaction and false when the interaction is triggered, so that key characters ping in their language before each interaction starts
  • I tweaked the values of the wiggle between the two wind trails when they synchronise to get it looking nice, and made the brass interaction a bit more difficult, testing the changes as I went along

18 068

  • Adam had Ella and me go to his office to watch his daughter play through Gloria, and we took notes as we watched the playthrough:
    • After interacting with the cellist, she initially didn’t know what she wanted to do
    • She wanted to go into the sea at the start, and didn’t know where to go or what to do
    • She thankfully seemed drawn to the pinging cellist
    • She realised that she had to get to the tower, and figured out that she has to go around the long way
    • She always tried to climb stairs and ladders when she, but knew she wasn’t meant to
    • She didn’t initially see the flautist (as he didn’t come down soon enough), but did see and move towards the tower
    • She didn’t initially try to do anything during the wind interaction, and when she did, she didn’t immediately know to match the line, instead making her own patterns
    • It was evidently hard for her to follow the line in the wind interaction, so we need to make the patterns simpler, but she did eventually figure out that she needed to follow the line
    • She got stuck on the wind interaction, but said that it was at least good music that didn’t get annoying
    • She seemed to be trying to direct the line upwards or downwards, rather than have it mapped directly to the stick’s vertical position
    • She liked that the flautist’s line followed hers
    • She immediately knew that the interaction opened the gate, without having to look
    • She didn’t seem to play along with the music much while traversing the world
    • She initially tried spinning around the brass mechanic, then tried following the outer line instead of catching the balls
    • She realised the circle appearing in the middle, and thought it was from randomly spinning
    • It wasn’t until Adam said about it that she knew to catch the balls
    • She found it fun when she understood it, but when I made it more difficult, I made it too hard, so I may need to reduce the amount by which it degrades
    • She thought that she just needed to get the balls in initially after the role reversal, and then figured out that she could be more expressive
    • “I can taste the music…”
    • “It’s a Hulk, but white” (when seeing Triangle Man)
    • She said that the triangle interaction looks cool
    • She was pressing the stick into directions during the triangle interaction instead of holding it
    • She seemed to want to stick to following one part of the line at a time, rather than shifting to following another part when missing
    • Adam suggested to try holding the stick instead of flicking it
    • She couldn’t tell until a while afterwards that the Triangle Man was following her, so we probably need to make the role reversal clearer
    • She said that the levels are good, but she found them hard to understand
    • Initially, she went the wrong way to the exit in the triangle area, but got there eventually
    • “It’s going to be the prince, or something, playing the piano” (when thinking about what would be at the top of the tower) – Ella felt that the flower could be misinterpreted as a gift for Gloria
    • She didn’t immediately know to cross over inside the tower, because she couldn’t control the camera
    • She didn’t know the Piano Man’s gender when she saw him
    • The game stopped when she triggered the piano interaction (a bug that I later fixed)
    • She initially tried to bounce on keys the Piano Man had bounced on already, so we determined that we should probably pivot the piano interaction into allowing for that (like with the triangle interaction)
    • She quickly realised that when she did the right thing, the bars moved closer together
    • I need to make the pattern easier/more memorable for the piano interaction, as she was having difficulty landing on the same space as the Piano Man (Adam had to help her out)
    • “Look how cool that looks” (when the double helix moves up the tower)
    • She seemed to like that the characters were all together at the end
    • She said that the game was a quest for Gloria to get everyone back together again, like they’re getting a band back together
    • She liked the scenery, the characters and the music, and her friend particularly liked the music for the tower
    • She said that she’d play it again, and that the copying is a good idea, but it needs to be more obvious in the wind interaction to have to copy the flautist’s line
    • She said that after the first mechanic, you get what you’re supposed to do
    • In the triangle mechanic, she found it hard to get the diagonal movements, but felt that it looked cool
    • She liked the classical music, and the variety in characters (their sizes, hair colours, et cetera)
    • Afterwards, she said to Adam that there could be a hip-hop/DJ character
  • After his daughter left the room, Adam briefly gave Ella and me some feedback from what he picked up on about her playthrough:
    • He felt that there needs to be more visual feedback that you’re doing well in the wind interaction
    • He said to make all of the interactions more forgiving
    • He told me to make the balls in the brass interaction bigger
    • He agreed that I could make the trumpeter synchronise more slowly (so that the circle fills towards the end of the song)
    • Adam felt like the bouncing might have appeared to be a bad thing in the triangle interaction, so we have to make it more obvious that it’s the right thing to do
    • He said to make the keys wider in the piano interaction

Evening:

  • I headed home, with a mental list of things to work on, and became quite unhappy again on the way
  • After having dinner, I added some code in the wind mechanic’s synchronisation script to set a Boolean that determines which ping particles the characters should spawn based on whether the player (or the flautist) is synchronising, and programmed the NPC ping system script to make the flautist emit solo or synchronised ping particles during the wind interaction accordingly
  • I added support to Gloria’s script for handling ping particles to theoretically ping either solo or synchronised particles during each interaction, and to actually do so during the wind interaction
  • When I tested that it was working in the wind interaction, it was, though I still wanted to put ping particles on the lines themselves to make them easier to focus on during the interaction

18 077

  • When I was testing everything, the piano interaction failed to trigger like it had with Adam’s daughter earlier, so I looked through the code for the potential cause
  • I saw that the code was referencing a component that the Piano Man didn’t have (being the script for the ping system), so I gave him the component and edited the script to only call the necessary subroutine when the Piano Man is using it

18 078

  • When testing the game, the fix worked, but Piano Man wasn’t emitting any ping particles

18 079

  • I gave the brass interaction a value that determines whether to do synchronised or solo pings, and made the balls that are dropped change this value on their final frame, based on whether they made it to the middle or rebounded

18 080

  • For the triangle interaction, I could simply rely on the Boolean I was already using to determine whether the grid should be pulsing to set the type of ping, and I used these Booleans to set conditions for the different pings for interactions with both NPCs and Gloria
  • I spent a short while tweaking the values of the Piano Man’s theme, so that it comes from the tower in 3D space and maintains its volume over long distances

18 085

  • I tested that the characters were pinging properly during the interactions, and everything seemed to be fine
  • George sent me a model for the string area NPCs, and I imported the old model for the flautist to use as a wind area NPC

18 088

  • I decided that the model was relatively unpolished compared to the final version, so I’d just stick with palette swaps of the flautist’s model
  • Using the colour palettes that Ella sent to me, I created three sets of materials for wind area NPCs

18 089

  • I then did the same for the brass area NPCs, again using the palettes that Ella sent to me

18 090

  • I then did the same for the string area NPCs, and all of this was slowly adding up to a lot of time

18 091

  • I then started placing NPCs around the environments and adding in the colour variations using the materials I’d created
  • Placing NPCs around the string and brass areas took a fair while, with the individual values that needed tweaking in each case

18 094

Thursday

Morning:

  • I tested that things were working with some villagers in the game, and while there were a couple of occasions of Gloria not knowing which NPC to face when synchronising with multiple, everything seemed fine enough

18 095

  • I wrote a very brief script to make the characters atop the tower continuously play their respective ping particles

18 096

  • I tweaked the brass mechanic’s values to make the synchronisation value degrade less quickly, the trumpeter’s synchronisation increase more slowly and the trumpeter match the player’s angle over fewer beats (to hopefully encourage more experimentation for the player)
  • I decreased the number of keys in each row for the piano mechanic, so that the keys would be wider and thus more forgiving

18 097

  • After attaching the ping script I’d just made to the appropriate game objects, I tested that the piano interaction was working properly, and saw the the Piano Man and Gloria weren’t playing their white ping particles in the final shot, and the player needed to be slightly faster to keep up with the Piano Man, accounting for the larger keys

18 098

  • I reordered the particle system game objects to be referenced properly, so that the white ping particles would play, and I adjusted the player’s speed in the piano interaction, such that it was more possible to keep up with the Piano Man
  • Running out of time and saving the rest of the work on the project for after the deadline (and before the degree shows), I started working on the final week’s blog post, which brings me to this moment in time

I feel really weird right now. Today, my educational life is coming to a close, and I’ve been pushing myself as far as I can to get to this point (I haven’t slept in days). And then, sat here in the studio, aside from the feeling of panic, it doesn’t feel particularly climactic. There are things that I want to be adding to the game over the next few weeks, so that it’s in as good a shape as possible for the degree shows. There’s visual polish that needs to be done, but it’ll also be nice to have time for tweaking the gameplay to make it as fun as possible. Either way, I’m proud of what we’ve accomplished so far, and I look forward to making it even better when the deadline isn’t as tight.