(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-28
(45)【発行日】2022-03-08
(54)【発明の名称】機能強化動作を行うことの出来るプレイヤキャラクタの制御
(51)【国際特許分類】
A63F 13/573 20140101AFI20220301BHJP
A63F 13/5372 20140101ALI20220301BHJP
【FI】
A63F13/573
A63F13/5372
(21)【出願番号】P 2019139417
(22)【出願日】2019-07-30
【審査請求日】2019-08-29
(32)【優先日】2019-05-28
(33)【優先権主張国・地域又は機関】CA
【前置審査】
(73)【特許権者】
【識別番号】517084612
【氏名又は名称】スクウェア エニックス、リミテッド
【氏名又は名称原語表記】SQUARE ENIX,LTD.,
(74)【代理人】
【識別番号】100083138
【氏名又は名称】相田 伸二
(74)【代理人】
【識別番号】100189625
【氏名又は名称】鄭 元基
(74)【代理人】
【識別番号】100196139
【氏名又は名称】相田 京子
(72)【発明者】
【氏名】ラングナー フェラズ ギマラエーズ
(72)【発明者】
【氏名】ロドリーゴ バロス リマ
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2018-110659(JP,A)
【文献】特開2017-035214(JP,A)
【文献】特開2000-153062(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
ビデオゲーム装置であって、該ビデオゲーム装置は、
少なくとも一つのプロセッサ、
該少なくとも一つのプロセッサに運転可能に接続され、コンピュータ可読プログラム指示が格納された一時的ではない記憶媒体、
該少なくとも一つのプロセッサは、前記プログラム指示を実行することが出来、前記少なくとも一つのプロセッサによる前記プログラム指示を実行することで、以下の方法を実行する
ことが出来、
前記方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-プレイヤキャラクタの機能強化動作の要求を受け取る、
-一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだす、
-
前記見いだされた着地点に関連する到着点を選択し、該到着点までの軌跡を決定する、及び、
-前記プレイヤキャラクタに機能強化動作を発揮させて、前記軌跡に少なくとも一部を沿わせて移動させる。
【請求項2】
請求項1記載のビデオゲーム装置であって、前記着地点を見いだすステップは、前記機能強化動作の要求を受け取った後に実行される。
【請求項3】
請求項1記載のビデオゲーム装置であって、前記着地点を見いだすステップは、前記機能強化動作の要求を受け取る前に実行される。
【請求項4】
請求項1記載のビデオゲーム装置であって、一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだすステップは、複数の着地点をテストして、プレイヤキャラクタにとって有効な一つ以上の着地点を見いだすことを含み、前記見いだされる着地点は、該一つ以上の着地点から決定されることを特徴とする。
【請求項5】
請求項4記載のビデオゲーム装置であって、前記バーチャル環境は、仮想カメラを含み、前記複数の着地点のテストは、特定の着地点が、前記仮想カメラの視野内にあった場合、有効な着地点と決定することを特徴とする。
【請求項6】
請求項4記載のビデオゲーム装置であって、前記複数の着地点のテストは、特定の着地点が、前記プレイヤキャラクタが該特定の着地点に向いている場合に、有効な着地点と決定することを特徴とする。
【請求項7】
請求項4記載のビデオゲーム装置であって、前記複数の着地点のテストは、特定の着地点が、前記プレイヤキャラクタが該特定の着地点から所定の閾値距離内にいる場合に、有効な着地点と決定することを特徴とする。
【請求項8】
請求項4記載のビデオゲーム装置であって、前記複数の着地点のテストは、プレイヤキャラクタの高度と特定の着地点の高度が、互いに閾値距離内にある場合に、該特定の着地点を有効な着地点と決定することを特徴とする。
【請求項9】
請求項4記載のビデオゲーム装置であって、前記複数の着地点のテストは、特定の着地点がプレイヤキャラクタの位置から到達可能であると考えられるか否かを決定し、該特定の着地点が到達可能であると考えられた場合には、該特定の着地点を有効な着地点と結論することを特徴とする。
【請求項10】
請求項9記載のビデオゲーム装置であって、前記特定の着地点は、前記プレイヤキャラクタと該特定の着地点の相対的な高さによって到達可能であるか否かを決定することを特徴とする。
【請求項11】
請求項10記載のビデオゲーム装置であって、前記特定の着地点は、着地容積及び掴める突端のうちの一つであり、前記着地容積は、より高い又は低い高度からプレイヤキャラクタが到達可能とされ、前記掴める突端は、より低い高度からのみプレイヤキャラクタにより到達可能であるとされていることを特徴とする。
【請求項12】
請求項4記載のビデオゲーム装置であって、前記有効な一つ以上の着地点は、複数の有効な着地点であり、前記方法は、それぞれの有効な着地点についてスコアを与え、最大のスコアを取った有効な着地点の一つを、前記見いだされる着地点として選択することを特徴とする。
【請求項13】
請求項12記載のビデオゲーム装置であって、着地点に対する前記スコアは、プレイヤキャラクタと前記着地点上の点間の距離に基づくことを特徴とする。
【請求項14】
請求項12記載のビデオゲーム装置であって、着地点に対する前記スコアは、前記プレイヤキャラクタから前記着地点への直線軌跡と該プレイヤキャラクタの面法線間の角度に基づくことを特徴とする。
【請求項15】
請求項1記載のビデオゲーム装置であって、前記軌跡の決定は、前記機能強化動作の要求を受け取った後に実行されることを特徴とする。
【請求項16】
請求項4記載のビデオゲーム装置であって、前記方法は、更に前記見いだされた着地点を他の一つ以上の有効な着地点と区別するために、該見いだされた着地点の画像を強調表示することを含む。
【請求項17】
請求項4記載のビデオゲーム装置であって、前記方法は、一つ以上の有効な着地点のうちどれが見いだされた着地点かを、プレイヤキャラクタの位置及び/又は方向の機能として変化させることを含む。
【請求項18】
請求項1記載のビデオゲーム装置であって、前記プレイヤキャラクタに機能強化動作を発揮させるステップは、更にプレイヤキャラクタを前記軌跡に少なくとも一部を沿わせて移動させる前に、該プレイヤキャラクタを跳躍させることを含む。
【請求項19】
請求項1記載のビデオゲーム装置であって、前記プレイヤキャラクタに機能強化動作を発揮させるステップは、更にプレイヤキャラクタを前記軌跡に少なくとも一部を沿わせて移動させた後に、該見いだされた着地点上にプレイヤキャラクタを着地させることを含む。
【請求項20】
請求項19記載のビデオゲーム装置であって、前記見いだされた着地点上にプレイヤキャラクタを着地させることは、着地準備アニメーションに次いでリカバリーアニメーションを実行することを含む。
【請求項21】
請求項20記載のビデオゲーム装置であって、前記着地準備アニメーションの実行中には、プレイヤキャラクタの速度は低下し、前記リカバリーアニメーションの実行中には、プレイヤキャラクタは着地点から起き上がり、ナビゲーティングスタンスをとることを特徴とする。
【請求項22】
請求項19記載のビデオゲーム装置であって、前記見いだされた着地点上にプレイヤキャラクタを着地させることは、前記見いだされた着地点に関連した許容軸を決定し、該プレイヤキャラクタを前記許容軸に沿った前記見いだされた着地点に接触させることを含む。
【請求項23】
請求項
1記載のビデオゲーム装置であって、ギャップが前記プレイヤキャラクタと見いだされた着地点の間にある場合、前記軌跡は、該ギャップを横断する部分を含むことを特徴とする。
【請求項24】
請求項
1記載のビデオゲーム装置であって、前記プレイヤキャラクタに機能強化動作を発揮させることは、ユーザ入力に関連してプレイヤキャラクタが前記軌跡から逸れてしまい、前記到着点とは異なる、前記見いだされた着地点に関連した第2の点に着地することを含む。
【請求項25】
請求項1記載のビデオゲーム装置であって、前記プレイヤキャラクタに機能強化動作を発揮させることは、一旦前記機能強化動作の要求を受け取ったら、前記プレイヤキャラクタを前記見いだされた着地点上に着地させるように拘束することを含む。
【請求項26】
請求項1記載のビデオゲーム装置であって、前記プレイヤキャラクタに機能強化動作を発揮させることは、プレイヤキャラクタに重力否定行動を発揮させることを含む。
【請求項27】
コンピュータにより実行されるビデオゲーム方法であって、該方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-プレイヤキャラクタの機能強化動作の要求を受け取る、
-一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだす、
-
前記見いだされた着地点に関連する到着点を選択し、該到着点までの軌跡を決定する、及び、
-前記プレイヤキャラクタに機能強化動作を発揮させて、前記軌跡に少なくとも一部を沿わせて移動させる。
【請求項28】
コンピュータ可読指示が格納された一時的ではないコンピュータ可読記憶媒体であり、前記指示は、プロセッサにより実行されると、該プロセッサに、以下の方法を実行させる;
該方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-プレイヤキャラクタの機能強化動作の要求を受け取る、
-一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだす、
-
前記見いだされた着地点に関連する到着点を選択し、該到着点までの軌跡を決定する、及び、
-前記プレイヤキャラクタに機能強化動作を発揮させて、前記軌跡に少なくとも一部を沿わせて移動させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオゲームに関わり、特にビデオゲーム内でのプレイヤキャラクタの移動制御に関する。
【背景技術】
【0002】
ビデオゲームでは、プレイヤキャラクタは、多様な移動表面に沿って移動することで3Dバーチャル環境を操作する。これらの移動表面のいくつかは、該3Dバーチャル環境内でギャップ(裂け目)によって分断されている。こうしたギャップは、ビデオゲーム内では、進み続けるためにはプレイヤキャラクタによって避けられるべきものである。従って、目的は、プレイヤキャラクタを制御して、ギャップを飛び越えて向こう側に渡ることである。時として、ギャップは、プレイヤキャラクタの身体的に妥当な動きで超えられる幅よりも広いことがある。こうした場合、ギャップの向こう側にゆくには、プレイヤキャラクタは「機能的に強化された動き(機能強化動作)」が可能なことが求められる。
【発明の概要】
【0003】
第1の広い観点によると、少なくとも一つのプロセッサ、該少なくとも一つのプロセッサに運転可能に接続され、コンピュータ可読プログラム指示が格納された一時的ではない記憶媒体を有し、該少なくとも一つのプロセッサは、該プログラム指示を実行することが出来、該少なくとも一つのプロセッサによる前記プログラム指示を実行することで、以下の方法を実行することの出来るビデオゲーム装置であって:
該方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-プレイヤキャラクタの機能強化動作の要求を受け取る、
-一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだす、
-該見出された着地点までの軌跡を決定する、及び、
-前記プレイヤキャラクタに機能強化動作を発揮させて、前記軌跡に少なくとも一部を沿わせて移動させる。
【0004】
第2の広い観点によると、コンピュータにより実行されるビデオゲーム方法であって、該方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-プレイヤキャラクタの機能強化動作の要求を受け取る、
-一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだす、
-該見出された着地点までの軌跡を決定する、及び、
-前記プレイヤキャラクタに機能強化動作を発揮させて、前記軌跡に少なくとも一部を沿わせて移動させる。
【0005】
第3の広い観点によると、コンピュータ可読指示が格納された一時的ではないコンピュータ可読記憶媒体であり、前記指示は、プロセッサにより実行されると、該プロセッサに、以下の方法を実行させる;
該方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-プレイヤキャラクタの機能強化動作の要求を受け取る、
-一つ以上の有効な基準に基づいて前記バーチャル環境内の着地点を見いだす、
-該見出された着地点までの軌跡を決定する、及び、
-前記プレイヤキャラクタに機能強化動作を発揮させて、前記軌跡に少なくとも一部を沿わせて移動させる。
【0006】
第4の広い観点によると、少なくとも一つのプロセッサ、該少なくとも一つのプロセッサに運転可能に接続され、コンピュータ可読プログラム指示が格納された一時的ではない記憶媒体を有し、該少なくとも一つのプロセッサは、該プログラム指示を実行することが出来、該少なくとも一つのプロセッサによる前記プログラム指示を実行することで、以下の方法を実行することの出来るゲーム装置であって:
該方法は、以下のステップからなる;
-メモリにプレイヤキャラクタを含むバーチャル環境を維持する、
-前記プレイヤキャラクタが前記バーチャル環境の機能強化ゾーンに入ったことを検知する、該機能強化ゾーンは一つ以上の着地点と関連つけられており、
-前記プレイヤキャラクタの方向及び位置のうちの少なくとも一つに基づいて前記機能強化ゾーン内の一つ以上の着地点を見いだし、
-前記プレイヤキャラクタの機能強化動作の要求を受け取ったところで、前記見いだされた着地点へ向けた移動をプレイヤキャラクタに行わせる。
これらの観点及び他の観点は、以下の図面に関連して以下の記述を参照することで、良く理解されるであろう。
【図面の簡単な説明】
【0007】
【
図1】
図1は、1実施例に基づいた、ゲーム装置のブロック図である。
【
図2】
図2は、1実施例に基づいた、プレイヤキャラクタにより飛び越えられるギャップとプレイヤキャラクタのいるビデオゲーム内の1シーンを示す図。
【
図3】
図3は、1実施例に基づいた、着地地点のデータベース構造の例を示す図。
【
図4】
図4は、1実施例に基づいた、プレイヤキャラクタの機能強化動作を制御する方法を示すフローチャートである。
【
図5】
図5は、1実施例に基づいた、
図2の方法において、着地のアニメーションシナリオを示すフローチャートである。
【
図6】
図6は、1実施例に基づいた、
図2に似たビデオゲーム内の1シーンであり、ギャップ周囲の機能強化ゾーンを示す図。
【
図7】
図7は、1実施例に基づいた、機能強化動作の過程を示すフローチャートである。
【
図8】
図8は、ゲームオブジェクト、その特性および位置を格納したデータ構造を示す図。 図は、実施例を開示するものであり、限定的なものではない。
【発明を実施するための形態】
【0008】
図1には、ビデオゲームを実行するゲーム装置101(例えば、ゲームコンソール、テーブル又はスマートフォンなど)が示されている。ゲーム装置101は、少なくとも一つのプロセッサ102に操作可能に接続され、コンピュータ可読プログラム指示を格納する、一時的ではない記憶媒体(メモリ104)を有している。ビデオゲームは、本質的に、メモリ104に格納されたコンピュータ可読指示により規定されたインタラクティブなコンピュータプログラムであり、該コンピュータ可読指示プログラムは少なくとも一つのプロセッサ102により読まれ、実行される。
【0009】
少なくとも一つのプロセッサ102は、一つ以上の中央処理装置(CPU)及び/又は一つ以上のグラフィック処理装置(GPU)を含むことができる。バス108は、少なくとも一つのプロセッサ102とメモリ104との間の通信を行う。スクリーン105及びスピーカ111は少なくとも一つのプロセッサ102と入出力インターフェース(I/O)及びバス108を介して接続される。ユーザ103は、少なくとも一つの入力装置(例えば、一つ以上のジョイスティック、タッチスクリーン(例えば、スクリーン105)、キーボード、コントローラ、マイクロフォン109,カメラ106及び/又はジェスチャーセンサを含む)を介してユーザ入力を提供する。少なくとも一つの入力装置は、少なくとも一つのプロセッサ102にI/O102及びバス108を介して接続される。
【0010】
単純な非限定的な実施例では、コンピュータ可読指示により規定されたインタラクティブコンピュータプログラムはゲームループ(時として「ゲームロジック」とも呼ばれる)及びレンダリングプロセスを含み、それらは少なくとも一つのプロセッサ102により実行される。レンダリングプロセスは、ゲームループに対しては非同期的である(特に、レンダリングプロセスが一つ以上のグラフィック処理装置-GPUによって行われる時は)。
【0011】
ゲームループを実行する方は、ユーザ103から受け取った入力を処理し、メモリ104に格納維持された3Dバーチャル環境に関するデータを変化させる。この変化したデータがゲームループ及びレンダリングプロセスにより処理されると、スクリーン105上に表示された画像が変化し、スピーカ111からは生成される新たな音が変化することとなる。これらの出力によりユーザ103の、少なくとも一つの入力装置などを介した更なる入力が誘発される。
【0012】
レンダリングプロセスの最終出力は、通常のフレームレート(24fps、30fps、60fps)でスクリーン105に表示されるフレームバッファ(ピクセルのアレイ)であり、最終的な出力画像を生成する。いくつかの実施例では、最終的な出力画像を生成するために複数のフレームバッファが使用される。サウンドは、入出力を取り扱う他のハードウェアと共に、(CPU上で)メインスレッドとしてゲームループにより管理され(即ち、DAC-デジタルのオーディオ変換)、スピーカ111を介して出力される。生成された画像やサウンドは「ゲームオブジェクト」に関連しており、それらの特性や位置はメモリ104に格納されている。ゲームオブジェクトは、建物、壁、武器、木、装備、移動表面及びゲームシナリオの一部となる考えられる限りのオブジェクトを始め、プレイヤキャラクタ(PCs)、ノンプレイヤキャラクタ(NPCs)を含む。ゲームオブジェクトのいくつかは、3Dバーチャル環境内で、プレイヤキャラクタやノンプレイヤキャラクタと相互作用する素子である。
【0013】
ゲームオブジェクトのそれぞれは、メモリ104内で維持される3Dバーチャル環境内での一連の特性及び位置により特性つけられる。
図8に、複数のゲームオブジェクトの特性及び位置を概念的に格納する表800を示すが、それらはプレイヤキャラクタや移動表面を含むものであり、非限定的なものである。特に、表800は各ゲームオブジェクトの一つの、一連の記録を示す。もちろん、他のデータ構造も可能である。ゲームオブジェクトの位置は、該ゲームオブジェクトが3Dバーチャル環境内で占める頂点又は座標のセットとしてエンコードすることができる。例えば、ゲームオブジェクトの位置は、絶対位置上でのワールド空間変換(a world-space transformation)の結果である。ゲームオブジェクトの一連の特性は、方角、面法線及び名前、キャラクタタイプ、ライブ、パワー、武器等の様々な特性に加えて、ゲームオブジェクトの記述を含むものである。
【0014】
図2を更に参照すると、そこには3Dバーチャル環境を形成するプレイヤキャラクタ202及び他のゲームオブジェクトからなる非限定的な場面か示されている。場面はスクリーン105にレンダリングされており、3Dバーチャル環境内で仮想カメラが透視した該3Dバーチャル環境の一部が示されている。特に、1対の移動表面220,225が示されている。移動表面220,225は、3Dバーチャル環境内のゲームオブジェクトであり、その位置及び特性はメモリ104に格納されている(テーブル800内のように)。
【0015】
図2では、移動表面220,225の端部の間のギャップ210(ゲームオブジェクト220,225の間として計測され、それ自身ゲームオブジェクトの一部及全部である)が示されている。他の実施例では、単一のギャップにより二つ以上の移動表面が分割されることもある。一般的に、二つの移動表面を分割するギャップは、これらの移動表面間に水平及び/又は垂直な分離状態を呈示する。即ち、ギャップは、全体寸法として、0でない垂直方向成分か0でない水平方向成分、又はその両方を有する。こうして、3Dバーチャル環境内で、ギャップ210の両側の移動表面220,225は、同じ高さである必要は無い。
【0016】
ギャップ210は、プレイヤキャラクタ202が実際的な表示動作(例えば、歩き又は重力下での通常のジャンプ)を実行することで横断することの出来る大きさよりも大きく、プレイヤキャラクタ202はギャップ210を超えるためには機能強化動作(例えば、「ジェットブーツ」)が可能となることが必要となる。ある場合には、機能強化動作では、反重力効果(重力否定行動)及び/又は跳躍に際して異常なほどの加速などが可能となる。
【0017】
ある実施例によれば、ギャップ210に近接して移動表面220,225のそれぞれに「着地点」が設定されている。特に、移動表面220は、着地点260が、移動表面225には、着地点265が設定されている。各着地点260,265には、プレイヤキャラクタ202が機能強化動作を使用してギャップ210を飛び越えようとした際に、到達することの出来る領域範囲が設定されている。こうして着地点260,265は3Dバーチャル環境内で頂点と関連つけられ、及び/又は面法線と共にアンカーポイントとも関連つけられることができ、また該法線に垂直な方向の寸法とも関連つけられる。着地点260,265は、その特性及び位置(例えば、頂点及び/又はアンカーポイントにより規定される)がテーブル800内に格納されたゲームオブジェクトである。また、着地点260,265は、それ自体移動表面220,225の特性とすることも可能である。
【0018】
着地地点には多様なタイプが考えられる。二つの例としては、「掴める突端」及び「着地容積」である。他のタイプの着地点としては、それらに変えて又はそれらに加えて多様なものが考えられる。ギャップに近接する表面を突端として形成する場合には、ゲーム設計者がこの表面を掴める突端としてエンコードし、また着地容積として他の構成をエンコードすることに関しては、演算効率の点で有利である。こうしたエンコードは、着地点の構成が予め決まっている状況に基づいたルーチンで、演算時間を改善することができる。また、下にグランドが無い形でのギャップの場合、それでも、該ギャップの下に別の「着地容積」を設けることができる。
【0019】
前述の二つの着地点(掴める突端及び着地容積)の例示タイプは、ギャップ210の一方から飛ぶ際の達成可能性の面では、いくらか異なる性質を有する。例えば、着地点260が着地容積の場合で、着地点265が掴める突起の場合がある。この場合、着地点260は「着地容積」であり比較的大きな表面領域を有しているので、プレイヤキャラクタ202がユーザ103によって操作され、ギャップ210を超えるときに、その方向が多少すれたとしても問題がない。その部分に関しては、着地点265は着地容積ではなく、掴める突端である。掴める突端の場合、着地点265は着地容積ではなく、掴める突端である。掴める突端の構成は、着地容積よりもより平滑ではなく、より細い線状である。ここで追加的な着地可能性をつくることができる。例えば、掴める突端に着地するまでに、プレイヤキャラクタ202は、その飛翔軌跡を、突端の上のぶら下がり位置(これは、キャラクタを該突端から引き上げるための、プレイヤからの特別な入力を必要とする)や、掴める突端の背後の地面上で終わるように(着地容積の場合と同様に)することが出来る。掴める突端に関する着地の特性は、(既定のパラメータに基づいて)アルゴリズム的に決定するか、またはゲーム設計者が、掴める突端への着地の特別な形を設定するようにする。
【0020】
要するに、ゲームのレベル設計の段階で、ギャップによって分断された着地点は、掴める突端か着地容積の特性を持つものとしてコードすることができる。着地点の各タイプは、ゲームをプレイする中において異なる結果をもたらす。それは機能強化動作を使った後に、プレイヤキャラクタが何処にそして/又はどのように着地するかと言うことである。
【0021】
そのタイプ(例えば、「掴める突端」又は「着地容積」)ばかりか、その大きさや位置を規定する頂点のような、各着地点の属性は、メモリ104に格納することができる。それらは例えば、テーブル800の記録として格納され、この概念は、着地点のデータベース310を示す、
図3により詳細に図示される。データベース310の内容は、表として示されるが、それは参照の利便のためであって、限定的なものではない。表は、複数の行を有しており、各行は、仮想空間内の異なる着地点に対応している。列300は対応する着地点の異なる属性を表している。従って、特定の着地点に関する特定の属性については、対応するテーブル内にエントリーする。属性の一例は、すでに述べたが、3Dバーチャル環境内での位置、大きさ/寸法及びタイプ(例えば、「掴める突端」又は「着地容積」)なども含むことができる。
【0022】
着地点の他の属性もデータベース310に格納しておくことが出来る。
【0023】
例えば、一つ以上の着地容積を、プレイヤキャラクタ202がその上に着地を許容されている軸線(「許容軸線」と称する)に関連付けることができる。非限定的な一例として、地面がX-Y平面でZが上方軸であるワールド座標系において、特定の着地容積に関する許容軸線はX軸かY軸である。許容軸線はデータベース310に特定の着地容積の属性として格納することができる。仮にデフォルトでX及びY軸が特定の着地容積の中央で交差していると、許容軸線はあるオフセット量だけシフトすることができる。これにより、プレイヤキャラクタ202が着地容積上で飛行後に着地出来る場所をシフトすることができる(即ち、着地してプレイヤキャラクタ202が着地容積に接触した位置に沿わせる)。オフセットパラメータはレベル設計者によりゲーム設計時に選択され、データベース310に特定の着地容積の属性として格納される。
【0024】
他の実施例では、着地点が掴める突端の場合、プレイヤキャラクタ202がより低い高度から来た場合(即ち、飛び上がった場合)、有効な目的地とすることが望ましい。これはより高い高度からの場合(即ち、飛び降りた場合)は望ましくない。この場合、プレイヤキャラクタ202が飛び上がった場合、着地容積が考慮され、反対のシナリオの場合には考慮されない形の着地容積となるようなフラグが着地容積に関連つけられる。このフラグは、従って、プレイヤキャラクタ202にとって潜在的な着地点として、着地容積の条件付き有効性の視標となる。それはレベル設計者によりゲーム設計時にセットされ、データベース310に着地容積の属性として格納される。
【0025】
3Dバーチャル環境内の全ての着地点について、ユーザ103が機能強化動作を用いない限り、現在の位置からプレイヤキャラクタ202が飛び越えることは出来ない(全てではないが)。プレイヤキャラクタ202が3Dバーチャル環境内を移動する際に、近くの着地点の一つが結果的にある「有効な基準」を満たすかもしれない。それはその着地点がプレイヤキャラクタ202にとって、ユーザ103が機能強化動作を必要とする有効な目的地である場合である。従って、ゲームロジックの一部として、ゲーム装置101の少なくとも一つのプロセッサ102は、複数のステップからなる
図4に示すフローチャートを参照して説明する一例のとしての方法を実行するように構成されている。
【0026】
ステップ410
ゲームロジックはプレイヤキャラクタ202について、有効な基準に合った一つの着地点を特定するように常に試みている。この特定の例においては、二つの着地点260.265が有り、ゲームロジックはそれらの内、両方又は、一方が有効な基準に適合するか否か、又は両方共に適合しないかを決定するためのテストを行う。有効な基準を満たす丁度一つの着地点があると、この着地点は「確認された着地点」として選択され、方法はステップ420へ入る。もし、有効な基準を満たす二つ以上の着地点がある場合いには、方法は、ステップ415へ入る。有効な基準を満たす着地点が無い場合には、方法は終了する。
【0027】
有効な基準は、メモリ104にエンコードされている。有効な基準は、3Dバーチャル環境内の多様な着地点の位置、高度その他に対するプレイヤキャラクタ202の現在位置、高度、方向その他に基づいている。
【0028】
特定の着地点に関する特別に有効な基準の、非限定的な一例は、該特定の着地点が3Dバーチャル環境内で仮想カメラの視野内に入っていなければならないことである。そこで、ゲームロジックは、該特定の着地点が仮想カメラの視野内に入っているか否かをテストし、該特定の着地点が仮想カメラの視野内に入っている場合には、該特定の着地点が有効であると結論する。
【0029】
特定の着地点に関する特別に有効な基準の、更なる非限定的な一例は、プレイヤキャラクタ202が該特定の着地点と向き合っていなければならないことである。いくつかの実施例では、プレイヤキャラクタ202と着地点上の点(例えば、プレイヤキャラクタに最も近い点)の面法線間の角度が、ある角度範囲内であること(例えば、-15~+15度、又は-30~+30度、-60度~+60度又は-90度~+90度)である。他の実施例では、「向き合う」ことが、特定の着地点がプレイヤキャラクタ202の視野内にあることを意味する。即ち、プレイヤキャラクタ202自身の目(バーチャル)によって「見える」ことである。そうした場合、バーチャル環境内でプレイヤキャラクタ202の実質的に「後ろ」に位置する着地点は、有効な基準に適合しないこととなる。
【0030】
特定の着地点に関する特別に有効な基準の、更なる非限定的な一例は、距離の基準である。例えば、特定の着地点とプレイヤキャラクタ202間の距離は、閾値Xより小さく、及び又は閾値Yよりも大きくなければならない。
【0031】
特定の着地点に関する特別に有効な基準の、更なる非限定的な一例は、高度の基準である。例えば、特定の着地点とプレイヤキャラクタ202間の高さは、閾値Xより小さく、及び又は閾値Yよりも大きくなければならない。
【0032】
特定の着地点に関する特別に有効な基準の、更なる非限定的な一例は「到達性」である。即ち、該特定の着地点は、プレイヤキャラクタ202の現在位置から到達可能である必要がある。着地点が到達可能であるか否かは、該着地点とプレイヤキャラクタ202の相対的な高度による。例えば、プレイヤキャラクタ202が「着地容積」タイプの着地点に着地出来る場合に、プレイヤキャラクタ202が何処に居るかに関わりなく、機能強化動作が呼び出された場合、もし下方からいった場合(即ち、より低い高さからいった場合)には、「掴める突端」タイプの着地点上に着地することしかできない。
【0033】
図示した例では、どこからでも到達可能な着地点260(ここでは、着地容積である)と、プレイヤキャラクタ202が移動表面220上のどこかにいた場合で、機能強化動作が要求された時にのみ、到達可能な着地点265(ここでは、掴める突端である)となる。別の言い方をすると、機能強化動作が要求された際に、プレイヤキャラクタ202が移動表面220上にいた場合、着地点260と265は共に到達性の特別に有効な基準に適合するが、機能強化動作が要求された際に、プレイヤキャラクタ202が移動表面225上にいた場合、着地点260だけが到達性の有効な基準を満たすものである。
【0034】
いくつかの実施例では、特定の着地点の到達性は、フラグがセットされているか否か、及びフラグが有効な条件となっているかに影響される。
【0035】
もちろん、多数の有効な基準の組み合わせを使用することが出来、全ての有効な基準に適合した着地点のみが有効と見なされるようにすることもできる。
【0036】
バーチャル環境内のプレイヤの位置が変わると、有効と考えられる着地点も変化する。
【0037】
ステップ415
二つ以上の有効な基準を満たす着地点がある場合に、各着地点は多数のファクタに基づいてスコア化され、ベストスコアを取った着地点が「見いだされた着地点」とされる。そうしたファクタには、限定される訳ではないが、プレイヤキャラクタ202と着地点上の点(例えば、最も近い点)間の距離(例えば、X、Y又は直線)(この場合、より短い距離が良いスコアになる)、プレイヤキャラクタ202から着地点への直線軌跡とプレイヤキャラクタ202の面法線間の角度(この場合、より小さな角度が良いスコアとなる)などである。プレイヤキャラクタ202の面法線はプレイヤキャラクタ202の属性としてテーブル800に格納されている。方法は、ステップ420へ進む。
【0038】
ステップ420
ゲームロジックは、確認された着地点をスクリーン105上で、任意的にハイライト又は強調して、特定することができる。もちろん、着地点の見いだし(特定)は、プレイヤキャラクタ202にとっての見いだされた着地点が、プレイヤキャラクタ202の常に移動する位置と方向に基づいて、時間と共に変わるとともに変わる。これにより、見いだされた着地点(即ち、ハイライト又は強調表示されたもの)は次から次へと変化し、動的に表示されることとなる。ハイライト又は強調表示は、見いだ(特定)された着地点を表示するための色を変化させたり、ライトアップさせたり、明暗を変化させたり、又は点滅させたりして行う。矢印も、着地点が有効な基準に適合するものであることの信号として使用することが出来る。これは、新たなユーザに機能強化動作を紹介するチュートリアルの部分として特に有効である。こうしたハイライト又は強調表示はユーザ103に、どのようにプレイヤキャラクタ202が機能強化動作を用いてギャップ210を横断するかを示すためのヒントとして利用できる。
【0039】
ステップ430
ゲームロジックは、プレイヤキャラクタ202の機能強化動作の要求を受け取る。要求は、ユーザ103によりなされる。該要求の受領は、着地点の特定とは独立している、言い換えれば、機能強化動作の要求は前述のステップ410-420の実行前、実行中又は実行後のいつでも受け取ることが出来る。
【0040】
機能強化動作の要求は、多様な方法で行われ得る。一例としては、ユーザ103がプレイヤキャラクタ202のジャンプコマンドを出力させ(例えば、ゲームコントローラのボタンを押すことにより)、プレイヤキャラクタ202がまだ空中に居る間に、プレイヤキャラクタ202の第2のジャンプコマンドを出力させることで機能強化動作の要求が行われる(例えば、素早く連続で(例えば、0.5秒以内で)、ゲームコントローラの同じボタンを再度押すか、又は他のボタンを押すことにより)。他の例としては、ユーザ103が発声する(例えば、「ジェットブーツ!」と)と、テキストに変換され、機能強化動作の要求と解釈される。
【0041】
ステップ440
ゲームロジックは、着地点及び該着地点までの軌跡を決定する。軌跡は、プレイヤキャラクタの現在位置から着地点への円弧となる。または、軌跡は、直線状部分と円弧状部分からなるようにすることもできる。軌跡は、ギャップ210を横断することとなる。
【0042】
見いだされた着地点が着地容積の場合、着地点は、該着地容積の許容軸線に沿った点であり、それは例えば、プレイヤキャラクタ202に対して最も近いか、着地容積の真ん中である。
【0043】
それに関する限りは、掴める突端は3Dバーチャル環境内では、箱のような特定の形状で表現されている。この箱は、3Dバーチャル環境内に置かれており、その前面が突端から飛び出す形で向いている。突端の横方向の寸法は、掴むべき突端の長さを決定している。掴める突端と地面の隣接する部分の間には関連があり、この関連はメモリ104に格納されている。
【0044】
見いだされた着地点が掴める突端の場合、いくつかのオプションがある。本方法は、プレイヤキャラクタ202が突端を掴むべきか(例えば、「突端掴み」スタンスで)、又は該突端の背後に隣接する地面に着地するかを決定する。特に、最初のオプションは、プレイヤキャラクタ202が掴める突端に着地し、他のオプションでは、プレイヤキャラクタ202は隣接する地面部分に着地する。どちらのオプションが選択されるかは、プレイヤキャラクタ202と該掴める突端との角度、水平距離及び垂直距離等の要素による。例えば、プレイヤキャラクタ202と掴める突端との水平又は垂直距離がある閾値を超えた場合には、着地点は、掴める突端上に沿ったどこかとなり、そうでない場合には、到着点は隣接する地面部分のある点となる。また逆に、プレイヤキャラクタ202が、前述の距離の閾値を超えるか否かに関わりなく、掴める突端上(例えば、「突端掴み」スタンスで)に強制的に着地することも出来る。
【0045】
ステップ450
プレイヤキャラクタ202はステップ440で確立された軌跡の一部又は全部に沿って上がり、移動する。ユーザ103は、プレイヤキャラクタ202が着地点(例えば、着地容積又は掴める突端又は地面の隣接する部分)へ接近するまで、ナビゲーションのもと、何らかの制御を行う(例えば、速度及び/または加速のほか、右/左)。確立された軌跡からの偏差は許容されており、プレイヤキャラクタ202が掴める突端(又は、地面に隣接する部分)上の点、又は着地容積の許容軸線上の点に向けて飛んでいる限り、場合場合だが、プレイヤキャラクタ202は最初に決定された着地点に着地しないかもしれない。この実施例では、一旦、機能強化動作の要求が出され、プレイヤキャラクタ202が飛び出したら、該プレイヤキャラクタ202は見いだされた着地点以外の異なる着地点へ移動することは防止される。
【0046】
飛翔の最後に着地が行われるが、これは
図5を参照して、更に説明する。これには異なる形態に基づく3つの着地シナリオがある。
【0047】
510 見いだされた着地点が、機能強化動作の要求がなされた際に、プレイヤキャラクタ202よりも低い高度にある、特別な着地容積である。
【0048】
この場合、一連のアニメーションは、「着地準備」アニメーションを含んだゲームロジックにより進行し、該特別な着地容積からある距離(例えば、メモリ内のパラメータとして特定された、1.0m又は他の高さ)でトリガーがかかる。このアニメーション中は、プレイヤキャラクタ202の速度は一定量又は割合(メモリの他のパラメータでもよい)で低下する。着地点は、ユーザ103による飛翔中のナビゲーションにより、ステップ440で演算された到着点とは異なる可能性がある。最後に、ゲームロジックは、「リカバリー」アニメーションを実行し、これによりプレイヤキャラクタ202は着地点より起き上がり、ナビゲーティングスタンスを取る(即ち、しゃがんだ姿勢からまっすぐな姿勢へ)
【0049】
520 見いだされた着地点が、機能強化動作の要求がなされた際に、プレイヤキャラクタ202よりも高い高度にある、特別な着地容積である。
【0050】
この場合、プレイヤキャラクタ202の速度(デザイン/アニメーション要求)を低下させる必要が無いので、「着地準備」アニメーションは不要である。むしろ、「リカバリー」アニメーションだけがゲームロジックにより行われる必要がある。
【0051】
530 見いだされた着地点が、掴める突端である(ある実施例では、プレイヤキャラクタ202よりも高い高度のもの)。この場合、プレイヤキャラクタ202は、「突端掴み」スタンスでの掴める突端上又は隣接する地面上に着地する。
【0052】
掴める突端に着地する場合、「突端掴み」アニメーションが実行され、プレイヤキャラクタ202の手が突端と同じ高さとなるように軌跡が適用される。飛翔軌跡の終端で「登り」アニメーションが実行され、その後、プレイヤキャラクタ202はナビゲーションスタンスを取る。
【0053】
隣接する地面上に着地した場合には、ステップ520と同様に、「リカバリー」アニメーションだけがゲームロジックにより実行される。
【0054】
上記の実施例において、機能強化動作の要求はユーザ103により行われるが、実際の機能強化動作は、ステップ410でプレイヤキャラクタ202の現在位置に対する少なくとも一つの有効な着地点が明らかにならないと、妨げられることとなる。他の実施例では、機能強化動作の要求がなされた時点で、有効な着地点が見つからない時は、ゲームロジックは、プレイヤキャラクタ202が部分的な飛翔軌跡をたどるものとして、前もって規定された飛翔軌跡(例えば、プレイヤキャラクタ202の方向に基づいた移動表面上のある点への固定された円弧)を使用する飛翔軌跡として決定する。
【0055】
また、プレイヤキャラクタ202が空中にいるときに(例えば、プレイヤキャラクタ202が、有効な着地容積である移動表面の一部に向けて、ジャンプして落下しているとき)、機能強化動作の要求がなされることがありえる。更に、ユーザ103がプレイヤキャラクタ202を何らの着地点にも向けていない(又は、カメラ視野内に他の有効な着地点がない)こともあり得る。こうした特別な場合で、プレイヤキャラクタ202が空中で、下方に落下している時に、機能強化動作の要求がなされた場合、ゲームロジックは、予め決定された飛翔軌跡(例えば、プレイヤキャラクタ202の方向に基づいた移動表面上のある点への固定された円弧)を使用決定する。または、プレイヤキャラクタ202が空中で、下方に落下している時に機能強化動作の要求があった場合には、許容軸線に沿って無理に着地させるよりも、プレイヤキャラクタ202の着地点へ落ちるまでの高さ(即ち、垂直)を増加させ(これには、プレイヤキャラクタ202のX-Y位置の移動が必要であるが)、現在のX-Y位置の直下の移動表面(及び着地点)上に着地することが出るようにする。これにより、空中で機能強化動作の要求があった場合のぎくしゃくした動きを避けることができる。
【0056】
図6に示す他の実施例では、「機能強化ゾーン」(EFZ)640の概念が導入されている。EFZ640は、各移動表面220,225の部分650、655を含みかつ囲む容積(例えば、囲み箱)として見ることができる。EFZ640は、着地点そのものに限らず、表面や端部を含むものである。例えば、高さの低いギャップ210側では、EFZ640は、着地点260を超えた移動表面220にまで伸延していないが、高さの高いギャップ210側では、EFZ640は、着地点265を超えて移動表面225に沿って伸びている。その位置を規定する頂点などの、EFZ640の属性は、メモリに格納されている。例えば、EFZ640は、メモリ104のテーブル800内に記録が割り当てられるゲームオブジェクトであってもよく、又はEFZ640は、テーブル800内にオブジェクトとして格納されたギャップの特性であってもよい。
【0057】
上記した過程の変形として、ゲームロジックは、プレイヤキャラクタがEFZに「入る」までは、機能強化動作の要求を無視するようにすることができる。プレイヤキャラクタはEFZに移動表面220,225(即ち、パーツ650,655を介して)の一つに沿って入ることができ、またプレイヤキャラクタはEFZに「空中」から、例えば、EFZ640の外側からジャンプすることで入ることができる。
【0058】
プレイヤキャラクタがEFZに入ったものと判定された後に、ゲームロジックは、EFZに関連する着地点の有効性を評価する。EFZ640は、多様な着地点に関連している(これらの関連は、メモリ104にポインタ、アレイ素子などとして格納されている)点に留意する必要がある。また、着地点は、「掴める突端」と「着地容積」を含むことに留意する必要がある。上述したように、着地点の有効性に関する更なる制限は、アライメントに基づくものである。即ち、プレイヤキャラクタ202の背後に位置する着地点は、EFZ640内であっても、有効な着地点から外される。
【0059】
こうして、プレイヤの機能強化動作の要求がなされた際に有効性が認められた、限られた着地点が決定されたなかで、本方法は提供される。プレイヤキャラクタ202の現在位置から到達可能な多数の有効な着地点が判明することがある。この場合、各有効な着地点は多様な要素に基づいてスコア化される。機能強化動作の要求の出力に対応して、プレイヤキャラクタは最も高いスコアの着地点に繋がる経路に沿って移動する。到着点をはじめプレイヤキャラクタの移動軌跡は、移動が始まる前の、着地可能性に基づく実行時に決定することが出来る。
【0060】
ある実施例では、一旦着地点が決定されると、それはもはや変わることはなく、これによりプレイヤキャラクタのグラフィックレンダリングを移動中により演算効率よく行うことが出来る。しかしながら、プレイヤの飛翔軌跡中における操作性をある程度保持するために、ビデオゲームの設計者により作られた限界に基づいて、プレイヤキャラクタの操作が可能である。
【0061】
もし、利用可能な有効な着地点が無い場合には、システムは、プレイヤの入力、即ち、プレイヤの機能強化動作の要求を確認するために、軌跡(プレイヤの現在の位置に対する水平及び垂直距離に関して)を演算する。
【0062】
その結果、プレイヤキャラクタが機能強化動作能力を持っているゲームプレイは、ユーザへの楽しみを残しつつ、より演算効率を良くすることが出来る。また、システムは、プレイヤキャラクタが配置されている3Dバーチャル環境に対してそれ自身を動的に適用することができる。
【0063】
図7を参照すると、少なくとも一つのプロセッサにより実行される方法が示されており、それはメモリ内にバーチャル環境を維持するステップ710、該3Dバーチャル環境はプレイヤキャラクタを有し、該プレイヤキャラクタの機能強化動作の要求を受け取るステップ720,有効な基準に基づいた3Dバーチャル環境内での着地点を見いだす(特定する)ステップ730、見いだされた着地点に関連した到着点への軌跡を決定するステップ740及び少なくとも一部は該軌跡に沿って移動することでプレイヤキャラクタに機能強化動作を発揮させるステップ750を有する。
【0064】
プロセッサが行動又は処理を実行するように「構成される」と記載したが、これはプロセッサが、これらのコンピュータ可読指示を格納したメモリ装置から読み出したコンピュータ可読指示を実行することで行動又は処理を実行することを意味する。
【0065】
ここでは特定の実施例及び応用例が述べられたが、本発明はここで開示された構成や構造に限られることなく、ここで開示された処理、方法の詳細及び装置における多様な変形、応用は、本発明の精神及び範囲を離れない限り、当業者にとって自明である。