Links Cabeçalho

07/07/2011

O Console do Futuro - Parte 2


Com um bom atraso, prossigo o artigo iniciado neste post. Recomendo sua leitura, antes de mais nada. Nesta segunda parte, abordarei o elemento intermediário (e provavelmente o mais complexo) do "console do futuro". Vamos lá?

Jogando na Nuvem

Há dois anos atrás, uma empresa desconhecida, chamada OnLive, surgiu com uma idéia brilhante - o processamento de jogos na "nuvem". Como isso funciona? De forma similar a uma aplicação virtualizada, o jogo seria processado em um servidor remoto na internet. As imagens geradas seriam comprimidas e enviadas para uma máquina cliente na residência do jogador. Essa máquina poderia ser um cliente leve, como um set-top box, não muito diferente do equivalente das TVs a cabo. Ou seja, um hardware barato, não muito poderoso ou sofisticado, cujo principal objetivo seria descompactar as imagens recebidas, fazer um upscaling e enviá-las para a TV/monitor do usuário. O aparelho também seria responsável por receber os comandos do gamepad do jogador, e enviá-los de volta para o servidor remoto de games, para serem processados, gerando novas saídas. Para maiores detalhes, clique aqui.

O OnLive deu um novo passo recentemente, ampliando a funcionalidade do seu serviço para diferentes plataformas-cliente, dispensando a aquisição de um set-top box específico. Assim, no futuro, o serviço deve ser acessível a partir de plataformas móveis, como smartphones, tablets e notebooks, além de consoles de videogame, como o Xbox 360 e o PS3. Ou mesmo o seu PC doméstico.

 O set-top box e o gamepad do Onlive

No conjunto, a estratégia do OnLive é, sem dúvida, algo revolucionário. Jogos passariam a ser comercializados como um serviço, de uma forma não muito diferente da TV a cabo. Para o consumidor, isso significaria poder jogar qualquer título, mesmo os mais exigentes graficamente, sem precisar investir os tubos em um hardware poderoso (seja um console, seja um PC). Para as desenvolvedoras, significaria o fim da pirataria, já que o código do jogo não mais seria instalado no cliente, ficando restrito aos servidores. Para a indústria como um todo, seria a libertação final das limitações do processamento do hardware cliente e, consequentemente, do menor denominador comum. Entre muitas outras vantagens.

Chamo a atenção do leitor, neste ponto, para o fato de que essa idéia é muito diversa do "Modelo MMO". Nesse último, grande parte do processamento - incluindo a geração dos gráficos - fica na máquina do usuário, que precisa ter capacidade suficiente para executá-lo. Modelos geométricos, texturas, cenários, tudo isso se encontra instalado na máquina cliente, junto com a engine do jogo. O servidor remoto processa apenas a interação do jogador com outros participantes e com o resto do universo "lógico" do jogo. No caso do OnLive, todo o processamento está do lado servidor. Nada é instalado no lado cliente, exceto por um cliente genérico. Isso vale inclusive para os títulos exclusivamente single-player.


O problema com essa solução é que não vivemos em um ecossistema capaz de suportá-la adequadamente. De nada adianta termos uma bela Ferrari, se todas as estradas disponíveis são atoleiros de terra encharcada. Por mais que a internet tenha avançado em termos de velocidade e latência, ela ainda é simplesmente lenta demais. E essa realidade não deve mudar substancialmente por um bom tempo. Mesmo com excelente hardware de compressão, a adoção massiva dos jogadores ao serviço esgotaria rapidamente a largura de banda disponível, principalmente se não houver grandes concessões à qualidade obtida. Afinal, estamos falando de dezenas - senão de centenas - de milhões de usuários simultâneos, jogando títulos que entregam em média 30 frames a cada segundo, em resolução HD ou mesmo Full HD. E competindo com todo o tráfego remanescente da internet, cada vez mais sobrecarregada com outros tipos pesados de mídia.

Ainda que muitos usuários estejam dispostos a aceitar padrões gráficos inferiores (por menor resolução real ou maior compressão) e mais granulados para obter uma experiência mais fluida, não vejo os "core gamers" fazendo o mesmo. De fato, esse é um problema mesmo para filmes HD em streaming, e a situação de um jogo é muito mais complicada, já que cada frame precisa ser comprimido em tempo real, on the fly. Tampouco imagino jogadores sérios dispostos a aceitar pacificamente um "engasgo" do jogo justo na hora de acertar um headshot no inimigo, ou realizar aquele salto complicado sobre um abismo de lava, depois de ter ralado meia hora para chegar até lá. Por fim, num sistema desse tipo, o salvamento do jogo provavelmente teria que regredir aos antigos e desajeitados checkpoints. Nada mais de quicksaves a cada dois ou três minutos.

Não vejo esses problemas sendo suplantados satisfatoriamente e massivamente antes de pelo menos uns quinze anos, quiçá vinte. Até lá - e provavelmente para mais além - sempre haverá um mercado potencial para quem preferir executar os jogos em suas próprias máquinas, com a qualidade proporcional ao que seu bolso pode pagar, e sem depender de latência. E, dependendo do quanto o usuário joga mensalmente, pode sair mais barato adquirir um título e executá-lo localmente. Mas isso não invalida toda a arquitetura descrita acima. Ela apenas se tornará doméstica.

O Servidor Doméstico de Games

 Uma visão geral da arquitetura imaginada para a jogatina futura (clique para ampliar)

O servidor local de games é o componente mais importante de toda a estrutura que discutiremos. É ele que, como vimos acima, deverá executar o jogo propriamente dito. O PC desktop é o candidato mais natural para assumir essas funções. Mas uma solução integrada como essa, apesar de mais barata, não é necessariamente a melhor para todos os usuários. Por exemplo, existem aqueles que só utilizam notebooks, mesmo quando estão em casa. Portanto, devem existir outras opções para o consumidor.

Uma possível alternativa seria um módulo externo acoplável, que fizesse o processamento gráfico e a compactação dos frames obtidos, para posterior envio para os dispositivos clientes espalhados pela casa. Esse módulo conteria apenas a placa gráfica e uma fonte de alimentação capaz de sustentá-la independentemente. A própria placa gráfica se encarregaria da compressão. Quanto custaria um módulo desses? Farei uma estimativa, em valores atuais, usando como base a GeForce GTX 460 768 MB, uma ótima placa "classe média", capaz de rodar a maioria dos jogos atuais em Full HD (1920 x 1080) com bom desempenho. O preço dessa placa, no varejo, está por volta de $170. Já o seu consumo, em pleno processamento, gira em torno de 250W. Uma fonte com essa capacidade pode ser adquirida por uns $40. Nosso módulo custaria, então, algo na faixa de $200. Isso, note, usando peças compradas em lojas. Se a ATI ou Nvidia se encarregassem de produzir tal dispositivo, com a produção em alta escala e a eliminação de intermediários, não ficaria surpreso se tal módulo chegasse ao consumidor por algo em torno de uns $150, ou menos. Bem mais barato que um console atual. Recentemente a Sony anunciou um notebook com uma solução gráfica desse tipo, o Vaio Z (vide figura abaixo). Mas o preço ainda é predatório.

 O notebook Sony Vaio Z oferece processamento gráfico externo. Mas ainda é muito caro.

Outra solução possível seria um box dedicado, com hardware mais simples e barato do que um computador convencional, numa filosofia não muito diferente dos diversos dispositivos para reprodução de filmes e músicas, que hoje substituem, por uma fração do preço, os antigos e caríssimos HTPCs. Não é uma meta fantasiosa. O Tom's Hardware volta e meia demonstra que é perfeitamente possível montar PCs completos, com componentes vendidos em lojas, e capazes de processamento melhor do que qualquer console atual, por valores entre $400 e $500. Uma montadora de PCs, pela escala e acesso direto aos fabricantes, aliada a alguma customização, poderia reduzir esse valor para algo abaixo de $300. Ainda mais considerando que tal solução não incluiria monitor e, provavelmente, nem um HD interno. Não é a melhor solução, claro, mas pode ser uma alternativa econômica para aqueles menos dispostos a pagar por uma experiência "Estado da Arte".

Para aqueles que possuem um PC desktop convencional, o custo de transformá-lo numa plataforma competitiva de games pode ser bem menor do que se imagina, como defendo neste artigo aqui. Essa estratégia deve se tornar cada vez mais interessante, já que o modelo de negócio dos consoles, de subsidiar hardware "Estado da Arte", vendendo-o por um preço muito inferior ao do seu custo de fabricação (como foi o caso do PS3), está ficando inviável. As proprietárias de plataformas fechadas de games devem se mostrar mais conservadoras daqui para frente. Como, aliás, já sinalizaram Nintendo e Sony. A consequência imediata disso é que, por um preço extremamente acessível, será possível equiparar um PC desktop mediano a um dos próximos consoles dessas empresas, o que os tornará dispensáveis, senão irrelevantes.

 Consoles estado-da-arte com preços baratíssimos subsidiados? Será difícil.

Há uma questão que não pode ser esquecida, todavia. Refiro-me ao sistema operacional do servidor doméstico de games. Esse é um aspecto que merece um artigo exclusivo. Por hora, vamos assumir o Windows como sistema operacional dominante desse componente, até porque esta é a realidade atual para jogos em plataformas abertas de hardware. Mas o ideal seria um sistema operacional dedicado especialmente aos jogos. Por exemplo, uma versão especializada do Windows, mais leve. Ou mesmo um SO completamente diferente, mas com APIs e drivers que facilitassem a portabilidade de jogos. Um SO derivado do Linux pode ser um bom candidato nesse sentido, com um consórcio de atores proeminentes da indústria (publishers, desenvolvedoras, fabricantes de hardware, etc) comprometidos com sua evolução e padronização. Olha que pode ser uma boa oportunidade de negócio para a Google, que não esconde sua ambição neste mercado.

Este artigo, vale destacar, não é uma defesa do PC Gaming como substituto ao Console Gaming, como talvez possa parecer a princípio. O objetivo é casar os pontos fortes das duas escolas. Por isso o PC entra na nossa equação não como um cliente (embora ele possa continuar sendo usado como tal), mas como um servidor local de games para outros dispositivos, o que traria ao jogador uma série de vantagens. Para começar, ele poderia usar várias plataformas cliente, inclusive portáveis, como smartphones e tablets (mais sobre isso na parte final desse artigo), para sua jogatina diária. Ele também estaria livre para jogar em qualquer cômodo da casa, do banheiro à confortabilíssima sala de televisão, com sua nova TV Full HD de 60 polegadas, o HT Yamaha de 120 canais, e o sofá de veludo da Prima Linea. Mas não fica apenas nisso.

O servidor lá no escritório, eu jogando com todo conforto na sala de TV. Posso me acostumar com isso.

Como o servidor de games é uma plataforma aberta de hardware, existe a possibilidade de ajustar a experiência de jogo de acordo com o nível da ambição ou da disponibilidade orçamentária de seu proprietário. Mas não será necessário possuir um servidor super-potente, nem realizar custosos upgrades anuais, nem adquirir a placa gráfica mais dispendiosa do mercado, para desfrutar uma experiência de jogo satisfatória. Os jogadores parecem finalmente ter superado aquela mentalidade infantil de algum tempo atrás, quando julgavam não valer a pena rodar um jogo se não fosse "com tudo ligado". Uma noção em grande parte motivada pela competição pura e simples. Quem tem a conta bancária recheada e faz questão de ver os efeitos mais realistas de iluminação e sombra, de apreciar as texturas de maior resolução, de saborear os horizontes mais longínquos que uma engine pode renderizar, terá a possibilidade de gastar sua grana e obter exatamente isso. Mas quem não faz questão de tanto preciosismo, pode economizar e ter uma experiência não muito diferente de qualquer console atual. A plataforma aberta tira o poder de decisão tecnológica das proprietárias dos consoles e o transfere de volta ao jogador. Como deveria ser. Afinal, não é assim que ocorre quando você compra uma TV, um som, ou um automóvel?

Mesmo as desenvolvedoras se beneficiariam de uma plataforma aberta. Como hoje já ocorre no PC, haveria kits de desenvolvimento de todos os tipos e gêneros, muito mais baratos do que seus equivalentes de consoles. Uma publisher não mais necessitaria da aprovação da proprietária da plataforma para lançar um título controverso ou adulto, pois não haveria mais essa figura do proprietário da plataforma (leia-se: Sony, Microsoft e Nintendo). Os royalties deixariam de existir, exceto pelos cobrados pela distribuição digital, onde a concorrência seria maior. Apesar da maior variedade de hardware, a existência de APIs, drivers e engines padronizados simplificariam o desenvolvimento em relação ao que existe hoje, onde um game tem que ser desenvolvido para três ou quatro plataformas completamente distintas.

Nem tudo são flores, todavia. A complexidade de hardware pode ser contornada pelas desenvolvedoras, mas sempre será um problema para os usuários, principalmente os mais leigos. Máquinas e módulos fechados  poderão resolver esse problema, mas é importante que seja simplificado o processo de upgrade de componentes, para aqueles que desejarem fazê-lo. O primeiro passo nesse sentido seria modularizar os principais componentes, tornando fácil plugá-los e substituí-los, sem obrigar o jogador a abrir o case da máquina e localizar os slots da placa-mãe. É vital diminuir a exigência de conhecimento técnico do consumidor. Pense na facilidade que é, hoje, ligar um HD externo a um computador. Imagino algo tão simples quanto - um case com slots de tamanho adequado para encaixe de boxes lacrados com os componentes básicos: placa de vídeo, memória, talvez mesmo o conjunto processador + placa-mãe. Conexões de alta velocidade de transferência interligariam os diversos módulos.

Num hipotético serviço de distribuição digital (clique para ampliar)...

...cada jogo teria níveis de performance. A máquina do usuário também, para comparação.

Ao selecionar um upgrade, seria simulado o novo nível de performance.
Oba, já posso jogar The Witcher IV com (quase) tudo ligado!

Cada componente de hardware, por sua vez, receberia uma classificação relativa de performance (vide figuras acima). Ela deverá ser de fácil entendimento pelo usuário comum. Isso facilitará a ele compreender os patamares de performance exigidos pelos títulos que ele deseja jogar. Os serviços de distribuição digital analisariam a máquina do usuário, determinariam seu patamar de performance (a exemplo do que ocorre com o "nível de experiência" do Windows), e daí listariam para o jogador que títulos podem  ser executados em sua máquina, e com qual qualidade, tornando todo o processo transparente. Seria possível também simular o novo patamar de performance da máquina caso algum componente específico fosse substituído, orientando o processo de upgrade e tornando palpáveis as vantagens adquiridas com a nova aquisição.

Com software e padronização adequados, a complexidade da arquitetura poderia ser, em grande parte, escondida do usuário final.

No último post dessa série,  a compressão e transmissão, o módulo cliente e considerações finais.

Veja Também: