Assassin's Creed vs. PlayStation Vita
Nos bastidores de como foi espremido o motor AC3 para a portátil Sony.
Numa continuada série em explorar o poder da PlayStation Vita, o Digital Foundry falou com a Ubisoft Sofia - estúdio de Assassin's Creed 3: Liberation. Este exclusivo Vita é um trabalho espantoso, traduz com sucesso a completa experiência Assassin's Creed e o motor AnvilNext que lhe dá vida para uma portátil.
É um jogo fascinante por várias razões - uma delas o empenho da Ubisoft em produzir um novíssimo título da série de raiz para a portátil, com novos locais e um elenco fresco. Onde outros estúdios inferiorizaram os seus jogos PS3 e Xbox 360 para correr na Vita, o Ubisoft Sofia fez o melhor de uma oportunidade fantástica - moldaram todo o seu jogo em redor das forças e fraquezas do equipamento Sony, ao mesmo tempo deram aos jogadores AC3 PS3 uma compra para acompanhar completamente separada e distinta do jogo principal.
Isso não quer dizer que o jogo é um triunfo completo, como a análise Eurogamer explora. A resolução foi afectada, não existe anti-aliasing e o rácio de fotogramas é variável no mínimo - como vão ver nos vídeos em baixo. Do ponto de vista conceptual, também podemos dizer que algumas das ideias - incluindo múltiplos "disfarces" para a heroína Aveline - falham um pouco. Num jogo que recorre tanto à mecânica de free-running, largas secções de jogo tornam-se um pouco frustrantes quando o parkour te é retirado. Mas onde conta, este é mesmo um jogo Assassin's Creed e apesar das suas falhas, é um dos nossos jogos favoritos da Vita.
Nesta profunda entrevista, os directores técnicos do Ubisoft Sofia, Mikhail Lozanov, Ivan Azmanov e Stefan Dyulagerov juntamente com os artistas principais Biser Parashkevov e Borislav Bogdanov falam-nos sobre a criação de um dos mais jogos mais ambiciosos tecnologicamente do mercado móvel de hoje..
A Sony fez um bom trabalho para extrair performance de equipamento móvel, com programas bem escritos. Melhorias na performance da sua biblioteca foram substanciais comparadas com outros vendedores móveis a correr equipamento similar.
No início do projecto testamos a Vita com uma versão do Anvil usada num jogo AC lançado anteriormente, mas cedo compreendemos que o AnvilNext de AC3 apresentada capacidades e oportunidades bem maiores quando combinado com o equipamento Vita. Aí mudamos para esse motor assim que possível.
"Acesso directo ao equipamento estimula os estúdios a criar um aspecto e sensação únicos nos seus jogos - podia ser comparado aos dias inicias das demos - cria o que pensas ser impossível."
Claramente o processador é mais lento que o das consolas caseiras actuais mas a arquitectura interna do motor beneficia ao ter múltiplos núcleos. No entanto, não ser capaz de aceder ao quarto núcleo afectou a forma como submetemos tarefas a estes núcleos - tivemos que introduzir optimizações de novo algoritmo e passar para SIMDalgumas partes. As maiores optimizações vieram com a poupança de cálculos desnecessários ou pelo menos não os executar com tanta frequência.
Um dos maiores desafios que enfrentamos foi a simulação da vida citadina. Inicialmente não tínhamos certeza sobre quantos personagens podíamos processar na Vita, mas ao usar a execução out-of-order do processador o código da IA executou com muita eficácia. Tivemos que optimizar algumas porções do código e ligeiramente reduzir o número de personagens, mas com alguns inteligentes truques de design de jogo e nível fomos capazes de recriar a definição central da marca AC - cidades que vivem e respiram com numerosos personagens a interagir uns com os outros.
A vita é verdadeiramente uma consola de jogos dedicada. Tem controlos precisos e um equipamento poderoso. É verdade que alguns smartphones e tablets tem equipamento mais poderoso, mas não os podes usar na sua total capacidade porque esses aparelhos tem que fazer todo o tipo de outras tarefas além dos jogos - atender chamadas, receber emails etc.
O SO Vita é muito leve e não interfere com o teu jogo. Acesso directo ao equipamento garante que os estúdios podem ser mais criativos sobre como usar memória, shaders, e fazer alguns truques para iluminação mais rápida e de melhor aspecto enquanto no iOS e Android tens que usar as drivers que te são fornecidas. Infelizmente não existe outra opção portanto isto pode ser muito limitador a respeito das funcionalidades que podes implementar e também introduz outra camada que novamente reduz a performance enquanto introduz APIs padronizadas para aceder a equipamento diferente.
Acesso directo ao equipamento estimula os estúdios a criar um aspecto e sensação únicos nos seus jogos - pode ser comparado aos dias iniciais das demos - criar o que pensam ser impossível. No nosso caso isto foi afectado pela arquitectura interna das partes gráficas que não seriam possíveis em Android ou iOS.
The AC Engine and tool set are solid - we used everything barring a few exceptions. There were the usual customisations, but all of them were directly connected to Vita's specific hardware - touch screen, different texture formats, GPU shader code.
"Nunca olhamos para Liberation como uma conversão do seu irmão mais velho - foi desenhado de raiz para se encaixar nas funcionalidades Vita e na consola em si."
Converter AC3 para a Vita poderia ser comparado a meter um elefante numa caixa de fósforos. Um dos problemas que teríamos que enfrentar seria o puro número de NPCs visíveis no ecrã onde AC3 quebrou barreiras técnicas. Não haveria forma de mostrar tantos na Vita quanto nas consolas caseiras.
Outro problema que teríamos seria a iluminação e efeitos especiais - uma grande porção do aspecto do jogo é definido por eles e seriam impossíveis de igualar na mesma qualidade. Por fim e não menos importante está claro o tamanho do jogo. Não existe cartão de jogo com a capacidade de um Blu-ray (pelo menos por enquanto) portanto como metes tantos dados num cartão de jogo Vita?
Disseram-nos para entregar uma "experiência AC" completa numa portátil, e isto pode soar bem assustadores tendo em conta a complexidade de AC. No entanto, nunca olhamos para Liberation como uma conversão do seu irmão mais velho - sempre foi desenhado de raiz par encaixar nas funcionalidades da Vita e na consola em si. Como estávamos numa situação bem única - um novíssimo jogo com uma nova heroína, uma nova era e um cenário nunca antes vivido na série - isso deu-nos uma oportunidade para introduzir decisões técnicas que tiveram implicações óbvias no design de jogo e consequentemente na experiência de jogo. Isso permitiu-nos planear antecipadamente onde os vistos no processador e gráfica iriam ser usados, planear como e o que optimizar, desenhar e introduzir soluções técnicas que iriam igualar o acompanhamento.
Como começamos com o motor AnvilNext, desenhado e criado para consolas caseiras, enfrentamos um número de desafios na criação de níveis e personagens. No entanto, como estávamos a construir um jogo AC de raiz, deu-nos a visão para criar em redor desses potenciais problemas.
Para o mundo de jogo, Nova Orleães foi desenhada especialmente para funcionar com as especificações do equipamento da Vita. Por exemplo, se tivéssemos convertido Boston de AC3, o esquema teria que ser modificado de tal forma que perderíamos toda a ideia de avenidas enormes. As ruas apertadas de Nova Orleães foram um par perfeito para isto e consequentemente desenhadas especialmente para ocultar devidamente os elementos e permitir-nos colocar uma densidade gráfica e populacional muito maior. Cada casa e adereço foi desenhado, modelado e com texturas para fazer o uso com maior eficácia do equipamento Vita, por exemplo, usando mapas atlas para combinar texturas e alcançar qualidade alta e processar visuais eficientes. As colisões foram criadas com uma forma óptima para assegurar movimento fluído de Aveline em redor da cidade e do pântano. Os shaders também foram especialmente ajustados para uso óptimo da gráfica sem sacrifício à qualidade visual.
No lado da criação de personagens, a maioria das melhorias técnicas foram baseadas na necessidade de compensar optimizações de uma tecnologia já existente e ao mesmo tempo alcançar o alto nível de realização e qualidade visual. O pequeno ecrã precisou de uma nova abordagem aos detalhes portanto precisamos de contornar a ideia para alcançar personagens bem detalhados com uma boa leitura e ao mesmo tempo encaixar dentro dos orçamentos da contagem de polígonos. Para alcançar isto, largamos o uso de alfas nas texturas para libertar performance e trocar por geometria, significando que todos os detalhes que foram que estávamos habituados a criar com a ajuda do canal alfa antes foram agora modelados e integrados numa só peça de geometria.
Outra grande melhoria que melhorou a qualidade visual dos personagens foi a implementação de luz de rebordo no shader dos personagens para destacar mais detalhes e os integrar nos ambientes conseguindo consistência visual. Esta abordagem deu-nos a liberdade para iluminar ainda mais os personagens por cima da iluminação global. No campo da roupa e pele, também optimizamos o número de ossos usados por personagem e criamos vestes desenhadas especialmente para alcançar simulação realista de roupa.
"Nova Orleães foi desenhada especialmente para funcionar com as especificações do equipamento da Vita."
Usar renderização diferida foi na verdade mais eficiente e melhorou a performance geral do jogo, permitiu-nos dedicar mais poder de processamento à gameplay, vida citadina e todos os outros elementos que são o centro de um título AC completo.
Liberation é muito exigente graficamente - a quantidade de trabalho que a GPU tem que fazer é muito mais exigente nos recursos do equipamento comparado com o tradicional título iOS e Android. Portanto para alcançar e manter a maior qualidade geral decidimos reduzir a resolução pra 720x384. Também baixamos a frequência da GPU para prolongar a vida da bateria e permitir mais tempo de jogo aos jogadores em movimento.
Como não tínhamos tanto poder quanto nas consolas caseiras, tivemos que ser muito selectivos e eficientes a respeito da optimização. Algumas áreas e técnicas em que nos focamos incluem optimização de partes críticas do motor para o processador Vita (Neon), distribuindo novamente tarefas entre os núcleos, e distribuindo cálculos entre fotogramas.
As lutas são o elemento de maior stress no processador e gráfica, e dada a natureza de mundo aberto de um jogo AC existem ocasiões onde algumas contra-partidas do rácio de fotogramas foram precisas durante o combate. No entanto, consideramos isto um compromisso mais aceitável comparado com o corte de outros elementos - tais como uma cidade sem NPCs.
Também usamos um sistema de carregamento dinâmico que por vezes causava quedas no rácio de fotogramas, mas infelizmente isto foi inevitável dada a quantidade de detalhe gráfico e dados em Liberation.
O equipamento móvel para jogos está a crescer muito rápido, mas ainda existem apenas dois aparelhos portáteis dedicados a jogos. A Vita está numa boa posição porque tem todas as boas funcionalidades das consolas caseiras combinadas com funcionalidades fixes como ecrã táctil e GPS. Também pensamos que a PlayStation Network desempenha um papel enorme na posição da Vita no mercado e a Sony está a fazer um trabalho espantoso com isso. Tendo em conta a recente descida no preço, enorme catálogo da PSP, jogos PSN e PlayStation Mobile assim como o suporte de jogos AAA, que já apareceram na consola, não é difícil ver que a Vita tem um bom futuro pela frente.