(57)【要約】      （修正有）【課題】コンピュータゲーム環境において動的な天候シミュレーション方法およびシステムを提供する。【解決手段】天候は、実世界天候条件の定期的更新に基づくか、既存のまたはユーザが作成した天候プロファイルに基づいて、シミュレートすることが可能である。天候プロファイルは、場所があいまいな地理的空間にわたって天候を格納し、シミュレートされた環境内の任意の選択された地理的空間に動的に適用することが可能な、データ構造を含む。コンピュータリソースを節約しながら天候を動的にシミュレートするために、天候シミュレーションマネージャは気温および露点値を定期的に変更し、現在の気温および露点値に基づいて雲をレンダリングまたは消散するか決定する。天候プロファイル作成ユーティリティを使用して、大規模な地表領域にわたって天候属性を即時に定義し、天候属性の視覚的なフィードバックを天候プロファイル設計者に提供する。【選択図】  図１６
2005266791.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが多次元アレイ内に個々のセルの属性を設定できるように構成されたコンピュータ実行可能命令を格納するコンピュータ読取り可能媒体であって、
ａ）前記多次元アレイに適用される、第１のカラーチャネルに関連付けられた第１の属性の値を決定するステップと、
ｂ）前記多次元アレイに適用される、第２のカラーチャネルに関連付けられた第２の属性の値を決定するステップと、
ｃ）前記多次元アレイに適用される、第３のカラーチャネルに関連付けられた第３の属性の値を決定するステップと、
ｄ）前記多次元アレイのグラフィック描写内のセルを選択するユーザ入力を受け取るステップと、
ｅ）前記第１、第２、および第３の属性を前記選択されたセルに適用するステップと、
ｆ）前記第１、第２、および第３の属性の値に基づいた色で、前記選択されたセルに陰影を付けるステップと
を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項２】
前記コンピュータ実行可能命令は、前記多次元アレイの前記グラフィック描写内でユーザが選択した複数のセルについて、ステップｄ）〜ｆ）を反復するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ読取り可能媒体。
【請求項３】
前記コンピュータ実行可能命令は、
ｇ）前記多次元アレイに適用される前記第１、第２、および第３の属性のうちの少なくとも１つを修正するユーザ入力を受け取るステップと、
ｈ）前記多次元アレイのグラフィック描写内の第２のセルを選択するユーザ入力を受け取るステップと、
ｉ）修正された場合に、前記第１、第２、および第３の属性の値を前記第２の選択されたセルに適用するステップと、
ｊ）修正された場合に、前記第１、第２、および第３の属性の値に基づいた第２の色で、前記第２の選択されたセルに陰影を付けるステップと、
をさらに含むことを特徴とする請求項１に記載のコンピュータ読取り可能媒体。
【請求項４】
前記コンピュータ実行可能命令は、前記多次元アレイの前記グラフィック描写内でユーザが選択した複数のセルについて、ステップｈ）〜ｊ）を反復するステップをさらに含むことを特徴とする請求項３に記載のコンピュータ読取り可能媒体。
【請求項５】
前記ステップｆ）は、
ｉ）前記第１の属性の前記決定された値に基づいて第１のカラーチャネル濃度を決定するステップと、
ｉｉ）前記第２の属性の前記決定された値に基づいて第２のカラーチャネル濃度を決定するステップと、
ｉｉｉ）前記第３の属性の前記決定された値に基づいて第３のカラーチャネル濃度を決定するステップと、
ｉｖ）前記陰影付けの色を決定するために前記カラーチャネル濃度を組み合わせるステップと
を含むことを特徴とする請求項１に記載のコンピュータ読取り可能媒体。
【請求項６】
前記第１のカラーチャネルは赤のカラーチャネルであり、前記第２のカラーチャネルは緑のカラーチャネルであり、前記第３のカラーチャネルは青のカラーチャネルであることを特徴とする請求項５に記載のコンピュータ読取り可能媒体。
【請求項７】
前記ステップｉ）は、
Ａ）前記第１の許容可能な値の範囲内にある前記第１の属性の決定された値の基数ゼロ位置を決定するステップと、
Ｂ）最大の許容可能な第１のカラーチャネル濃度を前記第１の属性の最大許容可能値の基数ゼロ位置で割ることによって、第１の乗数を決定するステップと、
Ｃ）前記第１の乗数に前記第１の属性の決定された値の基数ゼロ位置を掛けることによって、前記第１のカラーチャネル濃度を決定するステップと、
を含み、
前記ステップｉｉ）は、
Ａ）前記第２の許容可能な値の範囲内にある前記第２の属性の決定された値の基数ゼロ位置を決定するステップと、
Ｂ）最大の許容可能な第２のカラーチャネル濃度を前記第２の属性の最大許容可能値の基数ゼロ位置で割ることによって、第２の乗数を決定するステップと、
Ｃ）前記第２の乗数に前記第２の属性の決定された値の基数ゼロ位置を掛けることによって、前記第２のカラーチャネル濃度を決定するステップと、
を含み、
前記ステップｉｉｉ）は、
Ａ）前記第３の許容可能な値の範囲内にある前記第３の属性の決定された値の基数ゼロ位置を決定するステップと、
Ｂ）最大の許容可能な第３のカラーチャネル濃度を前記第３の属性の最大許容可能値の基数ゼロ位置で割ることによって、第３の乗数を決定するステップと、
Ｃ）前記第３の乗数に前記第３の属性の決定された値の基数ゼロ位置を掛けることによって、前記第３のカラーチャネル濃度を決定するステップと
を含むことを特徴とする請求項５に記載のコンピュータ読取り可能媒体。
【請求項８】
各属性は地表条件の一態様を定義することを特徴とする請求項１に記載のコンピュータ読取り可能媒体。
【請求項９】
各属性は天候条件の一態様を定義することを特徴とする請求項８に記載のコンピュータ読取り可能媒体。
【請求項１０】
前記多次元アレイのグラフィック描写はディスプレイデバイス上に表示される２次元配列を含むことを特徴とする請求項１に記載のコンピュータ読取り可能媒体。
【請求項１１】
前記コンピュータ実行可能命令は、地表条件をシミュレートするために前記多次元アレイをコンピュータゲームが使用可能なデータフォーマットにエクスポートするステップをさらに含むことを特徴とする請求項８に記載のコンピュータ読取り可能媒体。
【請求項１２】
前記コンピュータ実行可能命令は、天候条件をシミュレートするために前記多次元アレイをコンピュータゲームが使用可能なデータフォーマットにエクスポートするステップをさらに含むことを特徴とする請求項９に記載のコンピュータ読取り可能媒体。
【請求項１３】
前記２次元配列の各セルは地理的領域に対応することを特徴とする請求項１０に記載のコンピュータ読取り可能媒体。
【請求項１４】
前記２次元配列の各セルが対応する前記地理的領域は同じサイズであることを特徴とする請求項１３に記載のコンピュータ読取り可能媒体。
【請求項１５】
前記カラーチャネルの対応する属性の前記決定された値が厳しくなるほど、前記各カラーチャネル濃度は暗くなることを特徴とする請求項５に記載のコンピュータ読取り可能媒体。
【請求項１６】
ユーザが多次元アレイ内に個々のセルの属性を設定できるように構成されたコンピュータ実行可能命令を格納するコンピュータ読取り可能媒体であって、
ａ）前記多次元アレイに適用可能な複数の属性それぞれについて値を決定するステップと、
ｂ）前記複数の属性それぞれに対応するフラグの状態を決定するステップであって、前記フラグは前記対応する属性を前記多次元アレイに適用すべきであるか否かを示すものである、フラグの状態を決定するステップと、
ｃ）前記多次元アレイのグラフィック描写内のセルを選択するユーザ入力を受け取るステップと、
ｄ）前記対応する属性を前記多次元アレイに適用すべきであるか否かをそのフラグが示す前記複数の属性それぞれの前記値を、前記選択されたセルに適用するステップと、
ｅ）前記フラグが立てられた属性が前記選択されたセルに適用された旨の視覚的フィードバックを提供するステップと
を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項１７】
前記ステップｅ）は前記選択されたセルに陰影付けするステップを含むことを特徴とする請求項１６に記載のコンピュータ読取り可能媒体。
【請求項１８】
各属性は天候条件の一態様を定義することを特徴とする請求項１６に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記コンピュータ実行可能命令は、天候をシミュレートするために前記多次元アレイをコンピュータゲームが使用可能なデータフォーマットにエクスポートするステップをさらに含むことを特徴とする請求項１８に記載のコンピュータ読取り可能媒体。
【請求項２０】
前記ステップｅ）は、前記複数の属性のうちの３つの値に基づいた色で、前記選択されたセルに陰影付けするステップを含むことを特徴とする請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２１】
前記ステップｅ）は、
ｉ）前記第１の属性の前記値に基づいて第１のカラーチャネル濃度を決定するステップと、
ｉｉ）前記第２の属性の前記値に基づいて第２のカラーチャネル濃度を決定するステップと、
ｉｉｉ）前記第３の属性の前記値に基づいて第３のカラーチャネル濃度を決定するステップと、
ｉｖ）前記陰影付けの色を決定するために前記カラーチャネル濃度を組み合わせるステップと
を含むことを特徴とする請求項２０に記載のコンピュータ読取り可能媒体。
【請求項２２】
前記第１のカラーチャネルは赤のカラーチャネルであり、前記第２のカラーチャネルは緑のカラーチャネルであり、前記第３のカラーチャネルは青のカラーチャネルであることを特徴とする請求項２１に記載のコンピュータ読取り可能媒体。
【請求項２３】
前記ステップｉ）は、
Ａ）前記第１の許容可能な値の範囲内にある前記第１の属性の決定された値の基数ゼロ位置を決定するステップと、
Ｂ）最大の許容可能な第１のカラーチャネル濃度を前記第１の属性の最大許容可能値の基数ゼロ位置で割ることによって、第１の乗数を決定するステップと、
Ｃ）前記第１の乗数に前記第１の属性の決定された値の基数ゼロ位置を掛けることによって、前記第１のカラーチャネル濃度を決定するステップと
を含み、
前記ステップｉｉ）は、
Ａ）前記第２の許容可能な値の範囲内にある前記第２の属性の決定された値の基数ゼロ位置を決定するステップと、
Ｂ）最大の許容可能な第２のカラーチャネル濃度を前記第２の属性の最大許容可能値の基数ゼロ位置で割ることによって、第２の乗数を決定するステップと、
Ｃ）前記第２の乗数に前記第２の属性の決定された値の基数ゼロ位置を掛けることによって、前記第２のカラーチャネル濃度を決定するステップと
を含み、
前記ステップｉｉｉ）は、
Ａ）前記第３の許容可能な値の範囲内にある前記第３の属性の決定された値の基数ゼロ位置を決定するステップと、
Ｂ）最大の許容可能な第３のカラーチャネル濃度を前記第３の属性の最大許容可能値の基数ゼロ位置で割ることによって、第３の乗数を決定するステップと、
Ｃ）前記第３の乗数に前記第３の属性の決定された値の基数ゼロ位置を掛けることによって、前記第３のカラーチャネル濃度を決定するステップと
を含むことを特徴とする請求項２２に記載のコンピュータ読取り可能媒体。
【請求項２４】
前記コンピュータ実行可能命令は、前記複数の属性の前記３つの属性のうち１つまたは複数を識別するユーザ入力を受け取ることをさらに含むことを特徴とする請求項２０に記載のコンピュータ読取り可能媒体。
【請求項２５】
前記コンピュータ実行可能命令は、前記３つの属性のいずれが前記赤、緑、および青のカラーチャネルそれぞれに対応するかを識別するユーザ入力を受け取ることをさらに含むことを特徴とする請求項２２に記載のコンピュータ読取り可能媒体。
【請求項２６】
前記ステップｅ）は、より多くの属性のフラグが前記属性を前記多次元アレイに適用すべきであることを示す場合、前記選択されたセルをより暗く陰影付けするステップを含むことを特徴とする請求項１６に記載のコンピュータ読取り可能媒体。
【請求項２７】
実行された場合にコンピュータディスプレイデバイス上にユーザインターフェースを表示する、コンピュータ実行可能命令を格納するコンピュータ読取り可能媒体であって、
ユーザが選択した属性層に対応する属性リストを表示する第１のインターフェース構成要素であって、ユーザは前記リストのそれぞれの属性に対応する属性値を指定することが可能な、第１のインターフェース構成要素と、
場所があいまいな地理的領域を表す２次元グリッドを表示する第２のインターフェース構成要素であって、前記ユーザが前記グリッド内のセルを選択した場合、前記ユーザインターフェースは、前記ユーザが選択した属性層に対応する前記属性リスト内の複数の属性のうちの現在の値に基づいて前記選択されたセルに陰影付けする、第２のインターフェース構成要素と
を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項２８】
前記ユーザインターフェースは、前記ユーザが選択可能な複数の属性層のリストを表示する第３のインターフェース構成要素をさらに含むことを特徴とする請求項２７に記載のコンピュータ読取り可能媒体。
【請求項２９】
前記属性層のリストは属性層の階層リストを含むことを特徴とする請求項２８に記載のコンピュータ読取り可能媒体。
【請求項３０】
各属性層は１つのタイプの地表条件に対応し、前記属性層の各属性は対応する前記タイプの地表条件の一態様を識別することを特徴とする請求項２７に記載のコンピュータ読取り可能媒体。
【請求項３１】
地表条件の各タイプは１つのタイプの天候条件を含み、各属性は対応する前記タイプの天候条件の一態様を識別することを特徴とする請求項３０に記載のコンピュータ読取り可能媒体。
【請求項３２】
前記ユーザインターフェースは、第１の属性に基づく第１のカラーチャネル濃度を有する第１のカラーチャネルと、第２の属性に基づく第２のカラーチャネル濃度を有する第２のカラーチャネルと、第３の属性に基づく第３のカラーチャネル濃度を有する第３のカラーチャネルとに基づいて、前記選択されたセルに陰影付けすることを特徴とする請求項２７に記載のコンピュータ読取り可能媒体。
【請求項３３】
前記第１のカラーチャネルは赤のカラーチャネルであり、前記第２のカラーチャネルは青のカラーチャネルであり、前記第３のカラーチャネルは緑のカラーチャネルであることを特徴とする請求項３２に記載のコンピュータ読取り可能媒体。
【請求項３４】
ディスプレイおよびユーザインターフェース選択デバイスを含むグラフィカルユーザインターフェースを有するコンピュータシステムにおいて、前記ディスプレイ上の対話型要素から提供および選択する方法であって、
前記ディスプレイの第１の部分に属性のリストを表示するステップであって、ユーザは前記リスト内の各属性に対応する属性値を修正することが可能である、リストを表示するステップと、
前記ディスプレイの第２の部分に２次元グリッドを表示するステップであって、前記２次元グリッドは場所があいまいな地理的領域を表す、２次元グリッドを表示するステップと、
前記ユーザが前記セルを選択する場合に前記グリッド内の選択されたセルを陰影付けするステップであって、前記陰影付けは前記属性リスト内の複数の属性のうちの現在の値に基づく、陰影付けするステップと
を含むことを特徴とする方法。
【請求項３５】
前記ディスプレイの第３の部分に前記ユーザが選択可能な複数の属性層のリストを表示するステップであって、前記属性のリストは前記ディスプレイの前記第３の部分に表示されたユーザが選択した属性層に対応する、リストを表示するステップをさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記属性層のリストは属性層の階層リストを含むことを特徴とする請求項３５に記載の方法。
【請求項３７】
各属性層は１つのタイプの地表条件に対応し、前記属性層の各属性は対応する前記タイプの地表条件の一態様を識別することを特徴とする請求項３５に記載の方法。
【請求項３８】
地表条件の各タイプは１つのタイプの天候条件を含み、各属性は対応する前記タイプの天候条件の一態様を識別することを特徴とする請求項３７に記載の方法。
【請求項３９】
選択されたセルに陰影付けするステップは、第１の属性に基づく第１のカラーチャネル濃度を有する第１のカラーチャネルと、第２の属性に基づく第２のカラーチャネル濃度を有する第２のカラーチャネルと、第３の属性に基づく第３のカラーチャネル濃度を有する第３のカラーチャネルとに基づいて、前記選択されたセルに陰影付けするステップを含むことを特徴とする請求項３４に記載の方法。
【請求項４０】
前記第１のカラーチャネルは赤のカラーチャネルであり、前記第２のカラーチャネルは青のカラーチャネルであり、前記第３のカラーチャネルは緑のカラーチャネルであることを特徴とする請求項３９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に天候シミュレーションに関する。より具体的に言えば、本発明は、コンピュータリソースを使いすぎることなくコンピュータユーザに擬似現実的な天候シミュレーションを提供することによって、汎用コンピュータシステム上で現実的な擬似天候を提供する。
【背景技術】
【０００２】
気象予報士および気象学者が誤った気象予報を提供する率が証明するように、天候シミュレーションは困難なプロセスである。「現実世界」の天候シミュレーションは、気流、気温、降水などの３次元モデリングが必要とされることから、計算的に費用のかかるプロセスである。高度な天候シミュレーションマシンは、一般に、一般消費者の価格帯を上回るスーパーコンピュータおよび高性能のグラフィックスワークステーションからなり、ほとんどのコンピュータおよび／またはビデオゲームでの使用は無理である。
【０００３】
天候シミュレーション要件が広範囲にわたり高度であることから、現在の汎用コンピュータは高度な天候シミュレーションを実行するのには適していない。汎用コンピュータ上で高度な天候シミュレーションが可能である場合は、シミュレーション時にコンピュータリソースのすべてまたはほとんどの部分が消費され、コンピュータ上で実行中の他のプロセスにはほとんどリソースが残らないことになる。
【０００４】
しかしながらシミュレーション分野の一部のコンピュータプログラムは、天候シミュレーションに依存してシミュレーションが参加する現実的な仮想世界を提供する。たとえばフライトシミュレーションゲームの中には、ユーザが有視界飛行規則（ＶＦＲ）または計器飛行規則（ＩＦＲ）のいずれの下で飛行すべきであるかを決定する際に、飛行中の天候に部分的に依存するものがある。ユーザがＶＦＲまたはＩＦＲのどちらで飛行しているかが、計器操作および航空管制（ＡＴＣ）との通信を含むユーザの動作に影響を与えることになる。戦争シミュレーションゲームおよびトレーニングソフトウェアの中には、軍事戦略に影響を与える可能性のある、プレーヤが擬似仮想世界の中でどこまで遠くが見通せるかを決定する際に、部分的に天候に依存するものがある。戦争シミュレーションゲームは、発射される投射物（たとえば、射出機、投石機、砲弾、迫撃砲、矢、および他の推進式でないミサイルなど）の射程距離を決定する場合にも、擬似降雨に依存することがある。数週間または数年間の仮想世界をシミュレートする大規模なマルチプレーヤオンラインゲームは、仮想環境に現実性を加えるために天候の変化をシミュレートすることに依存することがある。
【０００５】
現在のシミュレーションゲームは、効果的に天候をシミュレートするために大量のコンピュータリソース（たとえば、プロセッサの時間およびメモリ）を必要とすることから、限られた量の天候シミュレーションしか提供していない。たとえば、一部の知られたフライトシミュレーションゲームは、一度に１種類の天候のみをシミュレートする。ユーザが飛行している仮想世界では異なる地域で天候が異なる可能性があるが、所与の時間に１種類の天候のみが現われることになる。より具体的に言えば、ユーザが最低雲高（ｃｅｉｌｉｎｇ）４，０００フィート（約１２１９ｍ）の曇天の空を飛行している場合、仮想世界はユーザの現在位置からすべての方向に最低雲高４，０００フィート（約１２１９ｍ）の曇天で表されることになる。その後でユーザの飛行がほぼ晴天の空に突入した場合、天候はほぼ晴天に変わるであろうが、すべての方向で晴天になる。すなわち、ユーザが自分の飛行機の後ろを見た場合であっても、ユーザはほぼ晴天の空しか見ることができない。ユーザには、自分がおそらく飛んでいたであろう曇天の空が見えないことになる。
【０００６】
シミュレーションゲームをより現実的にしようとする場合、シミュレーションゲームは、ゲームの開始に先立って実際の天候条件をダウンロードし、ダウンロードした天候条件をその後でゲーム期間中に使用することによって、使用する実際の天候条件をゲームのプレイ中にダウンロードするのを制限することが可能である。このようにすることによって制限された現実性は与えられるが、ユーザの現在位置からすべての方向に同じ天候が現われるという問題は緩和されず、ゲーム中に変化および／または連続する現実的な天候も提供されない。
【０００７】
したがって当分野の進歩は、雲の形成および気温の変化を含む天候シミュレーションにおける改良型現実性を提供することであり、これによって複数タイプの天候を同時にシミュレートすることが可能であり、さらにこれによってこの天候シミュレーションは、他のタスクを実行中にコンピュータが容認できないほど低速になるようなコンピュータシステムの過負荷なしに、汎用コンピュータシステム上で提示するのに好適である。当分野の他の進歩は、ゲームプレイの期間全体を通じて連続して更新される現実世界の天候を提供することであろう。
【０００８】
上記に加えて、シミュレーションベースのコンピュータゲームは、通常、ユーザ定義の天候を提供するための機能が制限されているかまたはこの機能がない。典型的には、コンピュータゲームではユーザは「晴れ」、「曇り」、または「雨」などの一般的な天気は選択できるが、どのように曇っているか、どれだけの雨が降っているか、視程（たとえば霞などによる）、風などを指定することはできない。１つの知られた解決策であるＭｉｃｒｏｓｏｆｔ（登録商標）のＦｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ（登録商標）２００２では、ユーザはこれらの条件の多くを気象観測所ごとに指定することができる。すなわちユーザは、世界中のそれぞれの実際の気象観測所について、その気象観測所での擬似条件を指定することができる。しかしながらその後ユーザが、ユーザの現在の飛行に関係なく気象情報を保存することはできない。
【０００９】
Ｆｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ  ２００２の制約は、ユーザ指定の条件が指定された気象観測所にのみ適用されることである。ユーザが世界の別の領域を同様の条件で飛行したい場合、ユーザは新しい場所の気象観測所で所望の条件を再度指定しなければならなくなる。さらに、気象観測所は世界中に均等に配置されているわけではない。たとえば、合衆国国内にはアフリカ全土よりも多くの気象観測所がある。そのためユーザが様々な場所で天候を定義する場合、細分性が不均等になる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって当分野の進歩は、ユーザが任意の空間で天候を定義し、その後ユーザが定義したその天候をユーザが指定した場所に適用できるようにすることであろう。当分野の他の進歩は、世界のどの場所に天候が適用されるかに関わらず、ユーザが均等な細分性で天候を定義できるようにすることであろう。
【００１１】
現在のコンピュータゲームプレーヤが許容できるレベルの現実性および細部を提供するようなレベルの特異性で天候を定義するためには、以下で説明するように、広い地形空間にわたって多くの変数を提供することが必要である。したがって当分野の進歩は、ユーザが即時および効率的に多くの変数を定義できるようにする天候プロファイル作成ユーティリティを提供することであろう。当分野の他の進歩は、定義された天候属性をユーザまたは天候プロファイル設計者に視覚的に示す、フィードバックメカニズムを提供することであろう。
【課題を解決するための手段】
【００１２】
本発明のいくつかの態様を基本的に理解するための本発明の簡単な要約を以下に示す。この要約は、本発明の広範な概要ではない。本発明の主要または不可欠な要素を識別すること、または本発明の範囲を詳細に描写することを意図するものではない。以下の要約は、以下に示すより詳細な説明の前置きとして本発明の概念の一部を簡単な形態で表しただけである。
【００１３】
前述の従来技術における制限を克服するため、ならびに本明細書を読むことおよび理解することによって明らかになる他の制限を克服するために、本発明はコンピュータゲームにおける天候のシミュレーションを対象とする。
【００１４】
本発明の一態様に従って、ソフトウェアストレージ媒体は、ユーザが多次元アレイ内に個々のセルの属性を設定できるように構成されたコンピュータ実行可能命令を格納する。ソフトウェアは、多次元アレイに適用されることになる第１の属性の値を決定し、第１の属性は第１のカラーチャネルに関連付けられる。ソフトウェアは、多次元アレイに適用されることになる第２の属性の値を決定し、第２の属性は第２のカラーチャネルに関連付けられる。ソフトウェアは、多次元アレイに適用されることになる第３の属性の値を決定し、第３の属性は第３のカラーチャネルに関連付けられる。多次元アレイのグラフィック描写でセルを選択するユーザ入力を受け取ると、ソフトウェアは第１、第２、および第３の属性の値を選択したセルに適用し、第１、第２、および第３の属性の値に基づいた色で選択したセルに陰影を付ける。
【００１５】
本発明の他の態様に従って、ソフトウェアストレージ媒体は、ユーザが多次元アレイ内に個々のセルの属性を設定できるように構成されたコンピュータ実行可能命令を格納する。ソフトウェアは、多次元アレイに適用可能な複数の属性のそれぞれについて値を決定し、複数の属性のそれぞれに対応するフラグの状態を決定する。フラグは、対応する属性を多次元アレイに適用すべきであるか否かを示す。多次元アレイのグラフィック描写でセルを選択するユーザ入力を受け取ると、ソフトウェアは、対応する属性を多次元アレイに適用すべきであることをフラグが示す複数の属性のそれぞれの値を選択したセルに適用し、フラグが立てられた属性が選択したセルに適用された旨の視覚的フィードバックを提供する。
【００１６】
本発明の他の態様は、ユーザが選択した属性層に対応する属性リストを表示する第１のインターフェース構成要素を含むグラフィカルユーザインターフェースを提供する。ユーザは、リスト内の各属性に対応する属性値を指定することができる。グラフィカルユーザインターフェースは、場所があいまいな（ｌｏｃａｔｉｏｎ−ｎｅｕｔｒａｌ）地理的領域を表す２次元グリッドを示す第２のインターフェース構成要素も含む。ユーザがグリッド内のセルを選択する場合、ユーザインターフェースはユーザが選択した属性層に対応する属性のリスト内にある複数の属性の現在の値に基づいて、選択したセルに陰影を付ける。
【発明を実施するための最良の形態】
【００１７】
本発明およびその利点は、添付の図面を考慮しながら以下の説明を参照することによってより完全に理解することが可能であり、添付の図面では同じ参照番号は同じ特徴を示す。
【００１８】
以下の様々な実施形態の説明では、本明細書の一部を形成する、本発明が実施可能な様々な実施形態が例として示された添付の図面を参照する。他の実施形態が使用可能であること、ならびに本発明の範囲を逸脱することなく構造上および機能上の修正が可能であることが理解されよう。
【００１９】
例示的な動作環境
図１は、動的な天候がシミュレート可能な好適な汎用コンピューティングシステム環境１００の一例を示す図である。コンピューティングシステム環境１００は好適なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関していかなる制限をも示唆することを意図するものではない。さらにコンピューティング環境１００は、例示的オペレーティング環境１００に示された構成要素のうちのいずれか１つまたはその組合せに関して、何らかの依存性または要件を有するものと解釈されるべきでもない。
【００２０】
本発明は、多数の他の汎用または特定用途向けコンピューティングシステム環境または構成で動作可能である。本発明で使用するのに好適な可能性のあるよく知られたコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータと、サーバコンピュータと、携帯情報端末（ＰＤＡ）、タブレットＰＣ、またはラップトップＰＣなどのポータブルおよびハンドヘルドデバイスと、マルチプロセッサシステムと、マイクロプロセッサベースシステムと、セットトップボックスと、プログラム可能大衆消費電子製品と、ネットワークＰＣと、ミニコンピュータと、メインフレームコンピュータと、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境と、その他が含まれるが、これらに限定されるものではない。
【００２１】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令との一般的な関連において説明することができる。一般に、プログラムモジュールには、特定タスクを実行するかまたは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実施可能である。分散コンピューティング環境では、メモリストレージデバイスを含むローカルおよびリモートの両方のコンピュータストレージ媒体内に、プログラムモジュールを配置することができる。
【００２２】
図１を参照すると、本発明を実施するための例示的システムには、コンピュータ１１０の形態の汎用コンピューティングデバイスが含まれる。コンピュータ１１０の構成要素は、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合するシステムバス１２１を含むことができるが、これらに限定されるものではない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかとすることができる。例を挙げると、こうしたアーキテクチャにはＩｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）バス、およびメザニンバスとしても知られるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが含まれるが、これらに限定されるものではない。
【００２３】
コンピュータ１１０は、通常、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ１１０がアクセス可能な任意の使用可能媒体とすることが可能であり、揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体の両方を含む。例を挙げると、コンピュータ読取り可能媒体はコンピュータストレージ媒体および通信媒体を備えることができるが、これらに限定されるものではない。コンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実施される、揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体の両方を含む。コンピュータストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を格納するために使用可能でありコンピュータ１１０がアクセス可能な任意の他の媒体を含むが、これらに限定されるものではない。通信媒体は、通常、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送メカニズムなどの変調データ信号で具体化し、任意の情報送達媒体を含む。「変調データ信号」という用語は、信号内で情報を符号化したような方法でその特徴のうちの１つまたは複数が設定または変更された信号を意味する。例を挙げると、通信媒体には有線ネットワークまたはダイレクトワイヤード接続などの有線媒体と、音波、ＲＦ、赤外線、および他の無線媒体などの無線媒体とが含まれるが、これらに限定されるものではない。上記のいずれかの組合せも、コンピュータ読取り可能媒体の範囲に含まれるものとする。
【００２４】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形態のコンピュータストレージ媒体を含む。起動時などにコンピュータ１１０内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入力／出力システム１３３（ＢＩＯＳ）は、通常、ＲＯＭ１３１内に格納される。ＲＡＭ１３２は通常、即時アクセス可能である、および／または処理ユニット１２０によって現在動作中である、データおよび／またはプログラムモジュールを含む。例を挙げると、図１にはオペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７が例示されているが、それらに限定されるものではない。
【００２５】
コンピュータ１１０は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータストレージ媒体を含むこともできる。単なる例を挙げると、図１には、取り外し不能、不揮発性の磁気媒体からの読取りまたはこれへの書き込みを行うハードディスクドライブ１４１と、取り外し可能、不揮発性の磁気ディスク１５２からの読取りまたはこれへの書き込みを行う磁気ディスクドライブ１５１と、ＣＤ  ＲＯＭまたは他の光媒体などの取り外し可能、不揮発性の光ディスク１５６からの読取りまたはこれへの書き込みを行う光ディスクドライブ１５５が例示されている。例示的なオペレーティング環境で使用可能な他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータストレージ媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、その他が含まれるが、これらに限定されるものではない。ハードディスクドライブ１４１は通常、インターフェース１４０などの取り外し不能メモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インターフェース１５０などの取り外し可能メモリインターフェースによってシステムバス１２１に接続される。
【００２６】
上記で説明し図１に例示したドライブおよびそれらに関連するコンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、およびコンピュータ１１０に関する他のデータのストレージを提供する。たとえば図１では、ハードディスクドライブ１４１はオペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納しているように例示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであるかまたは異なるかの、いずれでも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくともこれらが異なるコピーであることを示すために、本明細書では異なる番号が与えられている。ユーザは、キーボード１６２および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス１６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバスに結合されたユーザ入力インターフェース１６０を介して処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することも可能である。モニタ１８４または他のタイプのディスプレイデバイスも、ビデオインターフェース１８３などのインターフェースを介してシステムバス１２１に接続される。コンピュータ１１０は、ユーザがスタイラス入力デバイス１８６を使用して入力を提供できるようにするためのモニタ１８４と共に使用するためのデジタイザ１８５を含むこともできる。コンピュータは、モニタに加えて、出力周辺インターフェース１８７を介して接続可能なスピーカ１８９およびプリンタ１８８などの他の周辺出力デバイスも含むことができる。
【００２７】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用したネットワーク環境内で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることが可能であり、通常は、コンピュータ１１０に関して上記で説明した要素の多くまたはすべてを含むが、図１にはメモリストレージデバイス１８１のみが例示されている。図１に示された論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークを含むこともできる。こうしたネットワーキング環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、およびインターネットでよく見られるものである。
【００２８】
コンピュータ１１０は、ＬＡＮネットワーキング環境で使用される場合、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。コンピュータ１１０は、ＷＡＮネットワーキング環境で使用される場合、通常はモデム１７２、またはインターネットなどのＷＡＮ１７３を介した通信を確立するための他の手段を含む。モデム１７２は内蔵型または外付け型が可能であり、ユーザ入力インターフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０またはその一部に関して示したプログラムモジュールをリモートメモリストレージデバイス内に格納することができる。例を挙げると、図１はリモートアプリケーションプログラム１８２がメモリデバイス１８１上に常駐しているように示しているが、これに限定されるものではない。図示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段が使用可能であることを理解されよう。
【００２９】
発明の例示的実施形態
本発明の１つまたは複数の態様は、アプリケーションプログラム１３５、１４５、プログラムモジュール１３６、１４６、および／またはプログラムデータ１３７、１４７としてシステムメモリ１３０または不揮発性メモリ１４１、１５２、１５６に格納された、天候シミュレーションソフトウェアオブジェクト、ルーチン、または機能（本明細書では集合的に天候シミュレーションマネージャと呼ぶ）などの、コンピュータ実行可能命令（すなわちソフトウェア）内で具体化することができる。代わりにソフトウェアは、リモートアプリケーションプログラム１８２を備えたリモートコンピュータ１８０上などに、リモートに格納することができる。一般にプログラムモジュールは、コンピュータまたは他のデバイスのプロセッサによって実行された場合に特定のタスクを実行するか、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令は、ハードディスク１４１、光ディスク１５６、取り外し可能ストレージ媒体１５２、ソリッドステートメモリ、ＲＡＭ１３２などのコンピュータ読取り可能媒体上に格納することができる。当業者であれば理解されるように、プログラムモジュールの機能は様々な実施形態で所望に応じて組み合わせるかまたは分散させることができる。さらにこの機能は、集積回路、現場プログラム可能ゲートアレイ（ＦＰＧＡ）などのファームウェアまたはハードウェア等価物内で、全体的または部分的に具体化することができる。
【００３０】
天候シミュレーションマネージャは、ゲーム環境の一部として天候をシミュレートするコンピュータゲームなどの、大規模アプリケーションプログラムの構成要素とすることができる。こうしたゲームの例には、フライトシミュレーションゲーム、戦争シミュレーションゲーム、または擬似仮想世界で行われる任意の他のゲームが含まれるが、これらに限定されるものではない。大規模アプリケーションプログラムは、擬似実世界環境でユーザをトレーニングするコンピュータベースのトレーニングアプリケーションとするか、または部分的に天候に依拠する仮想環境をシミュレートする任意のアプリケーションプログラムとすることもできる。その一部が天候シミュレーションマネージャである大規模アプリケーションプログラムは、本明細書では制御プログラムと呼ばれる場合がある。本明細書で使用される「コンピュータゲーム」という用語は、パーソナルコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、移動式電話、ビデオゲームコンソール、アーケードゲームユニット、および／または任意の他のデータ処理デバイス上でプレイされる、任意のゲームを称する。
【００３１】
図２を参照すると、本発明の諸態様は動的天候シミュレーションのための方法を含むことができる。ステップ２０１で、たとえばシミュレートされた地理的環境における様々な地域それぞれに関する気温および露点の初期値を取得または決定することによって、天候シミュレーションマネージャが天候を初期設定する（以下で詳細に説明する）。次にステップ２０３で、天候シミュレーションマネージャが各地域内で雲を形成すべきかどうかを決定する。ある地域内で雲を形成すべきである場合、ステップ２０５で天候シミュレーションマネージャが、その地域内の雲層をコンピュータシステムに図示させるが、これはレンダリングとも呼ばれる。次にステップ２０７で天候シミュレーションマネージャは、様々な地域それぞれについて既存のそれぞれの雲層を消散させるべきかどうかを決定する。消散させる場合は、ステップ２０９で天候シミュレーションマネージャが、ステップ２０７で消散することに決定した雲層をコンピュータシステムに消散させる。ステップ２１１で天候シミュレーションマネージャはたとえば気温および露点を含む天候条件を更新し、ステップ２０３に戻る。次に、これらの概括的なステップそれぞれについてより詳細に説明する。
【００３２】
図３を参照すると、天候シミュレーションマネージャは地理的グリッド３０７内の複数のセル３０５それぞれについて、図２の方法（以下でさらに詳細に説明する）を使用して天候を個別にシミュレートすることができる。グリッド３０７の各セル３０５は、擬似仮想環境内の所定の地理的領域に対応する。ユーザは通常、擬似環境内のあらゆる場所を同時に見ることはできないため、天候シミュレーションマネージャは、隣接して配置されたセル、所定の距離内にあるセル、あるいはユーザの現在位置３０１または現在のセル３０５から所定の半径内にあるセルについてのみ、天候をシミュレーションする場合がある。例示された実施形態では、各セル３０５は１６ｋｍ×１６ｋｍの擬似領域であり、ユーザから半径１２８ｋｍのほぼ円形の地域３０３内に延在する。擬似環境内でのユーザの移動に伴って、それぞれセルが所定の距離内に入る場合、および所定の距離を超えて移動する場合に、天候シミュレーションが実行されるセルのセットにセルを追加すること、およびセルのセットからセルを削除することができる。セルのサイズおよび所定の距離は、シミュレートされる視程、天候シミュレーションマネージャを実行しているコンピュータシステムの実行能力に応じて増加および減少させることが可能であり、円以外のシミュレーション地域（たとえば長方形、楕円形、三角形など）を使用することができる。
【００３３】
天候シミュレーションが同じコンピュータシステム上で実行中の他の制御プログラム機能または他のアプリケーションプログラムに影響を与えないことを保証するために、天候シミュレーション機能を実行するための所定量のコンピュータリソースを天候シミュレーションマネージャに割り当てることができる。さらに天候シミュレーションマネージャは、任意の所与のセルに対してたとえばせいぜい１０秒に１回など、所定の時間内に１回だけ天候シミュレーション計算を実行することができる。
【００３４】
本発明の例示的な実施形態では、制御プログラムは、たとえば天候シミュレーションマネージャが天候シミュレーション機能を実行できる（好ましくは毎秒３０フレームまたはそれ以上で実行する）アニメーションフレームごとにたとえば１ファイバ（ｆｉｂｅｒ）などのタイムスライスを、天候シミュレーションマネージャに割り当てることができる。天候シミュレーションマネージャは、本明細書で説明するように、各タイムスライス中に地域３０３内のできる限り多くのセルに対して天候シミュレーション計算を実行する。天候シミュレーションマネージャは、タイムスライスが終わると次に割り当てられたタイムスライスまで待機し、地域３０３内の次のセルで続行する。天候シミュレーションマネージャは、１つのセルに対して天候シミュレーション計算を実行するのに先立って、現在のセルで所定の時間（たとえばこの例では１０秒）内に天候シミュレーション計算が実行されたかどうかをチェックし、実行された場合はそのセルをスキップすることができる。当業者であれば、たとえばファイバ、スレッド、時間などに基づいて任意のタイムスライス割り当てが使用できること、および各セルに対する天候シミュレーション計算の遅延としてゼロを含む任意の所定量の時間が使用できることを理解されよう。
【００３５】
天候シミュレーションマネージャは各セルに対して個別に天候計算を実行するため、隣接するセル内で異なる天候をシミュレートすることができる。これにより天候シミュレーションマネージャが実世界の天候をより細密に模倣することができるため、現実感が増大する。すなわち、あるユーザが１方向を向くとほとんど晴天で雨の降っていない空が見えるが、擬似環境内で反対方向を見た場合、このユーザは曇った雨の降っている空を見ることができる。
【００３６】
制御プログラム（たとえばフライトシミュレーションゲーム）は、複数の段階に分けることができる。セットアップ段階では、ユーザは後続のゲームプレイ段階を制御する際に使用することのできるパラメータを設定することができる。再度図２を参照すると、ステップ２０１で、制御プログラムおよび／または天候シミュレーションマネージャは、セットアップ段階時またはゲームプレイ段階の最初に仮想環境の各セルについて現在の天候条件を初期設定する。天候シミュレーションマネージャは、ユーザの開始位置３０１から所定の距離３０３内にあるセルについて天候条件を初期設定し、その所定の距離の外でも広域の天候条件を初期設定することができる。代わりに、天候条件が初期設定された他の地域のセルを使用することもできる。天候条件が初期設定された各セルについて、初期の天候条件は地上条件および高層風を含むことができる。地上条件は、気温、露点、風速、ウィンドシア（ｗｉｎｄ  ｓｈｅａｒ）、風の乱流および風向、雲量（たとえば０、１／８、２／８、・・・、８／８、あるいは代わりに１０段階を使用することもできる）、最低雲高または基底高度（ｂａｓｅ  ａｌｔｉｔｕｄｅ）、雲の高さ、雲の種類、雲の乱れ、雲の結氷、および大気圧を含むことができるが、これらに限定されるものではない。高層風は、３，０００フィート（約９１４ｍ）から３９，０００フィート（約１１，８８７ｍ）までの高度の風速、風向、および気温を含むことができるが、これらに限定されるものではない。
【００３７】
天候の初期設定は、様々なソースに基づくことができる。本発明の一実施形態では、図６〜１１を参照すると、ユーザは天候（ＷＥＡＴＨＥＲ）メニュー６０１から開始天候テーマ（Ｗｅａｔｈｅｒ  ｔｈｅｍｅｓ）６０３を選択することができる。制御プログラムはデフォルトの天候テーマを有することができる。たとえば図６では、ユーザが「快晴（Ｆａｉｒ  Ｗｅａｔｈｅｒ）」テーマ６０５を選択するか、またはこれがデフォルトの天候である場合、天候は華氏５９度（摂氏１５度）、６，０００フィート（約１，８２９ｍ）での高さ１，０００フィート（約３０５ｍ）の雲の雲量１／８、および地上風なしに初期設定することができる。
【００３８】
代わりに、ユーザが実世界天候（Ｒｅａｌ−ｗｏｒｌｄ  ｗｅａｔｈｅｒ）６０７または６０９を選択する場合、天候は全体または一部を実際の天候に基づくものとすることができる。擬似環境が実存の地理（たとえばアメリカ合衆国または地球上のその他の場所）のシミュレーションである場合、天候シミュレーションマネージャは、インターネット１７３または何らかの他のネットワーク１７１を介して、現在の天候条件をリモートデータベース１８２（図１）からダウンロードすることができる。たとえば天候シミュレーションマネージャは、地上天候状況を気象観測所が提供する定時空港状況気象通報（ＭＥＴＡＲ）としてダウンロードすることができる（代わりに他の気象データ提供報告書を使用することもできる）。ＭＥＴＡＲは、コロラド州デンバーのＪｅｐｐｅｓｅｎ  Ｓａｎｄｅｒｓｏｎ，Ｉｎｃ．から検索することができる。代わりに、ＭＥＴＡＲを連邦気象局から検索することもできる。ＭＥＴＡＲは当分野で知られており、世界中のほぼ６，０００の気象観測所から入手可能であって、その約半分が合衆国内にある。ＭＥＴＡＲ制作の気象観測所が配置されたセルでは、天候シミュレーションマネージャがそのセルに対してそのＭＥＴＡＲ制作の気象観測所からのデータを使用することができる。ＭＥＴＡＲ制作の気象観測所がないセルでは、天候シミュレーションマネージャはＭＥＴＡＲ制作の気象観測所間で補間を実行し、それらのセルの初期天候条件を出すことができる。
【００３９】
ユーザが静的な実世界天候（Ｒｅａｌ−ｗｏｒｌｄ  ｗｅａｔｈｅｒ（ｓｔａｔｉｃ））６０７を選択した場合、天候シミュレーションマネージャはゲームプレイの開始に先立って現在の天候条件を１回ダウンロードすることが可能であり、その後の天候の変化は以下に説明するとおりである（実際の天候には基づかない）。代わりに、ユーザが自動更新される実世界天候（Ｒｅａｌ−ｗｏｒｌｄ  ｗｅａｔｈｅｒ（ｕｐｄａｔｅｄ））６０９を選択した場合、天候シミュレーションマネージャはゲームプレイの開始に先立って現在の天候条件をダウンロードし、ゲームプレイ中にその後の天候変化を定期的に、たとえば１５分ごとにダウンロードすることができる。天候は突然新しい天候に変わるのではなく、以下でさらに説明するように、数分間にわたって経時的に新しくダウンロードされた天候に徐々に移行することが可能である。天候は、実際の天候のダウンロード間隔の中間に変わるか、または変わらない場合がある。
【００４０】
代わりにユーザは、図７に示されたユーザ定義の天候６１３を選択することが可能であり、これがカスタム天候メニュー７０１を起動する。カスタム天候メニューは、ユーザが天候ＭＥＴＡＲを受け取ることが可能な任意またはすべての気象観測所について、一般的な天候条件を変更できるようにするものである。ユーザは高水準天候オプション７０３を選択して、さらに特定の天候条件を変更することができる。
【００４１】
高水準天候（Ａｄｖａｎｃｅｄ  Ｗｅａｔｈｅｒ）オプション７０３を選択すると、制御プログラムまたは天候シミュレーションマネージャは図８に示された高水準天候（ＡＤＶＡＮＣＥＤ  ＷＥＡＴＨＥＲ）メニュー８０１を起動し、ここでユーザは、天候ＭＥＴＡＲを受け取ることが可能な任意またはすべての気象観測所について、雲、風、気温／気圧、および視程を含む特定の天候条件を変更することができる。雲、風、気温／気圧、および視程はそれぞれサブメニューまたはタブ８０３、８０５、８０７、８０９を有し、ユーザはこれを介してそれぞれの条件に関する特定の細部を編集することができる。図８は、ユーザが雲の種類、雲量、雲の頂部、雲の底部、乱れ、結氷、および降水に関する気象条件を指定する際に使用可能な、高水準天候メニュー８０１および雲のサブメニュー８０３を示す図である。図９は、ユーザが風の高さ、風速、突風、風の乱流、シア強さ、および風向に関する気象条件を指定する際に使用可能な、高水準天候メニューおよび風のサブメニュー８０５を示す図である。図１０は、ユーザが高度および様々な高度での露点、ならびに海面での気圧に関する気象条件を指定する際に使用可能な、高水準天候メニューおよび気温／気圧のサブメニュー８０７を示す図である。図１１は、ユーザが様々な高度での視程に関する気象条件を指定する際に使用可能な、高水準天候メニューおよび視程のサブメニュー８０９を示す図である。各サブメニューでは、ユーザが気象観測所ごとおよび／または様々な各高度に関して天候条件を指定および／または修正することが可能であり、これによってユーザ指定の天候が３次元で提供される。
【００４２】
初期設定後、天候シミュレーションマネージャは、ユーザの現在の（開始）位置から所定の距離内にある各セルに雲を形成すべきかどうかを決定することによって、ステップ２０３で天候シミュレーションを開始する。上記で示したように、天候シミュレーションマネージャは各セルについて別々に天候計算を実行する（当業者であれば、たとえば天候シミュレーションマネージャが１つまたは複数の隣接するセルに配置された１つまたは複数の気象観測所に基づいて現在のセルの天候を補間する場合など、１つのセルの天候が部分的に他のセルの天候に基づくものとすることができることを理解されよう）。次にこの方法を単一のセルに関して説明し、当業者であれば該当する場合に同じ方法を各セルに実行できることを理解されよう。
【００４３】
ステップ２０３で雲を形成すべきであると決定するために、天候シミュレーションマネージャは第１に、セルに対する雲の形成確率を決定する。雲の形成確率は、気温Ｔと露点ＤＰとの温度差（ｓｐｒｅａｄ）（本明細書ではＴ／ＤＰ温度差と呼ぶ）に依存して変わることがある。雲の形成は比較的頻繁に（たとえば上記の例では１０秒に１回）チェックされるため、雲の形成が実際の天候を模倣するように雲の形成確率は低いことが好ましい。たとえば、例示的な一実施形態では、Ｔ／ＤＰ温度差がゼロの場合、雲の形成確率は０．０４であり、その結果、毎分（または天候計算サイクルごと、または何らかの他の時間ごと）の雲形成率は４％にとどまる。この確率が毎分ごとであり、天候計算サイクルが１分未満である場合、それに応じて確率を調整することができる。たとえば、あるセルに対する天候計算サイクルが、そのセルに対する以前の天候計算サイクルの２０秒後に発生する場合、確率は３分の１となる（２０秒／６０秒＝１／３）。Ｔ／ＤＰ温度差が増加するほど、雲の形成確率はゼロに近づく。たとえば、Ｔ／ＤＰ温度差がたとえば摂氏５０度などの所定の温度差よりも大きい場合、雲の形成確率は０．０１２５％などの小さな値となる可能性がある。代わりに、他の確率を使用することもできる。
【００４４】
雲の形成確率を決定すると、天候シミュレーションマネージャは０から１までの間の乱数または擬似乱数を生成し、本明細書ではこれらをまとめて乱数と呼ぶ。乱数が雲の形成確率よりも小さい場合、天候シミュレーションマネージャはステップ２０５で雲層を形成する。そうでない場合、天候シミュレーションマネージャはステップ２０７に進む。
【００４５】
ステップ２０５で、天候シミュレーションマネージャはどのような種類の雲層を、どのような基底高度、およびどのような高さで形成するかを決定する。図４は、ステップ２０５をより詳細に示す図である。ステップ４０１で天候シミュレーションマネージャは、雲層を描画すべき雲量を決定する。雲量は、通常、雲が空を覆う割合に基づいて決定される。たとえば気象学では、表１に基づいて雲量を表すことがある。
【００４６】
【表１】
2005266791.tif 000003
【００４７】
代わりに、当分野で知られているように、１０段階で表す雲量または何らかの他の雲量基準を使用することもできる。
【００４８】
天候シミュレーションマネージャは、以下の数式１を使用して雲量を決定する。
【００４９】
ＣＣ＝ＣＦＡＣＴ／ＣＦＭＡＸ＋ＲＣＣ                          （数式１）
上式で、ＣＣは雲量を表し、ＣＦＡＣＴはステップ２０３で算出された実際の雲の形成確率を表し、ＣＦＭＡＸはＴ／ＤＰ温度差がゼロの場合の最大の雲の形成確率を表し、ＲＣＣはＣＣに加えることのできるランダムな係数、たとえば±５０％を表す。ＣＣは直近の１／８または他の適用可能な分数に切り上げるかまたは切り下げることができる。ＣＣの実際の値を使用して、適用可能なセル内でどれだけの空を雲層で満たすべきかを決定することができる。
【００５０】
ステップ４０３では、天候シミュレーションマネージャは雲層の基底高度を決定する。雲層の基底高度は、以下の数式２を使用して決定することができる。
【００５１】
ＣＢＡ＝（（Ｔ−ＤＰ）×１０００／２．５）＋ＲＣＢＡ          （数式２）
上式で、ＣＢＡはフィート単位の雲の基底高度を表し、気温Ｔおよび露点ＤＰは摂氏単位であり、ＲＣＢＡは雲の基底高度において何らかのランダム性を提供する−３００（−９１．４４ｍ）＜ＲＣＢＡ＜３００フィート（９１．４４ｍ）となるような乱数である。代わりに乱数ＲＣＢＡに関する他の制限を使用するか、またはＲＣＢＡをゼロに設定して、均一な雲の基底高度を提供することもできる。雲の基底高度を調節して、２つの雲層が事前に定義された量よりも多く、たとえば６０％を超えて重ならないようにすることもできる。定数値２．５は、高度が１，０００フィート（約３０５ｍ）上昇するごとの気温の低下の近似値を表す。たとえば天候の種類、華氏対摂氏などの他の近似値も使用可能である。一実施形態では、１，０００フィート（約３０５ｍ）につき２．５度を使用することができる。代わりに、暑い快晴の天候では１，０００フィート（約３０５ｍ）につき４度の方がより正確な近似値であり、曇った湿度の高い天候では１，０００フィート（約３０５ｍ）につき２．５度の方がより正確な近似値となる場合がある。
【００５２】
最後に天候シミュレーションマネージャは、雲の基底高度が低、中、または高であるかどうかを決定し、それぞれステップ４０５、４１１、または４１７へ進む。雲の基底高度の低、中、および高は、以下の数式３に示された関係に基づいて決定することができる。
【００５３】
低≦２，０００メートル＜中≦６，０００メートル＜高        （数式３）
代わりに他の値を使用して、低、中、および高の雲の基底高度を描写することもできる。
【００５４】
ステップ４０５では、天候シミュレーションマネージャは現在の気圧をチェックして、低い高度にどのような種類の雲を描画するかを決定する。気圧計が１００７．４ミリバールより低い場合、天候シミュレーションマネージャはステップ４０７で、決められた雲の基底高度ＣＢＡに、所定の高さおよび決められた雲量ＣＣに従って（すなわちＣＣによって決められた割合の空を雲層が覆う）、層雲タイプの雲層をレンダリングする。高さはたとえば２，０００フィート（約６１０ｍ）に静的に設定するか、または高さがランダム性の要素を有することができる。ステップ４０５で気圧計が１００７．４ミリバールを越えるかまたはこれに等しい場合、天候シミュレーションマネージャはステップ４０９で、決められた雲の基底高度ＣＢＡに、所定の高さおよび決められた雲量ＣＣに従って積雲タイプの雲層をレンダリングする。雲の高さはたとえば６，０００フィート（約１，８２９ｍ）に静的に設定するか、または高さがランダム性の要素を有することができる。他の気圧計レベルも同様に使用可能である。
【００５５】
ステップ４０３で、雲の基底高度が中の範囲内にある場合、天候シミュレーションマネージャはステップ４１１で気圧計をチェックし、レンダリングする雲の種類を決定する。気圧計が１００７．４ミリバールより下の場合、天候シミュレーションマネージャはステップ４１３で、決められた雲の基底高度ＣＢＡに、所定の高さおよび決められた雲量ＣＣに従って層雲タイプの雲層をレンダリングする。雲の高さは、たとえば３，０００フィート（約９１４ｍ）に静的に設定するか、または高さがランダム性の要素を有することができる。ステップ４１１で気圧計が１００７．４ミリバールを越えるかまたはこれに等しい場合、天候シミュレーションマネージャはステップ４１５で、決められた雲の基底高度ＣＢＡに、所定の高さおよび決められた雲量ＣＣに従って積雲タイプの雲層をレンダリングする。雲の高さはたとえば８，０００フィート（約２，４３８ｍ）に静的に設定するか、または高さがランダム性の要素を有することができる。
【００５６】
ステップ４０３で、雲の基底高度が高の範囲内にある場合、天候シミュレーションマネージャはステップ４１７で、決められた雲の基底高度ＣＢＡに、所定の高さおよび決められた雲量ＣＣに従って、巻雲タイプの雲層をレンダリングする。雲の高さは、たとえば５００フィート（約１５２ｍ）に静的に設定するか、または高さがランダム性の要素を有することができる。
【００５７】
天候シミュレーションマネージャは、層雲、積雲、積乱雲、および巻雲タイプの、様々な雲をシミュレートすることができる。天候シミュレーションマネージャは、該当する場合には、たとえば巻層雲、高層雲、乱層雲、層積雲、高積雲、巻積雲、積乱雲、その他など、レンダリングするタイプを雲の基底高度および高さに基づいて選択することができる。
【００５８】
雲層をレンダリングした後、天候シミュレーションマネージャはステップ４１９で、降水が雲層に関連付けられるかどうかを決定する。降水の決定は、全体的または部分的に、雲の高さ、および気温が降水の範囲内たとえば雲の高度で−１０℃にあるかどうかに基づくことができる。降水がない場合、天候シミュレーションマネージャはステップ２０７に進むことができる。降水がある場合、天候シミュレーションマネージャはステップ４２１で、降水が雨、雪、または何らかの他の形の降水（たとえばみぞれ、ひょうなど）であるかどうかを決定し、擬似地理環境で適用可能な降水をレンダリングする。一実施形態では、雪の可能性は１％、雨の可能性は４％である。降水は地上まで達するものとするか、または天候シミュレーションマネージャが、たとえば降水が雲の基底部から下に２，０００ｍまで降下するなど、降水が雲の基底部から下に所定の距離までしか降下しないようにシミュレートすることによって、尾流雲をシミュレートすることができる。
【００５９】
ステップ２０７で天候シミュレーションマネージャは、雲を消散される、すなわち擬似環境の視覚的に示された風景から除去するべきであるかどうかを決定する。天候シミュレーションマネージャは、雲の形成を決定するのと同様に雲の消散を決定することができる。雲を消散させるべきかどうかを決定するために、天候シミュレーションマネージャはセルの各雲層について雲の消散確率を決定する。雲の形成確率と同様に、雲の消散確率は気温Ｔと露点ＤＰとの温度差に依存して変化することができる。雲の消散は比較的頻繁に（たとえば上記の例では１０秒に１回）チェックされるため、雲の消散確率も低い方が好ましい。たとえば例示的な一実施形態では、Ｔ／ＤＰ温度差がゼロの場合、雲の消散確率もゼロである可能性がある。Ｔ／ＤＰ温度差が摂氏５０度などの高い値へと増加するにつれて、雲の形成確率は、たとえば１分あたり（または天候計算サイクルあたり）の雲の消散率が０．０４（４％）または０．０３９８７５（３．９８７５％）などの最大値に近づく。逆に、Ｔ／ＤＰ温度差が０まで減少すると、確率はたとえば０％などの最小値に近づく。本発明の一実施形態では、現実的な雲の形成および消散を提供するために、以下に計算されるように雲の消散確率は最大確率値を基準にして雲の形成確率の逆数である。
【００６０】
ＣＤＡＣＴ＝ＣＦＭＡＸ−ＣＦＡＣＴ                              （数式４）
上式で、ＣＤＡＣＴは雲の消散確率を表し、ＣＦＡＣＴはステップ２０３で算出された実際の雲の形成確率を表し、ＣＦＭＡＸはＴ／ＤＰ温度差がゼロの場合の最大雲形成確率を表す。たとえば、最大形成／消散確率ＣＦＭＡＸが０．０４（４％）であり、現在のセルの雲の形成確率ＣＦＡＣＴが０．０２５（２．５％）の場合、雲の消散確率ＣＤＡＣＴは０．０１５（１．５％）となる。当業者であれば、雲の消散確率を決定する場合に変形形態または他の公式が使用可能であることを理解されよう。上記の公式は、現実的な方法で雲の消散確率を計算する好ましい方法の代表的な例である。
【００６１】
雲の消散確率を決定すると、天候シミュレーションマネージャは０から１の間の乱数を生成する。この乱数が雲の消散確率よりも小さい場合、天候シミュレーションマネージャはステップ２０９で既存の雲層を消散させる。そうでない場合、天候シミュレーションマネージャはステップ２１１に進む。天候計算が実行されている現在のセルに雲層が存在しない場合、そのセルについてステップ２０７および２０９をスキップすることが可能であり、天候シミュレーションマネージャは該当する場合にはステップ２０３／２０５からステップ２１１へ直接進むことができる。
【００６２】
天候シミュレーションマネージャが雲層を消散させるべきであると決定した場合、ステップ２０９で天候シミュレーションマネージャは雲層の表示をゆっくりと擬似環境から消滅させる。各雲が３次元容積のスプライトから成る例示的な一実施形態では、天候シミュレーションマネージャは雲の縁部に配置されたスプライトの透明度レベル（たとえばＡＲＧＢスキームのＡ値）を徐々に上げていくことができる。縁部スプライトの透明度レベルが上がるかまたは透明に近くなるにつれて、天候シミュレーションマネージャはさらに外側のスプライトが視界から徐々に消えるにつれて雲の中央部により近いスプライトの透明度レベルを上げることができる。すなわち、天候シミュレーションマネージャは、雲の最も外側に位置するスプライトの透明度レベルを上げる。それらのスプライトが徐々に消え始めるかまたは完全に消えると、天候シミュレーションマネージャは、オリジナルのスプライトセットが視界から徐々に消えて消失する結果として、現在は雲の最も外側に位置するようになった次のスプライトセットの透明度レベルを上げ始める。
【００６３】
ステップ２１１で、天候シミュレーションマネージャは現在の天候条件を更新する。天候条件は任意数の変数に基づき、任意数の方法で修正することができる。天候が更新される方法は、更新される天候の各計算サイクル（たとえば上記の例では１０秒ごと）に基づいて計算される雲の決定の次に発生するものである。本明細書で説明する天候更新スキーマは、天候を更新することができる方法の単なる一例に過ぎない。当業者であれば、代替の天候更新スキーマが代わりに使用できることを理解されよう。
【００６４】
各サイクル中（すなわち上記の例では１０秒ごと）に、天候シミュレーションマネージャは、他の気象条件は一定に維持したままで気温および露点を更新することができる。制御プログラムまたは天候シミュレーションマネージャがインターネットを介して更新された天候情報をデータベースから取り出した場合に、他の気象条件を更新することができる。各サイクルで気温および露点が変化する速度は、空における太陽の位置、およびそれぞれのセルに対する現在の雲量を含む、様々な要素に基づくものとすることができるが、これらに限定されるものではない。日中、太陽が上がるにつれて一般に気温および露点は上昇し、日中、太陽が沈むにつれて気温および露点は低下する。同様に、雲量が多い場合よりも雲量が少ない場合の方が気温および／または露点は変化しやすい。さらに、既存のＴ／ＤＰ温度差を湿度の指標として使用することが可能であり、これがさらに気温および露点の変化速度に影響を与えることができる。気温および露点は、それぞれの上昇／低下傾向に従いながら互いに無関係に変化することができる。
【００６５】
変化の傾向は長い期間の間に全体として上昇するかまたは全体として低下することができるが、気温および露点はそれぞれ各サイクルで上昇または低下することができる。たとえば上昇傾向の間、気温および／または露点が変化可能な範囲には、低下の確率は少なく、上昇の確率が多い場合が含まれる。雲量なしの場合の気温変化の可能な範囲は、毎分（または天候計算サイクルあたり）−０．０１から０．０５度であり、天候シミュレーションマネージャはランダムに気温の変化単位の値をこの範囲内から選択することができる。したがって、気温は低下する可能性がある一方で、気温が上昇する確率の方がかなり高い。露点についても同じかまたは異なる範囲を使用することが可能であり、気温および／または露点を低下傾向にする場合は、反対の範囲または値が低下する方に重きを置いた他の範囲を使用することができる。
【００６６】
上記で示したように、気温および露点の変化は空における太陽の位置ならびに雲量に基づくものとすることができる。さらに気温および／または露点の変化は、変化が実際の天候を模倣すること、実際の天候よりも激しくすること、あるいは実際の天候よりも穏やかにすることの、いずれを試みるべきであるかに基づいて変化を変える、「現実性」設定に基づくものとすることもできる。例示的な一実施形態では、図５を参照すると、ユーザは動的な天候変数５０１（たとえばスライダ）を、たとえば無、穏、中、高、激などの複数の位置のいずれかに設定することができる。デフォルト値は「中」に設定することが可能であり、これは実際の天候パターンの実際の変化率を模倣するように試みるものである。穏の設定値にすると変化率は実際の天候よりも小さくなり、無の設定値にすると気温および露点はゲームプレイ全体を通じて一定のままとなる。高の設定値にすると変化率は実際の天候よりも大きくなり、激の設定値にすると変化率は実際の天候よりもかなり大きくなる（たとえば１日あたりの気温変化が摂氏４０度）。
【００６７】
選択した設定値は気温および／または露点の変化に対する乗数として働くことができる。たとえば、無の設定値は気温および／または露点の変化に０を掛けた結果として変化なしであり、穏の設定値は気温および／または露点の変化に０．５を掛けた結果として実際の天候よりも変化が少なくなり、中の設定値は気温および／または露点の変化に１を掛けた結果として実際の天候となり、高の設定値は気温および／または露点の変化に３を掛けた結果として通常の気温および露点の変化よりも大きくなり、激の設定値は気温および／または露点の変化に１０を掛けた結果として実際の生活に比べて激しい気温および露点の変化となることができる。代わりに、追加または異なる設定値を使用するか、またはユーザが有効な乗数の範囲内にあるいずれかの任意の乗数を選択することもできる。
【００６８】
ステップ２１１で天候を更新する場合、天候シミュレーションマネージャは、露点が気温を超えないことを保証することを含む１つまたは複数のエラーチェックを実行することができるが、これに限定されるものではない。すなわち、露点は気温より低いかまたは同じでなければならない。これとは違って、露点が気温を超えてしまうような方法で気温および／または露点を変化させようと天候シミュレーションマネージャが試みた場合、天候シミュレーションマネージャは露点および気温を強制的に同じ値（たとえば、計算された気温または露点、あるいはその間の何らかの範囲のいずれか）にするか、露点を強制的に気温より低くする。さらに、天候シミュレーションマネージャは、地表レベルでの気温が決して一定の気温範囲を超えるかまたは下回ることのないように保証することができる。たとえば天候シミュレーションマネージャは、地表レベルでの気温Ｔが−５０℃≦Ｔ≦５０℃内にとどまるように保証することができる。
【００６９】
ユーザがゲームプレイの開始に先立って、またはゲームプレイの途中に動的に、更新された実世界天候６０９（図６）を選択した場合、天候シミュレーションマネージャは一定の間隔、たとえば１５分ごとに、更新された実世界の天候条件をデータベースからインターネットを介して取り出すことができる。天候がデータベースから取り出される一定の間隔は、天候シミュレーションマネージャが各セルに対して天候を更新するサイクル間隔（たとえば上記の例では約１０秒ごと）よりもかなり長いのが普通である。したがって、次の実世界天候の更新が行われる時間までに、シミュレートされた天候が実世界の天候とはまったく異なるものになる可能性がある。これは特に、ユーザの動的な天候設定５０１（図５）、６１１（図６）が中の設定値以外に設定されている場合にあてはまる。
【００７０】
したがって一実施形態では、更新された実世界の天候を取り出したときに、天候シミュレーションマネージャが天候を実世界の天候に逆戻りさせることができる。しかしながら、ゲームプレイ中にユーザがぎごちなさを体験しないように、天候シミュレーションマネージャは各セルの現在の天候を更新された実世界の天候に即時に変更しない場合がある。即時に変更することによって非現実的な天候事象が発生することおよび／またはユーザを混乱させることがある。その代わりに天候シミュレーションマネージャは、各セルの現在の天候を、取り出した更新済みの実世界の天候へと何らかの所定の時間をかけて、たとえばゲームプレイの次の３分をかけて徐々に変形させることができる。これによって、実際の天候へ円滑に逆戻りすることになる。実際の天候に逆戻りした後、天候シミュレーションマネージャは、各サイクル中にその後の天候の変化を決定するようにユーザの設定値を逆戻りさせることができる。
【００７１】
いくつかの実施形態では、天候シミュレーションマネージャは気温および露点以外の天候条件をシミュレートしない場合がある。すなわち天候シミュレーションマネージャは、各サイクル中に、高層風および大気圧などの他の天候条件を変更しない場合がある。その代わりにこれらの天候条件を定期的な間隔で更新することが可能であり、この間隔でインターネットを介してデータベースから天候が取り出される。
【００７２】
したがって天候シミュレーションマネージャは、前述の方法およびシステムを使用し、実際の天候に基づいて、ユーザの個々の天候設定に基づいて、あるいはそれらの任意の組合せで、動的な天候を提供することができる。天候シミュレーションマネージャは、ユーザにより大きな世界の一部を感じさせる実世界の天候、または実世界の天候よりも多かれ少なかれ劇的に変化する天候をシミュレートすることができる。地理的グリッド内の各セルについて個別に天候をシミュレートすることによって、様々なタイプの天候を同時にシミュレートし、擬似天候の外観や感じの現実感を増加させることができる。
【００７３】
天候プロファイル
図６を参照しながら上記で説明したように、ユーザは、擬似天候を開始する際に基準とする、天候テーマとも呼ばれる事前に定義された天候プロファイルを選択することができる。天候プロファイルは、たとえば気温、気圧、雲の種類、基底、および高さ、降水の種類および速度などの基本的な天候特徴を使用して、興味深く意欲をそそられる天候条件のセットをユーザに提供する。天候プロファイルはコンピュータゲームに備えられているか、または、たとえば以下で説明する天候プロファイル作成ツールを使用して第三者の開発者を介して後で提供される場合がある。
【００７４】
天候プロファイルは、場所があいまいな地理的空間全体にわたる天候を格納し、その後、これを任意の選択された地理的空間に適用することが可能な、データ構造を含むことができる。すなわち天候プロファイルは、たとえばワシントン州レドモンドにあるＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎによるＦｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ（登録商標）２００４などのコンピュータゲームが、天候条件（たとえば気温、風、結氷など）を定義するためおよび天候の視覚効果（たとえば雲、降水、霧など）をレンダリングするために使用する、事前に定義されたかまたは所定の気象データの集合である。天候プロファイルデータを格納するデータ構造は、各観測がたとえば２５６平方キロメートル（１辺が１６キロメートルの正方形）などの事前に定義された領域に影響を与える、天候観測の正則グリッドを含むことが可能である。天候プロファイルは、単一の観測（すなわち単一の２５６ｋｍ２セル）から２次元配列内の多くのセルの配列まで、いずれでも含むことができる。天候プロファイル配列は正方形である必要はないが、所望であれば正方形とすることができる。例示的な一実施形態では、天候プロファイル配列は最大３２×３２セルとすることが可能であり、これによってユーザは２６５，５１２平方キロメートルの領域をカバーする豊富でダイナミックな天候体験を作り出すことができる。各天候プロファイル配列の最大サイズは、使用可能なコンピュータリソース（たとえばストレージ、プロセッサ速度など）によってのみ制限される。天候プロファイルは、上記で説明したような所与のテーマに従うことが可能であり、配列内の各セルはあるパターンに従うかまたはある種の天候に対応する。代わりに天候プロファイルは、配列内の各セルが他のセルと無関係である、および／またはランダムな天候観測を含む、天候を格納することができる。
【００７５】
図１２は、本発明の例に基づいて３，８４０平方キロメートルをカバーする横５セル、縦３セルの天候プロファイル配列１２０１を示す図である。ユーザは、たとえば以下の表２に列挙された属性を定義することによって、配列１２０１内の個々のセルそれぞれに固有の天候を定義することができる。天候プロファイル配列はいずれの方向に向けることも可能であるが、図１２に示されるように、この例ではすべての天候プロファイル配列は北が上となるように向けられている。コンピュータゲームが天候プロファイル配列をロードする場合、ユーザの初期の開始位置１２０３を中心とするかまたは何らかの他の所定の位置に基づいて、天候プロファイル配列をロードすることが可能であり、前述のように、ユーザ周囲のグリッド３０７（図３）内のグリッドセルの天候を上書きする。ロードされる天候プロファイルデータは、ユーザの開始高度を中心にしてバイアスをかけ、地表レベルの高度に基づいて天候をレンダリンクすることができる。これにより、プロファイルが３，０００フィート（約９１４ｍ）に雲を指定し、ユーザが５，０００フィート（約１，５２４ｍ）より高い高度を有するコロラド州デンバーの開始位置を指定した場合、コンピュータゲームは、海面レベルより３，０００フィート（約９１４ｍ）上で地表より下の高さではなく、地表レベルよりも３，０００フィート（約９１４ｍ）上に雲をレンダリングすることになる。
【００７６】
天候配列は、好ましくはユーザの開始位置で適用され、ユーザが動くにつれてユーザと共に移動することはない。すなわちユーザは定義された天候プロファイルを通って移動することができるが、好ましくはロードされた天候プロファイルデータはデータが最初にロードされたセル内にとどまる。たとえば、ユーザが「大規模な雷雨」プロファイルをシカゴにロードすると、コンピュータゲームがレンダリングし、ユーザはシカゴの開始位置周辺で雷雨を見ることになる。しかしながらユーザがフロリダへ飛行した場合、雷雨はシカゴにとどまり、ユーザには着いてこない。配列境界線の外側のデフォルトの天候を記述する各天候プロファイルに関連付けられた天候条件のグローバルまたはデフォルトのセットが存在する場合がある。これによってユーザは、たとえユーザが最初に定義されたプロファイル領域の外へ飛行した後でさえも、細部の細分性は低い（ｌｅｓｓ  ｇｒａｎｕｌａｒ  ｄｅｔａｉｌ）が、事前に定義された天候と対話することができる。シカゴ周辺の大規模な雷雨の例では、天候プロファイル配列内の１６ｋｍごとに雲および風の興味深い変化がある、非常に詳細な天候にすることができる。ユーザが２５６ｋｍ×２５６ｋｍのオリジナルの配列サイズの外へ飛行した場合、ユーザは天候プロファイルの範囲外へ飛行することになるため、天候条件のグローバルセットを使用することができる。グローバルな天候はプロファイルに従って曇った空を示すことが可能である、グローバルな天候はユーザが嵐を抜け出したことを示す晴れた空を示すことが可能である、あるいはグローバルな天候は所望に応じて任意の他のデフォルトの天候条件を示すことが可能である。
【００７７】
天候プロファイル配列１２０１は２次元で表されているが、各セル１２０５は複数層の情報を含むことができる。すなわちプロファイル配列セル１２０５は、１セットの地表条件（たとえば風、気温／露点、視程）および１つまたは複数セットの上空条件（たとえば異なる高度での風、雲、気温）を指定する情報を含むことができる。図１３は、９，２１６ｋｍ２の領域をカバーする、横６セル縦６セルの天候プロファイル配列１３０１の一例を示す図である。各セルは地表条件情報層１３０３を有する。一部のセルは第１の情報層１３０５を有し、一部のセルは第２の情報層１３０７を有する。
【００７８】
当業者は、図１３が例示的なものに過ぎないことを理解されたい。図１３で示唆される所定の高度とは対照的に、各セルの層は天候プロファイル配列が定義した任意の高さで発生させることが可能であり、各セルが同じ層を有する必要はない。さらに各セルは第２の層１３０７を有するために第１の層１３０５を有する必要はなく、その逆も同様である。層はある高さに限定する必要はなく、むしろ天候情報の種類に対応させることができる。すなわち例示的な一実施形態によれば、１つの地表条件層、ゼロまたはそれ以上の雲の層、ゼロまたはそれ以上の気温の層、ゼロまたはそれ以上の風の層、およびゼロまたはそれ以上の視程の層があるものとすることができる。たとえば第１の層は選択された高度にある高い巻雲を示し、第２の層は地表レベルから３，０００フィート（約９１４ｍ）上空の風を示し、第３の層は地表レベルから１０，０００〜１２，５００フィート（約３，０４８〜３，８１０ｍ）上空の気温（たとえば気温の逆転を示す）を示すことができる。層は、特定の高度（海面レベルより上または地表の高さより上のいずれか）での天候条件を示すか、またはある高度帯に天候条件を指定することができる。
【００７９】
天候プロファイル配列が１つのタイプの天候の層を省略する場合（たとえば視程の層がない場合）、その天候タイプに関するデフォルトの天候設定値（たとえば視程の層が含まれていない場合は無限の視程など）を使用することができる。これは、３次元の天候を具体化するシミュレートされた地理的環境において、コンピュータゲームによって層がまとめてレンダリングされる場合である。
【００８０】
各セルに格納された情報は、天候が適用されるコンピュータゲームに依存して変更することができる。たとえばＦｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ（登録商標）２００４で使用される場合、各セルに格納された情報は、図８〜図１１に示された高水準天候ダイアログに表される条件、または表２に示された属性に対応する天候情報を含むことができる。他のコンピュータゲームと共に使用される場合、適用可能なように異なる天候条件を各セルに格納することができる。
【００８１】
各天候プロファイルは、天候プロファイルの使用が意図されるコンピュータゲームとは無関係の、１つまたは複数のデータファイルに格納することができる。そのため、所望であれば、天候プロファイルをコンピュータゲームとは無関係に作成および配布することができる。例示的な一実施形態では、各天候プロファイルが以下のように３つの別々のファイルを備えることができる。
【００８２】
１）  拡張子．ＷＴと共に格納されるプロファイル記述テキストファイルを使用して、図６に示されたＦｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ（登録商標）２００４の天候ダイアログ６０１に表示される、プロファイルのタイトル６０５および説明６１５を格納することができる。
【００８３】
２）  拡張子．ＷＴＢと共に格納されるプロファイルデータファイルは、この例ではたとえばＦｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ（登録商標）２００４のコンピュータゲームによってロード可能なフォーマットで天候プロファイル配列を格納するバイナリファイルである。
【００８４】
３）  プロファイルイメージファイルは、ユーザが関連するプロファイルをプロファイルリストから選択すると天候ダイアログ６０１に表示されるグラフィック６１７を格納することができる。このイメージは任意の従来のフォーマット、たとえば２８０×３３２ピクセル、２４ビットカラービットマップ（．ＢＭＰ）で格納することができる。イメージファイルはオプションとすることができる。イメージが提供されない場合、デフォルトのイメージを使用することができる。
【００８５】
好ましくは３つのファイルは、それぞれ拡張子の異なる同じ名前を有する。これは、コンピュータゲームが３つのファイルをまとめて関連付ける方法の１つである。たとえば所定の拡張子（．ＷＴＨ）を備えたマスタプロファイルファイルを有し、これがその天候プロファイルに必要なファイルをリストするという、当分野で知られた代替の関連付け方法を使用することもできる。一部の実施形態では、すべてのプロファイルファイルを所定のフォルダまたはディレクトリ、たとえばコンピュータゲームのルートインストールディレクトリからの￥ｗｅａｔｈｅｒ￥ｐｒｏｆｉｌｅｓサブディレクトリに格納することができる。
【００８６】
天候プロファイルをユーザの開始位置周辺にロードすることに続いて、コンピュータゲームは普通であれば実行するように天候をシミュレートすることができる。すなわち天候プロファイルは初期の天候条件のみを定義し、その後、天候は前述のように動的にモデル化される。コンピュータゲームのシミュレーションが実行される地理的領域のサイズによっては、天候プロファイル配列の方が地理的にシミュレートされる領域よりも小さい場合がある。こうしたシナリオでは、様々なオプションを使用して、ユーザが天候プロファイル配列の領域を越えて移動する場合に天候をシミュレートすることができる。第１の実施形態では、天候プロファイル配列はシミュレートされた地理的領域を横切ってユーザの開始位置を中心にタイリング（ｔｉｌｅ）することができる。各「タイル」は重複する天候プロファイル配列を備えるか、またはそのミラーイメージ（南北ミラーイメージ、東西ミラーイメージ、または南北および東西のミラーイメージ）を備えることができる。他の実施形態では、天候プロファイル配列を越えた天候は、前述のように天候プロファイル配列外のデフォルトの天候条件に逆戻りすることができる。他の実施形態では、天候プロファイル配列を越えた天候は実世界天候に逆戻りすることができる。
【００８７】
図１４は、任意の空間で定義された天候プロファイルをシミュレーションコンピュータゲームに適用する方法を示す図である。ステップ１４０１で、コンピュータゲームは使用可能な天候プロファイルのリストを表示する。使用可能な天候プロファイルのリストは、コンピュータゲームに含まれる天候プロファイル、ならびに前述のようにコンピュータゲームによって識別される無関係に作成および／または配布された天候プロファイルを含むことができる。ステップ１４０３でユーザは天候プロファイルを予備的に選択し、これに応答してステップ１４０５で、コンピュータゲームが関連するイメージおよび説明を表示する。ユーザはイメージおよび説明に基づいて天候プロファイルを確認し、その後ステップ１４０７で、コンピュータゲームのシミュレーション部分を起動する。次にステップ１４０９でコンピュータゲームは、シミュレーション内でユーザの開始位置を中心として任意に定義された天候プロファイル配列から天候をレンダリングする。
【００８８】
シミュレーションコンピュータゲームは前述のように天候ファイルを使用して、シミュレートされた環境内の任意の選択したスペースに所定の天候を提供する。たとえばビル嵐（ｂｕｉｌｄｉｎｇ  ｓｔｏｒｍ）、寒冷前線、晴天、霧、どんより曇った雨、吹雪、雷雨、およびその他を描写するプロファイルを、それらが適用される地理的領域とは無関係に作成することが可能であり、これによってユーザは、コンピュータゲームシミュレーション用に詳細な天候シナリオを選択することができる。天候プロファイルは、それ以外の方法で実世界天候の更新を受け取るためのインターネット接続の必要なしに、ユーザに豊富でダイナミックな天候を体験させることもできる。天候プロファイルは、普通であれば発生することのない場所での天候条件（たとえばサハラ砂漠での雪など）をユーザにシミュレートさせることもできる。
【００８９】
天候プロファイルの他の態様に従って図１５を参照すると、時間を示す他の次元を天候プロファイル配列１５０１に追加することができる。タイミングを合わせた（ｔｉｍｅｄ）天候プロファイル配列１５０１は、時間の相対的な位置で天候の「スナップショット」を提供する。天候プロファイル配列１５０１ａは、ユーザがシミュレーションを開始したときの初期の天候条件を描写することができる。天候プロファイル配列１５０１ｂは、たとえば初期の天候条件の３０分後などの、初期の天候条件に続く所定の時間での天候条件を描写することができる。天候プロファイル配列１５０１ｃは、たとえば天候プロファイル配列１５０１ｂの２０分後などの、天候プロファイル配列１５０１ｂに続く所定の時間での天候条件を描写することができる。天候プロファイル配列１５０１の時間次元は、規則正しい時間間隔で進行する場合または進行しない場合があり、時間間隔は各天候プロファイル配列「スナップショット」に関連付けられた変数によってオプションで指定することができる。マスタ天候プロファイル配列１５０１は、これに関連付けられたデフォルトの時刻、たとえば午前８時を有し、シミュレートされた環境内の特定の場所に対してプロファイルがロードされるときに、ユーザがそれ以外の方法で基本設定を指定しない場合、日光などが基準とすることのできるデフォルトの時間設定を提供することができる。
【００９０】
天候プロファイル設計者は、前述の動的な天候シミュレーションに依拠する代わりに、タイミングを合わせた天候プロファイル配列１５０１を使用して、天候が経時的にどのように変化するかを具体的にモデル化することができる。たとえば天候は、連続する天候プロファイル配列間の間隔時間にわたって、たとえば天候プロファイル配列１５０１ａに定義された天候から天候プロファイル配列１５０１ｂに定義された天候へと３０分にわたって、さらに引き続き、天候プロファイル配列１５０１ｂに定義された天候から天候プロファイル配列１５０１ｃに定義された天候へと次の２０分にわたって、円滑に変形していくことができる。
【００９１】
天候プロファイル設計者は、タイミングを合わせた天候プロファイル配列を使用して、移動する気象前線および知られた天候事象をより正確にモデリングすることができる。すなわち天候プロファイル設計者は、動的な天候シミュレーションに依拠するのではなく、天候が経時的にどのように変化するかを正確に指定することができる。たとえば、空港の気象現象によって予期せぬ強い横風が発生し、多くのフライトが直前になって離陸を中止した場合に、ある人物が実際に飛行機に乗って２００３年１１月２９日にロナルドレーガンワシントンナショナル空港（ＤＣＡ）へ飛んだと想定する。天候プロファイル設計者は、その後、問題の時間中のわかっているタイミングにＤＣＡ気象観測所が報告した実際の天候条件に基づいて、タイミングを合わせた天候プロファイルを作成することができる。実際のフライトを行った人物は、その後タイミングを合わせた天候プロファイルをダウンロードし、コンピュータゲーム（たとえば、Ｆｌｉｇｈｔ  Ｓｉｍｕｌａｔｏｒ（登録商標）２００４）のタイミングを合わせた天候プロファイルを選択し、開始空港としてＤＣＡを選択する。次にコンピュータゲームはＤＣＡ周辺の天候をレンダリングし、その人物は自分が実際に飛んだ天候条件の中での飛行をシミュレートすることができる。ハリケーン、竜巻、あるいは他の深刻なまたは興味深い天候事象の間の指定された時間割り振りに基づくなどして、他の天候プロファイル履歴を作成することができる。
【００９２】
天候プロファイル作成ツール
各天候プロファイル配列は、天候プロファイルの複雑さおよび天候プロファイルの作成に費やされた時間に応じて量が変化する天候の細部を提供することができる。たとえば天候プロファイル設計者は、たとえば地表条件の上に単一の雲の層を提供し、それらと同じ地表条件および雲の層を天候プロファイル配列内の各セル（たとえば配列内の４×４セル）に対して複製することによって、単純な天候プロファイルを数分で設計することができる。代わりに天候設計者は、地表条件、複数の雲の層、複数の高層風の層、複数の視程の層（たとえば夏の高度の低いかすみをシミュレートする）、および複数の気温の層を含み、そのそれぞれが比較的大規模な天候プロファイル配列（たとえば配列内の３２×３２セル）の各セル内で異なるような、より複雑な天候プロファイルを設計することができる。
【００９３】
さらに容易に豊富な天候プロファイルを作成するために、天候プロファイル設計者は本明細書で説明するような天候プロファイル作成ツールを使用することができる。図１に戻って参照すると、この作成ツールをアプリケーションプログラム１３５、１４５、プログラムモジュール１３６、１４６、および／またはプログラムデータ１３７、１４７としてシステムメモリ１３０または不揮発性メモリ１４１、１５２、１５６内に格納することができる。代わりにソフトウェアを、リモートアプリケーションプログラム１８２を備えたリモートコンピュータ１８０などにリモートに格納することもできる。天候プロファイル作成ツールは、コンピュータゲームアプリケーション全体の一部、別のソフトウェアアプリケーション、またはＡＳＰモデル上などにあるネットワークアクセス可能アプリケーションとすることができる。
【００９４】
図１６を参照すると、天候プロファイル設計者は天候プロファイル作成ツール１６０１を使用して、複数の層の大気現象（たとえば雲、風、など）を定義し、天候プロファイル配列を表す２次元グリッド１６０５ａ上にそれらを「ペイント」または「描画」することによって、天候条件およびプロパティを設定することができる。好ましくはツールのユーザインターフェース１６０３は、ユーザが定義している天候条件のタイプに基づいて動的に変化し、これによってユーザは条件特有のデータ（たとえば風の層に対する風速）について値を選択することができる。プロファイル作成ツールは、グリッド表示上の色の変化によってデータを視覚的に表すことができる。一実施形態では、天候プロファイル作成ツールは、選択された各入力に関する値の有効範囲を、赤、緑、および青のカラーチャネル内の２５６までの個別の値にマッピングすることによって色を変え、結果として生じた色を対応するグリッドセル内に描画する。これについて、以下でより詳細に説明する。
【００９５】
天候プロファイル作成ツール１６０１は様々な特徴および機能を提供する。ユーザインターフェースウィンドウ１６０３は、それぞれが追加機能を提供する３つのサブウィンドウを含む。プロファイルウィンドウ１６０５は現在編集中の天候プロファイルを示し、たとえば図１６では「ｇｒａｙｒａｉｎ（どんより曇った雨）」である。プロファイルウィンドウ１６０５の第１のサブポーション１６０５ａは、プロファイルをグラフィカルフォーマットで示し、ここでは各セルが、前述のようにたとえばプロファイル配列１２０１（図１２）などのプロファイル配列の単一のセルを表す。セルにはそのセルの属性が修正された場合に陰影が付けられ、それに応じてパレットウィンドウ１６０７が設定される（以下でさらに説明する）。第２のサブポーション１６０５ｂは、天候プロファイル内に存在する層を階層状に示す。サブポーション１６０５ｂに示されるように、地表層、雲層、気温層、風層、および視程層がそれぞれ１つまたは複数存在する。図に示されるように、層はそれぞれの層タイプでグループ化することができる。第３のサブポーション１６０５ｃは、現在天候プロファイル内にある層の完全なリストを提供する。ユーザはグリッドのサイズを変更し、ファイル（Ｆｉｌｅ）メニューを介してアクセス可能な、図２４に示されるようなプロファイルプロパティウィンドウ２４０１を介して他のマスタ天候プロファイルにプロパティを提供することができる。他のオプションは、図２５に示され、ツール（Ｔｏｏｌｓ）メニューを介してアクセス可能な、オプションウィンドウ２５０１を介して使用することができる。たとえば、「基底高度上書き（ｏｖｅｒｒｉｄｅ  ｂａｓｅ  ａｌｔｉｔｕｄｅ）」チェックボックスを選択することによって、降水の基底値は降水が地表まで確実に落下するように許可された最低の値、たとえば−４５０メートルに設定される。許可された最低の値は、海面レベルより高度が低い場所、たとえばカリフォルニア州のデスバレーなどを反映する場合、負の値とすることができる。
【００９６】
パレットウィンドウ１６０７は、選択された層に基づいて編集できる使用可能な天候条件を提供する。たとえば図１６では、現在ウィンドウ１６０５ｂで雲の層が選択されているため、パレットウィンドウ１６０７には調整可能な雲の属性が含まれる。図１７は、ウィンドウ１６０５ｂまたはウィンドウ１６０５ｃで地表層が選択された場合の、地表属性を有するパレットウィンドウを示す図である。地表層は、図に示されるような指定された層の高さまで上方に延在することができる。図１８は、気温層が選択された場合の気温属性を有するパレットウィンドウを示す図である。図１９は、視程層が選択された場合の視程属性を有するパレットウィンドウを示す図である。図２０は、風層が選択された場合の風属性を有するパレットウィンドウを示す図である。属性および有効な値の完全なリストは以下の表２に列挙される。当業者であれば、表２のリストが例示的なものに過ぎず、使用される実際の値はそれらが使用されているコンピュータゲームの機能に依存することができることを理解されよう。
【００９７】
【表２】
2005266791.tif 000004
【００９８】
【表２】
2005266791.tif 000005
【００９９】
【表３】
2005266791.tif 000006
【０１００】
セルの属性を変更する場合、ユーザはパレットウィンドウ１６０７に所望の属性値を設定し、その後ウィンドウ１６０５ａでセルを選択する。各パレットウィンドウ１６０７（理解しやすいように図１６を参照しながら説明した）は、調整可能な各属性に関する情報を提供する。調整可能な各属性について、提供される情報には属性名１６０９、属性値１６１１、属性スライダ１６１３、チェックボックス１６１５、およびカラー値１６１７が含まれる。属性名１６０９には属性が記述されるので、ユーザにはどの属性が調整中であるかがわかる。
【０１０１】
属性値１６１１は、ユーザがグリッドセルを選択するとセル内にポイントされることになる属性値をユーザに指示する。属性値１６１１は、ユーザがドロップダウンリスト内の許容可能な値から選択できることを示す属性値に関連付けられた下矢印をクリックすることで選択できる。代わりに、値が数値変数の場合、ユーザは単に所望の属性用の属性値フィールド１６１１に所望の値を入力するだけでよい。
【０１０２】
属性スライダ１６１３は、属性スライダ１６１３が、選択された属性の使用可能な属性値の範囲に対して現在選択された属性値を表すという点において、属性値１６１１に対応する。たとえば、属性「雲量（Ｃｏｖｅｒａｇａｅ）」に関するドロップダウンリストは、０／８（晴れ）、１／８（わずかな雲）から８／８（完全な曇り）まで、９つの異なる雲量選択肢を提供することができる。第１のオプション、すなわち０／８（晴れ）が選択された場合、スライダ１６１３はその属性に関してスライダバーの一番左に現われることになる。最後のオプション、すなわち８／８（曇り）が選択された場合、スライダ１６１３はその属性に関してスライダバーの一番右に現われることになる。真ん中のオプション、すなわち４／８（雲が点在）が選択された場合、スライダ１６１３は選択された属性に対応するスライダバーに沿って比例した位置に現われることになる。スライダ１６１３現在の属性値を表すのに加えて、属性値１６１１を調整する際にも使用することができる。スライダをそれに対応して動かすと、属性値１６１１も変化する。属性スライダは、ユーザが属性値を調整するための代替方法を提供し、現在の属性値に関する視覚的なフィードバックもユーザに提供する。
【０１０３】
チェックボックス１６１５を使用して、プロファイル配列セルがユーザによって選択された場合に、対応する属性がプロファイル配列セル内に「描画」されることになるかどうかを示すことができる。すなわち図１６に示されるように、各チェックボックス１６１５は使用可能な各雲属性について選択される。したがって、ユーザがプロファイルウィンドウ１６０５ａ内の１つまたは複数のセルを選択した場合、チェックボックス１６１５が選択された各雲属性は選択されたセル内で修正されることになる。ユーザは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｐａｉｎｔユーティリティまたは他の知られた描画プログラムを使用して描画する方法と同様に、セル上でマウスボタンをクリックすること、またはマウスボタンをクリックしたまま多くのセルにわたってマウスポインタを移動させることによって、チェックボックスが選択された属性を「描画」することができる。
【０１０４】
本発明の属性によれば、選択された属性をセル内に描画すると、天候プロファイル設計ツールは、セル内にペイントされた属性の数に応じてそのセルに陰影を付けることができる。すなわち天候プロファイル設計ツールは、グレーの影でセルに陰影を付けることが可能であり、グレーの影の暗さは実際にセルにペイントされた使用可能な属性の数の割合に依存する。たとえば、９つの使用可能な属性（雲属性の数）のうちの１つがセルにペイントされた場合、そのセルには非常に薄いグレーの陰影を付けることができる。９つの使用可能な属性のうちの４つがセルにペイントされた場合、そのセルには中程度のグレーの陰影を付けることができる。９つの使用可能な属性のうちの９つがセルにペイントされた場合、そのセルには暗いグレー、すなわち黒の陰影を付けることができる。
【０１０５】
本発明の他の態様によれば、カラー値１６１７は、プロファイルウィンドウ１６０５ａ内で天候プロファイルセルに陰影を付けるべきであるカラーチャネルを示すことが可能であり、カラーチャネルの濃度はそのセル内の属性値に基づくものである。本発明の一実施形態では、これは属性値の有効範囲を選択されたカラーチャネル内の２５６までの個別の値（または他の最大カラーチャネル値が可能であれば何でも）にマッピングすることによって実施することができる。たとえば雲量属性は、雲量について、０／８、１／８、２／８、３／８、４／８、５／８、６／８、７／８、および８／８の９つの有効値をサポートすることができる。２５６を有効なオプション数よりも１つ少ない数で割り、その結果にオプションの基数ゼロ数（すなわち、ゼロから始まる選択された選択肢の整数値）を掛けることによって、表３に示されるように雲量値をカラーチャネル濃度にマッピングすることができる。
【０１０６】
【表４】
2005266791.tif 000007
【０１０７】
同様に、雲の種類（Ｃｌｏｕｄ  Ｔｙｐｅ）属性は、雲量に関する４つの有効値、巻雲、  層雲、積雲、および積乱雲をサポートすることができる。２５６を有効なオプション数よりも１つ少ない数で割り、この結果にオプションの基数ゼロ数を掛けることによって、表４に示されるように雲の種類の値をカラーチャネル濃度にマッピングすることができる。
【０１０８】
【表５】
2005266791.tif 000008
【０１０９】
ユーザはコンピュータが選択した属性をカラーチャネルにマッピングすることを決定するか、または属性に対応させるカラーチャネルを選択することによって他の属性をカラーチャネルにマッピングすることができる。属性は、属性が制限された離散値を有するかどうか、あるいは０から何十万フィートまでの範囲の高度とすることができるかどうかに関わらず、カラーチャネルにマッピング可能である。カラーチャネルは３つしかないため、パレットウィンドウ内で最大３つの属性を所与の時間にカラーチャネルに関連付けることができる。ユーザが図２３に示されるようにカラーチャネルドロップダウンリスト１６１７から色を選択し、選択された色が現在他の属性に関連付けられている場合、天候プロファイル作成ツールはそのカラーチャネルを新しい属性に再割り当てすることができる。さらに、カラーチャネルが再割り当てされた場合、それに従ってプロファイルウィンドウ１６０５ａを更新することができる。すなわち、プロファイルウィンドウ１６０５ａ内の各セルを、変更されたカラーチャネルに対して選択された新しい属性に対応して再度陰影付けすることができる。この方法でユーザは、どのセルが対応するカラーチャネルで陰影付けされているかに基づいて、新しく選択された属性についてどのセルの値（たとえばデフォルト値以外）が修正されたかを一目で理解することができる。
【０１１０】
本発明の一態様によれば、属性値の基数ゼロ値を、天候条件が厳しくなるほど結果として生じるカラーチャネル値が高くなるように決定することができる。たとえば、上記表２で定義された雲属性の雲量、降水、速度、結氷、および乱流に関する値リストは、カラーチャネルがそれら属性のうちのいずれかに関連付けられている場合、属性が厳しくなるほど（すなわち、さらに曇る、より激しい降水、より速い結氷、より強い乱流）、結果として生じるカラーチャネル値が高くなるように取り決められる。この取決めの結果、通常、天候条件が良い場合よりも天候条件が悪い場合にグリッド１６０５ａに表示される色が暗くなり、グリッド内の各セルに対して現在定義されている天候の厳しさに関する鋭い視覚的フィードバックが天候プロファイル設計者に提供される。
【０１１１】
プロパティウィンドウ１６０９は、プロファイルウィンドウ１６０５ａ内の選択されたセルに対する現在の属性値に関する詳細を提供する。セルが選択されていない場合、プロパティは表示されない。図２１を参照すると、セル２１０１が選択された場合、プロファイルウィンドウ１６０５ｃで視程層が選択されているため、プロパティウィンドウ１６０９はセル２１０１に関連付けられた視程属性値を表示する。他のタイプの層が選択されている場合、プロパティウィンドウ１６０９は選択されたタイプの層に関するセル２１０１の属性を表示することになる。図２１は、地表レベルと地表レベルから４，０００メートル上空との間で１０マイル（約１６キロメートル）の視程を有する視程層を実演している。視程（Ｖｉｓｉｂｉｌｉｔｙ）属性は現在赤のカラーチャネルに関連付けられており、赤のカラー濃度１８３を示し（２５６÷離散視程値選択肢（１５）よりも１少ない数  ＊  選択された選択肢の基数ゼロ値（１０））、基底（Ｂａｓｅ）属性は現在緑のカラーチャネルに関連付けられており、緑のカラー濃度０を示し（２５６÷離散選択肢よりも１少ない数  ＊  選択された選択肢の基数ゼロ値（０））、高さ（Ｈｅｉｇｈｔ）属性は現在青のカラーチャネルに関連付けられており、青のカラー濃度４を示す（２５６÷離散選択肢（２４００００）よりも１少ない数  ＊  選択された選択肢の基数ゼロ値（４０００））。
【０１１２】
図２２を参照しながら第２の視程層が実演される。プロパティウィンドウ１６０９は、第２の視程層２２０１に関する同じセル２１０１の属性値を示す。第２の視程層２２０１は、４，０００メートルを超えて１８，０００メートルまでの無限の視程が存在することを示す。赤のカラーチャネル値は２５６である（すなわち無限の視程は最高の離散視程値である）ため、セルは図２１よりも図２２の方が明るい赤である。
【０１１３】
再度図１６を参照すると、天候プロファイル作成ツール１６０１のユーザが最もよく使用する機能にツールバー１６１９を使用してショートカットボタンを提供することができる。たとえばツールバー１６１９は、新規天候プロファイル（Ｎｅｗ  Ｗｅａｔｈｅｒ  Ｐｒｏｆｉｌｅ）、天候プロファイルのオープン（Ｏｐｅｎ  Ｗｅａｔｈｅｒ  Ｐｒｏｆｉｌｅ）、天候プロファイルの保存（Ｓａｖｅ  Ｗｅａｔｈｅｒ  Ｐｒｏｆｉｌｅ）、元に戻す（Ｕｎｄｏ）、やり直し（Ｒｅｄｏ）、切り取り（Ｃｕｔ）、コピー（Ｃｏｐｙ）、貼り付け（Ｐａｓｔｅ）、削除（Ｄｅｌｅｔｅ）、新規地表層（Ｎｅｗ  Ｓｕｒｆａｃｅ  Ｌａｙｅｒ）、新規雲層（Ｎｅｗ  Ｃｌｏｕｄ  Ｌａｙｅｒ）、新規気温層（Ｎｅｗ  Ｔｅｍｐｅｒａｔｕｒｅ  Ｌａｙｅｒ）、新規風層（Ｎｅｗ  Ｗｉｎｄ  Ｌａｙｅｒ）、新規視程層（Ｎｅｗ  Ｖｉｓｉｂｉｌｉｔｙ  Ｌａｙｅｒ）、トグルパレットウィンドウ（Ｔｏｇｇｌｅ  Ｐａｌｅｔｔｅ  Ｗｉｎｄｏｗ）、プロパティウィンドウのトグル（Ｔｏｇｇｌｅ  Ｐｒｏｐｅｒｔｉｅｓ  Ｗｉｎｄｏｗ）、グリッドのトグル（Ｔｏｇｇｌｅ  Ｇｒｉｄ）、ブラシ（Ｂｒｕｓｈ）、フィル（Ｆｉｌｌ）、消去（Ｅｒａｓｅ）、属性のピックアップ（Ｐｉｃｋｕｐ  Ａｔｔｒｉｂｕｔｅｓ）、ズーム（Ｚｏｏｍ）、およびブラシサイズ（Ｂｒｕｓｈ  Ｓｉｚｅ）用のボタンを含むことができる。メニューバー１６２１上のメニューを介して、たとえばファイル（Ｆｉｌｅ）メニュー、編集（Ｅｄｉｔ）メニュー、挿入（Ｉｎｓｅｒｔ）メニュー、ツール（Ｔｏｏｌ）メニュー、ウィンドウ（Ｗｉｎｄｏｗ）メニュー、および／またはヘルプ（Ｈｅｌｐ）メニュー上で、同じかまたは異なるオプションにアクセスすることができる。
【０１１４】
ユーザは天候プロファイルの作成を完了した場合にエクスポート（Ｅｘｐｏｒｔ）オプションを選択することが可能であり、このオプションは、天候プロファイルが作成された対象であるコンピュータゲームで使用するために、天候プロファイルをバイナリデータファイル、たとえば前述の．ＷＴＢファイルにエクスポートする。エクスポートされたデータファイルが作成されるまで、天候プロファイル作成ツールが理解可能な他のファイルフォーマットで天候プロファイルデータを格納することができる。当業者であれば、格納されるデータのフォーマットはデータが提供する機能に対して補助的なものであることを理解されよう。
【０１１５】
ユーザまたは天候プロファイル設計者は、天候プロファイル作成ツールを使用して即時かつ効率的にセル属性を修正し、同じ天候プロファイルを手動で作成するのに必要となる時間よりもかなり少ない時間で、豊富でダイナミックな天候プロファイルを設計することができる。天候プロファイル作成ツールの概念、すなわち属性を仮想空間のグリッド表示に描画することを、天候プロファイルに関して説明したが、これに限定されるものではない。当業者であれば、本発明の範囲内にある同様のツールを使用して、任意の２次元空間の属性を任意の目的で修正できることを理解されよう。たとえばプロファイル設計者は、同様の概念を造園、地勢、都市、またはそれぞれが複数の属性を有する他の機能の「ペイント」に使用することができる。さらに当業者であれば、一度に２つまたは３つの次元を表示および編集することによって、前述の原理が２次元を超える次元を有する多次元空間にも適用可能であることを理解されよう。
【０１１６】
以上、本発明について、現時点で本発明の実行に好ましいモードを含む特定の例に関して説明してきたが、当業者であれば、前述のシステムおよび技法には多数の変形および置換があることを理解されよう。したがって本発明の精神および範囲は、添付の特許請求の範囲に記載のとおり広義に解釈されるものとする。
【図面の簡単な説明】
【０１１７】
【図１】本発明の例示的実施形態の１つまたは複数の態様に好適な一般的な動作環境を示す図である。
【図２】本発明の例示的実施形態に従って動的に天候をシミュレートするための一般的な方法を示す図である。
【図３】本発明の例示的実施形態に従って地理的領域にわたって個別に天候をシミュレートするために使用可能な地理的セルグリッドを示す図である。
【図４】本発明の例示的実施形態に従った雲の形成情報を定義するための方法を示す図である。
【図５】本発明の例示的実施形態に従った動的な天候設定メニューを示す図である。
【図６】本発明の例示的実施形態に従った天候初期設定メニューを示す図である。
【図７】本発明の例示的実施形態に従ってカスタマイズされた天候メニューを示す図である。
【図８】本発明の例示的実施形態に従った高水準天候メニューおよび雲のサブメニューを示す図である。
【図９】本発明の例示的実施形態に従った高水準天候メニューおよび風のサブメニューを示す図である。
【図１０】本発明の例示的実施形態に従った高水準天候メニューおよび気温／気圧のサブメニューを示す図である。
【図１１】本発明の例示的実施形態に従った高水準天候メニューおよび視程のサブメニューを示す図である。
【図１２】本発明の例示的態様に従った天候プロファイル配列を示す図である。
【図１３】本発明の例示的態様に従った天候プロファイル配列の層を示す図である。
【図１４】本発明の例示的態様に従ったユーザへの天候プロファイルの提供を示す流れ図である。
【図１５】本発明の例示的態様に従ったタイミングを合わせた天候プロファイル配列を示す図である。
【図１６】本発明の例示的態様に従った天候プロファイル作成ツールのユーザインターフェースを示す図である。
【図１７】本発明の例示的態様に従った地表属性ウィンドウを示す図である。
【図１８】本発明の例示的態様に従った気温属性ウィンドウを示す図である。
【図１９】本発明の例示的態様に従った視程属性ウィンドウを示す図である。
【図２０】本発明の例示的態様に従った風属性ウィンドウを示す図である。
【図２１】本発明の例示的態様に従って第１の視程層が選択された天候プロファイル作成ツールを示す図である。
【図２２】本発明の例示的態様に従って第２の視程層が選択された天候プロファイル作成ツールを示す図である。
【図２３】本発明の例示的態様に従ったカラーチャネルドロップダウンリストを備える雲属性ウィンドウを示す図である。
【図２４】本発明の例示的態様に従った天候プロファイルプロパティウィンドウを示す図である。
【図２５】本発明の例示的態様に従ったオプションウィンドウを示す図である。
【符号の説明】
【０１１８】
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  取り外し不能不揮発性メモリインターフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取り外し可能不揮発性メモリインターフェース
１６０  ユーザ入力インターフェース
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８２  リモートアプリケーションプログラム
１８３  ビデオアダプタ
１８４  モニタ
１８５  デジタイザ
１８７  出力周辺インターフェース
１８８  プリンタ
１８９  スピーカ
【図１】
2005266791.tif 000009
【図２】
2005266791.tif 000010
【図３】
2005266791.tif 000011
【図４】
2005266791.tif 000012
【図５】
2005266791.tif 000013
【図６】
2005266791.tif 000014
【図７】
2005266791.tif 000015
【図８】
2005266791.tif 000016
【図９】
2005266791.tif 000017
【図１０】
2005266791.tif 000018
【図１１】
2005266791.tif 000019
【図１２】
2005266791.tif 000020
【図１３】
2005266791.tif 000021
【図１４】
2005266791.tif 000022
【図１５】
2005266791.tif 000023
【図１６】
2005266791.tif 000024
【図１７】
2005266791.tif 000025
【図１８】
2005266791.tif 000026
【図１９】
2005266791.tif 000027
【図２０】
2005266791.tif 000028
【図２１】
2005266791.tif 000029
【図２２】
2005266791.tif 000030
【図２３】
2005266791.tif 000031
【図２４】
2005266791.tif 000032
【図２５】
2005266791.tif 000033
【外国語明細書】
2005266791000001.pdf