Uso de servicios en la nube para juegos para UWP
La Plataforma universal de Windows (UWP) n Windows 10 ofrece un conjunto de interfaces API que se pueden usar para desarrollar juegos en dispositivos de Microsoft. Al desarrollar juegos para UWP entre plataformas y dispositivos, puedes utilizar un back-end en la nube para ayudar a escalar tus juegos según la demanda.
Si buscas una solución completa de back-end en la nube para tu juego, consulta Software como servicio para back-end del juego.
¿Qué es la informática en la nube?
La informática en la nube usa recursos y aplicaciones de TI a demanda a través de Internet para almacenar y procesar datos para los dispositivos. El término nube es una metáfora de la disponibilidad de grandes recursos virtuales (no recursos locales) a los que se puede acceder desde ubicaciones no específicas. El principio de la informática en la nube ofrece una nueva manera de consumir recursos y software. Los usuarios ya no necesitan pagar por adelantado todo el producto o los recursos completos, sino que, en su lugar, pueden consumir plataformas, software y recursos como servicio. Los proveedores de nube suelen facturar a sus clientes según las ofertas de uso o plan de servicio.
¿Por qué usar servicios en la nube?
Una ventaja de usar servicios en la nube para juegos es que no es necesario invertir por adelantado en servidores de hardware físicos, sino que solo necesitas pagar según el uso o los planes de servicio a posteriori. Es una manera de ayudar a administrar los riesgos implicados en el desarrollo de un nuevo título de juego.
Otra ventaja es que el juego puede acceder a grandes recursos en la nube para lograr escalabilidad (administración eficaz de los picos repentinos en el número de jugadores simultáneos, cálculos intensos de juego en tiempo real o requisitos de datos). Esto mantiene el rendimiento de tu juego estable alrededor en todo momento. Además, se puede acceder a los recursos en la nube desde cualquier dispositivo que se ejecute en cualquier plataforma y desde cualquier parte del mundo, lo que significa que puedes hacer llegar tu juego a todos los usuarios del mundo.
Ofrecer una experiencia de juego increíble a los jugadores es importante. Dado que los servidores de juegos que se ejecutan en la nube son independientes de las actualizaciones del lado cliente, pueden proporcionarle un entorno más controlado y seguro para tu juego en general. También puedes lograr la coherencia del juego a través de la nube sin confiar en el cliente sino aplicando una lógica de juego del lado del servidor. Las conexiones de servicio a servicio también pueden configurarse para permitir una experiencia de juego más integrada; por ejemplo, vinculando las compras en el juego a varios métodos de pago, tendiendo puentes entre distintas redes de juego y compartiendo actualizaciones del juego en portales de redes sociales populares como Facebook y X.
También puedes usar servidores en la nube dedicados para crear un mundo de juegos coherente y vasto, crear una comunidad de jugadores, recopilar y analizar datos del jugador a lo largo del tiempo para mejorar el juego y optimizar el modelo de diseño de monetización del juego.
Además, los juegos que requieren funcionalidades intensivas de administración de datos de juegos como juegos sociales con mecánicas multijugador asincrónicas se pueden implementar mediante servicios en la nube.
Cómo usan las empresas de juegos la tecnología en la nube
Obtén información sobre cómo otros desarrolladores han implementado soluciones en la nube en sus juegos.
Desarrollador | Descripción | Escenarios de juego claves | Saber más |
---|---|---|---|
Tencent Games | Tencent Games ha desarrollado una solución innovadora mediante Azure Service Fabric, lo que permite que los juegos tradicionales de PC se entreguen como servicio. Tu solución de juegos en la nube usa un modelo de "cliente ligero y nube enriquecida" que ejecuta cargas de trabajo como microservicios en el back-end. |
|
|
343 Industries | Halo 5: Guardians implementó Halo: Spartan Companies como su plataforma de juego social mediante Azure Cosmos DB (a través de la API DocumentDB), que se seleccionó por la velocidad y flexibilidad que ofrece gracias a sus funcionalidades de indexación automática. |
|
|
Illyriad Games | Illyriad Games creó Age of Ascent, un épico juego espacial 3D multijugador online de uso masivo (MMO) que se puede jugar en dispositivos que tienen navegadores modernos. Por lo tanto, este juego se puede jugar en equipos, portátiles, teléfonos móviles y otros dispositivos móviles sin complementos. El juego usa ASP.NET Core, HTML5, WebGL y Azure. |
|
|
Next Games | Next Games es el creador del videojuego The Walking Dead: No Man's Land, basado en la serie original de AMC. El juego Walking Dead usó Azure como back-end. Tenía 1.000.000 descargas en el fin de semana de apertura y en la primera semana, el juego se convirtió en aplicación gratuita #1 para iPhone & iPad en la App Store de EE. UU., aplicación gratuita #1 en 12 países y #1 en juego gratis en 13 países. |
|
|
Escuadrón de píxeles | Pixel Squad desarrolló Crime Coast mediante el motor de juegos Unity y Azure. Crime Coast es un juego de estrategia social disponible en plataformas Android, iOS y Windows. Azure Blob Storage, Azure Redis Cache administrado, una matriz de máquinas virtuales IIS con equilibrio de carga y el centro de notificaciones de Microsoft se usaron en tu juego. Obtén información sobre cómo administran el escalado y manejan jugadores con 5000 jugadores simultáneos. |
|
|
Otros vínculos
- Hitman y Azure: creación de características de juego como Elusive Target que solo son posibles mediante la nube
- Azure como ingrediente secreto en Hitcents, Game Troopers e InnoSpark
Diseño del back-end en la nube
Aunque los productores y diseñadores de juegos están en discusión sobre qué características y funcionalidades de juego son necesarias, es bueno empezar a considerar cómo quieres diseñar tu infraestructura de juego. Azure se puede usar como back-end del juego cuando quieras desarrollar juegos para varios dispositivos y en distintas plataformas principales.
Descripción de IaaS, PaaS o SaaS
En primer lugar, debes pensar en el nivel de servicio más adecuado para tu juego. Conocer las diferencias de los tres siguientes servicios puede ayudarte a determinar el enfoque que deseas adoptar para crear el back-end.
Infraestructura como servicio (IaaS)
Infraestructura como servicio (IaaS) es una infraestructura informática instantánea que se aprovisiona y administra a través de Internet. Imagina tener la posibilidad de tener muchas máquinas disponibles para escalar y reducir verticalmente de manera rápida en función de la demanda. IaaS evita el gasto y la complejidad que suponen la compra y administración de sus propios servidores físicos y otra infraestructura de centro de datos.
Plataforma como servicio (PaaS)
La plataforma como servicio (PaaS) es como IaaS, pero también incluye la administración de infraestructura como servidores, almacenamiento y redes. Por lo tanto, además de no comprar servidores físicos ni infraestructura del centro de datos, tampoco es necesario comprar y administrar licencias de software, infraestructura de aplicaciones subyacentes, middleware, herramientas de desarrollo u otros recursos.
-
El software como servicio (SaaS) permite que los usuarios se conecten y usen aplicaciones basadas en la nube a través de Internet. SaaS proporciona una solución de software completa que se compra mediante el sistema de pago por uso a un proveedor de servicios en la nube. Algunos ejemplos comunes son el correo electrónico, el calendario y herramientas de oficina (como las aplicaciones de Microsoft Office 365). Usted alquila el uso de una aplicación para su organización y los usuarios se conectan a ella a través de Internet, normalmente con un explorador web. Toda la infraestructura subyacente, el software intermedio, el software de aplicación y los datos de aplicación se encuentran en el centro de datos del proveedor de servicios. El proveedor de servicios administra el hardware y el software y, como el acuerdo de servicio adecuado, garantizará la disponibilidad y la seguridad del juego y también de los datos. SaaS permite que la organización empiece rápidamente a funcionar con una aplicación a un costo por adelantado mínimo.
Diseño de la infraestructura de juegos mediante Azure
A continuación se muestran algunas maneras de usar las ofertas en la nube de Azure para un juego. Azure funciona con Windows, Linux y tecnologías de código abierto conocidas, como Ruby, Python, Java y PHP. Para más información, consulta Azure para juegos.
Requisitos | Escenarios de actividad | Oferta de producto | Funciones del producto |
---|---|---|---|
Hospedar el dominio en la nube | Responder a consultas DNS de forma eficaz | DNS de Azure | Hospedar el dominio con un alto rendimiento y disponibilidad |
Inicio de sesión, verificación de identidad | Se autentican los inicios de sesión del jugador y la identidad del jugador | Azure Active Directory | Inicio de sesión único en cualquier aplicación web local y en la nube con autenticación multifactor |
Juego que usa el modelo IaaS de infraestructura como servicio | El juego se hospeda en máquinas virtuales en la nube | Máquinas virtuales de Azure | Escala en cualquier parte desde una a miles de instancias en máquinas virtuales. como servidores de juegos de con redes virtuales y equilibrio de carga incorporados, mientras te beneficias de la coherencia híbrida con los sistemas locales. |
Juegos web o móviles mediante un modelo de plataforma como servicio (PaaS) | El juego se hospeda en una plataforma administrada | Azure App Service | PaaS para sitios web o juegos móviles (lo que significa máquinas virtuales de Azure con middleware/herramientas de desarrollo/administración de DB/BI) |
Juego en la nube de n niveles escalable y altamente disponible con mayor control del sistema operativo (PaaS) | El juego se hospeda en una plataforma administrada | Servicio en la nube de Azure | Está diseñado con PaaS para ser compatible con aplicaciones escalables, confiables y de funcionamiento asequible. |
Equilibrio de carga entre regiones para mejorar el rendimiento y la disponibilidad | Enruta las solicitudes entrantes del juego. Puede actuar como primer nivel de equilibrio de carga. | Azure Traffic Manager | Ofrece varias opciones de conmutación automática por error y capacidad para distribuir el tráfico de forma equitativa o con valores ponderados. Combina sin interrupciones sistemas locales y en la nube. |
Almacenamiento en la nube para datos de juegos | Los datos más recientes del juego se almacenan en la nube y se envían a los dispositivos del cliente. | Azure Blob Storage | No hay ninguna restricción en los tipos de archivo que se pueden almacenar; almacenamiento de objetos para grandes cantidades de datos no estructurados, como imágenes, audio, vídeo, etc. |
Tablas de almacenamiento de datos temporales | Las transacciones del juego (cambios en los estados del juego) se almacenan temporalmente en tablas | Azure Table Storage | Los datos del juego se pueden almacenar en un esquema flexible según las necesidades del juego. |
Transacciones o solicitudes del juego en cola | Las transacciones de juego se procesan en forma de cola | Azure Queue Storage | Las colas absorben ráfagas de tráfico inesperadas y pueden evitar que los servidores se sobrecarguen por una avalancha súbita de solicitudes durante el juego. |
Base de datos de juegos relacionales escalables | Almacenamiento estructurado de datos relacionales, como transacciones en juego a la base de datos | Azure SQL Database | SQL Database como servicio (comparación con SQL en una máquina virtual) |
Base de datos de juegos de baja latencia distribuida y escalable | Lectura rápida, escritura y consulta de datos de juegos y jugadores con flexibilidad de esquema | Azure Cosmos DB | Base de datos como servicio documental NoSQL de baja latencia |
Usa tu propios centro de datos con los servicios de Azure | El juego se recupera de tu propio centro de datos y se envía a los dispositivos del cliente. | Azure Stack | Permite a tu organización ofrecer servicios de Azure desde tu propio centro de datos para ayudarte a lograr más |
Transferencia de fragmentos de datos grandes | Los archivos grandes, como imágenes de juegos, audio y vídeos, se pueden enviar a los usuarios desde la ubicación emergente de Content Delivery Network (CDN) más cercana con Azure CDN | Azure Content Delivery Network | Basado en una topología de red moderna de nodos centralizados de gran tamaño, Azure CDN controla picos de tráfico repentinos y cargas pesadas para aumentar drásticamente la velocidad y la disponibilidad, lo que da lugar a mejoras significativas en la experiencia del usuario |
Baja latencia. | Realiza el almacenamiento en caché para crear juegos rápidos y escalables con más control y aislamiento garantizado de los datos; también se puede usar para mejorar la característica de creación de coincidencias para el juego. | Azure Redis Cache | Acceso a datos consistente, de baja latencia y alta capacidad de proceso para implementar aplicaciones de Azure rápidas y escalables |
Alta escalabilidad, baja latencia | Controla las fluctuaciones en el número de usuarios del juego con lectura y escrituras de baja latencia | Azure Service Fabric | Capaz de impulsar los escenarios más complejos, de baja latencia, de uso intensivo de datos y escalar de forma confiable para controlar más usuarios a la vez. Service Fabric te permite crear juegos sin tener que crear un almacén o memoria caché independientes necesarios para las aplicaciones sin estado. |
Capacidad de recopilar millones de eventos por segundo desde dispositivos | Registrar millones de eventos por segundo desde dispositivos | Azure Event Hubs | Uso de telemetría en la nube desde juegos, sitios web, aplicaciones y dispositivos |
Procesamiento en tiempo real de los datos del juego | Realiza análisis de datos de jugadores en tiempo real para mejorar el juego | Azure Stream Analytics | Procesamiento de transmisiones en tiempo real en la nube |
Desarrollo del juego predictivo | Crear un juego dinámico personalizado basado en datos del jugador | Azure Machine Learning | Un servicio en la nube totalmente administrado que le permita crear, implementar y compartir fácilmente soluciones de análisis predictivo |
Recopilación y análisis de datos de juego | Procesamiento paralelo masivo de datos de bases de datos relacionales y no relacionales | Azure Data Warehouse | Almacenamiento como servicio de datos elástico con características de clase empresarial |
Participación de los usuarios para aumentar el uso y la retención | Enviar notificaciones push dirigidas a cualquier plataforma desde cualquier back-end para generar interés y fomentar acciones específicas del juego | Azure Notification Hubs | Inserción rápida de difusión para llegar a millones de dispositivos móviles en todas las plataformas principales: iOS, Android, Windows, Kindle, Baidu. El juego se puede hospedar en cualquier back-end, en la nube o en el entorno local. |
Transmite contenido multimedia a tus audiencias locales y mundiales al mismo tiempo que protege el contenido | Los trailers de juegos de calidad de difusión y los clips cinemáticos se pueden ver desde todos los dispositivos | Azure Media Services | Streaming de video a petición y en vivo con funcionalidad de Content Delivery Network integrada. Usa un reproductor para todas tus necesidades de reproducción, incluida la protección de contenido y el cifrado. |
Desarrolle, distribuya y pruebe versiones beta de sus aplicaciones móviles | Probar y distribuir tu aplicación móvil. Administración del rendimiento de la aplicación y la experiencia del usuario. | HockeyApp | Integra informes de errores y métricas de usuario con una distribución de aplicaciones y una plataforma de comentarios de los usuarios. Compatibilidad con aplicaciones de Android, Cordova, iOS, OS X, Unity, Windows y Xamarin. Además, evalúa Visual Studio Mobile Center: control de misión para aplicaciones que combinan análisis enriquecidos, informes de bloqueos, notificaciones push, distribución de aplicaciones, etc. |
Crear campañas de marketing para aumentar el uso y la retención | Enviar notificaciones push a los jugadores dirigidos para generar interés y fomentar acciones específicas del juego según el análisis de datos | Mobile Engagement: será retirado del mercado en marzo de 2018 y actualmente solo está disponible para los clientes que ya lo tienen | Aumentar el tiempo de juego y la retención de usuarios en todas las plataformas principales: iOS, Android, Windows, Windows Phone |
Recursos para startups y desarrolladores
-
Microsoft for Startups proporciona ventajas de producto, técnica y de comercialización para ayudar a acelerar el crecimiento de las startups. Una de las ventajas es incluir la obtención de una cuenta gratuita de Azure. Cuentas con $200 de crédito para explorar los servicios de Azure durante 30 días, más de 12 meses de servicios populares gratuitos y más de 25 servicios que siempre son gratuitos. Para más información, lee Haz realidad las ideas de tu startup con una cuenta gratuita de Azure.
Programas para desarrolladores
Microsoft ofrece varios programas para desarrolladores como ID@Xbox y el Programa de creadores de Xbox Live para desarrollar y publicar juegos.
Recursos de aprendizaje
- //compilación 2016: CodeLabs: uso del servicio Microsoft App de Azure y back-end de Microsoft SQL Azure para guardar la puntuación del juego en Unity
- //compilación 2017: Entrega de experiencias de juego de primera clase con Microsoft Azure: lecciones aprendidas de títulos como The Master Chief Collection, Hitman y Walking Dead (video)
- Conjunto reutilizable de bloques de creación, proyectos, servicios y procedimientos recomendados diseñados para admitir cargas de trabajo comunes de juegos mediante Azure en GitHub: Bloques de creación para juegos en Azure
- Servicios de juegos en Azure (videos)
Herramientas y otros vínculos útiles
- Foros de MSDN: plataforma Azure
- Pruebas de carga basadas en la nube
- SDK y herramientas de línea de comandos
Software como servicio para el back-end del juego
Azure PlayFab potencia más de 1200 juegos en vivo con más de 80 millones de jugadores activos al mes. Es una plataforma de back-end completa que incluye LiveOps de pila completa con control en tiempo real.
Puedes integrar esta solución con tus juegos móviles, de PC o de consola mediante SDK. Hay SDK disponibles para todos los motores y plataformas de juegos populares, incluidos Android, iOS, Unreal, Unity y Windows.
Ofrece servicios de juegos como autenticación, administración de datos de jugadores, multijugador y análisis en tiempo real para ayudar a tu juego a aumentar su base de usuarios. Aprovecha la eficacia de la canalización de datos en tiempo real y LiveOps para interactuar con los usuarios con elementos, eventos y promociones personalizados en el juego. También tienes la capacidad de realizar pruebas A/B, generar informes, enviar notificaciones push, etc.
Constantemente estamos innovando y agregando nuevas características. Para más información, consulta Azure PlayFab; y para obtener precios, consulta Precios.