Super Mario 64 continua a trovare nuova vita sulle piattaforme moderne e questa volta il salto è davvero importante. Il team Harbour Masters, già noto per progetti come Ship of Harkinian, dedicato a Ocarina of Time, e Starship, porting di Star Fox 64, ha pubblicato la nuova versione 3.0.0 di Ghostship.

Si tratta di una major release particolarmente ricca, che amplia ulteriormente uno dei porting nativi più completi del classico Nintendo 64 del 1996. La novità più evidente è l’arrivo ufficiale su Android e iOS, a cui si aggiunge persino una versione Web che permette di giocare direttamente dal browser.
Prima di tutto è importante chiarire cosa sia realmente Ghostship. Il progetto non è un emulatore, ma una sourceport nativa realizzata a partire dal codice decompilato di Super Mario 64.
Il programma non contiene gli asset originali protetti da copyright: per poterlo utilizzare è necessario fornire una ROM legale della versione USA o Giapponese in formato .z64.
Una volta selezionata, Ghostship provvede a generare automaticamente i file necessari, permettendo di giocare al titolo con risoluzioni moderne, frame rate elevati e una lunga serie di miglioramenti.
La grande novità di questa versione è senza dubbio l’espansione a nuove piattaforme. La versione Android permette di estrarre direttamente la ROM sul dispositivo, senza dover ricorrere a un PC, mentre è stato introdotto anche il supporto ufficiale a iOS.
A completare il quadro c’è la build Web realizzata con Emscripten, che consente di avviare Super Mario 64 direttamente dal browser, con tanto di sistema di salvataggio persistente. Chi vuole provarla può farlo direttamente online.
Harbour Masters ha lavorato anche sul comparto grafico, introducendo un nuovo backend Vulkan e un sistema di post-processing completo.
Gli shader multipass possono essere personalizzati e gestiti attraverso una scheda dedicata all’interno del menu, offrendo agli utenti e ai modder un controllo decisamente maggiore sull’aspetto del gioco.
Anche il supporto alle texture HD è stato migliorato, grazie al caricamento asincrono e alla generazione automatica dei mipmap. Non mancano inoltre numerose correzioni e ottimizzazioni per Metal su macOS, D3D11, LOD e dithering.
Ghostship punta molto anche sulla personalizzazione. Le API dedicate al modding sono state notevolmente ampliate con nuovi eventi, input da tastiera, callback ImGui e un sistema per la persistenza dei dati.
Gli script delle mod possono essere compilati direttamente in memoria attraverso TCC, mentre una maggiore quantità di simboli del motore ora viene resa disponibile ai creatori di contenuti.
In pratica, Ghostship non vuole essere soltanto un modo per giocare a Super Mario 64 su hardware moderno, ma anche una piattaforma sempre più interessante per chi vuole modificarlo e creare nuovi contenuti.
La nuova versione interviene anche su diversi problemi presenti nelle release precedenti. Sono stati corretti bug legati al gameplay, ai salvataggi, al Game Over, alle chiavi di Bowser, agli achievement e all’audio.
Tra le correzioni figura anche un problema piuttosto particolare che poteva permettere ai Goomba di eliminare Mario istantaneamente.
Gli achievement ora sono abilitati di default e sono stati apportati ulteriori miglioramenti al networking e alla gestione dei file di salvataggio.
Guida Rapida Ghostship
Ghostship non include alcun asset protetto da copyright. Dovrete fornire una copia supportata del gioco.
Verificare il dump della ROM
Le ROM supportate sono le versioni US e JP. Potrete verificare di avere una copia correttamente dumpata usando lo SHA-1 File Checksum Online.
- Hash SHA-1 per la ROM US:
9bef1128717f958171a4afac3ed78ee2bb4e86ce - Hash SHA-1 per la ROM JP:
8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51
Verificare che la ROM sia in formato .z64
La ROM deve essere in formato .z64. Se è in formato .n64, potrete convertirla qui: https://hack64.net/tools/swapper.php
- Scaricare Ghostship.
- Generare il file OTR dalla ROM e giocare.
Windows
- Estrarre tutti i file dell’archivio
.zipin una cartella a scelta. - Avviare
Ghostship.exee selezionare la ROM US o JP.
Linux
- Estrarre tutti i file dell’archivio zip in una cartella a scelta.
- Eseguire
Ghostship.appimage. Potrebbe essere necessario eseguirechmod +x Ghostship.appimagevia terminale.
macOS
- Estrarre tutti i file dell’archivio zip in una cartella a scelta.
- Avviare Ghostship e selezionare la ROM US o JP.
Nintendo Switch
- Avviare una delle release per PC per generare un file
sm64.o2r. Dopo aver lanciato il gioco su PC, troverete questi file nella stessa cartella diGhostship.exeoGhostship.appimage. - Copiare i file sulla scheda SD.
Android
- Installare il file APK e avviarlo.
- Toccare Choose Super Mario 64 ROM e selezionare la ROM
.z64USA o JP. Verrà verificata rispetto agli hash supportati, conservata nello spazio di archiviazione dell’app e convertita insm64.o2rdirettamente sul dispositivo: non è necessario utilizzare un PC e nessun dato di gioco viene incluso nell’app. - L’estrazione viene eseguita una sola volta e richiede alcuni minuti; al termine, il gioco si avvia automaticamente.
- Mod e salvataggi vengono gestiti dal pulsante Mods, che appare accanto a Menu quando il menu di gioco è aperto. Tutto viene inoltre salvato su disco nel percorso
Android/data/dev.net64.ghostship/files/, quindi è possibile inserire i mod nella cartellamods/anche utilizzando un file manager.
Configurazione
Configurazione tastiera predefinita
| N64 | |||||||
|---|---|---|---|---|---|---|---|
| Tastiera | X | C | Z | Barra spaziatrice | WASD | ← → ↑ ↓ | TFGH |
Altri shortcut
- Esc: Aprire/chiudere menu.
- Ctrl+R: Resettare (all’interno dei livelli).
- F11: Schermo intero.
- Tab: Attivare/disattivare asset alternativi.
Rendering grafico
Al momento sono supportate tre API grafiche: DirectX11 (Windows), OpenGL (tutte le piattaforme) e Metal (macOS). Potrete cambiare l’API nel menu delle impostazioni, che richiede un riavvio. In caso di crash, potrete modificare il file Ghostship.cfg.json, cercando la riga "Backend":{...} e impostando:
- id = 3 e Name = OpenGL per OpenGL
- id = 2 per DirectX11 (default Windows)
- id = 4 per Metal (default macOS)
Asset personalizzati
Gli asset personalizzati sono inclusi in file .o2r o .otr. Per usarli, dovrete inserirli nella cartella mods. Se siete interessati a creare o impacchettare i vostri asset personalizzati, potrete usare questi strumenti:
Gioca online
Changelog
Nuove piattaforme
- Aggiunto un target iOS e un job CI di
@KiritoDv - Aggiunto il supporto Android, basato sul lavoro di Waterdish di
@KiritoDv - Aggiunta l’estrazione direttamente dal dispositivo Android (rebase di #225) di
@KiritoDvin #250 - Aggiunta una build web (Emscripten) con persistenza IDBFS e deploy su Pages di
@KiritoDv
Renderer
- Aggiunto un backend Vulkan di
@KiritoDv - Aggiunto un sistema completo di post-processing con shader personalizzati multipass, impostazioni degli shader basate su manifest e una scheda Shader nel menu di
@KiritoDv - Esposte le variabili del motore come uniform personalizzate per gli shader di
@KiritoDv - Aggiunto il supporto alle texture HD (portato da Jeod) con generazione automatica dei mipmap, caricamento asincrono delle texture e rilascio differito delle texture di
@KiritoDv - Spostato sRGB in un pass di post-processing; corretto il viewport e il depth clamp con i passaggi di post-processing di
@KiritoDv - Implementato il dithering del rumore
G_CD_*; corretti diversi problemi LOD di@KiritoDv - Corretto lo stuttering delle texture Metal, il post-processing Metal e il rallentamento del gioco quando la finestra non è attiva di
@KiritoDv - Corretto il vertex stride D3D11 per i materiali illuminati senza combiner shade di
@KiritoDv - Corrette le DLL Vulkan mancanti nelle build Windows di
@KiritoDv - Corretta la build universale macOS (il target host tinycc finiva erroneamente nella slice x86_64) di
@KiritoDv - Corretto il testo sfocato del menu sui display Retina di
@quarrel07in #234 - Corretta la riga delle schede del menu che mostrava una barra di scorrimento dopo l’aggiunta della scheda Shader di
@quarrel07in #249
API per il modding
- Caricati in memoria gli script delle mod compilati con TCC invece che tramite una libreria condivisa rilasciata separatamente di
@KiritoDv - Aggiunto un grande passaggio di eventi: ciclo di vita del motore, pipeline di rendering, HUD/etichette di testo, telecamera, script dei livelli, nodo del layout geografico, culling della distanza delle entità, chiamate native dei comportamenti, caricamento/svuotamento dei salvataggi, selezione file e menu di pausa di
@KiritoDv - Aggiunta un’API per l’input da tastiera e l’evento KeyboardInput di
@KiritoDv - Aggiunti callback di disegno ImGui per le mod C di
@KiritoDv - Aggiunto un sistema di persistenza dei dati per le mod (archivio giocatore, archivio canale, identità del giocatore) di
@KiritoDv - Esportato un ampio insieme di simboli del motore precedentemente statici verso le mod di
@KiritoDv - Mostrato un errore leggibile quando la compilazione di uno script di una mod fallisce di
@KiritoDv - Corretto il template delle mod per puntare al repository principale e aggiunto clang-format di
@KiritoDv - Corretto il preprocessor che interpretava erroneamente alcune strutture di
@KiritoDv
Networking
- Spostati i WebSocket su mbedtls e abilitato TLS su Linux di
@KiritoDv - Aggiunto il versionamento dei relay per evitare conflitti tra versioni del gioco di
@KiritoDv - Aggiunta un’opzione di build USE_SATELLA e un’opzione “Abilita Satella” negli Strumenti sviluppatore di
@KiritoDv - Protetto Satella dietro USE_NETWORKING di
@JeodCin #193 - Risolto il problema per cui Satella non riusciva mai a connettersi su macOS di
@quarrel07in #237
Gameplay e correzioni
- Risolto il problema che causava l’uccisione istantanea di Mario da parte dei Goomba di
@KiritoDv - Risolti i crash durante il caricamento dei salvataggi e migliorata la conversione dei vecchi file di salvataggio di
@KiritoDv - Risolto il problema per cui il salvataggio corrente veniva cancellato dopo un Game Over di
@quarrel07in #229 - Corretto lo sfondo della schermata del titolo dopo un Game Over di
@quarrel07in #238 - Risolto il problema per cui la chiave di Bowser veniva trattata come una stella con l’opzione Raccogliere le stelle non farà uscire dal livello abilitata di
@quarrel07in #243 - Corretto il tracciamento e la visualizzazione degli obiettivi quando l’opzione era disattivata di
@quarrel07in #239 - Abilitati gli obiettivi per impostazione predefinita di
@KiritoDv - Corretta l’interpolazione del testo del menu, del cursore a forma di mano di Mario e dello skybox di
@KiritoDv - Risolto il crash use-after-free nella sintesi audio al reset del livello (#133) di
@JeodCin #197 - Risolto il crash all’uscita di
@quarrel07in #244 - Risolto il problema per cui tenere premuti i tasti di movimento apriva il popup degli accenti di macOS di
@quarrel07in #231 - Spostata l’opzione “Disabilita LoD” nella scheda Grafica di
@KiritoDv
Estrazione e asset
- Portato il flusso di estrazione migliorato: conferma della nuova estrazione, generazione singola di sm64.o2r ed errori Torch con ritorno a capo automatico di
@KiritoDv - Mantenuti funzionanti gli archivi sm64.o2r esistenti dopo la modifica dell’ordine dei byte CRC di Torch di
@quarrel07in #248 - Corretto il problema dei caratteri speciali nei percorsi #126 di
@JeodCin #196 - Aggiunto un loader PNG completo (RawTextureFactory) e modificato merge.py per produrre texture PNG di
@KiritoDv
Build, pacchettizzazione e CI
- Aggiunta un’icona dell’app Liquid Glass per macOS di
@quarrel07in #245 - Risolto il problema delle build Mac che riportavano la versione 0.1.0 di
@quarrel07in #228 - Risolto il problema della build macOS che non riusciva a compilare con la versione corrente di mbedtls di Homebrew di
@quarrel07in #232 - Risolto il problema per cui l’app macOS pacchettizzata non riusciva ad avviarsi quando veniva compilata con sdl2 di Homebrew di
@quarrel07in #233 - Corretto il mismatch del generatore in cmakelists di
@JeodCin #195 - Corretta la pacchettizzazione AppImage di
@KiritoDv - CI: ridotto il tempo di compilazione di macOS da ~86 minuti a ~15 minuti memorizzando nella cache MacPorts di
@quarrel07in #247
Download: Ghostship Nautilus – Alfa v3.0.0 (Android)
Download: Ghostship Nautilus – Alfa v3.0.0 (iOS)
Download: Ghostship Nautilus – Alfa v3.0.0 (Linux)
Download: Ghostship Nautilus – Alfa v3.0.0 (MacOS)
Download: Ghostship Nautilus – Alfa v3.0.0 (Windows)
Download: Source code Ghostship Nautilus – Alfa v3.0.0
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: Nintendo Switch
Vedi altri prodotti Nintendo Switch
Ultimo aggiornamento 2026-10-14 / Link di affiliazione / Immagini da Amazon Product Advertising API





