Mobile Bugs Slashed from 3 to 1

Hey Folks! I was a good boy and tackled some mobile bugs today. The website had me distracted for a bit, but with that stabilized for now, the next priority is to get this mobile beast out the door!

The first fix involved crafting page swiping. When the user picked up and dropped an ingredient, then switched to quick recipes and tried to swipe, things got weird. Ingredients would all be moved around and sometimes ghosted when they returned to that tab.

We had to split this section of the crafting screen into two separate swiper UIs, and manually turn them off/on as the user tabbed between them. Not too bad to solve.

The second issue involved the store rating dialog/button. The dialog would appear as it should (after the player used the game for a while), but the main menu button for it wouldn't until restarting the game. The plan was for the dialog to appear and immediately make that button available. This way, we could show the dialog once, and only once, so as not to pester the player, but they would also have a non-intrusive way to rate the app if they decided to later.

This turned out to be a bit more involved, but basically was just a matter of moving the relevant rating logic from the play state of the game to the data handler, where anything in the game or menu could access it. This way, the game could trigger the button appearing, and the menu could query whether it was triggered.

Finally, I started working on a bug involving achievements. It seems that after unlocking achievements on the Game Center, a bug causes the game to announce those achievements each time the game is loaded. It basically amounts to message log spam once per session, but it's still a bit annoying/confusing. So I want to see if it can be fixed before throwing in the towel on it.

I spent most of the afternoon trying to solve it, but am still a bit stumped. I think I have the cause figured out, but don't know how to proceed. I ended up creating a huge spreadsheet of every situation for the achievement system (e.g. online/offline, previously unlocked vs. not, game in agreement with data vs. not, etc.), and have a slightly better picture now. But it might not be an easy thing to do.

Fortunately, it's Friday evening. And even if I did know how to solve it, it's bad practice to shove a fix in before the weekend. So have a good weekend, all!