Usando serviços de nuvem para jogos UWP

A Plataforma Universal do Windows (UWP) no Windows 10 oferece um conjunto de APIs que podem ser usadas para desenvolver jogos em dispositivos Microsoft. Ao desenvolver jogos entre plataformas e dispositivos, você pode fazer uso de um back-end em nuvem para ajudar a dimensionar seu jogo de acordo com a demanda.

Se você estiver procurando uma solução completa de back-end em nuvem para seu jogo, consulte Software como serviço para back-end de jogos.

O que é a computação em nuvem?

A computação em nuvem usa recursos de TI sob demanda e aplicativos pela internet para armazenar e processar dados para seus dispositivos. O termo nuvem é uma metáfora para a disponibilidade de vastos recursos lá fora (recursos não locais) que você pode acessar de locais não específicos. O princípio da computação em nuvem oferece uma nova maneira pela qual recursos e software podem ser consumidos. Os usuários não precisam mais pagar pelo produto completo ou recursos antecipados, mas podem consumir plataformas, software e recursos como um serviço. Os provedores de nuvem geralmente cobram de seus clientes de acordo com o uso ou ofertas de plano de serviço.

Por que usar serviços de nuvem?

Uma vantagem de usar serviços de nuvem para jogos é que você não precisa investir em servidores de hardware físico antecipadamente, mas só precisa pagar de acordo com o uso ou planos de serviço em um estágio posterior. É uma maneira de ajudar a gerenciar os riscos envolvidos no desenvolvimento do título de um novo jogo.

Outra vantagem é que seu jogo pode aproveitar vastos recursos de nuvem para alcançar escalabilidade (gerenciar efetivamente quaisquer picos repentinos no número de jogadores simultâneos, cálculos intensos de jogos em tempo real ou requisitos de dados). Isso mantém o desempenho do seu jogo estável o tempo todo. Além disso, os recursos de nuvem podem ser acessados de qualquer dispositivo em execução em qualquer plataforma em qualquer lugar do mundo, o que significa que você é capaz de levar seu jogo para todos globalmente.

Oferecer uma experiência de jogo incrível para seus jogadores é importante. Como os servidores de jogos executados na nuvem são independentes das atualizações do lado do cliente, eles podem oferecer um ambiente mais controlado e seguro para o seu jogo em geral. Você também pode alcançar consistência de jogabilidade através da nuvem, nunca confiando no cliente e tendo lógica de jogo do lado do servidor. As conexões de serviço a serviço também podem ser configuradas para permitir uma experiência de jogo mais integrada; exemplos incluem vincular compras no jogo a vários métodos de pagamento, fazer a ponte entre diferentes redes de jogos e compartilhar atualizações no jogo para portais de mídia social populares, como Facebook e X.

Você também pode usar servidores de nuvem dedicados para criar um grande mundo de jogo persistente, construir uma comunidade de jogadores, coletar e analisar dados de jogadores ao longo do tempo para melhorar a jogabilidade e otimizar o modelo de design de monetização do seu jogo.

Além disso, jogos que exigem recursos intensivos de gerenciamento de dados de jogos, como jogos sociais com mecânicas multiplayer assíncronas, podem ser implementados usando serviços em nuvem.

Como as empresas de jogos usam a tecnologia de nuvem

Saiba como outros desenvolvedores implementaram soluções em nuvem em seus jogos.

Developer Descrição Principais cenários do jogo Saiba mais
Tencent Games A Tencent Games desenvolveu uma solução inovadora usando o Azure Service Fabric, permitindo que jogos tradicionais para PC sejam entregues como um serviço. Sua solução em nuvem para jogos usa um modelo de “thin client + rich cloud” (“cliente fino + nuvem rica”) executando cargas de trabalho como microsserviços no back-end.
  • Jogos tradicionais de PC são entregues como jogos em nuvem para usuários em todo o mundo
  • Processo otimizado de entrega de jogos
  • Funcionalidades de jogos isoladas como microsserviços para reduzir a complexidade, reduzir a repetição de cargas de trabalho devido a dependências e a capacidade de atualizar novos recursos de forma independente
  • Downloads de pacotes de instalação pequenos para reproduzir o conteúdo mais recente do jogo (tamanho reduzido do pacote de GB para MB)
  • Menos custos de manutenção
343 Setores Halo 5: Guardians implementou Halo: Spartan Companies como sua plataforma de jogabilidade social usando o Azure Cosmos DB (via API do DocumentDB), que foi selecionado por sua velocidade e flexibilidade devido aos seus recursos de indexação automática.
  • Camada de dados escalável para lidar com a criação e o gerenciamento de grupos para jogabilidade multijogador
  • Integração de jogos e mídias sociais
  • Consultas de dados em tempo real por meio de vários atributos
  • Sincronização de conquistas e estatísticas de jogabilidade
Illyriad Games A Illyriad Games criou Age of Ascent, um jogo espacial épico 3D multiplayer online (MMO) que pode ser jogado em dispositivos com navegadores modernos. Assim, este jogo pode ser jogado em PCs, laptops, telefones celulares e outros dispositivos móveis sem plug-ins. O jogo usa ASP.NET Core, HTML5, WebGL e Azure.
  • Jogo multiplataforma, baseado em navegador
  • Um único grande mundo aberto persistente
  • Lida com cálculos intensivos de jogabilidade em tempo real
  • Escalas com número de jogadores
Next Games A Next Games é a criadora do videogame The Walking Dead: No Man's Land , que é baseado na série original da AMC. O jogo The Walking Dead usou o Azure como back-end. Ele teve um milhão de downloads no fim de semana de abertura e, na primeira semana, o jogo se tornou o aplicativo gratuito nº. 1 para iPhone e iPad na App Store dos EUA e em outros 12 países e o jogo gratuito nº. 1 em 13 países.
  • Plataforma cruzada
  • Múltiplos jogadores com base em jogada
  • Dimensionamento de desempenho de forma elástica
  • Proteção contra fraudes de jogadores
  • Entrega dinâmica de conteúdo
Pixel Squad A Pixel Squad desenvolveu Crime Coast usando o motor de jogo Unity e o Azure. Crime Coast é um jogo de estratégia social disponível para as plataformas Android, iOS e Windows. O Armazenamento de Blobs do Azure, o Cache Redis do Azure Gerenciado, uma matriz de VMs do IIS com balanceamento de carga e o hub de Notificação da Microsoft foram usados em seus jogos. Saiba como eles gerenciaram o dimensionamento e lidaram com o aumento de jogadores com 5 mil jogadores simultâneos.
  • Plataforma cruzada
  • Jogo multiplayer online
  • Escala com número de jogadores
  • Como o jogo MMO Crime Coast usou os Serviços de Nuvem do Azure

Como projetar seu back-end na nuvem

Enquanto produtores e designers de jogos estão em discussão sobre quais recursos e funcionalidades do jogo são necessários no jogo, é bom começar a considerar como você deseja projetar sua infraestrutura de jogo. O Azure pode ser usado como back-end de jogo quando você deseja desenvolver jogos para vários dispositivos e em diferentes plataformas principais.

Noções básicas sobre IaaS, PaaS ou SaaS

Primeiro, você precisa pensar no nível de serviço que é mais adequado para o seu jogo. Conhecer as diferenças nos três serviços a seguir pode ajudá-lo a determinar a abordagem que deseja adotar na criação de seu back-end.

  • IaaS (infraestrutura como serviço)

    A IaaS (infraestrutura como serviço) é uma infraestrutura de computação instantânea, provisionada e gerenciada pela Internet. Imagine ter a possibilidade de muitas máquinas prontamente disponíveis para aumentar e reduzir a escala rapidamente dependendo da demanda. A IaaS ajuda a evitar gastos e complexidade de comprar e gerenciar seus próprios servidores físicos e outras infraestruturas do datacenter.

  • PaaS (plataforma como serviço)

    A PaaS (plataforma como serviço) é como a IaaS, mas também inclui o gerenciamento de infraestrutura, como servidores, armazenamento e rede. Portanto, além de não comprar servidores físicos e infraestrutura de datacenter, você também não precisa comprar e gerenciar licenças de software, infraestrutura de aplicativos subjacente, middleware, ferramentas de desenvolvimento ou outros recursos.

  • SaaS (software como serviço)

    O Software como Serviço (SaaS) permite que os usuários se conectem a aplicativos baseados em nuvem e os usem pela internet. Ele fornece uma solução de software completa que você compra com pagamento conforme o uso em um provedor de serviços de nuvem. Exemplos comuns são ferramentas de email, calendário e ferramentas do Office (como o aplicativos do Office do Microsoft 365). Você pode alugar o uso de aplicativo para sua organização e seus usuários se conectarem a ele pela Internet, normalmente por um navegador da Web. Toda a infraestrutura subjacente, middleware, software de aplicativo e dados de aplicativo estão localizados no data center do provedor de serviços. O provedor de serviços gerencia o hardware e o software e, com o contrato de serviço apropriado, garantirá a disponibilidade e a segurança do jogo e de seus dados também. O SaaS permite que sua organização entre rapidamente em funcionamento com um aplicativo por um custo inicial mínimo.

Projetar sua infraestrutura de jogos usando o Azure

A seguir estão algumas maneiras pelas quais as ofertas de nuvem do Azure podem ser usadas para um jogo. O Azure funciona com o Windows, Linux e tecnologias de software livre familiares, como Ruby, Python, Java e PHP. Para obter mais informações, confira Azure para jogos.

Requisitos Cenários de atividade Oferta de produto Funcionalidades do produto
Hospeda seu domínio na nuvem Responde a consultas DNS de forma eficiente DNS do Azure Hospede seu domínio com alto desempenho e disponibilidade
Credenciais, verificação de identidade O jogador entra e a identidade do jogador é autenticada Azure Active Directory Logon único em qualquer aplicativo Web local e na nuvem com autenticação multifator
Jogo usando a IaaS (infraestrutura como serviço) O jogo é hospedado em máquinas virtuais na nuvem VMs do Azure Dimensione desde uma a milhares de instâncias de máquina virtual como servidores de jogos com balanceamento de carga e rede virtual internas, e consistência híbrida com sistemas locais
Jogos para web ou dispositivos móveis usando modelo de PaaS (plataforma como serviço) O jogo é hospedado em uma plataforma gerenciada Serviço de Aplicativo do Azure PaaS para sites ou jogos móveis (o que implica em VMs do Azure com middleware/ferramentas de desenvolvimento/gerenciamento de BI/BD)
Jogos de nuvem de n camadas altamente disponíveis e escalonáveis com mais controle do sistema operacional (PaaS) O jogo é hospedado em uma plataforma gerenciada Serviço de Nuvem do Azure PaaS desenvolvido para oferecer suporte a aplicativos que são escalonáveis, confiáveis e baratos de operar
Balanceamento de carga entre regiões para melhor desempenho e disponibilidade Encaminha solicitações de jogos recebidas. Pode atuar como primeiro nível de balanceamento de carga. Gerenciador de Tráfego do Azure Oferece várias opções de failover automático e capacidade de distribuir seu tráfego igualmente ou com valores ponderados. Pode combinar perfeitamente sistemas locais e na nuvem.
Armazenamento em nuvem para dados de jogos Os dados mais recentes do jogo são armazenados na nuvem e enviados para dispositivos clientes Armazenamento de Blobs do Azure Nenhuma restrição sobre os tipos de arquivo que podem ser armazenados. Armazenamento de objetos para grandes quantidades de dados não estruturados, como imagens, áudio, vídeo e muito mais.
Tabelas de armazenamento temporário de dados As transações do jogo (alterações nos estados do jogo) são armazenadas em tabelas temporariamente Armazenamento de Tabelas do Azure Os dados do jogo podem ser armazenados em um esquema flexível de acordo com as necessidades do jogo
Transações/solicitações de jogos em fila As transações de jogos são processadas na forma de uma fila Armazenamento de Filas do Azure As filas absorvem picos de tráfego inesperados e podem impedir que os servidores sejam bombardeados por uma inundação repentina de solicitações durante o jogo
Banco de dados de jogos relacional escalonável Armazenamento estruturado de dados relacionais, da mesma forma que nas transações no jogo para o banco de dados Banco de Dados SQL do Azure Banco de dados SQL como serviço (Comparar com SQL em uma VM)
Banco de dados de jogos distribuído escalonável de baixa latência Leitura, gravação e consulta rápidas de dados de jogos e jogadores com flexibilidade de esquema Azure Cosmos DB Banco de dados como serviço de baixa latência de documentos NoSQL
Usa o próprio datacenter com serviços do Azure O jogo é recuperado do seu próprio datacenter e enviado para os dispositivos cliente Azure Stack Permite que sua organização forneça serviços do Azure de seu próprio datacenter para ajudá-lo a alcançar mais
Transferência de grandes blocos de dados Arquivos grandes, como imagens de jogos, áudio e vídeos, podem ser enviados aos usuários do local POP da Rede de Distribuição de Conteúdo (CDN) mais próxima com a CDN do Azure Rede de Distribuição de Conteúdo do Azure Criada em uma topologia de rede moderna de grandes nós centralizados, a CDN do Azure lida com picos repentinos de tráfego e cargas pesadas para aumentar drasticamente a velocidade e a disponibilidade, resultando em melhorias significativas na experiência do usuário
Baixa latência Realiza cache para construir jogos rápidos, escalonáveis e com mais controle e isolamento garantido dos dados, pode ser usada para melhorar o recurso de criação de partidas para o jogo também. Cache Redis do Azure Acesso aos dados com alta taxa de transferência e baixa latência de consistência para proporcionar aplicativos do Azure rápidos e escalonáveis
Alta escalabilidade, baixa latência Lida com flutuações no número de usuários de jogos com baixa latência de leitura e gravação Azure Service Fabric Capaz de alimentar os cenários mais complexos, de baixa latência e com uso intensivo de dados e escalar de forma confiável para lidar com mais usuários ao mesmo tempo. O Service Fabric permite que você compile jogos sem ter que criar um armazenamento separado ou cache, como é exigido aos aplicativos sem monitoração de estado
Capacidade de coletar milhões de eventos por segundo de dispositivos Registra milhões de eventos por segundo a partir de dispositivos Hubs de eventos do Azure Ingestão de telemetria em escala de nuvem por meio de jogos, sites, aplicativos e dispositivos
Processamento em tempo real de dados de jogos Efetua análises de dados de jogadores em tempo real para melhorar a jogabilidade Azure Stream Analytics Processamento de fluxo em tempo real na nuvem
Desenvolve uma jogabilidade preditiva Cria uma jogabilidade dinâmica personalizada com base nos dados dos jogadores Azure Machine Learning Um serviço de nuvem totalmente gerenciada que permite criar, implantar e compartilhar soluções de análise preditiva com facilidade
Coleta e analisa dados de jogo Processamento paralelo de grandes quantidades de dados de bancos de dados relacionais e não relacionais Data Warehouse do Azure Data warehouse como um serviço elástico com recursos de classe empresarial
Envolve os usuários para aumentar o uso e a retenção Envia notificações por push direcionadas para qualquer plataforma a partir de qualquer back-end para gerar interesse e incentivar ações específicas do jogo Hubs de Notificação do Azure Push de transmissão rápida para alcançar milhões de dispositivos móveis em todas as principais plataformas: iOS, Android, Windows, Kindle e Baidu. Seu jogo pode ser hospedado em qualquer back-end, na nuvem ou no local.
Transmita conteúdo de mídia para seus públicos locais e mundiais enquanto protege seu conteúdo Trailers de jogos e clipes cinematográficos com qualidade de transmissão podem ser assistidos de todos os dispositivos Serviços de Mídia do Azure Streaming de vídeo sob demanda e ao vivo com recursos integrados da Rede de Distribuição de Conteúdo. Use um player para todas as suas necessidades de reprodução, incluindo proteção de conteúdo e criptografia.
Desenvolva, distribua e faça testes beta em seus aplicativos móveis Testar e distribuir seu aplicativo móvel. Gerenciamento do desempenho do aplicativo e da experiência do usuário. HockeyApp Integra o relatório de falha e as métricas de usuário a uma plataforma de distribuição de aplicativos e comentário de usuário. Suporte para aplicativos para Android, Cordova, iOS, OS X, Unity, Windows e Xamarin. Além disso, considere o Visual Studio Mobile Center, controle de missão para aplicativos que combinam análises avançadas, relatórios de falhas, notificações por push, distribuição de aplicativos e muito mais.
Crie campanhas de marketing para aumentar o uso e a retenção Envie notificações push para jogadores segmentados para gerar interesse e incentivar ações específicas do jogo de acordo com a análise de dados Mobile Engagement – será desativado em março de 2018 e, no momento, está disponível somente para os clientes existentes Aumente o tempo de jogo e a retenção de usuários em todas as principais plataformas: iOS, Android, Windows e Windows Phone

Recursos de inicialização e desenvolvedor

Recursos de aprendizagem

Software como serviço para back-end de jogos

O Azure PlayFab capacita atualmente mais de 1.200 jogos ao vivo, com 80 milhões de jogadores ativos mensais. É uma plataforma de back-end completa que inclui LiveOps de pilha completa com controle em tempo real.

Você pode integrar essa solução em seus jogos para celular, PC ou console usando SDKs. Há SDKs disponíveis para todos os mecanismos e plataformas de jogos populares, incluindo Android, iOS, Unreal, Unity e Windows.

Ele oferece serviços de jogos como autenticação, gerenciamento de dados do jogador, multiplayer e análise em tempo real para ajudar seu jogo a aumentar sua base de usuários. Aproveite o poder do pipeline de dados em tempo real e do LiveOps para envolver seus usuários com itens, eventos e promoções personalizados no jogo. Você também tem a capacidade de realizar testes A/B, gerar relatórios, enviar notificações por push e muito mais.

Estamos constantemente inovando e adicionando novos recursos. Para obter mais informações, consulte Azure PlayFab e para obter preços, consulte Preços.