Passar para o conteúdo principal

Entrevista Tecnológica: Split/Second

Digital Foundry sobre tecnologia com o director David Jefferies.

Digital FoundryQue tipo de físicas estão em prática?
David Jefferies

Para as físicas usámos o Havok, que é uma boa solução tanto para a Xbox 360 e PS3. Significa que podemos ter centenas de objectos fisicamente correctos a preencher os cenários sem quaisquer abrandamentos e dá-nos menos uma coisa com que preocupar.

Digital FoundryParece-nos que estamos a ver uma ligeira redução na resolução vertical da demo Xbox 360. Olhando para a sua apresentação SIGGRAPH, fala de três alvos de renderização mais profundidade. A memória temporária das partículas certamente também deve ser tida em conta. O que se passa aqui na 360? Existe algum problema com as limitações de tamanho da eDRAM
David Jefferies

A complexidade de renderizar Split/Second requer-nos mais de 70 alvos de renderização que eventualmente se compõe juntos para formar a imagem final. Nem a PS3 nem a 360 podem acomodar tantos alvos de renderizações na memória de vídeo por isso existe muito copiar de alvos de renderização entre o sistema e a memória de vídeo.

No entanto estás certo: a Xbox 360 tem uma ligeiramente reduzida resolução vertical a correr a 1280x672. Isto é para acomodar os alvos de renderização de elevada precisão que usámos para a renderização correcta em gama. Aplicámos então um escalamento de elevada qualidade para alcançar a nossa resolução de saída de 1280x720.

Resolução crua de pixel é apenas um de muitos factores que entram na criação de uma imagem de elevada qualidade. Tão importante, se não mais, é a qualidade do pixel em si. Correcção gamma, precisão de iluminação de elevada resolução e anti-aliasing de boa qualidade são todos extremamente importantes para a fidelidade visual da memória de imagem final.

Também vale ter em conta que poucos LCDs de consumidores realmente tem uma resolução de pixel de 1280x720 - são quase todos ou a 1366x768 ou 1920x1080. Por isso o LCD do consumidor vai então fazer outra operação de escalamento antes de renderizar a imagem visível ao utilizador.

O sistema de iluminação aplicado permite centenas de fontes de luz em cenas nocturnas.
Digital FoundryAvançando, com MSAA não estando em termos amigáveis com sombras diferidas (precisando de mais RAM de vídeo, largura de banda e mais tecelagem na 360), tem alguma ideia sobre substituir isso por uma solução mais personalizada para o anti-aliasing? Estamos a ver um bem sensacional anti-aliasing personalizado baseado no SPU em God of War III e LittleBigPlanet 2, por exemplo.
David Jefferies

Penso que o MSAA ainda é uma solução muito boa para o anti-aliasing (como explicando antes, precisas assegurar que tens um renderizador correcto em gamma ou não vai parecer bem).

A razão porque precisa de RAM de vídeo adicional, largura de banda e tecelagem é porque funcional ao nível do sub-pixel (ou dois ou quatro fragmentos por pixel) ao invés de ao nível do pixel. Se queres reduzir este excesso então precisas de parar de trabalhar ao nível sub-pixel e isso introduz toda uma carga de problemas próprios.

As implementações AA SPU que vi todas funcional ao nível do pixel e em alguns casos podem ter um bom aspecto mas em outros casos, particularmente objectos finos, podem parecer muito mau porque não tem acesso à informação sub-pixel.

Por isso não estou totalmente convencido ainda mas como sempre vamos avaliar o mais avançado quando melhorar-mos o nosso motor de renderização. Na nossa experiência bom anti-aliasing é tanto devido a ter bons elementos de arte como devido ao equipamento de MSAA.

Digital FoundryExiste muito entusiasmo no Twitter de codificadores de jogos para chegar a termos com os SPUs PS3. Onde é que isto deixa a 360? Existe muito mais que pode ser extraído do equipamento com VMX128 e memexport por exemplo? Existe uma sensação que o CPU ajuda o GPU com a PS3 acontecendo o contrário na 360?
David Jefferies

A 360 tem um GPU muito poderoso que fornece ao programador muita flexibilidade sobre como abordar a renderização. Tirámos alguma carga de trabalho para os CPUs mas não tanto como para a PS3.

São arquitecturas muito diferentes mas depois de realmente puxar por ambas as consolas para Split/Second não temos a sensação de que uma é mais poderosa do que a outra - são apenas diferentes e isto precisa de ser lembrado quando se desenham motores para elas.

Com os nossos exemplos específicos, sim usámos muito do VMX128 na performance de partes críticas do nosso código e usámos o memexport quando desfragmentámos as texturas nas nossas memórias temporárias de leitura contínua (é melhor para o GPU realizar esta operação porque assim não tens contenção entre o CPU e o GPU enquanto tentam e acedem às mesmas texturas) e também como parte do nosso sistema de classificação de telas.

A Black Rock utilizou o bem conhecido sistema de físicas Havok para o lidar dos objectos em Split/Second.
Digital FoundryQual o peso do PC do ponto de vista do desenvolvimento?
David Jefferies

Nós trabalhámos com um estúdio externo na versão PC que assume as versões de consola como ponte de partida. Isto permite-nos concentrar na 360 e PS3 seguros sabendo que está em boas mãos.

Digital FoundryVamos por um momento falar dos jogos online. Existe muita controvérsia entre jogadores sobre os relativos méritos de performance entre a PNS e o Xbox Live. Qual é a abordagem técnica no desenvolver para o online - estamos efectivamente a ver o mesmo código online de base tanto para Xbox 360 como PS3? Falando de uma forma geral, se existem diferenças de performance elas devem-se à infraestrutura?
David Jefferies

Interessante, não encontrei esta controvérsia antes. Usámos uma peça de equipamento mediador chamada NetZ que gere o interface de baixo nível na PSN e Xbox Live e apresenta ao jogo os pacotes de dados que transmitimos. O jogo usa então esses pacotes para manter em sincronização ao longo de qualquer que seja a rede que está a usar.

A única diferença de performance que temos é quando o online se deve ao jogo ao invés da rede. Jogadores online podem accionar até oito Power Plays a qualquer dado momento o que coloca esforço adicional no motor pelo qual precisámos ter em conta - no modo de um jogador é raro ter mais do que duas Power Plays activadas instantaneamente.

Digital FoundryFinalmente, uma questão sobre o futuro. O vosso motor é desenvolvido especificamente para jogos de corrida? Ou ao invés disso, pode facilmente expandir-se a outros tipos? com Split/Second praticamente completo e pronto para ser vendido, o que pensam que podem fazer com o motor no futuro?
David Jefferies

O próximo passo que queremos dar com o motor não é tanto sobre melhorar a eficiência e qualidade do próprio motor mas sim melhorar a fonte de dados que o alimenta. Os artistas geram elementos fonte que o motor usa e estamos inclinados em melhorar a sua fluidez de trabalho e os seus tempos de iteração e a resposta que as ferramentas lhes dão sobre a qualidade dos seus elementos e se estão dentro do orçamento ou não.

Isto é o que vai fazer a grande diferença nos nossos futuros jogos.

Split/Second chega está à venda a partir de hoje para a Xbox 360 e PlayStation 3.

Lê também