Misterios de la informática: ¿por qué 255 era un número mágico en los videojuegos de los años 80?
No hace falta que seas experto en juegos 'retro' ni que te hayas pasado los últimos veinte años de tu vida encerrado en una habitación con la única compañía de una videoconsola: hasta el más casual de los 'jugones' ha disfrutado alguna vez de estos títulos. ¿Te suena 'Pac-Man'? Sí, hombre, el mítico 'comecocos'. ¿Sabías que el máximo nivel al que se puede llegar es el 255? Después se cuelga. Doscientos cincuenta y cinco. Recuerda este número, porque lo vamos a ver aparecer a lo largo de toda la historia del ocio interactivo.
Vamos con otro clásico, 'The Legend of Zelda'. ¿Te fijaste en que Link no podía llevar más de 255 rupias en su bolsillo virtual? Su riqueza tenía como límite el número mágico. Sucede también con las estadísticas en varias entregas de la saga 'Final Fantasy' o con el número de víctimas de cada una de tus unidades militares en 'Starcraft'. Curioso, ¿no? ¿Será casualidad? Tal vez si te cuento que también coincide el máximo de puntos por partido en los juegos de fútbol americano 'Madden NFL' y el máximo de misiles que Samus puede llevar en 'Metroid Prime', te empiece a costar verlo como una coincidencia.
Y efectivamente no lo es. De hecho tiene una explicación de lo más lógica.
Regresión al 'píxel gordo'
Todo comenzó a mediados de los años 80, cuando aparecieron las primeras consolas de 8 bits, con la NES de Nintendo y la Master System de SEGA a la cabeza. Por aquel entonces, seguro que lo recuerdas, los videojuegos eran muy sencillos y las máquinas muy poco potentes. La culpa se la puedes echar al procesador, responsable de realizar las operaciones aritméticas (sumas, restas, multiplicaciones, divisiones...) que están en la base de todas las funciones de un ordenador o, en este caso, una videoconsola.
Como probablemente sabrás, las máquinas no echan las cuentas con los números del sistema decimal que usamos los humanos (1,2,3,4,5,6...), sino que utilizan un sistema conocido como código o lenguaje binario, compuesto únicamente de unos y ceros. Por ejemplo, el 40 de toda la vida sería 101000 en binario. Como veis, son seis dígitos, cada uno de los cuales recibe el nombre de bit. Por lo tanto, diríamos que el número cuarenta en binario tiene una longitud de seis bits (seis dígitos).
Los procesadores de 8 bits se llaman así precisamente porque trabajan con números binarios de ocho dígitos. Ese es el máximo. ¿Y qué tiene que ver eso con el 255? Pues resulta que es el valor más alto del sistema decimal que puede traducirse a un binario de ocho dígitos. Es decir, el 0 del sistema decimal corresponde al 00000000 del binario y el 255 corresponde al 11111111. Sería imposible representar el 256 con una longitud de 8 bits. Si no me crees, échale un vistazo a este vídeo en el que lo demuestran paso a paso.
Por eso si el jugador intrépido completaba el nivel 255 del 'Pac-Man', colapsaba el juego. Era una limitación de 'hardware': el procesador no tenía capacidad para hacer los cálculos de una sola vez. Por decirlo de alguna manera, le faltaban dedos para seguir contando. ¿Podían haber solucionado ese problema? Sí, dividiendo en varios pasos el recuento de niveles, en lugar de hacerlo de un tirón, con una sola variable. Pero probablemente no lo vieron necesario y prefieron destinar a otra cosa esos recursos.
Más adelante, ya a principios de los noventa, comenzaron a popularizarse las consolas de 16 bits, que no sufrían esta limitación, pero muchos desarolladores mantuvieron la práctica precisamente para ahorrar recursos. Todavía tenían que apretarse el cinturón y había variables que muy difícilmente iban a superar el valor 255 con un uso normal del juego. Además, ya se había convertido en un número mágico y algunos decidieron seguir usándolo como un guiño a la anterior generación del 'píxel gordo'.