Jogos na Nuvem uma das principais tecnologias a serem observadas agora. Em 6 anos, este mercado deve crescer 10 vezes — de US$ 45 milhões em 2018 para US$ 450 milhões em 2024. Gigantes tecnológicos já estão se lançando neste nicho: Google e Nvidia lançaram versões beta de seus serviços de jogos na nuvem, enquanto Microsoft, EA, Ubisoft, Amazon e Verizon se preparam para entrar em cena.
Para os gamers, isso significa que em breve poderão parar de gastar dinheiro com atualização de hardware e rodar jogos pesados em computadores fracos. Isso é vantajoso para os outros participantes do ecossistema? Explicamos por que os jogos na nuvem aumentarão suas receitas e como criamos uma tecnologia que permite fácil acesso a este mercado promissor.

Editoras, desenvolvedores, fabricantes de TVs e operadores de telecomunicações: por que todos eles precisam de jogos na nuvem
Editoras e desenvolvedores de jogos estão interessados em entregar seu produto ao maior número de jogadores o mais rápido possível. Atualmente, segundo nossos dados, 70% dos potenciais compradores não chegam a jogar — eles não esperam o carregamento do cliente e do arquivo de instalação, que pode chegar a dezenas de gigabytes. Ao mesmo tempo, 60% dos usuários, , em geral, não conseguem rodar jogos pesados (AAA) em seus computadores com uma qualidade aceitável. Os jogos na nuvem podem resolver esse problema — eles não só não reduzirão as receitas de editoras e desenvolvedores, mas também ajudarão a aumentar sua base de usuários pagantes.
Os fabricantes de TVs e dispositivos de streaming também estão de olho nos jogos na nuvem. Na era das casas inteligentes e assistentes de voz, eles precisam competir cada vez mais pela atenção do usuário, e a funcionalidade de jogos é uma forma principal de atrair essa atenção. Com jogos na nuvem integrados, seus clientes poderão rodar jogos modernos diretamente na TV, pagando pelo serviço ao fabricante.

Outro participante potencialmente ativo do ecossistema são os operadores de telecomunicações. A forma como eles aumentam a receita é oferecendo serviços adicionais. O gaming é exatamente um desses serviços, que os operadores já estão implementando ativamente. A Rostelecom lançou um plano "Gaming", e a Akado vende acesso ao nosso serviço Playkey. Não se trata apenas de provedores de internet banda larga. Os operadores móveis, com a disseminação ativa do 5G, também poderão tornar o cloud gaming uma fonte adicional de receita.
Apesar das perspectivas promissoras, entrar no mercado não é tão simples. Todos os serviços existentes, incluindo os produtos de gigantes da tecnologia, ainda não conseguiram superar completamente o problema da "última milha". Isso significa que, devido à imperfeição da rede diretamente na casa ou apartamento, a velocidade da internet do usuário não é suficiente para o funcionamento adequado do cloud gaming.

Veja como o sinal WiFi enfraquece à medida que se espalha do roteador pelo apartamento.
Os jogadores que já estão no mercado e possuem recursos poderosos estão gradualmente se movendo para resolver esse problema. Mas lançar seus próprios jogos em nuvem do zero em 2019 significa gastar muito dinheiro, tempo e, possivelmente, não chegar a criar uma solução eficaz. Para ajudar todos os membros do ecossistema a se desenvolverem em um mercado em rápido crescimento, desenvolvemos uma tecnologia que permite lançar rapidamente seu próprio serviço de jogos em nuvem com baixos custos.
Como desenvolvemos uma tecnologia que permitirá lançar facilmente seu próprio serviço de jogos em nuvem.
A Playkey começou a desenvolver sua tecnologia de cloud gaming em 2012. Em 2014, houve o lançamento comercial, e em 2016, pelo menos 2,5 milhões de jogadores utilizaram o serviço pelo menos uma vez. Durante todo o desenvolvimento, vimos interesse não apenas dos gamers, mas também dos fabricantes de set-top boxes e dos operadores de telecomunicações. Com a NetByNet e a "Er-Telecom", até lançamos vários projetos piloto. Em 2018, decidimos que nosso produto poderia ter um futuro B2B.
Desenvolver uma solução de integração de jogos em nuvem específica para cada empresa, como fizemos em projetos piloto, é problemático. Cada implementação dessas levava de três meses a seis meses. Por quê? Todos têm equipamentos e sistemas operacionais diferentes: alguns precisam de jogos em nuvem em consoles Android, enquanto outros precisam como um iFrame na interface web para streaming em computadores. Além disso, cada um tem um design diferente, faturamento (um mundo fascinante à parte!) e outras particularidades. Ficou claro que era necessário ou aumentar a equipe de desenvolvimento dez vezes, ou criar uma solução B2B de prateleira o mais universal possível.
Em março de 2019, lançamos . Este é um software que as empresas podem instalar em seus servidores para obter um serviço de jogos em nuvem funcional. Como isso funcionaria para o usuário? Ele verá em seu site habitual um botão que permitirá iniciar o jogo na nuvem. Ao clicar, o jogo será iniciado no servidor da empresa, e o usuário verá a transmissão e poderá jogar remotamente. Veja como isso poderia aparecer em serviços populares de distribuição digital de jogos.


Uma luta ativa pela qualidade. E uma passiva também.
Como o Remote Click supera diversas barreiras técnicas, vamos contar a seguir. O primeiro advento dos jogos em nuvem (por exemplo, OnLive) foi prejudicado pela baixa qualidade da internet dos usuários. Naquele momento, em 2010, a velocidade média de conexão à internet nos EUA apenas 4,7 Mb/s. Até 2017, esse número já havia crescido para 18,7 Mb/s, e em breve o 5G estará amplamente disponível, inaugurando uma nova era. No entanto, apesar de a infraestrutura geral estar preparada para jogos em nuvem, ainda permanece o já mencionado problema da 'última milha'.
Um dos aspectos, que chamamos de objetivo: o usuário realmente enfrenta problemas com a rede. Por exemplo, o provedor não oferece a velocidade máxima declarada. Ou está usando WiFi 2,4 GHz, que é interferido por micro-ondas e pelo mouse sem fio.
O outro lado, que chamamos de subjetivo: o usuário nem suspeita que tem problemas de rede (não sabe o que não sabe)! No melhor cenário, ele acredita que se o operador vende um plano de 100 Mbps, ele terá internet de 100 Mbps. No pior caso, ele não tem ideia do que é um roteador e divide a internet entre azul e colorida. Um caso real da equipe de desenvolvimento.

Internet azul e colorida.
Mas ambas as partes do problema da 'última milha' são solucionáveis. Na Remote Click, usamos mecanismos ativos e passivos para isso. Abaixo está uma explicação detalhada sobre como eles lidam com os obstáculos.
Mecanismos ativos
1. Codificação de dados resistentes a interferências, a.k.a redundância (FEC — Forward Error Correction)
Durante a transmissão de dados de vídeo do servidor para o cliente, usamos codificação resistente a interferências. Com isso, restauramos os dados originais em caso de perda parcial devido a problemas na rede. O que torna nossa solução eficaz?
- Velocidade. A codificação e decodificação são realizadas muito rapidamente. Mesmo em computadores 'fracos', a operação leva no máximo 1 ms para 0,5 MB de dados. Assim, a codificação e decodificação quase não adicionam latência ao jogar na nuvem. A importância disso é difícil de superestimar.
- Potencial máximo de recuperação de dados. Ou seja, a proporção de volume de dados redundantes em relação ao volume que pode ser potencialmente recuperado. No nosso caso, a proporção é = 1. Suponha que precisamos transmitir 1 MB de vídeo. Se ao codificar adicionarmos 300 KB de dados adicionais (isso é chamado de redundância), durante a decodificação, para recuperar 1 megabyte original, precisaremos de apenas 1 MB de um total de 1,3 MB que o servidor enviou. Em outras palavras, podemos perder 300 KB e ainda assim recuperar os dados originais. Como pode ser visto, 300 / 300 = 1. Esta é a máxima eficiência possível.
- Flexibilidade na configuração do volume de dados adicionais durante a codificação. Podemos ajustar um nível específico de redundância para cada quadro de vídeo que precisa ser transmitido pela rede. Por exemplo, ao notar problemas na rede, podemos aumentar ou diminuir o nível de redundância.

Jogando Doom no Playkey com Core i3, 4 GB de RAM, MSI GeForce GTX 750.
2. Reenvio de dados
Uma maneira alternativa de combater perdas é solicitar dados novamente. Por exemplo, se o servidor e o usuário estiverem em Moscovo, o tempo de latência na transmissão não ultrapassará 5 ms. Com esse valor, o aplicativo do cliente consegue solicitar e receber do servidor a parte perdida dos dados de forma invisível para o usuário. Nosso sistema decide automaticamente quando aplicar redundância e quando enviar novamente.
3. Configuração personalizada da transmissão de dados
Para escolher a melhor maneira de combater as perdas, nosso algoritmo analisa a conexão de rede do usuário e ajusta o sistema de transmissão de dados individualmente para cada caso.
Ele analisa:
- tipo de conexão (Ethernet, WiFi, 3G, etc.);
- faixa de frequência WiFi usada — 2,4 GHz ou 5 GHz;
- intensidade do sinal WiFi.
Se classificarmos as conexões por perdas e latência, o mais confiável é, certamente, o cabo. Através do Ethernet, as perdas são raras, e as latências na ‘última milha’ são extremamente improváveis. Depois vem o WiFi de 5 GHz e, por último, o WiFi de 2,4 GHz. Conexões móveis são um verdadeiro lixo, aguardamos pelo 5G.

Ao usar WiFi, o sistema ajusta automaticamente o adaptador do usuário, mudando-o para o modo mais adequado para uso em nuvem (por exemplo, desativando a economia de energia).
4. Configuração personalizada de codificação
O streaming de vídeo existe graças aos codecs — programas de compressão e recuperação de dados de vídeo. Em formato não comprimido, um segundo de vídeo facilmente ultrapassa cem megabytes, mas o codec reduz essa quantidade em uma ordem de magnitude. Dispomos dos codecs H264 e H265.
H264 é o mais popular. Seu funcionamento é suportado por todos os principais fabricantes de placas gráficas há mais de uma década. H265 é o ousado sucessor jovem. Seu suporte de hardware começou há cerca de cinco anos. A codificação e decodificação em H265 requer mais recursos, mas a qualidade do quadro comprimido é significativamente melhor do que em H264. E sem aumentar o tamanho!

Qual codec escolher e quais parâmetros de codificação definir para um usuário específico, com base em seu ‘hardware’? Uma tarefa complexa que resolvemos automaticamente. O sistema inteligente analisa as capacidades do equipamento, define os parâmetros ideais do codificador e escolhe o decodificador do lado do cliente.
5. Compensação de perdas
Não queríamos admitir, mas até nós não somos perfeitos. Alguns dados, perdidos nas profundezas da rede, são irrecuperáveis e não conseguimos enviá-los a tempo. Mas mesmo nesse caso, há uma saída.
Por exemplo, o ajuste da taxa de bits. Nosso algoritmo controla constantemente o volume de dados transmitidos do servidor para o cliente. Ele registra cada perda e até mesmo prevê possíveis perdas futuras. Sua tarefa é perceber a tempo e, idealmente, prever quando as perdas atingirão um valor crítico e começarão a causar perturbações visíveis ao usuário na tela. E corrigir nesse momento o volume de dados transmitidos (taxa de bits).

Ainda usamos a invalidação de quadros não montados e o mecanismo de quadros de referência no fluxo de vídeo. Ambas as ferramentas reduzem o número de artefatos visíveis. Ou seja, mesmo com sérias interrupções na transmissão de dados, a imagem na tela permanece aceitável e o jogo jogável.
6. Envio distribuído
O envio de dados distribuído ao longo do tempo também melhora a qualidade do streaming. Como distribuir depende de indicadores específicos da rede, como perdas, ping e outros fatores. Nosso algoritmo os analisa e escolhe a melhor opção. Às vezes, a distribuição em um intervalo de poucos milissegundos reduz as perdas significativamente.
7. Redução de latência
Uma das características-chave ao jogar na nuvem é a latência. Quanto menor, mais confortável é jogar. A latência pode ser dividida em duas partes:
- latência de rede ou latência na transmissão de dados;
- latência do sistema (retirada de controle do lado do cliente, captura de imagem no servidor, codificação da imagem, os mecanismos acima mencionados de adaptação de dados para envio, coleta de dados no cliente, decodificação da imagem e sua renderização).
A latência de rede depende da infraestrutura e combatê-la é problemático. Se o cabo foi roído por ratos, danças rituais não ajudarão. Já a latência do sistema pode ser reduzida significativamente, e a qualidade do jogo em nuvem para o jogador mudará radicalmente. Além da codificação resistente a interferências e configurações personalizadas já mencionadas, usamos mais dois mecanismos.
- Recepção rápida de dados dos dispositivos de controle (teclado, mouse) do lado do cliente. Mesmo em computadores fracos, isso requer apenas 1-2 ms.
- Renderização do cursor do sistema no cliente. O ponteiro do mouse é processado não no servidor remoto, mas no cliente Playkey no computador do usuário, ou seja, sem nenhuma latência. Sim, isso não afeta o controle real no jogo, mas o importante aqui é a percepção humana.

Renderização do cursor sem latência no Playkey usando como exemplo Apex Legends
Com a nossa tecnologia, com uma latência de rede de 0 ms e operando com um fluxo de vídeo a 60 FPS, a latência total do sistema não ultrapassa 35 ms.
Mecanismos passivos
De nossa experiência, muitos usuários têm uma compreensão limitada de como seus dispositivos se conectam à internet. Em entrevistas com jogadores, descobrimos que alguns não sabem o que é um roteador. E isso é normal! Você não precisa saber como funciona um motor de combustão interna para dirigir um carro. Não devemos exigir que o usuário tenha conhecimentos de administração de sistemas para poder jogar.
No entanto, alguns aspectos técnicos ainda são importantes para que o jogador possa remover barreiras do seu lado. E nós ajudamos nisso.
1. Indicação de suporte a WiFi de 5 GHz
Mencionamos anteriormente que reconhecemos o padrão Wi-Fi — 5 GHz ou 2,4 GHz. E também sabemos se o adaptador de rede do dispositivo do usuário suporta a possibilidade de operar em 5 GHz. E se sim, recomendamos usar essa faixa. Não podemos alterar a frequência por conta própria, pois não vemos as características do roteador.
2. Indicação da força do sinal WiFi
Em alguns usuários, o sinal do WiFi pode ser fraco, mesmo que a internet funcione bem e pareça ter uma velocidade aceitável. O problema se tornará aparente durante o jogo em nuvem, que realmente testa a rede.
A intensidade do sinal é afetada por obstáculos — como paredes — e interferências de outros dispositivos. Os próprios micro-ondas emitem muita radiação. Como resultado, ocorrem perdas que não são perceptíveis ao usar a internet, mas são críticas para jogos em nuvem. Nesses casos, alertamos o usuário sobre as interferências, sugerimos que ele se mova mais perto do roteador e desconecte dispositivos "barulhentos".
3. Indicação de consumidores de tráfego
Mesmo que a rede esteja boa, outros aplicativos podem consumir muita largura de banda. Por exemplo, se um vídeo do Youtube está sendo executado enquanto se joga na nuvem ou se torrents estão sendo baixados. Nosso aplicativo identifica os 'ladrões' e avisa o jogador sobre eles.

Medos do passado – desmascarando mitos sobre o cloud gaming
Os jogos em nuvem, como uma forma completamente nova de consumir conteúdo de jogos, tentam entrar no mercado há quase dez anos. E, como acontece com qualquer inovação, sua história é uma sequência de pequenas vitórias e grandes derrotas. Não é surpreendente que, ao longo dos anos, o cloud gaming tenha se cercado de mitos e preconceitos. No início do desenvolvimento da tecnologia, esses mitos tinham alguma justificativa, mas hoje são completamente infundados.
Mito 1. A imagem na nuvem é pior do que no original — como se estivesse jogando pelo YouTube
Hoje, em uma solução em nuvem tecnicamente avançada, as imagens do original e da nuvem são praticamente idênticas — a olho nu, não se encontram diferenças. A configuração individual do codificador para o equipamento do jogador e um conjunto de mecanismos para combater a perda resolvem essa questão. Em uma rede de qualidade, não há nem desfoque de quadros, nem artefatos gráficos. Levamos até em consideração a resolução. Não faz sentido transmitir a imagem em 1080p se o jogador está usando 720p.
Abaixo estão dois vídeos de Apex Legends do nosso canal. Em um caso, é uma gravação do gameplay jogando no PC, no outro, através do Playkey.
Apex Legends no PC

Apex Legends no Playkey

Mito 2. Qualidade instável
O estado da rede realmente não é constante, mas esse problema foi resolvido. Mudamos dinamicamente as configurações do codificador para a qualidade da rede do usuário. E mantemos um nível de FPS constantemente aceitável com técnicas especiais de captura de imagem.
Como isso funciona? O jogo tem um motor 3D, através do qual o mundo 3D é construído. Mas para o usuário, uma imagem plana é mostrada. Para que ele possa vê-la, para cada quadro é criada uma imagem de memória — uma espécie de fotografia de como esse mundo 3D é visto de um determinado ponto. Essa imagem em forma codificada é armazenada no buffer da memória de vídeo. Capturamos essa imagem da memória de vídeo e a enviamos para o codificador, que a decifra. E assim é feito a cada quadro, um após o outro.
Nossa tecnologia permite capturar e decodificar uma imagem em um único fluxo, aumentando assim o FPS. E se esses processos forem realizados em paralelo (uma solução bastante popular no mercado de jogos em nuvem), o codificador fará solicitações contínuas à captura, pegando novos quadros com atraso e, consequentemente, transmitindo-os com esse atraso.

O vídeo na parte superior da tela foi obtido usando a tecnologia de captura e decodificação em um único fluxo.
Mito 3. Devido ao lag no controle, serei um ‘noob’ no multiplayer.
O atraso no controle é normalmente de alguns milissegundos. E geralmente, ele é imperceptível para o usuário final. No entanto, pode haver uma pequena desarmonia entre o movimento do mouse e o movimento do cursor. Isso não afeta nada, mas causa uma impressão negativa. A renderização do cursor, conforme descrito acima, diretamente no dispositivo do usuário elimina essa desvantagem. No restante, a latência geral do sistema de 30-35 ms é tão baixa que nem o jogador nem seus adversários na partida percebem. O resultado da batalha depende apenas das habilidades. A prova está abaixo.
Streamer dominando através da Playkey.
O que vem a seguir
O gaming em nuvem já é uma realidade. Playkey, PlayStation Now, Shadow — são serviços em funcionamento com seu próprio público e espaço no mercado. E como muitos mercados jovens, o gaming em nuvem crescerá rapidamente nos próximos anos.
Um dos cenários que nos parece mais provável é o surgimento de serviços próprios por parte dos editores de jogos e operadores de telecomunicações. Alguns desenvolverão suas próprias soluções, enquanto outros utilizarão soluções prontas, como o RemoteClick.net. Quanto mais jogadores houver no mercado, mais rapidamente o consumo de conteúdo de jogos por meio da nuvem se tornará mainstream.
Fonte: habr.com
