Erro em emulador do PS3 travava God of War no PC; brasileiro resolve o problema

Há 18 anos, Metal Gear Solid 4: Guns of the Patriots chegava ao PlayStation 3 sem saber que ficaria preso no sistema por quase duas décadas. Graças à CPU do PS3, o jogo de Hideo Kojima se tornou quase uma lost media para jogadores modernos, em especial para aqueles que nunca encostaram no hardware de sétima geração da Sony.

Felizmente, há iniciativas de comunidades como a de emulação, que tornam Metal Gear Solid 4: Guns of the Patriots e outros jogos presos no PlayStation 3 jogáveis no PC. Este é o caso do RPCS3, emulador de PS3 que completou 15 anos de existência e recentemente incluiu God of War 3 e God of War: Ascension em sua vasta lista de compatibilidade com jogos do sistema.

No total, o RPCS3 consegue rodar 77,25% da biblioteca de forma ideal, sem bugs e de maneira relativamente estável, o que agora inclui todos os jogos de God of War do PS3. O feito foi possible graças aos esforços do desenvolvedor brasileiro e especialista em hardware conhecido como Yahfz.

"O RPCS3 sempre me chamou a atenção especificamente pela complexidade do PS3 e pela quantidade de poder de processamento que precisava pra emular ele", conta o desenvolvedor em entrevista ao Canaltech. Formado em Ciência da Computação, ele integrou o time do emulador no início de 2017, mas já conhecia o projeto muito antes, e é responsável por garantir que o emulador rode de forma fluida em todas as plataformas possíveis. "Como hardware e performance sempre foram coisas que me interessaram, foi bem fácil querer fazer parte do projeto."

God of War 3 e God of War: Ascension chegam ao Olimpo da emulação

O time por trás do emulador de PlayStation 3 costuma ser bem rigoroso quando o assunto é definir um jogo como jogável no software. "Não basta você simplesmente conseguir completar o jogo", explica Yahfz. Segundo o dev, é necessário que o jogo de PS3 rode no RPCS3 do início ao fim, sem problemas que impeçam a progressão ou bugs gráficos graves, e com uma performance adequada.

God of War 3

Para rodar o emulador de maneira satisfatória, é necessário estar equipado com um processador AMD Ryzen 5 5600 ou Intel Core i5-10400, placas de vídeo AMD RX 5600 XT ou NVIDIA RTX 2060, e 16 GB de RAM. Há outras configurações que podem ser encontradas no site oficial do RPCS3.

Yahfz explica que os critérios de performance do emulador são muitas vezes mais rígidos do que os do próprio PS3 na época. Ele usa como exemplo os jogos Red Dead Redemption e Sonic Unleashed, dois títulos que sofriam com quedas bruscas de FPS no console da Sony. "As pessoas não lembram o quão mal os jogos de PS3 rodavam, nossos padrões eram muito mais baixos naquela época", afirma o programador.

God of War 3 e God of War: Ascension são excelentes provas de como a equipe do RPCS3 é criteriosa. Ambos os jogos protagonizados por Kratos não estavam incluídos na lista de jogáveis do emulador, embora fossem "bem jogáveis" em processadores mais parrudos.

No entanto, os títulos apresentavam bugs que os rebaixavam. Em GoW 3, algumas cenas ficavam cobertas por uma névoa amarela. Já em Ascension, o céu ficava com cores diferentes das originais, puxando para laranja e azul. "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", conta Yahfz.

O desenvolvedor identificou que o PlayStation 3 e uma placa de vídeo moderna estavam chegando a resultados diferentes ao fazer uma mesma conta, "e quando eu digo ligeiramente, era uma diferença minúscula mesmo", completa.

PlayStation 3

"Em uma dessas contas o PS3 chegava exatamente ao número 2, enquanto no PC o resultado ficava uma fração minúscula acima de 2", explica Yahfz. Ele ainda esclarece que, em situações normais, essa diferença não seria tão impactante. Contudo, os jogos utilizavam o número acima em outras contas, o que amplificava a diferença e passava de um certo limite.

"Quando passava desse limite, o próprio jogo mandava renderizar aquela névoa amarela", destaca. Yahfz corrigiu o problema ao confirmar como o hardware original calculava o número: "Carreguei a mesma cena de novo, e a névoa amarela tinha sumido". Sua descoberta permitiu que todos os jogos de God of War do PlayStation fossem preservados e jogáveis via emulação no PC, o que é um grande feito.

"Acho que esse bug é um exemplo bom de como emulação pode ser complicada. Pra quem tá jogando o problema é simplesmente 'o céu tá amarelo', mas por trás disso a causa era uma diferença microscópica em uma conta matemática", o desenvolvedor e colaborador do RPCS3, pontua Yahfz.

A emulação do PS3 avança

Em meio a preocupações com relação ao futuro da mídia física, em especial do PlayStation, já que o XBOX anunciou um recurso para "preservar" jogos em discos, o avanço dos emuladores e das recompilações é visto com muito bons olhos.

A Sony ficou marcada pela falha retumbante na geração do PS3, em especial pela escolha de um processador que aprisionou jogos como Metal Gear Solid 4 por tantos anos. A empresa também tem falhado em criar recursos e uma biblioteca retrocompatível, área na qual a concorrência está a anos-luz de distância.

"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", conta Yahfz. Para contexto, o desenvolvedor exemplifica que, se a equipe por trás do emulador tivesse que emular o XBOX 360 e o código fosse tão otimizado quanto o RPCS3, "nenhum jogo teria problema de performance com o nosso hardware recomendado, com certeza até com menos".

RPCS3

Vale lembrar que o RPCS3 roda cerca de 77,5% da biblioteca do PS3 de maneira satisfatória, o que representa mais de 1,9 mil jogos disponibilizados no sistema. "Mesmo se todos os desenvolvedores parassem de trabalhar no RPCS3 hoje, o emulador já estaria em um estado extremamente bom", afirma o desenvolvedor ao comentar o momento da emulação do PlayStation 3.

Segundo ele, a maioria dos títulos que ainda não são classificados como jogáveis trata-se de performance abaixo dos critérios do time de devs ou jogos online que exigem um servidor dedicado para funcionar.

Também há toda uma preocupação em manter o emulador acessível a hardwares razoáveis. "Não faria muito sentido considerar um jogo 'jogável' se pra isso você precisasse ter o processador mais caro e rápido que existe", completa Yahfz.

A expectativa é que mais jogos do PlayStation 3 e de outros sistemas fiquem disponíveis e acessíveis para todos ao passo que a emulação evolui e ganha novos ares. Podemos ver isso na nova corrida por um emulador de PS5 no PC, que avançou em tempo recorde ao passo em que o lançamento de GTA 6 se aproxima.

Para quem ficou interessado em rodar títulos aprisionados no PS3 via emulação, o Canaltech produziu uma lista de 8 jogos que ficaram presos no PlayStation 3.

{{WHATSAPP_CHANNEL}}