Screenshot do jogo Snowboard Kids 2, com personagens em uma pista de neve, representando o clássico do Nintendo 64 que foi 100% descompilado.

Snowboard Kids 2: N64 clássico agora 100% descompilado!

Por Pedro W. • 3 min de leitura

A comunidade de fãs e programadores tem um grande motivo para celebrar: Snowboard Kids 2, o clássico de snowboard do Nintendo 64, atingiu a marca de 100% de descompilação. Isso significa que todo o código do jogo agora pode ser compilado para um código assembly que corresponde exatamente ao original.

Essa façanha técnica é mais do que apenas um marco para os entusiastas; ela representa um passo significativo na preservação e compreensão de jogos antigos. Embora ainda existam algumas intervenções de __asm__ e a necessidade de melhorias na nomenclatura e documentação, cada função do jogo já possui uma implementação correspondente em C.

O que significa essa descompilação?

Uma descompilação correspondente transforma o game de uma "pilha de assembly MIPS" em algo muito mais acessível. Essencialmente, o que a equipe conseguiu foi recriar o código-fonte original do jogo a partir do executável compilado. Isso permite que programadores e entusiastas estudem o funcionamento interno do jogo em uma linguagem de programação de alto nível, como C, em vez de ter que decifrar o código de máquina de baixo nível.

Chris Lewis, autor da publicação, explica que o projeto não começou do zero. Ele se baseou em um trabalho anterior do grupo Snowboard Kids 2 Randomizer, que, embora não tivesse o objetivo de descompilação total, forneceu uma base crucial. Lewis menciona que este grupo já havia feito um progresso considerável, e seu método envolveu a compilação do código original do randomizador e a comparação com binários do jogo.

“O projeto não começou do zero. Começou com o grupo Snowboard Kids 2 Randomizer (skid2-rand), que fez um trabalho significativo em descompilar o jogo, embora não com o objetivo de descompilação 100% correspondente.”

A fase final do projeto foi concentrada em uma repetição intensiva: compilar o código em C, comparar o output assembly com o jogo original e ajustar o C até que os binários correspondessem perfeitamente. Lewis aponta que, por terem acesso ao código-fonte original do jogo (obtido através de um vazamento de dados da Nintendo), o processo final foi facilitado. Sem esse vazamento, o trabalho teria sido consideravelmente mais complexo e demorado.

Próximos passos para Snowboard Kids 2

Com a descompilação completa, as possibilidades se abrem. O próximo grande passo é a criação de uma PC Port, ou seja, uma versão do jogo que possa rodar nativamente em computadores modernos. Isso permitiria que o jogo fosse jogado sem a necessidade de emuladores, trazendo melhorias de desempenho, gráficos e até mesmo a possibilidade de novos conteúdos e funcionalidades.

A descompilação não apenas garante a preservação do jogo para futuras gerações, mas também abre portas para modificações, ferramentas de tradução e aprofundamento no estudo de como os jogos do Nintendo 64 eram construídos. É um testemunho do poder da colaboração da comunidade e da importância da engenharia reversa para a história dos videogames.

Lewis expressa sua gratidão aos colaboradores, especialmente a equipe do skid2-rand e a membros como "Grez" e "Brolijon", cujas contribuições foram essenciais para o sucesso do projeto.

Tags: descompilação nintendo 64 snowboard kids 2 engenharia reversa preservação de jogos

Perguntas Frequentes

O que significa dizer que Snowboard Kids 2 está 100% descompilado?

Significa que todas as funções do jogo foram reescritas em C e compilam para um código assembly que corresponde exatamente ao código original do jogo, permitindo estudá-lo em uma linguagem de alto nível.

Como o vazamento de dados da Nintendo impactou o projeto?

O acesso ao código-fonte original do jogo através de um vazamento de dados da Nintendo facilitou e acelerou o processo de descompilação nos estágios finais.

Qual é o próximo passo após a descompilação completa?

O próximo grande passo é a criação de uma PC Port, uma versão do jogo que pode rodar nativamente em computadores modernos, sem a necessidade de emuladores.

Qual a importância da descompilação para a preservação de jogos?

A descompilação garante a preservação do jogo para futuras gerações, além de abrir portas para modificações, ferramentas de tradução e um estudo aprofundado da construção de jogos antigos.