View a markdown version of this page

GAMEPERF02-BP02 Diseñe un enfoque que permita colocar la infraestructura de juegos sensible a la latencia cerca de los jugadores para mejorar el rendimiento - Lente de la industria de juegos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

GAMEPERF02-BP02 Diseñe un enfoque que permita colocar la infraestructura de juegos sensible a la latencia cerca de los jugadores para mejorar el rendimiento

La ubicación separada de las infraestructuras sensibles a la latencia, como los servidores de juegos, minimiza el impacto de las rutas de red largas. Las implementaciones repetibles pueden facilitar el mantenimiento de varias ubicaciones que ofrezcan un mejor rendimiento a tus jugadores. El ping es una métrica común que aparece en la interfaz de usuario del juego, y un ping bajo puede ser una característica diferenciadora.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto

Guía para la implementación

Al iniciar un juego por primera vez, es posible que aún no dispongas de suficiente información sobre tu base de jugadores para saber cuál es la mejor manera de implementar la infraestructura más cercana a los jugadores que están más interesados en jugar a tu juego. Se trata de un desafío habitual, por lo que debes prepararte para ello diseñando una arquitectura que te permita ajustar rápidamente tu estrategia de ubicación del alojamiento a fin de implementar los servidores donde los necesiten, más cerca de los jugadores. Lo habitual es que los desarrolladores de juegos evalúen periódicamente el despliegue de su infraestructura de juegos como un análisis periódico posterior al lanzamiento para invertir gradualmente en mejoras a lo largo del tiempo y con un enfoque iterativo.

Lo mejor es utilizar infrastructure-as-code plantillas, como AWS CloudFormation Terraform de Hashicorp, para la configuración de tu infraestructura, por ejemplo VPCs, las configuraciones de subred y las dependencias necesarias para lanzar servicios de juego fundamentales, de modo que puedas consultar estas plantillas, personalizarlas rápidamente si es necesario e implementarlas en ubicaciones donde se necesite infraestructura adicional para apoyar a tus jugadores.

También debe asegurarse de comprender cómo podría evolucionar su estrategia de implementación actual para permitir una expansión futura. Las plantillas de IaC se pueden repetir, pero no sustituyen a la planificación de la red. IPAM gestiona su. VPCs El tamaño de las subredes, la selección de la zona de disponibilidad y el inventario de IP y la alineación de las zonas de disponibilidad entre cuentas. Es importante tener en cuenta la red, ya que puede ser perjudicial para los jugadores si se cambian. Los servidores de juegos desplegados en varias ubicaciones geográficas se conectarán al backend del juego, que es más común si se alojan en una o varias regiones de origen, lo que puede requerir una configuración adicional para admitir la conectividad privada. Estas consideraciones deben evaluarse continuamente a lo largo del tiempo para que puedas realizar cambios en tu estrategia de alojamiento de juegos a medida que cambien los requisitos del juego o cambien los requisitos de los jugadores.

A la hora de determinar cuántas ubicaciones de alojamiento de juegos usarás para tu juego, ten en cuenta los siguientes factores:

  • Mejora de la calidad de la experiencia del jugador: ¿En qué medida podrías mejorar la experiencia del jugador añadiendo ubicaciones de alojamiento de juegos adicionales? ¿Cuál es el aumento gradual de rendimiento que puedes lograr al hacerlo? ¿Cómo medirá esta mejora en el rendimiento?

  • Qué grupos de jugadores debes priorizar: ¿Para cuántos jugadores puedes mejorar la experiencia si añades más ubicaciones de alojamiento de juegos? ¿A qué poblaciones de jugadores o ubicaciones geográficas darás prioridad?

  • Impactos posteriores del cambio: si cambias tu estrategia de alojamiento de juegos, ¿cómo influirá esto en los tiempos de espera de los jugadores en las partidas? ¿El tamaño de las partidas, el equilibrio de habilidades o el número de jugadores del grupo de jugadores pueden adaptarse a un cambio de estrategia en la ubicación de alojamiento del juego? Si se admiten más ubicaciones, se puede fragmentar el grupo de jugadores y aumentar los costes y la complejidad.

Deberás evaluar cada una de estas consideraciones a la hora de determinar dónde añadir o eliminar ubicaciones de alojamiento de juegos. Por ejemplo, puedes optar por priorizar la mejora de la experiencia para los jugadores de las ubicaciones geográficas con menos experiencia de juego o para los jugadores que expresan los comentarios del público con mayor intensidad. También puedes optar por incluir la monetización de los jugadores entre tus prioridades, por ejemplo, centrando tu atención en mejorar la experiencia de los jugadores en ubicaciones geográficas que generen una fuente importante de ingresos para tu juego o que puedan generar ingresos incrementales si introduces mejoras en el rendimiento.

Además de alojar la infraestructura Regiones de AWS, puedes usar las Zonas Locales, que son una extensión de una Región de AWS, para alojar tus servidores de juegos y otras aplicaciones sensibles a la latencia, como los servidores de chat de voz, más cerca de tus jugadores. También puedes optar por ejecutar la infraestructura de desarrollo de juegos en las Zonas Locales para mejorar la experiencia de tus equipos de desarrollo de juegos. Por ejemplo, puede utilizar las Zonas Locales para abordar casos de uso, como alojar réplicas de sus servidores de control de código fuente autogestionados más cerca de los desarrolladores de juegos y ofrecer estaciones de trabajo virtuales de desarrollo de juegos y almacenamiento de contenido a los usuarios que utilizan EC2 instancias de Amazon, volúmenes de EBS y sistemas de FSx archivos de Amazon implementados en una o más zonas locales cercanas a sus estudios de desarrollo sin necesidad de alojar la infraestructura en las instalaciones.

Los Outposts son una buena opción cuando las Regiones o Zonas Locales no están disponibles en la misma área geográfica. AWS Debe tenerse en cuenta la conectividad de su centro de datos para que el servidor del juego pueda garantizar la fiabilidad del sistema de back-end. AWS Outposts y los servidores Outpost están diseñados específicamente para funcionar AWS en tu centro de datos con los mismos servicios y APIs para ayudar a crear un modelo de implementación coherente dondequiera que ejecutes el juego. Se pueden combinar varios racks en un Outpost lógico y la infraestructura se puede compartir entre ellos. Cuentas de AWS El ciclo de vida del hardware se gestiona mediante, AWS y el plazo de entrega puede ser de tan solo 3 meses.

Si está creando juegos con contenedores y desea tener la flexibilidad de adoptar una arquitectura de implementación híbrida con software de código abierto que se pueda implementar en su propia infraestructura local, puede usar ECS Anywhere o EKS Anywhere como alternativa a AWS Outposts nuestras Zonas Locales. Si hospedas en Amazon GameLift, puedes usar Amazon GameLift Anywhere para ejecutar tu servidor basado en hardware local, lo que puede acelerar tu proceso de desarrollo, ya que te permite usar Zonas Locales o registrar tu propio metal como parte de tu flota.

Pasos para la implementación

  • Utiliza infrastructure-as-code herramientas como AWS CloudFormation Terraform para realizar despliegues repetibles, lo que te permitirá personalizar y escalar rápidamente las ubicaciones de alojamiento de juegos en función de las necesidades de los jugadores.

  • Evalúa las mejoras en la experiencia de los jugadores, las prioridades de la población de jugadores y los impactos posteriores, como los tiempos de emparejamiento, al añadir o eliminar ubicaciones de alojamiento de juegos.

  • Utilice AWS Local Zones, Outposts u opciones híbridas como ECS Anywhere, EKS Anywhere o GameLift Anywhere para optimizar la infraestructura sensible a la latencia y satisfacer diversas necesidades de implementación.