ROM hacking: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1:
Il '''ROM hacking''' è il processo di modifica dell’[[ROM|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 fare essenzialmente ''nuovi'' giochi non ufficiali usandone vecchi come base.
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 i 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.
==Comunità==
Molti ROM hacker formano o partecipano a gruppi per varie ragioni, come per spazi web per postare hack e/o [[screenshot]], per il supporto o la collaborazione con altri membri del gruppo, per ottenere uno stato privilegiato sulla chat del gruppo (se ne ha una), per il prestigio associato al gruppo, o solo per cameratismo. Molti hacker, tuttavia, scelgono di agire soli.
Non tutti i membri di un gruppo sono ROM hacker; alcuni si sono “ritirati” dal mestiere, altri offrono servizi come l’amministrazione di siti web e/o chat, e qualcuno si offre semplicemente da guida per aspiranti ROM hacker.
Riga 22:
La modifica del testo è una delle forme più basilari di hacking. Molti giochi non hanno il loro testo in forma [[ASCII]], e per questo, sono stati sviluppati alcuni hex editor specializzati, che possono dire a quali lettere dell’alfabeto corrispondono i valori del byte per facilitare la modifica del testo; un file che definisce la relazione byte=lettera è chiamato file "table". Altri giochi utilizzano semplici tecniche di compressione del testo (come Dual-Tile Encoding o DTE, nel quale alcune combinazioni di due o più lettere sono codificate come un byte) dove un hex editor adeguatamente equipaggiato, può facilmente modificare.
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’è uno editor di gioco specifico che può modificare quest’informazione. Alcuni hacker intrepidi eseguono anche [[#
===Editing Grafico===
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
Gli hack grafici possono andare da semplici modifiche ,al “trasporto” di personaggi da un gioco ad un altro o a veri e propri cambiamenti tematici.
Riga 31:
===Palette editing===
Un’altra forma comune di hacking è la modifica della tavolozza dei colori (
===Level editing===
Una delle forme più popolari di ROM hacking,è l’editor di livello,che 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
Combinato ad un ampio hacking grafico, il gioco può assumere aspetto e atmosfera molto differenti.
===Data editing===
Una componente fondamentale di molti hack (specialmente
===ASM hacking===
La 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)<ref name="dictionary"/>. 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
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 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]] per inserirsi illecitamente nei giochi [[Nintendo 64]],o il [[MIPS-GCC]] può stilare codici per il [[Nintendo 64]].
===Music hacking===
Riga 54:
===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. 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 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|ASM hacking]]”)
==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]] (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 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 (
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à le ignorano fino a quando non sono distribuiti con le ROM.
==Sistemi e giochi==
|