Accounting and Save Games

Despite yesterday's optimism about today, I actually got much less development done. However, I still got a lot of work done. Here's why.

This morning, I actually finished my PR rounds a bit early, and had some time to spare before lunch. It occurred to me that I hadn't reviewed profits/losses for Blue Bottle Games in almost a year. With tax season coming up, that's something I'll have to do. So I decided to dig into the books.

It took an hour or two, but I was able to get 2013 sales data entered, along with the various expenses for operation (paying contractors, services, PC repairs, postcard materials, currency conversion rates, that sort of thing).

Overall, it was a slim year. With the initial launch way behind us in March 2012, and the Desura launch in October of that year, customer awareness was fairly minor throughout 2013. I was still selling copies, but not really enough to pay the bills.

"But what about the Steam launch," you say? Good point. Even though the launch was December 5th, 2013, technically, that income doesn't fall in 2013. Like many vendors, the money from sales tends to be distributed at the close of the following month. So for me, that means my first Steam paycheck is in about a week and a half.

The good news is that the Steam paycheck is big. Not necessarily "I have no worries anymore" big, but big enough to cover 2013's shortcomings, plus some. I'd like to maybe do a more detailed post about it when I find time, similar to the various "____ by the numbers" articles that Andy Moore and Lars Doucet have done. For now, though, let's just say that Steam was a welcome life raft :)

The latter half of the day was spent on a tricky save game bug. I was trying to test a conversation fix, and I ran across this peculiar bug where the game wouldn't load again after saving. It wouldn't always happen, just sometimes.

It took me near an hour and a half to figure it out, but it appears to be the creatures' faction standings data that's tripping up the save file read/write. If I save that data, the file becomes unreadable. If I skip that data, everything's fine.

It's not unusual data or anything, as far as I can tell. It's just a "Dictionary" data type (a.k.a. hash table) that maps integers to float values. E.g. 1 = 0.44, 2 = -0.3, etc. I've saved more complex Dictionaries before (some even with arrays as data), but this one seems problematic.

Tomorrow, I'll need to look into it a bit more, and maybe I'll need to serialize the data manually, instead of trusting Flash's built-in serializer. Fun! (Not so much.)

Anyway, I'm glad I found the bug, as it'd no doubt frustrate people to lose their save files so easily! Hopefully, I'll have a fix figured out tomorrow, and be back on conversation duty.

Have a good night, all!


Malacodor's picture

Maybe adding an upgrade option to Yukon edition for people who already have a standard version would bring some extra money?

Ran around with a clown mask before it was cool