Повідомлення про пасьянс Windows нещодавно змусило мене думати про ще одну класичну гру в комплекті з Windows: Пінбол. Пінбол Windows був насправді знятою версією Full Tilt! Пінбол , гра 1995 року від Cinematronics. Починаючи з Windows 95 Plus! пакуючи та продовжуючи користуватися всіма споживчими версіями Windows до XP, користувачі можуть безкоштовно грати в «Space Cadet» за столом Full Tilt .
Між версією Windows (яку просто називали "3D Pinball") та таблицею Full Tilt , невелика різниця, але гра запропонувала мільйонам користувачів Windows весело втекти від роботи та навчання. Однак коли на початку 2007 року Windows Vista вийшла на заміну XP, Пінбол Windows ніде не був знайдений. Так що трапилося?
Оскільки Windows Pinball був розроблений компанією Cinematronics та опублікований Maxis, багато хто припускав, що термін дії ліцензії Microsoft на включення гри у Windows закінчився чи що інший юридичний спір між компаніями призвів до видалення гри. Справжня відповідь була менш драматичною, але більш технічною.
Реймонд Чен / Microsoft
Як пояснив у 2012 році в блозі MSDN інженер Майкрософт Реймонд Чен, справжньою причиною втрати Windows Pinball стало перехід від 32-розрядної до 64-бітної архітектури. Хоча Microsoft випустила 64-бітну версію Windows XP, 64-розрядна Windows потрапила в мейнстрім лише до Vista, а особливо Windows 7. Це вимагало оновлення та написання мільйонів рядків коду для підтримки нової архітектури, а з деякими старими програмами було складніше працювати, ніж з іншими:
У 64-розрядної версії Пінбола була досить неприємна помилка, де м'яч просто проходив через інші об’єкти, як привид. Зокрема, коли ви розпочали гру, куля доставлятиметься до пускової установки, а потім вона повільно падатиме до нижньої частини екрана, через плунжер та виходить на дно таблиці.
Двоє з нас намагалися налагодити програму, щоб з’ясувати, що відбувається, але враховуючи, що це був код, написаний на кілька років раніше зовнішньою компанією, і що ніхто з Microsoft ніколи не розумів, як працює код (набагато менше все ще його розуміли), і що більша частина коду була повністю не коментована, ми просто не змогли з’ясувати, чому детектор зіткнення не працює. Чорт, ми навіть не змогли знайти детектор зіткнення!
У нас було ще кілька мільйонів рядків коду, щоб все-таки портувати, тому ми не могли дозволити собі витрачати дні на вивчення коду, намагаючись з’ясувати, яка незрозуміла помилка округлення плаваючої точки призвела до збою виявлення зіткнення. Ми просто прийняли виконавче рішення саме там, щоб скинути Pinball з продукту.
У той час як Windows Pinball, ймовірно, міг би врятуватись з достатньою кількістю часу та ресурсів, Microsoft його просто не варто було робити, щоб тримати гру на плаву. На щастя, такі досягнення, як віртуалізація, дозволяють користувачам Windows певного віку переглянути цю класичну гру. Просто завантаживши віртуальну машину Windows 98 або Windows XP, Windows Pinball, Solitaire та інші класичні ігри знову опинилися в межах досяжності.
Ось факт бонусного забави: Windows Pinball майже навіть не ввійшов у Windows XP. Комп'ютерна апаратура просунулася настільки далеко між розвитком гри та запуском Windows XP, що рання збірка гри на XP працювала зі швидкістю понад мільйон кадрів в секунду, витрачаючи ресурси та збільшуючи процесор системи. На щастя, вирішити цю проблему (додавши обмежувач частоти кадрів) було набагато простіше, ніж вирішити перехід до 64-розрядних, і тому Windows Pinball було врятовано, дозволяючи поколінню користувачів XP також відчувати гру.