As of this week, the sounds for the game have been finished, and raw implementation of sounds in-game is approximately 70% finished.
|Task||Time Spent (hours)|
|Sound-related tasks||Total time spent implementing sounds for player character.||4h|
|Total time spent implementing sounds for Greed.||3h|
|Identifying currently missing sounds in-game||1h|
|Sourcing royalty-free effects to mix into original sounds for the game.||1h|
|Mixing remaining auxiliary / missing sounds.||4h|
|Creating a python script to generate gibberish to suit Lil’ Lucifer.||2h|
|Sourcing a suitable speech synthesiser, using gibberish text dialogue as input and converting this to (non-emotive) audio dialogue.
Experimentation with pitch and speed; preparing sounds for Audacity import
|Mixing Lil’ Lucifer’s voice and splitting all samples into individual dialogue files.||4h|
|Making showcase video for remaining sounds, including missing, auxiliary and Lucifer’s audio dialogue.||1h|
A large part of the work this week was sound implementation in the engine. Last week I first touched on this through completion of sounds related to the Heresy boss and level, however this week this line of work expanded into getting the raw sounds in for the player character (essential as Lil’ Death’s base sounds are applicable to all playable levels), as well as the Greed level as the mechanics were complete enough to import sound into before this week’s critique.
Implementing the player mechanics for basic character controls such as jumping was quite straightforward, however when activating and deactivating loops based on a “hold” command, it was found to be easier to make the persistence of the sound depend on the existence of the blocking field object itself.
The successful and failed dodges were also implemented:
And finally, the 3 hit combo for the player character. The left event graph segment bases which slash sound to play on whether or not the player character is being empowered by Lucifer. On the right, the different grunts for the 3 hit combo were added to this segment to complete the attack sound for the player.
Implementation for the Greed level included working on the following:
- The Greed Baby
- Normal teddy
- Stuffing projectile (one-armed) teddy
- Running charge (headless) teddy
- Sub-objects such as projectiles, etc.
- The level blueprint (for sounds related to teddy round/wave flow control)
Despite the wide range of blueprints used in this level, the implementation for these sounds was quite similar to the Heresy boss and thus screenshots have not been included in this blog post.
Apart from this, I spent some time identifying and creating any sounds missing from the game. These only consisted of a few sounds (for teddy actions) in the Greed level, as well as some auxiliary menu sounds which will be implemented in the future.
Along with these sounds, a task that had been in the backlog for a long time that I managed to complete this week was completing the synthesized dialogue from Lil’ Lucifer. The problems with last week’s dialogue was that it was too verbose, so I started by writing a simple script to generate one-syllable gibberish words in order to avoid Lucifer having an accent like last time.
The next step was to curate these words and split them into chunks of dialogue, before inputting them into a speech synthesizer called Balabolka where I could adjust various aspects such as pitch and speed.
Finally, I mixed these sounds in Audacity to come up with a range of short and long dialogue samples. Some of these, along with the other sounds designed this week, are featured in the video below:
The tasks for next week are as follows:
- Implementing remaining level sounds (Treachery level)
- Creating a dialogue switcher for characters with vocal dialogue.
- Fix bugs in Greed and Heresy related to sound.
- Tweaking volumes and implementing spatial, 3D sound for the sounds already implemented in Heresy.
- Start planning other level aesthetic aspects such as lighting / mood