Os dados de grupo compartilhados foram originalmente projetados para serem controlados de forma autoritativa pelo servidor na maioria dos casos, e a recomendação anterior era não adicionar jogadores diretamente aos dados de grupo compartilhados, pois isso lhes dava permissões de leitura/gravação (permitindo trapaças). No entanto, nossa nova Política de acesso à API permite uma variação muito maior de funcionalidade e segurança em relação ao design original. Mais detalhes estão disponíveis na seção avançada deste documento.
Exemplo: jogos multijogador assíncronos baseados em turnos
O caso de uso original, e ainda o melhor, para dados de grupo compartilhados é mais bem descrito como armazenar o estado de um jogo de tabuleiro online. Os jogadores se revezam modificando os dados via CloudScript, com uma ordem de turnos clara. Os jogadores podem sair e retomar o jogo mais tarde, com o estado do jogo armazenado na nuvem. O exemplo de CloudScript a seguir é a estrutura baseada em turnos de qualquer jogo de tabuleiro comum. O jogo de tabuleiro em si está representado como pseudocódigo.Suposições
Os dados de grupo compartilhados que representam o jogo já foram iniciados e seus membros já estão definidos.Principais restrições
- Dados de grupo compartilhados:
- Contêm apenas dados simples de pares chave/valor (cadeias de caracteres). Para uso como qualquer outro tipo de dados (como itens de inventário, Statistics, moeda virtual etc.), o título deve fornecer as conversões necessárias.
- Não são fragmentados nem armazenados em cache, portanto não serão responsivos quando acessados simultaneamente por vários jogadores. Os recursos que os utilizam devem ser projetados pensando em pequenos grupos de jogadores e não devem permitir gravações simultâneas.
