I spent most of the past week working on the sound effects and music for the game. It’s amazing what a difference audio makes to the overall feel. I’ve run into some struggles with the system and I think I’ve managed to overcome them, or at least made a plan, but finalizing the audio system is currently the top priority. Since everything has been about sound this past week, I don’t have any screenshots for this post. Hopefully the incoming wall of text isn’t too much. The screenshot used in the preview image is from part of the map I added this week, but that section isn't accessible from the updated download this week, sorry folks.
Life after silence
The game has been devoid of music since its inception. The original ludum dare version had awful sound effects that probably took more away from the game than added to it, but no music. When I first decided to take this concept and run with it, art was my top priority. I spent almost a month doing nothing but drawing sprites and tiles, and writing songs. I’m no artist, let’s be clear about that. I’ve learned a bit along the way about drawing and doing pixel art, and I’ve been in a few bands so I know a few things about music theory. The key to both of these is that I operate with a trial-and-error methodology. I know enough to recognize the quality of what I’m producing, but not really how to consistently achieve something of high quality. I generally plod along until something feels right, then copy, paste, and modify for the remainder.
The graphics were obviously the top priority here, but I did actually write at least parts of all of the songs I wanted to have in the game. After hitting beta and tackling the difficulty and design issues, music seemed like the next logical step. I went back to the songs I had written and tried to actually start putting them into the game. The music is MIDI, and sounds horrible, so I’m not all that pleased with it. I did find a good sound font to use for it though so it’s not as bad as it could be. After finishing the songs, rendering them out, and actually putting them in game, I have to say I’m pretty pleased with the results. The game feels much more like a game, more alive and engaging. The intro screen draws me into the story with it’s ominous music. The memory mode feels like a dream now instead of just the normal level with a different shader. The run mode really imparts a sense of urgency. The score is bad, I want to spend more time on it, and ideally actually record it, but neither of those things will probably happen.
The effects of sound
All of this is good, the feel of the game is much closer to where I want it to be and I’m really pleased with the impact even mediocre music made on the product as a whole. The down side is that sound effects are a much trickier beast to tame, but no less important to the feel. While I do have some small background in musical composition, I have never once had to make sound effects before. There is an entire art devoted to it called Foley that I’m just starting to learn about. It’s a complicated and difficult process that is every bit as demanding as everything else I’ve done, and here I’m starting from square one. I started by making a list of the sound effects that I wanted to have. After making a list that was much too large, I decided to take a small slice of the sounds effects and implement them to see how the process would work on the whole. There are a lot missing, but the ones that are in there I think aren’t intolerable.
This highlights an issues that I’ve struggled with for most, if not all, of my game development activities. I know that I don’t have the skill to sprite an entire game and have it be of high quality, or do the music or sound. My skill lies in programming. When I started, I was set on writing my own engine for every game, doing things from scratch because I’m a programmer and I should be responsible for all of my own code. I’ve since overcome that hurdle and accepted the fact that making an engine is a task in its own right, and I’m trying to make games, not engines. Should art and sound be the same? I would love to contract out all of these pieces that take my time away from actually designing and coding the game, but as of right now I don’t have any money to spend on it. Free game engines are abound, but free art, sound, and music of any decent quality are very rare, and the chances of finding enough puzzle pieces from those to put together a coherent picture are slim. If I make any money on this project, it’s all going to fund contracting of art assets for future projects.
Not what it says on the tin
The engine that I used to make this game is fantastic. The guys over at libGDX do an amazing job making a wonderful java gaming engine for free, and I can’t sing their praises enough. That being said, the audio aspect of the engine is in dire need of some love. Basic functions that I didn’t think to even check for don’t exist. Things like skipping around in the audio, or adjusting the pitch or pausing sound effects, are all absent from library, even though they are advertised on their site. Or at least I should say they were. Some of those functions have been added to newer versions of the framework, but I’m only actually one release behind and the new updates don’t fix all of those issues. I searched their documentation and community forms for potential workarounds and saw that these features have been requested repeatedly for at least a year in almost every case, and the developers seem to have no intention of adding them any time soon. I understand that their priority right now is their 3D framework, but it’s a bit disappointing how bare this part of the engine is compared to everything else, and how little the developers seem to care.
In order to even get the workaround fixes in place I need to update the version on the engine the game is using. I don’t know what kind of undertaking that will be, but it’s on the list for the coming week. I hope it doesn’t break anything I have in place, but I don’t see any way to not have the audio be a complete mess without it. The updated beta for this week has a few key audio issues, namely with chronostasis and pausing the game, but even with those issues it’s a drastic improvement.