La piratería de ROM es el proceso de modificar una imagen de ROM o un archivo de ROM de un videojuego para alterar los gráficos, el diálogo, los niveles, la jugabilidad y / u otros elementos del juego. Esto generalmente lo hacen los fanáticos de los videojuegos con inclinaciones técnicas para dar nueva vida a un juego antiguo apreciado, como una salida creativa, o para crear juegos no oficiales esencialmente nuevos utilizando el motor del juego anterior.
La piratería de ROM generalmente se logra mediante el uso de un editor hexadecimal (un programa para editar datos no textuales) y varias herramientas especializadas como editores de mosaicos y herramientas específicas del juego que generalmente se usan para editar niveles, elementos y similares, aunque En ocasiones se utilizan herramientas más avanzadas, como ensambladores y depuradores . Una vez que están listos, generalmente se distribuyen en Internet para que otros los jueguen en un emulador o consola de juegos. [1]
La traducción de fans (conocida como " piratería de traducción " dentro de la comunidad de piratería de ROM) es un tipo de piratería de ROM; También existen hacks anti-censura que existen para restaurar un juego a su estado original, que a menudo se ve con juegos más antiguos que fueron importados, ya que las políticas de contenido de los editores para los videojuegos (más notablemente, las de Nintendo ) eran mucho más estrictas en el Estados Unidos que Japón o Europa; también hay aleatorizadores que barajan las ubicaciones de las entidades. [2] Aunque gran parte del método se aplica a ambos tipos de piratería, este artículo se centra en la "piratería creativa", como la edición de niveles de juego.
Comunidades
La mayoría de los grupos de piratería ofrecen espacio web para alojar hacks y capturas de pantalla (a veces solo alojan hacks de los miembros del grupo, a veces alojan casi cualquier hack), un tablero de mensajes y, a menudo, tienen un canal de IRC .
Métodos
Al haber sido creados por muchos programadores o equipos de programación diferentes, los datos ROM pueden ser muy diversos.
Edición hexadecimal
Un editor hexadecimal es una de las herramientas más fundamentales en el repertorio de cualquier hacker de ROM. Los editores hexadecimales se utilizan generalmente para editar texto y para editar otros datos cuya estructura es conocida (por ejemplo, propiedades de elementos) y pirateo de ensamblajes .
La edición de texto es una de las formas más básicas de piratería. Muchos juegos no almacenan su texto en formato ASCII , y debido a esto, se han desarrollado algunos editores hexadecimales especializados, que pueden saber qué valores de bytes corresponden a qué letra (s) del alfabeto, para facilitar la edición de texto; un archivo que define estas relaciones byte = letra se denomina archivo de "tabla". Otros juegos usan técnicas simples de compresión de texto (como la codificación de pares de bytes , también llamada codificación de mosaico dual o DTE, en la que ciertas combinaciones de dos o más letras se codifican como un byte) que un editor hexadecimal debidamente equipado puede facilitar la edición.
Un editor hexadecimal es la herramienta elegida para editar cosas como propiedades de personajes / elementos, si se conoce la estructura y ubicación de estos datos y no hay un editor específico del juego para el juego que pueda editar esta información. Algunos intrépidos hackers también realizan la edición de niveles con un editor hexadecimal, pero esto es extremadamente difícil (excepto en juegos cuyo formato de almacenamiento de niveles se parece mucho a cómo se presenta en un editor hexadecimal).
Edición de gráficos
Otra habilidad básica de piratería es la piratería de gráficos, que está cambiando la apariencia de los entornos, personajes, fuentes u otras cosas similares del juego. El formato de los datos gráficos varía de una consola a otra, pero la mayoría de los primeros (NES, Super NES, Game Boy, etc.) almacenan gráficos en mosaicos , que son unidades de datos de 8x8 píxeles , que se organizan en la pantalla para producir el resultado deseado. La edición de estos mosaicos también es posible con un editor hexadecimal, pero generalmente se logra con un editor de mosaicos (como Tile Layer o Tile Molester ), que puede mostrar los datos de la ROM de forma gráfica, así como encontrar y editar mosaicos.
Los trucos gráficos pueden variar desde ediciones simples (como darle a Luigi un palo de golf o hacer sprites pixelados para Pokémon de la generación posterior) hasta "portar" personajes de un juego a otro, hasta cambios temáticos completos (generalmente con cambios de paleta de acompañamiento; ver debajo).
La piratería de gráficos más sofisticada implica cambiar más que solo mosaicos y colores, sino también la forma en que se organizan los mosaicos o los grupos de mosaicos generados, lo que brinda más flexibilidad y control sobre la apariencia final. Esto se logra mediante la edición hexadecimal o una herramienta especializada (ya sea para el juego específico o un sistema específico). Un buen ejemplo de un truco de gráficos es el Pokémon Torzach incompleto , un truco que intentó agregar una nueva generación de Pokémon y fichas al juego. Desde entonces, el truco ha sido descontinuado, pero aún sirve como un buen ejemplo de lo que se puede lograr con las herramientas disponibles.
Edición de paleta
Otra forma común de pirateo es el pirateo de paleta , donde los valores de color se modifican para cambiar los colores que un jugador ve en el juego (esto a menudo va de la mano con el pirateo de gráficos ); Los valores de la paleta se almacenan comúnmente en hexadecimal . Esto es bastante fácil para los juegos de NES , cuyos gráficos utilizan un conjunto predefinido de colores entre los que selecciona un juego; La piratería de paleta en este caso implica cambiar cuál de esos colores se selecciona. El asunto es un poco más complicado con los juegos Super NES y los juegos para otros sistemas, que almacenan valores de color RGB absolutos . Los editores de paleta suelen ser simples y, a menudo, se encuentran con editores de nivel o editores de gráficos específicos del juego.
Edición de nivel
Una de las formas más populares de pirateo de ROM, la edición de niveles implica modificar o rediseñar los niveles o mapas de un juego. Esto se hace casi exclusivamente con un editor especialmente diseñado para un juego en particular (llamado editor de niveles ). Se pueden realizar ediciones de nivel para hacer que el juego sea más desafiante, para alterar el flujo de la trama del juego o simplemente para darle algo nuevo a un juego antiguo. Combinado con una extensa piratería de gráficos, el juego puede adquirir un aspecto y una sensación muy diferentes.
Edición de datos
Un componente central de muchos trucos (especialmente de los videojuegos de rol ) es la edición de datos como el personaje, el elemento y las propiedades del enemigo. Esto generalmente se hace "a mano" (con un editor hexadecimal) si se conoce la ubicación y estructura de los datos, o con un editor específico del juego que tenga esta funcionalidad. A través de esto, un hacker puede alterar cómo funcionan las armas, qué tan fuertes son los enemigos o cómo actúan, etc. Esto se puede hacer para hacer el juego más fácil o más difícil, o para crear nuevos escenarios para que el jugador los enfrente.
Hackeo de ensamblajes
La técnica de pirateo más poderosa, y posiblemente la más difícil, es editar el código real del juego, un proceso llamado pirateo ASM ("ASM" significa " ensamblaje ", refiriéndose al tipo de lenguaje de programación utilizado para los primeros videojuegos). [1] No hay un patrón establecido para la piratería de ASM, ya que el código varía mucho de un juego a otro, pero la mayoría de los hackers de ASM expertos usan un emulador equipado con un depurador o rastreador incorporado, o ejecutan la ROM a través de un desensamblador , luego analizar el código y modificarlo utilizando un editor hexadecimal o ensamblador según sus necesidades. Si bien es bastante desafiante en comparación con los métodos relativamente simples enumerados anteriormente, todo es posible con la piratería ASM (por supuesto, dentro de los límites del hardware / software de la plataforma de juego), desde alterar la IA del enemigo hasta cambiar la forma en que se generan los gráficos. (Por supuesto, las posibilidades siguen estando limitadas por la capacidad del pirata informático para comprender y modificar el código existente).
Si los desarrolladores usaron un lenguaje escrito , el hacker puede compilar su propio código para el juego en el mismo idioma si tiene acceso a un compilador adecuado. Un ejemplo sería el uso de C para piratear juegos de Nintendo 64 , ya que MIPS - GCC puede compilar código para Nintendo 64. [3] [4]
Hackeo de música
Los trucos musicales son relativamente raros, debido a la amplia variedad de formas en que los juegos almacenan datos musicales (de ahí la dificultad para localizar y modificar estos datos) y las dificultades para componer música nueva (o portar música de otro juego). Dado que el descifrado de música es muy poco común, muchos hacks no tienen música portada / compuesta agregada. Sin embargo, como muchos juegos de Game Boy Advance usan el motor M4A (también llamado "Sappy Driver") para la música, el programa SapTapper se puede usar para hackear datos musicales de Game Boy Advance. Se crearon varias otras utilidades para trabajar con el motor, como Sappy 2006 .
Otra instancia del mismo motor que se usa entre juegos es la Nintendo 64, en la que la mayoría de los juegos usan el mismo formato; aunque utilizan diferentes bancos de sonido. Se creó una utilidad conocida como N64 Midi Tool para editar las secuencias que usan la mayoría de los juegos de Nintendo 64, aunque no cubre los títulos propios de N64 que usan un motor ligeramente diferente, como Super Mario 64 . Varios [5] juegos de Mega Drive utilizan un motor de sonido conocido extraoficialmente como "SMPS", [6] que ha sido investigado durante décadas por muchos piratas informáticos. [7] A día de hoy, existen varias [8] herramientas para alterar la música de los juegos que usan el motor SMPS ( los juegos de Sonic the Hedgehog en particular), y muchas de ellas llegaron al Steam Workshop. [9]
Expansión de ROM
En términos generales, un pirata informático de ROM normalmente no puede agregar contenido a un juego, sino simplemente cambiar el contenido existente. Este límite se puede superar mediante la expansión de la ROM , mediante la cual se incrementa el tamaño total de la imagen de la ROM, dejando espacio para más contenido y, a su vez, un juego más grande. La dificultad para hacer esto varía según el sistema para el que se creó el juego. Por ejemplo, expandir una ROM de NES puede ser difícil o incluso imposible debido al mapeador que usa el juego. Por ejemplo, si un mapeador permite 16 bancos de ROM y se utilizan todos, es imposible expandir más la ROM sin convertir de alguna manera el juego en otro mapeador, lo que podría ser fácil o extremadamente difícil. Por otro lado, expandir un juego de SNES es (relativamente) sencillo. Para utilizar el espacio adicional, partes del código del juego deben ser modificadas o reescritas (ver Hack de ensamblajes arriba) para que el juego sepa dónde buscar. Otro tipo de expansión de ROM que es bastante fácil son las ROM de Game Boy Advance . Las ROM en sí mismas son generalmente pequeñas, pero el espacio de memoria disponible a veces lo excede en múltiplos de hasta 17.
Distribución
Una vez que se completa un truco (o una versión incompleta se considera adecuada para una versión provisional) se lanza a Internet para que otros la jueguen. La forma generalmente aceptada de hacer esto es haciendo un parche no oficial (en formato IPS u otros) que se pueda aplicar a la ROM no modificada. [1] Esto, y normalmente algún tipo de documentación, se guarda en un archivo de almacenamiento y se carga en algún lugar. IPS es un formato para registrar las diferencias entre dos archivos binarios (en este caso, entre las ROM no modificadas y pirateadas) y es adecuado para hacks de ROM. [10] IPS todavía se usa hoy en día para pequeños parches; sin embargo, a medida que las ROM aumentaron de tamaño, este formato se volvió inútil, lo que provocó la creación de bastantes formatos de archivo, como NINJA y PPF (" Formato de parche de PlayStation "). PPF todavía se usa hoy en día, particularmente para parchear archivos grandes como imágenes de CD ISO y juegos de Nintendo 64 . La comunidad de piratería ROM también ha desarrollado un nuevo formato de parche, UPS, diseñado para ser el sucesor de IPS y PPF. [11] Un formato de parcheo más reciente, el sistema de parcheo APS, también ha sido desarrollado por un hacker dedicado a la ROM de Game Boy Advance. [12] El sistema APS ocupa más espacio, es reversible y más rápido que su predecesor. [13]
El propósito de distribuir un truco en forma de parche es evitar los aspectos legales de distribuir imágenes ROM completas; el parche registra solo lo que ha cambiado en la ROM, por lo que distribuirlo no suele distribuir partes del juego original. Un parche también suele ser drásticamente más pequeño que la imagen de ROM completa (una ROM de NES puede ejecutarse en cualquier lugar de 8 KB a 2 MB; una ROM de Super NES puede ejecutarse de 256 kB a 6 MB).
En un ejemplo novedoso de distribución legal, Sega lanzó un centro virtual basado en Steam para su colección anterior de juegos Mega Drive / Genesis, titulado Sega Mega Drive Classics Hub . The Hub , además de permitir a los jugadores jugar versiones emuladas de estos juegos más antiguos, aprovecha el soporte de Steam para contenido creado por el usuario a través de Steam Workshop, permitiendo oficialmente hacks de ROM de cualquiera de los clásicos ofrecidos. [14]
Uso
Las ROM parcheadas a menudo se reproducen en emuladores, sin embargo, también es posible reproducir ROM parcheadas en el hardware original. [15] El cartucho de destino podría ser el cartucho original del que se extrajo la ROM inicial sin parche, u otro cartucho compatible del mismo tipo. Esto es particularmente popular para las traducciones de los fanáticos , los juegos caseros, los prototipos u otros juegos para los que nunca se produjeron cartuchos originales, o para los juegos que requieren una sincronización exacta u otros elementos del hardware original que no están disponibles en los emuladores.
Sistemas y juegos
La mayor parte de la piratería de ROM se realiza en juegos de NES , Super NES y Sega Genesis , ya que estos juegos son pequeños y simples en comparación con los juegos de consolas más avanzadas como Nintendo 64 o Nintendo DS . Los juegos para Game Boy , Game Boy Color y Game Boy Advance también son populares para la piratería, así como los juegos para Sega Mega Drive y PlayStation en menor medida. Sin embargo, los juegos destinados a las consolas más recientes no están exentos de piratería, ya que las computadoras se han vuelto más rápidas y se han escrito más programas y utilidades, han surgido más hacks de PlayStation, Nintendo 64 y Nintendo DS.
De estos, los juegos populares para jugar son los juegos populares para piratear; se han lanzado muchos trucos de juegos de la serie Sonic the Hedgehog , la serie Super Mario (incluidos Mario Bros. , Super Mario Bros. , Super Mario Bros.2 , Super Mario Bros.3 , Super Mario 64 y Super Mario World ), Mario Serie Kart (sobre todo Super Mario Kart , Mario Kart Wii , Mario Kart 7 y Mario Kart DS ), serie Pokémon , Chip's Challenge , Castlevania , Final Fantasy , The Legend of Zelda , juegos de la serie Mega Man , serie Fire Emblem , EarthBound , Super Metroid y muchos otros.
Un notable juego de arcade pirateado fue Street Fighter II Blackbelt Edition , que presentaba una mayor velocidad de juego y nuevos movimientos especiales. El éxito de este juego llevó a Capcom a lanzar Street Fighter II: Hyper Fighting como respuesta oficial.
Su revista Sinclair publicó una columna mensual llamada "Program Pitstop". Esto se centró principalmente en trucos para juegos, pero también incluyó una impresora de mapas de nivel [16] para el Gauntlet original, así como un editor de niveles completo [17] para el mismo juego.
Ver también
- Jugabilidad emergente
- Traducción de fans de videojuegos
- Forking (desarrollo de software)
- Genio del juego
- GameShark
- Homebrew (videojuegos)
- Mod (videojuegos)
- Deshacer
Referencias
- ^ a b c "Diccionario de términos de ROMhacking" . ROMhacking.net .
- ^ "La GRAN lista de aleatorizadores de videojuegos" . Guillaume Fortin-Debigaré . Consultado el 10 de julio de 2020 .
- ^ "vg64tools - Alojamiento de proyectos en código de Google" . Code.google.com . Consultado el 9 de septiembre de 2009 .
- ^ "Super Mario 64: Pong Of Death (mesías)" . Sites.google.com . Consultado el 9 de septiembre de 2009 .
- ^ "Lista de motores de sonido Mega Drive / Genesis - GDRI :: Instituto de investigación de desarrolladores de juegos" . gdri.smspower.org .
- ^ "SMPS - Sega Retro" . segaretro.org .
- ^ "Investigación SMPS de Valley Bell" . Tablero de mensajes retro de Sonic y Sega .
- ^ "Sonic Hacking Utilities - Sonic Retro" . info.sonicretro.org .
- ^ "Steam Workshop :: SEGA Mega Drive & Genesis Classics" . steamcommunity.com .
- ^ "Pokémon Rom Hacks" . InverseGamer.com . Consultado el 31 de marzo de 2021 .
- ^ "Nuevo formato de parcheo, UPS, debuta hoy" . www.romhacking.net .
- ^ "Los foros de PokéCommunity - Ver perfil: HackMew" . www.pokecommunity.com .
- ^ "El formato de parcheo más reciente, APS, lanzado recientemente" . www.pokecommunity.com .
- ^ Yin-Poole, Wesley (29 de abril de 2016). "Los modders ya se están divirtiendo con los clásicos de Sega Mega Drive en Steam" . Eurogamer . Consultado el 3 de mayo de 2016 .
- ^ "Reproducción básica de NES" .
- ^ "World of Spectrum - redireccionamiento forzado" . www.worldofspectrum.org .
- ^ "World of Spectrum - redireccionamiento forzado" . www.worldofspectrum.org .
- Carless, Simon, trucos de juegos
- Castro, Radford, Let me play: historias de juegos y emulación
- Jordan, Will (2007). De la ruptura de reglas a la piratería de ROM: teorizando el juego de computadora como mercancía (PDF) . Juego situado, actas de la conferencia DiGRA 2007.
- Newman, James, Jugando con videojuegos