Tuesday, 15 August 2023

Notes on third stage of development

- For this stage, I have a week of development, so I want to make a new mechanic for the game, NPCs for the player to interact with. 

- My plan for these interactions is to have multiple NPCs milling about the level, some up platforming challenges for the player others just on the ground. When the player approaches one of these NPCs, they will sing 4 notes to them, and then the player must sing these back. They will keep repeating the notes until the player successfully sings the note pattern. After this, so in awe of the players singing talent, they become a follower. For the rest of the level, they will follow the player around and sing their note pattern in a loop. As the player collects more of these followers, each of the patterns start to harmonise into a series of chords as backing music

- My aim with these NPCs is to give the player a challenge to work at and a goal to complete the game and give them more inspiration to sing from. Currently, it's very easy for the player to get stuck singing one note, so I hope having the build-up of the harmony behind them will encourage them to either pick out notes to sing along to or harmonies on top, making the player more actively sing rather than just making noise of certain lengths.

- To start I had to compose the harmony lines each of the NPCs will sing. I did this on Musescore to easily export each line to an MP3 to use in the game. To build up these harmonies I used my a capella arranging experience to just create a melody line, then hum on top until I found harmonies to it that I felt sounded right. The only need for these chords was for them to fit the feel of the level landscape, which would be a bright, happy, open field, so I chose major happy chords. I also added a beat to be the starting sound for the player before any NPCs were collected so they didn't start in silence.


- As I had already made some NPCs for the tutorial, I used the same simple character design for these. I started by making them turn towards the player once they had been triggered, and from that, I created a simple sequence of events for the minigame to follow:

  1. Greet the player and ask them to copy the notes
  2. Sing the notes, displaying the letters in the speech bubble
  3. Wait for the player to attempt each note and display to the player what note they have just sung so they can see how well they are doing.
  4. Check notes match
  5. If they don't, repeat from 2
  6. If they do display a congratulatory message
  7. The main NPC disappears and reappears as a follower behind the player

- I set up a system so that when the player enters the mini-game, the backing noise will fade out, I did debate matching the notes an NPC sings to the timing of the backing but decided that may be too hard for a player to need to sing the harmony along with the others. Also, it was already a challenge getting all the tracks for the backing harmony to play in time with each other, so it would be hard to get this track playing with the backing each time.

- Setting up the note checking was easy enough as I could use the note recognition system I'd created for the old turning system. Once I'd created the minigame sequence, in trying it out, I found myself getting very frustrated as for some I would often be one semitone out on one note, and I had to keep reattempting until I got it exactly right. So, I decided to add a leeway system. When a player has a leeway, it will be automatically used to let them get away with a single note being a semitone out, so if the pattern was C G A C and the player sang C F# A C#,  with 2 leeway, they would successfully complete the mini-game. The notes the system shows to the player if they are a semitone out with a leeway correction are the notes they are being corrected to, so it's not confusing to the player when they are told they've got the note pattern correct, but the note display doesn't match. The amount of leeway a player has is calculated by (amount of attempts) % 2, so they get their first leeway on their 3rd attempt. There's space here to have difficulty levels in the settings to alter how quickly the player gets more leeway.

- When the NPCs follow the player, they will rotate to be behind the player as they are moving forward, so when they are standing still, they can turn around and see their follower collection behind them.

- Next, I created a new environment for the sunny forest level. Here, I needed some obstacles to let the player make use of the jump mechanic, so I added things like a log to get over a river I made to reach a new section and some floating platforms to get to an NPC at a higher height. I made sure to add 5 clearly different sections for each NPC to go explore. I made this environment by putting together models I found available for free online at OpenGameArt.org. This is a prototype to explore the mechanics of the game, so it doesn't look the best as I am just putting together a flat pack of models, but it will do for now.

- With the floating platforms, I had to keep testing them and altering the heights and lengths of the platforms to ensure there was enough space for the player to stop and they were the right hight to jump up. Due to the need to recognise a long note before stopping, the platforms have to be long enough to cater for the stopping distance.



- I also want to test out an extra mechanic for the game, using dynamics and volume. I had the thought of incorporating a Slender-like level in a forest where you must save the NPCs from a monster. This would give the next level a completely new feel and keep the game interesting for the player, adding the challenge of keeping quiet so as to not alert the monster.

- For this level the harmonies I made were minor and creepy, starting with a slow minor descending pattern instead of the upbeat beats of the last level (seen in the bottom bass line of the music)  


- I just dotted the NPCs around the map (with spotlights so the player can see where they are), adding the new note patterns and audios to them for this level. I didn't want to add any platforms or jumping obstacles to this level for the moment, as it's mainly to test out if a change in mood would work and see this new mechanic in action.

- I gave the player a torch in their hand to let them see around them, letting the area be dark and feel more creepy and ominous. I also added that it turns red when the player is too loud. The player has 3 strikes until it's game over, if they are too loud, the torch glows red, and a monster growl plays in the headset.



- I've also added a starting hut where the player will be told they are safe so they can test out how loud they can be. Here, the torch will glow red if they are too loud, but there is no monster growl, and they won't lose a life.

- I would like to add a warning colour of the torch to warn the player that they are bordering on being too loud and a life indication so they can see how many strikes they have left, but I currently don't have time before the next playtest, so that will come in later development if this mechanic works out.

- Lastly, I added an extra NPC that appears once the player has collected all the followers in level one, telling them about the new quiet rule of the next level and building the story of going to reduce the NPCs. I also added a finishing state, where all the NPCs saved are around the player to say thank you and sing the major chord pattern from the first level.


- After a bit of time has passed, the game transitions back to the start-up screen where the player can choose to play the game again.

Insights & Conclusion

- At the start of this project, my main idea was to make a game based on exploration. The player would sing to move about a world, collectin...