Registrarse

¡Salvemos el artículo de ROM Hacking de Wikipedia!

Estado
Cerrado para nuevas respuestas.

Mikelan98

WaH used to be a bigger place...
Han marcado el artículo ROM Hacking de Wikipedia como irrelevante y prescindible por carecer de una buena redacción y de información relevante (esto último lo dicen los moderadores de Wikipedia porque les da la gana, pero no es así), y si no cambia, en 4 semanas lo habrán borrado. Ya sabemos que los moderadores de Wikipedia son unos cabezones (muchas veces irresponsables) que no se paran a escuchar y acaban haciendo lo que quieren, por lo que, una vez borrado el artículo, va a ser muy difícil poder crearlo de nuevo.

El hecho de que el ROM Hacking tenga un artículo en una enciclopedia como Wikipedia es de vital importancia para que la gente descubra qué es y pueda adentrarse en este mundo. No debemos dejar que lo borren, pues perjudicaría enormemente al foro y a nuestro trabajo.

Por eso os pido que, aunque sea minúscula, cualquier contribución para expandir y mejorar el artículo se agradece muchísimo. Como veréis, WaH está mencionada en el artículo: si el artículo consigue una muy buena redacción y se convierte en una página referente para informarse sobre qué es el ROM Hacking, WaH saldría directamente beneficiada (eso sí, no pongáis el link de WaH en la sección de Enlaces Externos; nuestro querido amigo Sage usó el artículo para publicitar su página, RHI, al igual que otra mucha gente, y desde entonces han restringido completamente el número de links externos).

Podría ser una buena idea coger información del artículo homólogo de la Wikipedia inglesa para completarlo y reestructurarlo, por cierto. Ni falta hace que diga que se abstengan todos los que no sabéis redactar bien: queremos que no cierren el artículo dentro de 4 semanas, no que lo cierren inmediatamente en 4 horas.

El ROM Hacking en general (y los ROM hackers de WaH en partícular) contamos con vuestra ayuda para mantener nuestro hobby en el conocimiento de la gente.
 

White

--------------------------------------------------
He traducido la pagina inglesa, creo que esta traducción es suficiente para que no cierren la pagina, pero no viene mal ampliar y sobre todo actualizar un poco la información.


El ROM hacking es el proceso de modificar una ROM de un videojuego para editar los gráficos, diálogos, niveles, gameplay y/o otros elementos. Esta técnica es utilizada por fanáticos de los videojuegos con conocimientos técnicos para darle de nuevo vida a preciados juegos antiguos, a modo de reto creativo o para crear nuevos juegos utilizando el motor antiguo del juego.

El ROM hacking se logra mediante el uso de un editor hexadecimal (el cual es un programa para editar datos no textuales) y varias herramientas especializadas como un editor de tiles, objetos y otros, aunque también se usan a veces herramientas mas avanzadas como ensambladores o depuradores.
Una vez terminado el hack ROM, generalmente se publica en internet para que otras personas puedan jugarlo en un emulador o en la propia consola.

Las traducciones de fans (conocidas como “hacking de traducción” en las comunidades de hack ROMs) es un tipo de ROM hacking; también existen hacks anti censura para restaurar el juego a su estado original, esto suele verse en juegos mas antiguos que fueron importados a otro país, ya que las políticas de contenido de los desarrolladores de videojuegos (sobre todo, Nintendo) fueron mucho mas estrictas en los Estados Unidos que en Japón o Europa. Aunque gran parte de la metodología se aplica a ambos métodos, este articulo se centra en el “hacking creativo” como la edición de niveles.


Comunidades:

La mayoría de los foros o grupos de ROM hacking ofrecen espacio web para alojar hack ROMs o capturas de pantalla (a veces solo admiten hacks de los miembros del grupo pero a veces admiten casi cualquier hack), un tablón de mensajes y a menudo tienen un canal IRC.


Métodos:

Debido a que los juegos son creador por gran variedad de programadores y equipos, los datos de la ROM pueden ser muy diversos.

Edición Hexadecimal:

Un editor hexadecimal es una de la herramientas esenciales de cualquier ROM hacker. Lo editores hexadecimales se suelen usar para editar texto y para editar otros datos cuya estructura es conocida (por ejemplo, las propiedades de un objeto) y para el ASM hacking.

Editar textos es una de las formas más básicas del hacking. Muchos juegos no almacenan el texto en formato ASCII, y por esto, se han desarrollado algunos editores hexadecimales especializados, que son capaces de decir que valores de bytes corresponden a cada letra(s) del alfabeto, para facilitar la edición de texto; un archivo que define estas relaciones byte=letra es denominado archivo “tabla”. Otros juegos también usan técnicas simples de comprensión de texto (como la codificación de pares de bytes, también llamada codificación dual o DTE, en la cual ciertas combinaciones de dos o mas letras se codifican como un byte) que un editor hexadecimal bien preparado puede facilitar su edición.

Un editor hexadecimal es la herramienta elegida para editar elementos, como las propiedades del jugador/objeto, si se conoce la estructura y ubicación de estos datos y no hay una herramienta especifica del juego que pueda editar esta información. Algunos hackers intrépidos también realizan una edición de niveles con un editor hexadecimal, pero esto es extremadamente difícil (excepto en juegos cuyo formato de almacenamiento de niveles se asemeja mucho a como se muestra en un editor hexadecimal)

Edición de Gráficos:

Otro apartado básico del hacking es la edición de gráficos, que consiste en cambiar la apariencia de los entornos, los personajes, las fuentes u otras cosas del juego.
El formato de los datos gráficos, varia de una consola a otra, pero la mayoría de las primeras (NES, Super NES, Game Boy, etc.) almacenan gráficos en tiles, los cuales son unidades de datos de 8x8 pixeles, que están dispuestos en pantalla para producir el resultado deseado. La edición de los tiles también es posible mediante un editor hexadecimal, pero generalmente se logra con un editor de tiles (como Tile Layer o Tile Molester), que puede mostrar los datos de la ROM de una manera gráfica, encontrar tiles y editarlos.

Los hacks de gráficos pueden ir desde simples ediciones (como darla a Mario un afro), “portar” personajes de otro juego, cambios temáticos (por lo general cambios de paletas; ver mas abajo).

El hacking de gráficos mas sofisticado consiste en cambiar mas que solo tiles y colores, sino también la forma en que se organizan o se generan grupos de tiles, lo que da mas flexibilidad y control sobre la apariencia final del juego. Esto se logra mediante la edición hexadecimal o una herramienta especializada (ya sea para el juego especifico o un sistema especifico). Un buen ejemplo de hack grafico es el incompleto Pokémon Torzach, un hack que intento agregar una nueva generación de Pokémon y tiles. El hack ha sido descontinuado, pero aun sirve como un buen ejemplo de lo que se puede lograr con las herramientas disponibles.

Edición de Paletas:

Otro método común del hacking es el hacking de paletas, donde los valores de color se modifican para cambiar los colores que ve el jugador en el juego (eso a menudo va de la mano con el hacking 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 usan un conjunto predefinido de colores entre los que selecciona el juego; el hacking de paletas en este caso implica cambiar cual esos colores se seleccionan.
El asunto es un poco mas complicado con los juegos de Super NES y otros sistemas, que almacenan valores de color RGB absolutos. Los editores de paletas suelen ser sencillos y, a menudo, están junto a editores de nivel o editores de gráficos en la misma herramienta.
Edición de Niveles:

Una de las formas más populares del ROM hacking, la edición de nivel, implica la modificación o el rediseño de los niveles o mapas de un juego. Esto se hace casi exclusivamente con un editor especialmente diseñado para cada juego (llamado editor de niveles).
Se puede editar un nivel para hacer que el juego sea mas desafiante, para alterar el flujo de la historia, o simplemente para dar algo nuevo a un juego viejo. Combinado con un amplio hacking de gráficos, el juego puede adoptar una apariencia y sensación muy diferentes.

Edición de Datos:


Un componente central de muchos hacks (especialmente de los videojuegos de rol) es la edición de datos como el jugador, los objetos y las propiedades de los enemigos. Esto generalmente se hace “a mano” (con un editor hexadecimal) si se conoce la ubicación y la estructura de los datos, o con una herramienta específica del juego que tenga esta funcionalidad. Con esto, un hacker puede alterar como funcionan las armas, como de fuertes son los enemigos o cómo actúan, etc. Esto se puede hacer para que el juego se mas fácil o mas difícil, o para crear nuevos escenarios para el jugador.

ASM Hacking:

La técnica de hacking mas poderosa, y posiblemente las más difícil es editar el código real del juego, un proceso llamado ASM hacking (“ASM” significa “ensamblar”, refiriéndose al tipo de lenguaje de programación utilizado para los primeros videojuegos).
No existe un patrón establecido para el ASM hacking, ya que el código varia mucho de un juego a otro, pero la mayoría de los hackers de ASM habilidosos utilizan un emulador equipado con un depurador o rastreador, o ejecutan la ROM a través de un de un desensamblador, luego analizan el código y lo modifican usando un editor hexadecimal o ensamblador, según sus necesidades.
Aunque es bastante desafiante en comparación con los métodos nombrados anteriormente, todo es posible con el hacking de ASM (por supuesto, dentro de los limites del hardware/software de la consola), desde la alteración de la inteligencia artificial enemiga hasta el cambio en la generación de gráficos. (Por supuesto, las posibilidades todavía están limitadas por la capacidad del hacker para comprender y modificar el código existente)

Si los desarrolladores usaron otro lenguaje de programación, el hacker puede compilar su propio código para el juego en el mismo idioma si tiene acceso a un compilador adecuado.
Un ejemplo de esto seria usar C para hackear juegos de Nintendo 64, ya que MIPSGCC puede compilar código para esta consola.

Edición de Música:

Los hacks que modifican la música son relativamente raros, debido a la gran variedad de maneras en que los juegos almacenan datos de música (de ahí la dificultad de localizar y modificar estos datos) y las dificultades de componer música nueva (o transferir música de otro juego).
Como el crackeo de música es muy poco frecuente, muchos hacks no tienen añadida ninguna música portada/compuesta.
El programa SapTapper se puede utilizar para hackear los datos musicales de Game Boy Advance, sin embargo, muchos juegos de GBA usan el motor M4A (también llamado “Sappy Driver”) para la música. Se crearon otras herramientas para trabajar con este motor, como Sappy 2006.
Existe una variante del mismo motor que se usa en los juegos de Nintendo 64, donde muchos de los juegos usan el mismo formato; aunque utilizan diferentes bancos de sonido, como se esperaba.
Se creo una herramienta conocida como N64 Midi Tool para editar las secuencias que usan la mayoría de los juegos de Nintendo 64, aunque no funciona en los juegos “first-party” de N64 debido a que usan un motor ligeramente diferente, como Super Mario 64.
Varios juegos de Mega Drive usan un motor de sonido no oficial conocido como “SMPS”, que ha sido investigado durante décadas por muchos hackers.
Hoy en día, existen varias herramientas para editar la música de los juegos que usan el motor SMPS (en particular los juegos de Sonic the Hedgehog), y muchos de ellos se publicaron en la “workshop” de Steam.

Expansión de la ROM:

En términos generales, un ROM hacker normalmente no puede agregar contenido a un juego, sino simplemente editar el ya existente. Este limite se puede superar a través de la expansión de la ROM, en este proceso, se aumenta el tamaño de la ROM, dejando espacio para mas contenido y, a su vez, un juego mas grande. La dificultad para hacer esto varía según el sistema para el que se creo el juego. Por ejemplo, expandir una ROM de NES puede ser difícil o incluso imposible debido al “mapper” utilizado en el juego. Si un “mapper” permite 16 bancos de memoria y todos ellos están siendo usados, expandir la ROM aun mas es imposible sin convertir de alguna manera el juego a otro “mapper”, lo que podría ser fácil o extremadamente difícil. Por otro lado, expandir un juego de SNES es (relativamente) directo. Para utilizar el espacio adicional, las partes del código del juego deben ser modificadas o reescritas (Ver ASM Hacking mas arriba) para que el juego sepa donde buscar. Otro tipo de expansión de ROM que es bastante fácil es la de ROMs de GBA. Las ROMs en si son generalmente muy pequeñas, pero el espacio de memoria disponible a veces lo supera en múltiplos de hasta 17.



Distribución:

Una vez que has completado tu hack (o una versión incompleta pero adecuada para un lanzamiento provisional) se puede publicar en internet para que otros usuarios puedan jugarlo.
La forma generalmente aceptada de hacer esto es hacer un parche no oficial (en formato IPS u otros) que se puede aplicar a la ROM no modificada. Esto, y generalmente algún tipo de documentación, se guarda en un archivo y se sube a alguna página.
IPS es un formato para registrar las diferencias entre dos archivos binarios (en este caso, entre la ROM no modificada y la ROM hackeada) y es adecuado para hack ROMs. IPS todavía se usa a día de hoy para parches pequeños; sin embargo, a medida que las ROMs se hicieron más grandes, este formato se volvió inservible, lo que llevo a crear nuevos formatos de archivo, como NINJA y PPF (“Formato de Parche de PlayStation”).
PPF todavía se utiliza hoy en día, particularmente para parchear archivos de gran tamaño, como imágenes ISO CD y juegos de Nintendo 64.
Un nuevo formato de parche, UPS, también ha sido desarrollado por la comunidad de ROM hackers, diseñador para ser el sucesor de IPS y PPF.
Un formato de parche mas reciente, el sistema de parches APS, también ha sido desarrollado por un hacker de GBA. El sistema APS es mas eficiente en el uso del espacio, es reversible y es más rápido que sus predecesores.

El propósito de distribuir un hack en forma de parche es evitar los aspectos legales de la distribución de ROMs completas; el parche registra solo lo que ha cambiado la ROM, por lo que al distribuirlo no suele incluir partes del juego original.
Un parche también suele ser mucho mas pequeño que una ROM completa (una ROM de NES puede pesar desde 8kb hasta 2mb, una ROM de Super NES puede pesar desde 256kb a 6mb)

En un ejemplo de distribución legal, Sega lanzo un centro virtual basado en Steam para su antigua colección de juegos de Mega Drive/Genesis, llamado “Sega Mega Drive Classics Hub”.
Además de permitir a los jugadores reproducir versiones emuladas de estos juegos mas antiguos, aprovecha el soporte Steam para que puedas descargar el contenido creado por el usuario a través de la Steam Workshop, lo que permite encontrar hack ROMs de cualquiera de los clásicos de Sega.


Uso:


Las ROMs parcheadas se suelen jugar en emuladores, sin embargo, también es posible reproducir hack ROMs en el hardware original.
El cartucho utilizado podría ser el cartucho original del que se extrajo la ROM u otro cartucho compatible del mismo tipo.
Este método es usado para traducciones de fans, juego de “homebrew”, prototipos u otros juegos para los cuales nunca se produjeron cartuchos originales, o para juegos que requieren sincronización exacta u otros elementos del hardware original que no están disponibles en emuladores.


Juegos y Sistemas:


La mayoría de los hack ROMs se realizan con juegos de NES y Super NES, ya que son pequeños y simples en comparación con los juegos de consolas mas avanzadas como la Nintendo 64 o la Nintendo DS. Los juegos para Game Boy, Game Boy Color y Game Boy Advance también son populares, así como los juegos de Sega Mega Drive y PlayStation en menor medida.
Pero de ninguna manera los juegos para consolar recientes están exentos de hacks y, de hecho, a medida que las computadoras se han vuelto más rápidas y se han hecho mas programas, han surgido hacks de PlayStation, Nintendo 64 y Nintendo DS.
De estos, los juegos populares para jugar son juegos populares para hackear; existen muchos hacks de la saga Sonic the HedgeHog, la saga de Super Mario (incluyendo Super Mario 64 y Super Mario World), la saga Mario Kart (sobre todo Super Mario Kart, Mario Kart Wii, Mario Kart 7 y Mario Kart DS), la saga Pokémon, Chip´s Challenge, Final Fantasy, The Legend of Zelda, juego de la saga Mega Man, Fire Emblem, EarthBound, Super Metroid y muchos otros.

Un notable hack fue Street Fighter II Blackbelt Edition, que presento una mayor velocidad de juego y nuevos movimientos especiales.
El éxito de este hack llevo a Capcom a lanzar Stree Fighter II: Hyper Fighting como respuesta oficial.

Su revista Sinclair, publico una columna mensual llamada “Programa Pitstop”. Esto se centró principalmente en los trucos para juegos, pero también presento una “level map printer” para el Gauntlet original, así como un editor de niveles completo para el mismo juego.

El apartado de la expansión de la ROM no se si esta bien traducido, ya que no lo he entendido muy bien.
 
Última edición:

Nachoius

Caminante del cielo
La traducción precedebte me parece lo bastante digna como para ser subida a wikipedia. Tiene unos detallitos que al leerlos es fácil mejorarlos. Pero en general esta bastante bien. Yo usaria esa
 
Estado
Cerrado para nuevas respuestas.
Arriba