24 de diciembre de 2012

¿Por qué desapareció Pinball de Windows?

Windows XP incluía varios juegos nativos, entre los que se encontraban los míticos Solitario, Carta Blanca o Buscaminas. Pero, además, el sistema operativo contaba con un título de pinball, 3D Pinball for Windows - Space Cadet. Sin embargo, no llegó a Windows Vista. ¿Por qué desapareció Pinball de Windows? Según explicó Raymond Chen, ingeniero de Microsoft, el motivo fue que su código era demasiado complicado.

Pinball de Windows

Hace años, Chen comenzó a portar "varios millones de líneas de código" de 32 bits a 64 para prepararse para el lanzamiento de la edición de Windows XP optimizada para este tipo de procesadores. Entre el código de cuya conversión se encargó el desarrollador estaba el de este juego (también conocido como 3D Pinball o, sencillamente, Pinball).
Pinball estaba presente en el sistema operativo de Microsoft desde los tiempos de Windows 95, así que tenía sentido que la compañía se preocupase por su continuidad. No obstante, una vez que Chen se puso manos a la obra descubrió que la versión de 64 bits del título tenían un bug que hacía que la bola atravesase los objetos "como un fantasma".
Y cuando el objetivo del juego es precisamente chocar contra otros elementos, esto es un problema. Pero tampoco importaba mucho, ya que ni siquiera era posible empezar la partida propiamente dicha, pues este ectoplasma esférico también pasaba a través del mecanismo encargado de impulsarlo hacia el terreno de juego.
"La bola se transportaba al lanzador y después comenzaba a caer lentamente hacia la parte inferior de la pantalla", explica el programador. "Las partidas solían ser muy cortas".
Chen trató de solucionar el fallo del Pinball de Windows con la ayuda de un colega, pero se trataba de código escrito varios años atrás y por otra empresa. Además, reconoce que nadie en la compañía llegó a entender nunca su funcionamiento. Por si fuera poco, no incluía ningún comentario que pudiese ayudar en este sentido. "Sencillamente no podíamos entender por qué no funcionaba el detector de colisiones. Diablos, ¡ni siquiera podíamos encontrar el detector de colisiones!". Por otro lado, tampoco era posible dejar la versión de 32 bits, ya que en ese momento no había opciones de configuración para tener componentes que únicamente fuesen compatibles con estos procesadores.
Esto, unido al hecho de que todavía tenían que realizar el cambio de millones de líneas de código adicionales (entre ellas, por ejemplo, las de Explorer), hizo que se viesen obligados a abandonar el proyecto. Microsoft no se podía permitir que dos desarrolladores pasasen días estudiando un fallo oculto en un programa que, por mucho que nos duela a quienes pasamos horas delante de la pantalla enganchados a Pinball, era bastante prescindible.
Eso sí, el propio ingeniero confiesa que esta decisión le entristece como al que más. "Realmente disfrutaba jugando a ese juego". De hecho, calcula que empleó hasta 4 veces más tiempo del que había presupuestado en un principio al port del Pinball de Windows. Es más, según contó hace tiempo, conseguir arreglar este título para que no consumiese la totalidad de la CPU es de lo que más orgulloso está en lo que se refiere a su trabajo en Windows XP.
Pero, ¿por qué no se liberó el código de Pinball cuando se encontró este problema? Muy sencillo: no pertenece a Microsoft, que se limitó a conseguir una licencia de la compañía que la posee. "Si queréis el código fuente, tenéis que pedírselo a ella".

Visto en gizmologia.com.

No hay comentarios:

Publicar un comentario

Comenta