コンテンツへスキップ
マイクロソフト業界別の記事

PC でシミュレーション ゲームをプレイする男性

ゲームが飛躍的に進歩し続けるなかで、真に変革をもたらし、新しい常識を切り開いていく次世代のゲーム開発は、クラウドを活用して行われています。Microsoft Flight Simulator は、コンピューティング、ネットワーキング、およびストレージが、ゲーマーがプレイしているデバイスに縛られなくなれば、潜在能力が発揮されるのだということにチャレンジしているゲーム タイトルの 1 例です。この記事では、Asobo Studio が Microsoft Flight Simulator を構築していく際に利用した技術スタックに詳しくご紹介します。マイクロソフトのテクノロジを駆使したツールおよびサービスは、PC から Xbox、PlayStation、Nintendo Switch、モバイルまで、あらゆる規模のゲーム開発者を支援することに重点をおいています。皆様が開発者やパブリッシャーとして、マイクロソフト自身が皆様のゲームの可能性を広げるためにサポートできることに関心をお持ちであれば、この記事が役に立つかと思います。

Microsoft Flight Simulator

Azure (Microsoft のクラウドサービス) 上にて、地球という惑星と同じ環境の “デジタルツイン” を構築するには、何が必要でしょうか。Microsoft Flight Simulator チームはその答えを見つけました。この記事では、このチームの取り組み、結果として生み出された製品、そして、Microsoft Flight Simulator がどのようにしてこれまで創造されてこなかったシミュレーション、ゲーミングなど豊かな体験の範囲を広げていくのかについて説明します。さらに、Asobo Studio がマイクロソフトの市販されているゲーム開発ツールのポートフォリオを活用して、次世代ゲームの可能性を広げ、クラウドの力を活用して、これまで不可能であった詳細なレベルで完全に探索可能な地球という惑星を実現した方法についてもご紹介いたします。

Microsoft Flight Simulator の愛好家の皆様には、この有名なタイトルがリリースされた 2006 年以来のまったく新しいバージョンをお届けしています。このリリースには 14 年かかったため、新バージョンがかなり進化していることを期待してしまうのも無理はありません。それでも、Microsoft Flight Simulator は、リアルなデジタル ツイン世界のスケールで、現実世界に限りなく近いが、これまでと根本的に異なるシミュレーション体験を提供していると言ってもよいでしょう。

ゲームに限らず、開発者のエコシステム全体にとって、Microsoft Flight Simulator は、複数のビッグ データ ソース、Azure アーキテクチャでの大規模なクラウドベースの処理とストレージ、そして AI を活用することによる忠実度の高いユーザーリアリズムを実現し、クラウド対応エクスペリエンスを創造するための新しいパラダイムにほかなりません。さらに、これらのような非常に詳細なシミュレーションを提供するための労力とコストを大幅に削減する開発モデルを提供するということでもあります。そして、ゲームやシミュレーションの開発者の皆様にも実践してもらいたいと考えています。Microsoft Flight Simulator 2020 のようなゲームを提供可能にすることで、Azure は品質と機能がかなり向上しており、今日の多くのファーストパーティおよびサードパーティの開発者が手の届く範囲で、高品質のエクスペリエンスを創造する力を提供しています。

ユーザーにとっても体験が比類なきものとなりました。フランスのゲーム デベロッパー Asobo Studio と連携して作成された Microsoft Flight Simulator 2020 では、航空機の飛行エクスペリエンスにおいても、仮想世界においても、前例のないリアリズムが提供されています。頻繁にアップデートすることで、世界の描写が継続的に向上し、環境のリアリズム、カスタマイズ、楽しめる AI 機能が追加されています。

昨年の結果はいかがでしょうか。熱狂的なユーザーに受け入れられ、最初の 6 か月間で、Microsoft Flight Simulator 2020 のユーザー数は 200 万人を超え、このタイトルの約 40 年の歴史におけるどのバージョンよりも速い滑り出しとなりました。コミュニティではエクスペリエンスやアドバイスが活発に共有され、フライトのライブ ストリーミングが行われています。ユーザーによって、より詳細でリアルな空港などのシミュレーター内で使用可能なゲーム コンテンツが提供されています。

Microsoft Flight Simulator エクスペリエンスは、急速に進化および成長し続けています。その理由の 1 つには、その基盤となっている Azure テクノロジの拡張性があります。これらのテクノロジにより、頻繁なアップデートすることができ、航空機、風景、空港のアドオンをマーケットプレイス上で提供することが可能となりました。「何がすばらしいかと言うと、それがオープンであることです」と、マイクロソフトの Microsoft Flight Simulator の責任者である Jorg Neumann は言います。彼は Azure について、「Microsoft Flight Simulator に使用されるような独自のゲーム エンジンをサポートおよび拡張することができ、開発者は、既存の製品に簡単に機能を追加することができます」と指摘しています。ツールをプラグインする機能を事実上無限に利用することができます。「コンピューティングは別の場所で行われるため、あらゆる種類のものを持ち込むことができ、うまく機能しています。」

Microsoft Flight Simulator 2020 の起源については、さまざまな記述や記録があります。このような話は、コミュニティでよく共有されています。

ここでは、おなじみの話をするつもりはありません。代わりに、多くのアプリケーション開発者にとって、幅広い意味合いと機会を提供する画期的な製品として、Microsoft Flight Simulator を見ていきます。

起源

Microsoft Flight Simulator はマイクロソフトにとって、いつも最も信頼のおける製品です。マイクロソフトでの最初のパッケージ製品は 1982 年に発売され、各リリースのたびに解像度、機能、ディテールが追加されてきました。特に、現実の世界をできる限り模倣するよう、毎回グラフィックス処理の能力を高めてきました。したがって、各リリースが発売されるごとに、デスクトップ コンピューターの性能が重視されてきました。

Microsoft Flight Simulator 2020 は、処理機能の多くをクラウドに移行することにより、この処理性能に依存しないよう大きな一歩を踏み出しました。この製品は依然として処理能力の高いデスクトップ デバイスを必要としています (ただし、これは後ほど変更されます。) が、現在提供されているエクスペリエンスは、Azure の大規模ストレージ、処理能力、統合、およびストリーミング帯域幅を十分に活用しているため、どのデスクトップの制限をもはるかに上回っています。結果として、リアルタイムの条件、現実に即したインテリジェントなインタラクション、拡張可能でスケーラブルな統合プラットフォームを備えた忠実度の高い 3D ワールドで、ありとあらゆるエクスペリエンスを実現しています。

離陸: テクノロジ

「目新しいことがないのなら、続編は制作してはいけません。」
—Jorg Neumann、マイクロソフトの Microsoft Flight Simulator 責任者

当初から、チームにとって、Microsoft Flight Simulator 2020 は制作する価値がなければなりませんでした。そして、制作する価値があるようにするために、顧客が求めるものである必要がありました。

顧客は、Microsoft Flight Simulator が有視界飛行方式 (VFR) での飛行をサポートできることを求めていました。VFR は、計器に頼る (計器飛行方式、IFR) のではなく、実際のパイロットが目視で飛行機を操縦する一連の条件です。VFR での飛行は、気象状態が良好であり、パイロットが、基本的な計器を参照し、地上を注意して見ながら、自分自身で方向を変えることができることを意味します。対照的に IFR では、視界条件が下限を下回る悪天候などで、パイロットは主に計器を使用して航空機を操縦する必要があります。

IFR シミュレーションの方がより技術的な飛行スキルを必要としますが、外界のシミュレーションが正確で、ディテールも十分であれば、VFR の方がより直感的に魅力あるエクスペリエンスになり得ます。
このリアルに近いエキサイティングな体験の提供は、主要な水域や山脈などの地形的特徴をくっきりと表示することを意味するだけではありません。地球上の任意の 2 点間の詳細を、シミュレーターのパイロットが現実世界の描写に基づいてスポットから別のスポットへの空路を見つけることができるレベルまで、すべて表示することも意味しています。

まさに、顧客が求めていたのはこのような体験でした。この最初のビジョンを考慮して、製品チームは、従来のアプローチを考え直し、新たな方法でリソースとサービスを組み立てることになりました。

  • ナビゲーション: 地球をナビゲートするということは、詳細かつ大量のマップがリアルタイムで利用できることを意味します。
  • マップ: マップは一般には 2D ですが、リッチなユーザー エクスペリエンスの実現には、地上のオブジェクト を 3D で作成する必要があります。空港という特別なケースだけではなく、都市の風景を自分の家の地区レベルまで表現する必要があります。これには、自然の地形を木々一本一本に至るまで表現することも含まれます。
  • 気象: 気象のシミュレーションにおいては、事前設定メニューのほか、実際の気象状態が世界中のどこであってもリアルタイムで正確に表示される必要があります。
  • 航空機の詳細: 操縦する航空機は、実際の機体のように動作する必要があります。この程度のリアリズムを実現するには、航空機がこれまでになく詳細かつ現実に即して動作できるようにする多数の航空機データポイントが必要です。
  • 他の航空機との現実に即したやり取り: 航空交通管制 (ATC) とのやり取りは、録音による有限の交信内容ではなく、世界中のリアルタイムの航空機の追跡と ATC の通信を反映する必要があります。
  • 空港: 地上でのエクスペリエンスは、実際に航空機を操縦している場合に見たり経験したりすることを反映している必要があります。これは、世界中のあらゆる空港の高精度で詳細なモデルを含めることを意味します。

まさに、顧客が求めていたのはこのような体験でした。この最初のビジョンを考慮して、製品チームは、従来のアプローチを考え直し、新たな方法でリソースとサービスを組み立てることになりました。

これらが Microsoft Flight Simulator を制作する価値のあるものにした最初の要件です。これらに加え、これらのリソースがシームレスに連携し、定期的に更新でき、容易に拡張できるようにすることも必要です。このような要件を考慮すれば、この新しい Microsoft Flight Simulator を主としてデスクトップで動作さなくてもいいのです。2006 年の時点とはまったく異なるテクノロジ ランドスケープに依存することになります。

これらのユーザー要件により、マイクロソフトとその開発パートナーである Asobo Studio は、次のようなテクノロジを選択しました。

  • 37,000 を超える空港、200 万の都市、15 億の建物、2 兆本の木々、1 億 1,700 万の湖を含む、2.5 ペタバイトを超えるデータで構成される Bing Maps データセット。
  • リアルタイムの大気シミュレーションと実際の天気。
  • AI によって生成された航空交通管制音声。
  • より詳細な空港モデルといった、コミュニティによって提供されるコンテンツなど、初日から追加機能を提供できる堅牢なマーケットプレイスを作成するための Azure PlayFab。
  • クラウドを利用したマルチプレイヤー機能。​

Microsoft Flight Simulator のアーキテクチャ外観

図 1: Microsoft Flight Simulator のアーキテクチャ外観、これにより、現実世界のデジタル ツインが作成されます。

Azure により、Microsoft Flight Simulator が使用できる計算能力とストレージは飛躍的に向上します。ペタバイト規模の Bing データおよびイメージが、フォトグラメトリ データ、ベクターベースのマップ、何兆本もの正確な木やその他の地表を覆う環境と共に、すべて Azure 上で前処理され、格納されます。

デジタル ツイン、すなわち現実世界の高解像度デジタル版を、地球規模で正確にレンダリングする必要性があるということは、十分、処理が膨大であると言えるでしょう。

たとえば、地球全体に数兆本もの木を手動で正確に配置するのは不可能です。Asobo Studio の共同創設者であり CEO の Sebastian Wloch 氏は、Asobo が木のレンダリングに使用したプロセスを、インテリジェント アルゴリズムである機械学習と説明しています。「(衛星画像で) 木を見つけるアルゴリズムを探すのではなく、トレーニングすればいいのです。」Asobo は、木の画像例を使用して、Microsoft Flight Simulator 環境内に 3D で木をレンダリングするツールを開発しました。全世界で木を識別するには、かなりの計算能力が必要だと思われるかもしれません。確かに必要ではありますが、Azure Compute (Azure Cloud Services を含む) では、膨大な量のデータを処理するため、必要に応じてスケーリングすることが可能です。「基本的には自分で絵を描くことができますし、まあ、単に、コンピューティングの仕事というだけです。」とはいえ、大変なジョブではありますが。「Azure は数万から数十万のジョブを受け、木が識別されるまで 2 年も待つというようなことがないように、多数のコンピューターに割り当てます。」と Wloch 氏は言います。全世界で木が検出されるまでには、数日間の計算時間が必要ですが、検出されれば、木のメタデータが Azure Storage に格納され、必要に応じて任意の数のプレイヤーにストリーミングできるようになっています。

事前に計算され、格納されている膨大なデータに加え、Azure では、リアルタイムのデータ ソースの統合が可能です。この中で最も顕著なのがリアルタイムの天候エフェクトです。これにより、飛行中に飛行経路の実際の天候でプレイすることができます。パートナーである meteoblue からの気象データにより、Azure Compute で天候エフェクトが処理され、ユーザー エクスペリエンスに重ねられて、ユーザーのデバイスにストリーミングされます。同様に、FlightAware などのパートナー サービスによって、リアルタイムの航空交通状況が提供されます。また、クラウドベースの AI サービスにより、航空交通管制音声が Microsoft Flight Simulator のパイロットに提供されます。

この豊富なデータはすべて、必要に応じてデスクトップ デバイスに送信されます。これは、たとえば地形や天候エフェクトがデスクトップに格納される場合に必要なデータ ストリームよりはるかに小さなものになります。

全体として、クラウドとデスクトップ デバイスの統合レベルは並外れていますが、同時に、論理的で一般化も可能なものでもあります。このアプローチによって、地球全体 (あるいは、他の地球)の豊富な体験を提供しています。

飛行中: エクスペリエンスの実現

Microsoft Flight Simulator の重要性は、ゲームやシミュレーションだけにとどまりません。これは本当に新しいゲーム開発手法だと、Neumann は言います。特に、機械学習により豊富な環境をモデル化できるということは、世界を構築するコストに革命をもたらす可能性があります。膨大な量のデータをクラウドに保存できるようになれば、コストの大幅に削減にもつながります。

Microsoft Flight Simulator のパラダイムにより、開発者は重要な新機能を容易に開発できるようになります。確かに、将来性のある魅力的なものに取り組むことができるのは刺激的です。遠くない将来に、Neumann が紹介したように、リアルな AI 主導の地上生物機能があることを想像してみてください。たとえば田舎を行進する 100 万頭のトナカイがすべて Azure で事前計算され、デスクトップにストリーミングされるかもしれません。

大量のストレージや重い処理はプラットフォームで実行されるため、ゲームまたはシミュレーション開発者であれば、このようなデータ集約型および処理集約型の機能を日常的に実行できるようになります。開発において節約は大きな意味を持ちます。開発者は一般に、制限のある (静的な) 世界、あるいはプロシージャルで生成された (あまり現実に即していない) 世界の環境を構築するために予算の大部分を費やしており、どちらのアプローチについても何かしらの限界があるのだとNeumann は指摘します。Azure の機能 (ストレージ、大規模コンピューティング、リアルタイム データ ソースの統合、低遅延でのストリーミング) はすべて、ゲーム (およびその他の) 開発者がより豊富で、よりリアルな制限のない体験を、より低いコストで実現することができます。「開発をはじめてからコストが50%下がりました」と Neumann は言います。「私の見積もりはすべて高すぎました。率直に言うと、ストレージとコンピューティングのどちらも大幅に安くなっており、これは下がり続けます。」

確かな利点があります。「私が開発者なら、とてもうれしいですね。ゲーム制作の実現可能性を高める新しいソリューションが導入されています。はるかに安い価格で、本当にすばらしい作品を実現できるのです」と Neumann は言います。「大規模ゲーム開発が再び安くなる可能性はあると思っています。これまではお金をかけてきましたが、これからはスマートになれると思います。これはスマートに開発するための方法でもあるのです。」

着陸: 未来

確かな利点があります。「私が開発者なら、とてもうれしいですね。ゲーム制作の実現可能性を高める新しいソリューションが導入されています。はるかに安い価格で、本当にすばらしい作品を実現できるのです」と Neumann は言います。「大規模ゲーム開発が再び安くなる可能性はあると思っています。これまではお金をかけてきましたが、これからはスマートになれると思います。これはスマートに開発するための方法でもあるのです。」

Microsoft Flight Simulator のアーキテクチャにより、製品とプラットフォームの継続的な拡張という形で、未来がすぐにやってきます。これらの中で主要なのは、より幅広いデバイスによるアクセシビリティです。最初の製品リリースには強力な PC が必要ですが、Azure アーキテクチャにより、他のデバイス (特に Xbox コンソール、そして最終的にはモバイル デバイス) でも Microsoft Flight Simulator のエクスペリエンスが可能になります。このデバイスの民主化は、この製品をスケーリングするのにデバイスの処理能力は不要であり、ストリーミングの帯域幅のみが必要であることを意味します。別の言い方をすれば、Azure は「各デバイスが実力以上の力を発揮」できるようにしていると、Neumann は言います。「3,000 ドルの PC で人々が何に感動していると思いますか。500 ドルのコンソールでもほとんど変わらず、さらには携帯のような低スペック デバイスでも提供できるように準備を進めています。」

同時に、ゲームやシミュレーションの開発者は、同様のエクスペリエンスを拡張し、現在のパイロット トレーニング技術の臨場感を超える、現実世界のパイロット トレーニングなどアプリケーションを充実させています。あるいは、AI が生成した 100 万頭のトナカイの群れをツンドラの風景に追加することもできます。開発者には、Azure を介してより意味のあるエクスペリエンスをユーザーに提供する機会が与えられています。こうしたエクスペリエンスを制限するのは想像力のみです。あらゆるもの、あらゆる場所を実現することができるのです。

「クラウドは、お客様が導入できるインフラストラクチャというだけではありません。率直に言いますと、人類のあらゆる種類のツールであるのです。陳腐に聞こえるかもしれませんが、本当にそうなのです。」
—Jorg Neumann、マイクロソフトの Microsoft Flight Simulator 責任者

お客様のゲームの可能性の限界を押し広げるために、マイクロソフトがどのように支援できるかについては、Microsoft Game Stack を参照してください。