Quando criança, no final dos anos 1980, o Nintendo 64 foi o primeiro console com o qual realmente cresci. Claro, tínhamos um SNES em casa, mas eu não tinha idade suficiente para jogar sem pedir ao meu pai para vencer os níveis difíceis até comprar um N64 em 1996.
E que console lendário era aquele. Super Mario 64, Banjo Kazooie, Goldeneye 007, Super Smash Bros., Ocarina of Time e Majora’s Mask – tantos títulos clássicos que permanecem uma lembrança central da minha infância.
Quando fui revisitar meus jogos favoritos mais de duas décadas depois, meus óculos de nostalgia foram totalmente destruídos. O controlador é ainda mais ruim do que eu lembrava e, para piorar a situação, o desempenho do emulador N64 empalideceu em comparação com outras plataformas retrô.
Eu desisti da emulação N64 até algumas semanas atrás, quando ouvi sobre a porta PC Majora’s Mask totalmente nativa. Isso me levou a uma profunda toca de decomposição que me deixou muito animado com o futuro dos jogos retrô em todas as plataformas, incluindo Android.
Decomp, recomp, goomba stomp
Robert Triggs / Autoridade Android
Os emuladores N64 já existem há mais de 20 anos, mas há uma enorme diferença entre emulação e descompilação. Essencialmente, os projetos de descompilação pegam o código de máquina original do jogo e, em seguida, tentam fazer a engenharia reversa do código que é compilado na mesma coisa. O resultado é um código legível que pode ser ajustado para melhorar ou modificar jogos em hardware moderno.
As decomps já existem há muito tempo, mas para plataformas mais difíceis como o N64, normalmente leva vários anos para que um único jogo seja descompilado. No entanto, os resultados são cara e coroa acima de qualquer coisa que um emulador possa produzir. Por exemplo, Super Mario 64 foi totalmente descompilado em 2020, levando ao suporte para saída widescreen, taxas de quadros aprimoradas e até mesmo traçado de raio no jogo de quase 28 anos.
Para referência, Super Mario 64 rodava originalmente a 320 x 240 e variava de 20 a 30 fps. A versão de 44 mm do Apple Watch tem resolução de 368 x 448 e é fisicamente menor que o Nintendo 64 Expansion Pak, que continha impressionantes 4 MB de RAM. (Dobrando o que o console acompanha!)
As portas do Nintendo 64 agora podem ser geradas em questão de segundos.
Esses esforços também permitiram que rapazes malucos como Kaze Emanuar otimizassem o código-fonte para funcionar muito melhor no hardware original. Ao selecionar o código linha por linha, Kaze melhorou significativamente a velocidade de renderização, levando a um aumento de 50% na taxa de quadros. Esses resultados foram de dois anos atrás, então é possível que tenham sido otimizados ainda mais.
Novamente, esse processo normalmente leva anos e muita experiência, mas o código resultante pode então ser portado para outras plataformas por outros desenvolvedores. Foi o que aconteceu com o port Majora’s Mask que mencionei acima. O esforço de cada desenvolvedor se baseia nos esforços dos outros, resultando em uma biblioteca robusta de mods e outros recursos.
Mishaal Rahman / Autoridade Android
Agora, um processo chamado recompilação estática tem o potencial de acelerar isso em alguns dias ou semanas.
Os recompiladores estáticos essencialmente automatizam o processo de engenharia reversa do código de uma ROM, transformando uma tarefa longa e trabalhosa em uma tarefa que termina literalmente em segundos. É importante ressaltar que o resultado também é compilado, portanto não há nenhum código-fonte para ajustar. Ainda assim, os resultados normalmente podem ser reproduzidos imediatamente, o que é uma conquista incrível.
No mês passado, um desenvolvedor chamado Wiseguy anunciou que usou um recompilador estático para criar uma versão jogável de Majora’s Mask em apenas dois dias. A porta nativa do PC suporta a maioria, mas não todos, dos mesmos recursos modernos da descompilação, abrindo as comportas para portas mais rápidas.
Neste ponto, Wiseguy espera que o processo funcione para quase toda a biblioteca do N64 e já possui portas funcionais para muitos jogos. Até Superman 64 tem uma versão se você quiser reviver um dos piores jogos já feitos.
Contornando o Hyrule da lei
Nick Fernandez/Autoridade Android
Você pode pensar que os advogados da Nintendo estão se esforçando para encerrar esses projetos. Afinal, a empresa efetivamente eliminou Yuzu (e Citra) no início deste ano, sem sequer provar nada em tribunal.
Mas os projetos de decomposição e recompra não são tão simples. Em vez de lançar os resultados como uma ROM jogável, os desenvolvedores lançam um executável que requer uma ROM original. Essencialmente, o texto, os sprites, as texturas e outros recursos são extraídos da ROM, mas o resto do código é inteiramente novo, então a Nintendo teoricamente não o possui.
A maioria desses projetos também se concentra exclusivamente no processo de decomp/recomp e não desenvolve nenhuma porta funcional. A versão Android de Majora’s Mask, por exemplo, é uma versão de uma versão do projeto de descompilação original.
A Nintendo tem muito menos posição legal quando se trata de projetos de descompilação.
Em alguns aspectos, é mais semelhante ao Analogue Pocket ou Epilogue GB Operator, permitindo que você jogue seus jogos existentes em hardware diferente. A Nintendo certamente não está fabricando mais consoles Nintendo 64, então, sem isso, toda a minha coleção de cartuchos físicos poderia ir direto para o lixo.
Pode haver alguns problemas de propriedade intelectual, mas até onde sei, todos esses projetos são liderados por entusiastas e não geram receita. Um grande objetivo dos projetos de decomp/recomp é preservar os jogos que amamos, já que os emuladores só conseguem fazer isso até certo ponto. A Nintendo pode querer que você pague US$ 50 por ano pelo Nintendo Switch Online + Pacote de Expansão que inclui alguns títulos N64 e outros US$ 50 por um controlador N64 compatível com Switch, mas ainda é apenas um emulador sem opções para personalizar a experiência.
Se quisermos que os jogos retro prosperem, precisamos de mais portas nativas. Jogar Majora’s Mask com um Razer Kishi em meu telefone a 60fps em resoluções que eu não poderia ter sonhado na década de 1990 reacendeu meu amor pelos jogos de uma forma que este pai de dois filhos de trinta e poucos anos não pensava mais ser possível.