Marketing TechARTIGO

Lumberyard + Amazon GameLift + Twitch for Games on AWS

Conheça alguns produtos da AWS que são projetados para uso de devs de jogos profissionais na construção de jogos de plataforma cruzada conectados à nuvem.

A construção de jogos de classe mundial é um processo muito difícil, demorado e caro. O público é incrivelmente exigente. Eles querem jogos sociais envolventes, que abranjam uma ampla variedade de plataformas como, desktops, consoles e dispositivos móveis. Devido ao longo período de espera inerentes ao processo de desenvolvimento e distribuição dos jogos, o sucesso ou o fracasso do jogo muitas vezes pode ser determinado no dia do lançamento, quando a procura faz com que centenas de milhares ou mesmo milhões de jogadores entrem para experimentar o jogo.

Nos bastidores, o processo de desenvolvimento deve estar à altura deste desafio. Os criadores do jogo devem ser parte de uma equipe que inclui desenvolvedores com habilidades em contar histórias, projetar jogos, física, projetos lógicos, criação de som, gráficos, efeitos visuais e animação. Se o jogo é baseado em rede, a equipe também deve incluir experiência em escala, armazenamento online, comunicação e gerenciamento de rede e segurança.

Com o desenvolvimento e trabalho criativo que pode levar de 18 a 36 meses, os jogos de hoje representam um risco financeiro e de reputação considerável para o estúdio. Cada novo jogo é um assunto make-or-break.

Novo AWS Game Services

Hoje eu gostaria de informá-lo sobre alguns novos produtos da AWS que são projetados para uso de desenvolvedores de jogos profissionais na construção de jogos de plataforma cruzada conectados à nuvem. Começamos com várias ferramentas de desenvolvimento já consolidadas, desenvolvidas pelos líderes da indústria de jogos, e nós acrescentamos uma quantidade considerável do nosso próprio código e integramos o pacote inteiro com a nossa plataforma de vídeo e comunidade Twitch, ao mesmo tempo, combinamos o acesso a mensagens, identidade e serviços de armazenamento relevantes da AWS. E aqui está o que estamos anunciando hoje:

Lumberyard

Um mecanismo e ambiente de desenvolvimento de jogo projetado para desenvolvedores profissionais. Uma mistura de tecnologias novas e consolidadas da CryEngine, Double Helix e AWS, o Lumberyard simplifica e agiliza o desenvolvimento do jogo. Como um mecanismo de jogo, suporta o desenvolvimento de jogos 3D conectados à nuvem e independentes, com suporte para a gestão de ativos, criação do personagem, AI, física, áudio e muito mais.

No lado do desenvolvimento, o Lumberyard IDE permite projetar ambientes internos e externos a partir de uma tela em branco. Você (acabei de te promover à desenvolvedor de jogos profissional) pode tirar vantagem dos fluxos de trabalho incorporados e de um portfólio de recursos, recursos de edição de jogos em Photoshop, Maya, ou 3ds Max para editá-los e trazê-los para o IDE depois. É possível programar o jogo da maneira tradicional usando C ++ e Visual Studio (incluindo o acesso ao AWS SDK para C++) ou você pode usar a nossa ferramenta de fluxo de gráfico, a Flow Graph, e o iradíssimo Cloud Canvas para criar recursos de jogabilidade conectada à nuvem usando scripts visual.

lumberyard_editor_hall_2

Amazon GameLift

Muitos jogos modernos incluem um servidor ou componente de backend que deve escalar na proporção do número de sessões ativas. O Amazon GameLift irá ajudá-lo a implementar e escalar servidores de jogos multiplayer baseado em sessão para os jogos que você criar usando o Lumberyard. Você simplesmente fazer upload da sua imagem do servidor do jogo para a AWS e implantar a imagem em uma frota de instâncias de EC2 que se adapta a medida em que os jogadores se conectam para jogar.

Você não precisa investir na construção, ampliação, execução ou acompanhamento da sua própria frota de servidores. Em vez disso, você paga uma pequena taxa por diária de usuário ativo (DAU) e as habituais taxas do EC2 On-Demand para a capacidade de computação, armazenamento EBS e largura de banda que os usuários consomem.

gamelift_console_first_run_small_3

Twitch Integration

Os jogadores modernos são um grupo muito conectado. Quando eles não estão jogando, eles gostam de se conectar e interagir com outros jogadores e entusiastas de jogos no Twitch. Jogadores profissionais e amadores mostram seus talentos no Twitch e criam uma grande base de fãs fiéis. A fim de levar esta tendência adiante e para fomentar o estabelecimento de ligações mais profundas e comunidades ainda mais fortes, jogos construídos com o Lumberyard serão capazes de tirar partido de dois novos recursos de integração no Twitch.

O Twitch ChatPlay permite construir jogos que respondem às palavras-chave em uma stream no Twitch chat. Por exemplo, o público pode votar para que o jogador tome uma determinada ação. O Twitch JoinIn permite que um broadcaster convide um membro da audiência para entrar no jogo de dentro do canal de chat.

Estes serviços, como muitas outras partes da AWS, são projetados para permitir que você se concentre nos aspectos originais e criativos de seu jogo, com ênfase em baixos tempos de resposta e fácil interação para que você possa continuar a aprimorar o seu jogo até atingir o nível de envolvimento e diversão desejados.

Serviços de suporte

Como a cereja no topo deste bolo, também estamos lançando uma ampla gama de opções de suporte, incluindo um fórum dedicado ao Lumberyard e um conjunto de tutoriais (texto e vídeo). Vários níveis de suporte pagos da AWS também estão disponíveis.

twitch_chat_play_part_2

Desenvolvendo com o Lumberyard

O Lumberyard é o centro doartigo de hoje. Como mencionei anteriormente, ele é projetado para desenvolvedores profissionais e suporta desenvolvimento de alta qualidade e jogos de plataforma cruzada. Estamos lançando com suporte para os seguintes ambientes:

  • Windows – Vista, Windows 7, 8 e 10
  • Console – PlayStation 4 e Xbox One

O suporte para dispositivos móveis e fones de ouvido VR está em obras e deve estar disponível dentro de alguns poucos meses.

O ambiente de desenvolvimento Lumberyard é executado em seu PC Windows ou laptop. Você precisará de um processador quad-core rápido, com pelo menos 8 GB de memória, 200 GB de espaço livre em disco e uma placa de vídeo high-end com 2 GB ou mais de memória e compatibilidade com Direct X 11. Você também vai precisar do Visual Studio 2013 Update 4 (ou mais recente) e o pacote Visual C ++ Redistributables para o Visual Studio 2013.

O arquivo Zip Lumberyard contém os binários, modelos, recursos e arquivos de configuração para o Lumberyard Editor. Ele também inclui binários e código-fonte para o Lumberyard game engine. Você pode usar o game engine como está, você pode ir fundo no código-fonte para fins de referência, ou você pode personalizá-lo, a fim de diferenciar ainda mais o seu jogo. O arquivo Zip também contém o Lumberyard Launcher. Este programa garante que você tenha instalado e configurado corretamente o Lumberyard e suas third party runtimes, SDKs, ferramentas e plugins.

O Lumberyard Editor encapsula o jogo em desenvolvimento e um conjunto de ferramentas que você pode usar para editar recursos do jogo.

lumberyard_editor_relay_1

O Lumberyard Editor inclui um conjunto de ferramentas de edição (cada uma dos quais poderia ser assunto de um artigo inteiro) incluindo um Navegador de Recursos, um Editor de Camadas, um gerador de LOD, um Navegador de Textura, um Editor de Material, Geppetto (ferramentas de caracteres e animação), um editor de Manequim, Grafo de Fluxo (programação visual), um depurador de AI, um Editor de Exibição de Rastreamento, um Editor de Controles de áudio, um Editor de Terrenos, um Editor de Texturas de Camadas de Terreno, um Editor de Partículas, um Editor de Hora do Dia, uma Ferramenta de Trajetória do Sol, um Editor de Composição, um banco de dados de exibição e um editor de UI. Todos os editores (e muito mais) são acessíveis a partir de uma das barras de ferramentas no topo.

A fim de permitir que você adicione funcionalidades ao seu jogo de uma forma seletiva, modular, o Lumberyard utiliza um sistema de pacotes de códigos que chamamos de Gems. Você simplesmente habilita os Gems desejados e eles serão compilados e incluídos no binário do seu jogo finalizado automaticamente. O Lumberyard inclui Gems para acesso à AWS, Boids (para o comportamento flocking), nuvens, efeitos de jogo, o acesso a GameLift, relâmpagos, leis da física, chuva, neve, tornados, interfaces com o usuário, funções multiplayer e uma coleção de recursos de florestas (para florestas realísticas e detalhadas).

Codificação com grafo de fluxo e cloud canvas

Tradicionalmente, a lógica para os jogos foi construída por desenvolvedores dedicados, muitas vezes em C ++ e com o tempo de retorno de costume para um ciclo de edição/compilação/execução. Embora essa opção ainda esteja aberta para você, se você usar o Lumberyard, você também terá duas outras opções: Lua e grafo de fluxo.

O grafo de fluxo é um sistema de scripting visual moderno e acessível que lhe permite implementar lógica do jogo complexo sem escrever ou modificar qualquer código. Você pode usar uma extensa biblioteca de nós pré-construídos para configurar o jogo, controlar os sons e gerenciar efeitos.

Grafos de fluxo são feitos de nós e arestas; um único nível pode conter vários grafos e todos eles podem estar ativos ao mesmo tempo. Os nós representam entidades ou ações do jogo. As arestas ligam a saída de um nó para a entrada de um outro. As entradas são de algum tipo (Boolean, Float, Int, String, Vector, e assim por diante). Portas de saída podem ser ligadas a uma porta de entrada de qualquer tipo; uma conversão automática de tipo é realizada (se possível).

Existem mais de 30 tipos distintos de nós, incluindo um conjunto (conhecido como Cloud Canvas) que fornece acesso a vários serviços da AWS. Nestes estão dois nós que dão acesso ao Amazon Simple Queue Service (SQS), quatro nós que fornecem acesso ao Amazon Simple Notification Service (SNS), sete nós que fornecem acesso de leitura/escrita ao Amazon DynamoDB, um para invocar uma função do AWS Lambda e outro para gerenciar credenciais do jogador usando o Amazon Cognito. Todas as chamadas à AWS pelos jogos são feitas através de um usuário do AWS Identity and Access Management (IAM) que você configura no Cloud Canvas.

Aqui está um nó que chama uma função Lambda chamado DailyGiftLambda:

cloud_canvas_lambda_invoke_1

Aqui está um grafo de fluxo que usa Lambda e DynamoDB para implementar uma função “Daily Gift”:

cloud_canvas_sample_dailygift_1

Como de costume, fui bastante superficial aqui! Para saber mais, leia a documentação do Cloud Canvas no Lumberyard User Guide.

Implementando com o Amazon GameLift

Se o seu jogo precisa de um ambiente de autonomia escalável baseada em nuvem, você definitivamente deve dar uma olhada no Amazon GameLift.

gamelift_console_first_run_big_1

Você pode usá-lo para hospedar diferentes tipos de jogos conectados, regularmente sincronizadas, incluindo jogos de tiro em primeira pessoa, jogos de sobrevivência e sandbox, jogos de corrida, jogos de esportes e jogos MOBA (multiplayer Online Battlefield Arena).

Depois de construir a sua lógica server-side, basta enviá-lo para o Amazon GameLift. Ele será convertido para um AMI (Amazon Machine Image) baseado no Windows em questão de minutos. Uma vez que a AMI está pronta, você pode criar uma frota do Amazon GameLift (ou uma nova versão de uma já existente), apontá-la para a AMI e seu backend estará pronto para funcionar.

Suas frotas, e as sessões de jogo em execução em cada frota, são visíveis no Console do Amazon GameLift:

gamelift_console_fleet_1

Seu código do grafo de fluxo pode usar o GameLift Gem para criar uma sessão do Amazon GameLift e para iniciar o serviço de sessão.

Para saber mais, consulte a documentação do Amazon GameLift.

Integração com o Twitch

Por último, mas não menos importante, os seus jogos podem se integrar com o Twitch via Twitch ChatPlay e Twitch JoinIn.

Como mencionei anteriormente, você pode criar jogos que reagem às palavras-chave digitadas em um canal Twitch designado. Por exemplo, aqui está um grafo de fluxo que reconhece as palavras-chave, amarelo, azul, verde, laranja e violeta.

twitch_flow_graph_detail_1

Preço e disponibilidade

O Lumberyard e o Amazon GameLift já estão disponíveis e você já pode começar a construir seus jogos!

Você pode construir e executar jogos conectados e standalone usando o Lumberyard sem nenhum custo. Você é responsável pelos encargos da AWS para todas as chamadas feitas para serviços da AWS usando o usuário IAM configurado no Cloud Canvas ou através de chamadas feitas usando o SDK AWS para C ++, juntamente com quaisquer encargos para o uso do GameLift.

O Amazon GameLift está em funcionamento nas regiões Leste dos EUA (Virgínia do Norte) e Oeste dos EUA (Oregon), e em breve será lançado em outras regiões da AWS também. Como parte Nível gratuito da AWS, você pode executar uma frota composta por uma instância c3.large por até 125 horas por mês por um período de um ano. Depois disso, você pagará as taxas On-Demand habituais para as instâncias de EC2 que você usar, mais a taxa para 50 GB/mês de armazenamento EBS por exemplo, e US $ 1,50 por mês para cada 1000 usuários ativos por dia.

Deixe suas dúvidas e/ou comentários aqui ou escreva diretamente para o autor (em inglês).

Chef Evangelist na Amazon Web Services.

Ver perfil