Era uma vez. Uma história de como programar apenas para um hardware tem vantagens

Hoje é dia de contar uma historinha… ou melhor duas historinhas.

História 1

Era uma vez um programador… Nos seus tempos livres ele concebeu um pequeno jogo. Um jogo com uns gráficos interessantes e que se baseava numa IA pouco avançada, um som rudimentar, e uma física quase inexistente. Mas era um conceito muito muito bom.

Um dia este programador respondeu a um anuncio de emprego. Uma grande empresa, de nome Sony, estava a contratar pessoal para os seus estúdios. E ele foi à entrevista.

Foi contratado!



Após alguns meses de trabalho, numa reunião, foi proposto à equipa apresentar ideias sobre um futuro jogo. E este programador resolveu mostrar o seu conceito que tinha criado uns anos antes.

O conceito apaixonou tudo e todos. Foi então proposto pegar-se naquilo que existia, passar aquilo para um motor gráfico de topo, criar personagens mais realistas e animadas com motion capture, e colocar aquilo tudo a 4K num jogo com um grafismo de topo apoiado em Ray Tracing. A fisica seria remodelada, seria acrescentado um motor de contexto, cenários destrutiveis, uma IA que aprende com os erros, e um conjunto de novidades adicionais. O som seria igualmente melhorado para algo imersivo, 3D, e com refracção igualmente baseada em Ray Tracing, e tudo optimizado para o hardware da sua mais recente consola, a PS5.

E o jogo saiu… um exclusivo PS5, e foi um sucesso de vendas.

História 2

Era uma vez um programador… Nos seus tempos livres ele concebeu um pequeno jogo. Um jogo com uns gráficos interessantes e que se baseava numa IA pouco avançada, um som rudimentar, e uma física quase inexistente. Mas era um conceito muito muito bom.

Um dia este programador respondeu a um anuncio de emprego. Uma grande empresa, de nome Microsoft, estava a contratar pessoal para os seus estúdios. E ele foi à entrevista.



Foi contratado!

Após alguns meses de trabalho, numa reunião, foi proposto à equipa apresentar ideias sobre um futuro jogo. E este programador resolveu mostrar o seu conceito que tinha criado uns anos antes.

O conceito apaixonou tudo e todos. Foi então proposto pegar-se naquilo que existia, passar aquilo para um motor gráfico de topo, criar personagens mais realistas e animadas com motion capture, e colocar aquilo tudo a 4K num jogo com um grafismo de topo apoiado em Ray Tracing. A fisica seria remodelada, seria acrescentado um motor de contexto, cenários destrutiveis, uma IA que aprende com os erros, e um conjunto de novidades adicionais. O som seria igualmente melhorado para algo imersivo, 3D, e com refracção igualmente baseada em Ray Tracing, e tudo optimizado com bastante streaming do SSD.

O problema… é que haviam aqui não uma, mas sim várias peças de hardware a serem suportadas. A Xbox série X, a Xbox série S, A Xbox One X, a Xbox One, e o PC.

Ora o jogo foi então concebido para a série X, tirando partido das suas potencialidades.



Mas quando passou para a série S, a RAM era menor… daí que as texturas de alta definição tiveram de ser removidas. Mas isso não seria um problema pois a resolução também seria menor.

O problema é que a proporção potência resolução não é compatível. Com a série X a 4K, 4 Tflops (o valor que se refere para a Lockhart) não aguentam com 1440p. Enfim, lá se terá de reduzir para menos!

Mas eis que nos surge outro problema… A Xbox One X… a memória é mesma, mas a capacidade do GPU, apesar de teoricamente ter mais Flops, não é exactamente igual. Vamos ter de ir para os 1080p… se calhar dinâmicos.

O problema agora é que temos um HDD… que não tem o mesmo nível de streaming. Teremos de cortar na geometria, nas texturas, e em outras coisas para manter a coisa na largura de banda de um HDD.

A piorar a coisa, o CPU não aguenta com o mesmo nível de física, IA e outros… Ter-se-à de re-escalar a coisa. E das duas uma, ou teremos uma versão inferior aqui, ou tem de se cortar também nas versões de cima para manter a paridade.



Mas há também a Xbox One. Aqui o CPU ainda é inferior e o GPU, esse nem se fala… O problema é que se a Xbox One X está a 1080p dinâmicos, esta consola não consegue correr o jogo numa resolução aceitável…

O grande problema é que esta consola é a que tem a maior base… e manter-se o suporte à geração anterior, sem suportar esta consola… não faz sentido.

Daí que a grande tarefa agora é… optimizar o jogo para todas estas plataformas… e manter algo que se possa dizer ser o mesmo jogo em todas. Talvez o melhor perante tantos cortes seja mesmo começar por baixo, e melhorar para cima. É menos problemático.

Apesar que, claro… vamos ter como base um jogo de Xbox One… e as revoluções que o novo hardware poderia dar… terão de ficar em  stand by.

Ah sim… e não se esqueçam… a seguir vamos optimizar para PC!



Moral das histórias

Basicamente esta história surge para demonstrar o enorme quebra cabeças em que a Microsoft se está a meter ao não criar exclusivos para a nova geração. Eles existirão, mas segundo Matt Booty, isso poderá demorar um ano ou dois. Um período em que esse problema não existirá na concorrência.

É uma medida que de vantajoso não tem nada. E nem sequer venham cá com o ser pro-consumidor, pois na realidade estamos apenas a adiar algo que será inevitável, e a prejudicar os novos compradores que terão de aguentar com jogos que não tiram partido total das suas máquinas. Onde é que está o pro-consumidor para eles?

Uma consola não vale pelos seus Tflops, nem pela velocidade do seu SSD. Vale pela quantidade e qualidade de grandes jogos!

E esses jogos estando limitados, não serão a melhor mostra possível para a série X.



Basicamente se o Menu da Sony passará a ser:

Optimizar para a PS5

O menu da Microsoft está grande demais.

Optimizar para a XsX
Optimizar para a XsS
Optimizar para a XOX
Optimizar para a XO

Optimizar para 12.15 Tflops RDNA 2
Optimizar para 4 Tflops RDNA 2
Optimizar para 6 Tflops GNC
Optimizar para 1.3 Tflops GCN



Optimizar para 16 GB
Optimizar para 12 GB
Optimizar para 8 GB

Optimizar para Zen 8 núcleos a 3.6 Ghz
Optimizar para Jaguar 8 núcleos a 2300 Mhz
Optimizar para Jaguar 8 núcleos a 1750 Mhz

Optimizar para SSD
Optimizar para HDD

E agora digam olá ao PC.

No meio disto tudo, falar de uma optimização ao nível do que é possível ser feito com o hardware único da PS5 é uma utopia. E claramente o hardware inferior vai limitar o superior.



Nota: Este artigo toma a Xbox série S como uma realidade.



error: Conteúdo protegido