(57)【要約】現実世界のデータが、プレイヤーのゲームおよびアクションに影響を与えるゲーム経験に統合される。ゲームモジュールは、場所に関連付けられた現実世界のデータからのゲーム要素を作成する。天候条件は、世界の異なる観測場所からの天候情報（１０４）に基づいてシミュレートされ、トラフィック条件（１００）も同様にシミュレートされる。フライトシミュレーターゲームでは、プレイヤーの航空機が世界でナビゲートするため、ゲームは現実の航空機および現実の天候条件を統合する。【選択図】図２
2004520903.tif 000002
【特許請求の範囲】
【請求項１】
識別可能な時間においてプレイヤーから場所選択を受け取るステップと、
該識別された時間以外の時間から該選択された場所に関連付けられた現実世界情報に応答して該選択された場所に対してシミュレートされた環境条件を仮想世界に挿入するステップと、
該挿入されシミュレートされた環境条件に応答して、ゲームにシミュレートされた環境条件を生成するステップと
を含む、ゲームにおいて表現された仮想世界における現実世界環境をシミュレートするための方法。
【請求項２】
プレイヤーからの場所選択を受け取るステップと、
選択された場所以外の場所に関連付けられた現実世界情報に応答して選択された場所に対してシミュレートされた環境条件を前記仮想世界に挿入するステップと、
該挿入されシミュレートされた環境条件に応答して、前記ゲームにシミュレートされた環境条件を生成するステップと
を含む、ゲームにおいて表現された仮想世界における現実世界環境をシミュレートするための方法。
【請求項３】
識別可能な時間においてプレイヤーから場所選択を受け取るステップと、
該選択された場所および該識別された時間以外の場所に関連付けられた現実世界情報に応答して、選択された場所に対するシミュレートされた環境条件を仮想世界に挿入するステップと、
該挿入されシミュレートされた環境条件に応答して、前記ゲームにシミュレートされた環境条件を生成するステップと
を含む、ゲームにおいて表現された仮想世界における現実世界環境をシミュレートするための方法。
【請求項４】
プレイヤーからの場所選択を受け取るステップと、
現実世界環境条件情報が該選択された場所に関連付けられるかどうかを決定するステップと、
現実世界環境条件情報が該選択された場所に関連付けられるかを決定するステップに応答して、該選択された場所のための該仮想世界においてシミュレートされた環境条件を生成するように該現実世界環境条件情報を適用するステップと
を含む、ゲームにおいて表現された仮想世界における現実世界環境をシミュレートするための方法。
【請求項５】
現実世界環境条件情報が該選択された場所に存在しないかを決定するステップに応答して、該選択された場所に囲まれた場所を解析して、該囲まれている場所が現実世界環境条件情報に関連付けられるかどうかを決定するステップをさらに含む、請求項４に記載の方法。
【請求項６】
プレイヤーによって制御されたゲームユニットの地理的場所を決定するステップと、
該ゲームユニットの該場所に対して利用可能である現在の現実世界のデータに応答して、ゲーム経験の一部をシミュレートするために該現在の現実世界のデータを適用するステップと、
該ゲームユニットの該場所に対して利用可能ではない現在の現実世界のデータに応答して、該ゲーム経験の一部をシミュレートするように該ゲームユニットの場所近くの場所に関連付けられた現在の現実世界のデータに基づいて現実世界のデータを挿入するステップと
を含む、ゲーム経験に現実世界のデータを統合するための方法。
【請求項７】
前記ゲーム経験はフライトシミュレーションゲームであり、前記ゲームユニットは航空機シミュレーションであり、前記現実世界のデータは天候データまたはトラフィックデータを含む、請求項６に記載の方法。
【請求項８】
前記ゲーム経験はフライトシミュレーションゲームであり、前記ゲームユニットは、航空機シミュレーションであり、前記現実世界データは天候データを含み、該方法は、
前記場所に対する他の天候条件に関する現実世界のデータに基づいた場所に対するシミュレートされた天候条件を生成するステップをさらに含む、請求項６に記載の方法。
【請求項９】
シミュレートされた天候条件は氷結状態であり、氷結条件の生成は、温度および降水量に関する現実世界のデータに基づいて決定される、請求項８に記載の方法。
【請求項１０】
前記ゲーム経験は、フライトシミュレーションゲームであり、前記ゲームユニットは、航空機シミュレーションであり、前記現実世界データは、周りの航空機データを含み、該方法は、
現実世界の航空機を識別する現実世界のデータに基づいたゲーム経験の一部として表示するように現実世界の航空機の表現を生成するステップをさらに含む、請求項６に記載の方法。
【請求項１１】
前記航空機シミュレーションの前記場所の所定の半径内で配置される現実世界の航空機を表示するように選択するステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
識別可能な時間においてプレイヤーによって制御されたゲームユニットのための場所選択を該プレイヤーから受け取るステップと、
該識別された時間において該プレイヤーによって制御されたゲームユニットの選択された場所近くの場所に関連付けられた現実世界のユニットに応答して、該ゲームに表示するゲームユニットの表現を生成するステップと
を含む、ゲーム内で表現された仮想世界における現実世界環境をシミュレートするための方法。
【請求項１３】
前記ゲームはフライトシミュレーションゲームであり、該ゲームユニットは、航空機であり、表現を生成するステップは、前記識別された時間において前記プレイヤーによって制御された航空機の前記選択された場所近くの場所に関連付けられた現実の航空機に応答して、該ゲームに表示する航空機の表現を生成するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記現実の航空機に対応する航空機の前記表現は、該現実の航空機が前記現実世界に配置される場所に対応する場所に表示される、請求項１３に記載の方法。
【請求項１５】
前記表現の場所は、前記現実の航空機の位置変化を説明するために更新される、請求項１４に記載の方法。
【請求項１６】
表現が前記ゲーム内に表示される現実の航空機の場所に関する新しいデータがあるかどうかを決定するステップと、
該航空機の該場所に関する新しいデータがあるかどうかに応答して、該表現の場所を該新しいデータ応答して更新するステップと
をさらに含む、請求項１４に記載の方法。
【請求項１７】
前記航空機の位置に関する新しいデータが存在しないことを決定することに応答して、該航空機に関する最新のデータに基づいて該航空機の表現のための新しい場所を挿入するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記最新のデータは、前記現実の航空機の速度および機首方位情報を含む、請求項１８に記載の方法。
【請求項１９】
現実世界のユニットに対応するゲームユニットは、現実世界のユニットに対応する該ゲームユニットの所定の半径内で移動する前記プレイヤーのゲームユニットに応答して、該プレイヤーによって制御されたゲームユニットから離れて移動する、請求項１４に記載の方法。
【請求項２０】
空のトラフィックコントローラプロセスは、プレイヤーの航空機および前記現実世界の航空機の場所に関する情報を維持し、該現実世界の航空機の移動に関して該プレイヤーに警告する、請求項１３に記載の方法。
【請求項２１】
前記空のトラフィック制御機は、現実世界のパイロットが経験する無線トラフィックをエミュレートするように現実世界の移動に関するオーディオメッセージを前記プレイヤーに送信する、請求項２０に記載の方法。
【請求項２２】
現実世界のデータをゲームに統合するためのシステムであって、
該ゲームで使用するための総合的な現実世界のデータベースから現実世界のデータの選択されたグループをリクエストするための現実世界のデータマネージャと、
現実世界のイベントに関連するデータの選択されたグループ化を格納するために現実世界のデータマネージャに接続された現実世界データのデータベースと、
該現実世界データのデータマネージャから挿入されたデータに対するリクエストを受け取り、該現実世界のデータのデータベースから選択されたデータを取り出し、該ゲームの実行において使用されるべき挿入されたゲームデータを生成するために該現実世界のデータマネージャおよび該現実世界のデータのデータベースに接続された現実世界のデータ挿入エンジンと
を含む、現実世界のデータをゲームに統合するためのシステム。
【請求項２３】
前記ゲームはフライトシミュレーションゲームであり、前記現実世界データは天候データであり、前記挿入エンジンは、該ゲームの実行の間に表示されるべき天候データを挿入するための天候エンジンである、請求項２２に記載の装置。
【請求項２４】
前記天候エンジンは、他の現実世界の天候条件の解析に基づいて天候条件をシミュレートする、請求項２２に記載の装置。
【請求項２５】
前記天候エンジンは、温度および降水量データの解析に基づいて氷結条件をシミュレートする、請求項２４に記載の装置。
【請求項２６】
前記天候エンジンは、前記ゲーム内に脱氷結アプリケーションを用いるプレイヤーに応答して氷結条件を更新する、請求項２５に記載の装置。
【請求項２７】
前記ゲームは、フライトシミュレーションゲームであり、前記現実世界のデータはトラフィックデータであり、前記挿入エンジンは、該ゲームの実行の間に他の航空機を表示するためにトラフィックデータを挿入する、請求項２２に記載の装置。
【請求項２８】
現実世界のデータをゲームに統合するためのコンピュータ読み出し可能媒体であって、該コンピュータ読み出し可能媒体は、プロセッサに、
識別可能な時間においてプレイヤーの入力に対応するゲームユニットを表示させ、
該プレイヤーの入力が受け取られる該識別された時間までの時間に近い時間において現実世界のユニットの場所に関する現実世界のデータを取り出させ、
該ゲーム内で該取り出されたデータに応答して現実世界のユニットの表現を表示させる命令を格納する、現実世界のデータをゲームに統合するためのコンピュータ読み出し可能媒体。
【請求項２９】
前記コンピュータ読み出し可能媒体は、プロセッサに、
現実世界のデータが選択された時間の間に現在表示されている現実世界ユニットに存在するかどうかを決定させ、
現実世界データが該選択された時間に存在しないことを決定することに応答して、該現実世界ユニットの場所に挿入させ、
該挿入された場所において該現実世界ユニットを表示させる命令をさらに含む、請求項２８に記載のコンピュータ読み出し可能媒体。
【請求項３０】
前記ゲームは、フライトシミュレーションゲームであり、前記ゲームユニットは航空機であり、前記命令は、プロセッサに機首方位および速度情報に基づく現実世界の航空機の位置に挿入させる、請求項２９に記載のコンピュータ読み出し可能媒体。
【請求項３１】
現実世界のデータをゲームに統合するためのコンピュータ読み出し可能媒体であって、該コンピュータ読み出し可能媒体は、プロセッサに
識別可能な時間においてプレイヤーの入力に対応するゲームユニットを表示させ、
該プレイヤーの入力が受け取られる該識別された時間までの時間に近い時間において環境条件に関する現実世界のデータを取り出させ、
該ゲーム内で取り出されたデータに応答してゲーム内の環境条件の表現を表示させる命令を格納する、現実世界のデータをゲームに統合するためのコンピュータ読み出し可能媒体。
【請求項３２】
前記プロセッサに環境条件に関する現実世界のデータを取り出させる命令は、該プロセッサに、
前記ゲームユニットの場所に対応する場所に関する天候データを取り出させ、
該取り出されたデータに基づいて環境条件の表現をさらに表示させる、請求項３１に記載のコンピュータ読み出し可能媒体。
【請求項３３】
前記命令は、プロセッサに、
天候データが前記ゲームユニットの場所に存在するかどうかを決定させ、
天候データが存在しないことを決定することに応答して、現実世界の天候データが見出されるまで周囲の場所を解析させ、
該現実世界の見出された天候データから該ゲーム内の該ゲームユニットの場所に対する環境条件の表現を挿入させる、請求項３２に記載のコンピュータ読み出し可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は電子ゲームに関し、より詳細には、ゲームプレイをシミュレートするために現実世界のデータを用いるゲームに関する。
【背景技術】
【０００２】
従来のコンピュータゲーム経験では、プレイヤーは、アプリケーション開発者によって動作された閉じた環境で没頭する。現実世界の場所をシミュレートするゲームでさえも、環境条件、俳優、および物体が所定のパラメータまたはアルゴリズムに従って予め定義され、変更されるのみであり、あるいは、せいぜい擬似ランダム変更を組み込むに過ぎない。プレイヤーの経験は、アプリケーション開発者の創造およびプレイヤー自身の選択の境界に限定される。従来のゲームアーキテクチャは、ゲームが動作する既知の条件を利用するように設計されるだけであり、現実世界の要素の新しいまたはランダムな変更を説明するように設計されない。
【０００３】
従来のゲームは、現実世界の条件が提供する興奮および多様性をプレイヤーから奪う。例えば、フライトシミュレーターゲームでは、典型的には、プレイヤーは、異なる天候条件、トラフィック条件、およびゲーム環境の他の特性を選択する。このアプリケーションは、次いでこれらのパラメータに一致するシミュレートされた環境を生成する。このように、従来のフライトシミュレータは、外部データを「シミュレート」し得るが、このデータは、実際の現在の天候またはトラフィック条件を反映しない。従来のフライトシミュレーターアドオンはまた、フライトシミュレータのための雲のデータファイルを更新し、更新時に現実世界の条件を反映する雲の範囲を提供するためにゲームの開始前に実行され得る。しかし、ゲーム内の環境は、実行前の時間にこの条件のみ更新され、従って、ゲーム中に変更されず、リアルタイムデータがゲームプレイに影響を与えることを可能にする能力を有さない。対照的には、現実世界では、天候は突然かつ予測不可能に変化し得、空のトラフィックは、予測不可能に渋滞（ｈｅａｖｙ）になり得、機械的な故障が発生し得、空港は閉鎖され得、時には飛行機がクラッシュし得、そして実際のパイロットは、これらの状況に適応しなければならない。しかし、これらのイベントのいずれも、典型的なゲームではモデル化されておらず、これらのイベントがモデル化された場合、いくつかのランダムではないパターンで生成するか、またはユーザによる選択に応じて発生する。この条件が擬似ランダムパターンで発生する場合であっても、プレイヤーは、可能な条件の範囲を速やかに学習し、プレイヤーにとって楽しみのレベルにおいて重要な差を提供することができる、プレイヤーが飛行する条件が「リアル」であることを知る興奮がさらに奪われる。
【０００４】
従って、新しいゲームアーキテクチャが現実世界のイベント、環境、俳優、および物体がゲーム経験中に組み込まれ得ることにより、プレイヤーに、現実世界の経験の真のシミュレーション、そしてさらに、実際の現実世界のイベントが発生する場合、そのイベントに参加するさらなる興奮を提供する。
【発明の開示】
【課題を解決するための手段】
【０００５】
（発明の要旨）
本発明によると、現実世界の情報は、ゲームに提供された仮想環境に組み込まれる。ソフトウエア製品の実施形態では、アプリケーションモジュールは、プレイヤーからの場所選択を受け取る。この場所選択は、ゲームが行われる地理的場所（例えば、サンフランシスコ）を選択する。次いでこのアプリケーションモジュールは現実世界の情報を検索する。現実世界の情報は、ゲームの性質に応じて異なり得る。フライトシミュレータに対して、現実世界の情報は、雲量（ｃｌｏｕｄ  ｃｏｖｅｒ）、降水量、風、霧、および空のトラフィックデータ等の天候情報を含む。この現実世界の情報は、情報がリクエストされた時間付近の期間における、選択された場所に対する、プレイヤーの近くの他の飛行機の場所、他の飛行機の変更されたルート、および空港条件を含む。現実世界の情報を受け取った後に、アプリケーションモジュールは、現実世界の情報に応答するシミュレートされた現実世界の構成を生成する。例えば、フライトシミュレーターゲームでは、構成は、雲、風、雨、および空のトラフィックを含み得る。例えば、雲は、現実世界のデータベースにおいて識別された場合の雲の場所および性質に応答する仮想環境において生成される。空のトラフィック（すなわち、プレイヤーの飛行機付近を飛行している他の航空機）は、現実世界の航空機の実際の場所に応答して生成される。自動車レースの実施形態では、シミュレートされた街路上の車のトラフィックは、対応する現実世界の街路上の現実世界の車のトラフィックに応答して生成される。従って、本発明の実施形態によると、現実世界は、現実世界の本来の予測不可能性の興奮をプレイヤーに提供するようにプレイヤーのためにシミュレートされる。
【０００６】
一実施形態では、アプリケーションモジュールは、その情報が最後に取りだされた後、またはプレイヤーが新しい場所に移動された時に、場所に関する情報が変更されたかどうかを決定する。いずれかが変更された場合、シミュレートされた構成は、情報に応答して再生成されるか、またはシミュレートされた構成が改変手続（ｉｎｔｅｒｐｏｌａｔｉｏｎ  ｐｒｏｃｅｄｕｒｅ）に応答して生成される。これは、この情報が連続的に利用可能でない場合、現実世界の情報がゲーム環境で使用されることを可能にする。例えば、現在空のトラフィック情報が２〜３分ごとに利用可能であるのみであり、それにより新しい情報が事前の機首方位（ｈｅａｄｉｎｇ）および飛行計画情報に基づいて現実世界の情報に受け取られるまでに、プレイヤーに表示されたトラフィックが改変される。天候データは各場所で利用可能ではないため、天候データは、現実世界のデータが関連付けられないこれらの場所に対してシミュレートされる。さらに、示され得る全ての天候要素は、天候データベースで表現されないために、これらの天候要素の存在は、利用可能なデータから推測されなければならない。従って、本発明は、現実世界のデータがプレイヤーと双方向通信することを可能にする。従って、選択された場所における世界に現在発生している実際の天候またはトラフィックの全てに応答して、トラフィックが特定の日に渋滞している場合、プレイヤーは、トラフィック渋滞を通り抜けて飛行しなければならず、天候が悪い場合、プレイヤーは、天候条件に抗して戦うための技術を使用しなければならない。従って、システム、方法、およびアプリケーションが、プレイヤーの進行中のゲーム経験に影響を与えるデータベースに現実世界のデータを統合するために提供される。
【０００７】
（好適な実施形態の詳細な説明）
本明細書の説明は、本発明の教示のための例示的実施形態としてフライトシミュレーションゲームを使用するが、本発明は、本明細書で限定されず、自動車レース、船のレース、バイクレース、スキー、または任意の他のタイプの競争の屋外ゲーム活動に容易に拡張され得る。フライトシミュレータの実施形態では、ゲームに統合されるために利用可能な２つの現実世界の条件は、天候および空のトラフィックである。天候および空のトラフィックデータは、サードパーティによって収集され、かつ公開されているアクセス可能なデータベースにおいて利用可能にされるのと両方である。データベースは世界（「観測場所」と呼ばれる）全体にわたる所定の場所に関する所定の天候条件に関する情報を格納し、場所、位置、機首方位、および航空機のタイプを含むトラフィック情報を格納する。本発明は、この情報を使用して、本発明に従って、興奮する、現実の、そして予測不可能なゲーム経験を作成する。
【０００８】
図１を参照すると、ゲームデータサーバ１０８は、トラフィック１００から「リアルタイム」データおよび天候１０４データプロバイダシステムを継続的に収集する。リクエストに応じて、ゲームデータサーバ１０８は、ゲーム１１２、１１６、およびプレイヤー１２０、１２４に対して利用可能なデータを有効にする。データプロバイダ１００、１０４は、リモートに位置付けられ、典型的には、インターネットまたは他の通信手段（衛星または専用回線等）を介してアクセスされる。データプロバイダ１００、１０４は、従来的であり、世界に関する観測（天候、航空機トラフィック等）を収集および符号化し、この観測を公知のフォーマットまたは構造でリアルタイムで利用可能にする。本発明のゲームデータサーバ１０８はデータにアクセスし、このデータをデータベース格納領域に転送する。プロバイダ１００、１０４からデータの「ｓｎａｐｓｈｏｔ」をゲームデータサーバに転送することは、ゲーム１１２、１１６からのデータアクセスのメインロードが、ゲームとゲームデータサーバ１０８との間で処理され、ゲームとプロバイダとの間では処理されないことを可能にする。
【０００９】
提供された天候データの例は、温度、風向、および風速、いくつかの高度における雲量および雲の種類、ならびに降水量の種類を含む。空のトラフィックデータの例は、地理的領域（例えば、米国にわたって）内の各航空機に対する、位置（緯度および経度）、速度、機首方位、識別、および飛行計画である。データのリアルタイム性質は、モニタリングされるプロセスの変化速度に関連付けられ、その頻度は、どのデータのリアルタイム性質が更新のために利用可能である。天候データは、物理的（人による）または電子手段によって（例えば、ＭＥＴＡＲデータベースにおいて）通常更新され、１時間に一度利用可能にされ、これらの手段は、天候条件の通常の変化速度をキャプチャするのに十分である。特別な場合（ハリケーンの力の風、または極端な悪天候）では、天候データはより頻繁に更新され得る。この議論に対して、リアルタイムが、一時間に一度、または実世界の変化の予測可能な速度を反映するのに必要である度に考慮される。国家の空のトラフィック制御システムは、３分に一度トラフィックデータ更新し、典型的には、位置、機首方位、および航空機の速度変化をキャプチャする。これは、航空機の位置が本発明に従って改変され、航空機の飛行経路の現実のシミュレーションを提供することを可能にするのに十分速い。
【００１０】
プレイヤー１２０は、ゲーム１１２（例えば航空機、車等）内のゲームユニットを制御する場合、ゲーム１１２は、このゲームのための現実の環境を提供するように要求されるトゲームデータサーバ１０８からのデータを必要とする。ゲーム１１２によって必要とされたデータは、プレイヤー１２０がゲーム１１２内の車両を案内している方向に天気予報または空のトラフィック等のデータを含む。従って、ゲーム１１２は、プレイヤーゲームユニットの現在の場所および時間に基づいてデータを要求する。この時間情報は、明示的にまたは暗示的に提供され得る。このゲームのデータリクエストの頻度は、好ましくは、プロバイダ１００、１０４によって維持されたデータベース内のデータの更新の頻度に一致する。これは、ゲーム１１２が世界のリアルタイム表現およびその世界の車両をプレイヤーにできる限り可能な最高速度で提供することを可能にする。あるいは、このリクエストは、非同期であり得、長期間にわたって使用されるべき大量のデータをリクエストする。ゲームデータサーバ１０８は、ゲーム１１２のデータリクエストを処理し、ゲーム１１２におけるレンダリングおよびシミュレーションのために、ゲーム１１２にリクエストされたデータを提供する。複数のプレイヤー１２４は、ゲーム１１６の異なるコピーをプレイし得、その世界のいくつかの他の領域またはプレイヤー１２０と同じ世界の領域に応答するデータのためのゲームデータサーバ１０８にアクセスし得る。さらに、第２のプレイヤー１２４は、第１のプレイヤー１２０によってプレイされているゲーム１１２とは全く異なるゲーム１１６（例えば、カーレースゲーム、またはフットボールゲーム）をプレイし得る。しかし、異なるゲーム１１６は、第１のゲーム１１２と同じタイプのデータ（例えば天候）をリクエストし得る。本発明のアーキテクチャは、他のゲームのデータ要求を満たすために拡張され得る。例えば、天気予報に加えて、カーロードレーシングゲームは、自動車トラフィックに関するリアルタイムデータを生成し得、これを格納するデータベースを使用し得る。船舶（ｍａｒｉｔｉｍｅ）ゲームは、ゲームでおよび以後使用され得る海上条件に関するリアルタイムデータを収集かつ格納し得る。
【００１１】
図２を参照すると、ゲームデータサーバ１０８は、その空のトラフィックおよび天候データベース２００、２０４を、上述のような外部の空のトラフィック１００および天候データプロバイダ１０４からリクエストされたデータを用いて保守する。外部データシステム１００、１０４から作成されたデータに対するリクエストのタイプおよび頻度を制御するために、ゲームサーバ１０８は、データリクエストを開始するためにタイマープロセッサ２０８、２１２を使用する。スタートアップ実施形態または任意のフルリセットでは、タイマープロセッサ１０８、２１２は、天候およびトラフィックに関して利用可能な全ての現在のデータをリクエストするようにデータリクエスタ２１６、２２０に命令する。データのスナップショットは、データベース２００、２０４に最初に密集させるためにデータ更新プロセッサ２１６、２２０によって使用される。データベース２００、２０４が十分に密集した後、次いでタイマー２０８、２１２は、最大の更新頻度および個人データのための時間においてデータをリクエストし、各データベース２００、２０４を更新する。上述のように、天候データの例では、これは、その時間から約１０分経過した時に一時間に一度である。空のトラフィックデータの場合では、これは、約３分ごとである。タイマー２０８、２１２によって使用されたこの更新時間および頻度は、データプロバイダ１００、１０４の更新時間および品後に整合するように選択および最適化される。
【００１２】
プレイヤー１２０がコンピュータゲーム１１２をプレイする場合、プレイヤーのゲームユニットの場所および時間の変化に対応する空のトラフィックおよび天候データに対応するリクエストを行う。データに対するリクエストは、好ましくは、別個の空のトラフィック２２４および天候リクエストプロセス２２８を介して作成される。ゲーム１１２は、必要とされたデータを特定するフォームでデータをリクエストする。例えば、ゲーム１１２は、フライトシミュレータにおける現在の位置（緯度、経度、および高度）、状態機首方位を特定し得る。ゲーム１１２によるデータのためのリクエストは、プレイヤー１２０による選択および制御入力（例えば、プレイヤー１２０がフライトシミュレーションゲームにおいて飛行機をどこでおよびどうのようにして飛ばしているのか）に応答して作成される。このゲームデータリクエストは、空のトラフィックリクエストプロセス２２４および天候リクエストプロセス２２８によって使用され、各トラフィックおよび天候データベース２００、２０４に対するデータクエリを生成する。
【００１３】
例えば、一実施形態では、ほとんどの適切なデータを決定するために、リクエストプロセス２２４、２２８は、航空機性能（７４７対Ｐｉｐｅｒ  ｃｕｂ）、状態（巡航、着陸、離陸、タキシング）、現在の航空機データ（位置、機首方位、速度および方向）、以前のリクエスト（位置、機首方位、速度および方向）を考慮する。航空機状態は、航空機制御（例えば、速度１２０ｋｔｓ未満、ギアダウン、フラップ＞１５のような７４７スタイル航空機の着陸状態を意味し得る）の位置および航空機の位置（４０００フィート未満および空港から１０マイル以内）を意味している。
【００１４】
リクエストプロセス２２４および２２８は、その航空機および状態に適切な航空機の移動方向およびその周辺における頻度および距離でデータを集める。以前の７４７の着陸の例では、リクエストプロセス２２４、２２８は、低速（１０分ごとに一回）で航空機周辺を円形に３０マイル内でデータをリクエストする。なぜなら、飛行機の場所は、飛行機の場所がフルフライトである場合よりもより低い頻度で変化する。巡航状態では、典型的には７４７は、時速４００マイルで３５，０００フィートで飛行する。この場合、リクエストプロセス２２４、２２８は、その航空機の現在の機首方位に向かって示された長さの大部分を有する２００マイル幅および４００マイル長さであった楕円内で５分ごとにデータをリクエストする。もちろん、データリクエストに対する他のパラメータは、本発明に従って使用され得る。従って、ゲーム１１２は、ゲーム航空機が遭遇するが、航空機の位置またはルートに関連付けるためにフィルタリングされるデータ（天候または航空機）を記述するより大きいデータベース２００、２０４のサブセットを処理する。上述のプロセスの１つの利点は、ゲームに再度送ることが必要とされたデータ最小化されることにより、時間および帯域幅を節約することである。
【００１５】
航空機データの場合では、そのリクエストプロセスが決定される領域内で決定された航空機データ（例えば、識別、飛行経路、機首方位、高度、および速度）のリストからなり得る。天候の場合、帰還データは、天候リクエストプロセスアルゴリズムが決定された領域内の天気予報（温度、風向、露点（氷結レベル）、降水量等）からなる。トラフィックおよび天候リクエストプロセス２２４、２２８は、特定の必要性によって異なり得る（例えば、トラフィックは、十分に働くようにトラフィックプロセス２２４に対して５０マイル以内で必要とされるに過ぎないが、天候プロセス２２８は、十分に働くように１００マイル以内のデータを必要とし得る）。
【００１６】
図３を参照すると、ゲームシステム１０７は、オブジェクト指向設計を用いてインプリメントされて示される。好ましくは、特定のオブジェクトは、オブジェクト自身のデータを格納し、必要とされた場合、他のオブジェクトからデータをリクエストし、リクエストされた場合、データを他のオブジェクトに提供する。図３は、トラフィックマネージャ３００と、天候マネージャ３０４と、航空機マネージャ３０８と、世界マネージャ３１２と、レンダリングエンジン３１６と、プレイヤー制御３２８との間の接続を示す。お互いからのデータに対するこれらの処理リクエストおよび処理リクエストの全ての後で、これらのリクエストはバスアークテクチャ上にあるものとして視覚化され得る。他のゲームプロセス、オーディオエンジン３２０、およびフォースフィードバックエンジン３２４は、ほとんど密接に接続されておらず、航空機マネージャ３０８およびトラフィックマネージャ３００のみから入力を獲得する。
【００１７】
トラフィックマネージャ３００は、ユーザが経験する世界においてリアルタイムトラフィックの内部データベースを保守する。トラフィックマネージャ３００はまた、トラフィックの移動およびトラフィックコントローラによるその制御をシミュレートする。プレイヤー制御／ゲーム状態プロセス３２８から受け取られたプレイヤーの航空機のタイプ、状態、および位置に基づいて、トラフィックマネージャ３００は、プレイヤーの航空機の周囲の予め定義された地理領域内部にあるゲームデータサーバ１０８からトラフィックデータをリクエストする。このデータは、プレイヤーのコンピュータに配置された内部データベース内で保守され、このデータは、これらのリクエストによって、およびトラフィックマネージャの内部プロセスによるトラフィックのシミュレーションによって連続的に更新される。
【００１８】
このトラフィックマネージャ３００は、連続的ベースでレンダーエンジン３１６から空のトラフィックデータ位置（場所、機首方位、高度、速度、および識別）のためのリクエストを処理する。このレンダーエンジン３１６は、任意の従来のレンダリングプロセスであり得る。このデータは、ゲームディスプレイ上の世界内部の航空機を表示するために使用される。トラフィックマネージャ３００はまた、リアルタイムデータに基づいてゲーム世界内の空のトラフィックの通信をシミュレートする。この外部的な現実化は、オーディオエンジン３３６に送信される通信コマンドによって行われる。オーディオエンジン３３６は、ゲームにおけるプレイヤーの状態および他の航空機に基づいてユーザに現実のオーディオ通信メッセージ（例えば、トラフィック制御（ＡＴＣ）および航空機からの音声通信）を出力するこれらのコマンドを使用する。これらのメッセージは、ＡＴＣと他の航空機との間およびＡＴＣとプレイヤー１２０との間のメッセージを含む。この音声は、当業者に公知のような従来技術を用いてシミュレートされる。
【００１９】
天候マネージャ３０４は、ユーザが経験する世界におけるリアルタイム天候の内部データベースを保守する。プレイヤー制御／ゲーム状態プロセス２２８から受信されたプレイヤーの航空機状態データ（場所、機首方位、高度、速度、および識別）に基づいて、天候マネージャ３０４は、ゲームデータサーバ１０８からのプレイヤーの航空機付近の天候データをリクエストする。このデータは、これらのリクエスト（天候データおよび航空機の移動の変化の速度に基づく）および天候マネージャ規則に基づく天候のシミュレーションによって連続的に更新される内部データベースにおいて保守される。この天候マネージャ３０４は、連続ベースでレンダーエンジン３１６から一般的な領域を介して天候状態（温度風、降水量、視界）のためのリクエストを処理する。このデータは、ゲームディスプレイ上の世界内のリアルタイム天候変化を表示するために使用される。
【００２０】
天候マネージャ３０４はまた、リアルタイム天候供給および天候マネージャ３０４自体内部の規則に基づくプロセスに基づいて現実の、変化する気候をシミュレートし、利用可能な現実世界のデータ（例えば、突風（ｗｉｎｄ  ｇｕｓｔ）、雷雨、浮雲の割合（ｃｌｏｕｄ  ｄｒｉｆｔ  ｒａｔｅ）、任意の降水の強さ等）から提供されない天候効果を提供する。突風等の距離および時間に近い天候変化および傾向に反応する規則に基づくプロセスは、マイクロレベル処理と呼ばれる。マクロプロセスは、日々のまたはカレンダーの傾向により発生し得る傾向を説明する。マクロプロセスの例は、日時（最近の午後の間に発生する雷雨の傾向）、またはその年の時期（多くの層雲（雷雲ではない）は、冬の間に米国において発達する傾向がある）によってトリガされるプロセスを含む。変化する天候は、レンダリングエンジン３１６によってユーザに変化する天候自体を明らかにする。従って、ミクロおよびマクロプロセスの使用は、ランダムである新しいゲーム条件を作成するための現実世界のデータ情報を拡張する。なぜなら、その経験は、現実世界の天候に依存するためである。さらに、雷雨または突風は、フライトシミュレーションゲームにおける飛行機を飛ばすか、またはカーレーシングゲームにおける車を運転するパイロットの能力に著しく影響を与え得るために、これらのプロセスは、プレイヤーのゲームプレイと双方向通信する天候効果を作成する。
【００２１】
（マイクロプロセス）
天候データが１時間に一回のみ更新される場合、本発明の一実施形態は、１時間に一回のこれらの更新間で移動を伝え、世界データに変化するマイクロプロセス規則を使用する。これらの結果は、データがどのようにして経時的に典型的に変更するかを見て、獲得された現実世界のデータが次の更新を受け取る前に以後の時間にわたって変化し得る場合に、伝えるために開発された単純な規則を使用する。
【００２２】
（風のマクロ処理）
風は、方向、速度、および突風（３６０からの風、１０ｋｔｓ、２０ｋｔｓまでの突風である場合）として報告および表現される。典型的にはこのデータは、各報告ステーションによって各時間ごとに更新される。天候マネージャ３０４は、現在および以前の時間にそれぞれ報告された場所の天候観測データを保守する。風マクロ処理は、風方向、風速、これらの観測の突風値を比較し、プレイヤーが次の時間にわたって経験する風条件をアクティブに変更する。
【００２３】
（ゲーム天候の現在の天候観測への移行）
新しい天候観測が入ってくる場合、天候マネージャ３０４は、プレイヤーが次の１０分間にわたってその場所で見る風をゆっくりと変化させる。風が迅速に変化し得るが、妥当な短い期間にわたる値を変化させることは、その環境をより信じられるようにする。一実施形態では、ゲーム１１６は、各分で約１０パーセントだけ方向、速度、および突風の値を変更する。例えば、ある場所の現在のゲーム天候は、方向１８０、速度５、および突風１０、時刻ｔにおける同じ場所の新しい観測は、方向１５０、速度１０、および突風１５である。一実施形態では、風マイクロプロセスは、現在と新しい観測との間の差を以下のように計算する。
【００２４】
方向：−３０（１５０−１８０）、速度＋５（１０−５）、および突風＋５（１５−１０）
次いで風のマイクロプロセスは、次の１０分間にわたってこの場所における風が観測された値に整合するようにこの量だけ変化する。天候マネージャ３０４は、次の１０分間にわたって各分ごとの各値へのこの伝えられた変更の１／１０（好ましくは最も近い整数に丸められる）をインプリメントする。プレイヤーが見るこの値は以下のようにほぼ変更する
2004520903.tif 000003
（天候の傾向の伝達）
ゲーム天候が実際の天候に整合するように変化する１０分間の期間の後、次いでゲームマイクロプロセスは、知覚された傾向の方向で残りの時間の間に天候を変更させるように作用する。このプロセスは、現在の天候観測と以前に報告された観測と比較し、その変更の範囲内のランダム変化を計算し、次いでこの変化に整合するための残りの時間にわたって天候を変更させる。
【００２５】
例えば、時刻ｔ−１におけるある場所の報告された観測は、方向２００、速度５、突風１０であり得、時刻ｔにおける同じ場所の報告された観測は、方向１５０、速度１０、突風１５であり得る。次いで、ウインドマイクロプロセスは、方向−５０（１５０−２００）、速度＋５（１０−５）、および突風＋５（１５−１０）として２つの観察間の差を計算する。次いで風マイクロプロセスは、変化の範囲（例えば−２０、３、２）内のランダム値を選択し、この値を、以下の伝えられた天候、方向１２０、速度１３、突風１７を生じる現在の天候値に追加する。この天候マネージャ３００は、次の１時間の更新まで、好ましくは各１０分の伝えられた変更の２０％（最も近い整数に丸められる）をインプリメントする。この変更は、以下のように示され得る。
【００２６】
2004520903.tif 000004
従って、本発明は、ゲーム経験を制御するための現実世界の条件に基づいて天候効果をアクティブに作成するための風マイクロプロセスを使用する。
【００２７】
（マクロ処理）
冒頭で説明したように、マイクロプロセスは、データがない場合、時間内にデータを満たすかまたは伝えるように作用する。マイクロプロセスは、データ更新の間の時間内に作用する。一方でマクロプロセスは、天候データに情報を追加するようにより大きなスケールにわたって作用する。天候データには情報があるが、シミュレーションに対して望ましい情報よりも詳細ではない。
【００２８】
（雷雨マクロプロセスの頻度）
一実施形態では、マクロプロセスは、領域内の雷雨頻度を評価するために使用される。特定の領域の天候観察は、雷雨が存在すること、およびその相対的な厳しさ（厳しいか否かとして報告した）を列挙するだけである。本実施形態では、本発明は、典型的にはより多くの雷雲または所与の領域内のセルが存在する単純な規則を使用することによってこのデータを増強し、このデータが秋または冬月ではなく、夏月の雷雨を有するように伝えられた。例えば、雷雨を有するように報告されてきた領域のための雲情報を生成する場合に、プログラムは、１年のほとんどの間に選択されたセクタ当たり基本レベル３の雷雲を平均化する。北半球の夏月の間（６月〜８月）に、さらなる温暖化はより頻繁にそしてさらなる雷雲を引き起こし得る。
【００２９】
雷雲をセクタに割り当てる場合、マクロプロセスは、プレイヤーが現在ゲーム１１２をプレイしている月をその内部で決定する。この情報は、プレイヤーのコンピュータを含む任意の数のソースまたは外部データベースから容易に利用可能にされる。６月〜８月の間に、プロセスは、所与の領域当たりの雷雲の量の２倍を生じ得るランダム数をベース平均値に追加する。このように、ゲーム１１２は、現在の天候データおよび１年の期間に応答して天候変化を引き起こすことにより、現実のプロセスに基づく異なる経験をプレイヤーに提供する。
【００３０】
図３を再度参照すると、航空機マネージャ３０８は、プレイヤーの航空機および内部システムに関する情報を処理し、保守する。航空機マネージャ３０８は、プレイヤーの制御プロセス３２８（航空機の移動およびシステムの制御）から制御入力を取る。次いで、航空機マネージャ３０８は、リアルタイム天候情報のための天候マネージャ３０４とインターフェースを取る。このリアルタイム天候情報（例えば、降水量、風、温度）は、航空機の動作、コックピットディスプレイ内のリアルタイムトラフィックのディスプレイを提供するトラフィックマネージャ３００、および世界に関する操作および物理的情報のための世界マネージャ３１２に影響を与える。航空機マネージャ３０８は、レンダリングエンジン３１６に航空機に関する航空機専用の情報を提供する。当業者に公知の航空機の音およびリアルタイム感覚をシミュレートする必要がある場合、航空機マネージャ３０８はまた、ディレクティブをオーディオエンジン３２０およびフォースフィードバックエンジン３２４に出力する。
【００３１】
世界マネージャ３１２は、当業者に公知である場合、世界の物理的状態に関する情報を保守する。これは、地形、土地利用（ｇｒｏｕｎｄ  ｃｏｖｅｒ）、水文学、建物、道、およびナビゲーション特徴に関する情報を含む。世界マネージャ３１２は、地形の外観（温度、降水量）に影響を与え得る天候マネージャ３０４からのリアルタイム入力を取る。世界マネージャ３１２は、ナビゲーションおよび地形情報をトラフィックマネージャ３００および航空機マネージャ３０４に提供する。世界マネージャ３１２はまた、情報をレンダリングエンジン３１６に提供する。
【００３２】
レンダリングエンジン３１６は、従来技術を用いてディスプレイ３３２を介してゲームの内部状態（コックピット）および外部状態（地形、天候、他の航空機）をユーザに提示する。オーディオエンジン３２０は、現実の航空機、通信、および世界の音をユーザに提供する。航空機マネージャ３０８およびトラフィックマネージャ３００からの入力に基づいて、オーディオエンジン３２０は、オーディオシステム３３６を介してイベントベースの音および音声通信に基づくイベントをユーザに出力する。イベントベースの音（エンジン騒音、コックピットスイッチ運動、または航空機クラッシュ）は、航空機マネージャ３０８によってオーディオエンジン３２０に送信されたイベントに応答してオーディオエンジン３２０によって生成される。これらの音声は、スイッチ運動の場合に一回出力するか、または変更されるまで継続的に変更される（エンジンのうなり（ｄｒｏｎｅ）の場合）かのいずれかである。
【００３３】
オーディオシステムはまた、空のトラフィックコントローラ（ＡＴＣ）およびユーザによって聞き取られ得る他の航空機からの、トラフィックマネージャ３００によって生成された音声オーディオメッセージを生成する。ゲーム内のこの可能な通信句（ｐｈｒａｓｅ）は、（例えば、「機首方位３５０に向かって左に曲がれ」、または「ラジャー、機首方位３５０に向かって左に曲がります」）は、全ての位置（ＡＴＣ、擬似航空機、およびプレイヤー）に対して前もって進められる。コマンドによって参照され得るデータベースに配置される。音声アクターは、その位置で行われた全ての句に含まれた全てのワードおよび数（例えば、ワード（曲がる、左、右、に、へ、から、機首方位）、０、１、２、３、４、５等は、ＡＴＣコントローラを示す人によって記録ステップされる）を記録するために使用され得る。位置およびワードによって参照され得るデータベースに配置される。
【００３４】
通信コマンドは、オーディオエンジン３２０によって受け取られ、通信コマンドは、句を特定し、かつこれを満たすために必要とされた情報の全てを含む。すなわち、位置（ＡＴＣ、プレイヤー、擬似航空機）、コマンド（例えば、ＴＵＲＮ＿ＴＯ＿ＨＥＡＤＩＮＧ）、およびその句（方向：左、指定３５０）を書き込むことが必要な任意の特定のデータの全てを含む。次いで、オーディオエンジン３２０は、その位置に対する句を参照し、その位置に対して記録されたワードデータのためのボイスデータを参照し、次いでそのボイスデータを、句によって示された順序で「スティッチング（ｓｔｉｔｃｈｉｎｇ）」と呼ばれた従来のプロセスを用いてオーディオスピーカにそのボイスデータを出力する。
【００３５】
フォースフィードバックエンジン３２４は、当業者に公知のジョイスティックに含まれた皮膚ハードウエアを介してフォースフィードバック情報をユーザに提供する。このフィードバック情報は、航空機マネージャ３０８からの入力に応答して生成される。このフィードバックの例は、制御圧力、ホイールスピン、振動、着陸バンパー、または航空機のエンジン問題による振動を含む。
【００３６】
プレイヤーの制御／ゲームプロセス３２８は、ユーザからの選択および制御情報を介してゲームの軌道および実行を制御し、他のエンジンにプレイヤーによって制御されたゲームユニットに関する現在の情報を提供する。プレイヤーの制御／ゲームプロセス３２８はまた、ゲームおよび世界の状態についてのデータを保守する。
【００３７】
ジョイスティック３４０はまた、ユーザがプレイヤー制御／ゲーム状態プロセス３２８を介してゲームへの入力を提供することを可能にする。これらの入力は、制御情報（揺れ、振動、および回転）、スロットル位置、および機能選択（例えば、ギアを低下またはフラップ制御）を含み得る。ユーザはまた、フォースフィードバックエンジン３２４を介してゲームからの情報の適切なフォースフィードバック情報を受け取る。キーボード３４４は、標準的なコンピュータキーボードである。プレイヤーは、ゲームおよび航空機の構成を制御するための符号化されたキープレス（ｋｅｙｐｒｅｓｓ）およびマクロを使用する。
【００３８】
従って、本発明は、現実世界のデータをゲームに統合するためのシステムを提供して、リアルおよびランダムな態様でプレイヤーのゲームの経験に影響を与え、これにより現実世界の天候およびトラフィックデータがゲームの結果に影響を与えそして影響を及ぼす。
【００３９】
以下の説明は、本発明の実施形態によるフライトシミュレータにおける２つの重要な要素を説明する。すなわち天候エンジンおよびトラフィックマネージャである。
【００４０】
（Ｉ．天候エンジン）
図４は、天候エンジン４００と天候マネージャ３０４との間の関係を表す。天候エンジン４００は、天候マネージャ３０４から天候入力データ（観測）を受け取り、データに対する天候マネージャ３０４のリクエスト上で現在の天候状態の計算を実行する。上述のように、天候マネージャ３０４は、ゲームにおいて必要とされた航空機の周りの天候または任意の他の表示位置を説明するために使用される天候データを保守する。好適な実施形態では、天候エンジン４００は、天候シミュレーションのための改変を実行する独立モジュールである。実際の現実世界のデータは、各場所および時間に対して利用可能であるため、プレイヤーは、ゲーム１１２をプレイし得る。ゲーム１１２は、ゲームプレイを制御するための現実世界のデータに基づいてデータを改変する。
【００４１】
天候エンジン４００のための入力は、専用の場所および時間値を有する天候観察のセットである。天候エンジン４００の出力は、任意の専用の位置および時間値のための改変された天候状態である。次いで天候エンジン４００は、プレイヤーの航空機がある位置から別の位置に移動するにつれて、またはプレイヤーの航空機が時間内に移動して、現実のリアルタイム天候経験をプレイヤー１２０に提供するにつれて、ゲームにおいてスムーズにレンダリングされた天候を変更する。さらに、天候エンジン４００は、ほとんどの天候要素に対する「ポイント」天候状態およびいくつかの雲のタイプのための「環境」状態の両方を生成する。天候エンジン４００は、改変された天候を生成するために使用されるべき種々の天候要素に関する属性情報を格納する天候要素に４０４に接続される。
【００４２】
（天候要素）
以下は、天候要素データベース４０４において保守された天候要素の例示的なリストである。
・雲。雲は、雲タイプおよび雲の層によって分類される。雲は以下の属性を用いて特定される。すなわち、雲のタイプ、層ベースの高度、層の上部の高度、密度（範囲）である。
・風。風は層によって分類される。さらに風は、層間を直線的に変化する。風は以下の属性を用いて特定される。すなわち、高さ、方向および速度である。あるいは、突風およびスコールが特定され得る。
・視界。視界は水平に見られ得るマイルの数を用いて特化される。制限された視界は、煙霧および霧によって実現される。
・温度。温度は摂氏温度で特定される。
・圧力。圧力はミリバールで特定される。
・降水量。支援された降水量は雨、雪、およびであり、これらは共存し得る。降水量は、密度で特定される。
・雷雨。雷雨は、パワーで特定される。
・氷結。氷結の可能な存在は、他の天候要素に従って予測され、以下に説明される。
・乱気流。乱気流の可能な存在は、他の天候要素に従って予測される。
【００４３】
（天候要素依存性）
観測点は、天候データプロバイダ１０４によって準備された天候データベースにおいて収集され報告された天候データのセットである。天候要素のいくつかは、観測点に対して定義される一方で、他の要素は、他の天候要素に従って合成される。例えば、「氷結」および「乱気流」は、観測点に対して特化されず、従って、他の天候要素の存在および程度に従って計算される。図５は、異なる要素、その出力、および他の要素（もしあれば）を示すブロック図である。異なる天候要素は、異なる出力を必要とする。例えば、降水量は、レンダリングおよびオーディオを必要とし、雲および温度情報に基づいて合成される。氷結は、温度および視界要素に基づいて合成される。しかし、雲自体がレンダリングされ、所与の観測点のための実際のデータに基づくか、またはゲームユニットの現在の場所が観測場所間にある場合に改変される。
【００４４】
（Ａ．天候要素改変）
天候改変の主要な目的は、天候をスムーズに変更させることである。１つの場所から別の場所に移動しながら、またはこれらの観測場所の天候要素の改変に基づいて、プレイヤーのゲームユニットの現在の位置および時間に対する時間および場所付近のこれらの観測場所に対する天候要素の改変に基づいて遅れずに移動する。以下のアルゴリズムは、実際の天候データを有する観測点を用いて、時間および位置の両方によって天候改変を実現する一実施形態である。
【００４５】
（ステップ１−場所によるフィルタ天候観測）
天候改変に対する第１のステップは、改変のために使用された相対的な観測場所を選択することである。図６は、観測場所を選択するように反復的な選択ブロックのプロセスを示す。全ての観測がブロックとして格納され、ブロックは緯度および経度の値によって特定される。このタスクは、空間的かつ時間的にプレイヤーの航空機の現在の場所に近い観測場所を選択することである。第１に、天候エンジン４００は、ブロックが観測場所を含むかどうかを決定するために、航空機の場所を含むブロックを処理する。次いで、ブロックは観測点を含まない場合、天候エンジン４００は、図６に示されるように航空機の場所を含むブロック周囲のブロックを処理する。しかし、航空機の場所内の観測点がない場合、検索の範囲値は、現在の位置に対して最も近いブロックを含むように増強される。次いで天候エンジン４００は、図６に示されるように次の経路における次に最も近いブロックを処理する。任意の観測点が経路内で見出される場合、天候エンジン４００は、任意のパス上で停止する。これらの観測点は、改変のために使用される。
【００４６】
（ステップ２．時間による改変）
天候改変に対する第２のステップは、現在の時間値に従って関連する観測を選択することである。第１のステップでピックアップされた観測場所のそれぞれに対して、現在の時間値の最も近い観測場所（最も近い最小および最大時間値）が選択される。
【００４７】
以下の場合が発生し得る
・ステップ１で見出された観測領域の全ては過去に配置される。この状況では、天候エンジン４００は、改変のために最新の観測場所を選択する。
・観測の全ては将来にある。この例では、最も古い観測が選択される。
・将来の観測および過去の観測の両方が存在する。この場合、天候エンジン４００は、過去において最新の観測および未来において最も近い観測を選択し、各観測場所のための天候要素に基づいて改変された観測が生成される。一実施形態では、改変された観測場所は、現在の時間値および選択された観測時間値に従って直線的に選択される。
【００４８】
（ステップ３−場所による改変）
次に、カメラ場所に対する改変された観測は、以前のステップに選択され改変された観測場所の全てに従って作成される。図７は、本改変機構の一実施形態を示す。Ｄｉは、カメラの場所と観測＃ｉ場所との間の距離の平方であり、観測＃ｉに対する正規化されていない重みが１／Ｄｉとして計算され、正規化に対する合計の重みが正規化されていない重みの合計として計算され（｛Ｓ＝１／Ｄ１＋１／Ｄ２＋１／Ｄ３．．．｝）、そして、観測＃ｉの対する正規化された重みは、合計の重みによって除算された正規化されていない重み１／（Ｄｉ＊Ｓ）として計算される。
【００４９】
１つ以上の非常に近い観測が存在する場合に、特別な場合が存在する。この場合、時間による最も近い（Ｄｉが約０である）観測は、カメラ場所のための観測点として選択される。
【００５０】
（ステップ４−定義されていない要素の計算）
いくつかの天候要素は、選択された観測場所に対して存在し得ない。この場合、特定の天候要素規則に従って現在の天候要素の改変の後に計算されなければならない。例えば、標準圧力逓減率テーブルを介して計算される。氷結は、その場所における考慮、降水量、雲のタイプ、および温度を説明するように計算される。
【００５１】
（ステップ５−高さによる改変）
いくつかの天候要素は層（例えば風）として定義されるが、特定のカメラ高さ場所（風、次いで温度、氷結および乱気流）に対して計算される。これらの要素に対して、天候要素値は、最も近い層の値間で直線的に改変されなければならない。さらに、特定の高さにおける計算は、好ましくは風の計算は、風速および風の方向をランダムに変更し得る突風を説明する。
【００５２】
（Ｂ．雲の改変）
雲の範囲（フライトシミュレーションゲームでは重要である）はまた、好適には本発明に従って改変される。一実施形態では、雲オブジェクトは、プレイヤーの航空機が移動する場合に移動するグリッドを用いてインプリメントされる。雲パラメータは、グリッドの各頂点に対して改変される現実世界の観測データに従って計算される。図８は、約２／８の雲の範囲のための雲オブジェクトを示す。グリッドの各セルは、１つの雲オブジェクトを含む。雲オブジェクトの場所は、各セルに対してランダムであるが、より大きな雲（より大きい雲範囲）は、より低い場所の「自由度」を有する。従って、全範囲に対して、各雲オブジェクトは、グリッドの頂点に正確に配置される。雲オブジェクトのサイズは、観測データから得られた現在の雲の範囲値に従って計算される。一実施形態では、ランダム値がより現実のシミュレーションを提供するために追加される（正および負のサイズの両方）。各雲オブジェクトは、雲の形態を生成するために対応するシード値を有する。このシード値は、好ましくは、雲の形態の現実の変化をエミュレートする時間と共に滑らかに変化される。さらに、各雲オブジェクトは、時間とともに変化しない揺れランダム値を有する。この揺れ値は、雲が波打つ垂直軸（ｖｅｒｔｉｃａｌ）からの角度を特定する。
【００５３】
（雲グリッド生成）
雲グリッドは、新しい航空機および雲層の各々に対して生成される。各グリッド頂点（雲オブジェクト）に対して、以下の値がグリッド作成において生成される。
・サイズ変更係数。最小雲サイズ変更から最大サイズ変更の範囲におけるＳｉｚｅＶａｒｉａｔｉｏｎ。
・０〜１の範囲のオフセット変更係数（ｏｆｆｓｅｔＶａｒｉａｔｉｏｎ）。
・０．０〜２５５．０の範囲の初期シード値。
【００５４】
（移動している航空機のための雲グリッド処理）
雲グリッドは、雲グリッドステップ値（ｃｌｏｕｄ  ｇｒｉｄ  ｓｔｅｐ）に常に位置合わせされる。従って、航空機が新しい場所に移動する場合、いくつかのグリッドのロウおよび／またはカラムが検出され、新しいグリッドのロウおよび／またはカラムが追加される（その移動が十分に大きい場合）。この場合、メモリブロック（さらに存在しているが、頂点に移動する）が移動され、新しい頂点（雲オブジェクト）値が生成される。
【００５５】
（頂点値の計算）
各頂点のための値はまた、一実施形態では各天候サイクルのために再計算される。一実施形態では、以下の値が再計算される。
【００５６】
（大きさ）
雲のサイズは、その場所において、ＣｌｏｕｄＤｅｎｓｉｔｙ＊ｃｌｏｕｄ  ｇｒｉｄ  ｓｔｅｐ＊ＳｉｚｅＶａｒｉａｔｉｏｎとして、雲の範囲（Ｃｌｏｕｄ  Ｄｅｎｓｉｔｙ，０〜１の範囲）に従って計算される。この計算されたｃｌｏｕｄ  ｓｉｚｅは、０〜ｃｌｏｕｄ  ｇｒｉｄ  ｓｔｅｐの範囲内にあるべきである。この値は、オーバーフローの場合に調整されるべきである。
【００５７】
（雲の高さ）
雲の高さは、その場所において雲の層の現在の高さである。
【００５８】
（オフセット）
グリッドの頂点からの雲のオフセットは、（ｃｌｏｕｄ  ｇｒｉｄ  ｓｔｅｐ−ＣｌｏｕｄＳｉｚｅ）＊ＯｆｆｓｅｔＶａｒｉａｔｉｏｎとして計算される。
【００５９】
（シード値）
このシード値は、ＣｕｒｒｅｎｔＳｅｅｄ＋ＴｉｍｅＥｌａｐｓｅｄ＊ＣＬＯＵＤ＿ＳＥＥＤ＿ＣＨＡＮＧＥ（ＣＬＯＵＤ＿ＳＥＥＤ＿ＣＨＡＮＧＥは、精密調整のための対象物（ｓｕｂｊｅｃｔ）であり、０．２の値が始めに想定され得る）経過した時間値（ｔｉｍｅ＿ｔ、（秒））に従って計算される。
【００６０】
（ｃ．氷結モジュール）
好適な実施形態では、本発明は、飛行機上の氷結条件をシミュレートするリアルタイムデータを使用する。この氷結条件は、リアルタイムデータによって提供されない天候効果であるが、リアルタイムデータによって生成され引き起こされる。この氷結条件はまた、厳しい氷結条件は飛行機を故障させ、クラッシュさえもし得るため、プレイヤーのゲーム経験に関して直接的な効果を有する天候効果である。一実施形態では、氷結モジュールは、天候エンジン４００内に含まれたモジュールである。この氷結モジュールは、天候に関する入力情報を獲得し、この情報は、氷結の存在および厳しさを決定する。この氷結モジュールはまた、航空機上の脱氷結システムの状態を含む、航空機に関する構成情報を受け取る。氷結モジュールは、天候、航空機構成、航空機の位置、およびパイロットの航空機およびアクションの位置に基づいて航空機上の氷結の存在およびレベルを計算かつ維持する。氷結のタイプおよび厳しさにおける差および異なる航空機構成への影響を反映するために為され得る。氷結モジュールの出力は、氷結によって逆の影響が与えられる航空機のいくつかの重要な部分（ウインドシールド、横窓、翼、機体、およびエンジン吸気口）の氷結レベルの最大パーセント（０．０〜１．０）である。データは、航空機の性能および操作に現実の変化に影響を与える航空機システムモデル（動力学、エンジン）内部の他のモジュールによって使用される。このデータは、ユーザに氷結の現実の効果（機体上の氷結、窓の氷結によって低減された視界）を表示するためにレンダラー（ｒｅｎｄｅｒｅｒ）によって使用される。
【００６１】
（Ｉ．氷結のハイレベルなプロセス）
一実施形態では、最高レベルにおいて、氷結モジュールは、以下からなるループによって提示される。
【００６２】
１．世界および航空機の現在の状態を入力する
２．氷結蓄積を計算する
３．氷結離脱（ｄｅａｃｃｕｍｕｌａｔｉｏｎ）（融解）を計算する
４．航空機の更新された氷結状態を出力する
５．繰り返す
このモデルは、ユーザによって影響されるいくつかの変数を入力として獲得するために、モジュールは、好ましくは、ユーザへの氷結の変化を示す速度で実行する用にスケジューリングされる。しかし、氷は任意の高速状態で凍結または融解せず、典型的には、５秒ごとに１回の頻度でモジュールを実行させることで十分である。
【００６３】
（２．氷結の一般的な変数）
ゲーム状態制御から
・航空機位置（緯度および経度）
・航空機高度（フィート）
・Ｗｉｎｄｓｈｉｅｌｄ＿ｄｅｉｃｅ＿ｏｎ（ウインドシールド脱氷結システムが現在動作しているかどうかを示すブール（Ｂｏｏｌｅａｎ））
・Ｗｉｎｇ＿ｄｅｉｃｅ＿ｏｎ（翼脱氷結システムが現在動作しているかどうかを示すブール）
・これらの変数は、これらのシステムを含まない航空機において偽である。一実施形態では、システムは、故障するように為され得ることにより、ユーザがオン（真）に制御するように移動させても、システムはオフ（偽）であり得る。
【００６４】
天候マネージャ３０４から
・現在の位置におけるＧｒｏｕｎｄ＿ｔｅｍｐｅｒａｔｕｒｅ
・ＯＡＴ（外部空気温度）。これは、ｇｒｏｕｎｄ＿ｔｅｍｐｅｒａｔｕｒｅから１０００フィート当たり３度の標準逓減率計算を用いて計算される（７０°Ｆ  ｇｒｏｕｎｄ＿ｔｅｍｐｅｒａｔｕｒｅとすると、これは、１０，０００フィートにおいて４０°ＦのＯＡＴ推定を生じる）。
【００６５】
・Ｃｌｏｕｄ＿ｃｏｖｅｒａｇｅ（この位置および高度における雲の範囲）。これは、この位置を含む天候座標（ｗｅａｔｈｅｒ  ｒｅｃｔａｎｇｌｅ）内の高度において０（無雲）〜１（全天雲）の数である。
【００６６】
（３．氷結特有の変数）
以下の変数は、氷結モジュールによって維持され、他のモデルに対して利用可能にされる。この変数は、０．０（無氷結）〜１（全氷結）の値を有し得る。
【００６７】
Ｗｉｎｄｓｈｉｅｌｄ＿ｉｃｉｎｇ（航空機の前面の視界ウインドシールドの氷結レベル）
・Ｓｉｄｅ＿ｗｉｎｄｏｗｓ＿ｉｃｉｎｇ（側面ウインドウ上の氷結レベル）
・Ｗｉｎｇ＿ｉｃｉｎｇ（翼上の氷結レベル）
・Ｆｕｓｅｌａｇｅ＿ｉｃｉｎｇ（機体上の氷結レベル）
・Ｅｎｇｉｎｅ＿ｉｎｔａｋｅ＿ｉｃｉｎｇ（エンジン吸気口の氷結レベル）
これらの変数のそれぞれは、プラットフォームおよび航空機の構成に基づいてそのレベルを他のレベルに変更させ得る。
【００６８】
（４．氷結処理）
現実世界における航空機上の氷結の効果の概算は、氷結効果を計算するために本発明によって使用される。
【００６９】
（ｉ）入力状態データ）
ゲーム状態および天候データは氷結モジュールにアクセスされ、読み出される。
【００７０】
（ｉｉ）氷結蓄積の計算）
航空機が可視水蒸気（雲）範囲内にあり、外部空気温度（ＯＡＴ）（また、この水蒸気が接触部分で凍結する（１０〜３０°Ｆ））が温度範囲内にある場合に、航空機上の氷結が種々の表面上に蓄積される。より暖かい温度は氷を融解する。より冷たい温度では、水蒸気は接触部分で融解しない。
【００７１】
例えば、より高い速度の蓄積は、７０％雲量よりも高い雲の雲量（流れる雲）に割り当てられ得る。この速度はまた、航空機の構成および氷のタイプ、あるいは高度により異なることが示される。
【００７２】
ある実施形態において、以下のアルゴリズムを用いて氷結蓄積を計算する。
【００７３】
【数１】
2004520903.tif 000005
（ｉｉｉ）氷結離脱（大気または除氷設備による融解）および大気の効果による融解の計算）
現実世界において氷結と戦う２つの方法がある。１つは、温度が氷を溶融するために十分に暖かい。領域または高度で飛行することである。これは、３２°Ｆよりも高いＯＡＴである。しかし、パイロットは氷結条件以外で飛行し得るが、ＯＡＴは、氷を誘拐するのに十分暖かくない。
【００７４】
より暖かい領域への飛行に基づく除氷を計算するための１つのアルゴリズムは、
【００７５】
【数２】
2004520903.tif 000006
（ｉｖ）航空機設備の使用による除氷）
氷結と戦うための他の方法は、除氷設備を使用することである。氷結設備は、しばしば信頼できず、一貫しておよび効率的に適用するのに信頼性がなく、困難である。パイロットが頻繁にそして定期的に設備を適用しない場合、氷結設備は氷を融解することが不可能になるように、氷が蓄積し得る。例えば、設備が十分な除氷設備と共に使用されない場合、除氷値は、全体の量の半分に設定され得る。
【００７６】
除氷設備が効率的に動作し得るが除氷設備は航空機の全てをカバーできない。最終的に、除氷設備は、氷結条件の間により高いレベルの蓄積頻度で可能になり、除氷設備は、脱氷結条件を維持することが可能でなくてもよい。
【００７７】
除氷設備を用いて除氷を計算するための１つのアルゴリズムは、
【００７８】
【数３】
2004520903.tif 000007
第１のアルゴリズムは、十分暖かい温度および航空機が雲内に存在しないことに起因して航空機による氷融解（除氷）をエミュレートする。第２のアルゴリズムは、ウインドシールド上で除氷するか、または翼上で除氷するかのいずれかに起因して氷を取り除くことをエミュレートする。
【００７９】
従って、各ループ（ゲームにおけるサイクル）に対して、除氷設備は、翼およびウインドシールドから氷を除去するように試みる。しかし、上述のように、パイロットが氷の条件から遠ざかって飛行しない場合、本発明の除氷条件は、氷結が設備および／または航空機を圧迫し得る可能性をリアルに提供する。
【００８０】
（ｖ）氷結変数の出力状態
氷結変数の入力状態は、蓄積および離脱モデルによって変更される。この結果生じた値は、他のモジュールおよび外部モジュールに対して利用可能にされる。これらの変数がどのようにして使用されるかについてのいくつかの例が以下に示される。
【００８１】
（ａ）航空機システムモデル
航空機システムモデルは、航空機の飛行をシミュレートする従来のモデルである。
【００８２】
（１．リフトの計算）
翼上の氷蓄積は、最大半分だけ翼によって生成されたリフトを低減する。従って、氷結モデルは、航空機システムモデルを以下のように調整する。Ｌｉｆｔ＝Ｌｉｆｔ＊（Ｗｉｎｇ＿ｉｃｉｎｇ＊０．５）である。
【００８３】
（２．抗力の計算）
翼および機体上の氷蓄積は、航空機の性能に対して最大２５％またはそれ以上の抵抗を追加する。従って、本例では、航空機システムモデルは、以下のように調整される。
【００８４】
Ｄｒａｇ＝Ｄｒａｇ＊（１＋（０．１２５＊（ｗｉｎｇ＿ｉｃｉｎｇ＋ｆｕｓｅｌａｇｅ＿ｉｃｉｎｇ）））
（３．重量計算）
翼および機体上の氷蓄積は、著しい重量を航空機に追加し得る（この例に対して、最大２５％またはそれ以上）。この調整は、以下のようであり得る。
【００８５】
Ａｉｒｃｒａｆｔ＿ｗｅｉｇｈｔ＝Ａｉｒｃｒａｆｔ＿ｗｅｉｇｈｔ＊（１＋（０．１２５＊（ｗｉｎｇ＿ｉｃｉｎｇ＋ｆｕｓｅｌａｇｅ＿ｉｃｉｎｇ）））
（４．エンジン性能の計算）
エンジン吸気氷結は、利用可能である空気量を制限することによってエンジン性能に影響を与え得る。この調整は以下のようであり得る。
【００８６】
Ｔｈｒｕｓｔ＝Ｔｈｒｕｓｔ−（Ｔｈｒｕｓｔ＊Ｅｎｇｉｎｅ＿ｉｎｔａｋｅ＿ｉｃｉｎｇ）
（５．機体氷結による航空機設備への影響の計算）
氷結はまた、航空機のギア、フラップ、および機器（氷結が上にある）の動作に影響を与え得る。
【００８７】
【数４】
2004520903.tif 000008
（ｂ）氷結レンダーモデル）
これらは、氷結モデルの結果によって影響されるレンダー決定の例である。このレンダーは、外部の世界および航空機のビューをユーザに表示する。これは、一般的にウインドシールド、側面の窓、および航空機を含み得る。
【００８８】
（１．ウインドシールドからのビュー）
ウインドシールドからのビューは、一般的に透明である。氷結条件では、視界の量は、ｗｉｎｄｓｈｉｅｌｄ＿ｉｃｉｎｇの量だけ低減される。ここで、氷結されたウインドシールドディスプレイのアレイは、ｗｉｎｄｓｈｉｅｌｄ＿ｉｃｉｎｇ値に基づいて予めレンダリングされ、表示される。例えば、
ｗｉｎｄｓｈｉｅｌｄ＿ｐａｎｅｌ＝ｗｉｎｄｓｈｉｅｌｄ＿ｉｃｉｎｇ＿ｐａｎｅｌｓ［ｗｉｎｄｓｈｉｅｌｄ＿ｉｃｉｎｇ］
（２．側面窓からのビュー）
側面窓からのビューは、その変数によって示されたｗｉｎｄｏｗ＿ｉｃｉｎｇのパーセントによって不明瞭にされる。ここで、氷結されたウインドウディスプレイのアレイは、予めレンダリングされ、ｗｉｎｄｏｗ＿ｉｃｉｎｇ値に基づいて表示される。
【００８９】
ｗｉｎｄｏｗ＿ｐａｎｅｌ＝ｗｉｎｄｏｗ＿ｉｃｉｎｇ＿ｐａｎｅｌ［ｗｉｎｄｏｗ＿ｉｃｉｎｇ］
（ｃ）航空機レンダリング）
ユーザによって示された航空機自体は、ｗｉｎｄｓｈｉｅｌｄ＿ｉｃｉｎｇ、ｗｉｎｄｏｗ＿ｉｃｉｎｇ、ｗｉｎｇ＿ｉｃｉｎｇ、およびｆｕｓｅｌａｇｅ＿ｉｃｉｎｇ荷関連付けられた値に依存して変更される。種々の現実の蓄積レベルにおける氷結影響の予めレンダリングされた表現は、これらの変数の値に応じて航空機モデルに追加される。窓の外を見る場合、および外部のビューが選択された場合、ユーザはこの蓄積を見る。これは、上記で示されたような複数のアレイおよび計算を含む。
【００９０】
従って、氷結モジュールは、プレイヤーの航空機および本発明に従う航空機のレンダリングと双方向通信する氷結影響を生成するための基礎として現実世界のデータを使用して、現在および実際の天候条件に基づく興奮するゲーム経験を提供する。
【００９１】
（ＩＩ．トラフィックマネージャ）
図９を参照すると、トラフィックマネージャ３００は、その機能性をインプリメントするいくつかの独立的なプロセスから構成される。トラフィックエンジン９００は、プレイヤーのゲーム１１２における航空機の全てを作成、管理、かつ更新する。トラフィックエンジン９００は、まずプレイヤー制御／ゲーム状態エンジン３２８からプレイヤーの航空機データ（位置、高度、機首方位、速度、および構成）をリクエストする。トラフィックエンジン９００は、このデータを使用して、上述のようにプレイヤーの航空機の周囲の航空機トラフィックのためのゲームデータサーバ１０８へのリクエストをフォーミュレートする。このトラフィックエンジン９００は、ゲーム１１２内に航空機を作成するために戻ってきたデータを使用する。トラフィックエンジン９００は、トラフィックデータベース９０４の使用を介してこのデータを管理し、トラフィックデータベース９０４は、プレイヤーの航空機を含むプレイヤーの航空機付近の全てのアクティブな航空機のリストを含む。各データベースエントリに対して格納された情報は、一般的に、航空機識別番号（例えば、ＴＷＡ７１４）およびこのプロセスにおいて以後のトラフィックエンジン９００によって作成された擬似およびプレイヤーの航空機オブジェクトへの固有のポインタを含む。このトラフィックデータベース９０４はまた、ゲーム１１２内の他のプロセスによって使用され、このトラフィックオブジェクトを識別し、これにアクセスする。
【００９２】
航空機エントリをトラフィックデータベース９０４に加えることによって、トラフィックエンジン９００はまた、プレイヤーの領域外部にあるデータベース９０４からのエントリを除去することによってデータベース９０４を管理する。一実施形態では、トラフィックエンジン９００はまた、３更新サイクルに対するレポートを受信しなかった任意の航空機のためのトラフィックデータベース９０４からのエントリを除去する。上述のように、データベース９０４への更新は、プレイヤーの航空機の所定の地理的領域内の航空機のために受信される。従って、レポートの欠如は、着陸した航空機を示すか、またはその位置は、航空機が、現在ではプレイヤーのゲーム１１６にもはや関連しないプレイヤーの航空機からはるかに十分離れていることを示す。
【００９３】
まずトラフィックエンジン９００は、単一のＡＴＣプロセス９０８を生成する。このＡＴＣプロセス９０８は、擬似航空機プロセッサ９１６およびプレイヤー航空機プロセス９３２と制御および通信し、その結果ＡＴＣプロセス９０８は、現実のＡＴＣコントローラとしてプレイヤーに現れる。ＡＴＣプロセス９０８は、トラフィックデータベース９０４へのリンクを含むことにより、ＡＴＣプロセス９０８は、関連する航空機のすべてのデータ（例えば、現在の速度、機首方位、および高度）へのアクセスを有する。
【００９４】
次いで、トラフィックエンジン９００は、新しい非プレイヤーの航空機に関する情報がトラフィックデータベース９０４に入力される場合、各非プレイヤーの航空機のための固有の擬似航空機プロセス９１６を作成する。このトラフィックエンジン９００は、そのデータが利用可能になる場合、擬似航空機プロセス９１６に、現実の航空機に関するデータレポート更新を送信する。このデータは、その航空機の位置および構成を現実の航空機のデータに一致させるように、擬似航空機プロセス９１６によって使用される。各擬似航空機プロセス９１６は、世界の現実の航空機としてプレイヤー１２０に対して現れ、挙動する。この擬似航空機データは、世界における位置（ｘ、ｙ位置、機首方位、速度、および高度）、航空機識別、および状態（ギア位置、フラップ位置等）等のデータを含む。このデータは、内部的に保守され、ＡＴＣプロセス９０８およびレンダリングエンジン３１６等の他のゲームプロセスからのデータリクエストに応答して発行され得る。ＡＴＣプロセス９０８を用いる通信／制御リンクはまた、作成の間に確立される。このリンクは、擬似航空機プロセス９１６が通信コマンドを作成し、ＡＴＣプロセス９０８に応答することを可能にする。擬似航空機プロセス９１６によって生成されたオーディオ通信は、オーディオエンジン３２０に通信コマンドを送信することによって達成される。
【００９５】
トラフィックエンジン９００はまた、プレイヤー制御／ゲーム状態エンジン３２８に外部的にリンクされ、ＡＴＣプロセス９０８に内部的にリンクされるプレイヤー航空機プロセス９１２を作成する。これは、ＡＴＣプロセス９０８がプレイヤーをモニタリングし、プレイヤーと双方向通信することを可能にする。プレイヤーの航空機および意図に関する情報は、プレイヤー制御／ゲーム状態エンジン３２８からプレイヤー航空機プロセス９１２へのデータをモニタリングするプロセスを介して、ＡＴＣプロセス９０８にアクセス可能である。ＡＴＣプロセス９０８はまた、好ましくは、オーディオエンジン３２０（プレイヤーがほぼ聞く）に送信された音声通信コマンドを介してプレイヤーと双方向通信する。
このプレイヤーは、プレイヤー制御／ゲーム状態エンジン３２８によって提供された、インターフェース（制御、メニュー、およびキーボードコマンド）を介してコントローラを用いて応答かつ双方向通信する。
【００９６】
（Ａ．擬似航空機プロセスアルゴリズム）
各擬似航空機プロセス９１６は、好ましくシミュレーション実行、共通のデータベース、および通信、ナビゲーション、制御を処理する個々のモジュール、規則に基づく意思決定を含む。このシミュレーション実行は、個々のモジュールの実行の順序をスケジューリングする。一実施形態では、初期化の後、プロセス実行の順序は、
１．通信モジュール（新しいデータおよびコマンドの入力）
２．規則ベースの論理モジュール（更新データへの反応）
３．ナビゲーションおよび制御モジュール（現在の航空機の目的地に従うように航空機を移動させる）
４．通信モジュール（出力データおよびコマンド）
５．繰り返し
（１．共通のデータベース）
共通のデータベースは、トラフィックエンジン９００から受信されたレポート、論理およびナビゲーションモジュールによって制御された場合の航空機の現在の状態、ならびに擬似航空機自体の内部目標および状態に関するデータ（例えば、ナビゲーションおよび制御モジュールの現在の目的地）を格納するために使用される。この共通のデータベースはまた、プロセスモジュールのための共通の通信アーキテクチャを提供するために使用される。データベースへの変更は、モジュールによって入力され動作される。
【００９７】
（２．通信モジュール）
通信モジュールは、擬似航空機プロセス９１６と他の外部プロセスとの間の全体の通信を管理する。通信モジュールは、新しいデータおよびメッセージを格納するか、またはデータを外部プロセスを送信するための領域として共通データベースを使用する。通信モジュールによるデータ入力は、トラフィックエンジン９００からの更新レポート、ＡＴＣプロセス９０８からのコマンド、他のプロセスによるデータリクエストを含む。通信モジュールは、他のモジュールによって命令されたメッセージに基づく外部プロセッサにデータを出力する。通信モジュールによるデータ出力は、ＡＴＣプロセス９０８およびオーディオエンジン３２８へのメッセージ、他のモジュールへのデータリクエスト、ならびにレンダリングエンジン３１６および他のプロセッサへの位置更新を含む。
【００９８】
（３．規則ベースの論理モジュール）
規則ベースの論理モジュールは、擬似航空機の状態の変化およびその周りの世界の変化に応答して擬似航空機の動作を制御する。擬似航空機によって受信されたリアルタイムデータが、日、位置、および天候によって変動する場合、リアルタイムデータは、ゲーム内部のプレイヤーの経験に関するリアルタイムデータの影響を提供する、これらの規則と相互作用する。これらの予めプログラムされ、そしてフレキシブルな動作規則の例は、航空機の位置の変更、ＡＴＣ通信および制御、ならびにプレイヤー航空機の位置（プレイヤーによって制御された場合）に応答する規則を含む。例えば、航空機の位置に応答する１つの規則は、擬似航空機が空港の５０マイル内にあり、着陸しようとしているトラフィック制御プロセス９０８に通知する必要性を含む。これはまた、プレイヤーによって聞かれるオーディオメッセージを生じる。
【００９９】
これを説明する規則の例は、
【０１００】
【数５】
2004520903.tif 000009
擬似航空機はまた、トラフィックコントローラによるコマンドに反応する。航空機は、空港に十分近くなる場合、ＡＴＣコントローラは、（擬似）航空機が現実の航空機の経路に従うことをやめ、着陸する命令に従うように伝える。この擬似航空機は、ＡＴＣコマンドに従うようにそのナビゲーションモジュールを変更させることによって反応し、そのコマンドに続いて、そのモジュールがコマンドを受信し、オーディオを介して同じコマンドを通知したＡＴＣプロセス９０８に応答する。
【０１０１】
この挙動を達成するための１つのアルゴリズムは、
【０１０２】
【数６】
2004520903.tif 000010
である。
【０１０３】
擬似航空機９１６はまた、プレイヤーの航空機の動きに反応し得る。この擬似航空機９１６は、擬似航空機に近づくようになる任意の航空機（例えば、プレイヤーの航空機は擬似航空機にぶつけようと試みる）をモニタリングし、その航空機から離れるように移動しようとする規則に基づいた論理を含み得る。これが発生する場合、擬似航空機の規則に基づく論理は、通常のナビゲーションを中断し、プレイヤーの航空機から離れるように飛行し、ＡＴＣに抗議のメッセージを送信するように航空機に命令し得る。この挙動を達成するためのアルゴリズムの１つの例は、
【０１０４】
【数７】
2004520903.tif 000011
である。
【０１０５】
いったんプレイヤーが擬似航空機から離れて移動した場合、以下の規則は、擬似航空機が通常に動作するように戻る。
【０１０６】
【数８】
2004520903.tif 000012
（Ｂ．ナビゲーションおよび制御）
ナビゲーションおよび制御モジュールは、従来の自動操縦の機能性を含む。従来の技術を用いる共通のデータベースに格納されたレポート更新に従うことによって擬似航空機をナビゲートおよび制御することを可能にする。しかし、本発明によると、ナビゲーションおよび制御モジュールはまた、その内部規則に基づく論理モジュールまたは外部ＡＴＣプロセス９０８のいずれかによってこれらのモジュールに発行されたナビゲーションコマンドに従うことを可能にする。
【０１０７】
ナビゲーションおよび制御モジュールは、擬似航空機の航空機位置、高度、速度、および機首方位を現実の航空機のそれらに一致させるようにレポート更新を使用する。レポートデータ（位置、機首方位速度および高度）は、一実施形態では、上述したように、約３分ごとにトラフィックエンジン９００によって更新される場合、一実施形態では、ナビゲーションおよび制御モジュールは、これらの更新間の航空機の動きを概算するそれ自体のデータを補間そして生成し、これは以下により詳細に説明される。擬似航空機の現在の位置、機首方位、高度、および擬似航空機の速度は、レンダリングエンジンに送信され、ゲーム内部の他のプロセスに対して利用可能にされる。
【０１０８】
実際の航空機の動きに整合させることに加えて、ナビゲーションおよび制御モジュールはまた、特定のナビゲーションコマンドに応答することを可能にする。これらのコマンドは、内部規則ベースの論理モジュールまたはＡＴＣプロセス９０８によってこのモジュールに発行され得る。これらのコマンドの例は、
・特定の機首方位に向ける（左または右）
・高度（下降、上昇、または維持）
・ある値の速度の（増加または減少）
・点（ｘ、ｙ位置および高度）への直接飛行
・点（特定のｘ、ｙ位置および高度の旋回）における保持
・空港へのアプローチおよび着陸の実行
・（あるｘ、ｙ位置）から離れる運動
・レポート更新に従う通常のナビゲーション（停止、再開）
・アプローチのためのクリア
・着陸のためのクリア
これらのコマンドは、プロセス間に容易に伝達される簡単なフォーマットで存在する（例えば、「機首方位３５０に左に曲がる」コマンドは、ｔｕｒｎ＿ｌｅｆｔ＿ｔｏ＿ｈｅａｄｉｎｇ３５０として表現され得る）。
【０１０９】
（Ｃ．航空機観測間のナビゲートおよび平均化）
擬似航空機が信頼可能な態様で動作するために、擬似航空機は、位置レポート間で滑らかに移行しなければならない。これらの報告は、レポートされた機首方位、速度、高度、およびＸ、Ｙ（緯度、経度）位置を含む。この擬似航空機は、それが表す現実の航空機のための最新のレポートの位置（Ｘ、Ｙ緯度および経度）において最初に作成される。擬似航空機はまた、現実の航空機の高度において、およびその航空機の機首方位および大気速度を用いて作成される。次いで擬似航空機は、機首方位、速度、および高度を用いてその位置から前方に「動かされる」。擬似航空機の位置の変化は、航空機エージェントによって内部で計算され、レンダリングエンジン３２８に出力される。これは、現実の航空機からの次のレポート（経度、緯度、高度、機首方位、および速度）が受け取られるまで継続する。次いで、擬似航空機プロセス９１６は、ゲーム１１６内の擬似航空機の位置と現実の航空機の位置との間の差を比較する。まず、プロセス９１６は、その位置により直接向かうように擬似航空機を移動させる機首方位、速度、および高度の変化を含むベクトルを計算する（それにより、航空機は、航空機の実際の位置まで捉えることができる）。次いで、プロセス９１６は、そのベクトルを現実の航空機からの報告の機首方位、高度、および速度ベクトルにそのベクトル（ベクトル加算を用いて）を加える（現実の航空機のベクトルは、その航空機が向かおうとしている場所を反映する）。次いで擬似航空機プロセス９１６は、そのベクトルに整合させるためにコース、機首方位、および速度を変更するように擬似航空機に命令する。従って、生じたベクトルは、現実の航空機位置をより良好に反映するために必要とされた変化および実際のコースに沿う動きの両方を反映する。
【０１１０】
最後に、本発明に従って、自動操縦は、機首方位および高度の移動を行うようにプログラムされる。ベクトルの変化に対する速やかな動きを命令するよりも、自動操縦は、約３０秒にわたる変化を管理する。擬似航空機がそのベクトルで安定化した後に、擬似航空機は、プロセスが繰り返される次の更新までそのベクトルに沿って移動し続ける。
【０１１１】
（Ｄ．プレイヤーの航空機の回避）
リアルタイムデータとゲームとの統合における別の発行は、プレイヤーの航空機と擬似航空機との間の相互作用を制御することである。一実施形態では、規則は擬似航空機をプレイヤー制御回路を設置させるように使用される。第１に、擬似航空機は、プレイヤーの航空機が擬似航空機の範囲内に存在し、その範囲に向かって速やかに移動する場合に飛び去る。第２に、擬似航空機は、プレイヤーがより低い速度で接近する場合、プレイヤーの航空機から離れて移動するのをやめる。第３に、擬似航空機は、プレイヤーの航空機が、プレイヤーが十分低い速度において最初に接近するのと同じ距離で擬似航空機（最大範囲内）に近づいて飛行することを可能にする。第４に、擬似周回は、プレイヤーの航空機が唯一の（ｓｏｌｅ）最大範囲内で移動する場合、プレイヤーの航空機から離れて飛行することを試みる。これらの規則は、プレイヤーの航空機が衝突を引き起こすことなく、リアルタイム擬似トラフィックと相互作用することを可能にする。次いでこのプレイヤーは、擬似航空機にゆっくりと接近するように移動することによって、編隊で飛行する技術を発展させ得る。プレイヤーはまた、擬似航空機に意図的な飛行を試みるか、あるいはそのコースから飛び出すかまたは地面の物体または山に飛んでいくように擬似航空機を強制する。一実施形態では、擬似航空機、あるいは擬似およびプレイヤーの航空機が別の物体に衝突する場合、その衝突した物体が爆発し、ゲームセッションは終了する。
【０１１２】
以下は、上記の規則を達成するためのアルゴリズムの一実施形態である。
【０１１３】
（ｐｓ〜ｐ２の距離の計算、ｐｓ〜ｐ２の接近速度、およびｐｓ〜ｐ２の回避ベクトル）
擬似航空機からプレイヤーの航空機までの距離は、Ｘ、Ｙおよび高度差の平方和の３乗根として計算される。それぞれに対して、ＸおよびＹは、緯度から変換され、経度、緯度から０緯度点および０経度点からのフィートに変換される。高度（Ａ）はフィートである。距離ｐｓ〜ｐ＝（（Ｘｐｓ−Ｘｐ）２＋（Ｙｐｓ−Ｙｐ）２＋（Ｚｐｓ−Ｚｐ）２）１／３であり、Ｐは、プレイヤーの航空機からの値を表し、ＰＳは擬似航空機を表す。
【０１１４】
接近ｐｓ〜ｐの速度は、１つの計算サイクルから別の計算サイクルの距離ｐｓ〜ｐの値を比較することによって計算される。距離ｐｓ〜ｐが各秒で計算される場合、その期間のための１秒当たりの接近速度は、距離ｐｓ〜ｐ（ｔ−１）の以前の値−距離ｐｓ〜ｐ（ｔ）の現在の値である。例えば、以前の値のｆが１４００フィートであり、現在の値が１２００であり、接近速度は２００ｆｔ／フィートである。
【０１１５】
（回避ベクトル）
擬似航空機は、各ゲームサイクル（１秒当たり約１回）においてその中心点に対する距離ｐｓ〜ｐおよびプレイヤーの航空機の接近ｐｓ〜ｐの速度をモニタリングする。
【０１１６】
距離ｐｓ〜ｐ＜１５００ｆｔが接近ｐｓ〜ｐ＞＝２５ｆｔ／分を論理積演算する場合、擬似航空機は、
ａ．自動操縦を切る（例えば位置レポートに従うことをやめる）
ｂ．分ごとに、「私にあまりにも接近している航空機がある」という効果に対してランダムからされオーディオメッセージを送信する。
【０１１７】
ｃ．接近速度の２倍の速度（１５００ｆｔ／分）で、または航空機性能が許容する最大値で回避ベクトルｐｓ〜ｐの方向においてプレイヤーから離れて移動する。
【０１１８】
このアルゴリズムは、プレイヤーが高速で擬似航空機に向かって航空機を移動させ始める状況にアドレスする。接近ｐｓ〜ｐ＜２５ｆｔ／分の速度は、距離ｐｓ〜ｐ＞５０Ｆｔを論理積演算し、擬似航空機自動操縦を論理積演算する場合、擬似航空機プロセス９１６は、
ａ．自動操縦を切る
ｂ．通常のナビゲーションを再開する
ｃ．その元のコースに戻るように、擬似航空機を移動する
ｄ．一実施形態では、「誰かが私たちと共に編隊で飛行する」効果に対するオーディオメッセージを出力する。
【０１１９】
このアルゴリズムは、プレイヤーが速やかに航空機に向かって移動する場合の状況にアドレスするが、合理的な接近速度に速度を下げる。
【０１２０】
距離ｐｓ〜ｐが＜５０ｆｔである場合、擬似航空機プロセス９１６は、
ａ．自動操縦を切る（例えば位置レポートに従うことをやめる）
ｂ．１５秒ごとに「あなたはあまりにも接近している」という効果に対するメッセージを送信する。
【０１２１】
ｃ．接近速度の２倍の速度（１５００ｆｔ／分）で、または航空機性能が許容する最大値で回避ベクトルｐｓ〜ｐの方向においてプレイヤーの航空機から離れて移動する。
【０１２２】
このアルゴリズムは、プレイヤーが擬似航空機に向かって編隊で飛行し、次いで意図的にまたは誤操作によって擬似航空機に向かって移動を始める状況にアドレスする。
【０１２３】
擬似航空機が地面またはプレイヤーの航空機以外の任意の物体と衝突する場合、
ａ．擬似航空機は、ランダムオーディオメッセージを出力する
ｂ．擬似航空機が爆発する
ｃ．ゲームセッションが終了する。
【０１２４】
距離ｐｓ〜ｐが＜１０フィートである（航空機が恐らく衝突することを示す）場合、
ａ．擬似航空機は、「これはダム（ｄｕｍｂ）である」効果に対するランダムオーディオメッセージを出力する
ｂ．擬似航空機が爆発する
ｃ．プレイヤーの航空機も爆発する
ｄ．ゲームセッションが終了する。
【０１２５】
（Ｄ．ＡＴＣプロセスアルゴリズム）
ＡＴＣプロセス９０８は、擬似航空機プロセス９１６と類似しているアーキテクチャを有する。ＡＴＣプロセスは、実行シミュレーション、共通のデータベース、および通信、および規則ベースの決定作成を処理するここのモジュールを含む。
【０１２６】
実行シミュレーションは、ここのモジュールの命令をスケジューリングする。初期化の後、プロセス実行の命令は、
１．通信モジュール（新しいデータおよびコマンドの入力）
２．規則ベースの論理モジュール（更新された内部および外部データへの反応）
３．通信モジュール（データおよびコマンドを出力する）
４．繰り返す
（１．ＡＴＣ共通データベース）
ＡＴＣ共通データベースは、制御下の航空機に関するデータおよび内部目標に関するデータ、ならびにＡＴＣプロセス９０８の状態を格納するために使用される。この共通のデータベースはまた、他のプロセスモジュールのための共通の通信アーキテクチャを提供するために使用される。データベースへの変更が入力され、モジュールによって動作される。
【０１２７】
（２．ＡＴＣ通信モジュール）
通信モジュールの基本動作は、擬似航空機モジュールで使用される動作と同様である。ＡＴＣ通信モジュールは、ＡＴＣプロセス９０８と他の外部プロセスとの間の全ての通信を管理する。ＡＴＣ通損モジュールは、新しいデータおよびメッセージを格納する領域として共通のデータベースを使用するか、またはデータを外部プロセスに送信する。ＡＴＣ通信モジュールによるデータ入力は、擬似航空機およびプレイヤープロセス９１２、９１６からの位置レポート、擬似航空機およびプレイヤーの航空機プロセス９１２、９１６からのリクエストおよび応答を含む。ＡＴＣ通信モジュールは、データを他のモジュールによって命令されたメッセージに基づいて外部プロセスを出力する。ＡＴＣ通信モジュールによるデータ入力は、擬似航空機プロセス９１６、プレイヤー航空機プロセス１１２、およびオーディオエンジン３２８へのメッセージ、ならびにプレイヤーおよび擬似航空機プロセス９１２、９１６へのデータリクエストを含む。
【０１２８】
（３．ＡＴＣ規則に基づいた論理モジュール）
ＡＴＣ規則に基づいた論理モジュールは、世界内の航空機の状態の変更に応答してＡＴＣプロセス９０８の動作を制御する。ＡＴＣプロセス９０８は、ゲームがプレイされる日、位置、および天候による航空機のフローの変化に応答することにより、リアルタイムトラフィックおよび天候条件に対して現実のリアルタイム応答を提供する。このモジュール内のルールセットは、プレイヤーが到達するように選択し得る空域内で主要な空港のアクティブコントロールをシミュレートするように作用する。ＡＴＣプロセス９０８は、空港への着陸または空港からの離陸のいずれかである航空機と相互作用する。
【０１２９】
（Ｅ．帰航航空機の制御）
その空港に着陸することになっている航空機（擬似またはプレイヤー）は、ＡＴＣプロセス９０８と接触し、その空港の５０マイル内でこの意図を説明しなければならない。この擬似航空機は、これを自動的に行うが、プレイヤーは、この通信を手動で行わなければならない。航空機がこの通信を行う場合、着陸キューに追加される。ＡＴＣプロセス９０８は、航空機との通信を管理し、さらに、着陸のためにプレイヤーの航空機を順番付ける必要がある場合、リアルタイムトラフィックを調整するようにこのキューを使用する。この着陸キューは、着陸のためのＡＴＣプロセスに接触した航空機のＦＩＦＯ（先入れ先出し）キューからなる。各航空機に対してこのキューに含まれたデータは、順序命令、その航空機のための識別ＩＤ、データが制御下で持っていかれ、最初のアプローチポイント（そのポイントは現在データがクリアされている）に送信した場合、データが最初に割り当てられた高度を含む。
【０１３０】
このキューは、航空機が接近し、空港に着陸している制御をシミュレートする規則に基づいた論理によって使用される。これは、制御およびオーディオコマンドが航空機に発行されるアプローチにおけるいくつかの点を通過することを含む。この点（空港の滑走路からの場所）およびコマンドは、以下のように発行される。
【０１３１】
【表１】
2004520903.tif 000013
航空機が制御下にある場合、航空機はＡＴＣ規則のコマンドに従い、航空機が存在する場所およびこの航空機を次のポイント上に進める場合に検知する。キュー内でこのデータを使用する規則の例は、以下に示される。
【０１３２】
【数９】
2004520903.tif 000014
航空機が着陸する場合、航空機は、帰航航空機キューから除去される。その航空機からのデータが消失され得るとすぐに、この航空機は、トラフィックエンジン９００によって除去される。
【０１３３】
（１．最初のアプローチポイント（ＩＡＰ）ポイントにおける航空機の保持）
航空行きのトラフィックが混雑している場合、適用され得るアプローチおよび着陸を望むより多くの航空機が存在する。１つのみの航空機が最終アプローチ固定（ＦＡＦ）に一度にクリアされ、これは、航空機を滑らかに順序付ける。このＡＴＣプロセス９０８は、最終アプローチ固定にクリアされる前に、ＩＡＰにおいて保持するように航空機に要求することによってこれに適用する。
【０１３４】
航空機がＩＡＰに最初にクリアされる場合、維持するために高度が与えられる。
この高度は、基本コードからのオフセットを決定するためのキューにおける順序命令を用いて生成される。この高度分離は、航空機が衝突することを妨げる。例えば
航空機アプローチがキュー内の４番目の航空機である場合、ＩＡＰの基本高度は１０，０００フィートであり、その航空機は、ＩＡＰまでの１００００＋（４＊１０００）＝１４，０００フィートにクリアされる。順序番号が１０を超える場合、キュー内の航空機の全体の数は１０未満であり（いくつかの航空機がクリアされたことを示す）、航空機シーケンス数が１にリセットされる。これは、１１，０００ｆｔ（１０，０００＋１＊１０００ｆｔ）にクリアされるべき次の航空機を生じる。ＦＡＦとして保持する航空機出口はクリアになり、ＩＡＰにおいて保持されている次の航空機はＦＡＦにクリアされる。
【０１３５】
（２．帰航航空機）
空港を出発する（離陸する）航空機は、航空機が離陸する態勢が整っていることを示すＡＴＣプロセス９０８に通信メッセージを送信する場合、離陸キューに追加される。このメッセージは、擬似航空機がその空港にあるべきである空港エンジン９００によって生成され、その飛行プランは、擬似航空機がまだ離陸して以内ことを示す場合、擬似航空機によって自動的に発行される。このメッセージはまた、擬似航空機が空港に存在し、離陸を望んでいる場合にプレイヤーの航空機によって生成される。この離陸キューは、順序番号、航空機に対するＩＤ番号、航空機が離陸するためにクリアされるポイントをデータとして維持する。離陸論理が関係される３ポイントが存在する。
【０１３６】
【表２】
2004520903.tif 000015
航空機が離陸するように要求する場合、航空機は離陸キューに追加される。ＡＴＣプロセス９０８が、航空機が離陸する（任意の以前の航空機が到着または滑走路順序ポイントを超えて到達または移動した）ことを可能にすることが安全である場合、航空機は離陸するためにクリアされる。他の場合では、航空機は保持するように尋ねられ、そのポイントがクリアになる場合、離陸することが可能になる。一旦航空機が順序ポイントに到達する場合、ＡＴＣプロセス９０８は、通常のナビゲーションを再開するが、キューから航空機を除去しない。次いでこの航空機は、そのレポートデータに従い、実際のルートに整合するように開始され得る。航空機が５０マイルポイントを超えて移動する場合、データがキューから除去され、可聴センドオフメッセージである。
【０１３７】
（３．地面上の航空機の保持）
着陸キューに関して、適応され得る離陸を望むより多くの航空機がある状況があり得る。これは、しばしば、プレイヤーの航空機が空港が混雑している場合に離陸することを尋ねる時に発生し得る。この場合、航空機が離陸メッセージに対する準備を送信する場合、航空機が保持するように命令される。キューにおいて前もって航空機が出発する場合、この航空機は、最終的には離陸するようにクリアされる。不幸にも実際の寿命（ｒｅａｌ  ｌｉｆｅ）を反映する離陸キューを保持し得る航空機の数に制限されない。
【０１３８】
（４．制御不能な（ｒｏｇｕｅ）航空機の処理）
着陸および離陸キューはまた、ＡＴＣプロセス９０８が航空機の制御（特にプレイヤーの航空機）下では存在しない航空機のための空域をモニタリングすることを可能にする２次的な目的に役立つ。プレイヤーの航空機が空港の５０マイル内にあり、ＡＴＣプロセス９０８に接触せず、着陸キュー上に配置されたＡＴＣプロセッサ９０８が決定する場合、ＡＴＣプロセス９０８は、それ自体を識別するためにその決定を尋ね、そして航空機が着陸するまでその意図または同様なメッセージが何であるかを尋ねることにより、未知の航空機にオーディオメッセージを送信するように応答する。同じプロセスは、そのプロセスが滑走路に進み、間隔を尋ねることなく離陸する場合に、プレイヤーに対して使用される。ＡＴＣプロセス９０８は、航空機が離陸（離陸キューに関してではない）に対する間隔をリクエストすることなく滑走路上に存在することを検知し、航空機が５０マイルを超えてしまうまでオーディオメッセージの適切なストリングことを検知する。
【０１３９】
（５．リアルタイム天候データの使用）
ＡＴＣプロセス９０８はまた、天候データ（例えば、風の方向はどこか）に対してのパイロットリクエストに応答するように制御している空港に関して上述したようなリアルタイム天候データを使用し得る。このデータはまた、ＡＴＣプロセス９０８が、航空機に着陸するように命令する最適な滑走路を選択することを可能にし、リアルタイム条件に基づいてＣＮ部分自体の現実のレンダリングを生成する。
【０１４０】
従って、システム、方法、および装置は、リアルタイムデータの使用がゲーム経験に影響を与え、これを駆動することを可能にするために説明される。好適な実施形態がいくつかの細部（すなわちフライトシミュレーションアプリケーション）において説明されてきたが、本発明の教示は、同様に他のゲーム（カーレーシングゲームおよび船レーシングゲーム、あるいは他のスポーツイベント等）に拡張され得る。多くのさらなる改変が本発明の真の趣旨から逸脱することなく上述の装置に為され得る。さらに、特定の機能性が上述の回路用ソフトウエアの上述の方法およびモジュールの異なるステップに起因されてきたが、これらの機能性は、当業者に公知のような異なる順序でおよび異なるモジュールにおいて実行され得る。
【図面の簡単な説明】
【０１４１】
【図１】図１は、本発明の実施形態によるリアルタイムデータを組み込むためのシステムのブロック図である。
【図２】図２は、本発明の実施形態によるゲームデータサーバのより詳細なブロック図である。
【図３】図３は、本発明の実施形態によるゲームシステムのブロック図である。
【図４】図４は、本発明の実施形態による天候マネージャのブロック図である。
【図５】図５は、本発明の実施形態による天候要素依存性のブロック図である。
【図６】図６は、本発明の実施形態によるカメラパスの図である。
【図７】図７は、本発明の実施形態による場所による改変を示す図である。
【図８】図８は、本発明の実施形態による雲物体グリッドの図である。
【図９】図９は、本発明の実施形態によるトラフィックマネージャシステムのブロック図である。
【図１】
2004520903.tif 000016
【図２】
2004520903.tif 000017
【図３】
2004520903.tif 000018
【図４】
2004520903.tif 000019
【図５】
2004520903.tif 000020
【図６】
2004520903.tif 000021
【図７】
2004520903.tif 000022
【図８】
2004520903.tif 000023
【図９】
2004520903.tif 000024
【国際公開パンフレット】
2004520903.tif 000025
2004520903.tif 000026
2004520903.tif 000027
2004520903.tif 000028
2004520903.tif 000029
2004520903.tif 000030
2004520903.tif 000031
2004520903.tif 000032
2004520903.tif 000033
2004520903.tif 000034
2004520903.tif 000035
2004520903.tif 000036
2004520903.tif 000037
2004520903.tif 000038
2004520903.tif 000039
2004520903.tif 000040
2004520903.tif 000041
2004520903.tif 000042
2004520903.tif 000043
2004520903.tif 000044
2004520903.tif 000045
2004520903.tif 000046
2004520903.tif 000047
2004520903.tif 000048
2004520903.tif 000049
2004520903.tif 000050
2004520903.tif 000051
2004520903.tif 000052
2004520903.tif 000053
2004520903.tif 000054
2004520903.tif 000055
2004520903.tif 000056
2004520903.tif 000057
2004520903.tif 000058
2004520903.tif 000059
2004520903.tif 000060
2004520903.tif 000061
2004520903.tif 000062
2004520903.tif 000063
2004520903.tif 000064
2004520903.tif 000065
2004520903.tif 000066
2004520903.tif 000067
2004520903.tif 000068
2004520903.tif 000069
2004520903.tif 000070
2004520903.tif 000071
2004520903.tif 000072
2004520903.tif 000073
2004520903.tif 000074
2004520903.tif 000075
2004520903.tif 000076
2004520903.tif 000077
2004520903.tif 000078
2004520903.tif 000079
2004520903.tif 000080
2004520903.tif 000081
2004520903.tif 000082
2004520903.tif 000083
2004520903.tif 000084
2004520903.tif 000085
2004520903.tif 000086
2004520903.tif 000087
2004520903.tif 000088
2004520903.tif 000089
2004520903.tif 000090
2004520903.tif 000091
【国際公開パンフレット（コレクトバージョン）】
2004520903.tif 000092
【国際公開パンフレット（コレクトバージョン）】
2004520903.tif 000093
【国際調査報告】
2004520903.tif 000094