Este artigo se aplica apenas ao console XBOX, e não a outras plataformas, como o PC.
Operação online normal
Em geral, os consoles XBOX operam em um estado totalmente conectado, em que o usuário tem uma conexão de Internet estável e acesso total à rede XBOX (também conhecida como XBOX Live) e a serviços de terceiros. Esse estado conectado permite que os serviços do XBOX validem periodicamente o estado do console, forneçam atualizações e executem outros serviços em segundo plano que beneficiam seu jogo e os usuários. Recomendamos que você presuma que os usuários têm conectividade online na maior parte do tempo.Princípios do jogo offline
Há casos em que uma conexão online não está disponível. Para o jogo offline, o XBOX foi projetado com os seguintes princípios em mente:- O mais importante: manter os usuários jogando apesar dos problemas de conectividade.
- Manter os usuários jogando mesmo que eles não tenham nenhuma conexão.
- Tornar o jogo offline simples e previsível para os usuários, mantendo o espírito de uma experiência sempre conectada.
Modos offline
Há dois cenários gerais de perda de conectividade:- Perda total do serviço de Internet
- Perda de um ou mais serviços online
Cenário offline: sem serviço de Internet ao iniciar o jogo
Os jogos podem se declarar de um de três tipos:- XBOX network required: todos os modos de jogo exigem conectividade com a Internet.
- XBOX Live Gold required: todos os modos de jogo exigem conectividade com a Internet e uma assinatura XBOX Live Gold.
- XBOX network not required: o jogo tem pelo menos um modo de jogo que não exige conectividade com a Internet. Tecnicamente, esse tipo não é declarado explicitamente no manifesto do aplicativo. Um aplicativo que não se declara como um dos dois primeiros tipos é considerado “XBOX network not required”, ou seja, com suporte offline.
Cenário offline: conectividade perdida durante o jogo
Se um jogo já estiver em execução quando a conectividade for perdida, o título será notificado pelo sistema. Se o jogo não estiver usando serviços online, continue a sessão sem interrupção. Se o jogo estiver usando ativamente serviços online, mude para um modo em que esses serviços não sejam mais necessários ou informe ao jogador que a sessão de jogo está sendo encerrada devido ao estado offline. Os títulos declarados como “XBOX network required” ou “XBOX Live Gold required” serão suspensos automaticamente pelo sistema quando o console perder toda a conectividade de rede por um período de tempo, e o sistema fornecerá automaticamente uma mensagem de erro ao usuário. Como em qualquer outro cenário que envolva a suspensão do jogo, você deve salvar o estado para que o usuário não perca dados e possa retornar rapidamente a esse estado depois de recuperar a conectividade.Cenário offline: quando um único serviço dos serviços do XBOX está fora do ar
Há outras situações em que serviços online específicos podem ficar indisponíveis, mesmo que a conectividade com a Internet esteja funcionando. Por exemplo, um único serviço do XBOX pode ficar offline por um curto período. Nesse caso, a chamada ao serviço específico atingirá o tempo limite ou informará um erro ao jogo. Você deve tratar adequadamente os estados de serviço offline, assim como faria no XBOX 360 ou no Windows. No mínimo, o jogo não pode travar nem congelar. Se a jogabilidade não puder continuar sem o serviço, informe a situação ao usuário e permita que ele continue em outra área do jogo em que o serviço não seja necessário. No melhor caso, continue a jogabilidade e armazene os dados em cache para enviá-los mais tarde (se o jogo estiver gravando no serviço) ou faça suposições razoáveis sobre os dados (se o jogo estiver lendo do serviço).Cenário offline: quando um serviço de terceiros está fora do ar
Se o seu jogo depende de um serviço online de terceiros, ele também precisa ser resiliente caso esse serviço falhe. Se o serviço falhar, seu jogo não pode travar nem congelar. Você pode informar o erro do serviço ao usuário se a jogabilidade não puder continuar. Idealmente, a jogabilidade deve continuar ou você deve permitir que o usuário continue em uma área do jogo que não exija o serviço online.Cenário offline: quando seu serviço de nuvem está fora do ar
Um dos recursos de destaque do XBOX é o poder da nuvem. Alguns jogos podem depender completamente de um serviço sempre conectado, como o Azure PlayFab Multiplayer Servers, que permite acessar recursos de computação adicionais ou servidores de jogo sempre disponíveis. Esse modo sempre conectado é permitido e incentivado quando melhora a experiência dos jogadores. Se o seu jogo usa esse modo, recomendamos que ele seja resiliente a interrupções do serviço (de vários segundos até um minuto) causadas pela perda total da conectividade com a Internet ou pela perda de um serviço de nuvem específico. No entanto, o jogo não precisa ter um modo offline. Se o jogo realmente precisar de conectividade e ela não estiver disponível, informe o usuário e encerre a sessão de jogo.XBOX Requirements
O requisito mais importante ao lidar com cenários offline é a estabilidade do jogo. Seja uma perda total de conectividade ou apenas a perda de um serviço online específico, seu jogo não pode congelar, travar nem fazer com que o usuário perca o estado. Seu jogo precisa ter um sistema robusto para lidar com cenários de tempo limite de rede e com erros retornados por qualquer API que acesse um serviço online. Os jogos não precisam oferecer suporte ao jogo offline. Se o seu jogo simplesmente não puder continuar devido à perda de conectividade com o serviço, notifique o usuário, encerre a sessão de jogo e retorne ao menu principal ou ao estado interativo inicial.Práticas recomendadas
Aqui estão as práticas recomendadas para lidar com situações offline:- Projete os jogos presumindo que os usuários têm conectividade online na maior parte do tempo.
- Se fizer sentido para o design do seu jogo, considere criar modos de jogo que permitam ao usuário ter uma experiência agradável mesmo que o console esteja offline.
- Os serviços podem ficar indisponíveis. As conexões podem falhar. Crie um tratamento de erros robusto para as APIs que podem atingir o tempo limite ou informar condições de falha quando um serviço online estiver fora do ar ou quando a conectividade com a Internet for perdida. Sempre que possível, mantenha os usuários jogando apesar desses problemas.
- Siga os XBOX Requirements (XRs). Não congele nem trave.
- Ao receber uma notificação de suspensão de título do PLM, salve o estado para que o usuário não perca dados e possa retornar rapidamente a esse estado ao retomar o jogo.
- Sinalize seu título adequadamente no manifesto do aplicativo. Só marque seu título como “XBOX network required” se todos os modos de jogo exigirem conectividade.
- Os jogos do XBOX podem usar e depender de serviços online em todos os modos de jogo. Se o jogo simplesmente não puder continuar devido à perda de conectividade com o serviço, notifique o usuário, encerre a sessão de jogo e retorne ao menu principal ou ao estado interativo inicial.
- Não dependa do serviço XBOX Help para mensagens de erro e ajuda relacionadas a estados offline. O serviço XBOX Help exige uma conexão com os serviços do XBOX.
