デザイナーのウィル・ライトとスタジオのマクシスの背後にある 1989 年の伝説的な建築戦略であるシムシティを知らない人はいません。 SimCity シリーズは今日でも非常に人気があり、90 年代も例外ではありませんでした。 プログラマー兼ライターの Joel Spolsky は、何年も前に、固有のバグと Windows 95 オペレーティング システムの出現により、オリジナルの SimCity (および実際には Microsoft 自体) がクラッシュする可能性があることを明らかにしましたが、興味深いパッチのおかげでクラッシュは発生しませんでした。
Microsoft Windows 95 には、Sim City のバグを回避するために Win95 がメモリの格納方法を変更できるように、Sim City が実行されているかどうかを確認する特定のコードがあります (ソース https://t.co/Ps1A9wGP6a)。 pic.twitter.com/lfZJX9OgEQ
— KaL (@Kalyoshika) 2022 年 10 月 6 日
実際、スポルスキーが 22 年前に彼のブログで説明したように、これは新しい情報ではありません。 Spolsky は 1991 年から 1994 年まで Microsoft Excel チームで働いていたので、この問題について直接知っていました。 さらに、ゲームプログラマーがバグを打ち明けたのも彼でした。 Spolsky はテキストの中で、Microsoft はオペレーティング システムの後方互換性に依存しており、互換性を可能にするためにコードを頻繁に書き直すことを意味し、Windows 95 の開発中にも考慮されたと主張しています。「Windows 95? Spolsky は、2000 年 5 月 24 日に公開された彼の古いブログ投稿で次のように書いています。 マイクロソフトはそれに夢中になり、見つけたすべての古いプログラムをテストするために多額の費用を費やしました。」
ただし、SimCity に問題があった可能性があります。Windows 3.x 用のオリジナルの SimCity を作成したプログラマーの Jon Ross が、解放されたメモリが再ロードされるというバグをゲームのコードに作成したためです。 このバグにより、ゲームは新しいオペレーティング システムで動作しません。 これは、Windows 95 ベータ版で SimCity をテストしたときにも確認されましたが、ゲームがまったく機能しなかったのです。 しかし、バグが発見され、ゲーム自体を修正する (またはプレイヤーに修正を配信する) ことが不可能なため、SimCity がコンピューター上で検索する特定のコードが Windows 95 に追加されました。 ゲームが起動されると、システムはそれを登録し、追加されたコードに基づいて、特別なモードのメモリ アロケータがメモリがすぐに解放されないようにしました。
やったところです。 かっこよすぎる。
私がまだ所有しているゲームの例 – FF7 – は、Win95 ではなく Win NT で実行されていることがわかると、完全に死ぬため、Windows はいくつかのファイルの存在に基づいて嘘をつきます pic.twitter.com/Wc08tSffcz
— 🖥️ & 🍻 (@code_and_beer) 2022 年 10 月 6 日
このように、人気のある SimCity は新しいオペレーティング システムへの移行をなんとか乗り切ることができ、Microsoft は下位互換性に関する取り組みから手を引きませんでした。 Spolsky 氏は SimCity のセクションで次のように締めくくっています。 この興味深い話は数年後に明らかになりました ゲーム開発者でポッドキャスターのカル・ヨシカが引っ張る、彼の Twitter でそれを共有しました。 このツイートの下に、code_and_beer というニックネームを持つコメント投稿者の 1 人が、ゲームを実行し続けるための別の興味深い方法を追加しました。 変更点として、これはゲームが Windows NT で実行されたくない場合の Final Fantasy VII を指すため、ファイルは基本的に嘘をつき、Windows 95 であると偽ります。または、更新前にエラーが解決された方法です。決して孤立したケースではありません。 しかし、SimCity の話が実質的に 22 年も経って初めて発見されたという事実は、これらの介入と救助がいかにほとんど知られていないかを示しています。