Análise à Performance: No Man's Sky
Primeiras impressões do Digital Foundry.
No Man's Sky está finalmente disponível e em termos de performance, o jogo aguenta-se bem. As primeiras impressões são boas: não vimos um jogo como este até agora nesta geração - o motor recorre a voxels e geração processual para criar uma jornada aberta e única para cada jogador. Sobre a análise à performance, não podemos dizer que vão encontrar o que não encontrámos. Iremos actualizar com mais impressões mas jogámos No Man's Sky - com a actualização 1.03 claro - para ter um gosto de como funcionam as mecânicas.
A versão PlayStation 4 corre a nativa 1080p e o seu alvo são os 30 fotogramas por segundo com v-sync. Aguenta-se muito bem. Em qualquer caminhada pelo nosso primeiro planeta aleatório, não encontramos quedas. E isto já é significativo - o nosso primeiro planeta era rico em flora e fauna, repleto de árvores tropicais, montes e vida selvagem. Mesmo com esta imensa densidade de detalhe, não registámos uma única queda dos 30fps na primeira hora de jogo.
Seja a disparar pelo terreno, ou a correr, mantém os 30fps. E dos primeiros 12 planetas que descobrimos e testámos, parece que não importar o clima ou condições climatéricas presentes. O único contra no bloqueio do rácio de fotogramas é a falta de motion blur, para tornar os movimentos em que olhamos pelos cenários mais suaves. É um pequeno detalhe: os que querem movimento super suave devem esperar pela versão PC, mas a PS4 oferece fotogramas equilibrados, a firmes 30fps.
Isto aplica-se pelo menos a uma metade do jogo - as secções a pé, onde passas a maior parte do tempo. Mas a outra metade é passada na nave, onde o motor é testado. Na maior parte terás 30fps firmes, mesmo em áreas vibrantes e complexas como no nosso primeiro planeta. Basicamente, parece que tudo o que é gerado processualmente antecipadamente corre bem até certo ponto, e o mesmo vale para viagens no espaço.
Mas surgem grandes quedas quando puxas pelo motor, especialmente em rápido movimento perto do chão enquanto na nave. Os rácios de fotogramas podem afundar quando aterras num novo planeta, e depois quando corres pela sua superfície. Neste caso, a PS4 tem dificuldades em alcançar o tempo de renderização de 33.3ms por fotograma, enquanto gera novo cenário e detalhe no momento. São cálculos feitos num instante antes de revelar novo terreno ou objecto, e quando não consegue acompanhar, temos quedas para a linha dos 20fps, e por vezes inferior.
É algo que vimos nas demos do jogo e ainda é um problema na versão final. Curiosamente, não se deve necessariamente à complexidade do ambiente - e mesmo uma área com bastante água pode mandar o jogo para os 15fps - uma queda para 13fps é o pior. Isto dura enquanto estiverem a puxar pelo motor e seguirem a toda a velocidade numa só direcção. Mas assim que dão uma volta de 180 graus e regressam, ou abrandam, tudo volta para 30fps firmes. Daqui, os problemas desaparecem.
Por isso existe uma correcção, mas porque é que acontece? Bem, a lógica sugere que a abordagem processual à criação do mundo em No Man's Sky é conduzida pela CPU. Tudo tem que ser calculado em paralelo. Estas quedas são essencialmente uma contra-partida para não ter tempos de carregamento, e deixar que tudo seja gerado sem interrupções. É uma distracção claro mas é precisa uma acção deliberada para que aconteça. Também é fácil recuperar o jogo para os 30fps e vale a pena aturar para desfrutar da abordagem única e sem interrupções à exploração.
São excepções - a maioria do jogo corre a perfeitos 30fps. É um jogo espantoso e o nível de geração processual é imenso: No Man's Sky ocupa apenas 3.6GB no disco da PS4 devido ao uso mínimo de bens pré-fabricados. É realmente o algoritmo que faz tudo, e estamos ansiosos para ver o quão variadas serão as descobertas.
Fora estes momentos de esforço, a lição é que No Man's Sy tem boa performance na PS4 na maioria do tempo mas será interessante ver a versão PC. O jogo parece glorioso a 60fps, algo que poderás ver neste vídeo do IGN de Abril de 2016. Teremos mais sobre a versão PC em breve.