O Nintendo 64 carrega a mesma reputação desde 1996: ótimos jogos, nevoeiro terrível. Aquela parede cinza que obscurecia tudo além de 20 pés não era uma escolha estilística. Era uma limitação de hardware que todo desenvolvedor trabalhando na plataforma eventualmente encontrava, e a maioria simplesmente aceitava. Por 30 anos, ninguém descobriu como construir algo em larga escala em torno disso.
O desenvolvedor James Lambert acabou de fazer isso.
O problema do nevoeiro do N64, finalmente explicado
Lambert, que anteriormente construiu Portal 64 (um demake rodando em hardware real de N64) e um romhack de Super Mario 64 com suporte a VR, agora voltou sua atenção para um projeto de game jam chamado Junkrunner 64. O jogo roda em hardware real de N64 e em emuladores altamente precisos, incluindo Ares, e apresenta algo que ninguém esperava ver na plataforma: uma draw distance comparável a The Elder Scrolls V: Skyrim, o RPG de mundo aberto da Bethesda de 2011 que rodava em hardware lançado 15 anos depois do N64.
"Você pode ficar em um canto do mapa e ver até o outro lado", diz Lambert em seu vídeo de análise. Quando ele sobrepõe uma comparação de tamanho, o mapa de Junkrunner 64 absolutamente ofusca o mundo de The Legend of Zelda: Ocarina of Time na mesma plataforma. O equivalente mais próximo em termos de escala? Skyrim.
O culpado técnico por trás de todo aquele nevoeiro do N64 é algo chamado Z-fighting. O Z-buffer do console, que rastreia a profundidade dos objetos para que eles sejam renderizados na ordem correta, simplesmente não é preciso o suficiente para lidar com geometria distante. À medida que os objetos se afastam da câmera, o N64 perde o controle de qual deles está mais perto, e as coisas começam a ser desenhadas na ordem errada. Uma montanha distante é renderizada em cima de uma encosta mais próxima. O nevoeiro era a solução que todo desenvolvedor buscava porque escondia o problema antes que ele se tornasse visível.
Como Lambert realmente resolveu isso
A questão é: a solução que Lambert encontrou é elegante precisamente porque espelha as técnicas que os motores modernos usam, apenas adaptadas para hardware de 1996.
"A solução é que eu simplesmente desenho o mundo duas vezes", explica Lambert. "Primeiro, eu desenho tudo que está longe, escalado para baixo em cerca de 100, e depois eu faço um passe separado onde eu desenho tudo que está perto." O mundo é dividido em tiles em vários níveis de detalhe (LOD). Tiles distantes são renderizados em baixo detalhe, e à medida que o jogador se aproxima, versões de maior detalhe os substituem. Antes que qualquer tile seja renderizado, o motor verifica se ele está sequer no campo de visão do jogador. Se não estiver, ele é completamente ignorado.
O resultado é um mundo em camadas construído de trás para frente, onde a geometria de baixo detalhe preenche o horizonte e os tiles de alto detalhe assumem o controle em primeiro plano, sem a necessidade de uma parede de nevoeiro para esconder as emendas.
info
O ROM Junkrunner 64 de Lambert está disponível para download no GitHub para quem quiser experimentá-lo em um emulador de N64.O colaborador Pyroxene cuidou da construção real do mapa, criando as várias variações de LOD para cada pedaço do mundo aberto. Uma vez que tudo foi montado, Pyroxene confirmou que o jogo atingiu "uma boa, e às vezes até ótima, taxa de quadros" no hardware. Para um console de 30 anos rodando um mundo do tamanho de Skyrim, isso não é pouca coisa.

Hover cycle atinge 180 mph boostando
Tornando um mapa grande que vale a pena explorar
Construir o mundo aberto foi apenas metade do problema. Lambert reconheceu que a escala sozinha não torna um jogo digno de ser jogado. "Este mapa massivo é muito legal, mas na verdade piora o jogo se não houver nada para fazer nele e a travessia for muito lenta", diz ele.
A resposta para a travessia foi o hover cycle do jogador, que atinge velocidades de cerca de 180 mph quando totalmente atualizado e boostando. A resposta para a exploração foi mais considerada: o mapa começa completamente escondido, e os jogadores o revelam pedaço por pedaço à medida que se movem pelo mundo. É uma escolha de design que dá à exploração apostas reais, algo que muitos jogos de mundo aberto modernos com mapas cheios de ícones abandonaram silenciosamente.
Lambert deixou claro que Junkrunner 64 é um projeto de game jam e improvável de se expandir para algo maior por si só. O que importa é para onde a tecnologia vai a seguir. As técnicas desenvolvidas aqui alimentam diretamente o projeto maior de N64 que Lambert anunciou anteriormente, um jogo cooperativo no estilo Magicka que agora terá um motor de mundo aberto adequado para construir.
Para quem cresceu apertando os olhos através do nevoeiro do N64, imaginando do que o hardware era realmente capaz, esta é a resposta. Fique de olho no próximo projeto de Lambert e confira as últimas notícias de jogos para mais histórias da cena de desenvolvimento retrô. Certifique-se de conferir mais:







