Como funciona a plataforma de jogos em nuvem para clientes b2b e b2c. Soluções para uma ótima foto e lute com a última milha

Os jogos em nuvem são chamados de uma das principais tecnologias que você deve seguir agora. Por 6 anos, esse mercado deve crescer 10 vezes - de US $ 45 milhões em 2018 para US $ 450 milhões em 2024. Gigantes da tecnologia já se apressaram em conquistar um nicho: o Google e a Nvidia lançaram versões beta de seus serviços de jogos na nuvem, Microsoft, EA, Ubisoft, Amazon e Verizon estão prestes a entrar em cena.

Para os jogadores, isso significa que em breve eles poderão parar completamente de gastar dinheiro na atualização do ferro e rodar jogos poderosos em computadores fracos. É benéfico para o resto do ecossistema? Dizemos por que os jogos em nuvem aumentam seus ganhos e como criamos uma tecnologia que facilita a entrada em um mercado promissor.



Editores, desenvolvedores, fabricantes de TV e operadoras de telecomunicações: por que todos eles precisam de jogos na nuvem


Os editores e desenvolvedores de jogos estão interessados ​​em entregar seus produtos para o maior número de jogadores o mais rápido possível. Agora, de acordo com nossos dados, 70% dos compradores em potencial não chegam ao jogo - eles não esperam o download do cliente e o arquivo de instalação pesa dezenas de gigabytes. Ao mesmo tempo, 60% dos usuários, a julgar pelas placas de vídeo , em princípio, não podem executar jogos poderosos (nível AAA) em seus computadores com qualidade aceitável. Os jogos em nuvem podem resolver esse problema - não apenas não reduzirá os ganhos de editores e desenvolvedores, mas também os ajudará a criar um público pagante.

Os fabricantes de TVs e decodificadores agora estão olhando para os jogos na nuvem. Na era dos lares inteligentes e assistentes de voz, eles precisam competir cada vez mais pela atenção do usuário, e a funcionalidade do jogo é a principal maneira de atrair essa atenção. Com jogos em nuvem integrados, o cliente poderá executar jogos modernos diretamente na TV, pagando pelo serviço ao fabricante.



Outro participante potencialmente ativo no ecossistema são as operadoras de telecomunicações. Sua maneira de aumentar a receita é fornecer serviços adicionais. O jogo é apenas um desses serviços que as operadoras já estão implementando ativamente. A Rostelecom lançou a tarifa “Gaming”; a Akado está vendendo acesso ao nosso serviço Playkey. Não se trata apenas de operadores de Internet de banda larga. As operadoras de telefonia móvel, devido à distribuição ativa do 5G, também poderão tornar os jogos em nuvem sua fonte adicional de receita.

Apesar das perspectivas brilhantes, entrar no mercado não é tão simples. Todos os serviços existentes, incluindo produtos de gigantes da tecnologia, ainda não foram capazes de superar completamente o problema da "última milha". Isso significa que, devido à imperfeição da rede diretamente na casa ou no apartamento, o usuário não tem velocidade suficiente na Internet para que os jogos na nuvem funcionem corretamente.


Veja como o sinal WiFi desaparece, se espalhando do roteador pelo apartamento

Jogadores que estão presentes há muito tempo no mercado e têm recursos poderosos, estão gradualmente se movendo para solucionar esse problema. Mas iniciar seus jogos na nuvem do zero em 2019 significa gastar muito dinheiro, tempo e, possivelmente, não criar uma solução eficaz. Para ajudar todos os participantes do ecossistema a crescer em um mercado que cresce rapidamente, desenvolvemos uma tecnologia que permite que você inicie rapidamente e sem custos altos seu serviço de jogos em nuvem.

Como criamos uma tecnologia que lançará facilmente nosso serviço de jogos na nuvem


A Playkey começou a desenvolver sua tecnologia de jogos em nuvem em 2012. Em 2014, ocorreu um lançamento comercial e, em 2016, 2,5 milhões de jogadores haviam usado o serviço pelo menos uma vez. Durante o desenvolvimento, vimos interesse não apenas dos jogadores, mas também dos fabricantes de decodificadores e operadoras de telecomunicações. Com o NetByNet e a Er-Telecom, lançamos vários projetos piloto. Em 2018, decidimos que nosso produto pode ter um futuro B2B.

Desenvolver para cada empresa sua própria opção de integração de jogos em nuvem, como fizemos em projetos-piloto, é problemático. Cada implementação desse tipo durou de três a seis meses. Porque Todo mundo tem diferentes equipamentos e sistemas operacionais: alguém precisa de jogos na nuvem para um console Android e alguém precisa de um iFrame na interface da web de sua conta pessoal para transmitir para computadores. Além disso, todo mundo tem um design diferente, cobrança (um mundo maravilhoso separado!) E outros recursos. Tornou-se claro que era necessário aumentar em dez vezes a equipe de desenvolvimento ou criar a solução mais versátil de caixa B2B.

Em março de 2019, lançamos o RemoteClick. Este é um software que as empresas podem instalar em seus servidores e obter um serviço de jogos em nuvem em funcionamento. Como será a aparência do usuário? Ele verá um botão em seu site familiar, permitindo que ele inicie o jogo na nuvem. Quando pressionado, o jogo iniciará no servidor da empresa e o usuário verá o stream e poderá jogar remotamente. Veja como isso pode ser nos serviços populares de distribuição de jogos digitais.





Luta ativa pela qualidade. E passivo também.


Como o RemoteClick lida com inúmeras barreiras técnicas, agora vamos contar. Os jogos em nuvem da primeira onda (por exemplo, OnLive) arruinaram a baixa qualidade da Internet entre os usuários. Então, em 2010, a velocidade média da conexão à Internet nos EUA era de apenas 4,7 Mbit / s. Em 2017, cresceu para 18,7 Mbps, e em breve o 5G aparecerá em todos os lugares e uma nova era começará. No entanto, apesar do fato de que, em geral, a infraestrutura está pronta para jogos na nuvem, o problema já mencionado de "última milha" permanece.

Um lado, que chamamos de objetivo: o usuário realmente tem problemas com a rede. Por exemplo, o operador não destaca a velocidade máxima declarada. Ou use WiFi de 2,4 GHz, microondas barulhento e mouse sem fio.

O outro lado, que chamamos de subjetivo: o usuário nem suspeita que tenha problemas com a rede (ele não sabe que não sabe)! Na melhor das hipóteses, ele tem certeza de que, como a operadora lhe vende uma tarifa de 100 Mbps, ele tem 100 Mbps de Internet. Na pior das hipóteses, ele não tem idéia do que é um roteador, e a Internet é dividida em azul e cor. O caso real de casdeva.


Internet azul e colorida.

Mas ambas as partes do problema da "última milha" estão sendo resolvidas. No RemoteClick, usamos mecanismos ativos e passivos para isso. Abaixo está um relato detalhado de como eles lidam com obstáculos.

Mecanismos ativos


1. Codificação eficaz e tolerante ao ruído dos dados transmitidos, também conhecida como redundância (FEC - Forward Error Correction)

Ao transmitir dados de vídeo de um servidor para um cliente, é usada a codificação de correção de erros. Com isso, restauramos os dados originais quando eles são parcialmente perdidos devido a problemas de rede. O que torna nossa solução eficaz?

  1. Velocidade. Codificação e decodificação é muito rápida. 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 atraso ao reproduzir na nuvem. É difícil superestimar a importância.
  2. Potencial máximo de recuperação de dados. Ou seja, a proporção entre a quantidade excedente de dados e o potencial de volume de recuperação. No nosso caso, a proporção = 1. Suponha que você queira transferir 1 MB de vídeo. Se adicionarmos 300 Kb de dados adicionais durante a codificação (isso é chamado de redundância), no processo de decodificação para recuperar 1 megabyte original, precisaremos de apenas 1 MB do total de 1,3 MB enviado pelo servidor. Em outras palavras, podemos perder 300 Kb e ainda restaurar os dados originais. Como você pode ver, 300/300 = 1. Essa é a máxima eficiência possível.
  3. Flexibilidade na configuração de dados adicionais durante a codificação. Podemos configurar um nível separado de redundância para cada quadro de vídeo que precisa ser transmitido pela rede. Por exemplo, percebendo problemas de rede, podemos aumentar ou diminuir o nível de redundância.


Jogamos através da Playkey no Doom no Core i3, 4 GB de RAM, MSI GeForce GTX 750.

2. Envio de dados

Uma maneira alternativa de lidar com perdas é solicitar dados novamente. Por exemplo, se o servidor e o usuário estiverem em Moscou, o atraso da transmissão não excederá 5 ms. Com esse valor, o aplicativo cliente terá tempo para solicitar e receber do servidor a parte perdida dos dados despercebida pelo usuário. Nosso próprio sistema decide quando aplicar redundância e quando redundância.

3. Configurações individuais de transferência de dados

Para escolher a melhor maneira de lidar com perdas, nosso algoritmo analisa a conexão de rede do usuário e configura um sistema de transferência de dados individualmente para cada caso.

Ele olha:

  • tipo de conexão (Ethernet, WiFi, 3G, etc.);
  • a faixa de frequência usada do WiFi é de 2,4 GHz ou 5 GHz;
  • Intensidade do sinal WiFi.

Se você classifica as conexões por perda e atraso, é claro que o fio é o mais confiável de todos. As perdas são raras na Ethernet, e os atrasos na "última milha" são extremamente improváveis. Em seguida, vem o WiFi 5 GHz e somente o WiFi 2.4 GHz. As conexões móveis geralmente são lixo, estamos esperando pelo 5G.



Ao usar o WiFi, o sistema configura automaticamente o adaptador do usuário, colocando-o no modo mais adequado para uso na nuvem (por exemplo, desativando a economia de energia).

4. Configuração de codificação personalizada

O streaming de vídeo existe graças aos codecs - programas para compactar e restaurar dados de vídeo. Na forma não compactada, um segundo de vídeo passa facilmente por cem megabytes, e o codec reduz esse valor em uma ordem de magnitude. Estamos armados com os codecs H264 e H265.

H264 é o mais popular. O trabalho de hardware é suportado por todos os principais fabricantes de placas de vídeo há mais de uma década. H265 é um jovem e ousado sucessor. O hardware começou a apoiá-lo há cerca de cinco anos. A codificação e decodificação no H265 requer mais recursos, mas a qualidade do quadro compactado é muito maior do que no H264. E sem aumentar o volume!



Qual codec escolher e quais parâmetros de codificação definir para um usuário específico, com base em seu hardware? Uma tarefa não trivial que é resolvida conosco automaticamente. O sistema inteligente analisa as capacidades do equipamento, define os parâmetros ideais do codificador e seleciona o decodificador no lado do cliente.

5. Compensação por perda

Eles não queriam admitir, mas nem nós somos perfeitos. Alguns dados perdidos nas entranhas da rede não podem ser restaurados e não poderemos devolvê-los. Mas, neste caso, há uma saída.

Por exemplo, ajuste de taxa de bits. Nosso algoritmo monitora constantemente a quantidade de dados enviados do servidor para o cliente. Ele captura todas as faltas e até 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 a criar interferência perceptível no usuário na tela. E para corrigir neste momento a quantidade de dados que estão sendo transferidos (taxa de bits).



Também 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 violações graves na transmissão de dados, a imagem na tela permanece aceitável e o jogo é jogável.

6. Remessa Distribuída

O envio de dados distribuídos no tempo também melhora a qualidade do streaming. Como distribuí-lo, depende de indicadores específicos na rede, por exemplo, a presença de perdas, ping e outros fatores. Nosso algoritmo analisa-os e seleciona a melhor opção. Às vezes, uma distribuição no intervalo de alguns milissegundos reduz as perdas por várias vezes.

7. Redução de atraso

Um dos principais recursos ao jogar na nuvem é a latência. Quanto menor, mais confortável é jogar. O atraso pode ser dividido condicionalmente em duas partes:
  • atraso na transferência de rede ou de dados;

  • atraso do sistema (remoção do controle no lado do cliente, captura de imagem no servidor, codificação de imagens, mecanismos acima para adaptar dados ao envio, coleta de dados no cliente, decodificação de imagens e renderização).

A rede depende da infraestrutura e lidar com ela é problemática. Se o fio foi mordido por ratos, dançar com um pandeiro não ajudará. Mas o atraso do sistema pode ser reduzido às vezes e a qualidade dos jogos na nuvem para o jogador mudará drasticamente. Além da codificação de correção de erros e das configurações personalizadas já mencionadas, usamos mais dois mecanismos.

  1. Rápida aquisição de dados de dispositivos de controle (teclado, mouse) no lado do cliente. Mesmo em computadores fracos, 1-2 ms é suficiente para isso.
  2. Renderizando um cursor do sistema no cliente. O ponteiro do mouse não é processado no servidor remoto, mas no cliente Playkey no computador do usuário, ou seja, sem o menor atraso. Sim, isso não afeta o controle real no jogo, mas a principal coisa aqui é a percepção humana.


Renderizando um cursor sem demora em uma Playkey usando o Apex Legends como exemplo

Usando nossa tecnologia com um atraso de rede de 0 ms e operação com um fluxo de vídeo de 60 FPS, o atraso de todo o sistema não excede 35 ms.

Engrenagens passivas


De acordo com nossa experiência, muitos usuários têm uma péssima idéia de como seus dispositivos se conectam à Internet. Em uma entrevista com os jogadores, descobriu-se que alguns não sabem o que é um roteador. E isso é normal! Você não precisa conhecer o design de um motor de combustão interna para dirigir um carro. Não exija que o usuário conheça o administrador do sistema para poder jogar.

No entanto, ainda é importante transmitir alguns pontos técnicos para que o jogador possa remover as barreiras do seu próprio lado. E nós o ajudamos.

1. Indicação de suporte WiFi 5 GHz

Escrevemos acima que vemos 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 capacidade de trabalhar em 5 GHz. E, nesse caso, recomendamos o uso desse intervalo. Ainda não podemos alterar a frequência independentemente, pois não vemos as características do roteador.

2. Indicação de força do sinal WiFi

Para alguns usuários, o sinal de WiFi pode estar fraco, mesmo que a Internet funcione bem e pareça estar em uma velocidade aceitável. O problema será revelado precisamente com os jogos na nuvem, que expõem a rede a testes reais.

A intensidade do sinal é afetada por obstáculos - como paredes - e interferência de outros dispositivos. As mesmas microondas emitem muito. Como resultado, há perdas que são invisíveis ao trabalhar na Internet, mas são essenciais para jogar na nuvem. Nesses casos, alertamos o usuário sobre interferências, nos oferecemos para nos aproximar do roteador e desligar os dispositivos "ruidosos".

3. Indicação de consumidores de tráfego

Mesmo que esteja tudo bem com a rede, outros aplicativos podem consumir muito tráfego. Por exemplo, se um vídeo no Youtube for lançado em paralelo com o jogo na nuvem, ou se houver download de torrents. Nosso aplicativo calcula ladrões e avisa o jogador sobre eles.


Medos do passado - desmistificando os mitos dos jogos na nuvem


Os jogos em nuvem, como uma maneira fundamentalmente nova de consumir conteúdo de jogos, tentam entrar no mercado há quase dez anos. E como é o caso de qualquer inovação, sua história é uma série de pequenas vitórias e derrotas de alto nível. Não é de surpreender que, ao longo dos anos, os jogos em nuvem tenham adquirido mitos e preconceitos. No início do desenvolvimento da tecnologia, eles eram justificados, mas hoje são completamente infundados.

Mito 1. A imagem na nuvem é pior do que a original - como se estivesse sendo reproduzida no YouTube


Hoje, em uma solução em nuvem tecnicamente avançada, as imagens do original e das nuvens são quase idênticas - não há diferenças a olho nu. A configuração individual do codificador para o equipamento do jogador e um conjunto de mecanismos para combater perdas fecham esta questão. Em uma rede de alta qualidade, não há desfoque de quadro nem artefatos gráficos. Nós levamos a permissão em consideração. Não faz sentido transmitir a imagem para 1080p se o player usar 720p.

Abaixo estão dois vídeos do Apex Legends do nosso canal. Em um caso, esta é a gravação da jogabilidade ao jogar em um PC, no outro - através da Playkey.

Apex Legends no PC

Apex Legends na Playkey


Mito 2. Qualidade instável


O status da rede é realmente intermitente, mas esse problema foi resolvido. Alteramos dinamicamente as configurações do codificador para a qualidade da rede do usuário. Um nível constantemente aceitável de FPS é suportado por métodos especiais de captura de imagem.

Como isso funciona? O jogo tem um mecanismo 3D para construir um mundo 3D. Mas o usuário é mostrado uma imagem plana. Para que ele a veja, uma imagem de memória é criada para cada quadro - uma espécie de fotografia de como esse mundo 3D é visto a partir de um certo ponto. Esta imagem na forma codificada é armazenada no buffer de memória de vídeo. Nós o capturamos da memória de vídeo e passamos para o codificador, que já o descriptografa. E assim com cada quadro, um após o outro.

Nossa tecnologia permite capturar e decodificar uma imagem em um fluxo, o que aumenta o FPS. E se esses processos forem conduzidos em paralelo (uma solução bastante popular no mercado de jogos em nuvem), o codificador se volta constantemente para capturar, capturar novos quadros com um atraso e, consequentemente, transmiti-los com um 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 a defasagens na administração, estarei "câncer" no modo multiplayer


O atraso do controle é normalmente de alguns milissegundos. E geralmente é invisível para o usuário final. Mas, às vezes, há uma pequena discrepância entre o movimento do mouse e o cursor. Ele não afeta nada, mas cria uma impressão negativa. O desenho do cursor acima descrito diretamente no dispositivo do usuário elimina essa desvantagem.Caso contrário, o atraso total do sistema de 30 a 35 ms é tão pequeno que nem o jogador nem seus oponentes notam nada na partida. O resultado da batalha é decidido apenas por habilidades. Prova abaixo.


Streamer se dobra através da Playkey

O que vem a seguir


Jogos em nuvem já são uma realidade. Playkey, PlayStation Now, Shadow estão trabalhando com seus públicos e mercado. E, como muitos mercados jovens, os jogos em nuvem crescerão rapidamente nos próximos anos.

Um dos cenários que nos parece mais provável é a aparência de seus próprios serviços para editores de jogos e operadoras de telecomunicações. Alguém desenvolverá o seu próprio, alguém usará soluções prontas para o uso, como o RemoteClick. Quanto mais jogadores no mercado, mais rápido o modo de consumir conteúdo de jogos baseado em nuvem se tornará popular.

Source: https://habr.com/ru/post/pt449280/


All Articles