DESTAQUESROCK GEEK

Rock Geek: Brasileiro dá um “fatality” em bug de God of War 3 e Ascension no PC

Tem bug que aparece, você reinicia o jogo e ele vai embora. E tem bug que resolve fazer residência fixa. No caso de God of War 3 e God of War: Ascension, um problema gráfico acompanhava os dois clássicos do PlayStation 3 há tempos na emulação para PC.

Agora, a história ganhou um final feliz — e com sotaque brasileiro.

Um programador conhecido como Yahfz conseguiu identificar e corrigir a falha que fazia os dois jogos apresentarem problemas gráficos no RPCS3, um dos principais emuladores de PS3 para PC.

A arquitetura bastante peculiar do PlayStation 3 continua sendo um baita desafio para quem trabalha com emulação. Por isso, mesmo anos depois de seus lançamentos, alguns jogos importantes ainda enfrentam obstáculos para funcionar corretamente fora do console original.

IBAGEM 3 RPCS3

Imagem: Adrenaline

Kratos estava enxergando o mundo em modo psicodélico

Antes da correção, God of War 3 e God of War: Ascension apareciam como “Ingame” na lista de compatibilidade do RPCS3.

O motivo? Os dois apresentavam bugs gráficos consideráveis.

Em God of War 3, determinadas áreas ficavam tomadas por uma espécie de névoa amarelada, alterando completamente a aparência das cenas.

Já em God of War: Ascension, o problema atingia o céu, que podia assumir cores incorretas, incluindo tons alaranjados e azuis.

Basicamente, Kratos queria enfrentar deuses e monstros, mas acabava tendo que lutar também contra a paleta de cores.

O problema não era exatamente a textura

Yahfz já havia colaborado anteriormente com o RPCS3 e continuou acompanhando o desenvolvimento do projeto. Em entrevista ao CanalTech, o programador explicou como chegou à raiz do problema.

No começo, tudo indicava que a culpa poderia estar relacionada às cores ou texturas. Mas uma investigação mais detalhada mostrou que o verdadeiro vilão estava escondido em outro lugar.

“No começo tudo indicava algum problema com as cores ou texturas, mas depois de investigar consegui descartar isso e o problema real acabou sendo bem mais interessante.”

A origem estava em uma conta matemática utilizada durante o processo de renderização.

O cálculo realizado pelo jogo produzia um resultado ligeiramente diferente daquele obtido no PS3 original quando executado em GPUs modernas.

E esse “ligeiramente” era realmente minúsculo.

Uma diferença microscópica que virou uma bola de neve

Segundo Yahfz, a diferença no cálculo era tão pequena que, isoladamente, praticamente não faria diferença.

O problema é que esse resultado era utilizado novamente em outras contas durante a renderização.

Aí começou o efeito dominó.

A pequena diferença inicial ia sendo carregada para os cálculos seguintes e provocava desvios cada vez maiores. Em determinado momento, o resultado ultrapassava um limite específico.

E era aí que o jogo dizia, em essência: “beleza, então joga uma névoa amarela nisso”.

Segundo o programador:

“Quando passava desse limite, o próprio jogo mandava renderizar aquela névoa amarela.”

Ou seja, o bug não era simplesmente uma textura quebrada. O próprio jogo estava recebendo um resultado matemático diferente e, seguindo sua lógica interna, acabava acionando aquele efeito visual.

Yahfz foi atrás do cálculo original do PS3

Depois de descobrir o que estava acontecendo, o programador investigou como o PS3 original realizava aquele cálculo.

Com essa informação, foi possível reproduzir no emulador o comportamento esperado e, finalmente, corrigir o problema gráfico presente nos dois jogos.

É um daqueles casos em que o bug parece simples para quem está jogando, mas por trás da cortina existe uma verdadeira ópera matemática acontecendo.

E Kratos agradece.

Por que o RPCS3 demora tanto para declarar um jogo “jogável”?

Existe ainda uma curiosidade importante sobre o RPCS3.

Segundo Yahfz, os critérios utilizados pelo projeto para classificar um game como “jogável” são atualmente mais rigorosos do que os padrões que existiam para alguns títulos na época do próprio PlayStation 3.

O programador lembra que muitos jogos do console apresentavam problemas de desempenho mesmo no hardware original.

“As pessoas não lembram o quão mal os jogos de PS3 rodavam, nossos padrões eram muito mais baixos naquela época.”

No RPCS3, um título só recebe a classificação de “Playable” quando pode ser concluído sem problemas relevantes de desempenho ou bugs gráficos muito evidentes.

Ou seja: não basta o jogo abrir e funcionar mais ou menos. A régua da comunidade de emulação está bem mais alta.

O problema? Aquele processador amaldiçoado

Yahfz também aproveitou para elogiar o trabalho de otimização do RPCS3, mas não perdeu a oportunidade de cutucar justamente o maior pesadelo dos desenvolvedores de emulação do PS3: o lendário e complicado processador Cell.

“Modéstia à parte, arrisco dizer que o RPCS3 é provavelmente o emulador mais otimizado que existe atualmente, mas infelizmente nós fomos amaldiçoados com o processador do PS3.”

E não é difícil entender a reclamação.

A arquitetura do Cell ajudou o PlayStation 3 a ser um hardware extremamente peculiar, tornando a emulação uma tarefa que exige uma combinação de engenharia, paciência e provavelmente alguns litros de café.

Agora, graças ao trabalho do programador brasileiro, dois dos maiores jogos da franquia God of War estão mais próximos de entregar no PC uma experiência visual muito mais fiel ao que os jogadores encontravam no console da Sony.

Kratos pode continuar bravo com os deuses. Pelo menos agora ele não precisa ficar bravo com uma névoa amarela aparecendo do nada.

Post Relacionados
DESTAQUESNOTÍCIAS

Bob Dylan: box set reúne quase 40 discos e 371 gravações inéditas

Bob Dylan resolveu abrir o baú — e aparentemente esqueceu de colocar um limite no tamanho da…
Leia mais
DESTAQUESROCK GEEK

Rock Geek: Sony prepara novos headsets PlayStation Pulse e Pulse Edge

Se você é do tipo que escuta um passo no corredor virtual e já começa a procurar de onde vem o…
Leia mais
DESTAQUESNOTÍCIAS

Metallica: M72 World Tour ganha novas datas na América do Norte em 2027

O Metallica apertou novamente o botão do modo “turnê sem fim”. A banda anunciou uma nova…
Leia mais