ROM hackování -ROM hacking

Hackování ROM je proces úpravy obrazu ROM nebo souboru ROM videohry , aby se změnila grafika hry, dialogy, úrovně, hratelnost a/nebo jiné prvky. To obvykle dělají technicky založení fanoušci videoher, aby vdechli nový život do oblíbené staré hry, jako kreativní odbytiště, nebo aby vytvořili v podstatě nové neoficiální hry využívající engine staré hry. ROM hacky buď přepracují hru pro novou, zábavnou hratelnost, přičemž všechny položky zůstanou stejné, nebo odemknou funkce, které ve hře existují, ale nejsou ve hře využívány.

Hackování ROM se obecně provádí pomocí hex editoru (program pro úpravu netextových dat) a různých specializovaných nástrojů, jako jsou editory dlaždic a nástroje specifické pro hry, které se obecně používají pro úpravy úrovní, položek a podobně, ačkoli příležitostně se používají pokročilejší nástroje, jako jsou assemblery a debuggery . Jakmile jsou připraveny, jsou obvykle distribuovány na internetu pro ostatní, aby si je mohli zahrát na emulátoru nebo herní konzoli.

Překlad fanoušků (známý jako „hackování překladů“ v komunitě hackerů ROM) je druh hackování ROM; existují také anticenzurní hacky, které umožňují obnovit hru do původního stavu, což je často vidět u starších importovaných her, protože obsahové zásady vydavatelů pro videohry (zejména Nintendo ) byly mnohem přísnější. Spojené státy než Japonsko nebo Evropa; existují také randomizéry, které zamíchají umístění entit. Přestože velká část této metody platí pro oba typy hackování, tento článek se zaměřuje na „kreativní hackování“, jako je úprava herních úrovní.

společenství

Většina hackerských skupin nabízí webový prostor pro hostování hacků a snímků obrazovky (někdy pouze hostování hacků od členů skupiny, někdy hostování téměř jakéhokoli hacku), nástěnku a často mají IRC kanál.

Metody

Data ROM, která byla vytvořena mnoha různými programátory nebo programátorskými týmy, mohou být velmi různorodá.

Hexadecimální úprava

Hexadecimální editor je jedním z nejzákladnějších nástrojů v repertoáru každého ROM hackerů. Hexadecimální editory se obvykle používají k úpravě textu a k úpravě dalších dat, u kterých je struktura známá (například vlastnosti položky), a hackování sestav .

Úprava textu je jednou z nejzákladnějších forem hackování. Mnoho her neukládá svůj text ve formě ASCII , a proto byly vyvinuty některé specializované hex editory, kterým lze říci, jaké hodnoty bajtů odpovídají jakému písmenu (písmenům) abecedy, aby se usnadnily úpravy textu; soubor, který definuje tyto vztahy byte=písmeno, se nazývá soubor "tabulka". Jiné hry používají jednoduché techniky komprese textu (jako je kódování bajtových párů , také nazývané kódování duálních dlaždic nebo DTE, ve kterém jsou určité kombinace dvou nebo více písmen zakódovány jako jeden bajt), jejichž editaci může usnadnit vhodně vybavený hex editor.

Hexadecimální editor je nástroj volby pro úpravy věcí, jako jsou vlastnosti postavy/předmětu, pokud je známa struktura a umístění těchto dat a pro hru neexistuje žádný editor specifický pro hru, který by mohl tyto informace upravovat. Někteří neohrožení hackeři také provádějí úpravy úrovní pomocí hex editoru, ale to je extrémně obtížné (kromě her, jejichž formát úložiště úrovní se velmi podobá tomu, jak je prezentován v hex editoru).

Grafické úpravy

Další základní hackerskou dovedností je hacking grafiky, což je změna vzhledu herních prostředí, postav, fontů nebo jiných podobných věcí. Formát grafických dat se liší konzole od konzole, ale většina prvních (NES, Super NES, Game Boy atd.) ukládá grafiku do dlaždic , což jsou jednotky dat o velikosti 8x8 pixelů , které jsou uspořádány na obrazovce tak, aby dosáhnout požadovaného výsledku. Úpravy těchto dlaždic je také možné pomocí hex editoru, ale obecně se provádí pomocí editoru dlaždic (jako je Tile Layer nebo Tile Molester ), který dokáže zobrazit data ROM grafickým způsobem, stejně jako vyhledávat a upravovat dlaždice.

Grafické hacky se mohou pohybovat od jednoduchých úprav (jako je darování Luigiho golfové hole nebo vytváření pixelovaných skřítků pro pokémony pozdější generace) přes „portování“ postav z jedné hry do druhé až po plnohodnotné tematické změny (obvykle s doprovodnými změnami palety; viz. níže).

Sofistikovanější grafické hackování zahrnuje změnu více než jen dlaždic a barev, ale také způsob, jakým jsou dlaždice uspořádány nebo generovány skupiny dlaždic, což poskytuje větší flexibilitu a kontrolu nad konečným vzhledem. Toho je dosaženo pomocí hex editace nebo specializovaného nástroje (buď pro konkrétní hru nebo konkrétní systém). Dobrým příkladem grafického hacku je nedokončený Pokémon Torzach , hack, který se pokusil přidat do hry zcela novou generaci Pokémonů a dlaždic. Tento hack byl od té doby ukončen, ale stále slouží jako dobrý příklad toho, čeho lze dosáhnout s dostupnými nástroji.

Úprava palety

Další běžnou formou hackování je hackování palet , kde se hodnoty barev upravují tak, aby změnily barvy, které hráč vidí ve hře (toto často jde ruku v ruce s hackováním grafiky ); Hodnoty palety jsou běžně uloženy v Hex . To je poměrně snadné pro hry NES , jejichž grafika používá předem definovanou sadu barev, mezi kterými si hra vybírá; hackování palety v tomto případě znamená změnu, které z těchto barev jsou vybrány. Věc je o něco složitější u her Super NES , Mega Drive nebo her pro jiné systémy, které ukládají absolutní hodnoty barev RGB . Paletové editory jsou obvykle jednoduché a často obsahují editory úrovní nebo grafické editory specifické pro hru.

Úpravy úrovní

Jedna z nejpopulárnějších forem hackování ROM, editace úrovní, zahrnuje úpravu nebo přepracování herních úrovní nebo map. To se téměř výhradně provádí pomocí editoru speciálně přizpůsobeného pro konkrétní hru (nazývaného editor úrovní ). Úpravy úrovní lze provést, aby byla hra náročnější, aby se změnil tok zápletky hry nebo jen aby staré hře dalo něco nového. V kombinaci s rozsáhlým hackováním grafiky může hra získat velmi odlišný vzhled a dojem.

Editace dat

Základní součástí mnoha hacků (zejména videoher na hraní rolí ) je úprava dat, jako jsou vlastnosti postavy, předmětu a nepřátel. To se obvykle provádí buď "ručně" (hexeditorem), pokud je známo umístění a struktura dat, nebo pomocí editoru specifického pro hru, který má tuto funkcionalitu. Díky tomu může hacker změnit, jak fungují zbraně, jak silní jsou nepřátelé nebo jak jednají atd. To lze udělat, aby byla hra jednodušší nebo těžší, nebo aby hráč mohl čelit novým scénářům.

Hackování sestav

Nejvýkonnější a pravděpodobně nejobtížnější hackerskou technikou je úprava skutečného kódu hry, proces zvaný ASM hacking ("ASM" znamená " sestavení ", odkazuje na nízkoúrovňový programovací jazyk, který je vykonáván CPU). Pro hackování ASM neexistuje žádný vzor, ​​protože kód se velmi liší od hry ke hře, ale většina zkušených ASM hackerů buď používá emulátor vybavený vestavěným debuggerem nebo tracerem, nebo spustí ROM přes disassembler a poté kód analyzuje. a upravit jej pomocí hex editoru nebo assembleru podle svých potřeb. I když je to docela náročné ve srovnání s relativně jednoduchými metodami uvedenými výše, s hackováním ASM je možné cokoli (samozřejmě v rámci limitů hardwaru/softwaru herní platformy), od změny nepřátelské umělé inteligence až po změnu způsobu generování grafiky. (Samozřejmě, možnosti jsou stále omezeny schopností hackera porozumět a upravit stávající kód.)

Pokud vývojáři použili typizovaný jazyk , může být hacker schopen zkompilovat svůj vlastní kód pro hru ve stejném jazyce, pokud má přístup ke správnému kompilátoru. Jedním z takových příkladů by bylo použití C k hacknutí her Nintendo 64 , protože MIPS - GCC dokáže zkompilovat kód pro Nintendo 64.

Hackování hudby

Hudební hacky jsou relativně vzácné kvůli široké škále způsobů, jak hry ukládají hudební data (proto je obtížné tato data lokalizovat a upravovat) a potíže při skládání nové hudby (nebo přenášení hudby z jiné hry). Protože praskání hudby je velmi neobvyklé, mnoho hacků nemá přidanou žádnou portovanou/složenou hudbu. Protože však mnoho her Game Boy Advance používá pro hudbu M4A Engine (také nazývaný „Sappy Driver“), lze program SapTapper použít k hackujte hudební data Game Boy Advance. Pro práci s motorem byly vytvořeny různé další nástroje, jako je Sappy 2006 .

Další příklad stejného enginu používaného mezi hrami je na Nintendo 64, ve kterém většina her používá stejný formát; i když používají různé zvukové banky. Nástroj známý jako N64 Midi Tool byl vytvořen k úpravě sekvencí, které používá většina her Nintendo 64, i když nepokrývá tituly N64 první strany, které používají mírně odlišný engine, jako je Super Mario 64 . Několik her Mega Drive používá zvukový engine neoficiálně známý jako „SMPS“, který byl po desetiletí zkoumán mnoha hackery. K dnešnímu dni existují různé nástroje ke změně hudby her, které používají SMPS engine ( zejména hry Sonic the Hedgehog ), a mnoho z nich se dostalo do Steam Workshop .

rozšíření ROM

Obecně řečeno, ROM hacker nemůže normálně přidávat obsah do hry, ale pouze měnit stávající obsah. Tento limit lze překonat rozšířením ROM , kdy se celková velikost obrazu ROM zvětší, čímž se vytvoří prostor pro více obsahu a tím i větší hru. Obtížnost tohoto provedení se liší v závislosti na systému, pro který byla hra vytvořena. Například rozšíření NES ROM může být obtížné nebo dokonce nemožné kvůli mapovači používanému hrou. Pokud například mapovač povolí 16 bank ROM a všechny jsou použity, další rozšíření ROM je nemožné, aniž by se nějak převedla hra na jiný mapovač, což může být snadné nebo extrémně obtížné. Na druhou stranu je rozšíření hry SNES (relativně) přímočaré. Aby bylo možné využít přidaný prostor, musí být části kódu hry upraveny nebo přepsány (viz Sestavení hackování výše), aby hra věděla, kde hledat. Dalším typem rozšíření ROM , které je poměrně snadné, jsou Game Boy Advance ROM. Samotné ROM jsou obecně malé, ale dostupný paměťový prostor někdy přesahuje až 17 násobků.

Rozdělení

Jakmile je hack dokončen (nebo je neúplná verze považována za vhodnou pro dočasné vydání), je uvolněna na internet, aby si ji mohli zahrát ostatní. Obecně přijímaným způsobem, jak toho dosáhnout, je vytvoření neoficiální opravy (ve formátu IPS nebo jiných), kterou lze aplikovat na neupravenou ROM. Tato a obvykle nějaká forma dokumentace se vloží do archivního souboru a někam se nahraje. IPS je formát pro záznam rozdílů mezi dvěma binárními soubory (v tomto případě mezi neupravenou a hacknutou ROM) a je vhodný pro hackování ROM. IPS se dnes stále používá pro malé záplaty – ale jak se ROM zvětšovaly, tento formát se stal nepoužitelným, což vedlo k vytvoření mnoha formátů souborů – jako NINJA a PPF (" formát PlayStation Patch Format"). PPF se dodnes používá, zejména k opravě velkých souborů, jako jsou obrazy ISO CD a hry Nintendo 64 . Komunita hackerů ROM také vyvinula nový formát záplat, UPS, navržený jako nástupce IPS a PPF. Novější formát záplatování, systém záplatování APS, byl také vyvinut oddaným hackerem Game Boy Advance ROM. Systém APS je prostorově úspornější, je reverzibilní a rychlejší než jeho předchůdce.

Účelem distribuce hacku ve formě opravy je vyhnout se právním aspektům distribuce celých obrazů ROM; patch zaznamenává pouze to, co se změnilo v ROM, takže jeho distribuce obvykle nedistribuuje části původní hry. Oprava je také normálně drasticky menší než celý obraz ROM (ROM NES může běžet kdekoli od 8 KB do 2 MB; Super NES ROM může běžet od 256 kB do 6 MB).

V novém příkladu legální distribuce společnost Sega vydala virtuální centrum založené na Steamu pro svou předchozí sbírku her Mega Drive/Genesis s názvem Sega Mega Drive Classics Hub . The Hub , kromě toho, že hráčům umožňuje hrát emulované verze těchto starších her, využívá podpory Steamu pro uživatelsky vytvořený obsah prostřednictvím Steam Workshop, což oficiálně umožňuje distribuci ROM hacků kterékoli z nabízených her.

Používání

Patchované ROM se často hrají na emulátorech, nicméně je také možné hrát patchované ROM na původním hardwaru. Cílovou kazetou může být původní kazeta, ze které byla vytažena původní neopravená ROM, nebo jiná kompatibilní kazeta stejného typu. To je obzvláště oblíbené u fanouškovských překladů , homebrew her, prototypů nebo jiných her, pro které nebyly nikdy vyrobeny originální cartridge, nebo u her, které vyžadují přesné načasování nebo jiné prvky původního hardwaru, které nejsou dostupné v emulátorech.

Systémy a hry

Většina hackování ROM se provádí na hrách NES , SNES a Sega Genesis , protože tyto hry jsou malé a jednoduché ve srovnání s hrami pokročilejších konzolí, jako je Nintendo 64 nebo Nintendo DS . Hry pro Game Boy , Game Boy Color a Game Boy Advance jsou také oblíbené pro hackování, stejně jako hry pro PlayStation v menší míře. Nicméně hry určené pro novější konzole nejsou osvobozeny od hackování, protože počítače se staly rychlejšími a bylo napsáno více programů a utilit, objevilo se více hacků PlayStation, Nintendo 64 a Nintendo DS.

Z těchto oblíbených her jsou oblíbené hry k hackování; bylo vydáno mnoho hacků her série Sonic the Hedgehog , série Super Mario (včetně Mario Bros. , Super Mario Bros. , Super Mario Bros. 2 , Super Mario Bros. 3 , Super Mario Land , Super Mario Land 2: 6 Zlaté mince , Super Mario 64 a Super Mario World ), série Mario Kart (zejména Super Mario Kart , Mario Kart Wii , Mario Kart 7 a Mario Kart DS ), série Pokémon , Chip's Challenge , Castlevania , Final Fantasy , The Legend of Zelda , hry ze série Mega Man , série Fire Emblem , EarthBound , Super Metroid a mnoho dalších.

Pozoruhodná hacknutá arkádová hra byla Street Fighter II: Rainbow Edition , která se vyznačovala zvýšenou rychlostí hry a novými speciálními pohyby. Úspěch této hry přiměl Capcom k vydání Street Fighter II: Hyper Fighting jako oficiální odpověď.

Váš časopis Sinclair vydával měsíční sloupek s názvem „Program Pitstop“. Toto se zaměřovalo hlavně na cheat hacky pro hry, ale také obsahovalo tiskárnu map úrovní pro původní Gauntlet a také editor plných úrovní pro stejnou hru.

Viz také

Reference