Il Nintendo 64 si porta dietro la stessa reputazione dal 1996: grandi giochi, nebbia terribile. Quel muro grigio che oscurava tutto oltre i 20 piedi non era una scelta stilistica. Era una limitazione hardware che ogni sviluppatore che lavorava sulla piattaforma incontrava, e la maggior parte si rassegnava. Per 30 anni, nessuno ha capito come aggirarla su larga scala.
Lo sviluppatore James Lambert l'ha appena fatto.
Il problema della nebbia N64, finalmente spiegato
Lambert, che in precedenza ha realizzato Portal 64 (un demake che gira su hardware N64 reale) e un romhack di Super Mario 64 con supporto VR, ha ora rivolto la sua attenzione a un progetto per game jam chiamato Junkrunner 64. Il gioco gira su hardware N64 reale e su emulatori altamente accurati, tra cui Ares, e presenta qualcosa che nessuno si aspettava di vedere sulla piattaforma: una draw distance paragonabile a The Elder Scrolls V: Skyrim, l'RPG open-world di Bethesda del 2011 che girava su hardware uscito 15 anni dopo l'N64.
"Puoi stare su un angolo della mappa e vedere fino all'altro lato", dice Lambert nel suo video di spiegazione. Quando sovrappone un confronto di dimensioni, la mappa di Junkrunner 64 sovrasta completamente il mondo di The Legend of Zelda: Ocarina of Time sulla stessa piattaforma. L'equivalente più vicino in termini di scala? Skyrim.
Il colpevole tecnico dietro tutta quella nebbia N64 è qualcosa chiamato Z-fighting. Lo Z-buffer della console, che traccia la profondità degli oggetti in modo che vengano renderizzati nell'ordine corretto, semplicemente non è abbastanza preciso per gestire la geometria distante. Man mano che gli oggetti si allontanano dalla telecamera, l'N64 perde il controllo di quale sia più vicino e le cose iniziano a essere renderizzate nell'ordine sbagliato. Una montagna lontana viene renderizzata sopra una collina più vicina. La nebbia era la soluzione a cui ogni sviluppatore ricorreva perché nascondeva il problema prima che diventasse visibile.
Come Lambert l'ha realmente risolto
Ecco il punto: la soluzione a cui Lambert è arrivato è elegante proprio perché rispecchia le tecniche utilizzate dai motori moderni, solo adattate all'hardware del 1996.
"La soluzione è che disegno il mondo due volte", spiega Lambert. "Prima disegno tutto ciò che è lontano, ridotto di circa 100 volte, e poi faccio un passaggio separato in cui disegno tutto ciò che è vicino." Il mondo è diviso in tessere a più livelli di dettaglio (LOD). Le tessere lontane vengono renderizzate con dettagli ridotti e, man mano che il giocatore si avvicina, versioni con dettagli maggiori le sostituiscono. Prima che una tessera venga renderizzata, il motore controlla se è nel campo visivo del giocatore. Se non lo è, viene completamente saltata.
Il risultato è un mondo stratificato costruito da dietro in avanti, dove la geometria a basso dettaglio riempie l'orizzonte e le tessere ad alto dettaglio prendono il sopravvento in primo piano, senza bisogno di un muro di nebbia per nascondere le giunture.
info
La ROM Junkrunner 64 di Lambert è disponibile per il download su GitHub per chiunque voglia provarla su un emulatore N64.Il collaboratore Pyroxene si è occupato della costruzione effettiva della mappa, creando le multiple variazioni LOD per ogni blocco del mondo aperto. Una volta che tutto è stato assemblato, Pyroxene ha confermato che il gioco ha raggiunto "un buon, e a volte anche ottimo, frame rate" sull'hardware. Per una console di 30 anni che esegue un mondo delle dimensioni di Skyrim, non è una cosa da poco.

Hover cycle hits 180 mph boosting
Creare una mappa grande degna di essere esplorata
Costruire il mondo aperto era solo metà del problema. Lambert ha riconosciuto che la scala da sola non rende un gioco degno di essere giocato. "Questa mappa enorme è davvero fantastica, ma in realtà peggiora il gioco se non c'è niente da fare e il viaggio è molto lento", dice.
La risposta al viaggio è stata l'hover cycle del giocatore, che raggiunge velocità di circa 180 mph quando è completamente potenziato e in boost. La risposta all'esplorazione è stata più ponderata: la mappa inizia completamente nascosta e i giocatori la rivelano pezzo per pezzo mentre si muovono nel mondo. È una scelta di design che conferisce all'esplorazione una posta in gioco reale, qualcosa che molti giochi open-world moderni con mappe piene di icone hanno silenziosamente abbandonato.
Lambert è stato chiaro sul fatto che Junkrunner 64 è un progetto per game jam e improbabile che si espanda in qualcosa di più grande da solo. Ciò che conta è dove andrà la tecnologia dopo. Le tecniche sviluppate qui alimentano direttamente il progetto N64 più grande che Lambert ha annunciato in precedenza, un gioco cooperativo in stile Magicka che ora avrà un vero e proprio motore open-world su cui costruire.
Per chiunque sia cresciuto strizzando gli occhi attraverso la nebbia dell'N64 chiedendosi di cosa fosse capace l'hardware, questa è la risposta. Tieni d'occhio il prossimo progetto di Lambert e controlla le ultime notizie sui videogiochi per altre storie dalla scena retro dev. Assicurati di controllare altro:







