Que es realmente missingno

 

 Vale, ya se que os puse un monton de entradas de missingno, pero esta es diferente, explica que es missingno desde dentro del juego en profundidad, bueno ya vereis.


Como muchos habrán supuesto, al ver la imagen anterior de Missingno, este misterioso Pokémon no era tal, sino la representación gráfica de una corrupción de datos:
Esto no es más que, errores de algún tipo (o información no prevista) que hace que al representar la imagen no se muestre como debería, altere parcial (o totalmente) los resultados o mezcle fragmentos de varias imágenes diferentes.

3. El nacimiento de Missingno

El lector se puede estar preguntando... «¿Pero cómo es posible que se cree todo un personaje nuevo? ¡Alguien tuvo que crearlo!». La historia es realmente muy curiosa, ya que se basa en un encadenamiento de tres situaciones diferentes, que intentaré explicar sin utilizar demasiados tecnicismos:

Area del mapa no prevista
Los mapas del juego tienen ciertas zonas donde se pueden encontrar algún pokémon salvaje, por lo que internamente, estas zonas se asocian con un número que representará el pokémon salvaje que aparecerá ahí (cada número identifica a un pokémon determinado).
Estos números se guardan en una zona llamada buffer de datos, que es un espacio de memoria donde se guarda información de la partida del jugador.
Sin embargo, hay una zona del mapa, por la que no se debería poder caminar (ni teóricamente navegar), y por lo tanto, no tiene asociada información sobre el pokémon salvaje que aparecería en ese lugar.
El reemplazo del Anciano (Old man)
En una parte del juego, el jugador puede hablar con un anciano que le enseña a capturar. En ese momento, se muestran algunas imágenes con el anciano tomando el rol de jugador (en la parte inferior izquierda).
Los programadores decidieron guardar temporalmente el nombre real del jugador en el buffer de datos, reemplazándolo por el del anciano mientras realizaba la demostración de la captura de Pokémon, y posteriormente volviéndolo a recuperar.
El problema es que, la zona del buffer de datos donde se guardaba el nombre del jugador, coincidía con la zona donde se guardaba el pokémon salvaje que se podría encontrar en la región «no-caminable» del mapa anterior.
Así pues, tras hablar con el anciano y viajar directamente a esa región del mapa (para evitar alterar el buffer de datos) teníamos zonas con varios pokémon salvajes sin determinar desperdigados, que dependían directamente del nombre de nuestro jugador (recordar que las letras en un PC, equivalen a una representación numérica).
El manejo de excepciones
En el mundo de la programación, existe un concepto llamado manejo de excepciones. Básicamente, se trata de una acción especial a realizar en el caso de que ocurra un evento concreto (generalmente un error o problema).
Al pasar por una región del mapa donde podría haber un pokémon salvaje (hierba, mar...), el juego buscaba en el buffer de datos, encontraba el número del tipo de pokémon, lo buscaba en su «diccionario interno» para saber de que pokémon se trataba (imaginemos que son del 100 al 250) y lo mostraba en la batalla.
Pero en el caso del que hablamos, en lugar de un número concreto (previamente preparado por el programador) teníamos las letras del nombre de nuestro protagonista (por ejemplo, la A es 65) que podrían representar tanto a un pokémon concreto del diccionario como un número que no represente a ningún pokémon.
Al no encontrar el número en el diccionario interno, se activa la excepción MissingNo (del inglés, Missing No.: número desconocido, número no encontrado) mostrándolo como el pokémon encontrado.

4. La inocente repercusión

Aunque el juego tenía un ámbito muy amplio, estaba orientado en su mayoría a un público infantil, que al desconocer todo este tipo de detalles, su lineal juego se convertía en algo que «cobraba vida» y lo asociaban a un misterioso y aún no descubierto pokémon.
Para terminar de rizar el rizo, este problema (que no deja de ser un error de corrupción de datos), alteraba el curso normal del juego, produciendo, como parece obvio, todo tipo de errores que despertaban la curiosidad del inocente jugador:
  • Imagen visual: Generalmente se mostraba esa «pieza», aunque en otras ocasiones se mostraban otros sprites poco usados como un fantasma o los fósiles pokémon de un museo (Si ya era misterioso el Missingno, imaginen cuando les aparece a un niño un pokémon no documentado en formato de esqueleto o fantasma...)
  • Puntuaciones o acciones: Todo tipo de errores se podía ver en los niveles, puntuaciones o energía de los diferentes pokémon, en el que su funcionamiento normal se volvía totalmente impredecible.
  • Sonido corrupto: Como se puede ver en el siguiente vídeo, la música sufría el mismo problema de corrupción de la imagen, sin embargo, a veces el efecto producido era el de nuevos sonidos y canciones que resultaban bastante curiosas para alguien que desconocía toda esta historia.



Via: emezeta

0 comentarios:

Publicar un comentario