Você está na página 1de 7

Cloud Gaming

Athos J. Araújo1 , Mateus Farias Feliciano1 , Matheus Joseph M. Araújo1 , Venâncio E. da Silva1
1
Núcleo de Computação Alan Turing (NuCAT)
Instituto Federal Goiano Campus Rio Verde (IF Goiano)
Rio Verde – GO – Brasil

Abstract. Cloud computing technologies and the computer games industry have
made advances recently considered. Thus, an active research topic is how to
transform software from traditional games and online games into Game as a
Service (GaaS). Similar to many cloud-based services, cloud gaming services
have many advantages compared to traditional software systems, such as scal-
ability to overcome restrictions on terminal hardware, ubiquitous support and
cross platform to provide an engaging and cost-effective gaming experience for
software development and software distribution. In addition, the GaaS model
exhibits many attractive features.

Resumo. As tecnologias de computação em nuvem e a indústria de jogos de


computador fizeram avanços consideráveis recentemente. Assim, um tópico
ativo de pesquisa é como transformar software de jogos tradicionais e jo-
gos online em Game as a Service (GaaS). Semelhante a muitos serviços de
computação em nuvem, os serviços de jogos em nuvem têm muitas vantagens em
comparação com sistemas de software tradicionais, como escalabilidade para
superar restrições de hardware de terminal, suporte onipresente e de plataforma
cruzada para fornecer uma experiência de jogo envolvente e custo-benefı́cio
para desenvolvimento de sistema e distribuição de software. Além disso, o mod-
elo GaaS exibe muitos recursos atraentes.

1. Introdução
Software como jogo necessitam de grandes recursos e plataformas como a mobile não
são capazes de prover esses recursos de forma eficiente. Exemplo disso é o jogo Asphalt
8 que necessitava de 900MB de armazenamento e isso é quase 6% do armazenamento de
um smartphone com 16GB de armazenamento [Chuah et al. 2014].
Por esses e outros motivos empresas buscam criar soluções em nuvem como SaaS,
STaaS, PaaS e no nosso caso GaaS. E isso demanda de muito recurso por parte dos servi-
dores, porém análises mostram que esse tipo de soluções no final é eficiente.
No ponto de vista da computação um jogo de computador é um procedimento
em loop que permite a interação do player com a logica do jogo [Cai et al. 2014]. Essa
interação pode ser entre vários jogadores definindo se assim um jogo multiplayer. Jogos
multiplayers podem ser local ou online sendo a segunda opção uma com uma estrutura
própria bem definida na Figure 1.
• Player: quem controla o jogo;
• Input module: recebe informações de controle do jogador;
• Game logic module: responsável pela manipulação do conteúdo do jogo;
Figure 1. Ilustração da estrutura de um jogo online que consiste em seis módulos
principais.

• Networking module: troca várias informações com o servidor do jogo;


• Multiplayer server: processa varias informações referentes a logica do jogo, ex-
emplo como os personagens interagem com outros;
• Rendering module: renderiza o vı́deo do jogo e o apresenta ao Player.
Os três cortes de gráfico na Figura 1 ilustram de forma simplificada como seria a
ideia por trás das forma de execução de um jogo.
O Cut 1 demonstra todos os módulos a baixo são implementados de forma local,
enquanto o módulo acima é a interface entre os clientes de jogos e o servidor de jogos
online. Nesse caso, a nuvem é usada apenas como um servidor de troca de informações,
que é o design tradicional para jogos online.
O Cut 2 vai para a outra extremidade do espectro: o o processamento local contém
apenas o módulo de entrada, enquanto a nuvem hospeda todos os módulos e componentes
restantes. Nesse caso, o vı́deo de jogo renderizado em tempo real será transmitido ao
jogador pela Internet. Chamamos esse modelo de Remote Rendering GaaS (RR-GaaS)
Section 3.
O Cut 3 ilustra outra ideia de design: os módulos de entrada e renderização são ex-
ecutados no terminal, enquanto os outros módulos são executados na nuvem. Denotamos
esta abordagem como uma Local Rendering GaaS (LR-GaaS) Section 4.
De acordo com esses cortes na Figura 1 podemos ver que a essência dos jogos
em nuvem é aproveitar os recursos da nuvem para executar vários módulos de jogos,
reduzindo assim a carga de trabalho localmente e aumentando a eficiência.

2. Game as a Service (GaaS)


Jogos vistos como um serviço atua onde software de jogo é hospedado em servidores na
nuvem. Os controles dos usuários são transmitidos aos servidores em nuvem e a lógica
do jogo é executada nos servidores em nuvem.
Segundo [Chuah et al. 2014] em geral os jogos em nuvem oferecem eficiência nos
seguintes aspectos:
• Software Management: a instalação de software em máquinas locais individuais
requer atualizações regulares para patches e correções. Os jogos em nuvem têm
a vantagem de disponibilizar novos lançamentos para o cliente imediatamente e
solucionar problemas de compatibilidade e atualização;
• Hardware Maintenance: frequentemente o hardware precisa ser atualizado para
atender aos requisitos de instalações de jogos tradicionais em máquinas locais.
Jogos em nuvem são renderizados em servidores em nuvem com recursos abun-
dantes e escaláveis.
• Deployment Cost: Os jogos em nuvem eliminam o custo de venda e distribuição
de videogames, entregando os jogos a um grande número de jogadores direta-
mente. Além disso, o pagamento por serviço poupa os clientes dos grandes custos
iniciais de propriedade de hardware e software, pelos quais eles provavelmente
perderão o interesse algum tempo depois.

2.1. Green Solution


Transferir todo o processamento para a nuvem oferece melhor utilização de hardware e
energia do que em máquinas individuais, graças à economia de escala, onde o custo de
um serviço / produto é reduzido conforme a produção é aumentada. Nos aplicativos de
jogos em nuvem, a renderização de gráficos do jogo e a codificação de vı́deo das imagens
renderizadas são realizadas em nuvem [Chuah et al. 2014].
Em geral, soluções as a Service é mais precisamente GaaS oferecem soluções
econômicas em termos de melhor gerenciamento do software do jogo, menos ar-
mazenamento e desperdı́cio de equipamento devido à incompatibilidade de hardware
e implantação mais econômica para um grande número de clientes. E isso é o que
chamamos de Green Solution.

3. Remote Rendering Game as a Service (RR-GaaS)


RR-GaaS é o modelo de negócios onde vendem jogos como serviço de jogos. com o difer-
encial que a execução do jogo é em uma plataforma de jogos operada por um provedor de
serviços em nuvem ou operadora de rede e entrega de quadros de vı́deo aos dispositivos
dos usuários.
A Figure 2 mostra o pipeline de uma RR-GaaS. Nesse modelo, a nuvem virtualiza
um ambiente de execução e inicia uma instância do jogo assim que recebe uma solicitação
de conexão de um jogador.
Descrito como data flow, a instância do jogo renderizar o vı́deo do jogo em tempo
real na nuvem, após o qual o capturador de vı́deo o grava quadro a quadro e o codifica.
Em seguida, o servidor de jogos em nuvem transmite os quadros de vı́deo para o cliente.
Esses quadros são reconstruı́dos no decodificador de vı́deo no cliente os exibe na tela do
jogador.
No sentido do jogador para o server, como o fluxo de controle ilustra, o contro-
lador de usuário registrar as entradas do jogador e cliente as transmite para o servidor em
Figure 2. Ilustração do processo de uma RR-GaaS.

nuvem após a codificação pelo codificador de entrada. O servidor de nuvem recebe esses
sinais codificados e os decodifica em entradas de controle para as instâncias do jogo para
reproduzir as interações do jogador na nuvem.

3.1. Benefı́cios do sistema


No modelo RR-GaaS, o cliente se torna em um thin client que atua intrinsecamente como
receptor de entrada, decodificador de quadro e reprodutor de vı́deo. Isso implica que o
requisito de hardware para o terminal de jogo é minimizado, irrelevante para as complex-
idades das cenas do jogo, lógica do jogo e interações entre os jogadores. Consequente-
mente, os jogadores podem jogar jogos de última geração com dispositivos de baixo de-
sempenho [Cai et al. 2014].

3.2. Desafios e questões de pesquisa


É bem conhecido que as transmissões de vı́deo de alta qualidade e alta taxa de quadros
exigem uma grande quantidade de largura de banda, enquanto a experiência de jogo é
altamente sensı́vel à latência da rede (em geral, o atraso de interação tolerável é inferior
a 120 ms). Consequentemente, o desafio de pesquisa mais crı́tico nesta área é estabelecer
um sistema eficaz de codificação, compressão, transmissão e decodificação de vı́deo em
tempo real projetado especificamente para jogos [Cai et al. 2014].

4. Local Rendering Game as a Service (LR-GaaS)


Com melhorias no desempenho do hardware, a maioria dos terminais de jogos, in-
cluindo dispositivos móveis, podem realizar renderizações complicadas para cenas de
jogos. Sob essa circunstância, o modelo LR-GaaS pode ser atraente, visto que o módulo
de renderização é implementado no Cliente para eliminar a alta carga de transmissão de
vı́deo em tempo real na rede.

4.1. Benefı́cios do sistema


O LR-GaaS herda todas as vantagens do modelo de negocio. Tecnicamente a vantagem
dele é que o servidor em nuvem não precisa mais transmitir quadros de vı́deo de jogos em
tempo real para os terminais por meio da Internet, o que reduz significativamente a carga
de trabalho da rede [Cai et al. 2014].
Figure 3. Ilustração do processo de uma LR-GaaS.

4.2. Desafios e questões de pesquisa


O desafio de um projeto do tipo LR-GaaS é projetar um conjunto de instruções que
possa representar todas as imagens de jogos para vários jogos e possa ser transmitido
de forma eficiente pela Internet. Como interpretar com eficiência e precisão as instruções
de exibição e renderizar o vı́deo do jogo no terminal também é uma questão de pesquisa
aberta [Cai et al. 2014].

5. Cloud Game Servers


Nos data centers os recursos de computação e armazenamento são gerenciados e mobi-
lizados para atender aos clientes. Esse recursos são facilmente escalados de acordo com a
necessidade. No ponto de vista de Cloud Gaming transferir esses cálculos para a nuvem
oferece melhor utilização de hardware e energia no data center em nuvem do que em
máquinas individuais, isso graças à economia de escala.
Na Figure 4 é possı́vel entender de forma reduzida o pipeline de um Cloud Game
Server. Onde há um fluxo de entrada inicial que é o comando do player e por fim esse
fluxo é convertido em uma saı́da de vı́deo contı́nua.

Figure 4. Pipeline de um Cloud Game Server.

É feita uma instancia de uma VM com GPU conectada por meio de um Hipervisor
[Franck DIARD 2014]. Em background um processo faz a captura da imagem render-
izada e codifica a imagem, em geral essa codificação é em H.264 [Franck DIARD 2014,
Cai et al. 2016].
O Nvidia GRID (atual GeForece NOW) seguia o mesmo pipeline Figure 5.
Ele mais especificadamente usava-se da Elastic Cloud Computing (EC2) da Amazon
[Franck DIARD 2014].

Figure 5. Pipeline Nvidia GRID.

A instancia EC2 era composta pela a especificação NMOS que é um grupo de


especificações que permite a organização de fluxos de mı́dia em uma rede em conjunto de
uma serie de placas Nvidia [Franck DIARD 2014].
A captura e codificação era feita pelo o GRID SDK Figure 6 que era composto
por um subprocesso NvFBCH264 que é a junção do processo de NvFBC para captura e o
H.264 para codificação [Franck DIARD 2014].

Figure 6. GRID SDK.

6. Plataformas de Cloud Gaming


Jogos em nuvem tem sido uma aplicação com grande potencial, a comercialização e os
modelos de negócios de serviços de jogos em nuvem são essenciais para seu sucesso. Será
abordada uma breve história dos serviços de jogos em nuvem, começando pela G-Cluster
que tiveram inı́cio na construção desse serviço a partir de 2000. O Serviço da G-cluster
está fortemente ligado a diversas empresas terceirizadas, incluindo desenvolvedores de
jogos, operados de rede e portais de jogos.
Mais tarde nos anos 2000, as empresas emergentes em computação em nuvem
começaram a oferecer serviços de jogos em nuvem Over-The-Top (OTT), que se refere
ao fornecimento de conteúdo multimı́dia pela internet acima de operadoras de rede arbi-
trarias para usuários finais, que negociam suporte de QoS para acesso onipresente a jogos
em nuvem, a OnLive ficou popular em 2009 e fornecia serviços a baseado em assinatura
e hospedava seus servidores em vários estados dentro dos EUA, para controlar a latência
devido as distancias geográficas, esse serviço foi encerrado em 2015 apos vender suas
patentes para a Sony. Por outro lado Gaikai ofereceu um serviço de jogos em nuvem
usando um modelo de negócios diferente.
Gaikai adota jogos em nuvem para permitir que os jogadores experimentem novos
jogos sem comprar e instalar o software em suas maquinas, no final de cada jogo os
jogadores tem a opção de comprar o jogo, se o usuário gostar do jogo. Então Gaikai é mais
como um serviço de propaganda para desenvolvedores de jogos aumentarem as vendas,
esse serviço também foi adquirido pela Sony em 2012. E isso nos leva a um serviço de
jogos em nuvem da Sony chamado de PS Now, que permite os jogadores jogarem jogos de
PlayStation como jogos em nuvem e adota dois modelos: Por jogo e assinatura mensal.
Recentemente nos anos de 2018 a 2020 temos visto mais aparições desses serviços
de jogos em nuvem, começando pelo serviço da Google chamado Stadia que foi anunci-
ado na GDC de 2019, o serviço funciona com um modelo de assinatura podendo jogar
apos assinar e comprando jogos dentro da plataforma para jogar na mesma.
Outro serviço disponı́vel e o da Nvidia, o GeForce Now e uma plataforma que
está em testes desde 2018 e vem para competir com serviços como o Stadia, mas com
um modelo de negocio diferente. Ao invés de vender jogos como a Google, o serviço
vai funcionar com jogos já disponı́veis no PC em lojas como Steam, Epic Games Store,
Uplay. Esse trabalho de parceria com empresas torna desnecessário a compra de jogos
em uma plataforma separada, como acontece no Stadia.
A Amazon anunciou um serviço de jogos em nuvem nomeado Amazon Luna, at-
ualmente ele está em fase de acesso antecipado que é possı́vel obter por um convite da
Amazon, seu modelo de negócios é por assinatura mensal, tendo uma opção de para up-
grade no plano assinando um plano de parceria com a Ubisoft + obtendo assim mais
jogos.

References
Cai, W., Chen, M., and Leung, V. C. M. (2014). Toward gaming as a service. IEEE
Internet Computing, 18(3):12–18.
Cai, W., Shea, R., Huang, C., Chen, K., Liu, J., Leung, V. C. M., and Hsu, C. (2016). A
survey on cloud gaming: Future of computer games. IEEE Access, 4:7605–7620.
Chuah, S., Yuen, C., and Cheung, N. (2014). Cloud gaming: a green solution to massive
multiplayer online games. IEEE Wireless Communications, 21(4):78–87.
Franck DIARD, S. C. (2014). Cloud gaming with nvidia grid technologies.
https://developer.nvidia.com/sites/default/files/akamai/
gameworks/events/gdc14/GDC_14_Cloud_Gaming_With_GRID_
Technologies.pdf. [ONLINE, acessed 11-November-2020].

Você também pode gostar