“Bugs” y “Glitches”. El lado imperfecto de los videojuegos

Nada es perfecto en este mundo (excepto Flopgames y su magnífico Staff, claro xDDD), ni siquiera los programas informáticos escritos por esos meticulosos seres “cuadriculados” llamados informáticos. Cuando se desarrolla un programa informático, o más particularmente, un videojuego, uno de los procesos cruciales en su diseño es la escritura de un código de programación. Este código es, grosso modo, una serie de instrucciones que le indican a la aplicación cómo debe “reaccionar” en cada momento. Cuando algo sucede (causa), debe estar contemplado en estas instrucciones (efecto). De no ser así, el programa desconoce cómo responder a la causa, y pueden darse efectos extraños. En la terminología informática a este tipo de errores se les conoce como bugs y glitches, y como bien he dicho, los videojuegos, que también tienen su propio código de programación, no escapan de su dominio de influencia (no siempre nocivo y perjudicial). En esta entrada nos dedicaremos a hablar de algunos de los motivos y resultados de estos curiosos errores, ejemplificando para el caso particular de los videojuegos y comprobando que estos efectos pueden engrandecer todavía más la popularidad y diversión del título en cuestión. Un tema siempre atractivo desde el punto de vista de la curiosidad natural del ser humano que intenta traspasar las fronteras que tiene asignadas para llegar al fin último de todo…

Un bug, por definición, es la consecuencia final de un error en el desarrollo de un programa informático. Comúnmente suele darse durante las tres etapas del ciclo de vida del software (programa): diseño gráfico y estructural (al no contemplar los programadores posibles deficiencias que pueden inhabilitar el uso del programa para ciertas personas: colores inapropiados para gente daltónica, textos de difícil lectura dado el tamaño de su tipografía, etc), programación del código y uso del particular (eliminación de carpetas, reiniciación del sistema y en general cualquier actividad en la computadora del usuario por parte del programa que no requiera la autorización inicial de este último, como sucede con algunas instalaciones de ciertos programas, como todos sabemos).

La programación informática es, a la vez, una rama de la ingeniería (informática) y un arte. El buen programador, el artista, debe saber escribir las instrucciones necesarias para el correcto funcionamiento del programa (código), y hacerlo de la forma más optimizada que se le ocurra, que será aquella que requiera la menor cantidad de “texto” posible, en aras de no relentizar con código “inútil”, la concatenación y lectura de instrucciones. Una tarea difícil propia de personas con mucha paciencia y un buen razonamiento lógico. Sin embargo, muchas veces estos errores escapan de toda predecibilidad, y son imposibles de evitar, generando los famosos “bugs”.

De las tres etapas, la segunda: programación, es la que mayor cabida y variedad da a los errores. Hay que percatarse que escribir un código informático es un “trabajo de chinos”. El programador debe conocer las leyes de la lógica, las matemáticas y el lenguaje específico de programación que está usando (Java, C, Fortran, Pascal…) a la perfección, y anticiparse en todo momento a las posibles respuestas del programa y el usuario. Por si todo esto fuera poco, el ordenador es una “caja boba” e interpreta literalmente todo lo que le mandamos, por lo que nuestro código ha de detallar milímetricamente de dónde partimos y qué es lo que queremos conseguir, un esquema mental que no siempre está claro desde un principio. Aunque la mayoría de los lenguajes de programación vienen implementados con una serie de herramientas que ayudan a corregir los errores (debuggers) durante la fase de montaje de un código en una herramienta ejecutable (compilación), lo cierto es hay una facilidad enorme de que aparezcan problemas no previstos cuando el programa está funcionando. Causas comunes podrían ser:

– Usar estructuras condicionales ( Si pasa “tal cosa”… haz “esto”… si no haz “esto otro”…etc) que no contemplan todas las posibles “salidas”(efectos) de un determinado fenómeno (causa).

– Bucles mal planteados que se repiten infinitamente sin poder escapar (“la pescadilla que se muerde la cola”). O lo que es peor, un bucle dentro de una estructura condicional mal planteada ( Si pasa tal cosa, haz que esto, que no está definido y no sé que hacer con él, se repita hasta que…)

Desbordamiento de datos debido a la memoria finita de los dispositivos electrónicos. Claro, para los matemáticos, unos seres todavía más “cuadriculados” que los informáticos, es muy bonito vivir en el mundo de “yupi” y trabajar con números con infinitas cifras decimales distintas, llamados irracionales por algo más que simple capricho. Sin embargo, los ordenadores tienen memorias limitadas, y al hacer operaciones aritméticas que involucren el manejo de dígitos muy grandes o muy pequeños, podemos sobrepasar la memoria por encima de lo permitido (overflow -NaN) o por debajo (underflow). De toda esta problemática situación se encarga una disciplina llamada Análisis/Cálculo Numérico, que todos los estudiantes de ingeniería hemos tenido que soportar alguna vez (xDD).

– Pérdidas de archivos importantes al sobrescribir sobre ellos los datos de una determinada operación.

– Introducción de variables que no hemos definido previamente (inicialización), y el ordenador por tanto no sabe qué son.

– Etc.

¿ Y por qué bug? La respuesta la tenéis en la foto que encabeza la entrada de este artículo. El término bug se popularizó en 1947 cuando Grace Murray Hopper, programadora del Mark II( uno de los primeros ordenadores que existieron) pegó una polilla con cinta adhesiva en el informe que explicaba un fallo en la citada computadora. Al parecer, el fallo habría sido ocasionado por la inclusión de la susodicha polilla en uno de los relés de la máquina provocando que éste quedara abierto e impidiendo su correcto funcionamiento. Cómico o no, sobre todo para aquellos que creen que la mala prensa de las polillas es sólo debida a la leyenda de Mothman, lo cierto es que el inventor Thomas Edison ya habría usado este término un siglo antes para referirse al fallo o mal funcionamiento de varios de sus inventos. Sea como sea, en la actualidad su uso se ve restringido al campo informático.

En cuanto a los glitches, estos son errores menos “agresivos” que los bugs en cuanto a que no comprometen la estabilidad y el “buen funcionamiento” de la aplicación. Aunque la mayoría de la gente los suele confundir, técnicamente no son lo mismo, pues los glitches nos permiten seguir disfrutando del programa, pero con una respuesta y unas características no previstas que pueden dar lugar a multitud de fenómenos desconocidos. Pasado un tiempo o realizando cierta actividad el error se atenúa hasta que la aplicación vuelve a la normalidad. Si en cierto punto se suman varios glitches, o de alguna forma el que tenemos se vuelve inestable discapacitando la aplicación e impidiendo su uso de forma irreversible, estaríamos hablando ya de un bug.

En estos dos vídeos MundoNintendo nos menciona algunos de los “glitches” más conocidos del mundo de los videojuegos. Algunos de ellos han quedado ya completamente inmortalizados. Otros todavía están por descubrir…

Hablando ya de videojuegos, el tema que aquí nos ocupa, hay que decir que los glitches han ganado mucha popularidad. Lo cierto es que estos pequeños errores, por el simple hecho de permitir al gamer seguir explorando el videojuego en condiciones insólitas, levantan su curiosidad y su necesidad de exploración. Mientras el glitch no degenera en bug y se puede seguir jugando, el videojugador saca su vena científica y empieza a experimentar con la repercusión que las distintas respuestas de esa sección defectuosa de código produce en el terreno jugable. Dicha respuesta puede ser provechosa (cuando el usuario obtiene algún beneficio gracias al glitch, que acaba desapareciendo), neutra (cuando no se obtiene ningún beneficio jugable, salvo la mera diversión y orgullo del gamer, que encuentra una ruta alternativa al camino prefijado del juego) o perjudicial (cuando el glitch se convierte en bug y/o genera un peligro potencial de pérdida de datos en la partida).

 “Trucos”, “secretos”; así les hemos llamado siempre desde que eramos críos, momento en el que despertaban nuestras ansias por salirnos de los límites que los programadores habían impuesto, y siempre pensando positivamente que podríamos obtener algún provecho de ellos. Y es que buscarle sentido a los glitches era como buscarle sentido a la vida, no siempre con una respuesta sencilla, pero que sacaba lo mejor de nosotros: voluntad, imaginación, perseverancia y cooperación; unos atributos nada despreciables. La buena noticia es que siempre la tenían. Bien fuera en forma de avanzar varias fases de “un tirón” (Súper Mario Bros), obtener vidas infinitas (Donkey Kong Country), incentivar nuestras ansias de exploración (Windwaker), o simplemente echarnos unas risas, aunque fuera a costa de perder los datos guardados de nuestra partida (Pokémon); los glitches han estado siempre ahí, rompiendo los esquemas, la monotonía y ofreciendo diversión extra una vez rematados los títulos. ¿Quizá algunos han sido creados deliberadamente, con esa finalidad? Dejo la pregunta en el aire para que opinéis, queridos lectores. Un afectuoso saludo desde Flopgames.

Escrito por Knuck. En memoria de Marie Curie, una de las mentes más prodigiosas que jamás ha existido.

2 Responses to “Bugs” y “Glitches”. El lado imperfecto de los videojuegos

  1. Clay dice:

    Los bugs de Pokémon darían para más de una macroentrada xD

    • Knuck dice:

      La verdad es que sí, aunque todos los juegos tienen siempre algún fallo inesperado. Es ley de vida. Imperfección humana. Gracias por comentar como siempre, jefe 🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: