Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ /
Centro de Arquitetura Atlas
/ / /

Otimize o gerenciamento global de jogos.

Gerenciamento contínuo de dados de jogos com MongoDB Atlas, incluindo perfis globais, registros e painéis em tempo real.

Casos de uso: Análise

Setores: mídia

Produtos: Atlas, Atlas Global Clusters, Atlas Search, Atlas Charts, Aggregation Framework, Atlas Data Federation

Parceiros: Unity Game Engine, Amazon EC2

Na indústria de jogos, gerenciar perfis de jogadores, inventário e estados de jogo em escala global é um desafio. O MongoDB Atlas combinado com o Leafsteroids fornece uma solução. Clusters globais lidam com perfis de jogadores de maneira integrada, independentemente da localização geográfica, e o MongoDB, com seu document model flexível, proporciona gerenciamento avançado de dados, possibilitando gravações detalhadas de jogos. Painéis de jogadores em tempo real por meio do Atlas Charts e interações intuitivas com o Atlas Search enriquecem a experiência do jogador. Com o MongoDB Atlas, o futuro é agora, em que a escalabilidade global, o gerenciamento de dados eficiente e o design centrado no usuário coexistem harmoniosamente na indústria de jogos.

Arquitetura de referência sem o Atlas
clique para ampliar

Figura 1. Arquitetura de referência sem o Atlas

A abordagem tradicional para gerenciar dados e perfis de jogos em escala global envolve a construção de um roteador de consulta global, serviços de replicação entre vários nós em todo o mundo e integração em opções distintas de armazenamento quente. A arquitetura também requer um mecanismo de pesquisa e uma ferramenta de visualização separados, com um serviço de consulta serverless para federar nossos dados na ferramenta de visualização.

Arquitetura de referência com o Atlas
clique para ampliar

Figura 2. Arquitetura de referência com o Atlas

Com o Atlas, uma única conexão com a plataforma moderna de banco de dados multinuvem do MongoDB Atlas é suficiente. Usando clusters globais, arquivos online, Atlas Search, Atlas Charts e Data Federation, temos um conjunto abrangente de funcionalidades para gerenciar dados de jogos em escala global.

Ilustração da abordagem do modelo de dados

Figura 3. Ilustração da abordagem do modelo de dados

Uma gravação significa a jogabilidade de um jogador em um evento, incluindo pontuações, movimentos e estatísticas. Uso de .net (C#), um subconjunto do jogador e do evento é armazenado na gravação por meio do padrão de referência estendido, empregando subclasses e serialização personalizada. Esse design melhora o desempenho da query, permitindo a incorporação seletiva de campos, além de oferecer flexibilidade futura. Em jogos online massivos como “PUBG”, com bilhões de jogadores, a localização dos dados é crítica para uma experiência ideal e para atender aos requisitos legais. Players e gravações são fragmentados globalmente, utilizando códigos ISO baseados em localização. Clusters globais do Atlas propiciam um desempenho superior e fácil escalabilidade, permitindo adições de fragmentos e zonas sem interrupções de serviço.

No centro da envolvente plataforma de jogos Leafsteroids está a robustez do MongoDB Atlas. Projetado como uma demonstração, o jogo é uma combinação harmoniosa de experiências interativas do usuário e gerenciamento de dados meticuloso. No repositório do GitHub, você encontrará instruções detalhadas sobre como criar essa solução.

  • MongoDB Atlas: o Leafsteroids aproveita totalmente a capacidade do Atlas Global Clusters. Isso garante que os perfis dos jogadores sejam gerenciados de maneira eficiente em grande escala, garantindo uma jornada de jogo ininterrupta, independentemente da localização geográfica do jogador. Para precisão dos dados, as informações do jogador são armazenadas usando códigos de país ISO e atribuições de fragmentos/zonas.

  • Na base do processamento de dados, está o modelo de documento flexível. Ele oferece suporte a gravações detalhadas de jogos e também incorpora o espírito de “dados que funcionam juntos vivem juntos”. Aderindo ao conceito de simplicidade operacional, outros conjuntos de dados são organizados em coleções descomplicadas.

  • Com o tempo, à medida que os jogos se tornam um grande sucesso com milhões de jogadores e execuções de jogos, a quantidade de dados gerados pode aumentar os custos e afetar o desempenho. O Leafsteroids utiliza uma estratégia de camadas de dados através do Atlas Online Archive para descarregar automaticamente os dados do jogo com mais de 90 dias para um armazenamento otimizado. O Atlas Data Federation permite acesso contínuo a dados recentes e históricos.

  • Painel do jogador: um recurso de destaque, o dashboard personalizado do jogador, disponível online pelo Atlas Charts, garante atualizações em tempo real sobre conquistas e progresso no jogo. Utilizando os recursos de filtro e incorporação do Atlas Charts, os mesmos dashboards podem ser reutilizados para dashboards de jogador ou de evento. Isso melhora a experiência geral do usuário.

  • Atlas Search: outro componente crucial que aumenta a centralidade no usuário do jogo, permitindo que os jogadores localizem rapidamente seus apelidos na IU da Web usando os recursos de preenchimento automático e correspondência aproximada, promovendo uma interação mais intuitiva.

  • Cliente do jogo: desenvolvido usando Unity3D, .NET e C#

  • Servidor do jogo: criado em ASP.NET Web API, .NET e C#

  • Website: criado como um aplicativo de servidor Blazor usando .NET, C#

  • Pré-requisitos: instale o SDK do .NET 7 e configure o banco de dados MongoDB Atlas.

  • Executar serviço REST: navegue até a pasta rest_service, modifique o arquivo .env e execute o comando fornecido.

  • Lançar o Website: acesse a pasta do website, ajuste o arquivo .env e execute-o com o comando fornecido.

  • Execução do cliente do jogo: no diretório game_client, ajuste o arquivo .env nos ativos e inicie o jogo.

  • Jogos (gravações): são representações da atividade de um jogador durante um evento no jogo. Armazenadas usando o padrão de referência estendido, essas gravações podem ser vinculadas aos objetos Player e Event completos, embora apenas campos seletivos sejam serializados no momento da persistência.

  • Perfis de jogadores e jogos: em jogos multijogador massivos, a localização de dados é fundamental. A solução Leafsteroids fragmenta globalmente as coleções Players e Gravações. Com clusters globais do Atlas, os códigos ISO de país e subdivisão são conectados às zonas, otimizando o roteamento de query e solicitações de gravação. Os benefícios incluem escalabilidade ilimitada e atualizações de distribuição de dados sem complicações.

  • Use clusters globais, leia do secundário e grave no primário para dimensionar horizontalmente e atender a um público global sem efeitos colaterais e latência.

  • Aproveite o document model para armazenar todos os dados de uma única partida, em um único documento, mas serialize um subconjunto durante o tempo de execução para aumentar o desempenho.

  • As coleções de jogadores e gravações são “fragmentadas globalmente”. O primeiro segmento da chave de fragmento é a localização. O Atlas Global Clusters associa códigos ISO de país e subdivisão (ISO-3166-1 e ISO-3166-2) a zonas, sendo que uma zona é composta por 1+ fragmentos hospedados em uma região de nuvem e usada para rotear solicitações de query e gravação, garantindo o melhor desempenho. Também há suporte para queries globais.

  • Sigfrido Narvaez, MongoDB

  • Dominic Frei, MongoDB

  • Hubert Nguyen, MongoDB

Voltar

Integridade de dados do namespace unificado

Nesta página