Os trabalhos na integração da Cloud com a Xbox One continuam. Eis algumas coisas que a Microsoft pode fazer com ela.
A Cloud e a Xbox One continuam a ser uma incógnita. Como já percebemos e até já abordamos aqui, com Phil Spencer a mensagem daquilo que é a Cloud para a consola (servidores dedicados), tornou-se clara. E aquilo que até então era uma imagem má passada de mistura de computação local e remota completamente impraticável, tornou-se de repente em uma mensagem mais clara e que mostra efectivamente a praticabilidade da situação.
Resumidamente, a alteração face ao que antigamente se passava e que levava ao descrédito da situação é apenas uma. O facto de agora se compreender o “como” e o “que” quer a Microsoft fazer. E que é bem diferente daquilo que a sua primeira imagem deixava perceber. Basicamente, ao contrário do que se transmitiu inicialmente, não se trata de uma ajuda à computação executada em simultâneo e fornecida por um sistema exterior, mas apenas de tratar mais dados, de forma exclusiva, nos servidores, algo que faz com que passemos de algo basicamente impossível para algo que é apenas uma evolução lógica do já existente.
No aspecto específico da computação remota parcial (a total é o Cloud Gaming), a Microsoft está claramente à frente da Sony. A facilidade com que na Azure, em meros segundos se pode alocar mais potência de processamento aos servidores é impressionante. Ali não há um número bastante limitado de máquinas a fazer de servidores. Elas são 300 mil (de acordo com declarações inicias da Microsoft), pelo que sendo preciso mais processamento, rapidamente mais máquinas que estejam disponíveis são chamadas a responder. É uma infra-estrutura que para este tipo de coisas não tem rival.
Isto traz vantagens para todos. Os jogadores não terão de se preocupar com o facto de os servidores colocados no dia de lançamento não serem suficientes e não aguentarem com o fluxo de jogadores (e há vários casos destes, sendo que me recorda particularmente de Diablo 3 onde o problema se arrastou durante mais de uma semana uma vez que as vendas do jogo superavam a colocação de servidores). Da mesma forma a empresa que aluga os servidores prestará um melhor serviço, aos preços mais acessíveis da Microsoft, e só se pagará os servidores pela carga efectivamente usada. Nas sobrecargas haverá mais servidores usados, nos tempos mortos, haverá menos servidores usados, só se pagando o uso efectivo e não por servidores que estão parados.
Naturalmente o uso desta infra-estrutura é paga. Mas não só de forma mais eficiente, como igualmente a preços que são bastante abaixo dos normalmente praticados no mercado. Isso quer dizer que a Microsoft poderá não estar aqui a ter grandes lucros, ou até lucros de todo, mas é uma opção consciente de apoio à sua consola. Aparentemente a situação está limitada a 300 mil servidores, mas mesmo assim é uma boa fatia da Cloud que está reservada e impedida de ser utilizada em outras situação que dão bastante mais lucro.
Torna-se por isso um investimento adicional de muitos milhões dados à Xbox One que até ao momento não apresentou ainda qualquer lucro, e que poderá levar os investidores a ponderar sobre a situação. Mas isso é uma questão que não vamos abordar agora e que esperemos nem se venha a colocar.
Seja como for, e o motivo da realização deste artigo é falar sobre algumas das aplicações Cloud que a Microsoft está a estudar. Não se sabe ainda até que ponto as mesmas poderão ou não, especialmente quando combinadas, ser facilmente colocadas posteriormente em prática, mas no entanto é exactamente nesse sentido que os engenheiros da Microsoft trabalham.
Como já vimos, os jogos que mais podem beneficiar são os jogos multi jogador. O facto de existir um universo que é partilhado por vários jogadores desce as necessidades de processamento uma vez que os dados são comuns a um universo partilhado por várias consolas em simultâneo. Aqui é o caso onde, devido à partilha de informação entre vários clientes, se pode avançar para situações mais complexas como físicas mais avançadas e IA, ou mesmo outra situações ainda não exploradas.
Alguns exemplos do que ainda não foi, mas pode ser feito remotamente no servidor é, por exemplo o calculo de vento, da vegetação com movimentação dinâmica, pegadas que ficam por horas no local e mesmo animações adicionais como a da vida selvagem. Tudo isto pode ser calculado a nível de física e movimentação no servidor. O computador local receberá apenas a informação da posição de cada um destes componentes, tal e qual como lida com a posição e animação actual de um adversário de jogo em qualquer fps, e calculará as respectivas sombras e efeitos de luz sem ter de gerir o objecto. Aqui poderemos observar alguma latência acima do normal, especialmente porque estes são efeitos secundários a nível de importância, mas exactamente por esse mesmo motivo, essa latência pouca ou nenhuma relevância efectiva terá uma vez que a aplicabilidade é feita a situações que são meros “acessórios” visuais de jogo. E dado que toda a física que afecta o objecto é gerida no servidor, o mesmo reage de forma considerada imediata para o jogador (sendo no entanto afectada em caso de pings elevados tal como qualquer animação em jogos multi-jogador).
Eis um exemplo de algo em que a Microsoft está a trabalhar e que poderá vir a ser uma realidade num futuro jogo Xbox One:
Com mais informação processada no servidor, mais dados são necessários de ser enviados ao utilizador. Para conseguir enviar tanta informação usando pouca largura de banda, a Microsoft está a trabalhar em novos métodos que permitirão o aumento da informação passada sem aumentar a quantidade de dados transmitidos (não só eventualmente compressão, mas a transmissão de meros parâmetros em vez da totalidade dos dados). Daí que com estas metodologias teremos um aumento da informação contida nos pacotes, pelo que a quantidade de dados necessária para a transmissão destes dados poderá nem ser muita. E como tal poderá não requerer grandes larguras de banda.
Mas a Microsoft quer aparentemente avançar igualmente com a aplicabilidade da Cloud nas componentes de jogador único. Aqui a situação parece menos simplista de ser aplicada uma vez que exigirá recursos mais elevados uma vez que vários milhões de consolas poderão requerer cálculos diferentes em simultâneo, sem que hajam dados partilhados. Daí que caso a situação avance, se efectivamente avançar, se acredita que nestes casos a Microsoft opte por situações menos complexas a nível de cálculo e que não tornem subitamente 300 mil servidores em insuficientes.
Nestes casos a ideia geral da Microsoft é basicamente fazer aquilo que a Nvidia faz com o seu Physix: Acréscimo de animações e cálculos de física a quem tem estas placas, e ausência das mesmas a que não as tem. Mas tudo isto sem prejudicar o jogo. Ou seja, a ajuda não poderá ser nunca em situações críticas e complexas, mas apenas em animações e físicas secundárias que não afectem o jogo em si na ausência da internet, e não o tornando diferente na sua presença.
Isto quer dizer que a ausência de internet, será apenas penalizadora em questões de animação e qualidade visual. O jogo continuará plenamente jogável, e não será afectado minimamente. Haverá assim código duplo que tratará das físicas e animações dos objectos secundários na presença de internet e na ausência dela.
Não haja dúvidas que desta forma poderemos vir a ter jogos visualmente deslumbrantes, mas no entanto estas situações não resolvem problemas de resolução ou bottlenecks gráficos, apenas permitem o acréscimo de situações normalmente calculadas pelo CPU, não libertado ou ajudando a nível de GPU. Naturalmente isto não quer dizer que a Microsoft não possa estar a estudar outras situações que ajudem a componente gráfica, mas dado que a Azure é uma Cloud de CPUs, os recursos necessários para o auxilio do GPU serão bastantes mais exigentes na rede.
Mas quanto a isso… vamos aguardar. Afinal a nível de software a Microsoft, com os seus defeitos e virtudes, é o maior gigante do mundo.
Estes são actualmente os atractivos da Cloud.