- Tech Junkie - https://www.techjunkie.com -

What Ever Happened to Windows Pinball?

Writing about Windows Solitaire [1] recently got me thinking about another classic game bundled with Windows: Pinball. Windows Pinball was actually a stripped down version of Full Tilt! Pinball [2], a 1995 game from Cinematronics [3]. Starting with the Windows 95 Plus! pack [4], and continuing through all consumer versions of Windows up to XP, users could play Full Tilt‘s “Space Cadet” table for free.

Windows Pinball 3D Space Cadet [5]

There were slight variations [6] between the Windows version (which was simply called “3D Pinball”) and the Full Tilt table, but the game offered millions of Windows users a fun escape from work and studying. When Windows Vista rolled out in early 2007 to replace XP, however, Windows Pinball was nowhere to be found. So what happened?

Because Windows Pinball was developed by Cinematronics and published by Maxis, many speculated that Microsoft’s license to include the game in Windows had expired, or that some other legal dispute between the companies resulted in the game’s removal. The real answer was less dramatic, but more technical.

Raymond Chen Microsoft [7]

Raymond Chen / Microsoft

As explained in a 2012 MSDN blog post [8] by Microsoft engineer Raymond Chen [9], the real reason for the loss of Windows Pinball was the switch from a 32-bit to a 64-bit architecture. Although Microsoft released a 64-bit version of Windows XP, it wasn’t until Vista, and especially Windows 7, that 64-bit Windows hit the mainstream. This required updating and writing millions of lines of code to support the new architecture, and some older programs were more difficult to work with than others:

The 64-bit version of Pinball had a pretty nasty bug where the ball would simply pass through other objects like a ghost. In particular, when you started the game, the ball would be delivered to the launcher, and then it would slowly fall towards the bottom of the screen, through the plunger, and out the bottom of the table.

Two of us tried to debug the program to figure out what was going on, but given that this was code written several years earlier by an outside company, and that nobody at Microsoft ever understood how the code worked (much less still understood it), and that most of the code was completely uncommented, we simply couldn’t figure out why the collision detector was not working. Heck, we couldn’t even find the collision detector!

We had several million lines of code still to port [to get Windows XP 64-bit Edition ready to ship], so we couldn’t afford to spend days studying the code trying to figure out what obscure floating point rounding error was causing collision detection to fail. We just made the executive decision right there to drop Pinball from the product.

While Windows Pinball would have likely been salvageable with enough time and resources, it simply wasn’t it worth it to Microsoft to keep the game afloat. Thankfully, advancements such as virtualization now let Windows users of a certain age revisit this classic game. By simply loading up a Windows 98 or Windows XP virtual machine, Windows Pinball, Solitaire, and other classic games are all within reach once again.

Here’s a bonus fun fact: Windows Pinball almost didn’t even make it into Windows XP. Computer hardware had advanced so far between the development of the game and the launch of Windows XP that early builds of the game on XP ran at over one million frames per second [10], wasting resources and maxing out the system’s CPU. Thankfully, solving that problem (by adding a frame rate limiter) was a lot easier than solving the transition to 64-bit, and so Windows Pinball was saved, letting a generation of XP users also experience the game.