Menu Docs
Página inicial do Docs
/

Otimize o gerenciamento global de jogos.

Otimize o gerenciamento de dados de jogos com o MongoDB Atlas.

Casos de uso: Análise

Setores: Mídia

Produtos: MongoDB Atlas, Clusters Globais do MongoDB Atlas, Atlas Search, Charts, MongoDB Aggregation, MongoDB Atlas Data Federation

Parceiros: Unity Game Engine, Amazon EC2

No setor de jogos, gerenciar dados como perfis de jogadores, inventário e estados de jogo é um desafio. Essa solução, chamada de Leafroids, usa o MongoDB Atlas para simplificar e melhorar o armazenamento de dados do jogo. Os Atlas Clusters mantêm perfis de jogadores, Atlas Charts permite dashboards de jogadores em tempo real e Atlas Search permite interações de pesquisa fáceis de usar. Essa solução permite escalabilidade global, gerenciamento eficiente de dados e design focado no usuário.

O diagrama a seguir mostra como é um sistema de gerenciamento de dados de jogos sem o MongoDB:

Arquitetura de referência sem o Atlas
clique para ampliar

Figura 1. Arquitetura de referência sem o Atlas

Essa abordagem envolve a criação de um roteador de query global, serviços de replicação entre vários nós em todo o mundo e a integração de diferentes opções de armazenamento. A arquitetura também requer um mecanismo de busca e uma ferramenta de visualização separados, com um serviço de query sem servidor para federar os dados na ferramenta de visualização.

Por outro lado, o diagrama a seguir exibe a arquitetura de gerenciamento de dados do jogo com MongoDB:

Arquitetura de referência com o Atlas
clique para ampliar

Figura 2. Arquitetura de referência com o Atlas

Com o MongoDB Atlas, você pode hospedar seus dados, gerar visualizações e realizar pesquisas em uma única plataforma usando o MongoDB Atlas Global Clusters, Online Archive, Atlas Search, Atlas Charts e Atlas Data Federation.

O diagrama a seguir exibe os modelos de dados usados por esta solução:

Ilustração da abordagem do modelo de dados

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

Um Recording representa a jogatina de um jogador a partir de um evento, incluindo pontuações, jogadas e estatísticas. Cada Gravação armazena um subconjunto dos tipos de dados Player e Event utilizando o padrão de referência estendida. Esse design melhora o desempenho da query ao permitir a incorporação seletiva de campo . Além disso, oferece flexibilidade para adicionar e alterar dados no futuro.

Em jogos online massivos com bilhões de jogadores como o PUBG, a localidade dos dados é fundamental para uma experiência ideal e para atender aos requisitos legais. Para atender a essas necessidades, as collections Players e Recordings são fragmentadas com base nos códigos ISO da localização. O Atlas Global Clusters associa códigos ISO de país e subdivisão a zonas de shards em uma região de nuvem específica. Isso é usado para rotear solicitações de query e gravação, garantindo o melhor desempenho.

Para obter instruções detalhadas sobre como criar essa solução, consulte o repositório do Github.

Esta solução fornece as seguintes funcionalidades de arquitetura:

  • Os Atlas Global Clusters garantem uma experiência de jogo ininterrupta, independentemente da localização geográfica do jogador. Para precisão dos dados, as informações dos jogadores são armazenadas com base nos códigos de país ISO.

  • O Atlas Online Archive descarrega automaticamente os dados do jogo com mais de 90 dias para otimizar o armazenamento. Isso é especialmente útil para jogos com milhões de jogadores e execuções de jogos, pois eles geram grandes quantidades de dados que podem aumentar os custos e impacto o desempenho. Além disso, esta solução utiliza Atlas Data Federation para que você possa acessar dados recentes e históricos.

A solução oferece os seguintes destaques do usuário:

  • Um painel do jogador, apoiado pelo Atlas Charts, garante atualizações em tempo real sobre as façanhas e o progresso do jogo. Ao usar os recursos de filtragem e incorporação do Atlas Charts, você pode reutilizar painéis para jogadores e eventos.

  • O Atlas Search oferece recursos como preenchimento automático e correspondência difusa, permitindo que os jogadores pesquisem seus apelidos na interface do usuário da web.

A arquitetura desta solução inclui os seguintes componentes:

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

  • Servidor de jogo: construído sobre a API da Web ASP .NET, .NET, C# e o driver MongoDB .NET/C#

  • Site da Web: criado como um aplicativo de servidor Blozor usando .NET e C#

O README no repositório Github contém uma versão mais detalhada do seguinte procedimento.

1

Instale o .NET SDK 7 e configure seu banco de dados MongoDB Atlas .

2

Navegue até a pasta rest_service no repositório. Modifique o arquivo .env e inicie o backend usando o seguinte comando:

dotnet run --urls "http://0.0.0.0:8000"
3

Navegue até a pasta website. Modifique o arquivo .env e inicie o site executando o seguinte comando:

dotnet run --urls "http://0.0.0.0:8001"
4

Navegue até a pasta game_client. Modifique o arquivo .env na pasta Assets. Em seguida, execute o jogo.

  • Os clusters globais promover o dimensionamento: use clusters globais, leia do secundário e grave no primário para escalar horizontalmente e atender a um público global sem efeitos colaterais e latência.

  • O modelo de documento do MongoDB oferece flexibilidade e desempenho: aproveite o modelo de documento para armazenar todos os dados de uma única execução de jogo em um único documento, mas serialize um subconjunto durante o tempo de execução para aumentar o desempenho.

  • Dados de shard com base na localização do jogador: ao armazenar dados com base em códigos ISO, os Atlas Global Clusters permitem maior desempenho e escalabilidade mais fácil, permitindo adições de shards e zona sem interrupções de serviço.

  • Sigfrido Narvaez, MongoDB

  • Dominic Frei, MongoDB

  • Hubert Nguyen, MongoDB

  • Personalização de mídia impulsionada por AI com a MongoDB e pesquisa vetorial

  • Fluxos de trabalho editoriais com Gen AI

  • Resumo de vídeo com tecnologia GenAI

Voltar

Integridade de dados do namespace unificado

Nesta página