Continuamos con la serie acerca de bugs en el software donde ya vimos algunos accidentes y pérdidas económicas importantes. Aunque la palabra bug o error insinúa que hay que evitarlo a toda costa por el bien del proyecto o programa, no siempre hay que dar prioridad a la eliminación de errores. Muchos sistemas funcionan aceptablemente con un margen de errores asequible .
En algunas ocasiones los bugs pueden ser hasta divertidos. Estos suelen ser un entretenimiento para hackers o jugones. Por alguna razón, el ansia por descubrir cosas nuevas o rodear el comportamiento habitual para conseguir realizar tareas no permitidas, permite a algunas personas que disfruten buscando y enseñando este tipo de bugs.
En algunas ocasiones cuando el error se manifiesta en un videojuego se denomina glitch. Un glitch es un error en un videojuego sin que afecte al funcionamiento principal del juego. Al igual que en el resto de programas, esto ocurre cuando se realizan ciertas acciones que modifican las variables del juego con valores que el programador no tenía contemplado. Pero lo más divertido de todo es que en un videojuego puedes ver como se comportan los sprites y las pantallas cuando ocurre esta anomalía.
Iba a enumerar algunos bugs pero creo que es mucho más divertido verlos directamente en video y ver que aspecto tiene el juego cuando el bug se manifiesta. ¡Una imagen vale más de mil palabras!. Por ese motivo os dejo unos links a una serie de videos que hablan de diferentes bugs en juegos clásicos: parte 1, parte 2 y parte 3
Si veis los videos podréis ver como existen sprites que cambian de color y de forma, pantallas misteriosas, formas de encontrar vidas infinitas o lugares que no deberían ser accesibles. Otras veces estos bugs no son tan espectaculares pero que hacen que el juego no tenga sentido. Un ejemplo clásico es el típico jefe final de pantalla en el que si permaneces agachado o en un sitio concreto, el jefe no te puede atacar mientras que tu si puedes atacarle a él. Normalmente, los jugones como yo que hemos pasado la infancia entre videojuegos decíamos que esta fase o jefe tenía truco.
Revisar este tipo de bugs es muy complicado. Normalmente suele ser complicada la realización de test en aplicaciones de gestión. Pero en el caso de los videojuegos es todavía más complicado. Testear un videojuego no solamente es comprobar que las funciones sean algorítmicamente correctas. Un videojuego debe transmitir un ritmo y una jugabilidad. Debe transmitir que el usuario puede pasar las fases con una dificultad progresiva. En resumidas cuentas, debe transmitir una sensación que tiene relación con los sentimientos y el arte.
Por ello, los test de videojuegos suelen realizarse precisamente jugando. Varias personas pasan horas y horas para evitar que el personaje no realice tareas ilegales o que no existan trucos para pasarse el juego con gran facilidad. También se evalua que la dificultad y la jugabilidad sean la apropiada. En resumen: "¡Un gran trabajo en pulir detalles!". Recuerdo un comentario de un compañero que trabaja desarrollando videojuegos que me dijo: "Desarrollar un videojuego es una tarea muy exigente. Todo el mundo va a intentar buscar el fallo para aprovecharse".
En futuros números veremos efectos colaterales en módulos dispersos y los bugs más comunes al desarrollar.
En Genbeta Dev | Bugs en el software I: Accidentes y pérdidas graves por fallos en el software