Rodar um emulador de NES dentro de Portal 2 não faz muito sentido, mas funciona

Portal 2 continua sendo uma obra-prima dos games, tanto pela sua jogabilidade quanto pela narrativa. Mas um modder conhecido como PortalRunner levou o clássico da Valve para um patamar que ninguém imaginava: fez um emulador de Nintendo 8 bits (NES) rodar dentro do próprio jogo.

O game sempre foi um playground para quem gosta de mods, graças à linguagem de script Squirrel, que permite mexer nas entranhas do jogo de formas bem criativas.

Foi usando essa liberdade que PortalRunner decidiu encarar o desafio de fazer Super Mario Bros. rodar, de forma totalmente funcional, dentro de Portal 2, usando um emulador de NES escrito inteiramente em Squirrel e integrado ao ambiente do jogo.

Só que a missão foi tudo, menos simples. Portal 2 tem limites bem rígidos, principalmente na quantidade de objetos que consegue processar sem travar. Isso torna inviável simular o hardware do NES de forma literal, já que seriam necessários milhares de componentes virtuais.

A solução foi recorrer ao smolnes, um emulador super leve, feito para consumir pouquíssimos recursos, e converter seu código original, feito em C, para Squirrel. Esse malabarismo técnico evitou que o jogo quebrasse, usando truques de script para imitar o funcionamento do console de 8 bits sem sobrecarregar o motor do game.

Fazer essa conversão foi uma verdadeira maratona. Apesar de Squirrel ser bem flexível, ele nem chega perto da velocidade bruta de uma linguagem como C. Além disso, o processador 6502, que dá vida ao NES, não se adapta nada bem às regras e limitações do sistema de scripts de Portal 2.

PortalRunner teve que encontrar formas criativas de traduzir a forma como C gerencia memória para o modelo mais engessado e baseado em eventos do Squirrel, mantendo fiel a arquitetura do console, mas sem fazer o jogo desabar.

O resultado final é um emulador que funciona, embora de forma bem capenga. Super Mario Bros. roda ali dentro, com seus sprites pixelados e a clássica trilha em 8 bits, mas tudo em baixa resolução e com uma taxa de quadros que engasga bastante, consequência direta dos limites do Portal 2 e das diferenças entre as linguagens. Ainda assim, é um feito técnico absurdo.

Quem quiser se aventurar precisa ter Portal 2 instalado e um bom espírito de modder. O processo envolve carregar os scripts criados por PortalRunner dentro da estrutura do jogo, algo bem tranquilo para quem já é habituado a criar ou instalar mods, mas que também pode ser uma ótima porta de entrada para quem quer aprender mais sobre o assunto.

Veja mais sobre games.