Pinball de Windows: el error oculto que lo borró y no fue por licencias

by Tecnoandroid
Pinball de Windows: el error oculto que lo borró y no fue por licencias

Durante años se dio por sentado que la desaparición del Pinball de Windows tenía que ver con un lío de licencias, pero la verdad era otra bien distinta. Quien pasó tardes enteras jugando a 3D Pinball: Space Cadet en los ordenadores del colegio o de la oficina recordará ese clásico que acompañó a varias generaciones. Y ahora sabemos por qué se esfumó cuando llegó Windows Vista.

Quien ha aclarado el misterio es Raymond Chen, ingeniero de Microsoft con más de treinta años a sus espaldas dentro de la empresa. En su blog contó algo que muchos no esperaban. El motivo real no fue nada legal, sino un error de programación que nadie consiguió localizar a tiempo. Así de simple y, a la vez, así de frustrante.

Un fallo de redondeo que dejó fuera de juego a la bola

Chen formaba parte del equipo encargado de migrar Windows XP a la versión de 64 bits. Al compilar el sistema en el chip Alpha AXP, que se usaba antes de que apareciera el hardware Itanium, empezaron los problemas. La bola de la mesa Space Cadet atravesaba el émbolo de lanzamiento y se caía directamente fuera del tablero. Resultado: partidas que duraban apenas unos segundos. Imposible jugar.

El culpable era el detector de colisiones, que fallaba por un error de redondeo en coma flotante. Un tipo de fallo bastante habitual cuando se trasladan cálculos entre arquitecturas de 32 y 64 bits. Chen y un compañero se pusieron a revisar el motor físico del juego, pero enseguida se dieron cuenta de que el problema era mucho más grande que el propio error. Nadie sabía por dónde empezar a buscar.

Link affiliato

Código ajeno, sin comentarios y sin garantías

Aquí está la clave de todo. El código lo había escrito años antes una empresa externa, Cinematronics, responsable del motor de Full Tilt! Pinball. De todo aquel juego, Microsoft solo había licenciado la mesa Space Cadet. Y ese detalle lo cambiaba todo, porque nadie dentro de la compañía entendía cómo funcionaba por dentro aquel motor.

Para colmo, el programa no incluía comentarios que explicaran la lógica de cada función. Ni una sola pista. Los ingenieros ni siquiera consiguieron dar con la parte responsable de mantener la bola sobre la mesa. Corregir aquello habría significado estudiar línea a línea un motor completamente ajeno, sin ninguna garantía de acabar arreglándolo.

Y ahí entra el sentido práctico. Con millones de líneas de código todavía pendientes de migrar a 64 bits y una fecha de lanzamiento ya marcada, el equipo de Chen tomó la decisión que cualquiera habría tomado en su lugar. Como él mismo explicó, no podían permitirse pasar días enteros escarbando en el código para descubrir qué oscuro error de redondeo estaba tumbando la detección de fallos del juego. Así que el Pinball se quedó fuera de Windows Vista y no volvió jamás.

Fuente
Imagen: softzone.es

Link affiliato

Related Articles