jogos na nuvem
Para os jogadores, isso significa que muito em breve eles poderão finalmente parar de gastar dinheiro em atualizações de hardware e rodar jogos poderosos em computadores fracos. Isso é benéfico para outros participantes do ecossistema? Contamos por que os jogos em nuvem aumentarão 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 levar seus produtos ao maior número de jogadores o mais rápido possível. Agora, de acordo com nossos dados, 70% dos potenciais compradores não chegam ao jogo - não esperam o download do cliente e do arquivo de instalação que pesa dezenas de gigabytes. Ao mesmo tempo, 60% dos usuários
Os fabricantes de TV e decodificadores agora também estão buscando jogos em nuvem. Na era das casas inteligentes e dos assistentes de voz, eles precisam competir cada vez mais pela atenção do usuário, e a funcionalidade de jogos é a principal forma de atrair essa atenção. Com jogos em nuvem integrados, seu cliente poderá rodar jogos modernos diretamente na TV, pagando ao fabricante pelo serviço.
Outro participante potencialmente ativo no ecossistema são as operadoras de telecomunicações. A maneira de aumentar a receita é fornecer serviços adicionais. Os jogos são apenas um desses serviços que as operadoras já estão introduzindo ativamente. A Rostelecom lançou o tarifário “Game”, a Akado está a vender o acesso ao nosso serviço Playkey. Não se trata apenas de operadores de Internet de banda larga. As operadoras móveis, devido à disseminação ativa do 5G, também poderão fazer dos jogos em nuvem sua fonte adicional de renda.
Apesar das boas perspectivas, entrar no mercado não é tão fácil. Todos os serviços existentes, incluindo produtos de gigantes tecnológicos, 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 que os jogos em nuvem funcionem corretamente.
Veja como o sinal WiFi diminui à medida que se espalha do roteador por todo o apartamento
Players que estão no mercado há muito tempo e possuem recursos poderosos estão caminhando gradativamente para solucionar esse problema. Mas começar seus jogos na nuvem do zero em 2019 significa gastar muito dinheiro, tempo e possivelmente nunca criar uma solução eficaz. Para ajudar todos os participantes do ecossistema a desenvolverem-se num mercado em rápido crescimento, desenvolvemos uma tecnologia que lhe permite lançar rapidamente e sem custos elevados o seu serviço de jogos na nuvem.
Como criamos uma tecnologia que facilitará o lançamento do seu serviço de jogos em nuvem
A Playkey começou a desenvolver sua tecnologia de jogos em nuvem em 2012. O lançamento comercial ocorreu em 2014 e, até 2016, 2,5 milhões de jogadores já haviam utilizado o serviço pelo menos uma vez. Ao longo do desenvolvimento, vimos o interesse não apenas dos jogadores, mas também dos fabricantes de decodificadores e das operadoras de telecomunicações. Lançamos até vários projetos piloto com NetByNet e Er-Telecom. Em 2018, decidimos que nosso produto poderia ter um futuro B2B.
É problemático desenvolver para cada empresa a sua própria versão de integração de jogos na nuvem, como fizemos em projetos piloto. Cada implementação levou de três a seis meses. Por que? Cada pessoa tem equipamentos e sistemas operacionais diferentes: alguns precisam de jogos em nuvem em um console Android, enquanto outros precisam deles como um iFrame na interface web de sua conta pessoal para streaming para computadores. Além disso, cada um tem um design diferente, faturamento (um mundo maravilhoso à parte!) e outros recursos. Ficou claro que era necessário aumentar dez vezes a equipe de desenvolvimento ou criar a solução B2B in a box mais universal.
Em março de 2019 lançamos
Luta ativa pela qualidade. E passivo também.
Agora contaremos como o Remote Click lida com inúmeras barreiras técnicas. Os jogos em nuvem da primeira onda (por exemplo, OnLive) foram arruinados pela má qualidade da Internet entre os usuários. Em 2010, a velocidade média de conexão com a Internet nos EUA
Um lado disso, 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 você usa WiFi de 2,4 GHz, barulhento com micro-ondas e mouse sem fio.
O outro lado, que chamamos de subjetivo: o usuário nem desconfia que tem problemas com a rede (não sabe que não sabe)! Na melhor das hipóteses, tem a certeza de que como a operadora lhe vende um tarifário de 100 Mbit/s, tem Internet de 100 Mbit/s. Na pior das hipóteses, ele não tem ideia do que é um roteador, e a Internet está dividida em azul e colorida. Um caso real de Kasdev.
Internet azul e colorida.
Mas ambas as partes do problema da última milha podem ser resolvidas. Na Remote Click utilizamos mecanismos ativos e passivos para isso. Abaixo está uma história detalhada sobre como eles lidam com os obstáculos.
Mecanismos ativos
1. Codificação eficaz e resistente a ruído de dados transmitidos, também conhecida como redundância (FEC - Forward Error Correction)
Ao transmitir dados de vídeo do servidor para o cliente, é usada codificação resistente a ruído. Com sua ajuda, restauramos os dados originais quando eles são parcialmente perdidos devido a problemas de rede. O que torna nossa solução eficaz?
- Velocidade. A codificação e decodificação são muito rápidas. Mesmo em computadores “fracos”, a operação não leva mais que 1 ms para 0,5 MB de dados. Assim, a codificação e a decodificação quase não adicionam latência ao jogar pela nuvem. A importância não pode ser superestimada.
- Potencial máximo de recuperação de dados. Ou seja, a proporção entre o volume de dados em excesso e o volume potencialmente recuperável. No nosso caso, a proporção = 1. Digamos que você precise transferir 1 MB de vídeo. Se adicionarmos 300 KB de dados adicionais durante a codificação (isso é chamado de redundância), durante o processo de decodificação para restaurar 1 megabyte original, precisaremos apenas de 1 MB do total de 1,3 MB que o servidor enviou. Ou seja, podemos perder 300 KB e ainda assim recuperar os dados originais. Como você pode ver, 300/300 = 1. Esta é a eficiência máxima possível.
- Flexibilidade na configuração de volume de dados adicional 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, ao percebermos problemas na rede, podemos aumentar ou diminuir o nível de redundância.
Jogamos Doom via Playkey no Core i3, 4 GB de RAM, MSI GeForce GTX 750.
2. Transferência de dados
Uma forma alternativa de combater perdas é solicitar dados repetidamente. Por exemplo, se o servidor e o usuário estiverem localizados em Moscou, o atraso na transmissão não excederá 5 ms. Com esse valor, a aplicação cliente terá tempo para solicitar e receber a parte perdida dos dados do servidor sem que o usuário perceba. Nosso próprio sistema decide quando usar redundância e quando usar encaminhamento.
3. Configurações individuais para transferência de dados
Para escolher a melhor forma de combater as perdas, nosso algoritmo analisa a conexão de rede do usuário e configura o sistema de transmissão de dados individualmente para cada caso.
Ele olha:
- tipo de conexão (Ethernet, WiFi, 3G, etc.);
- Faixa de frequência WiFi usada - 2,4 GHz ou 5 GHz;
- Força do sinal WiFi.
Se classificarmos as conexões por perdas e atrasos, então o mais confiável é, obviamente, o fio. Através da Ethernet, as perdas são raras e os atrasos finais são extremamente improváveis. Depois vem o WiFi 5 GHz e só então o WiFi 2,4 GHz. As conexões móveis geralmente são uma porcaria, estamos esperando pelo 5G.
Ao utilizar WiFi, o sistema configura automaticamente o adaptador do usuário, colocando-o no modo mais adequado para uso na nuvem (por exemplo, desabilitando a economia de energia).
4. Personalize a codificação
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 pode facilmente exceder cem megabytes, e o codec reduz esse valor em uma ordem de magnitude. Usamos codecs H264 e H265.
H264 é o mais popular. Todos os principais fabricantes de placas de vídeo oferecem suporte em hardware há mais de uma década. O H265 é um jovem sucessor ousado. Eles começaram a oferecer suporte em hardware há cerca de cinco anos. A codificação e decodificação no H265 requerem mais recursos, mas a qualidade do quadro compactado é visivelmente 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 resolvemos automaticamente. O sistema inteligente analisa as capacidades do equipamento, define os parâmetros ideais do codificador e seleciona um decodificador no lado do cliente.
5. Compensação por perdas
Não queríamos admitir, mas nem nós somos perfeitos. Alguns dados perdidos nas profundezas da rede não podem ser restaurados e não temos tempo para devolvê-los. Mas mesmo neste caso há uma saída.
Por exemplo, ajustando a taxa de bits. Nosso algoritmo monitora constantemente a quantidade de dados enviados do servidor para o cliente. Ele registra cada escassez e até prevê possíveis perdas futuras. Sua tarefa é perceber a tempo, e idealmente prever, quando as perdas atingem um valor crítico e começam a criar interferências na tela perceptíveis ao usuário. E neste momento ajuste o volume de dados enviados (taxa de bits).
Também utilizamos a invalidação de frames não coletados e o mecanismo de frames de referência no stream de vídeo. Ambas as ferramentas reduzem o número de artefatos visíveis. Ou seja, mesmo com graves interrupções na transmissão de dados, a imagem na tela permanece aceitável e o jogo continua jogável.
6. Envio distribuído
O envio de dados distribuídos ao longo do tempo também melhora a qualidade do streaming. A forma exata de distribuição depende de indicadores específicos da rede, por exemplo, presença de perdas, ping e outros fatores. Nosso algoritmo os analisa e seleciona a melhor opção. Às vezes, a distribuição em alguns milissegundos reduz significativamente as perdas.
7. Reduza a latência
Uma das principais características ao jogar na nuvem é a latência. Quanto menor for, mais confortável será jogar. O atraso pode ser dividido em duas partes:
- atraso na transferência de rede ou de dados;
- atraso do sistema (remoção de controle do lado do cliente, captura de imagem no servidor, codificação de imagem, mecanismos acima para adaptação de dados para envio, coleta de dados no cliente, decodificação e renderização de imagem).
A rede depende da infraestrutura e lidar com ela é problemático. Se o arame foi mastigado por ratos, dançar com pandeiro não adianta. Mas a latência do sistema pode ser reduzida significativamente e a qualidade dos jogos na nuvem para o jogador mudará drasticamente. Além da já mencionada codificação resistente a ruído e configurações personalizadas, utilizamos mais dois mecanismos.
- Receba rapidamente dados de dispositivos de controle (teclado, mouse) no lado do cliente. Mesmo em computadores fracos, 1-2 ms é suficiente para isso.
- Desenhando o cursor do sistema no cliente. O ponteiro do mouse é processado não em um 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 do jogo, mas o principal aqui é a percepção humana.
Desenhando o cursor sem demora no Playkey usando o exemplo do Apex Legends
Utilizando nossa tecnologia, com latência de rede de 0 ms e trabalhando com stream de vídeo de 60 FPS, a latência de todo o sistema não ultrapassa 35 ms.
Mecanismos passivos
Em nossa experiência, muitos usuários têm pouca ideia de como seus dispositivos se conectam à Internet. Em entrevistas com jogadores, descobriu-se que alguns não sabem o que é um roteador. E tudo bem! Você não precisa conhecer o motor de combustão interna para dirigir um carro. Você não deve exigir que o usuário tenha conhecimento de um administrador de sistema para poder jogar.
No entanto, ainda é importante transmitir alguns pontos técnicos para que o jogador possa remover de forma independente as barreiras do seu lado. E nós o ajudamos.
Indicação de suporte WiFi de 1. 5 GHz
Escrevemos acima que vemos o padrão Wi-Fi - 5 GHz ou 2,4 GHz. Também sabemos se o adaptador de rede do dispositivo do usuário suporta a capacidade de operar a 5 GHz. E se sim, recomendamos usar esta faixa. Ainda não podemos alterar a frequência sozinhos, pois não vemos as características do roteador.
2. Indicação de intensidade do sinal WiFi
Para alguns usuários, o sinal WiFi pode ser fraco, mesmo que a Internet esteja funcionando bem e pareça estar em uma velocidade aceitável. O problema será revelado justamente com os jogos em nuvem, que submetem a rede a testes reais.
A intensidade do sinal é afetada por obstáculos como paredes e interferência de outros dispositivos. Essas mesmas microondas emitem muito. Como resultado, surgem perdas imperceptíveis ao trabalhar na Internet, mas críticas ao jogar na nuvem. Nesses casos, alertamos o usuário sobre interferências, sugerimos aproximar-se do roteador e desligar dispositivos “ruidosos”.
3. Indicação de consumidores de tráfego
Mesmo que a rede esteja boa, outros aplicativos podem estar consumindo muito tráfego. Por exemplo, se paralelamente ao jogo na nuvem estiver rodando um vídeo no Youtube ou estão sendo baixados torrents. Nosso aplicativo identifica ladrões e avisa o jogador sobre eles.
Medos do passado – desmascarando mitos sobre jogos em nuvem
Os jogos em nuvem, como uma forma fundamentalmente nova de consumir conteúdo de jogos, vêm tentando entrar no mercado há quase dez anos. E como acontece com qualquer inovação, a sua história é uma série de pequenas vitórias e grandes derrotas. Não é surpreendente que, ao longo dos anos, os jogos na nuvem tenham sido invadidos por mitos e preconceitos. No início do desenvolvimento tecnológico, elas eram justificadas, mas hoje são completamente infundadas.
Mito 1. A imagem na nuvem é pior do que no original - é como se você estivesse jogando no YouTube
Hoje, em uma solução de nuvem tecnicamente avançada, as imagens do original e da nuvem são quase idênticas - a diferença não pode ser encontrada a olho nu. O ajuste individual do codificador ao equipamento do jogador e um conjunto de mecanismos de combate às perdas encerram esta questão. Em uma rede de alta qualidade não há desfoque de quadros ou artefatos gráficos. Até levamos em consideração a permissão. Não faz sentido transmitir em 1080p se o player estiver usando 720p.
Abaixo estão dois vídeos do Apex Legends do nosso canal. Em um caso, trata-se de gravar a jogabilidade ao jogar no PC, no outro, através do Playkey.
Apex Legends no PC
Apex Legends no Playkey
Mito 2. Qualidade instável
O status da rede é realmente instável, mas o problema foi resolvido. Alteramos dinamicamente as configurações do codificador com base na qualidade da rede do usuário. E mantemos um nível de FPS constantemente aceitável usando técnicas especiais de captura de imagem.
Como funciona? O jogo possui um motor 3D que constrói um mundo 3D. Mas o usuário vê uma imagem plana. Para que ele veja, é criada uma imagem de memória para cada quadro - uma espécie de fotografia de como esse mundo 3D é visto a partir de um determinado ponto. Esta imagem é armazenada de forma codificada em um buffer de memória de vídeo. Pegamos na memória de vídeo e passamos para o codificador, que já o descriptografa. E assim por diante com cada quadro, um após o outro.
Nossa tecnologia permite capturar e decodificar imagens em um fluxo, o que aumenta o FPS. E se esses processos forem realizados em paralelo (uma solução bastante popular no mercado de jogos em nuvem), o codificador acessará constantemente a captura, captará novos frames com atraso e, consequentemente, os transmitirá com atraso.
O vídeo na parte superior da tela é capturado usando tecnologia de captura e decodificação de fluxo único.
Mito 3. Devido a atrasos nos controles, serei um “câncer” no multiplayer
O atraso de controle é normalmente de alguns milissegundos. E geralmente é invisível para o usuário final. Mas às vezes é visível uma pequena discrepância entre o movimento do mouse e o movimento do cursor. Não afeta nada, mas cria uma impressão negativa. O desenho do cursor descrito acima diretamente no dispositivo do usuário elimina essa desvantagem. Caso contrário, a latência geral do sistema de 30-35 ms é tão baixa que nem o jogador nem os seus adversários no jogo notam nada. O resultado da batalha é decidido apenas pelas habilidades. A prova está abaixo.
Streamer se curva via Playkey
Qual é o próximo
Os jogos na nuvem já são uma realidade. Playkey, PlayStation Now, Shadow estão trabalhando serviços com público e posicionamento próprios no 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 é o surgimento de serviços próprios por parte de editoras de jogos e operadoras de telecomunicações. Alguns desenvolverão seus próprios, outros usarão soluções prontas, como RemoteClick.net. Quanto mais jogadores houver no mercado, mais rapidamente a forma de consumo de conteúdo de jogos na nuvem se tornará popular.
Fonte: habr.com