Поворотный игровой центр: когда нужна настойчивость? - PullRequest
2 голосов
/ 11 января 2012

Я работаю над включенной игрой ios (gamecenter). Вопрос: когда мне нужно сохранять игровые данные? Конечно, когда очередь игроков, и приложение переходит в фоновый режим или закрывается до того, как ход игрока передается другому игроку, но есть ли другие сценарии, в которых игровые данные должны быть сохранены?

Ответы [ 2 ]

1 голос
/ 12 января 2012

Как правило, для любого клиент-серверного приложения (игрового или иного) клиент должен сохранять данные обратно на сервер всякий раз, когда пользователь выполняет действие, о котором сервер должен знать.

Другими словами, если пользователь выполняет действие и сервер никогда не знает, что это вызовет проблемы, его необходимо сохранить.

Например, если пользователь нажимает X, а затем его телефон взрывается, будет ли проблемой, если при открытии приложения на новом телефоне X не будет выполнен? Если ответ «OMG, конечно, это будет проблемой !!! 1», то X следует сохранить.

В общем, я всегда предполагаю, что каждое действие , выполняемое на клиенте, должно сохраняться на сервере, если это вообще возможно. Это может происходить асинхронно, когда это имеет смысл, но запись сервера о состоянии приложения - единственное, что действительно имеет значение.

0 голосов
/ 21 марта 2012

Насколько мне известно, единственный способ сохранить данные на сервере при использовании TurnBased API игрового центра (при условии, что мой ход еще не закончился) - это использовать следующее:

 [myTurnBasedMatch endTurnWithNextParticipant:me matchData:data completionHandler:^(NSError *error)];

, чтопередает очередь при обновлении данных.Это работает нормально, но все другие устройства, которые вошли в систему с той же учетной записью Game Center, получат уведомление «Это ваша очередь», кто-нибудь знает способ обойти это?

...