説明

ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム

【課題】プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させる。
【解決手段】制御部11が、プレイヤキャラクタが移動する位置を決定し、ゲームフィールド上に配置されている障害物に衝突したか否かを判定し、衝突したと判定したときに補正モードに設定し、衝突したと判定したときに障害物の配置方向ベクトルと移動指示方向ベクトルとの内積値あるいは配置方向ベクトルと前回衝突時配置方向ベクトルとの内積値を算出する。プレイヤキャラクタが移動する位置を決定するにあたって、衝突したと判定されたときは算出した内積値に基づく移動方向で障害物に沿った移動方向に移動させるための移動位置を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プレイヤキャラクタを画像表示装置の表示画面上に表示し、表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するための技術に関する。
【背景技術】
【0002】
従来から、RPG(ロールプレイングゲーム:プレイヤがゲームの世界の中であるキャラクタの役割を演じ、様々な経験を通して成長していく過程を楽しみながら、所定の目的を達成していくゲーム。)と呼ばれるゲームなどの様々なジャンルのビデオゲームが提供されている。
【0003】
このようなビデオゲームにおいて、プレイヤが操作するキャラクタ(プレイヤキャラクタ)がゲームにおけるフィールド上を移動しているときに、プレイヤキャラクタの視線の変化に伴い3次元空間の表示形態が変化しても、プレイヤが継続して操作指示している進行方向にプレイヤキャラクタを継続して移動させていくようにしたものがある(特許文献1参照)。
【0004】
【特許文献1】特開2002−292119号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述した特許文献1に記載された発明は、プレイヤキャラクタがゲームにおけるフィールド上を移動しているときに壁などの障害物に当った場合については言及されていない。プレイヤキャラクタが障害物に当った場合に、プレイヤが継続して操作指示している進行方向とは一致しない進行可能な方向にプレイヤキャラクタが移動していくように、自動的に進行方向を補正することが考えられる。しかしながら、プレイヤキャラクタがスムーズに移動していくように進行方向を補正することは困難であり、スムーズでない不自然な動きになってしまうため、プレイヤにストレスを与えることとなっているという問題があった。特にRPGなどのビデオゲームでは、プレイヤキャラクタが移動していくシーンが多く登場するため、プレイヤのストレスにならないようスムーズにプレイヤキャラクタを移動させることができるようなものが望まれている。
【0006】
本発明は、上記の問題を解消すべく、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明のビデオゲーム処理装置は、プレイヤキャラクタを画像表示装置の表示画面上に表示し、前記表示画面上に表示されている前記プレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理装置であって、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付手段と、前記プレイヤキャラクタが移動する位置を決定する移動位置決定手段と、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定手段と、該衝突判定手段により衝突したと判定されたときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定手段と、前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第1内積算出手段と、前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第2内積算出手段と、を含み、前記移動位置決定手段は、前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記第1内積判定手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記第2内積判定手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定することを特徴とする。
【0008】
上記の構成としたことで、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【0009】
前記プレイヤキャラクタの向きを決定する方向決定手段を含み、前記方向決定手段は、前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に向かせるための前記プレイヤキャラクタの向きを決定し、前記衝突判定手段により衝突したと判定されたときは、前記内積判定手段により算出された内積値に基づく回転方向で前記障害物に沿った方向に所定角度回転させた方向に向かせるためのため前記プレイヤキャラクタの向きを決定し、前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に特定角度回転させた方向に向かせるための前記プレイヤキャラクタの向きを決定するように構成されていてもよい。
【0010】
前記移動位置決定手段が決定した移動位置に前記方向決定手段が決定した向きで前記プレイヤキャラクタを表示するプレイヤキャラクタ表示手段を含む構成とされていてもよい。
【0011】
前記所定角度は、前記特定角度よりも大きい角度にあらかじめ設定されていることが望ましい。
【0012】
前記移動方向受付手段が受け付けた移動方向が変更したか否かを判定する変更判定手段と、前記補正モードに設定されているときに、前記変更判定手段により移動方向が変更したと判定された場合には、前記補正モードの設定を解除する操作判定補正モード解除手段とを含むように構成されていてもよい。
【0013】
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたことに応じて前記移動位置決定手段によって決定された移動位置にプレイヤキャラクタが移動されたあと、前記移動方向受付手段が受け付けた移動方向と前記プレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定する角度判定手段と、該角度判定手段により前記補正モード解除値以下であると判定されたときに、前記補正モードの設定を解除する角度判定補正モード解除手段とを含むように構成されていてもよい。
【0014】
前記衝突判定手段は、前記プレイヤキャラクタの現在位置と前記進行方向ベクトルとに基づき移動予定位置を算出し、算出した移動予定位置が前記障害物の配置領域内であるか否かを確認することによって当該障害物に前記プレイヤキャラクタが衝突したか否かを判定するように構成されていてもよい。
【0015】
また、本発明のビデオゲーム処理方法は、画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理方法であって、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第1内積算出ステップと、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第2内積算出ステップと、を含み、前記移動位置決定ステップでは、前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第1内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第2内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定することを特徴とする。
【0016】
さらに、本発明のビデオゲーム処理プログラムは、画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御させるビデオゲーム処理プログラムであって、コンピュータに、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第1内積算出ステップと、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第2内積算出ステップと、を実行させ、前記移動位置決定ステップでは、前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第1内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第2内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する処理を実行させるためのものである。
【発明の効果】
【0017】
本発明によれば、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の一実施の形態について図面を参照して説明する。
【0019】
図1は、本発明の一実施の形態における描画装置の一例を示すビデオゲーム装置100の構成の例を示すブロック図である。図1に示すように、本例のビデオゲーム装置100は、ビデオゲーム装置本体10と、表示装置50と、サウンド出力装置60とを含む。ビデオゲーム装置本体10は、例えば市販のビデオゲーム機によって構成される。また、表示装置50は、例えばテレビジョン装置や液晶表示装置などによって構成され、画像表示部51を有している。
【0020】
ビデオゲーム装置本体10は、制御部11と、RAM12と、ハードディスクドライブ(HDD)13と、サウンド処理部14と、グラフィック処理部15と、DVD/CD−ROMドライブ16と、通信インターフェイス17と、インターフェイス部18と、フレームメモリ19と、メモリーカードスロット20と、入力インターフェイス部21とを含む。
【0021】
制御部11、RAM12、ハードディスクドライブ(HDD)13、サウンド処理部14、グラフィック処理部15、DVD/CD−ROMドライブ16、通信インターフェイス17、及びインターフェイス部18は、それぞれ内部バス22に接続されている。
【0022】
制御部11は、CPUやROMなどを含み、HDD13や記憶媒体70に格納された制御プログラムに従ってビデオゲーム装置100全体の制御を行う。制御部11は、タイマ割り込みを発生させるため等に用いられる内部タイマを備えている。RAM12は、制御部11のワークエリアとして用いられる。HDD13は、制御プログラムや各種のデータを保存するための記憶領域である。
【0023】
サウンド処理部14は、例えばスピーカによって構成されるサウンド出力装置60に接続される。サウンド処理部14は、制御プログラムに従って処理を実行している制御部11からのサウンド出力指示に従って、サウンド出力装置60に対してサウンド信号を出力する。なお、サウンド出力装置60は、表示装置50あるいはビデオゲーム装置本体10に内蔵されていてもよい。
【0024】
グラフィック処理部15は、画面表示がなされる画像表示部51を有する表示装置50に接続される。グラフィック処理部15は、制御部11からの描画命令に従って、フレームメモリ19に画像を展開するとともに、画像表示部51に画像を表示させるためのビデオ信号を表示装置50に対して出力する。ビデオ信号によって表示される画像の切替時間は、例えば、1フレームあたり1/30秒とされる。
【0025】
DVD/CD−ROMドライブ16には、DVD−ROMやCD−ROMなどのゲーム用の制御プログラムが格納された記憶媒体70が装着される。DVD/CD−ROMドライブ16は、装着された記憶媒体70から、制御プログラムなどの各種データを読み出す処理を行う。
【0026】
通信インターフェイス17は、インターネットなどの通信ネットワーク80に無線あるいは有線によって接続される。ビデオゲーム装置本体10は、通信インターフェイス17における通信機能を用いて、通信ネットワーク80を介して例えば他のコンピュータとの通信を行う。
【0027】
インターフェイス部18には、入力インターフェイス部21と、メモリカードスロット20とが接続される。インターフェイス部18は、プレイヤによるキーパッド30の操作にもとづく入力インターフェイス部21からの指示データをRAM12に格納する。すると、RAM12に格納された指示データに従って、制御部11が各種の演算処理を実行する。
【0028】
ビデオゲーム装置本体10は、入力インターフェイス部21を介して操作入力部(コントローラ)としてのキーパッド30に接続される。
【0029】
キーパッド30の上部には、十字キー31と、ボタン群32と、左ジョイスティック38と、右ジョイスティック39とが配設されており、十字キー31には、上方キー31a、下方キー31b、右方キー31c及び左方キー31dが含まれ、ボタン群32には、○ボタン32a、×ボタン32b、△ボタン32c及び□ボタン32dが含まれる。また、十字キー31が配設される基部と、ボタン群32とが配設される基部との連結部には、セレクトボタン35が配設されている。なお、キーパッド30の側部にもR1ボタン36やL1ボタン33等の複数のボタンが配設されている。
【0030】
キーパッド30は、十字キー31、○ボタン32a、×ボタン32b、△ボタン32c、□ボタン32d、セレクトボタン35、R1ボタン36及びL1ボタン33等のそれぞれと連係するスイッチを備え、各ボタンに対して押圧力が加えられると、その対応したスイッチがオンする。このスイッチのオン/オフに応じた検出信号がキーパッド30において生成されると共に、左ジョイスティック38及び右ジョイスティック39のそれぞれの傾倒方位に対応した検出信号がキーパッド30において生成される。
【0031】
キーパッド30において生成された2系統の検出信号が入力インターフェイス部21に供給され、キーパッド30からの検出信号が入力インターフェイス部21を介されることによりキーパッド30上のどのボタンがオンされたかを示す検出情報と、左ジョイスティック38及び右ジョイスティック39のそれぞれの状態を示す検出情報となる。このようにキーパッド30に対してなされたプレイヤによる操作指令がビデオゲーム装置本体10に与えられる。
【0032】
また、インターフェイス部18は、制御部11からの指示に従って、RAM12に記憶されているゲームの進行状況を示すデータをメモリカードスロット20に装着されているメモリーカード90に格納する処理や、メモリーカード90に保存されている中断時のゲームのデータを読み出してRAM12に転送する処理などを行う。
【0033】
ビデオゲーム装置100でゲームを行うための制御プログラムなどの各種のデータは、例えば記憶媒体70に記憶されている。記憶媒体70に記憶されている制御プログラムなどの各種のデータは、記憶媒体70が装着されているDVD/CD−ROMドライブ16によって読み出され、RAM12にロードされる。制御部11は、RAM12にロードされた制御プログラムに従って、グラフィック処理部15に対して描画命令を出力する処理や、サウンド処理部14に対してサウンド出力の指示を出力する処理などの各種の処理を実行する。なお、制御部11が処理を実行している間は、ワークメモリとして用いられるRAM12に、ゲームの進行状況によって中間的に発生するデータ(例えば、ゲームの得点、プレイヤキャラクタの状態を示すデータなど)が保存される。
【0034】
この実施の形態に係る3次元ビデオゲームは、仮想3次元空間に設けられたフィールド上でゲームが進行していくものであるものとする。なお、フィールドが形成された仮想3次元空間は、ワールド座標系によって示されるものとする。フィールドは、複数の面で構成され、各構成面の頂点の座標を特徴点として表したものである。
【0035】
次に、本例のビデオゲーム装置100の動作について説明する。
ここでは、説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。なお、本例では、RPGについてのビデオゲーム制御が実行されるものとする。
【0036】
図2は、本例のビデオゲーム装置100におけるメイン処理の例を示すフローチャートである。メイン処理は、1フレーム分の画像を生成するための処理、及びビデオゲームの制御に必要な処理であり、1/30秒ごとのタイマ割り込みに応じて実行される。なお、「1/30秒ごと」は一例であり、メイン処理は、例えば、1フィールド期間(1/60秒)ごとのタイマ割り込みに応じて実行されるものとしても、処理量によっては2フレーム期間(1/15秒)ごとのタイマ割り込みに応じて実行されるものとしてもよい。
【0037】
メイン処理において、制御部11は、ゲーム開始前であればプレイヤによるキーパッド30の操作によりゲームの開始指示があったか否かを判定し、ゲームの実行中であれば場面変更(例えばフィールドの変更)を行うタイミングとなったか否かを判定する(ステップS101)。場面変更を行うタイミングは、例えば、これまで画像表示部51に表示していた場面(例えば、仮想3次元空間によって表されている場面)を終了し、新たな場面に切り替えるために、画像表示部51に新たな場面を示す仮想3次元空間を表示するタイミングを意味する。
【0038】
ゲームの開始指示があったと判定したとき、あるいは場面変更を行うタイミングとなったと判定したときは(ステップS101のY)、制御部11は、制御プログラムに従って、初期画面(ゲーム開始時の初期画面、場面変更時の初期画面)を決定する(ステップS102)。なお、ゲームに用いられる画面やキャラクタなどの各種のデータは、記憶媒体70に格納されている。
【0039】
次いで、制御部11は、仮想カメラの視点の位置、視軸の方向、および視角の大きさを、制御プログラムに従って決定し、透視変換を行うための仮想カメラの初期設定を行う(ステップS103)。そして、ステップS115に移行する。
【0040】
ゲームの実行中であり場面変更を行うタイミングでないと判定したときは(ステップS101のN)、制御部11は、プレイヤによるキーパッド30の操作にもとづく指示データを受け付ける(ステップS104)。ステップS104にて移動に関する行動を指示するための指示データを受け付けた場合には(ステップS105のY)、制御部11は、受け付けた移動指示データに応じて移動処理を実行し(ステップS106)、移動処理に伴って派生するプレイヤキャラクタの位置情報にもとづいて移動情報を生成する(ステップS107)。そして、ステップS113に移行する。
【0041】
ステップS104にて戦闘に関する行動を指示するための指示データを受け付けた場合には(ステップS108のY)、制御部11は、受け付けたバトル指示データに応じてバトル処理を実行し(ステップS109)、バトル処理によって決定された戦闘結果や戦闘経過にもとづいてバトル情報を生成する(ステップS110)。そして、ステップS113に移行する。
【0042】
ステップS104にてその他の指示のための指示データを受け付けた場合には(ステップS111のY)、制御部11は、受け付けたその他指示データに応じた処理(例えば、会話、買物、拾得等)を実行し(ステップS112)、この処理結果に応じたその他の諸情報を生成する。そして、ステップS113に移行する。
【0043】
ステップS113にて、制御部11は、ステップS107にて生成した移動情報をRAM12の所定のデータ領域に格納することにより、プレイヤキャラクタの現在位置を更新する。また、ステップS113にて、制御部11は、ステップS110にて生成したバトル情報や、ステップS112の後に生成したその他の諸情報をRAM12の所定のデータ領域に格納することにより、プレイヤキャラクタの各種の行動履歴を記憶保持する。
【0044】
次いで、制御部11は、RAM12に一旦格納されたプレイヤキャラクタの行動履歴を示す情報にもとづいて、行動評価処理を実行する(ステップS114)。
【0045】
そして、制御部11は、仮想カメラの設定内容等に応じて、仮想カメラから表示すべきプレイヤキャラクタやノンプレイヤキャラクタを含む仮想3次元空間を仮想スクリーン上に透視変換して、画像表示部51に表示させる2次元画像を生成するための表示処理を行う(ステップS115)。表示処理を終了すると、今回のメイン処理を終了する。その後、次のフレーム期間の開始タイミングにおいてタイマ割り込みが発生すると、次回のメイン処理が実行されることとなる。そして、メイン処理が繰り返し実行されることで、キャラクタ画像がフレーム期間毎に切り替えられて、画像表示部51にて動画が表示されることになる。
【0046】
ここで、ステップS115の表示処理について簡単に説明する。ステップS115では、制御部11は、先ず、プレイヤキャラクタやノンプレイヤキャラクタを含む仮想3次元空間を構成するポリゴンの頂点の座標のうち、少なくとも仮想スクリーン上に透視変換される範囲に含まれるポリゴンの頂点の座標を、ワールド座標系の座標から視点座標系の座標に変換する。次いで、制御部11は、プレイヤキャラクタやノンプレイヤキャラクタについての視点座標系におけるポリゴンの頂点の座標をグラフィック処理部15に送信し、グラフィック処理部15に対して描画命令を出力する。
【0047】
描画命令が入力されると、グラフィック処理部15は、視点座標系の座標にもとづいて、各面を構成する各点について、前側にある点のデータが残るようにZバッファの内容を更新する。Zバッファの内容を更新すると、グラフィック処理部15は、前側にある残った点についての画像データをフレームメモリ19に展開する。また、グラフィック処理部15は、展開される画像データに対して、シェーディングやテクスチャマッピングなどの処理も行う。
【0048】
そして、グラフィック処理部15は、フレームメモリ19に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、表示装置50に出力する。表示装置50は、グラフィック処理部15から出力されたビデオ信号に対応した画像を画像表示部51に表示する。1フレーム時間ごとに画像表示部51の画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタやノンプレイヤキャラクタがフィールド上を移動する様子を含む画像を見ることができる。
【0049】
次に、本例のビデオゲーム装置100におけるキャラクタ補正動作処理について説明する。図3及び図4は、本例のビデオゲーム装置100におけるキャラクタ補正動作処理の例を示すフローチャートである。なお、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。このキャラクタ補正動作処理は、上述したメイン処理を繰り返し実行することによって実現される処理であって、特にプレイヤキャラクタの進行方向の補正に関する処理についてまとめたものである。
【0050】
本例のビデオゲーム装置100では、プレイヤによるキーパッド30の方向キー(例えば、十字キー31、左ジョイスティック38)の操作により、プレイヤキャラクタの移動指示操作がなされる。すなわち、制御部11は、キーパッド30の方向キーの操作によって示される方向(移動指示方向)に、プレイヤキャラクタを移動させるための制御を行う。ただし、ゲームフィールドに配置されている障害物にプレイヤキャラクタが衝突した場合には、制御部11は、図3及び図4に示すキャラクタ補正動作処理に従って、方向キーの操作によって示される移動指示方向とは異なる補正された方向に、プレイヤキャラクタを移動させるための制御を行う。
【0051】
キャラクタ補正動作処理において、制御部11は、先ず、プレイヤキャラクタが壁などの障害物に衝突したか否か判定する(ステップS201)。ステップS201では、制御部11は、キーパッド30の方向キーの操作によって示される移動指示方向に向いた移動指示方向ベクトル(ベクトルの大きさは、プレイヤキャラクタのステータスなどによって定められるものとする。)をプレイヤキャラクタの現在位置を示す座標に加算することで移動予定位置(移動目標位置)の座標を求め、現在位置から移動予定位置までの線分上に障害物の外縁部分(例えば障害物が壁であれば、その壁の外縁を示す辺)が交差しているか否か確認し、交差していれば衝突した(衝突する)と判定する。なお、障害物の外縁部分の座標データは、記憶媒体70に記憶されている各種のデータに含まれており、記憶媒体70が装着されているDVD/CD−ROMドライブ16によって読み出され、RAM12にロードされているものとする。
【0052】
衝突したと判定した場合には、制御部11は、補正モード中であるか否かを確認し(ステップS202)、補正モードでなければ補正モードを開始する(ステップS203)。制御部11は、例えば、ステップS202では補正モードであるか否かを示す補正モードフラグの設定状態を確認し、ステップS203ではオフ状態となっている補正モードフラグをオン状態に設定する。
【0053】
次に、制御部11は、障害物の角度を特定する(ステップS204)。本例では、ステップS204にて、衝突位置における障害物の角度を特定するために、その障害物の配置方向のベクトル(配置方向ベクトル)を特定する。なお、配置方向ベクトルは、プレイヤキャラクタの現在位置から移動予定位置までの線分と障害物の外縁との交点でその外縁に接する方向を向いたベクトルであり、障害物の配置方向のみが特定できればよいので例えば単位ベクトルとされる。また、この配置方向ベクトルは、ゲームフィールドの座標系において右向き(X正方向)に取るようにしてもよく、左向き(X負方向)に取るようにしてもよい。
【0054】
次に、制御部11は、ステップS204にて特定した配置方向ベクトルを、前回衝突時配置方向ベクトルとして、RAM12の所定の保存領域に保存する(ステップS205)。
【0055】
次に、制御部11は、ステップS204にて特定した障害物の配置方向ベクトルと、キーパッド30の方向キーの操作によって示される移動指示方向に向いた移動指示方向ベクトルとの内積を算出する(ステップS206)。なお、移動指示方向ベクトルが示す方向は、ゲームフィールドにおけるプレイヤキャラクタの進行方向に向いた進行方向ベクトルが示す向きとは必ずしも一致しない。
【0056】
次に、制御部11は、ステップS206にて算出した内積値が正負のいずれであるかに応じて、プレイヤキャラクタの回転方向を決定する(ステップS207)。具体的には、ステップS207では、制御部11は、内積値が正(ここでは0を含む)であれば配置方向ベクトルが示す方向を回転方向とし、内積値が負であれば配置方向ベクトルが示す方向と逆の方向を回転方向とすることに決定する。また、ステップS207では、回転強度(回転角度の大きさ)として「強」を設定する。回転強度が強であるときは、回転角度が比較的大きく、障害物に沿った方向に、プレイヤキャラクタの向きが速やかに近づくように回転動作が実行されるようになる。
【0057】
次に、制御部11は、ステップS206にて算出した内積値が負であれば、保存している前回衝突時配置方向ベクトルの符号を反転させる(ステップS208)。
【0058】
次に、制御部11は、ゲームフィールドにおける障害物に沿ったプレイヤキャラクタの移動位置を決定する(ステップS209)。ステップS209では、制御部11は、ステップS206にて内積値が正であると判定されていれば配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定し、ステップS206にて内積値が負であると判定されていれば配置方向ベクトルが示す方向とは逆の方向で障害物に沿った位置を移動位置に決定する。すなわち、ステップS209では、制御部11は、前回衝突時配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定する。
【0059】
そして、制御部11は、プレイヤキャラクタの向きをステップS207で決定した回転方向に所定角度回転した向きに更新し、プレイヤキャラクタの位置をステップS209で決定した移動位置に所定距離移動した位置に更新し、ゲームフィールドにおける更新後の位置に更新後の向きでプレイヤキャラクタを表示する(ステップS210)。ステップS210でのプレイヤキャラクタの向きの更新は、具体的には、例えば、プレイヤキャラクタにおける現在の向きを示すベクトル(PC方向ベクトル)が示す方向と、配置方向ベクトルが示す方向との差分角度を算出し、回転強度(強)に対応する所定角度(例えば差分角度の半分の角度)回転した向きにPC方向ベクトルを更新する処理を実行することで実現される。
【0060】
ステップS202にて補正モード中であると判定した場合には、制御部11は、ステップS204と同様に障害物の角度を特定する(ステップS211)。すなわち、本例では、ステップS211にて、衝突位置における障害物の角度を特定するために、その障害物の配置方向のベクトル(配置方向ベクトル)を特定する。
【0061】
次に、制御部11は、ステップS211にて特定した配置方向ベクトルと、保存している前回衝突時配置方向ベクトルとの内積を算出し(ステップS212)、算出した内積値が負であれば配置方向ベクトルの符号を反転させたあと(ステップS213)、前回衝突時配置方向ベクトルを配置方向ベクトルに更新する(ステップS214)。すなわち、ステップS211にて特定した配置方向ベクトル、あるいはステップS211にて特定した配置方向ベクトルの符号を反転されたベクトルを、新たな前回衝突時配置方向ベクトルとする。
【0062】
次に、ステップS209に移行する。ここでのステップS209では、制御部11は、ステップS212にて内積値が正であると判定されていればステップS211にて特定した配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定し、ステップS212にて内積値が負であると判定されていれば配置方向ベクトルが示す方向とは逆の方向で障害物に沿った位置を移動位置に決定する。すなわち、ステップS209では、制御部11は、ステップS214にて更新した前回衝突時配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定する。そして、制御部11は、ステップS210を実行する。
【0063】
次に、制御部11は、プレイヤによるキーパッド30の方向キーによる移動操作指示方向を確認し、その移動操作指示方向が変更されていなければ(ステップS215のN)、ステップS201に戻る。一方、制御部11は、プレイヤによるキーパッド30の方向キーによる移動操作指示方向が変更されていれば(ステップS215のY)、ステップS222に移行する。すなわち、方向キー操作による移動操作指示方向が変更されることなく継続されていれば(同一の操作が継続してなされた状態であれば)、ステップS201に戻る。
【0064】
上述したステップS201〜S215が繰り返し実行されることで、キーパッド30の方向キーの同一操作を継続するだけで、ゲームフィールド上に配置されている障害物に衝突したとしても、プレイヤキャラクタの方向(向き)と移動位置とがスムーズに補正され、プレイヤキャラクタをスムーズに動作させるようにすることができる。
【0065】
上述したステップS201にて衝突していないと判定した場合には、制御部11は、補正モード中であるか否かを確認する(ステップS216)。補正モード中でなければ、制御部11は、ステップS201に戻る。すなわち、キャラクタ補正動作処理では、制御部11は、補正モードでないときは、プレイヤキャラクタが障害物に衝突したか否かを監視する(ステップS201、S216)。
【0066】
補正モード中であれば、制御部11は、キーパッド30の方向キー操作による移動操作指示方向(移動指示方向ベクトルが示す方向)に近づく方向に回転するように、プレイヤキャラクタの回転方向を決定する(ステップS217)。また、制御部11は、回転強度(回転角度の大きさ)として「弱」を設定する(ステップS218)。回転強度が弱であるときは、回転角度が比較的小さく、キーパッド30の方向キー操作による移動操作指示方向に、プレイヤキャラクタの向きが緩やかに近づくように回転動作が実行される。
【0067】
次に、制御部11は、キーパッド30の方向キー操作による移動操作指示方向(移動指示方向ベクトルが示す方向)に向かう位置に、プレイヤキャラクタの移動位置を決定する(ステップS219)。
【0068】
そして、制御部11は、プレイヤキャラクタの向きをステップS217で決定した回転方向に所定角度(回転強度「弱」に対応する角度)回転した向きに更新し、プレイヤキャラクタの位置をステップS219で決定した移動位置に所定距離移動した位置に更新し、ゲームフィールドにおける更新後の位置に更新後の向きでプレイヤキャラクタを表示する(ステップS220)。ステップS220でのプレイヤキャラクタの向きの更新は、具体的には、例えば、プレイヤキャラクタにおける現在の向きを示すベクトル(PC方向ベクトル)が示す方向と、移動指示方向ベクトルが示す方向との差分角度を算出し、回転強度(弱)に対応する所定角度(例えば差分角度の1/10の角度)回転した向きにPC方向ベクトルを更新する処理を実行することで実現される。
【0069】
その後、制御部11は、キーパッド30の方向キー操作による移動操作指示方向(移動指示方向ベクトルが示す方向)とプレイヤキャラクタ向き(PC方向ベクトルが示す方向)との角度が所定値以内であるか否かを判定する(ステップS221)。所定値以内であれば、制御部11は、補正モードを終了する(ステップS222)。一方、所定値以内でなければ、制御部11は、ステップS201に戻る。
【0070】
上述したステップS216〜S221が繰り返し実行され、その後にステップS222にて補正モードが終了されることで、キーパッド30の方向キーをプレイヤが同一操作し続けるだけで、障害物との衝突が無くなったあと、プレイヤキャラクタの進行方向がキーパッド30の方向キー操作による移動操作指示方向に合致するよう速やかに調整することができ、プレイヤキャラクタの向きがキーパッド30の方向キー操作による移動操作指示方向に合致するよう緩やかに調整していくことができるようになる。
【0071】
ここで、図5〜図9を参照して、本例のビデオゲーム装置100におけるプレイヤキャラクタ(PC)の移動態様について説明する。ここでは、方向キーによる移動操作指示方向(移動指示方向ベクトルが示す方向)Xは、継続して同一方向であるものとする。
【0072】
先ず、図5に示すように、障害物Yに衝突していないときは、プレイヤキャラクタは、方向キーによる移動操作指示方向Xを進行方向として移動していく(ステップS104〜S107,S115参照)。
【0073】
その後、図6に示すように、プレイヤキャラクタが障害物Yに衝突すると(ステップS201のY)、補正モードが開始され(ステップS203)、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、障害物Yに沿った方向に移動していく(ステップS204〜S214)。障害物Yが壁である場合には、図7に示すように壁に向かって移動していたプレイヤキャラクタが、図8に示すように壁に沿った方向に向きを変えて移動していくようになる。
【0074】
そして、プレイヤキャラクタが障害物Yに衝突したと判定されている間(ステップS201にてYと判定されている間)は、図6に示すように、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、障害物Yに沿った方向に移動していく動作が継続される(ステップS201のY,S202のY,ステップS204〜S214,S215のN)。
【0075】
その後、プレイヤキャラクタが障害物Yに衝突していないと判定されると(ステップS201のN)、補正モード中であるため(ステップS216のY)、図9に示すように、移動操作指示方向Xに近づく方向(例えば移動指示方向ベクトルとPC方向ベクトルとの角度θが、角度θ、角度θと0に近づいていく方向)にプレイヤキャラクタの向きが緩やかに近づくように回転されつつ、移動操作指示方向Xが示す方向にプレイヤキャラクタが移動していくようになる(ステップS216のY,S217〜S220,S221のN)。
【0076】
そして、移動操作指示方向Xとプレイヤキャラクタの向きを示す方向との角度が所定値以内となったときに(ステップS221のY)、補正モードを終了し(ステップS222)、プレイヤキャラクタが移動操作指示方向Xに向いて移動操作指示方向Xに移動していく通常状態(非補正モード状態)に戻ることとなる。
【0077】
次に、図10及び図11を参照して、本例のビデオゲーム装置100におけるプレイヤキャラクタ(PC)が障害物である壁Zaと柱Zbに衝突した場合の移動態様について説明する。ここでは、方向キーによる移動操作指示方向Xは、継続して同一方向であるものとする。また、上述した図3及び図4の処理では特に言及していないが、補正モード中に新たな障害物に衝突した場合には、一旦補正モードが終了し、新たにステップS203にて補正モードが開始されるものとする。
【0078】
先ず、図10に示すように、障害物に衝突していないときは、プレイヤキャラクタは、方向キーによる移動操作指示方向Xを進行方向として移動していく(ステップS104〜S107,S115参照)。その後、プレイヤキャラクタが壁Zaに衝突すると(ステップS201のY)、補正モードが開始され(ステップS203)、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、壁Zaに沿った方向に移動していく(ステップS204〜S210)。プレイヤキャラクタが壁Zaに衝突したと判定されている間(ステップS201にてYと判定されている間)は、進行方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、壁Zaに沿った方向に移動していく動作が継続される(ステップS201のY,S202のY,S211〜S214,ステップS209〜S210,S215のN)。
【0079】
そして、プレイヤキャラクタが柱Zbに衝突すると(ステップS201のY)、図11に示すように、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、柱Zbに沿った方向に移動していく(ステップS204〜S210)。プレイヤキャラクタが柱Zbに衝突したと判定されている間(ステップS201にてYと判定されている間)は、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、柱Zbに沿った方向に移動していく動作が継続される(ステップS201のY,S202のY,S211〜S214,ステップS209〜S210,S215のN)。
【0080】
その後、プレイヤキャラクタが柱Zbに衝突していないと判定されると(ステップS201のN)、補正モード中であるため(ステップS216のY)、図12に示すように、移動操作指示方向Xに近づく方向にプレイヤキャラクタの向きが緩やかに近づくように回転されつつ、移動操作指示方向Xに近づく方向にプレイヤキャラクタが移動していくようになる(ステップS216のY,S217〜S220,S221のN)。
【0081】
そして、移動操作指示方向Xとプレイヤキャラクタの進行方向との角度が所定値以内となったときに(ステップS221のY)、補正モードを終了し(ステップS222)、移動操作指示方向Xにプレイヤキャラクタが移動していく通常状態(非補正モード状態)に戻ることとなる。
【0082】
なお、非補正モード状態に戻ったあとは、さらに壁Zaに衝突するので、柱Zb沿いを移動したあとさらに壁Za沿いを移動することになる。
【0083】
以上に説明したように、上述した一実施の形態では、制御部11が、プレイヤによる方向キーの移動指示操作に応じたプレイヤキャラクタの移動方向の指定を受け付け、プレイヤキャラクタが移動する位置を決定し、ビデオゲームで用いられるゲームフィールド上に配置されている障害物にプレイヤキャラクタが衝突したか否かを判定し、衝突したと判定したときにプレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ補正モードに設定し、補正モードに設定されていないときに衝突したと判定したときは障害物の配置方向ベクトルと移動指示方向ベクトルとの内積値を算出し、補正モードに設定されているときに衝突したと判定したときは障害物の配置方向ベクトルと前回配置方向ベクトル(前回衝突時配置方向ベクトル)との内積値を算出する構成とされている。そして、制御部11が、プレイヤキャラクタが移動する位置を決定するにあたって、補正モードが設定されていないときは、プレイヤによる方向キーの移動指示操作に応じた移動方向に移動させるためのプレイヤキャラクタの移動位置を決定し、補正モードに設定されていないときに衝突したと判定したときは算出した配置方向ベクトルと進行方向ベクトルとの内積値に基づく移動方向で障害物に沿った移動方向に移動させるためのプレイヤキャラクタの移動位置を決定し、補正モードに設定されているときに衝突したと判定したときは配置方向ベクトルと前回配置方向ベクトルとの内積値に基づく移動方向で障害物に沿った移動方向に移動させるためのプレイヤキャラクタの移動位置を決定し、補正モードが設定されているときに衝突していないと判定したときはプレイヤによる方向キーの移動指示操作に応じた移動方向に向かう方向に移動させるためのプレイヤキャラクタの移動位置を決定する構成とされている。このような構成としたことで、プレイヤキャラクタの移動位置をスムーズに補正することが可能となり、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【0084】
また、上述した実施の形態では、制御部11が、補正モードが設定されていないときはプレイヤによる方向キーの移動指示操作に応じた移動方向に向かせるためのプレイヤキャラクタの向きを決定し、衝突したと判定したときは算出した内積値に基づく回転方向で障害物に沿った方向に所定角度回転させた方向に向かせるためのプレイヤキャラクタの向きを決定し、補正モードが設定されているときに衝突していないと判定したときはプレイヤによる方向キーの移動指示操作に応じた移動方向に特定角度回転させた方向に向かせるためのプレイヤキャラクタの向きを決定する構成としたので、プレイヤキャラクタの向きをスムーズに補正することが可能となり、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【0085】
また、上述した実施の形態では、制御部11が、決定した移動位置に決定した向きでプレイヤキャラクタを表示する構成としたので、プレイヤキャラクタの移動位置と向きとがスムーズに補正されたゲーム画面を表示することができる。
【0086】
また、上述した実施の形態では、制御部11が、プレイヤによる方向キーの移動指示操作に応じた移動方向が変更したか否かを監視し、補正モードに設定されているときに移動方向が変更したと判定された場合には、補正モードの設定を解除する構成としているので、プレイヤによる方向キーの移動指示操作が変更されたときに速やかに補正モードを解除することが可能となる。
【0087】
また、上述した実施の形態では、制御部11が、補正モードが設定されているときに衝突していないと判定したことに応じて決定された移動位置にプレイヤキャラクタが移動されたあと、プレイヤによる方向キーの移動指示操作に応じた移動方向とプレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定し、補正モード解除値以下であると判定したときに、補正モードの設定を解除する構成としているので、プレイヤによる方向キーの移動指示操作に応じた移動方向とプレイヤキャラクタの移動方向とが近づいたときに、速やかに補正モードを解除することが可能となる。よって、プレイヤキャラクタをスムーズに移動させることが可能となる。
【0088】
また、上述した実施の形態では、制御部11が、プレイヤキャラクタの現在位置と進行方向ベクトルとに基づき移動予定位置を算出し、算出した移動予定位置が障害物の配置領域内であるか否かを確認することによって障害物にプレイヤキャラクタが衝突したか否かを判定する構成としているので、簡単な演算処理によって衝突判定を行うことが可能となる。すなわち、障害物とプレイヤキャラクタとの距離を計測したりする必要がなく、衝突するか否かを簡単な演算によって判定するようにしているので、制御部11における衝突判定の負荷を抑制させることができる。
【産業上の利用可能性】
【0089】
本発明によれば、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができるビデオゲーム装置に適用するのに有用である。
【図面の簡単な説明】
【0090】
【図1】本発明の一実施の形態におけるビデオゲーム装置の構成例を示すブロック図である。
【図2】メイン処理の例を示すフローチャートである。
【図3】キャラクタ補正動作処理の例を示すフローチャートである。
【図4】キャラクタ補正動作処理の例を示すフローチャートである。
【図5】プレイヤキャラクタの移動態様の例を示す説明図である。
【図6】プレイヤキャラクタの移動態様の例を示す説明図である。
【図7】プレイヤキャラクタが障害物に衝突した状態の例を示す説明図である。
【図8】プレイヤキャラクタが補正動作により障害物に沿って移動した状態の例を示す説明図である。
【図9】プレイヤキャラクタの移動態様の例を示す説明図である。
【図10】プレイヤキャラクタの移動態様の他の例を示す説明図である。
【図11】プレイヤキャラクタの移動態様の他の例を示す説明図である。
【図12】プレイヤキャラクタの移動態様の他の例を示す説明図である。
【符号の説明】
【0091】
10 ビデオゲーム装置本体
11 制御部
12 RAM
13 HDD
14 サウンド処理部
15 グラフィック処理部
16 DVD/CD−ROM
17 通信インターフェイス
18 インターフェイス部
19 フレームメモリ
20 メモリーカードスロット
21 入力インターフェイス部
22 内部バス
30 キーパッド
50 表示装置
51 画像表示部
60 サウンド出力装置
70 記憶媒体
80 通信ネットワーク
90 メモリーカード
100 ビデオゲーム装置

【特許請求の範囲】
【請求項1】
プレイヤキャラクタを画像表示装置の表示画面上に表示し、前記表示画面上に表示されている前記プレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理装置であって、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付手段と、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定手段と、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定手段と、
該衝突判定手段により衝突したと判定されたときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定手段と、
前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第1内積算出手段と、
前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第2内積算出手段と、を含み、
前記移動位置決定手段は、
前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記第1内積判定手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記第2内積判定手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する
ことを特徴とするビデオゲーム処理装置。
【請求項2】
前記プレイヤキャラクタの向きを決定する方向決定手段を含み、
前記方向決定手段は、
前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に向かせるための前記プレイヤキャラクタの向きを決定し、
前記衝突判定手段により衝突したと判定されたときは、前記第1内積判定手段により算出された内積値に基づく回転方向で前記障害物に沿った方向に所定角度回転させた方向に向かせるためのため前記プレイヤキャラクタの向きを決定し、
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に特定角度回転させた方向に向かせるための前記プレイヤキャラクタの向きを決定する
請求項1記載のビデオゲーム処理装置。
【請求項3】
前記移動位置決定手段が決定した移動位置に前記方向決定手段が決定した向きで前記プレイヤキャラクタを表示するプレイヤキャラクタ表示手段を含む
請求項2記載のビデオゲーム処理装置。
【請求項4】
前記所定角度は、前記特定角度よりも大きい角度にあらかじめ設定されている
請求項2または請求項3記載のビデオゲーム処理装置。
【請求項5】
前記移動方向受付手段が受け付けた移動方向が変更したか否かを判定する変更判定手段と、
前記補正モードに設定されているときに、前記変更判定手段により移動方向が変更したと判定された場合には、前記補正モードの設定を解除する操作判定補正モード解除手段とを含む
請求項1から請求項4のうちいずれかに記載のビデオゲーム処理装置。
【請求項6】
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたことに応じて前記移動位置決定手段によって決定された移動位置にプレイヤキャラクタが移動されたあと、前記移動方向受付手段が受け付けた移動方向と前記プレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定する角度判定手段と、
該角度判定手段により前記補正モード解除値以下であると判定されたときに、前記補正モードの設定を解除する角度判定補正モード解除手段とを含む
請求項1から請求項5のうちいずれかに記載のビデオゲーム処理装置。
【請求項7】
前記衝突判定手段は、前記プレイヤキャラクタの現在位置と前記進行方向ベクトルとに基づき移動予定位置を算出し、算出した移動予定位置が前記障害物の配置領域内であるか否かを確認することによって当該障害物に前記プレイヤキャラクタが衝突したか否かを判定する
請求項1から請求項6のうちいずれかに記載のビデオゲーム処理装置。
【請求項8】
画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理方法であって、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、
該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第1内積算出ステップと、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第2内積算出ステップと、を含み、
前記移動位置決定ステップでは、
前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第1内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第2内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する
ことを特徴とするビデオゲーム処理方法。
【請求項9】
画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御させるビデオゲーム処理プログラムであって、
コンピュータに、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、
該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第1内積算出ステップと、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第2内積算出ステップと、を実行させ、
前記移動位置決定ステップでは、
前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第1内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第2内積判定ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する処理を
実行させるためのビデオゲーム処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2009−22553(P2009−22553A)
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2007−189314(P2007−189314)
【出願日】平成19年7月20日(2007.7.20)
【出願人】(592044813)株式会社スクウェア・エニックス・ホールディングス (115)
【Fターム(参考)】