2012-12-19

ピンボールがWindows Vistaから取り除かれた理由

不自由なOSであるWindows XPまでは、不自由なソフトウェアのピンボールゲームが付属していた。

このゲームは、不自由なWindows Vistaでは、取り除かれた。何故かという理由を、Microsoftの古参社員であるRaymond Chenが明かしている。

Windows 95の時代からあるピンボールゲームが付属していたのは、Windows XPが最後のバージョンである。なぜなくなったのかということについては、法的な理由であるという推測があるようだ。

それは違う。

僕がWindows XPでやった仕事のひとつは、何百万行ものコードを32bitから64bitに移植して、Windows XP 64-bitエディションを出荷できるようにすることだった。64bit版のピンボールには、ボールが幽霊のように、オブジェクトをすり抜けてしまうという、厄介なバグがあった。特に、ゲームを開始して、ボールがランチャーにセットされると、そのままゆっくり画面下に落ちていくのだった。

すぐにゲームオーバーになる。

僕ともう一人が、プログラムをデバッグしていたが、そもそもこのコードは、何年も前に他所の会社で書かれたものであり、Microsoftにこのコードについて理解している人間がおらず(未だによくわかっていない)、しかも、コードのほとんどはコメントが削られているので、我々は衝突判定がなぜ動かないのか分からなかった。いや、そもそも、衝突判定がどこで行われているかすら分からなかったのだ

まだ我々は何百万行ものコードを移植せねばならず、この程度のコードに、何日も無駄に時間をかけて、どこぞの浮動小数点数の丸め誤差が衝突判定を失敗させているかなどと解析することなどできやしなかったのだ。我々は 、製品からピンボールを取り除く判断をした。

僕もこの決定は悲しかったんだよ。このゲームではよく遊んだし。Windows XPで僕が誇れる仕事の成果でもあったわけだし

Why was Pinball removed from Windows Vista? - The Old New Thing - Site Home - MSDN Blogs

ちなみに、あのピンボールゲームは、もともと、Full Tilt! Pinballという、Cinematronics, LLCによって開発され、Maxisによって発売された不自由なゲームが、簡易版としてWindowsに同梱されていたのだ。

1996年にリリースされた不自由なWindows用のソフトウェアである。時代を考えると、おそらく、ソースコードは悲惨なほど読みづらいはずだ。

最初のリンク、

What one Windows XP feature am I most proud of? - The Old New Thing - Site Home - MSDN Blogs

は、Raymond ChenのWindows XPにおける仕事として、ピンボールのFPSを120に制限し、CPUを100%食わないようにしたというもの。このピンボールゲームは古い設計で、可能な限り延々と画面を描画更新し続けるようになっていた。

次のリンク、

When somebody gives you a gift of code, it's more often than not a burden in disguise - The Old New Thing - Site Home - MSDN Blogs

は、なぜMicrosoftはサードパーティのプログラムを付属しないのかという説明。一度付属させたソフトウェアは、相当に長い期間サポートし続けなければならない。Windowsのバージョンの違いや、UIデザインポリシーの変更や、アーキテクチャの変更に対して、常に移植され続けなければならない。特許侵害の訴訟を受ける可能性があるのもMicrosoftだ。

ましてや、自然の風景の写真を壁紙として使ってみたところ、卑猥なサブリミナルが含まれているなどと報告したベータテスターもいるのだ(ベータテスターの精神状態が気になる)。

Windows brings out the Rorschach test in everyone - The Old New Thing - Site Home - MSDN Blogs

No comments: