Usuario:Amitie 10g/Taller/Videojuegos/ROM hacking
ROM hacking es el proceso de modificar una imagen ROM de un videojuego para alterar los gráficos, el diálogo, los niveles, la jugabilidad y/u otros elementos del juego. Por lo general, esto 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 hacer juegos no oficiales esencialmente nuevos utilizando el motor de nun videojuego ya existente.
El ROM hacking generalmente se logra mediante el uso de un editor hexadecimal (un programa para editar datos no textuales) y/o varias herramientas especializadas, como editores de mosaicos, y herramientas específicas del juego que generalmente se usan para editar niveles, elementos y similares, aunque ocasionalmente se usan herramientas más avanzadas como ensambladores y depuradores. Una vez listos, generalmente se distribuyen en Internet (en formato IPS) para que otros jueguen en un emulador o consola de juegos.[1]
Las traducciones independientes también son un tipo de ROM hacking; También hay trucos contra la 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 videojuegos (especialmente, Nintendo) eran mucho más estrictas en Estados Unidos que en Japón o Europa). También hay aleatorizadores que barajan ubicaciones de entidades.[2]
Comunidades
[editar]La mayoría de los grupos de hackers 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 IRC.
Métodos
[editar]Al haber sido creados por muchos programadores o equipos de programación diferentes, los datos de ROM pueden ser muy diversos.
Edición hexadecimal
[editar]Un editor hexadecimal es una de las herramientas más fundamentales en el repertorio de cualquier hacker de ROM. Los editores hexadecimales se usan generalmente para editar texto y para editar otros datos para los que se conoce la estructura (por ejemplo, propiedades de elementos).
La edición de texto es una de las formas más básicas de ROM hacking. Muchos juegos no almacenan su texto en ASCII, y debido a esto, se han desarrollado algunos editores hexadecimales especializados, a los que se les puede decir qué valores de bytes corresponden a qué letra(s) del alfabeto, para facilitar la edición del texto; un archivo que define estas relaciones byte=letra se denomina archivo "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 doble mosaico o DTE, en la que ciertas combinaciones de dos o más letras se codifican como un byte) que un editor hexadecimal adecuadamente equipado puede facilitar la edición.
Se suele elegir un editor hexadecimal para editar cosas como las propiedades de personajes/elementos, si se conoce la estructura y la ubicación de estos datos y no hay un editor específico para el juego que pueda editar esta información. Algunos hackers también realizan ediciones de niveles con un editor hexadecimal, pero esto es extremadamente difícil (excepto en juegos cuyo formato de almacenamiento de nivel se parece mucho a cómo se presenta en un editor hexadecimal).
Edición de gráficos
[editar]Otra habilidad básica del ROM hacking es la modificación de gráficos, la que cambia la apariencia de los entornos, personajes, fuentes u otros elementos 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 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 manera gráfica, así como buscar y editar mosaicos.
Las modificaciones de gráficos pueden variar desde simples ediciones (como darle a Luigi un palo de golf) hasta "portar" personajes de un juego a otro, e incluso cambios temáticos completos (generalmente con cambios de paleta).
La modificación 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 se generan grupos de mosaicos, 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 gráfico es el Pokémon Torzach,[cita requerida] un truco que intentó agregar una nueva generación de Pokémon al juego. Desde entonces, el hack 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
[editar]Otra forma común de ROM hacking es la midificación de la paleta de colores, 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 la modificación de gráficos); Los valores de la paleta se almacenan comúnmente en valores hexadecimales. Esto es bastante fácil para los juegos de NES, cuyos gráficos usan un conjunto predefinido de colores entre los que selecciona un juego;[cita requerida] La modificación de paletas en este caso implica cambiar cuál de esos colores están seleccionados. El asunto es un poco más complicado con los juegos Super NES y juegos para otros sistemas, que almacenan valores absolutos de color RGB.[cita requerida] Los editores de paleta son generalmente simples y, a menudo, con editores de nivel o editores gráficos específicos del juego.
Edición de niveles
[editar]Una de las formas más populares de ROM hacking, es la edición de niveles, la cual 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 niveles 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 la modificación de gráficos, el juego puede adoptar una nueva apariencua.[cita requerida]
Edición de datos
[editar]Un componente central de muchos hacks (especialmente de videojuegos de rol) es la edición de datos como personajes, objetos y propiedades enemigas. Esto generalmente se hace "a mano" (con un editor hexadecimal) si se conoce la ubicación y la estructura de los datos, o con un editor específico del juego que tiene 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 que el juego sea más fácil o más difícil, o para crear nuevos escenarios para que el jugador los enfrente.[cita requerida]
Hacking a través de ensamblador
[editar]La técnica de ROM hacking más poderosa, y posiblemente la más difícil, es editar el código real del juego, un proceso llamado modificación en ensamblador (ASM), en referencia al tipo de lenguaje de programación utilizado para los primeros videojuegos).[1] No hay un patrón establecido para la modificación en ASM, ya que el código varía ampliamente de un juego a otro, pero la mayoría de los modificadores de ROM en ASM utilizan un emulador equipado con un depurador o rastreador incorporado, o ejecutan la ROM a través de un desensamblador, luego el código es analizado y modificado utilizando un editor o ensamblador hexadecimal, de acuerdo con sus necesidades.
Si los desarrolladores usan un lenguaje tipado, el modificador de ROM puede compilar su propio código para el juego en el mismo idioma si tienen acceso a un compilador adecuado. Un ejemplo de ello sería usar el lenguaje de programación C para modificar juegos de Nintendo 64, ya que el compilador GCC puede compilar código MIPS para Nintendo 64.[3][4]
Modificación de música
[editar]Los modificadores de ROM especializados en modificar la música de videojuegos son relativamente raros, debido a la gran variedad de formas en que los juegos almacenan datos de música (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). Como la modificación de música es muy poco común, muchos hacks no tienen música portada/compuesta agregada. Sin embargo, el programa SapTapper se puede usar para hackear los datos de música de Game Boy Advance, ya que muchos juegos de Game Boy Advance usan el motor M4A (también llamado "Sappy Driver") para escuchar música.[cita requerida] Se crearon varias otras utilidades para trabajar con el motor, como Sappy 2006 . Otra instancia del mismo motor que se usa entre juegos es en la Nintendo 64, en la que la mayoría de los juegos usan el mismo formato; aunque usan 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 de N64 first-party que usan un motor ligeramente diferente, como Super Mario 64. Varios juegos de Mega Drive utilizan un motor de sonido conocido extraoficialmente como "SMPS",[5][6] que ha sido investigado durante décadas por muchos modificadores de ROM.[7] Hay herramientas para modificar juegos como Sonic the Hedgehog disponibles en Steam Workshop.[8]
Expansión de ROM
[editar]En términos generales, un modificador de ROM normalmente no puede agregar contenido a un juego, sino simplemente cambiar el contenido existente. Este límite se puede superar a través de la expansión de ROM, por lo que se aumenta el tamaño total de la imagen de ROM, dejando espacio para más contenido y, a su vez, un juego más grande. La dificultad para hacerlo varía según el sistema para el que se creó el juego, especificamente, la memoria que es capaz de mapear.
Doblaje inverso
[editar]El doblaje inverso (undubbing) es la práctica de reintegrar el idioma original a los videojuegos que han sido traducidos (tanto textos como voces).[9] Consiste en identificar los textos y pistas de audio en el juego traducido, extraer dichos datos desde la ROM en el idioma original, e integrarlos en la ROM traducida, reemplazando los datos. Esto es útil si la versión traducida del videojuego fue censurada de alguna manera, pero no en la versión original.[cita requerida]
Algunas modificaciones notables se han hecho en juegos de las franquicias Final Fantasy y Mega Man.[cita requerida]
Distribución
[editar]Una vez que se completa un hack (o una versión incompleta que se considere adecuada para un lanzamiento preeliminar), se publica en sitios de Internet especializados, para que otros jueguen.
Usualmente se lanza en formato de parche, que se pueda aplicar a una ROM no modificada.[1] IPS es un formato para registrar las diferencias entre dos archivos binarios (en este caso, entre la ROM original y medificada) y es adecuado para modificar imágenes ROM de videojuegos. Otros formatos como NINJA y PPF ("Formato de parche de PlayStation") se desarrollaron para solventar las limitaciones del formato IPS. 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 ROM hacking también ha desarrollado un nuevo formato de parche, UPS, diseñado para ser el sucesor de IPS y PPF.[10] Un sistema de parches más reciente, el sistema de parches APS, también ha sido desarrollado por un modificador de ROM dedicado a la Game Boy Advance.[11] El sistema APS es más eficiente en cuanto al espacio, es reversible y es más rápido que su predecesor.[12]
El propósito de distribuir un hack en forma de parche es evitar los aspectos legales de distribuir imágenes completas de ROM; el parche registra solo lo que ha cambiado en la ROM, por lo tanto, distribuirlo generalmente no distribuye partes del juego original. Un parche también suele ser drásticamente más pequeño que la imagen ROM completa (una ROM NES puede ser de entre 8 KB a 2 MB; una ROM Super NES puede ejecutar de 256 kB a 6 MB).[cita requerida]
En un nuevo ejemplo de distribución legal, Sega lanzó un centro virtual basado en Steam para su colección de juegos de Mega Drive, titulado Sega Mega Drive Classics Hub. El Hub, además de permitir a los jugadores jugar versiones emuladas de estos juegos más antiguos, aprovecha el soporte de Steam para el contenido creado por el usuario a través de Steam Workshop, permitiendo modificar ROM de cualquiera de los clásicos ofrecidos, y hacerlas disponibles a través de dicha plataforma.[13] También es posible modificar juegos contemporaneos como Sonic Mania a través de las mismas técnicas.
Uso
[editar]Las ROM parcheadas a menudo se reproducen en emuladores, sin embargo, también es posible reproducir ROM parcheadas en el hardware original.[14] El cartucho de destino podría ser el cartucho original del que se extrajo la ROM inicial sin parchar u otro cartucho compatible del mismo tipo. Esto es particularmente popular para traducciones de fanáticos, homebrew, prototipos u otros juegos para los que nunca se produjeron cartuchos originales, o para juegos que requieren una sincronización exacta u otros elementos del hardware original que no están disponibles en emuladores.
Sistemas y juegos
[editar]La mayoría del ROM hacking se realiza en juegos para NES y Super NES, ya que estos son de tamaño reducido y más fáciles de manejar. Los juegos para Game Boy, Game Boy Color y Game Boy Advance también son populares para hackear, así como los juegos para Sega Mega Drive y PlayStation en menor medida. Los juegos de Sega Megadrive también son ampliamente modificados. Pero de ninguna manera los juegos para las consolas más recientes están exentos de modificaciones, y de hecho a medida que las computadoras se han vuelto más rápidas y se han escrito más programas y utilidades, han surgido más modificaciones de juegos para PlayStation, Nintendo 64 y Nintendo DS, e incluso consolas contemporáneas como la Wii, Wii U o Nintendo Switch.[cita requerida]
Un juego arcade notable fue Street Fighter II Blackbelt Edition, que presentaba una mayor velocidad del juego y nuevos movimientos especiales. El éxito de este juego llevó a Capcom a lanzar Street Fighter II: Hyper Fighting como respuesta oficial.[cita requerida]
La revista Your Sinclair publicó una columna mensual llamada "Program Pitstop". Esto se centró principalmente en cheats para juegos, pero también contó con una impresora de mapas de nivel para el Gauntlet original, así como un editor de nivel completo para el mismo juego.
Véase también
[editar]Referencias
[editar]- ↑ a b c «Dictionary of ROMhacking terms». ROMhacking.net.
- ↑ «The BIG List of Video Game Randomizers». Guillaume Fortin-Debigaré (en inglés). Consultado el 29 de agosto de 2020.
- ↑ «vg64tools». code.google.com. Google Code. Consultado el 29 de agosto de 2020.
- ↑ «Super Mario 64: Pong Of Death - messiaen». sites.google.com. Sites.google.com. Consultado el 29 de agosto de 2020.
- ↑ «Mega Drive/Genesis Sound Engine List - GDRI :: Game Developer Research Institute». gdri.smspower.org. Consultado el 29 de agosto de 2020.
- ↑ «SMPS». Sega Retro (en inglés). 23 de enero de 2019. Consultado el 29 de agosto de 2020.
- ↑ «Valley Bell's SMPS Research». Sonic and Sega Retro Forums (en inglés estadounidense). Consultado el 29 de agosto de 2020.
- ↑ «Steam Workshop :: SEGA Mega Drive & Genesis Classics». steamcommunity.com. Consultado el 29 de agosto de 2020.
- ↑ «Hacking the Japanese Voices Back into the Games». Kotaku (en inglés estadounidense). Consultado el 29 de agosto de 2020.
- ↑ «New patching format, UPS, debuts today». www.romhacking.net.
- ↑ «HackMew — The PokéCommunity». www.pokecommunity.com. Consultado el 29 de agosto de 2020.
- ↑ «Newest patching format, APS, recently released». www.pokecommunity.com.
- ↑ Yin-Poole, Wesley (April 29, 2016). «Modders are already having fun with Sega Mega Drive classics on Steam». Eurogamer. Consultado el 3 de mayo de 2016.
- ↑ «Basic NES Reproduction». callanbrown.com. Consultado el 29 de agosto de 2020.
[[Categoría:Cultura hacker]]
[[Categoría:Mods de videojuegos]] [[Categoría:Wikipedia:Páginas con traducciones sin revisar]]