- Trata la anécdota de cómo el subtítulo del juego arcade Street Fighter II, ‘World Warrior’, tenía el error tipográfico ‘World Warrier’ hasta justo antes del lanzamiento
- El diseñador gráfico Akiman, al no poder corregirlo porque la GFX ROM ya estaba grabada, ajustó la combinación de sprites para que la ‘e’ pareciera una ‘o’
- Reutilizó parte de los tiles de ‘World’ para reemplazar ‘ier’, pero como resultado surgió un nuevo problema: ‘The World Warrlor’
- Después, usando el tile de la pantorrilla de Guile (0x96), recortó a nivel de píxel la parte superior de la ‘l’ para hacer que pareciera una ‘i’ como corrección temporal
- Esta corrección fue reemplazada oficialmente en versiones posteriores y muestra la respuesta técnica minuciosa y la resolución creativa de problemas en el desarrollo de juegos
El hallazgo del error tipográfico y el inicio de la corrección
- Se descubrió 3 días antes del lanzamiento que el subtítulo de Street Fighter II, ‘World Warrior’, estaba mal escrito como ‘World Warrier’
- Akiman recordó: “Descubrí un error terrible”, y explicó que la GFX ROM ya estaba grabada y no se podía corregir
- La GFX ROM almacenaba los datos gráficos y la ROM 68000 almacenaba las instrucciones, y la ROM gráfica estaba en un estado imposible de modificar
- Akiman intentó superponer sprites para hacer que la ‘e’ pareciera una ‘o’, implementando así una corrección visual
Solución temporal mediante reemplazo de tiles
- El logo estaba compuesto por 16 tiles (
0xC8~0xDF), y Akiman eliminó los últimos tres tiles (0xDD~0xDF) y los reemplazó por 0xCD, 0xCE
- Como resultado, ‘World Warrier’ pasó a ser ‘World Warrlor’, pero seguía el problema de que la ‘l’ no parecía una ‘i’
- Como la CPU 68000 no podía modificar directamente los tiles, era necesario un ajuste a nivel de píxel
Corrección de píxeles usando un tile de Guile
- La clave de la solución estaba en el tile de la pantorrilla del personaje Guile (
0x96)
- Ese tile mostraba solo un único píxel en la esquina inferior izquierda
- La CPU 68000 podía elegir libremente la paleta, y aprovechó la diferencia de color comparando la paleta de Guile con la paleta del logo
- El índice 14 de la paleta de Guile era verde oscuro, mientras que en la paleta del logo era azul oscuro
- Al usar este tile con la paleta del logo, 255 píxeles quedaban transparentes y solo 1 píxel se usaba como si fuera un “lápiz”
- Con tres instrucciones de dibujo, recortó la parte superior de la ‘l’ para hacer que pareciera el punto de una ‘i’
Resultado y versiones posteriores
- Gracias a esta corrección temporal, en la pantalla final quedó mostrado como ‘World Warrior’
- En versiones posteriores se incluyó el conjunto correcto de tiles ‘IOR’, pero no se usó porque el subtítulo cambió a ‘Champion Edition’ y ‘Hyper Fighting’
Importancia técnica
- Este caso muestra que era posible resolver problemas de forma creativa incluso bajo las limitaciones del hardware arcade basado en ROM
- La corrección usando un solo píxel se considera un ejemplo de la combinación entre control gráfico preciso y comprensión del hardware
- El proceso para corregir el error tipográfico quedó como una anécdota que simboliza la depuración minuciosa y la capacidad de respuesta práctica en el desarrollo de videojuegos
1 comentarios
Comentarios en Hacker News
Las verdaderas redes sociales eran los arcades
Entre el sonido de las bolas de boliche rodando en el centro deportivo, podía identificar de inmediato cuál era mi gabinete de juego
La gente se juntaba alrededor para mirar, bromear, y era un espacio lleno de concentración y ovaciones
Durante un rato, el chico que tenía el joystick en las manos recibía una pequeña dosis de respeto, hasta que un dragon punch perfecto cambiaba el trono y todos estallaban en gritos
Eran tiempos en los que volvíamos a poner una moneda y esperábamos nuestro turno, compartiendo dopamina con desconocidos
Ahora estamos más conectados que nunca, pero al mismo tiempo se siente que estamos más lejos unos de otros
Pasaba el rato con amigos hmong de segunda generación cuyas familias habían emigrado después de la guerra de Vietnam, y yo elegía a Ken mientras ellos escogían a Ryu
Esos momentos de competir, reírnos y enseñarnos movimientos entre nosotros fueron una verdadera lección de interacción social
Tal vez los amigos que iban a escuelas privadas se perdieron esa experiencia
Había SF2 en los arcades, pero se jugaba más en solitario que en versus
Cada partida era demasiado cara, así que todos cooperaban y disfrutaban el modo de un jugador, y los PvE como Gauntlet o Knights of the Round eran populares
Era una cultura completamente distinta
En Japón la cultura de los arcades sigue viva
Estos recuerdos se sienten un poco irónicos
Como todos comparten la misma pared, terminas hablando de forma natural con desconocidos, y con solo dedicarle unas horas ya se disfruta bastante
Creo que también hay muchos otros deportes sociales que encajan según la edad
Es una historia realmente interesante
Uno de mis ejemplos favoritos es cuando Naughty Dog modificó Ratchet and Clank usando el EULA
Se puede ver en detalle en esta entrada de blog
Hay un gabinete de SF2 en una hamburguesería cercana, y tiene un dibujo hecho a mano en vez de una calcomanía
Arriba dice ‘HYRER FIGHTING’, y pensando en el error de ‘WORLD WARRIER’, me pareció que le quedaba perfecto
Quisiera preguntar si alguien vio recientemente un video de YouTube relacionado
El título era “It sounds dumb but they really fixed a typo with a human leg”, y también está el enlace al video
Era un video bastante bien hecho
Hoy, al ver esta historia, me dio curiosidad cómo funcionaba el renderizado de texto
Me hizo recordar que antes no existían como algo obvio funciones tipo
drawTextHubo una época en la que incluso mostrar texto había que implementarlo manualmente
Me vino a la mente la frase “Thank you for playing Wing Commander! ”
Era una línea que capturaba perfectamente la sensación de esa época
Era un texto temporal para evitar conflictos con el sistema de administración de memoria
Me hizo pensar en un juego llamado Continental Circus
Hay una sección de trivia en Arcade Museum
En japonés, ‘Circuit’ es サーキット, y su pronunciación es totalmente distinta de ‘サーカス’
Además, llamar ‘circo’ a la F1 es una expresión común no solo en Japón sino en todo el mundo
Me da mucha risa eso de que para dibujar la pantorrilla de Guile usaron 3 draw calls para 3 píxeles
Era una arquitectura de una época en la que no había sistema operativo ni API gráfica y se accedía directamente a la memoria del hardware
Broma sobre que ojalá alguien arreglara el error de “Bimmy and Jimmy” en Double Dragon