Jun 26, 2018

Penny Wise and Pound Foolish

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.

Thomas Knox

Jun 26, 2018
What are the other 2 things?

Nor Treblig

Jun 26, 2018
Great! That's one point we can check off on our ToDo list for TWP:SE!

David Fox

Jun 26, 2018
I vote we redo the entire game with FMOD. Should only take 2 days, right?

Nor Treblig

Jun 26, 2018
So it's decided!

Btw. here are point 2 and 3 from his list:
[ ] record an answering machine message
[ ] add more pirate themed assets

Lucien Kurgan

Jun 27, 2018
PWPF can be used in so many levels. Interesting post Ron.

Lucien Kurgan

Jun 27, 2018
PWPF can be used in so many levels. Interesting post Ron.

Zak Phoenix McKracken

Jun 27, 2018
So, you kill two birds with one stone, that is: a better audio management on programmer's side and bugfixes in Win10/MacOS audio on the user's side.

Daniel Wolf

Jun 28, 2018
In German, we have a similar saying with the exact opposite meaning: "Wer den Pfennig nicht ehrt, ist des Talers nicht wert" literally means "He who doesn't value the penny, isn't worth the dollar."

I think that makes us Germans a penny-wise people. ;-)

dada

Jun 28, 2018
Here in my eastern Europe country we say "I am not rich enough to buy cheap things."

Please Ron what were the other two things?

Nigel

Jun 29, 2018
In English too there is the opposite saying as well: "look after the pennies and the pounds will look after themselves"

Vince

Jul 04, 2018
The best one I heard here in the UK was, 'I live beyond my means, because I am worth more than I can afford!'

David

Jul 11, 2018
Can you give us an example of a more complex audio behaviour in TWP? A lot of what I remember is looped atmospheres and one-shots.

Gffp

1d ago
That's a great saying! Thanks and better to keep it in mind!
Here are the rules for commenting.