Metrospective: 4A Games vs Digital Foundry
A mente por detrás de Metro 2033 explica a tecnologia.
A decisão de não trazer o título à PS3 veio da THQ e o criador reconhece que teve uma diferença positiva no processo de criação do jogo, pois recursos limitados são empregues em duas plataformas ao invés de três.
"A THQ estava reticente em tomar um risco com um novo motor de um novo estúdio na que era ainda tida como uma plataforma muito difícil de programar - especialmente quando não havia nenhuma necessidade negocial de o fazer," disse Oles. "Penso que foi uma decisão sábia desenvolver uma versão PC e consola. Permitiu-nos realmente focar na qualidade nas duas plataformas. Uma coisa a notar é que nunca corremos Metro 2033 na PS3, apenas arquitectámos para ela. O estúdio tem muitos jogadores de consola mas não assim tantos criadores para consola e a Microsoft fez um grande esforço em baixar a barreira de entra através das suas ferramentas claramente superiores, compiladores e analistas.
"No geral, pessoalmente penso que ambos ganhámos. A nossa decisão de arquitectar para a plataforma "mais difícil" recompensou quase imediatamente. Todo o jogo foi portado para a 360 em 19 dias de trabalho, se bem que não foram dias de oito horas..."
Outro desafio chave em passar de PC para uma consola foi a relativa escassez de memória disponível. Com 2GB sendo o mínimo que os PC's de mesa são geralmente lançados actualmente, descer para menos do que 25% dessa quantia para as consolas representou um espantoso desafio. A solução foi, claro, colocar dados a serem lidos constantemente directamente da drive DVD - se bem que como a maioria dos títulos 360, Metro 2033 vai também correr do disco via instalação NXE opcional.
"Na versão 360 de loja temos cerca de 1GB de som OGG-comprimido e quase 2GB de texturas DXT comprimidas sem perda de qualidade. Isso claramente não cabe na memória da consola," diz Shishkovtsov. "Procurámos colocar estes recursos a serem lidos constantemente do DVD, até ao extremo que não carregamos nada previamente, nem mesmo os sons básicos como passos ou sons de armas. Fizemos muito esforço para compensar a latência na leitura do DVD, para que o jogador nunca a note. Isso foi a parte difícil."
Todas estas optimizações significam que a versão PC de Metro 2033 também é beneficiada.
"Não precisámos de tanta memória de sistema quanto outros jogos apenas para PC. Qualquer coisa acima de 512MB RAM com suporte DX10/DX11 no Win7 deve chegar," diz Oles. "DirectX9 usa reserva de memória de sistema para quase todos os recursos do GPU, por isso deves acrescentar mais 256MB para evitar mudança de ficheiros de página. Quanto ao CPU é ligeiramente mais problemático. Porque o sistema é altamente multi-tópico, precisámos de pelo menos dois tópicos de equipamento para uma jogabilidade 'suave'. A performance do CPU não importa assim tanto, excepto numas cenas específicas durante todo o jogo desde que sejam uma arquitectura relativamente moderna (não o Intel Atom!) e tenha mais do que um núcleo."
Quanto aos gráficos, a versão PC do motor 4A está bem separada das versões de consola. Frequentemente vemos jogos PC que são idênticos aos seus equivalentes 360, simplesmente oferecendo-te a possibilidade de correr a resoluções superiores com maior rácio de fotogramas. Metro 2033 presenta superior nevoeiro volumétrico, o dobro da precisão no PshyX, texturas 2048x2048 (conta 1024x1024 na consola), melhor definição e filtragem do mapeamento de sombras, névoa de objecto no DX10, dispersão sub-superfície para superiores efeitos de renderização de pele, mapeamento parallax em todas as superfícies e melhor detalhe geométrico com menos agressivos LODs.
Também vai haver suporte para tecelagem no DirectX11. Em termos básicos, a tecelagem incorpora novos polígonos, por isso quanto mais perto estás do objecto com tecelagem, mais polígonos são gerados.
DirectX11 é um salto enorme sobre o seu predecessor e muitas das suas capacidades parecem prontas a ser abraçadas por muitos criadores, incluindo a 4A.
“Gosto mesmo de três coisas: instruções de cálculo para efeitos de renderização de computação, instruções de cálculo de tecelagem e contextos de separação distância/criação,“ revela Oles. “A coisa principal que pode melhorar a performance são as instruções de cálculo de computação. Nos dias de hoje, os jogos gastam a maior parte do fotograma a fazer os variados tipos de pós-processamento. A via fácil para extrair alguma performance é reescrever esse pós-processamento via computação. Mesmo as simples névoas podem ser quase o dobro mais rápidas. Por exemplo, nós reescrevemos o nosso código de profundidade de campo, para melhorar imensamente a qualidade mantendo na mesma um rácio de fotogramas jogável. [Em Metro 2033] todas as coisas ‘orgânicas’ como humanos tecidos, e os monstros usam mapeamento de movimento real, para vastamente melhorar os visuais.”
Olhando para as especificações do motor publicadas na Digital Foundry, existem muitas similaridades em termos de tecnologia com o épico Killzone 2 da Guerrilla Games: basicamente a base a que todos os programadores devem almejar na realidade das consolas no que diz respeito aos shooters na primeira pessoa. O motor da Guerrilla é deveras impressionante, preparado completamente para as forças específicas do equipamento Sony, mas Shishkovtsov avalia a sua performance de uma perspectiva diferente.
"A sua implementação parece ser pessimamente optimizada," observa. "Caso contrário porque é que eles tem mapeamento de luz pré-calculado? Porque é que iluminam coisas dinâmicas de forma diferente do resto do mundo com coisas similares do tipo esferas de luz? Pela nossa experiência precisas de pelo menos 150 fontes de luz completas para que os ambientes interiores tenham um aspecto bom e natural, e muitas mais para realçar coisas como olhos, etc. Parece que eles simplesmente falharam esse objectivo de performance."
Ao jogar Metro 2033, a enorme quantidade de fonts de luz renderizadas com a linha de canos de sombreamento diferido definitivamente parece relembrar o shooter da Sony, que usa a sua própria solução diferida de renderização.
"Falando da perspective Metro 2033, foi uma escolha fácil," responde Shishkovtsov. "O jogador passa mais de metade do jogo no subterrâneo. Isso significa túneis escuros e salas com pobre iluminação. Não existem recursos de electricidade à parte dos geradores. Da perspectiva do motor – para o tornar visualmente interessante, convincente e entusiasmante – precisávamos de uma enorme quantidade de deveras pequenas locais fontes de luz. Iluminação diferida é a solução perfeita."