Lumberyard
Guía del usuario (Version 1.21)

Información general de Cloud Canvas

Cloud Canvas le ayuda a administrar los recursos de la nube y a conectar su juego con la nube de AWS. El conocimiento de sus conceptos beneficiará a todos aquellos en su equipo que interactúen con los componentes conectados con la nube del juego, incluidos diseñadores, programadores y probadores.

Esta sección cubre lo siguiente:

  • Qué es Cloud Canvas y cómo se relaciona con su cuenta de AWS

  • Amazon Web Services compatible con Cloud Canvas

  • Cómo Cloud Canvas le ayuda a administrar sus recursos

  • Cómo puede comunicarse el juego con la nube a través de gemas en la nube

Requisitos previos

Antes de leer este tema, debería tener conocimientos básicos sobre el motor de Lumberyard.

AWS, Cloud Canvas, y Lumberyard

Amazon Web Services (AWS) es un amplio y potente conjunto de servicios basados en la nube. Puede utilizar estos servicios para cargar o descargar archivos, acceder a bases de datos, ejecutar código en la nube y realizar muchas otras operaciones. Un servicio en la nube le ahorra la molestia de mantener la infraestructura de la que depende.

Recursos basados en la nube

Cuando quiera utilizar un servicio en la nube de AWS, puede hacerlo a través de un recurso, una entidad basada en la nube que está disponible para su uso, ayuda a o soporte. Los recursos incluyen una base de datos, una ubicación para guardar archivos, el código que ejecuta un servicio y mucho más.

Cuando crea un recurso, existe en la nube, pero puede utilizarlo y administrar su contenido. También especifica los permisos que los individuos o grupos tienen para acceder o utilizar el recurso. Por ejemplo, es posible permitir que cualquier persona en el público lea la base de datos, pero no que escriba en ella ni la modifique.

Grupos de recursos

Para crear una función de juego conectada como una tabla de puntuación máxima, debe crear un grupo de recursos en Cloud Canvas. El grupo de recursos define los recursos de AWS que requiere la función. Por tanto, cada función de juego conectada, se implementa como un grupo de recursos en Cloud Canvas.

Cuentas de AWS

Los recursos son propiedad de una cuenta de AWS. LA cuenta de AWS le permite a usted y a su equipo compartir el acceso a los mismos recursos. Por ejemplo, la cuenta de AWS de su equipo podría ser propietaria de un recurso de base de datos con el que pueden trabajar con la misma base de datos.

Usted, o un miembro de su equipo, es un administrador. El administrador crea la cuenta de AWS para su equipo y proporciona a los individuos del equipo acceso a los recursos de la cuenta.

Lumberyard, Cloud Canvas y gemas en la nube

Cloud Canvas es una gema de Lumberyard (extensión) que permite que los juegos de Lumberyard se comuniquen con recursos de AWS. Para integrar la comunicación con Amazon Web Services directamente en la lógica del juego, puede utilizar gemas en la nube.

Por ejemplo, puede utilizar gemas en la nube para crear tablas de clasificación, mensajes del día, encuestas en el juego y capacidades de reconocimiento de voz y conversión de texto a voz para el juego.

Amazon Web Services compatible con Cloud Canvas

Hay disponibles varias ofertas de AWS a través de Cloud Canvas que pueden mejorar su juego.

Almacenamiento de archivos en la nube

Para guardar archivos en la nube, Cloud Canvas admite Amazon Simple Storage Service (Amazon S3). Amazon S3 ofrece un recurso de almacenamiento denominado bucket, que se puede considerar como una carpeta de gran tamaño. Puede crear una estructura de directorios en un bucket de Amazon S3, como si se tratara de un directorio en un equipo local. Los buckets de Amazon S3 tienen varias utilidades en los juegos, entre las que se incluyen las siguientes:

  • Almacenamiento de archivos que el juego puede descargar. Estos archivos pueden ser niveles, personajes u otras extensiones para el juego. Puede añadir nuevos archivos después de que se haya enviado el juego. Dado que el juego utiliza Cloud Canvas para descargar e integrar este contenido, los clientes no necesitan descargar un nuevo cliente.

  • El juego puede cargar contenido generado por los jugadores. Por ejemplo, el juego podría realizar una captura de pantalla cuando un jugador derrota al último jefe. Cloud Canvas carga la captura de pantalla en el bucket y el juego hace que esté disponible en un sitio web o para otros jugadores del juego.

Bases de datos

Para almacenar datos como el nombre, el número de teléfono y la dirección personal en la nube, Cloud Canvas es compatible con el servicio de base de datos de Amazon DynamoDB. Amazon DynamoDB funciona en recursos denominados tablas. Estas tablas crecen y se adaptan a medida que crea e itera el juego.

A continuación se muestran algunas formas en las que puede utilizar los recursos de tablas de Amazon DynamoDB en el juego:

  • Realizar un seguimiento de los detalles de la cuenta y estadísticas de un jugador. Proporcione a cada jugador un ID exclusivo de forma que pueda buscar los puntos de acierto, inventario, puntos, oro y amigos de un jugador.

  • Añadir o eliminar campos para incorporar nuevos grupos de recursos en el juego.

  • Realizar análisis de datos. Por ejemplo, puede ejecutar consultas complejas para averiguar cuántos jugadores han desbloqueado un determinado logro.

  • Administrar grupos de recursos o eventos en todo el juego como una consultar de una tabla de puntuación máxima o recuperar un mensaje del día.

Ejecución de lógica basada en la nube

Para ejecutar el código en la nube, Cloud Canvas admite el servicio de AWS Lambda. AWS Lambda ejecuta recursos conocidos como funciones. Usted proporciona el código para una función Lambda y el juego llama al servicio de Lambda a través de Cloud Canvas para ejecutar la función. El servicio de Lambda devuelve los datos de la función al juego.

Las funciones Lambda pueden incluso llamar a otro Amazon Web Services como Amazon DynamoDB y realizar operaciones en sus recursos. A continuación se muestran algunos ejemplos:

  • Enviar una puntuación récord: una función Lambda puede aceptar el ID de un jugador y una nueva puntuación, consultar el ID del jugador en la base de datos, comparar la puntuación con las existentes y actualizar la puntuación máxima en caso de que sea necesario.

  • Sanear los datos: una función Lambda puede comprobar entradas maliciosas o inusuales. Por ejemplo, si un jugador intenta cargar una nueva puntuación máxima de 999.999.999 cuando los mejores jugadores no pueden llegar a 1000, su función Lambda permite detener el envío y rechazar o marcarlo para su revisión.

  • Realizar acciones de autorización en el servidor: Cloud Canvas puede llamar a sus funciones Lambda para controlar las finanzas del juego. Por ejemplo, cuando un jugador intenta comprar un elemento, la función de Lambda puede comprobar una base de datos para verificar que el jugador tiene suficiente dinero para pagar el elemento. A continuación, la función puede deducir el importe de la cuenta del jugador y añadir el elemento al inventario de los jugadores.

Identidad y permisos

Para administrar la identidad del jugador y controlar el acceso a los recursos de AWS en la nube, Cloud Canvas es compatible con el servicio Amazon Cognito.

Amazon Cognito puede crear identidades exclusivas anónimas para los jugadores que están vinculados a un dispositivo concreto. También puede autenticar identidades de proveedores de identidades como Login with Amazon, Facebook o Google. Esto proporciona al juego ID de jugador coherentes que pueden cambiar sin problemas de uso anónimo en un único dispositivo a uso autenticado en varios dispositivos. Estudie estos ejemplos:

  • Los jugadores comienzan a jugar al juego de forma anónima y almacenan su progreso localmente en su dispositivo. Más tarde, para "mejorar" su experiencia, les pide que se autentiquen a través de uno de los proveedores de inicio de sesión mencionados. Después de que los jugadores proporcionan un ID autenticado, puede guardar su progreso en la nube y ellos pueden acceder a su progreso en varios dispositivos.

  • Puede especificar los recursos de AWS a los que pueden acceder los jugadores. Por ejemplo, puede activar la función "Obtener la última puntuación alta" de Lambda para que la llame no solo el juego, sino cualquiera, incluidos sitios web externos. Sin embargo, podría especificar que la función "Enviar puntuaciones altas" solo se llamase por los jugadores del juego, de forma que la tabla de puntuación máxima siga siendo segura. Puede utilizar Cloud Canvas para administrar estos permisos.