ROM hacking: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m apostrofo tipografico |
m Bot: inserimento portale (via JWB) |
||
(6 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1:
{{F|informatica|marzo 2024}}
Il '''ROM hacking''' è il processo di modifica dell'[[Read Only Memory|immagine ROM]] di un [[videogioco]] atto a modificare la grafica del gioco, i dialoghi, i livelli, il [[gameplay]] o altri elementi di esso. Questo è solitamente fatto per dare "nuova vita" ad un vecchio gioco caro o per creare nuovi giochi non ufficiali usandone vecchi come base.▼
▲Il '''ROM hacking''' è il processo di modifica dell'[[Read Only Memory|immagine ROM]] di un
Il ROM hacking è generalmente realizzato tramite un [[editor esadecimale]] (un programma di modifica dati non testuali), e vari strumenti specifici di gioco che sono generalmente utilizzati per la modifica dei livelli e degli oggetti, anche se molti strumenti più avanzati come assemblatori e [[debugger]] sono utilizzati occasionalmente. Una volta pronti, vengono distribuiti su [[Internet]] per permettere agli altri di giocarci su un [[emulatore]].<ref name="dictionary">[http://www.romhacking.net/dictionary/?page=dictionary Dictionary of ROMhacking Terms]</ref>
La ''[[Fan translation]]'' (conosciuta come "translation hacking") è un tipo di ROM hacking: vi sono anche hack anti-censura, che esistono per riportare un gioco al suo stato originale. Questo, spesso, è fatto con i vecchi giochi che sono stati importati, in quanto le politiche degli editori riguardo ai contenuti dei videogiochi (in particolare, [[Nintendo]]) erano più severe negli Stati Uniti rispetto al Giappone o all'Europa.
Sebbene molta della metodologia si applica su entrambi i tipi di hacking, questo articolo si concentra sull'hacking creativo come la modifica dei livelli di gioco.
Line 16 ⟶ 18:
Essendo stati creati da molti programmatori o team di programmazione differenti, i dati della ROM possono essere svariati. Perciò non ci sono realmente dei modi standard di hacking, ma alcuni dei metodi più generalmente accettati e utilizzati sono descritti qui.<ref name="dictionary"/>
===Editor
Un [[editor esadecimale]]
Gli hex editor sono solitamente utilizzati per la modifica del testo e per la modifica di altri dati per i quali la struttura è conosciuta (per esempio, le proprietà dell'oggetto) e [[#ASM hacking|ASM hacking]].
La modifica del testo è una delle forme più basilari di hacking. Molti giochi non hanno il loro testo in forma [[ASCII]],
Un hex editor è lo strumento di scelta per modificare cose come le proprietà del personaggio/oggetto se la struttura e la posizione dei loro dati è conosciuta, e non c'è un editor di gioco specifico che può modificare quest'informazione. Alcuni hacker intrepidi eseguono anche [[#Level editing|modifiche di livello]] con un hex editor sebbene possa essere difficile trovare qualcuno (inclusi quelli che l'hanno fatto) che lo considera facile, ad eccezione di quei giochi il cui formato di archiviazione del livello assomiglia strettamente a come è presentato in un hex editor.
===Editing
Un'altra abilità di base di hacking è la modifica della grafica, che permette di cambiare l'aspetto dei paesaggi del gioco, dei personaggi, dei caratteri (“fonts”), o altre cose del genere. Il formato dei dati grafici varia da console a console, ma molte delle prime ([[NES]], [[Super NES]], [[Game Boy]], etc) gestiscono la grafica in “tiles”, che sono unità di 8x8 [[pixel]] di dati, i quali vengono disposti sullo schermo per produrre il risultato desiderato. La modifica di questi tile è possibile anche con un editor esadecimale, ma generalmente è realizzato con un tile editor (come Tile Layer o Tile Molester), che può visualizzare i dati contenuti nella ROM graficamente rendendo possibile la ricerca e la modifica dei tiles.
Gli hack grafici possono andare da semplici modifiche
Un hacking più sofisticato della grafica non comporta soltanto la modifica di più tiles e colori, ma anche della loro disposizione, dando più flessibilità e controllo al risultato finale. Questo si realizza attraverso un editor esadecimale o un'applicazione specializzata
===Palette editing===
Un'altra forma comune di hacking è la modifica della tavolozza dei colori (
===Level editing===
Line 46 ⟶ 48:
Anche se abbastanza impegnativo rispetto ai metodi "relativamente" semplici elencati sopra, tutto è possibile con l'hacking ASM (naturalmente, nei limiti dell'hardware della piattaforma di gioco) che va dalla modifica dei nemici, al cambiamento di come la grafica è generata. Ovviamente, le possibilità sono ancora limitate dalle abilità dell'hacker di comprendere e modificare il codice esistente.
Se gli sviluppatori utilizzassero un linguaggio scritto, l'hacker potrebbe essere in grado di compilare il proprio codice per il gioco nella stessa lingua se avesse accesso ad un [[compilatore]] adeguato. Un esempio del genere sarebbe utilizzare [[C (linguaggio)|C]] per inserirsi illecitamente nei giochi [[Nintendo 64]], o il [[Architettura MIPS|MIPS]]-[[GNU Compiler Collection|GCC]] può stilare codici per il [[Nintendo 64]].
===Music hacking===
Gli hack della musica sono relativamente rari, dovuto all'ampia varietà dei dati musicali del deposito dei giochi (da qui la difficoltà di localizzare e modificare questi dati), e le difficoltà nel comporre musica nuova (o trasferire la musica da un altro gioco). Come il crack della musica è molto insolito, molti hack non hanno alcuna musica trasferita/composta aggiunta dentro. Il programma SapTapper può essere utilizzato per l'hacking dei dati musicali del [[
La forma più comune di hacking della musica è il trasferimento di quest'ultima da un file ROM ad un altro, solitamente entrambi realizzati dalla stessa azienda. Il trasferimenti di musica da un file all'altro proporrà quasi sempre un certo tipo di problema, poiché il formato è quasi sempre differente.
===ROM expansion===
Generalmente, un hacker della ROM non può aggiungere contenuti ad un gioco, ma semplicemente cambiare il contenuto esistente. Questo limite può essere superato tramite l'espansione della ROM, per cui la dimensione totale dell'immagine della ROM aumenta, dando spazio a un maggiore contenuto e a un gioco più grande. La difficoltà nel fare questo varia a seconda del sistema per il quale il gioco è stato fatto.
==Distribuzione==
Una volta che un hack è completato (o una versione incompleta è considerata adeguata per un rilascio provvisorio), viene lanciato su Internet per far in modo che si giochi. Il modo generalmente accettato per questo è facendo una [[patch (informatica)|patch]] (in formato IPS o altri) che può essere applicata alla ROM non modificata. Questo, e di solito una qualche forma di documentazione, è inserito in un file d'archivio e caricato da qualche parte. IPS è un formato per registrare le differenze tra due [[File binario|file binari]] (in questo caso, tra ROM modificate e non) ed è adeguato per i ROM hack.
IPS è ancora utilizzato oggi per piccole patch, ma tuttavia, poiché le ROM sono diventate di dimensioni più grandi, questo formato risulta inutile, portando ad abbandonare alcuni formati di file creati, come NINJA e PPF (“[[PlayStation]] Patch Format”). PPF è ancora oggi utilizzato, particolarmente per i formati di grandi patch come immagini CD ISO. Un nuovo formato di patch, UPS, è stato sviluppato dalla comunità ROM hacking, concepito per essere il successore di IPS e PPF. Un formato di patch più recente, il sistema patching APS, è stato anch'esso sviluppato da un ROM hacker devoto al GameBoy Advance. Il sistema APS è più efficiente, reversibile ed è più veloce rispetto ai suoi predecessori.
L'intenzione di distribuire un hack in forma di patch è per evitare gli aspetti legali della distribuzione di immagini ROM intere; la patch registra solo cosa si è
==Sistemi e giochi==
La maggior parte del ROM hacking è fatto su giochi
==Note==
Riga 72:
==Voci correlate==
*
*
{{Portale|videogiochi}}
[[Categoria:Ambienti di sviluppo di videogiochi]]
[[Categoria:Hacking]]
[[Categoria:Mod (videogiochi)| ]]
|