Homegrown 0.4.1 - Sound Effects!
🕑 Added 2023-09-29 11:49:29 +0000 UTCThe big UI makeover has officially begun! However, this first step had nothing to do with visuals. Until now my engine had no support for playing sounds, and seeing as I obviously want the UI (and the rest of the game) to have sound effects I first needed to implement an audio system into my engine. So that's what I've been doing over the last couple of weeks, plus I've also filled the game with some placeholder sound effects for good measure.
Gamer Tier+ patrons can download and play Homegrown here.
And for Programmer Tier+ patrons the code is available here.
New In-Game Sounds
If you give this version of the game a try the most obvious change you'll notice is that the game is now full of sounds! However, I should warn you that these are all temporary placeholders and I haven't actually put much effort into the sounds themselves. My aim this update was simply to add support for sound effects into the engine, so actually creating some polished sound effects will come later. For now I've borrowed a lot of sounds from Equilinox and found a few free online sounds, so you'll have to forgive the quality not being as great as it could be!
Despite this, I think these placeholder sounds make quite a big difference and definitely add something to the game. Your actions feel a lot more impactful when you can hear the water sprinkling from your watering can, or the stones crunching while you dig.
The Audio System
The Equilinox engine of course had its own audio system, but I wanted to have another go at creating one from scratch for Homegrown. There were a lot of things I felt I could do better this time, some issues that I wanted to fix, and just generally the audio code in Equilinox was not the cleanest.
So I started fresh, using the OpenAL library again to build a shiny new audio system. I still used the Equilinox code as a reference and reused some parts of it where relevant, but overall I feel like I've created a much better structured system with much cleaner code this time round.
Like the Equilinox system, the new audio system supports 2D sounds, 3D sounds, and sound streaming (for longer sound files such as music), but it also comes with the following improvements over the old system:
- Full support for .ogg files (in Equilinox I had issues playing multiple .ogg sounds at the same time, so was only able to use them for the music while everything else used .wav files).
- Easier way to control the master volume of different audio types (e.g. volume slider for all ambient sound fx, or all music, etc).
- If OpenAL fails to init (e.g. because of an incompatible sound device) the game can still be played without sound (in Equilinox the whole game would just crash).
- Better support for varying pitch and sound for sound effects (e.g. the clicking sound effect plays a random click sound with a random pitch each time).
- Tidier code with better structure!
- Compound sound effects - layered sound effects that I'm using for the tool actions. These are sound effects that can be constructed in a component based manner and generate slightly different variations each time they play to avoid repetitive sound effects (see the image below).
Example code for creating a compound sound and an example of a sound effect it might generate. Compound sounds can generate sound effects of any length (they keep playing until told to stop, which is great for tool actions which are of varying duration) and each playthrough will generate the sound effect differently.
Next Time...
Next time it's on to the UI overhaul proper! First up I need to make some final decisions about the design and layout of the game's UI and I'll then start working my way through all of them, giving them each a makeover. A main menu for the game will also be coming soon!
Thanks as always for your wonderful support :)
Karl
Comments
Lula Kial
You can find many interesting sound effects at https://soundboard39.com
Varun Krishnan
New patron here! This is amazing the game is incredibly fun and relaxing to play and the visuals and sound effects create a great ambience! Excited to see what's to come!
ThinMatrix
Oh, that's very small haha! I'll get that fixed during the UI updates. For now you can increase the UI size with the + and - keys on the numpad (or the . and , keys should also work if you don't have a numpad).
Mohammed
The UI seems to be a bit funky on Macbook Pro 2023 M2 seems everything is very small so abit hard to play but seems really good I attached an image from my one drive no dodgy link :) https://1drv.ms/i/s!AsJSdn6Sc3EMvs1iuJqqOSphJUZZpw?e=gCrPhX
KC Oaks
I love your compound sound concept. I wouldn't have thought to do what you've done in that way. You continually give me new directions to think in. Great post!