Crytek: a nova geração
Digital Foundry fala sobre o CryEngine, PlayStation 4, Xbox One e Ryse com Cevat Yerli.
Nos nossos testes a gráficas, existe aquele jogo que é o "tal" quando analisamos a performance em gameplay: Crysis 3. O mais recente da Crytek é uma demonstração tecnológica: um dos poucos jogos construídos com a nova geração em mente, e o melhor teste de esforço para as mais recentes tecnologias GPU da AMD, Nvidia e Intel. Com as novas consolas quase a chegar, abordamos a Crytek para falar sobre tecnologia - para discutir como o seu motor multi-plataformas foi convertido para a nova geração, qual a visão da companhia sobre a nova arquitetura Sony e Microsoft, e claro para colocar algumas questões sobre Ryse.
Existem aqui coisas interessantes, e até nos atrevemos a dizer, controversas. Os puristas da qualidade de imagem não vão ficar muito contentes por ver outro estúdio a assinalar a morte da multi-sampling anti-aliasing em prol de alternativas temporais e pós-processamento, enquanto muitos jogadores dedicados não ficaram entusiasmados por detrás do pensamento da companhia em colocar os 30fps como o padrão preferido para gameplay em consola. E sim, temos um estúdio Xbox One que nos diz que os lançamentos multi não serão muito diferentes entre as duas novas consolas - uma linha de discussão que não cai muito bem entre alguns. Independente disso, ao longo das questões, existe fascinante informação nova aqui - como a passagem da arquitetura PowerPC para x86 muda radicalmente a forma como os estúdios codificam e otimizam os seus jogos, e uma franca avaliação do poder CPU em bruto das novas consolas, a ESRAM da XO e o equipamento áudio, e o objetivo da Crytek para trazer para a renderização em tempo real os visuais de qualidade CG.
Mas antes de começarmos, é precisa alguma informação. As entrevistas tendem a assumir três formas diferentes - frente a frente, ao telefone, ou como no caso aqui, uma Q+A por email. A boa notícia é que o próprio Cevat Yerli - fundador, CEO e presidente da Crytek - apresentou-se para abordar as nossas questões. A não tao boa notícia é que demorou muito para as respostas chegarem, daí nos referirmos ao CryEngine 3 e ao seu sucessor quando foi revelado na Gamescom que são o mesmo (e que o número desapareceu), antes da Microsoft ter anunciado que Ryse corre numa resolução abaixo de 1080p, e muito tempo antes da apresentação de Yerli no DICE 2013 onde revelou um conjunto de novas melhorias visuais para o título de lançamento da XO.
Ryse é importante como o nosso primeiro olhar a como o CryEngine opera na consola de nova geração, mas esta entrevista foca-se mais em como conseguiu a Crytek a transição de um dos motores multi mais avançados para novo equipamento, e o que podemos esperar da tecnologia no futuro. E quanto a uma trilogia Crysis no máximo em consola de nova geração? Infelizmente, por muito que adorássemos que acontecesse, a Crytek nada comenta...
"Com suporte DX11 e 64-bit como parte central do motor, a transição para a XO e PS4 foi bem direta e as novas consolas acabaram por cumprir com as nossas expetativas técnicas."
Ambas as consolas tem uma GPU capaz de DX 11.1+ com completo suporte para shader computacional o que nos permite criar novas e criativas técnicas de renderização não possíveis antes. As GPUs são muito eficientes na execução de operações matemáticas e as CPUs, em contraste com as anteriores arquiteturas PowerPC, tem funcionalidades PC padrão como execução out-of-order e predição de ramificação. Tudo isto reduz a necessidade para micro-otimização e permite-nos focar mais em algoritmos de alto nível que geralmente são a parte mais recompensadora do desenvolvimento. Também estamos ansiosos para ver o que a PS4 irá oferecer em termos de capacidades computacionais online, e a estratégia apresentada para o suporte na nuvem para a XO será certamente interessante em termos de poder computacional para jogos de nova geração. Também penso que a decisão da Microsoft em incluir o Kinect como padrão é algo positivo, evita a fragmentação do mercado e permite aos estúdios tratar a sua funcionalidade como algo garantido.
A memória disponível é uma melhoria massiva comparado com o menos de 512MB que tínhamos antes e torna a nossa vida muito mais fácil. No entanto, apesar do nosso melhorado sistema de streaming, conseguimos preenche-lo facilmente e eventualmente tivemos que trabalhar na otimização do tamanho de bens.
Com o suporte DX11 e 64-bit como parte central do motor, a transição para a XO e PS4 foi bem direta e as novas consolas acabaram por cumprir com as nossas expetativas técnicas. Segundo sabemos, na E3 deste ano Ryse foi o único jogo de nova geração presente que corria num motor com licença comercial. Sentimos que isso justificou a nossa declaração de há alguns anos que o CryEngine esta pronto para a nova geração.
A transição para a nova geração está a ser suave, e apesar da corrente de trabalho e ferramentas estarem nas suas fases iniciais, são melhores atualmente do que eram no início do ciclo da última geração. Devido a especificações melhoradas e ambiente de desenvolvimento familiar estilo PC, os programadores receberam uma bem-vinda melhoria geral. Isto tem sido mesmo benéfico, e libertou-nos para passarmos muito mais tempo em conseguir o melhor do sistema.
Ambas as plataformas de nova geração tem especificações excelentes e providenciam ganhos uma sobre a outra numa variedade de áreas. Mas, ambas vão correr jogos de nova geração mais ou menos na mesma qualidade devido aos retornos diminutos na otimização para estas pequenas diferenças. Dito isto, títulos exclusivos podem ser capazes de tirar proveito destas ligeiras variações tanto na XO como na PS4.
"A computação GPU é definitivamente o futuro. A performance CPU é melhor que na anterior geração mas não por uma grande margem, a GPU pelo outro lado é uma melhoria realmente palpável."
A computação GPU é definitivamente o futuro. A performance CPU é melhor que a da geração anterior mas não por uma grande margem, a GPU pelo outro lado é uma melhoria realmente palpável. Se a tarefa for adequada para ela, passar para a GPU pode ser um incrível ganho na performance. No entanto, isto é retirar performance da tradicional conduta gráfica portanto existe um limite ao que podemos mover para a GPU. Quanto à mais abrangente questão multi, suportar computação GPU não é realmente muito mais difícil do que suportar renderização multi, portanto é certamente que vamos usar mais e mais em todas as plataformas.
Uma CPU de um núcleo infinitamente rápida a correr o jogo num só filamento tornaria as coisas mais simples. No entanto, esses dias há muito que passaram e os motores precisam adaptar-se bem a vários núcleos CPU para os jogos correrem rápidos em alta qualidade; quer dizer, precisam ser capazes de executar múltiplos trabalhos ao mesmo tempo sem introduzir um tempo de espera significante e custo de sincronização. O CE3 tem-se saído bem a esse respeito e foi ainda mais melhorado com o tempo e para Ryse em particular. Graças a isso um rácio de relógio CPU menor é aceitável desde que existam núcleos suficientes para os quais descarregar tarefas através do nosso sistema de trabalhos.
O envolvimento da AMD nas novas consolas irá certamente trazer alguma compatibilidade melhorada para o PC gaming, pois muitas otimizações serão introduzidas no desenvolvimento de consolas que vão beneficiar arquiteturas PC gaming AMD. Mas acredito que essas melhorias na compatibilidade terão na mesma um efeito limitado.
Jogadores de consolas de nova geração vão agora conhecer jogos PC de alta qualidade, com resoluções maiores, bens mais complexos, e melhores técnicas de renderização que resultam todos em experiências de jogo mais ricas e envolventes. Um aspeto chave de ter consolas de classe DX11 e melhor equipamento é que nos permite colocar uma nova base para desenvolvimento de conteúdo de topo, e podemos descartar as restrições da geração mais velha. Estamos muito entusiasmados com este aspeto em particular das novas consolas.
As tecnologias principais para a nova geração são DDX11 e 64-bit. O CryEngine tem suportado completamente ambos desde Crysis 2. Devido a isso, pôr a primeira versão de Ryse a correr em kits XO iniciais foi relativamente fácil e levou-nos menos de uma semana de trabalho focado. Novamente, o facto de Ryse provavelmente ser o único jogo de nova geração num motor comercialmente licenciado na E3 2013 é prova do quão fácil foi usar o CE para a nova geração.
"A MSAA está rapidamente a tornar-se orientada para a largura de banda e assim sendo cara. Com um renderizador baseado em shading diferido o consumo da largura de banda está a tornar-se proibitivamente alto."
Os estúdios tem sempre que escolher se vão para 60 ou 30fps, dependendo do tipo de jogo e complexidade do projeto. Em Ryse, queríamos uma experiência muito emocional com uma iluminação complexa e dramática, ambientes de alta fidelidade, e personagens ricos com animações ricas. Portanto 30fps foi a nossa escolha, e acreditamos que a maioria dos estúdios vão optar por mundos mais ricos a 30fps do que a 60fps - o que iria criar compromissos, pois 60fps exige o dobro da quantidade de velocidade de renderização computacional. Os 30fps são um padrão que está acima, por exemplo, do que a maioria dos cinemas usam para apresentar filmes. Demos iniciais com experiências em rácios de fotogramas maiores mostraram que os jogadores e espectadores tem uma opinião mista da qualidade - por exemplo, como foram recebidas as experiências cinematográficas a 48fps. Portanto é uma escolha de design de produção assim como pesquisa de utilizador.
Colocamos os nossos alvos de renderização mais acedidos como os alvos G-Buffer na ESRAM. Escrever na ESRAM produz um considerável aumento na velocidade. Apesar de 32MB poderem não ser suficientes para algo como MSAA no máximo, com uma inteligente estratégia de gestão de memória é possível lidar com isso.
Temos muitas funcionalidades novas em Ryse. Na renderização o foco principal foi passar para paradigmas mais físicos mas temos muitas melhorias para animação e físicas também. Por exemplo, todas as partes de armaduras e roupa movem-se dinamicamente mas também pré-concebemos simulações complexas agora para as repetir em tempo real.
Essencialmente o equipamento executa cálculos nos dados áudio, gerindo a descodificação do áudio que está codificado em XMA, propriedade da Microsoft, algoritmo de compressão desenhado para áudio em jogos, codificação/descodificação. Tira peso dos núcleos principais do processamento ao usar este processador otimizado, que é aproximadamente duas vezes mais poderosos que o da 360, o que significa que temos um maior número de vozes, ou seja mais sons ao mesmo tempo. Também suporta arquitetura de som surround 7.1, que melhora imenso a localização 3D de sons e dos ambientes áudio envolventes que criamos para Ryse.
O move engine da XO provou ser bem útil para nós ao acelerar o streaming de dados de texturas, etc. O quanto isso se porta no geral e se compara com as proezas dos motores computacionais da PS4 ainda terá que ser visto e provavelmente depende do tipo específico de jogo que queres construir.
A MSAA está rapidamente a tornar-se direccionada para a largura de banda e assim sendo cara. Com um renderizador baseado em shading diferido o consumo da largura de banda está a tornar-se proibitivamente alto. Para Ryse desenvolvemos uma SMAA 1TX personalizada, essencialmente combina AA morfológica com uma anti-aliasing temporal mais inteligente. É uma nova e bem robusta técnica da qual partilhamos alguns detalhes no Siggraph este ano. É uma solução que lida com quaisquer mudanças no sinal de introdução para suavizar potencial cintilar durante movimento, enquanto disfarça qualquer potencial ghosting, e juntamente com soluções aliasing shading providencia uma qualidade geral de imagem mais cinematográfica.
As consolas de nova geração providenciam uma excelente plataforma para qualquer estúdio para PCs de ponta. Naturalmente, daqui a alguns anos, os estúdios para consolas vão tirar mais da nova geração de consolas e deveremos ver um grande salto nas otimizações providenciando melhores experiências de jogos em consola. A escolha tomada atualmente por alguns estúdios de converter do PC para consola, na nossa opinião, apenas aconteceu porque o ambiente de desenvolvimento no PC é muito estável, e construir um título de lançamento é muito desafiante - devido ao facto da consola em si não estar terminada até mais tarde no processo. Portanto é uma decisão baseada não na performance, mas no conforto.
Pensamos mesmo que a nova geração de consolas irá subir o nível no mercado do PC gaming para muitos outros estúdios, e sempre fomos grandes defensores do PC gaming. Os estúdios serão capazes de maximizar o seu investimento devido à arquitetura estilo PC das consolas. Portanto devemos ver um grande aumento na qualidade em todos os jogos multi que apareçam no futuro.
Num mundo ideal, a GPU e a CPU estariam a aceder e a partilha o completo espaço de endereço da memória para realmente fechar a diferença entre jogos de PC e consola. Além de terminar com a diferença, iria simplificar muitos desenvolvimentos em gráficos, na computação e também acelerar no geral muitas operações pesadas em dados. No entanto, no PC estamos restritos aos padrões DX ou OpenGL para muitas das mencionadas operações. Enquanto a MS ou a OpenGL ARB não atualizem estes padrões, os estúdios estarão limitados ao que tem. Vemos que a OpenGL está a ganhar terreno, mas a DX11 recebeu uma pequena atualização e algum terreno no PC. Penso que o uso da DX11 foi aumentado apenas pelo surgir das consolas de nova geração. Portanto todos queremos, essencialmente, uma arquitetura unificada para jogos PC e consolas, junto a ferramentas de desenvolvimento unificadas, ou, melhor ainda, acesso abaixo das camadas abstratas de uma forma unificada.
Bem, é bom ouvir alguém a reconhecer isso finalmente, portanto obrigado! Muitos dos componentes principais usados para renderização física foram disponibilizados no CE desde Crysis 2. Isto inclui iluminação por imagem com mapas ambientais pré-concebidos e BRDF normalizada. No entanto, para Ryse começamos a trabalhar mais na consistência de todas estas funcionalidades e como interagem uma com a outra dentro do filamento de renderização. Também voltamos a trabalhar imenso no nosso encadeamento de arte para reforçar esquemas plausíveis de materiais e evoluímos o encadeamento da iluminação para ter a certeza que a integridade dos materiais é preservada até à saída do fotograma final.
"O futuro não será apenas sobre o realismo, mas também sobre novos tipos de expressão artística. Os próximos anos serão tempos fantásticos para a comunidade PC e jogadores de consola."
Em Ryse usamos sondas de luz (iluminação por imagem) pois estas funcionam muito bem com renderização física, e, acima disso, os nossos artistas queriam ter controlo total sobre um aspeto cinematográfico, portanto desenvolvemos uma técnica de luz refletora colocada manualmente. Também temos soluções muito melhoradas para oclusão ambiental (a nossa quinta geração) e reflexos locais em tempo real. Com o poder limitado das novas consolas, IG em tempo real a 100 por cento é um desafio, mas pensamos que pode ser possível. A questão mais importante é se os diretores de arte desejam perder o seu controle. Designs de produções de topo a trabalhar com animação CG de ponta geralmente aplicam um sistema de iluminação controlado muito artisticamente. Se o desejo é iluminar uma cena para ser foto-realista, então esta pode ser a escolha. Se queres uma experiência cinematográfica ou estilo de iluminação, a IG completa pode não ser desejável.
Atualmente não podemos comentar sobre quaisquer outros projetos de nova geração além de Ryse.
No futuro, como anunciamos na Gamescom, deixamos os números no CryEngine e vamos continuar a fornecer o motor como um serviço atualizado frequentemente para os estúdios. O CE irá sempre evoluir e melhorar. Existem muitas direções de pesquisa além da renderização e shading completamente físicas, e ainda temos muito trabalho antes de chegar a um mundo cinemático/foto-realista que é consistente em todas as áreas. A animação de personagens, por exemplo, tem um longo, longo caminh pela frente antes de alcançarmos qualidade realista e credível em todas as frentes. O futuro não será apenas sobre realismo, mas também sobre novas formas de expressão artística. Os próximos anos serão tempos fantásticos para a comunidade PC e jogadores de consola. Numa apresentação minha sobre o futuro dos gráficos de computador em 2008, disse que as novas consolas chegariam em 2012/2013, e que receberíamos a renderização de jogos com qualidade CG. Estas consolas vão providenciar-nos com uma linha base para não só oferecer isso, mas para também ao longo dos anos ir mais além disso. Iremos reduzir a diferença mais e mais entre animação CG que as pessoas vêem e jogos de qualidade CG que podem jogar.