Do you sync game data across devices?

I just want to have a quick look on how many games deal with cross device syncing, in what detail (see poll below). Also would be interesting to know if you let your users to spend in-game goods being offline.

Just Sync Game Data, not Shop or Transactions, for shoping the user must be online, otherwise i won’t allow him to access shop.

Thanks.

Thanks for getting back. Supposing you have some consumable virtual goods that can be spent in-game: Do you allow users to spend these virtual goods offline?

In this case, I won’t allow him play while being offline.

1 Like

Depends on the type of game really. In an MMO, everything can be synced and nothing can be played while offline. In a single player game, especially mobile, I think most users would prefer if purchases made while they were online were still available while they were offline.

1 Like

This is my perception as well. I’m making a mobile puzzler from a chinese game, so I tend to let users access their purchases offline as well.

However, as soon as I let users use their goods offline, goods can be overspent. I mean the same good can be spent again and again on each offline device. I still can’t figure out what to do with this edge case.

Do you have any similar experience, even as a user of some mobile game?

You could track a users spending on their device, then sync it along with their progress when they get online. But if I’m on device A and I beat 3 levels, but then I go to device B without ever going back online with device A, it would show I hadn’t completed those 3 levels, nor would my items have changed.

I think the game Best Fiends does something like this as I know you can play offline. Not sure how often you have to go online to sync data. Never tried it.

Thanks for the reference, I’ll test it for edge cases.

Anyway, I already sync (and merge) game progress in the same way essentially.

The problem arises when user buy 100 gold, sync it to both devices A and B, then go offline on device A.
Then he/she can spend that 100 gold twice, both on offline device A, and device B.
This is something I cannot get my head around how to solve it.

I’ve read some of this thread as I see it pop up. If this is about hints for puzzles… Do you really care if they spend it twice on 2 different devices, while offline? Is that crucial for you?

Could you maybe tally up the spent and say the user had 20 hints, and they spent 5 + 5, then a sync happens, now they have ā€˜10’. I don’t know how rigid you can be with offline consumables. I would assume you have to ā€œlet some things beā€ to have it that way… :slight_smile:

If they spent > 20, just set to 0.
If that were me, and I were enforcing that kind of sync from offline, I would probably find it semi-polite to at least let them know that will happen lol

1 Like

@methos5k Thanks, I’m actually going the way very similar you suggested, by keeping a hints book per each device (synced), then get the balance on access. If a user overspend while being offline, I simply let the hint counter go negative when sync again, so user will have an immediate indication on what happened.

Also if going this way, to ā€œrestoreā€ hints above zero again, user will have to invest the ā€œrightā€ amount of purchase.

Anyway, the vast majority of users just experiences seamless progress / hints sync this way.


For the ā€œlet some things beā€ aspect, even Apple suggests for users (!) that consumable purchases may not be synced: ā€œFor example, if you install a game on your iPod touch that you started playing on your iPhone, the game levels sync, but extra health or experience points you bought on your iPhone don’t sync.ā€ from official docs About in-app purchases.

So actually do not sync at all would have been a viable option as well. :smile:

What I meant was just don’t go negative, but if you say consumables aren’t even synced to begin with, then you could simply do that & forego all of this wondering.
It does seem as though you’ve kinda made up your mind, though… That’s good :slight_smile: Enjoy your game.

1 Like

Thanks, I do!

I’ve just implemented the hints bookeeping / merging stuff before, and tested on devices, simulating offline with airplane mode, and it all comes together nice.

Still, I’m really interested on what other games / developers do with cross device sync issues.

The interesting thing about Best Fiends (yeah, I like to use them as an example) is they also offer you the option to choose to sync it yourself. You can sync your local device with the server or download the server data to your device. The thing I think to remember is people shouldn’t expect syncing if they are offline. I don’t expect to move from my phone to my tablet and have my progress there if my phone was in airplane mode all day and I forgot to change it back.

Most of the games we make at work require the player to have a connection, though we have an app coming up that may allow offline stuff to happen and the user will need to sync or be synced if they come online. Chances are we’ll use some time stamp to make sure we don’t sync old data over newer data but also allow the user to choose to sync and overwrite their online data if they prefer.

1 Like

If this is in relation to the other thread from before where I was chatting with OP in… these hints had a monetary value since they could be purchased with real world money and/or ad viewing.

This thread doesn’t seem to bring that up.

Is that still a requirement?

Because if it is… personally how I would deal with it is require mostly-online. That is I’d validate online activity at start of the game, and if they can’t validate their balance at start of the game. Then they get limited access to those purchased entries (like say access to only 10% of available hints). And if they did validate, and they’re playing the game and internet connectivity has been lost. We try to revalidate every use of a hint, and if one fails the ā€˜available’ hints gets throttled until the user re-establishes connection.

If they reach that throttled limit I’d then pop up a message saying ā€œwe can not validate your balance at this moment, please connect to the internetā€, or something along those lines.

This gives them some wiggle room so that the game doesn’t become unplayable when they lose internet… it’s just they get limited access at that time. That way you can mitigate the amount of hint tokens they spend while you can’t validate it.

…

I only suggest this methodology because like I said, from the previous thread, I’m operating under the understanding that these hint tokens actually have real world value.

I mean, they can’t sell/trade hints… so it can’t necessarily be gamed so that you can be conned out of money (if they could… then this could potentially create a financial deficit for you, and I’d suggest always online functionality. This is why games with shops like Diablo 3 were always online, though I don’t know the status of that these days, I’m not hip to my diablo 3…). But, it’s still a potential loss sale.

I don’t know how important loss sales are to you. That 10% figure I suggested could be adjusted to your risk analysis. You could even adjust said value over the life of the product as you figure out how your users use the system.

Then again you should have a database for such tracking and transactional history and as far as I remember you are just using icloud for syncing… (which is a potential security risk in itself). Nor do I know the scale/financial projections of your product. So all of this could be complete overkill and you really don’t care about the potential of loss sales.

I mean heck… Candy Crush was a huge game, and it had simple to exploit features to get more of those consumable trick candies things (I don’t know, the heart thing that you got 5 of a day). It completely ignored your internal clock, and didn’t even validate your UTC time with that of the servers on start. You could literally fast-forward over and over and end up in the year 2117 and the game would keep giving you the bonuses. And Candy Crush still made MILLIONS of dollars.

Soooooo…

Eh.

Cause I mean honestly… the exploit you’re trying to catch for is about a user syncing between their various devices. But that would be their various Apple devices… since you’re using icloud… in which case. How many people have multiple iphones that they play the same game on each of.

Heck… how many people expect their game to sync between their multiple iphones.

I guess they might have an ipad as well?

I don’t know… I don’t mobile game that hardcore, so the heck if I know. I do know my brother and aunt love them some of that clash of clans, like they have their own guild that they run (it was so adorable watching them get all hardcore into that game… I was like, awwww, you can’t call me a nerd anymore!). And yeah… I don’t think they even expected their game data to sync between their phone and ipad… especially if it was purchased and offline.

1 Like

Clash Royale does the same, where you can explicitly transfer game data to another device. No automatic syncing takes place. Probably people do this where too many real money value involved.

Merging could be more granular than date comparison. There are data pieces that should be merged using min / max (like game progress), and also there are in-game goods that should have a balance to be merged instead of single values.

Beach Buggy Racing always prompted the user if there were any progress made on other device. It asked if I want to keep that, or keep this (also it showed / referenced the device name). It did not merged the progresses at all, which often ended up in data loss.

@lordofduct Thanks for the detailed insights!

For the offline mode / sync issues, I have a simple rule: User should not notice a single thing, all the sync happens under the hood automatically. Just open up the game, and play. Messages like ā€œwe can not validate your balance at this momentā€ creates way more confusion than clarity I think.

Some users overspending virtual goods is way better outcome than some users experience ā€œinexplicableā€ loss in their virtual goods.

I want my hints to be paid, but not at the expense of spoiling user experience. My lost sales are not important to them, I can totally understand. :smile: I will track overspending analytics, and if it is below some threshold, than I’ll be just live with it. At the end of the day, I want just people playing the game.

Based on the prequel data, this game should be ~3000 DAU, financially it should fund my upcoming games / products. So iCloud, and some lost income is just fine.

Surprisingly vast amount of game ignores this. I have walked-through tons of games within a week exploiting this offline date nudging (as a side effect, I have accidentally sent some emails from the future :smile:).

People having an iPad mostly have an iPhone as well (at least the combination is pretty standard I think), so I don’t want to charge them twice, or force them to play redundant puzzles over and over. Also actually Apple advises every app / game to implement iCloud sync (also, it adds up to the chance of featuring the game).

So thanks again for your inputs, helped me a lot to organize my priorities.