Penny Wise and Pound Foolish

Jun 26, 2018

Not sure where the phrase "penny wise and pound foolish" comes from. I suppose I could look it up on the internets, but that seems like too much work. As a kid, this phrase made no sense to me, it was only later when I realized that a "pound" was a form of English money that it kind of fell into place.

We did a lot of things right when building Thimbleweed Park. We also did a few things wrong. It goes with "making games".

One of the things I messed up on was not integrating FMOD. For those of you not in-the-know, FMOD is a cross-platform music and sound middleware engine and it's quite impressive.

When Thimbleweed Park started, one of the decisions I had to make was what to do about sound. I was using a thin layer of SDL to create windows and pass along input events (rendering didn't use SDL for performance reasons). SDL also has a minimal sound system called SDL Mixer. It was bare bones, but it got the job done for the simple prototypes I was working on at the time..

When Thimbleweed Park pre-production started, I looked into sound systems. The two big choices were Wwise and FMOD. At the time, FMOD was charging $5000 for the first platform and a few thousand for each additional platform. They did have Indie pricing where the first platform was free if your budget was less than $500K.

Since we raised $560K+ on Kickstarter, this was just out of reach. I suppose I could have fuged the budget, but I don't like to do that kind of stuff (and the Kickstarter amount was very public), plus I always knew there was the possibility that we might raise more money. $5000 + the additional platforms would bring the licensing cost of FMOD to just over $10,000. I was pretty paranoid about the budget and not having enough money to finish the game. I really didn't want to be one of those Kickstarters that runs out of money due to poor planning or scope creep.

So I made the decision to stick with SDL Mixer. It got the job done. I was being penny wise.

SDL worked great on Windows, Mac, and Linux, but when we started the Xbox/Win10 port we began to run into issues and ultimately decided to ditch SDL for that port. Along with ditching the main part of SDL we also lost SDL Mixer. In the beginning, it didn't seem like too much work to recreate the simple backend sound system of SDL Mixer and like most things (about to get crazy fucked up), it was up and running pretty quickly.

On the PC side, David and I started to build the game and with that came wiring in sound effects. In the beginning, it was pretty simple, but as we proceeded we got a lot cockier and wanted more complex features in the sound system. So I added them. And added more. And then added more.

Evolving the sound system became a large chunk of work for me and each time I did that, we needed to make sure the Xbox/Win10 version was on par. This was the beginning of warning signs I should have caught, but like boiling that frog (which is a myth, btw) before you know it, the water is boiling.

There were a couple of times I thought about FMOD but figured integrating it at that point would be too much work (how wrong I was).

When we raised some investor money to do new ports, we also had a little extra money so we hired Elise Kates to create sounds. This only complicated matters because her sounds were a lot better than our "programmer sounds" and she wanted to do more complex audio. So I added to our homespun sound engine. More work for me (and everyone else).

Then we started the Switch and PS4 ports, neither of which could use SDL out of the box, so we had to get the sound engine working on those new platforms.

Yeah, in the end, we spent way more than $10,000 on sound coding. Penny wise, pound foolish.

A month ago I was bored (when I run into creative blocks, I build tech) and thought "Hey! I'm bored. I'll integrate FMOD into my engine. It took me two days and FMOD was fully functional.

Plus... FMOD changed their license, so it is now it's a flat $5000 for all platforms (and still free if your indie budget is less than $500K). Not only would FMOD have saved us a bunch of money, we would have had much better SFX too boot.

If I look back on the three big things I regret about Thimbleweed Park production, not integrating FMOD is one of them.