大型独占インタビュー!Xbox Oneの互換機能と、それを実現した名も無きヒーロー達の秘話
想像を絶する程に長く、不思議な道のりだった
マイクロソフトがE3 2015で行ったXboxブリーフィングでは、Xboxのヘッドであるフィル・スペンサーが後方互換機能を発表し、拍手喝采を浴びた。Xbox後方互換チームをリードしたマイクロソフト歴28年のベテラン、ケビン・ラ・シャペルはIGNに、「私の全キャリアで最も誇り高い瞬間でした。部屋は歓声で溢れ、涙が出ましたよ。全ての努力が、完全に報われました」と語っている。
「部屋中で息を飲む音が聞こえたんです。鳥肌が立ちましたね」
ラ・シャペルの右腕であり、主任ソフトウェアアーキテクトであるジョナサン・モリソンは、ラ・シャペルと、この企画にGOサインを出した張本人であるマイクロソフトのXboxソフトウェアエンジニアリング担当バイスプレジデントのカリーム・チョードリーの横に座っていた。「私にとって、記念すべき瞬間はプロンプターに『後方互換』という言葉が表示された時ですね。フィルが言葉にする直前に、部屋中で息を飲む音が聞こえたんです。鳥肌が立ちましたね」とモリソンは振り返る。
後方互換機能は、マイクロソフトの中にある2つの異なる研究チームによる共同実験から発展し、Xbox Oneのローンチに合わせて計画されていたサービスだが、Xbox Oneのポリシー変更(ゲーム機が常時オンラインでなければならないという条件の削除)によって後回しにされてしまっていた。
初代XboxからXbox One Xまで、このプロジェクトに加わったのだ。
今、このプロジェクトは前線に戻り、Xbox 360のみならず、初代XboxのソフトもXbox One上でプレイできるようにするという方向へと拡大している。さらに、一部のXbox 360タイトルは、Xbox One Xによる技術面の強化という恩恵を受けられるようになった。初代XboxからXbox One Xまで、このプロジェクトに加わったのだ。
私はXbox後方互換チームのメンバーの正体や開発の動機、今後の展望などを探るべく、チームに丸一日密着した。最大の収穫は以下の2つ――想像を遥かに超えた面白いストーリーがあること、そしてXbox Oneで旧世代のXbox作品をプレイ可能にしているエンジニア達が、想像を遥かに超えて深く情熱的にこの仕事に関わっている、ということだ。
平行して進む初歩的実験
2007年、チョードリーとXbox Coreプラットフォームのグループ・プログラムマネジャー、ケビン・ガンミルは、Xbox 360の後継機――それ自体、社内で「Fission」と呼ばれていたエミュレーターを介して特定の初代Xboxタイトルをエミュレートしていた――向けに、すでに準備していた互換機能の開発の助力になりそうな、実験と研究を行う2つのチームをマイクロソフト社内で見つけた。
一つのチームは、PowerPCのCPUエミュレーションに取り組んでいた。彼らは360が使用する32ビットのコードを、第三世代のXboxが採用するであろう64ビットのアーキテクチャ上で動作させることを目的としていた。北京に基盤を置いたもう一つのチームは、Xbox 360のGPUアーキテクチャを基礎として、仮想GPUエミュレーターを作り始めた。「ピーナツバターとチョコレートのようでしたね」とチョードリーは回想する。「それで私たちは思ったのです。“二つを合わせてみたらどうだろう”と」。新しいゲーム機の名前が決まるずっと前、これがXbox One の後方互換機能の第一歩になったのである。
「私たちは、後方互換性のサポートの一部を(Xbox Oneの)シリコンに組み込まなければならなかったのです」
「これは主にソフトウェアに関するものでしたが、ハードウェアを予め考慮に入れたことでソフトウェアに関する活動を実現可能にしました」とガンミル。「私たちは、後方互換性のサポートの一部を(Xbox Oneの)シリコンに組み込まなければならなかったのです」。2011年のことであった。予備テストによって、Xbox の重要なミドルウェアであるXMAのオーディオ及びテクスチャのフォーマットへの対応が、ソフトウェア単体で行うには負担が大きすぎることがわかった。しかし、SoC(システム・オン・チップ)は高額なだけでなく、互換機能開発チームが達成し得ることを制限してしまう可能性もあった。「もし360のSoCを採用していたら、私たちが達成できることは大きく限られてしまっていたでしょう」とガンミルは続ける。「目標はそれをずっと上回るものでした」。そして、彼らはXbox One のチップセットにXMAとテクスチャのフォーマットを組み込んだのである。
再度のスタート
「エミュレーターの開発が一番難しいだろうと思っていた私はバカでした」
2014年、スペンサーはドン・マトリックに代わってXbox部門のトップに就任すると、チョードリーと共に互換機能プロジェクトを再始動した。自分がその何年も前から注目していた研究プロジェクト「Trioxide」を指して、チョードリーは「私にとって、それは長年にわたって未完成のままの仕事でした」と語る。しかし、そこには予期せぬ困難が待ち受けていた。「エミュレーターの開発が一番難しいだろうと思っていた私はバカでした。どうやって、自社に所有権のないIPを新機種で再ローンチできるのだろうか?」
そこで、彼はまずマイクロソフトに人生を捧げたベテラン社員のラ・シャペルをチームに招待した。次にラ・シャペルはモリソンを選んだ。そして彼らは「Trioxide」プロジェクトのメンバーだったバリー・ボンドを見つけ出し、招き入れることに成功した。その後、モリソンは実験を開始すべく、実験台となるゲームを提案した。
「限られた時間で実行可能な、合理的なゲームを選ぶ必要がありました」とモリソン。「Xbox Liveのネットワークを使う何らかのゲームを考えていたんです」
完全秘密裏に活動していたラ・シャペルは、The Behemoth内で相談できる相手を探し、LinkedInを通してCEOに連絡がとれた。
彼らは、サンディエゴのゲームスタジオ、The Behemoth開発の人気Co-opベルトスクロールアクション「Castle Crashers」を選んだ。だが、新機種で古いゲームをエミュレートする事は容易ではない。「すぐに問題に気づきましたよ」とモリソン。「問題が発生するたびに、私たちは画面いっぱいの数字に出くわしたのです」。それらの数字は、アセンブリコードが吐き出す記号だった。つまり、ある問題の大まかな発生源を示す“メモ帳”だ。彼らにはそれらの記号を解読する“デコーダーリング(暗号円盤)”がなかった。
互換機能プロジェクトは社内でも非公表だったため、完全秘密裏に活動していたラ・シャペルは、The Behemoth内で相談できる相手をなんとか探そうとした。LinkedInを通してデベロッパーのCEOに連絡をとり、数々の記号を取得した。「彼らはとても親切でした。素晴らしい人たちでしたよ」とラ・シャペルは称える。記号を手にしたおかげで、チームの作業効率は10倍にもなったと言う。
困難を極めるミッション
しかし、まだ問題が残っていた。ゲームの後半のステージをテストしなければならないが、新機種では既存のセーブデータが使えなかったのだ。利用可能なセーブデータを手に入れるためには、手動でゲームをプレイするしかなかった。「古いセーブデータを利用する手段は全くなかったので、ケビンはセーブデータを取得するための、私たちの“ゲームプレイマシン”になったのです」とモリソンは笑顔で思い起こす。
「あるゲームは最初、1fpsで動いていました。それでもテスターは最後までやり通したのです」
セーブファイルをデベロッパープロファイル間で移動させることができるシステムを導入することでその問題を解決すると、チームはE3でのアナウンスと2015年秋のローンチに全力を注いだ。最初はいくつかのタイトルの対応をこなしたが、1年目の終わりまでに合計100作品の互換性提供を公に約束してしまっていた。E3に差し掛かった頃、正常に動作しないゲームがたくさんあった。「あるゲームは最初、1fpsで動いていました」とラ・シャペル。「それでもテスターは最後までやり通したのです」
ラ・シャペルやモリソン、チームにいる25人はその問題解決のために知恵を絞り、ついにモリソンがひらめいた。「Xbox 360自体の動作方法とXbox OneのFissionエミュレーターとの違いは何だろうか?」と彼は思った。スケジューラ――データに行き先と移動速度を命令するCPU内の交通警官のようなツール――は、360上である一定のスピードで動作しているが、FissionはXbox Oneのデフォルトスケジューラのスペックに合わせて動作していた。E3でモリソンが自身の大発見を発表すると、ラ・シャペルは彼にこう話した。「君が家に帰った後、いつも何をしているかが分かったよ!」
スケジューラに変更を加えたことで、期待以上に事がうまく運んでいった。チームは新たなスケジューラの完成を間に合わせるため、モリソンの元に結集し、1年目の終わりまでに104の後方互換タイトルを出荷した。
「『Halo:Reach』はその約束を守れなかった最初のゲームでした。そこで、テストの主観性が問題だと気がつきました。それで私たちは、より客観的なツールの開発を始めたのです」
Xbox 360の人気FPS「Halo:Reach」は当初、Xbox One上でうまく動作していなかった。 「自分たちのミスを隠そうとは思わなかったです」とXboxプラットフォーム・リードのビル・スティルウェルが話す。「最初のやり方は理想的なものではありませんでした」。互換機能チームはこれでかなりの打撃を受けた。「私たちのゴールはずっと、360でプレイするのと同等のレベルに到達する事でした」とラ・シャペルは述懐する。「『Halo:Reach』はその約束を守れなかった最初のゲームでした。そこで、テストの主観性が問題だと気がつきました。それで私たちは、より客観的なツールの開発を始めたのです」
主任ソフトウェアエンジニアリング・リードのブライアン・スパントンと彼のチームが開発したXbox互換性パフォーマンス分析(XCPA)ツールのおかげで、「Halo:Reach」の問題はアップデートで修正された。「何が“本物”のバグなのか、その判別は難しかったです」とスパントン。ゲームに元々存在したバグもあれば、エミュレーターによって発生するエラーもあるからだ。彼は「Gears of War 3」を一つのウィンドウに、ゲームのフレームレートを示す折れ線グラフを別のウィンドウに表示できるツールを披露する。低いフレームレートではうまくいくが、それをある程度を超えてまで高くすると、ある見つけにくいエラーが発生する。スパントンはそのエラーが出現するシーンを見せてくれた。
原点回帰することによって、前進していく
何百にも上るXbox 360タイトルの互換を成し遂げた後、チームは開発者向けに(後方互換において)時の試練に耐え得る最良のコードの書き方を説明するホワイト・ペーパーを書き上げ、さらに一部の360タイトルがXbox One Xによる技術的進化の恩恵を受けられるようにした。このようにして、チームは新たな挑戦――初代XboxのゲームをXbox Oneでプレイ可能にすること――に臨んだ。この新プロジェクトは内部で「Fusion」と呼ばれるようになった。そして2016年11月、主任ソフトウェアエンジニアのスペンサー・ペローは新しいゴールを達成するミッションに飛びついた。
「ある日(ペローが)やって来て、『私ならできると思うんです』と言ったんですよ」とラ・シャペル。「それで私たちは彼に自由を与えました。情熱に満ちた彼の仕事っぷりは、後に大きな成果を生み出したのです」
ペローは大学新卒として2009年にマイクロソフトに入社し、Kinectの仕事を担当した後、2014年に互換機能チームに参加した。「個人的に、ずっとエミュレーションに興味があったのです」とペローは語る。
彼は最初、失敗を予想しつつも、Xbox 360のFissionエミュレーターをエミュレートしようと考えた。「まさに思った通り」失敗したとペローが言う。初代Xboxは4キロバイト単位でメモリを管理する一方、Xbox Oneは64キロバイトだ。また、初代Xboxが32ビットCPUを使用するのに対し、Xbox Oneは64ビットCPUである。これらの問題を解決しないと前には進めない。ペロー曰く、「起きている間、私はずっと初代Xboxの互換機能に関する仕事を実際にしているか、それについて考えているかのどちらかでした」
彼が初めて動作させることに成功したのは、初代Xboxのデバッグ及び開発者キットに搭載されるDolphinというツールだった。
彼が初めて動作させることに成功したのは、初代Xboxのデバッグ及び開発者キットに搭載されるDolphinというツールだった。「まだ完全ではなかったのですが、確かにDolphinでしたし、元気に泳いでもいましたよ(※訳注:Dolphinの意味「イルカ」と掛けて)」と彼は言う。そして、ラ・シャペルは自宅のゲームコレクションから多くの初代Xboxタイトルを持ち込んだ。彼の“打率”――実際にうまく動作したゲームの比率――は最初、1割しかなかった。
しかし、1、2カ月後には打率が9割にまで上がった。「たくさんの多様なゲームで試してみるうちに、うまく動かせるようになってきました」とペロー。現在、「NINJA GAIDEN Black」や 「Star Wars: Knights of the Old Republic(KOTOR)」のような名作を含む13の初代XboxタイトルがXbox Oneでプレイできる。さらに、単純な互換性だけではなく、それらのソフトはXbox Oneでより素晴らしいゲームとなっている。全作品が1080pと高いフレームレートで動作する。私は「KOTOR」を初代XboxとXbox Oneで、同時進行でプレイしてみたところ、その差は歴然だった。ワイドスクリーンに対応したことで「NINJA GAIDEN Black」は最新のゲームにすら見える。また、「クリムゾンスカイ ~High Road to Revenge~」の「SYSTEM LINK」マルチプレイモード内では、異なる世代のXboxのユーザー同士で対戦することもできる。
「ずっと密かに存在していた可能性を、当時のテクノロジーでは実現できなかったのです」と話すのは、主任ソフトウェアエンジニアのエリッチ・ヒュッチー。
「ずっと密かに存在していた可能性を、当時のテクノロジーでは実現できなかったのです」
残念なことに、Xbox Oneでプレイできる初代Xboxタイトルの数は、法的な理由で必然的に制限されてしまう。もう存在しないゲームパブリッシャーや、紛失された紙の契約書、すでに失効した作品内の音楽などのライセンスが主な障壁となっている。
タイトル数を増やすためにプレイヤーができることは何だろうか?「後方互換プログラムを応援してください」と、Xboxコンソールマーケティングのシニアディレクター、アルバート・ペネロが呼びかける。パブリッシャーは「人数」を見ているというのだ。「より多くのフランチャイズのファンが出てくると、一部の法的な困難を排除する力が増します」とスティルウェルも同意を示す。「ファンの皆さんが鍵を握っています。我々は我々の仕事をしていますが、ビジネス面の理由によって実現不可能な場合もあります。しかし、ファンの皆さんがパブリッシャーに対して自分のメッセージを届けてくれれば、私たちにできることが増えます。決して文句を言っているわけではありませんよ。ここまで、私たちはすでにファンから多大な支援をいただいてきましたからね」