ROM hacking: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
mNessun oggetto della modifica
Riga 4:
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, sebbene molti strumenti 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>
 
''Fan translation'' (conosciuta come "translation hacking" all’interno della comunità ROM hacking) è un tipo di ROM hacking: vi sono anche hack anti-censura che esistono per ristabilire un gioco al suo stato originale, che è spesso è fatto con i vecchi giochi che sono stati importati, in quanto le politiche degli editori riguardo i contenuti dei videogiochi erano più severe negli Stati Uniti rispetto al Giappone o all’Europa.
Sebbene molta della metodologia applica su entrambi i tipi di hacking, questo articolo si concentra su hacking creativo come modificare i livelli di gioco.
 
Riga 16:
 
==Metodologia==
Essendo stati creati da molti programmatori o team di programmazione differenti, i dati della ROM possono svariati. Perciò non ci sono realmente dei modi standard di hacking, ma alcuni dei metodi più generalmente accettati e ultilizzatiutilizzati sono descritti qui.<ref name="dictionary"/>
 
Essendo stati creati da molti programmatori o team di programmazione differenti, i dati della ROM possono svariati. Perciò non ci sono realmente dei modi standard di hacking, ma alcuni dei metodi più generalmente accettati e ultilizzati sono descritti qui.<ref name="dictionary"/>
 
===Editor Esadecimale===
 
Un [[editor esadecimale]] ('''hex editor''') è uno degli strumenti fondamentali nei repertori di un qualsiasi ROM hacker.
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]].
Line 32 ⟶ 30:
[[Image:Compare.png|thumb|Screenshot di comparazione battaglia tra l'originale ''[[Dragon Quest|Dragon Warrior]]''e il suo hack, ''Dragoon X Omega''.]]
 
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 tiletiles.
 
Gli hack grafici possono andare da semplici modifiche a “trasportare” personaggi da un gioco ad un altro a veri e propri cambiamenti tematici.
Un hacking più sofisticato della grafica non comporta soltanto la modifica di più tiletiles e colori, ma anche la loro disposizione, dando più flessibilità e controllo al risultato finale. Questo si realizza attraverso un editor esadecimale o un’applicazione specializzata. Un buon esempio di un hack grafico è l’incompleto Pokemon Torzach, un che ha tentato di aggiungere un’intera generazione di Pokemon e tile nel gioco. L’hack è stato interrotto, ma serve ancora da buono esempio di ciò che può essere realizzato con gli strumenti disponibili.
 
===Palette editing===
 
Un’altra forma comune di hacking è la modifica della tavolozza dei colori (“palette editing”), che agisce sui codici dei colori che un giocatore vede nel gioco (questo va di pari passo con l’hacking della grafica); i valori della tavolozza sono comunemente gestiti in Hex (esadecimale). Questo è abbastanza facile per i giochi NES, la cui grafica utilizza una tavola di colori predefinita; il palette hacking in questo caso, cambia i valori dei colori selezionati. La questione è leggermente più complicata per i giochi Super NES e giochi per altri sistemi, che memorizzano i valori assoluti dei colori RGB. Gli editor della tavolozza dei colori sono spesso semplici e vanno accompagnati con gli editor di livello o editor di gioco specifici per la grafica.
 
===Level editing===
 
Una delle forme più popolari di ROM hacking, l’editor di livello, implica la modifica o la riprogettazione del livello o della mappa di un gioco. Questo è quasi esclusivamente fatto con un editor specificamente adattato a particolari giochi (chiamato “level editor”). La modifica del livello può essere fatta per rendere il gioco più impegnativo, per alterare lo scorrere della trama del gioco, o solo per dare qualcosa di nuovo ad un gioco vecchio. Combinato ad un ampio hacking grafico, il gioco può assumere aspetto e atmosfera molto differenti.
 
Line 51 ⟶ 47:
===ASM hacking===
 
Laa più potente e probabilmente la più difficile tecnica di hacking è la modifica del codice attuale del gioco, un processo chiamato ASM hacking (“ASM” significa “assemblaggio”, in riferimento al tipo di linguaggio di programmazione utilizzato per le prime console). Non ci sono modelli fissi per l’hacking ASM, in quanto generalmente il codice varia da gioco a gioco, ma gli hacker ASM più qualificati o usano un emulatore equipaggiato con un debugger incorporato, o eseguono la ROM tramite un disassemblatore, poi analizzano il codice e lo modificano usando un editor o assemblatore esadecimale in accordo ai loro bisogni. Anche se abbastanza impegnativo rispetto ai metodi relativamente semplici elencati sopra, tutto è possibile con l’hacking ASM (naturalmente, nei limiti dell’hardware/software della piattaforma di gioco) che vanno 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 lingue se avessero accesso ad un compilatore adeguato. Un esempio del genere sarebbe utilizzare C per inserirsi illecitamente nei giochi Nintendo 64, dal MIPS-GCC può stilare codici per il Nintendo 64.
 
Se gli sviluppatori utilizzassero un linguaggio scritto, l’hacker potrebbe essere in grado di compilare il proprio codice per il gioco nella stessa lingue se avessero accesso ad un compilatore adeguato. Un esempio del genere sarebbe utilizzare C per inserirsi illecitamente nei giochi [[Nintendo 64]], dal MIPS-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 [[Gameboy]] Advance, tuttavia, altrettanti giochi dei Gameboy Advance usano il motore M4A (chiamato anche “Sappy Driver”) per la musica.
 
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 Gameboy Advance, tuttavia, altrettanti giochi dei Gameboy Advance usano il motore M4A (chiamato anche “Sappy Driver”) per la musica.
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. Trasferendo la musica da due file 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 è aumentata, 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. Ad esempio, l’espansione di una ROM NES può essere difficile o addirittura impossibile a causa del mapper utilizzato dal gioco. Per esempio, se un mapper permette 16 ROM bank e tutte loro sono utilizzate, espandere ulteriormente la ROM è impossibile senza in qualche modo convertire il gioco ad un altro mapper, che potrebbe essere facile o estremamente difficile. D’altra parte, l’espansione di un gioco Super NES è (relativamente) semplice. Per utilizzare lo spazio aggiunto, parti del codice di gioco devono essere modificati o riscritti (vedi sopra “ASM hacking”) di modo che il gioco sappia dove guardare. Il Gameboy Advance è generalmente considerato il più facile da espandere.
 
==Distribuzione==
Una volta che un hack è completato (o una versione incompleta è considerata adeguata per un rilascio provvisorio), viene lanciato su Internet per far si che si giochi. Il modo generalmente accettato di farlo è facendo una [[patch]] (in formato IPS o altri) che puo’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 binari (in questo caso, tra ROM modificate e non) ed è adeguato per 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 svilippatosviluppato 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 Game BoyGameBoy 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 ha cambiato nella ROM, quindi la sua distribuzione non comporta anche quella delle parti del gioco originale. Una patch è inoltre più piccola rispetto dell’immagine ROM completa (una ROM NES può funzionare da 40KB-512KB; una Super NES ROM da 256KB-6MB). L’utilizzo di patch non elimina i problemi di copyright perché le patch possono essere considerate lavori derivati, tuttavia generalmente le società li ignorano fino a quando non sono distribuiti con le ROM.
 
Una volta che un hack è completato (o una versione incompleta è considerata adeguata per un rilascio provvisorio), viene lanciato su Internet per far si che si giochi. Il modo generalmente accettato di farlo è facendo una patch (in formato IPS o altri) che puo’ 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 binari (in questo caso, tra ROM modificate e non) ed è adeguato per 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 svilippato 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 Game Boy 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 ha cambiato nella ROM, quindi la sua distribuzione non comporta anche quella delle parti del gioco originale. Una patch è inoltre più piccola rispetto dell’immagine ROM completa (una ROM NES può funzionare da 40KB-512KB; una Super NES ROM da 256KB-6MB). L’utilizzo di patch non elimina i problemi di copyright perché le patch possono essere considerate lavori derivati, tuttavia generalmente le società li ignorano fino a quando non sono distribuiti con le ROM.
 
==Systems and games==
 
La maggior parte del ROM hacking è fatto su giochi NES o Super NES, dato che questi giochi sono piccoli e semplici paragonati ai giochi si console più avanzate come il Nintendo 64. Anche i giochi per GameBoy sono molto popolari per l’hacking, così come i giochi per [[Sega Mega Drive]] in misura minore. Ma questo non significa che i giochi più recenti siano esenti da hacking e in effetti poichèpoiché i computer vanno più veloci e sono scritti più programmi, ci si potrebbe aspettare di vedere più hack per [[PlayStation]] e [[Nintendo 64]].
 
Più un gioco è popolare più viene modificato; molti hack sono stati realizzati su giochi delle serie di Sonic Hedgehog, [[Super Mario Bros]], Pokemon, Chip’s Challenge, [[Super Mario World]], [[Final Fantasy]], [[The Legend of Zelda]], Mega Man, Fire Emblem, EarthBound, [[Super Mario 64]] e molti altri.
 
==Voci correlate==
 
* [[Fan translation of video games]]
* [[Undubbing]]
Line 86 ⟶ 77:
 
==Links esterni==
 
* [http://www.romhacking.net ROMhacking.net] Un repertoridi di hacks, utility, documenti, e patch.
* [http://www.zophar.net Zophar's Domain] Un sito con alcune informazioni e risorse relative al ROM hacking.
* [http://www.datacrystal.org/wiki/Main_Page Data Crystal Wiki] Un altro [[Wiki]] dedicato al ROM hacking.
 
 
[[Category:Video game mods]]