Acima de tudo a próxima geração apostará em CPUs bem mais potentes. Que vantagens isso trará aos videojogos?
Como é sabido, a atual geração de consolas não teve uma grande melhoria a nível de CPU face à anterior. O ganho que existiu deveu-se ao GPGPU e à sua capacidade de retirar trabalho ao CPU, mas no que toca a salto de performances, face aos CPUs da geração anterior, os ganhos foram pequenos, e no caso da Playstation, a PS4 possui até menos capacidade de processamento genérico do que o que a PS3 possuía.
Um bom exemplo de uma evolução pode ser vista em muitos jogos. Por exemplo, quando antes tinhamos cenas pré programadas, mas as mesmas passam a ser dinâmicas, mudando a cada jogo, quer de local, quer nos resultados.
Imaginem um jogo onde o inimigo pode ser enfrentado em locais não pré definidos, onde o corpo do mesmo reage de forma realista aos impactos das balas, e onde o mesmo cai, interagindo com o cenário que estiver no local, podendo derrubar objectos que eles próprios se movem de acordo com o impacto.
Esta descrição pode para muitos parecer banal face ao que hoje em dia se faz, mas não o é… porque antes não era assim! Este tipo de situações só surgiu quando os CPUs o permitiram, e a qualidade do apresentado nos primeiros jogos era bem diferente daquilo que podemos ver hoje. A qualidade da simulação física foi sendo melhorada conforme a performance disponível nos CPUs foi melhorando.
Mas a situação evoluiu, ao ponto de os inimigos terem reacções e movimentos realistas que se adequam ao tipo de dano. Outra melhoria que surge do uso do CPU. Eis o mais recente exemplo:
A tecnologia impressiona
Basicamente os jogos necessitam de nos tentar impressionar com as novas capacidades logo no início. Há que prender o jogador, mostrando-lhe o que o jogo pode oferecer a nível de físicas e tecnologias. Até porque muitos jogadores nunca acabam os jogos e há que se mostrar desde logo a qualidade do produto.
Nesse aspecto a próxima geração poderá ter impacto semelhante ao que vimos em Tlou 2, mostrando-nos nos trailers o que pode oferecer a mais.
Os jogos de mundo aberto são bons exemplos de amostras tecnológicas. Apesar de limitações por serem abertos, o permitirem ao jogador passear livremente, mostrando todos os efeitos que o jogo possui, como físicas de movimentação de poeiras, físicas de animações de arvores com efeitos realistas e adequados ao tempo, física de partículas, física de fluidos, física de tecidos, capacidade de interacção com o mundo, etc.
Mesmo sabendo-se que a maior parte destas situações são meras animações não interactivas, podendo por isso ser efectuadas pelo GPGPU, há muitas situações que não o são, e que interagem com o jogador e mesmo com o mundo. Por exemplo, empurrar um NPC pode fazer com que ele caia, e outro pode cair por cima dele, obrigando outros a desviarem-se indo para a estrada, interferindo com o tráfego, podendo ser atropelados ou causar acidentes.
Este tipo de situações não previstas com resultados imprevisíveis e que não se repetem duas vezes são todas calculadas pelo CPU. São modelos de física, modelos de inteligência artificial, de gestão de movimentos, que vão melhorando ao longo do tempo com maior potência disponível nos CPUs.
Lembram-se de como reagiram quando após terem roubado um carro em GTA o assaltado reagiu, puxando-vos do carro e lutando ou apontando uma arma, tendo aproveitado qualquer pausa que lhe derem para recuperar o carro e sair do local?
Isso é CPU!
Curiosamente, de todas estas inovações que foram sendo mostradas ao longo do tempo e em diversas gerações, nada apareceu com a atual geração! Esta pode ter refinado o que existia, mas não trouxe nada de novo. O CPU simplesmente não foi inovador o suficiente para revolucionar nesse campo.
Atualmente os jogos tem evoluído basicamente no capítulo gráfico, sendo que os motores de física, de IA, de detecção de colisões, etc, se tem limitado a ser optimizados para fazerem o mesmo com menos recursos.
Apesar de um motor genérico de física poder lidar com a maior parte das situações, a realidade é que a física é diferente para personagens, veículos, objectos, etc. Por exemplo, num jogo de simulação automóvel há que se ter fisica realista para o puxar do carro por motores de diferentes caracteristicas, para as reacções dos diversos tipos de suspensão, de atrito de pneus de acordo com o tipo de pneus, de piso, e condições climatéricas. Poder melhorar estes motores de física trocando-os por outros mais puxados, menos simplistas e mais realistas, tem impacto na qualidade do jogo.
Da mesma forma a forma como as personagens interagem com o ambiente é relevante. The Last of us possui um sistema único que permite ao jogo perceber o que está nas imediações da personagem controlada, reagindo de acordo com o que existe. Esta é uma situação dinâmica e não controlada, pois os objectos em causa podem ou não estar no local. Ter algo deste género num mundo aberto e onde várias dezenas de personagens, automóveis, e objectos se encontram no ecrã é nesta fase impensável, mas com mais CPU, tal pode acontecer, melhorando o realismo e qualidade das interacções.
Mesmo o controlo das animações a a forma como estas encaixam é algo controlado pelo CPU. É certo que não é ele que as realiza, apenas necessitando de ordenar as mesmas, mas resultados como os que vimos em The Last of us 2, e que surpreenderam muitas pessoas da industria são o resultado da evolução de metodologias de uso do CPU nesse campo, onde várias animações são misturadas de forma a se gerar uma transição entre elas que seja realista.
A Naughty Dog conseguiu isso em TLOU 2, mas quando é que veremos isso a tornar-se comum, e em jogos que usem mais CPU para outras situações?
O efeito Ragdoll
Lembrem-se que durante anos e anos, os inimigos, quando mortos, usavam efeitos “ragdoll” ou bonecos de trapos. Basicamente as suas animações eram super simplistas e as mesmas que um boneco de trapos!
Na altura a simples introdução do “ragdoll” foi uma evolução muito grande pois permitia reacções de corpo inerte, mas que no entanto eram bem pouco realistas quer na forma como o corpo se dobrava, quer na simulação da rigidez e do peso. Essas situações tem vindo a ser muito melhoradas, mas ainda hoje costumamos ver inimigos mortos caídos e em posições pouco realistas, tudo consequência de efeitos ragdoll simplificados. Esta é mais uma situação que pode ser melhorada… mas que requer mais CPU!
GTA V usa um bom modelo de adaptação dos Ragdolls, mas que pode ainda melhorar bastante:
Note-se que para efeitos realistas por vezes é preciso mais do que um único motor de fisica. Mesmo os motores de física como o Physix ou o Havok, apesar de serem por norma mais genéricos e capazes do que as soluções personalizadas usadas por muitos jogos, não são adequados a 100% para todo o tipo de física.
Acima de tudo, a melhoria das animações em conjunto com a boa aplicação de física é algo que requer GPU e CPU conjunto, e nesse aspecto a nova geração que aí vem abre perspectivas enormes de evolução nesse campo.
Jogos de carros
Apesar de termos muitos jogos de carros de mundo aberto, como Forza Horizon ou The crew, nenhum deles é exactamente um simulador. O CPU ao ter de lidar com um mundo aberto não chega para ser um simulador (não é que estes jogos queiram exactamente ser simuladores, até porque eles preferem meter lamborguinis no meio do milho ou a saltar por cima de celeiros do que serem realistas, mas creio que percebem a ideia).
A questão é que actualmente misturar realismo com mundo aberto é algo que nem sequer se coloca. Os CPUs não chegam! E apesar de não sabermos se chegarão igualmente na próxima geração, o certo é que estarão bem mais perto disso do que na atual geração.
Mas mesmo que um jogo realista de mundo aberto possa não ser tão interessante pois no fundo os carros não poderiam sair das estradas (poderia-se sempre mudar de carro), a realidade é que há outros factores onde mais CPU interessa: Nos simuladores puros e duros, o número de veiculos na corrida é limitado. Porque há que se aplicar a todos todas as mesma físicas que se aplicam ao jogador! Daí que há um limite maior no número de veiculos do que há nos jogos arcada. Mais CPU permitirá não só ter mais carros, como ter todas as físicas a eles aplicadas melhoradas. Será outro nível… outra geração!
Jogos com destruição
Apesar de que atualmente muita da animação destes jogos é feita pelo GPGPU, controlar o realismo da destruição continua a ser algo feito pelo CPU.
Atualmente em Crackdown 3 a Microsoft vai recorrer à Cloud para o cálculo de partículas. Mas isso poderá não ser necessário no futuro! Com mais CPU e uso do GPGPU, será possível obter-se resultados semelhantes sem se recorrer à Cloud. E isso tornará mais banal algo que actualmente só se consegue com processamento externo. A Microsoft refere que a Cloud dará o poder de processamento de CPU equivalente ao de 4 Xbox One. Ora quando sabemos que com a mesma velocidade de relógio o número de instruções por ciclo de relógio processado por um CPU ZEN é 2.66x superior ao de um CPU jaguar, esperando-se ainda que a velocidade possa passar para perto do dobro da usada pelos atuais jaguares, se isso acontecer, associado a um GPU de 12 Tflops, teremos hardware para fazer sozinho algo do género do que Crackdown requer a Cloud para fazer.
Este tipo de processamento requer CPU, GPU e memória. É, para a atual geração, algo que tem limites muito superiores ao que a próxima terá.
Mas agora imaginemos este tipo de destruição num jogo offline. A colocação de destroços no chão pode constituir um obstáculo ao movimento de NPCs, que necessitam de ter a consciência dos mesmos, agindo em conformidade, seja não avançado, seja contornando ou trepando o objecto. É um tipo de IA que veremos certamente com mais frequência ao termos mais CPU.
Ah sim, e neste jogos há outro factor a tomar em conta… a chamada “física dos parvos”. Basicamente o cálculo de como o mundo reagir quando os jogadores agem como parvos disparando rockets a torto e a direito sobre tudo. Tornar a reacção do mundo adequada a esta física, também requer CPU.
Jogos de mundo aberto
Ahhh… GTA.. a liberdade de um mundo aberto. Mas será? No fundo a quantidade de coisas que pode fazer em GTA é limitada. Há toda uma série de situações que se podem fazer, mas todas elas pré programadas. Falar com A ou B, reconhecer o sitio C ou D, são situações que se activam quando entramos num determinado raio de distância. Mas a interacção com os NPCs é limitada. Apenas algumas lojas existem, e a interacção com NPCs, o pegar em objectos em casa como um comando de TV para a ligar ou desligar, pegar numa vassoura para varrer a casa, etc, são limitados. Expandir isso em muitos casos apenas requer mais memória, mas acima de tudo, melhorar a complexidade dessas interacções requer CPU. Mundos maiores, mais complexos e mais interactivos requerem CPUs potentes, e poderão melhorar com a próxima geração.
Da mesma forma a já referida complexidade da simulação de fisicas pode igualmente melhorar, trazendo a estes jogos um realismo mais semelhante ao obtido em jogos de mundo fechado e controlado. A IA dos NPCs pode melhorar tambem, permitindo que a Policia haja de forma mais realista, se una em grupos, se torne mais “humana” nas suas acções.
Fisica de balas, Fisica de danos, etc
Há certos tipos de fisica que, não tendo como resultado efeitos meramente visuais, necessitam de ser calculados pelo CPU. A física de balas tem impacto directo na jogabilidade, assim como o a física de danos. Estes modelos de física, especialmente o primeiro, são já realistas, mas podem melhorar ainda mais.
A física de balas pode ser associada à de danos ao tomar mais vezes em conta as propriedades dos materiais onde impacta o projéctil. Desta forma não teremos balas apenas a criar buracos, mas a destruir quando a zona de impacto tem propriedades para tal. Tal poderá permitir de forma regular, aquilo que já vimos em alguns jogos, com a passagem de balas em determinadas superfícies, que no entanto não passam em outras.
Haveria certamente muito mais que poderíamos falar, em particular os ganhos de fotogramas por segundo que são a forma mais simples de se aproveitar o CPU extra (desde que o GPU possa acompanhar)… mas mais do que esse tipo de ganho mais fácil de ser percebido, a ideia era falar de outros ganhos, e este apanhado já mostra onde poderemos melhorar os futuros jogos com mais CPU. E como percebem, serão melhorias significativas a nível da qualidade do apresentado.
Vejam exemplos de físicas de próxima geração em uso. De notar que as animações são feitas pelo GPU, mas colisões de deformações realistas são CPU dado que a ideia é estas físicas serem interactivas: