Docs Menu
Docs Home
/

Optimice la gestión global de juegos

Optimice la gestión de datos de juegos con MongoDB Atlas.

Casos de uso: Análisis

Industrias: Medios

Productos: MongoDB Atlas, Clústeres globales de MongoDB Atlas, Búsqueda deMongoDB Atlas, Gráficos deMongoDB Atlas, Agregación deMongoDB, Federación de datos de MongoDB Atlas

Asociados: Motor de juego Unity, Amazon EC2

En la industria de los videojuegos, gestionar datos como perfiles de jugadores, inventario y estados de juego es un desafío. Esta solución, llamada Leafsteroids, utiliza MongoDB Atlas para optimizar y mejorar el almacenamiento de datos de juego. Los clústeres Atlas almacenan los perfiles de los jugadores, los gráficos Atlas permiten paneles de jugadores en tiempo real y Atlas Search facilita las interacciones de búsqueda intuitivas. Esta solución permite escalabilidad global, una gestión eficiente de datos y un diseño centrado en el usuario.

El siguiente diagrama muestra cómo se ve un sistema de gestión de datos de juego sin MongoDB:

Arquitectura de referencia sin Atlas
haga clic para ampliar

Figura 1. Arquitectura de referencia sin Atlas

Este enfoque implica la creación de un enrutador de consultas global, servicios de replicación entre múltiples nodos a nivel mundial e integración de diferentes opciones de almacenamiento. La arquitectura también requiere un motor de búsqueda y una herramienta de visualización independientes, con un servicio de consultas sin servidor para federar los datos en la herramienta de visualización.

En contraste, el siguiente diagrama muestra la arquitectura de gestión de datos de juegos con MongoDB:

Arquitectura de referencia con Atlas
haga clic para ampliar

Figura 2. Arquitectura de referencia con Atlas

Con MongoDB Atlas, puedes alojar tus datos, generar visualizaciones y realizar búsquedas en una única plataforma utilizando MongoDB Atlas Global Clusters, Online Archive, Atlas Search, Atlas Charts y Atlas Data Federation.

El siguiente diagrama muestra los modelos de datos utilizados por esta solución:

Ilustración del enfoque del modelo de datos

Figura 3. Ilustración del enfoque del modelo de datos

A Recording Representa la jugada de un jugador en un evento, incluyendo puntuaciones, movimientos y estadísticas. Cada grabación almacena un subconjunto de los Player Event tipos de datos y mediante el patrón de referencia extendido. Este diseño mejora el rendimiento de las consultas al permitir la incrustación selectiva de campos. Además, ofrece flexibilidad para añadir y modificar datos en el futuro.

En juegos online masivos con miles de millones de jugadores como PUBGLa ubicación de los datos es fundamental para una experiencia óptima y para cumplir con los requisitos legales. Para satisfacer estas necesidades, las Players Recordings colecciones y se fragmentan según los códigos ISO de ubicación. Atlas Global Clusters asocia los códigos ISO de país y subdivisión a zonas de fragmentos en una región de nube específica. Esto se utiliza para enrutar las solicitudes de consulta y escritura, garantizando así el mejor rendimiento.

Para obtener instrucciones detalladas sobre cómo crear esta solución, consulte el repositorio de GitHub.

Esta solución proporciona las siguientes características de arquitectura:

  • Los clústeres globales de Atlas garantizan una experiencia de juego ininterrumpida, independientemente de la ubicación geográfica del jugador. Para garantizar la precisión de los datos, la información del jugador se almacena según los códigos ISO de país.

  • Atlas Online Archive descarga automáticamente los datos de juegos 90 con más de días de antigüedad para optimizar el almacenamiento. Esto es especialmente útil para juegos con millones de jugadores y ejecuciones, ya que generan grandes cantidades de datos que pueden aumentar los costos y afectar el rendimiento. Además, esta solución utiliza la Federación de Datos de Atlas para que pueda acceder a datos recientes e históricos.

La solución ofrece los siguientes aspectos destacados para el usuario:

  • Un panel de jugador, compatible con Atlas Charts, garantiza actualizaciones en tiempo real sobre los logros y el progreso del juego. Con las funciones de filtrado e integración de Atlas Charts, puedes reutilizar los paneles para jugadores y eventos.

  • Atlas Search ofrece funciones como autocompletar y coincidencia aproximada, lo que permite a los jugadores buscar sus apodos en la interfaz web.

La arquitectura de esta solución incluye los siguientes componentes:

  • Cliente de Juego: Desarrollado con Unity3D, .NET y C#

  • Servidor de juegos: basado en ASP.NET Web API, .NET, C# y el controlador MongoDB.NET/C#

  • Sitio web: creado como una aplicación de servidor Blazor utilizando .NET y C#

El README en el repositorio de GitHub contiene una versión más detallada del siguiente procedimiento.

1

Instale el SDK .NET 7 y configure su base de datos MongoDB Atlas.

2

Vaya a la carpeta rest_service del repositorio. Modifique el archivo .env e inicie el backend con el siguiente comando:

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

Vaya a la carpeta website. Modifique el archivo .env e inicie el sitio web ejecutando el siguiente comando:

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

Navega a la carpeta game_client. Modifica el archivo .env en la carpeta Assets. Luego, ejecuta el juego.

  • Los clústeres globales promueven la escalabilidad: utilice clústeres globales, lea desde el secundario y escriba en el principal para escalar horizontalmente y atender a una audiencia global sin efectos secundarios ni latencia.

  • El modelo de documento de MongoDB promueve la flexibilidad y el rendimiento: aproveche el modelo de documento para almacenar todos los datos de una sola ejecución de juego en un solo documento, pero serialice un subconjunto durante el tiempo de ejecución para mejorar el rendimiento.

  • Particionar datos según la ubicación del jugador: Al almacenar datos según los códigos ISO, Atlas Global Clusters permite un mayor rendimiento y una escalabilidad más fácil, permitiendo la adición de particiones y zonas sin interrupciones del servicio.

  • Sigfrido Narvaez, MongoDB

  • Dominic Frei, MongoDB

  • Hubert Nguyen, MongoDB

  • Personalización de medios basada en IA con MongoDB y búsqueda vectorial

  • Flujos de trabajo editoriales con IA generativa

  • Resumen de video impulsado por IA generativa

Volver

Integridad de datos del namespace unificado

En esta página