Cómo usar AWS para juegos multijugador

Si está buscando aprovechar AWS para juegos multijugador, le recomiendo su servicio GameLift , que está específicamente diseñado para su caso de uso. Aquí hay un enlace: Amazon GameLift – Alojamiento de servidor de juegos dedicado – AWS. (Divulgación: fui desarrollador en este equipo en 2016 y participé en el lanzamiento de este servicio, pero ya no trabajo allí).

GameLift es básicamente “hardware de servidor de juegos en la nube”. Es una combinación conveniente de Amazon EC2 y AutoScaling: le permite usar hardware EC2 para sus servidores de juegos, y usa AutoScaling para aumentar o disminuir automáticamente el tamaño de su flota en función de la cantidad de tráfico del juego que esté recibiendo. Básicamente, todo lo que tiene que hacer es seleccionar el tipo de host EC2 que necesita, cuántos hosts necesita y definir sus políticas de autoescalado (por ejemplo, “aumente en un 20% cuando el porcentaje de sesiones de juego exceda el 60% de las máquinas tragamonedas disponibles”) . Lo único que debe hacer es integrar su servidor de juegos con un pequeño SDK que Amazon le proporciona, para que su juego pueda responder a eventos de GameLift para uniones y salidas de jugadores, comandos de apagado, etc.

Está diseñado para ser bastante simple, específicamente para que no tenga que gastar mucho tiempo y dinero en convertirse (o contratar) en un ingeniero de redes para administrar una granja de servidores. Y GameLift está disponible en múltiples regiones, por lo que puede alojar servidores más cercanos a donde se conectarán sus jugadores. 🙂

En general, AWS funcionará para un juego multijugador, pero no suele ser la mejor opción. Considere usar servicios como GameSparks o App42.

¿Tu juego es en tiempo real o por turnos?

Para juegos por turnos, recomendaría usar AWS Lambda con RDS como base de datos. Puede implementar la función AWS Lambda a través de API Gateway, lo que reducirá la latencia.

Si planeas desarrollar un juego en tiempo real, deberías buscar instancias de EC2 desnudas. Puede ser difícil, ya que tendrás que configurar muchas cosas dependiendo de cómo funcione tu juego. La configuración más fácil puede ser 1–2 servidores maestros y cualquier número de instancias EC2 que esperan que los jugadores se conecten. También puede pensar en la función de escala automática si su juego se vuelve popular, de esta manera los jugadores siempre podrán encontrar un servidor gratuito para jugar.

AWS tiene un par de servicios Amazon GameLift y AWS Lumberyard para ayudarlo con sus consultas.