GameSynth Adventure UI – Part2: Interactive Puzzle



In Part 1 of this series we looked at simple one-shot button sounds. In this part, we are going to look at designing for a more dynamic interface which will give the user some feedback from their interaction. I’ve done this in the form of a keycode puzzle UI which will have sounds for button presses, as well as distinct “correct” and “failed” sounds for combination guesses.


Once again, GameSynth offers some great tools for crafting UI sounds. This time we will be making more use of the Modular model, as it offers a toolbox of sound sources and effects. Whereas most synths have a singular dedicated workflow, the Modular model allows us to mix and match parts in whatever order we want!


Two powerful source modules for creating UI sounds are Chirp and Modes. Chirp generates a short noise burst which can be tonally shaped, and Modes offers us shimmering harmonic resonances that simulates an object being struck. Together they can create some convincing sounds of objects being interacted with. For the click and all other sounds in this blog, these two sources formed the snappy metallic basis.


Since clicking is a simple interaction, there isn’t much more we would need to do besides maybe some processing to sweeten it up. However, for UI sounds which convey information, we can make use of the Sequencer, or other similar Logic modules.

Incorrect Guess

The Sequencer not only allows you to control playback over time but also enables you to send custom data during that time. Thus, to create a sound which implies a failed guess, the third click in the example shown below sends a lower value to the pitch input of the Modes (red dot on the Events graph), and a higher damping value to the Chirp (green dot on the Events graph). Decreasing pitches and using an odd number of beats can help to create a negative sound.

Correct Guess

And, much like for the incorrect guess, the same core components are used to convey information. This time, the Modes’ damping is decreased, which lets the sound ring out for longer. This creates the effect of a spring being released or freed.


Implementation for this part involved setting up a number keypad and creating some primitive logic to keep track of the user’s input. If button presses is less than 4, simply play the click sound. If this is the 4th button press, check to see whether the guess is correct or not, and play an appropriate sound.

Also, unlike in last month’s blog, I split On Clicked into On Pressed and On Released so that both actions had a corresponding sound effect.