(57)【特許請求の範囲】
【請求項１】
プレイヤキャラクタを画像表示装置の表示画面上に表示し、前記表示画面上に表示されている前記プレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理装置であって、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付手段と、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定手段と、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定手段と、
該衝突判定手段により衝突したと判定されたときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定手段と、
前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出手段と、
前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出手段と、
前記移動方向受付手段が受け付けた移動方向が変更したか否かを判定する変更判定手段と、
前記補正モードに設定されているときに、前記変更判定手段により移動方向が変更したと判定された場合には、前記補正モードの設定を解除する操作判定補正モード解除手段と、を含み、
前記移動位置決定手段は、
前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記第１内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記第２内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する
ことを特徴とするビデオゲーム処理装置。
【請求項２】
プレイヤキャラクタを画像表示装置の表示画面上に表示し、前記表示画面上に表示されている前記プレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理装置であって、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付手段と、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定手段と、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定手段と、
該衝突判定手段により衝突したと判定されたときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定手段と、
前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出手段と、
前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出手段と、を含み、
前記移動位置決定手段は、
前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記第１内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記第２内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する構成とされ、
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたことに応じて前記移動位置決定手段によって決定された移動位置にプレイヤキャラクタが移動されたあと、前記移動方向受付手段が受け付けた移動方向と前記プレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定する角度判定手段と、
該角度判定手段により前記補正モード解除値以下であると判定されたときに、前記補正モードの設定を解除する角度判定補正モード解除手段とを含む
ことを特徴とするビデオゲーム処理装置。
【請求項３】
前記プレイヤキャラクタの向きを決定する方向決定手段を含み、
前記方向決定手段は、
前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に向かせるための前記プレイヤキャラクタの向きを決定し、
前記衝突判定手段により衝突したと判定されたときは、前記第１内積算出手段により算出された内積値に基づく回転方向で前記障害物に沿った方向に所定角度回転させた方向に向かせるための前記プレイヤキャラクタの向きを決定し、
前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に特定角度回転させた方向に向かせるための前記プレイヤキャラクタの向きを決定する
請求項１または請求項２記載のビデオゲーム処理装置。
【請求項４】
前記移動位置決定手段が決定した移動位置に前記方向決定手段が決定した向きで前記プレイヤキャラクタを表示するプレイヤキャラクタ表示手段を含む
請求項３記載のビデオゲーム処理装置。
【請求項５】
前記所定角度は、前記特定角度よりも大きい角度にあらかじめ設定されている
請求項３または請求項４記載のビデオゲーム処理装置。
【請求項６】
前記衝突判定手段は、前記プレイヤキャラクタの現在位置と前記移動方向受付手段が受け付けた移動方向とに基づき移動予定位置を算出し、算出した移動予定位置が前記障害物の配置領域内であるか否かを確認することによって当該障害物に前記プレイヤキャラクタが衝突したか否かを判定する
請求項１から請求項５のうちいずれかに記載のビデオゲーム処理装置。
【請求項７】
画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御させるビデオゲーム処理プログラムであって、
コンピュータに、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、
該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出ステップと、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出ステップと、
前記移動方向受付ステップにて受け付けた移動方向が変更したか否かを判定する変更判定ステップと、
前記補正モードに設定されているときに、前記変更判定ステップにて移動方向が変更したと判定した場合に、前記補正モードの設定を解除する操作判定補正モード解除ステップと、を実行させ、
前記移動位置決定ステップでは、
前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第１内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第２内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する処理を
実行させるためのビデオゲーム処理プログラム。
【請求項８】
画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御させるビデオゲーム処理プログラムであって、
コンピュータに、
プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、
前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、
前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、
該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出ステップと、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出ステップと、を実行させ、
前記移動位置決定ステップでは、
前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第１内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第２内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、
前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する処理を実行させ、
さらに、前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したことに応じて前記移動位置決定ステップにて決定した移動位置にプレイヤキャラクタが移動されたあと、前記移動方向受付ステップにて受け付けた移動方向と前記プレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定する角度判定ステップと、
該角度判定ステップにて前記補正モード解除値以下であると判定したときに、前記補正モードの設定を解除する角度判定補正モード解除ステップとを
実行させるためのビデオゲーム処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤキャラクタを画像表示装置の表示画面上に表示し、表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するための技術に関する。
【背景技術】
【０００２】
従来から、ＲＰＧ（ロールプレイングゲーム：プレイヤがゲームの世界の中であるキャラクタの役割を演じ、様々な経験を通して成長していく過程を楽しみながら、所定の目的を達成していくゲーム。）と呼ばれるゲームなどの様々なジャンルのビデオゲームが提供されている。
【０００３】
このようなビデオゲームにおいて、プレイヤが操作するキャラクタ（プレイヤキャラクタ）がゲームにおけるフィールド上を移動しているときに、プレイヤキャラクタの視線の変化に伴い３次元空間の表示形態が変化しても、プレイヤが継続して操作指示している進行方向にプレイヤキャラクタを継続して移動させていくようにしたものがある（特許文献１参照）。
【０００４】
【特許文献１】特開２００２−２９２１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１に記載された発明は、プレイヤキャラクタがゲームにおけるフィールド上を移動しているときに壁などの障害物に当った場合については言及されていない。プレイヤキャラクタが障害物に当った場合に、プレイヤが継続して操作指示している進行方向とは一致しない進行可能な方向にプレイヤキャラクタが移動していくように、自動的に進行方向を補正することが考えられる。しかしながら、プレイヤキャラクタがスムーズに移動していくように進行方向を補正することは困難であり、スムーズでない不自然な動きになってしまうため、プレイヤにストレスを与えることとなっているという問題があった。特にＲＰＧなどのビデオゲームでは、プレイヤキャラクタが移動していくシーンが多く登場するため、プレイヤのストレスにならないようスムーズにプレイヤキャラクタを移動させることができるようなものが望まれている。
【０００６】
本発明は、上記の問題を解消すべく、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明のビデオゲーム処理装置は、プレイヤキャラクタを画像表示装置の表示画面上に表示し、前記表示画面上に表示されている前記プレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理装置であって、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付手段と、前記プレイヤキャラクタが移動する位置を決定する移動位置決定手段と、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定手段と、該衝突判定手段により衝突したと判定されたときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定手段と、前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出手段と、前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出手段と、前記移動方向受付手段が受け付けた移動方向が変更したか否かを判定する変更判定手段と、前記補正モードに設定されているときに、前記変更判定手段により移動方向が変更したと判定された場合には、前記補正モードの設定を解除する操作判定補正モード解除手段と、を含み、前記移動位置決定手段は、前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記第１内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記第２内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定することを特徴とする。
また、本発明のビデオゲーム処理装置は、プレイヤキャラクタを画像表示装置の表示画面上に表示し、前記表示画面上に表示されている前記プレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御するビデオゲーム処理装置であって、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付手段と、前記プレイヤキャラクタが移動する位置を決定する移動位置決定手段と、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定手段と、該衝突判定手段により衝突したと判定されたときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定手段と、前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出手段と、前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出手段と、を含み、前記移動位置決定手段は、前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定手段により衝突したと判定されたときは、前記第１内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定手段により衝突したと判定されたときは、前記第２内積算出手段により算出された内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する構成とされ、前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたことに応じて前記移動位置決定手段によって決定された移動位置にプレイヤキャラクタが移動されたあと、前記移動方向受付手段が受け付けた移動方向と前記プレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定する角度判定手段と、該角度判定手段により前記補正モード解除値以下であると判定されたときに、前記補正モードの設定を解除する角度判定補正モード解除手段とを含むことを特徴とする。
【０００８】
上記の構成としたことで、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【０００９】
前記プレイヤキャラクタの向きを決定する方向決定手段を含み、前記方向決定手段は、前記補正モードが設定されていないときは、前記移動方向受付手段が受け付けた移動方向に向かせるための前記プレイヤキャラクタの向きを決定し、前記衝突判定手段により衝突したと判定されたときは、前記第１内積算出手段により算出された内積値に基づく回転方向で前記障害物に沿った方向に所定角度回転させた方向に向かせるための前記プレイヤキャラクタの向きを決定し、前記補正モードが設定されているときに前記衝突判定手段により衝突していないと判定されたときは、前記移動方向受付手段が受け付けた移動方向に特定角度回転させた方向に向かせるための前記プレイヤキャラクタの向きを決定するように構成されていてもよい。
【００１０】
前記移動位置決定手段が決定した移動位置に前記方向決定手段が決定した向きで前記プレイヤキャラクタを表示するプレイヤキャラクタ表示手段を含む構成とされていてもよい。
【００１１】
前記所定角度は、前記特定角度よりも大きい角度にあらかじめ設定されていることが望ましい。
【００１４】
前記衝突判定手段は、前記プレイヤキャラクタの現在位置と前記移動方向受付手段が受け付けた移動方向とに基づき移動予定位置を算出し、算出した移動予定位置が前記障害物の配置領域内であるか否かを確認することによって当該障害物に前記プレイヤキャラクタが衝突したか否かを判定するように構成されていてもよい。
【００１６】
さらに、本発明のビデオゲーム処理プログラムは、画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御させるビデオゲーム処理プログラムであって、コンピュータに、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出ステップと、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出ステップと、前記移動方向受付ステップにて受け付けた移動方向が変更したか否かを判定する変更判定ステップと、前記補正モードに設定されているときに、前記変更判定ステップにて移動方向が変更したと判定した場合に、前記補正モードの設定を解除する操作判定補正モード解除ステップと、を実行させ、前記移動位置決定ステップでは、前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第１内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第２内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する処理を実行させるためのものである。
また、本発明のビデオゲーム処理プログラムは、画像表示装置の表示画面上に表示されているプレイヤキャラクタの移動を含む行動をプレイヤの操作に応じて制御することでビデオゲームの進行を制御させるビデオゲーム処理プログラムであって、コンピュータに、プレイヤによる入力装置の移動指示操作に応じた前記プレイヤキャラクタの移動方向の指定を受け付ける移動方向受付ステップと、前記プレイヤキャラクタが移動する位置を決定する移動位置決定ステップと、前記ビデオゲームで用いられるゲームフィールド上に配置されている障害物に前記プレイヤキャラクタが衝突したか否かを判定する衝突判定ステップと、該衝突判定ステップにて衝突したと判定したときに、前記プレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ、当該補正モードに設定する補正モード設定ステップと、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと前記移動指示操作に応じた移動指示方向ベクトルとの内積値を算出する第１内積算出ステップと、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記障害物の配置方向ベクトルと当該障害物の前回衝突時の配置方向ベクトルである前回配置方向ベクトルとの内積値を算出する第２内積算出ステップと、を実行させ、前記移動位置決定ステップでは、前記補正モードが設定されていないときは、前記移動方向受付ステップにて受け付けた移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されていないときに前記衝突判定ステップにて衝突したと判定したときは、前記第１内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードに設定されているときに前記衝突判定ステップにて衝突したと判定したときは、前記第２内積算出ステップにて算出した内積値に基づく移動方向で前記障害物に沿った移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定し、前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したときは、前記移動方向受付ステップにて受け付けた移動方向に向かう移動方向に移動させるための前記プレイヤキャラクタの移動位置を決定する処理を実行させ、さらに、前記補正モードが設定されているときに前記衝突判定ステップにて衝突していないと判定したことに応じて前記移動位置決定ステップにて決定した移動位置にプレイヤキャラクタが移動されたあと、前記移動方向受付ステップにて受け付けた移動方向と前記プレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定する角度判定ステップと、該角度判定ステップにて前記補正モード解除値以下であると判定したときに、前記補正モードの設定を解除する角度判定補正モード解除ステップとを実行させるためのものである。
【発明の効果】
【００１７】
本発明によれば、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施の形態について図面を参照して説明する。
【００１９】
図１は、本発明の一実施の形態における描画装置の一例を示すビデオゲーム装置１００の構成の例を示すブロック図である。図１に示すように、本例のビデオゲーム装置１００は、ビデオゲーム装置本体１０と、表示装置５０と、サウンド出力装置６０とを含む。ビデオゲーム装置本体１０は、例えば市販のビデオゲーム機によって構成される。また、表示装置５０は、例えばテレビジョン装置や液晶表示装置などによって構成され、画像表示部５１を有している。
【００２０】
ビデオゲーム装置本体１０は、制御部１１と、ＲＡＭ１２と、ハードディスクドライブ（ＨＤＤ）１３と、サウンド処理部１４と、グラフィック処理部１５と、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６と、通信インターフェイス１７と、インターフェイス部１８と、フレームメモリ１９と、メモリーカードスロット２０と、入力インターフェイス部２１とを含む。
【００２１】
制御部１１、ＲＡＭ１２、ハードディスクドライブ（ＨＤＤ）１３、サウンド処理部１４、グラフィック処理部１５、ＤＶＤ／ＣＤ−ＲＯＭドライブ１６、通信インターフェイス１７、及びインターフェイス部１８は、それぞれ内部バス２２に接続されている。
【００２２】
制御部１１は、ＣＰＵやＲＯＭなどを含み、ＨＤＤ１３や記憶媒体７０に格納された制御プログラムに従ってビデオゲーム装置１００全体の制御を行う。制御部１１は、タイマ割り込みを発生させるため等に用いられる内部タイマを備えている。ＲＡＭ１２は、制御部１１のワークエリアとして用いられる。ＨＤＤ１３は、制御プログラムや各種のデータを保存するための記憶領域である。
【００２３】
サウンド処理部１４は、例えばスピーカによって構成されるサウンド出力装置６０に接続される。サウンド処理部１４は、制御プログラムに従って処理を実行している制御部１１からのサウンド出力指示に従って、サウンド出力装置６０に対してサウンド信号を出力する。なお、サウンド出力装置６０は、表示装置５０あるいはビデオゲーム装置本体１０に内蔵されていてもよい。
【００２４】
グラフィック処理部１５は、画面表示がなされる画像表示部５１を有する表示装置５０に接続される。グラフィック処理部１５は、制御部１１からの描画命令に従って、フレームメモリ１９に画像を展開するとともに、画像表示部５１に画像を表示させるためのビデオ信号を表示装置５０に対して出力する。ビデオ信号によって表示される画像の切替時間は、例えば、１フレームあたり１／３０秒とされる。
【００２５】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１６には、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどのゲーム用の制御プログラムが格納された記憶媒体７０が装着される。ＤＶＤ／ＣＤ−ＲＯＭドライブ１６は、装着された記憶媒体７０から、制御プログラムなどの各種データを読み出す処理を行う。
【００２６】
通信インターフェイス１７は、インターネットなどの通信ネットワーク８０に無線あるいは有線によって接続される。ビデオゲーム装置本体１０は、通信インターフェイス１７における通信機能を用いて、通信ネットワーク８０を介して例えば他のコンピュータとの通信を行う。
【００２７】
インターフェイス部１８には、入力インターフェイス部２１と、メモリカードスロット２０とが接続される。インターフェイス部１８は、プレイヤによるキーパッド３０の操作にもとづく入力インターフェイス部２１からの指示データをＲＡＭ１２に格納する。すると、ＲＡＭ１２に格納された指示データに従って、制御部１１が各種の演算処理を実行する。
【００２８】
ビデオゲーム装置本体１０は、入力インターフェイス部２１を介して操作入力部（コントローラ）としてのキーパッド３０に接続される。
【００２９】
キーパッド３０の上部には、十字キー３１と、ボタン群３２と、左ジョイスティック３８と、右ジョイスティック３９とが配設されており、十字キー３１には、上方キー３１ａ、下方キー３１ｂ、右方キー３１ｃ及び左方キー３１ｄが含まれ、ボタン群３２には、○ボタン３２ａ、×ボタン３２ｂ、△ボタン３２ｃ及び□ボタン３２ｄが含まれる。また、十字キー３１が配設される基部と、ボタン群３２とが配設される基部との連結部には、セレクトボタン３５が配設されている。なお、キーパッド３０の側部にもＲ１ボタン３６やＬ１ボタン３３等の複数のボタンが配設されている。
【００３０】
キーパッド３０は、十字キー３１、○ボタン３２ａ、×ボタン３２ｂ、△ボタン３２ｃ、□ボタン３２ｄ、セレクトボタン３５、Ｒ１ボタン３６及びＬ１ボタン３３等のそれぞれと連係するスイッチを備え、各ボタンに対して押圧力が加えられると、その対応したスイッチがオンする。このスイッチのオン／オフに応じた検出信号がキーパッド３０において生成されると共に、左ジョイスティック３８及び右ジョイスティック３９のそれぞれの傾倒方位に対応した検出信号がキーパッド３０において生成される。
【００３１】
キーパッド３０において生成された２系統の検出信号が入力インターフェイス部２１に供給され、キーパッド３０からの検出信号が入力インターフェイス部２１を介されることによりキーパッド３０上のどのボタンがオンされたかを示す検出情報と、左ジョイスティック３８及び右ジョイスティック３９のそれぞれの状態を示す検出情報となる。このようにキーパッド３０に対してなされたプレイヤによる操作指令がビデオゲーム装置本体１０に与えられる。
【００３２】
また、インターフェイス部１８は、制御部１１からの指示に従って、ＲＡＭ１２に記憶されているゲームの進行状況を示すデータをメモリカードスロット２０に装着されているメモリーカード９０に格納する処理や、メモリーカード９０に保存されている中断時のゲームのデータを読み出してＲＡＭ１２に転送する処理などを行う。
【００３３】
ビデオゲーム装置１００でゲームを行うための制御プログラムなどの各種のデータは、例えば記憶媒体７０に記憶されている。記憶媒体７０に記憶されている制御プログラムなどの各種のデータは、記憶媒体７０が装着されているＤＶＤ／ＣＤ−ＲＯＭドライブ１６によって読み出され、ＲＡＭ１２にロードされる。制御部１１は、ＲＡＭ１２にロードされた制御プログラムに従って、グラフィック処理部１５に対して描画命令を出力する処理や、サウンド処理部１４に対してサウンド出力の指示を出力する処理などの各種の処理を実行する。なお、制御部１１が処理を実行している間は、ワークメモリとして用いられるＲＡＭ１２に、ゲームの進行状況によって中間的に発生するデータ（例えば、ゲームの得点、プレイヤキャラクタの状態を示すデータなど）が保存される。
【００３４】
この実施の形態に係る３次元ビデオゲームは、仮想３次元空間に設けられたフィールド上でゲームが進行していくものであるものとする。なお、フィールドが形成された仮想３次元空間は、ワールド座標系によって示されるものとする。フィールドは、複数の面で構成され、各構成面の頂点の座標を特徴点として表したものである。
【００３５】
次に、本例のビデオゲーム装置１００の動作について説明する。
ここでは、説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。なお、本例では、ＲＰＧについてのビデオゲーム制御が実行されるものとする。
【００３６】
図２は、本例のビデオゲーム装置１００におけるメイン処理の例を示すフローチャートである。メイン処理は、１フレーム分の画像を生成するための処理、及びビデオゲームの制御に必要な処理であり、１／３０秒ごとのタイマ割り込みに応じて実行される。なお、「１／３０秒ごと」は一例であり、メイン処理は、例えば、１フィールド期間（１／６０秒）ごとのタイマ割り込みに応じて実行されるものとしても、処理量によっては２フレーム期間（１／１５秒）ごとのタイマ割り込みに応じて実行されるものとしてもよい。
【００３７】
メイン処理において、制御部１１は、ゲーム開始前であればプレイヤによるキーパッド３０の操作によりゲームの開始指示があったか否かを判定し、ゲームの実行中であれば場面変更（例えばフィールドの変更）を行うタイミングとなったか否かを判定する（ステップＳ１０１）。場面変更を行うタイミングは、例えば、これまで画像表示部５１に表示していた場面（例えば、仮想３次元空間によって表されている場面）を終了し、新たな場面に切り替えるために、画像表示部５１に新たな場面を示す仮想３次元空間を表示するタイミングを意味する。
【００３８】
ゲームの開始指示があったと判定したとき、あるいは場面変更を行うタイミングとなったと判定したときは（ステップＳ１０１のＹ）、制御部１１は、制御プログラムに従って、初期画面（ゲーム開始時の初期画面、場面変更時の初期画面）を決定する（ステップＳ１０２）。なお、ゲームに用いられる画面やキャラクタなどの各種のデータは、記憶媒体７０に格納されている。
【００３９】
次いで、制御部１１は、仮想カメラの視点の位置、視軸の方向、および視角の大きさを、制御プログラムに従って決定し、透視変換を行うための仮想カメラの初期設定を行う（ステップＳ１０３）。そして、ステップＳ１１５に移行する。
【００４０】
ゲームの実行中であり場面変更を行うタイミングでないと判定したときは（ステップＳ１０１のＮ）、制御部１１は、プレイヤによるキーパッド３０の操作にもとづく指示データを受け付ける（ステップＳ１０４）。ステップＳ１０４にて移動に関する行動を指示するための指示データを受け付けた場合には（ステップＳ１０５のＹ）、制御部１１は、受け付けた移動指示データに応じて移動処理を実行し（ステップＳ１０６）、移動処理に伴って派生するプレイヤキャラクタの位置情報にもとづいて移動情報を生成する（ステップＳ１０７）。そして、ステップＳ１１３に移行する。
【００４１】
ステップＳ１０４にて戦闘に関する行動を指示するための指示データを受け付けた場合には（ステップＳ１０８のＹ）、制御部１１は、受け付けたバトル指示データに応じてバトル処理を実行し（ステップＳ１０９）、バトル処理によって決定された戦闘結果や戦闘経過にもとづいてバトル情報を生成する（ステップＳ１１０）。そして、ステップＳ１１３に移行する。
【００４２】
ステップＳ１０４にてその他の指示のための指示データを受け付けた場合には（ステップＳ１１１のＹ）、制御部１１は、受け付けたその他指示データに応じた処理（例えば、会話、買物、拾得等）を実行し（ステップＳ１１２）、この処理結果に応じたその他の諸情報を生成する。そして、ステップＳ１１３に移行する。
【００４３】
ステップＳ１１３にて、制御部１１は、ステップＳ１０７にて生成した移動情報をＲＡＭ１２の所定のデータ領域に格納することにより、プレイヤキャラクタの現在位置を更新する。また、ステップＳ１１３にて、制御部１１は、ステップＳ１１０にて生成したバトル情報や、ステップＳ１１２の後に生成したその他の諸情報をＲＡＭ１２の所定のデータ領域に格納することにより、プレイヤキャラクタの各種の行動履歴を記憶保持する。
【００４４】
次いで、制御部１１は、ＲＡＭ１２に一旦格納されたプレイヤキャラクタの行動履歴を示す情報にもとづいて、行動評価処理を実行する（ステップＳ１１４）。
【００４５】
そして、制御部１１は、仮想カメラの設定内容等に応じて、仮想カメラから表示すべきプレイヤキャラクタやノンプレイヤキャラクタを含む仮想３次元空間を仮想スクリーン上に透視変換して、画像表示部５１に表示させる２次元画像を生成するための表示処理を行う（ステップＳ１１５）。表示処理を終了すると、今回のメイン処理を終了する。その後、次のフレーム期間の開始タイミングにおいてタイマ割り込みが発生すると、次回のメイン処理が実行されることとなる。そして、メイン処理が繰り返し実行されることで、キャラクタ画像がフレーム期間毎に切り替えられて、画像表示部５１にて動画が表示されることになる。
【００４６】
ここで、ステップＳ１１５の表示処理について簡単に説明する。ステップＳ１１５では、制御部１１は、先ず、プレイヤキャラクタやノンプレイヤキャラクタを含む仮想３次元空間を構成するポリゴンの頂点の座標のうち、少なくとも仮想スクリーン上に透視変換される範囲に含まれるポリゴンの頂点の座標を、ワールド座標系の座標から視点座標系の座標に変換する。次いで、制御部１１は、プレイヤキャラクタやノンプレイヤキャラクタについての視点座標系におけるポリゴンの頂点の座標をグラフィック処理部１５に送信し、グラフィック処理部１５に対して描画命令を出力する。
【００４７】
描画命令が入力されると、グラフィック処理部１５は、視点座標系の座標にもとづいて、各面を構成する各点について、前側にある点のデータが残るようにＺバッファの内容を更新する。Ｚバッファの内容を更新すると、グラフィック処理部１５は、前側にある残った点についての画像データをフレームメモリ１９に展開する。また、グラフィック処理部１５は、展開される画像データに対して、シェーディングやテクスチャマッピングなどの処理も行う。
【００４８】
そして、グラフィック処理部１５は、フレームメモリ１９に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、表示装置５０に出力する。表示装置５０は、グラフィック処理部１５から出力されたビデオ信号に対応した画像を画像表示部５１に表示する。１フレーム時間ごとに画像表示部５１の画像が切り替えられていくことで、プレイヤは、プレイヤキャラクタやノンプレイヤキャラクタがフィールド上を移動する様子を含む画像を見ることができる。
【００４９】
次に、本例のビデオゲーム装置１００におけるキャラクタ補正動作処理について説明する。図３及び図４は、本例のビデオゲーム装置１００におけるキャラクタ補正動作処理の例を示すフローチャートである。なお、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。このキャラクタ補正動作処理は、上述したメイン処理を繰り返し実行することによって実現される処理であって、特にプレイヤキャラクタの進行方向の補正に関する処理についてまとめたものである。
【００５０】
本例のビデオゲーム装置１００では、プレイヤによるキーパッド３０の方向キー（例えば、十字キー３１、左ジョイスティック３８）の操作により、プレイヤキャラクタの移動指示操作がなされる。すなわち、制御部１１は、キーパッド３０の方向キーの操作によって示される方向（移動指示方向）に、プレイヤキャラクタを移動させるための制御を行う。ただし、ゲームフィールドに配置されている障害物にプレイヤキャラクタが衝突した場合には、制御部１１は、図３及び図４に示すキャラクタ補正動作処理に従って、方向キーの操作によって示される移動指示方向とは異なる補正された方向に、プレイヤキャラクタを移動させるための制御を行う。
【００５１】
キャラクタ補正動作処理において、制御部１１は、先ず、プレイヤキャラクタが壁などの障害物に衝突したか否か判定する（ステップＳ２０１）。ステップＳ２０１では、制御部１１は、キーパッド３０の方向キーの操作によって示される移動指示方向に向いた移動指示方向ベクトル（ベクトルの大きさは、プレイヤキャラクタのステータスなどによって定められるものとする。）をプレイヤキャラクタの現在位置を示す座標に加算することで移動予定位置（移動目標位置）の座標を求め、現在位置から移動予定位置までの線分上に障害物の外縁部分（例えば障害物が壁であれば、その壁の外縁を示す辺）が交差しているか否か確認し、交差していれば衝突した（衝突する）と判定する。なお、障害物の外縁部分の座標データは、記憶媒体７０に記憶されている各種のデータに含まれており、記憶媒体７０が装着されているＤＶＤ／ＣＤ−ＲＯＭドライブ１６によって読み出され、ＲＡＭ１２にロードされているものとする。
【００５２】
衝突したと判定した場合には、制御部１１は、補正モード中であるか否かを確認し（ステップＳ２０２）、補正モードでなければ補正モードを開始する（ステップＳ２０３）。制御部１１は、例えば、ステップＳ２０２では補正モードであるか否かを示す補正モードフラグの設定状態を確認し、ステップＳ２０３ではオフ状態となっている補正モードフラグをオン状態に設定する。
【００５３】
次に、制御部１１は、障害物の角度を特定する（ステップＳ２０４）。本例では、ステップＳ２０４にて、衝突位置における障害物の角度を特定するために、その障害物の配置方向のベクトル（配置方向ベクトル）を特定する。なお、配置方向ベクトルは、プレイヤキャラクタの現在位置から移動予定位置までの線分と障害物の外縁との交点でその外縁に接する方向を向いたベクトルであり、障害物の配置方向のみが特定できればよいので例えば単位ベクトルとされる。また、この配置方向ベクトルは、ゲームフィールドの座標系において右向き（Ｘ正方向）に取るようにしてもよく、左向き（Ｘ負方向）に取るようにしてもよい。
【００５４】
次に、制御部１１は、ステップＳ２０４にて特定した配置方向ベクトルを、前回衝突時配置方向ベクトルとして、ＲＡＭ１２の所定の保存領域に保存する（ステップＳ２０５）。
【００５５】
次に、制御部１１は、ステップＳ２０４にて特定した障害物の配置方向ベクトルと、キーパッド３０の方向キーの操作によって示される移動指示方向に向いた移動指示方向ベクトルとの内積を算出する（ステップＳ２０６）。なお、移動指示方向ベクトルが示す方向は、ゲームフィールドにおけるプレイヤキャラクタの進行方向に向いた進行方向ベクトルが示す向きとは必ずしも一致しない。
【００５６】
次に、制御部１１は、ステップＳ２０６にて算出した内積値が正負のいずれであるかに応じて、プレイヤキャラクタの回転方向を決定する（ステップＳ２０７）。具体的には、ステップＳ２０７では、制御部１１は、内積値が正（ここでは０を含む）であれば配置方向ベクトルが示す方向を回転方向とし、内積値が負であれば配置方向ベクトルが示す方向と逆の方向を回転方向とすることに決定する。また、ステップＳ２０７では、回転強度（回転角度の大きさ）として「強」を設定する。回転強度が強であるときは、回転角度が比較的大きく、障害物に沿った方向に、プレイヤキャラクタの向きが速やかに近づくように回転動作が実行されるようになる。
【００５７】
次に、制御部１１は、ステップＳ２０６にて算出した内積値が負であれば、保存している前回衝突時配置方向ベクトルの符号を反転させる（ステップＳ２０８）。
【００５８】
次に、制御部１１は、ゲームフィールドにおける障害物に沿ったプレイヤキャラクタの移動位置を決定する（ステップＳ２０９）。ステップＳ２０９では、制御部１１は、ステップＳ２０６にて内積値が正であると判定されていれば配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定し、ステップＳ２０６にて内積値が負であると判定されていれば配置方向ベクトルが示す方向とは逆の方向で障害物に沿った位置を移動位置に決定する。すなわち、ステップＳ２０９では、制御部１１は、前回衝突時配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定する。
【００５９】
そして、制御部１１は、プレイヤキャラクタの向きをステップＳ２０７で決定した回転方向に所定角度回転した向きに更新し、プレイヤキャラクタの位置をステップＳ２０９で決定した移動位置に所定距離移動した位置に更新し、ゲームフィールドにおける更新後の位置に更新後の向きでプレイヤキャラクタを表示する（ステップＳ２１０）。ステップＳ２１０でのプレイヤキャラクタの向きの更新は、具体的には、例えば、プレイヤキャラクタにおける現在の向きを示すベクトル（ＰＣ方向ベクトル）が示す方向と、配置方向ベクトルが示す方向との差分角度を算出し、回転強度（強）に対応する所定角度（例えば差分角度の半分の角度）回転した向きにＰＣ方向ベクトルを更新する処理を実行することで実現される。
【００６０】
ステップＳ２０２にて補正モード中であると判定した場合には、制御部１１は、ステップＳ２０４と同様に障害物の角度を特定する（ステップＳ２１１）。すなわち、本例では、ステップＳ２１１にて、衝突位置における障害物の角度を特定するために、その障害物の配置方向のベクトル（配置方向ベクトル）を特定する。
【００６１】
次に、制御部１１は、ステップＳ２１１にて特定した配置方向ベクトルと、保存している前回衝突時配置方向ベクトルとの内積を算出し（ステップＳ２１２）、算出した内積値が負であれば配置方向ベクトルの符号を反転させたあと（ステップＳ２１３）、前回衝突時配置方向ベクトルを配置方向ベクトルに更新する（ステップＳ２１４）。すなわち、ステップＳ２１１にて特定した配置方向ベクトル、あるいはステップＳ２１１にて特定した配置方向ベクトルの符号を反転されたベクトルを、新たな前回衝突時配置方向ベクトルとする。
【００６２】
次に、ステップＳ２０９に移行する。ここでのステップＳ２０９では、制御部１１は、ステップＳ２１２にて内積値が正であると判定されていればステップＳ２１１にて特定した配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定し、ステップＳ２１２にて内積値が負であると判定されていれば配置方向ベクトルが示す方向とは逆の方向で障害物に沿った位置を移動位置に決定する。すなわち、ステップＳ２０９では、制御部１１は、ステップＳ２１４にて更新した前回衝突時配置方向ベクトルが示す方向で障害物に沿った位置を移動位置に決定する。そして、制御部１１は、ステップＳ２１０を実行する。
【００６３】
次に、制御部１１は、プレイヤによるキーパッド３０の方向キーによる移動操作指示方向を確認し、その移動操作指示方向が変更されていなければ（ステップＳ２１５のＮ）、ステップＳ２０１に戻る。一方、制御部１１は、プレイヤによるキーパッド３０の方向キーによる移動操作指示方向が変更されていれば（ステップＳ２１５のＹ）、ステップＳ２２２に移行する。すなわち、方向キー操作による移動操作指示方向が変更されることなく継続されていれば（同一の操作が継続してなされた状態であれば）、ステップＳ２０１に戻る。
【００６４】
上述したステップＳ２０１〜Ｓ２１５が繰り返し実行されることで、キーパッド３０の方向キーの同一操作を継続するだけで、ゲームフィールド上に配置されている障害物に衝突したとしても、プレイヤキャラクタの方向（向き）と移動位置とがスムーズに補正され、プレイヤキャラクタをスムーズに動作させるようにすることができる。
【００６５】
上述したステップＳ２０１にて衝突していないと判定した場合には、制御部１１は、補正モード中であるか否かを確認する（ステップＳ２１６）。補正モード中でなければ、制御部１１は、ステップＳ２０１に戻る。すなわち、キャラクタ補正動作処理では、制御部１１は、補正モードでないときは、プレイヤキャラクタが障害物に衝突したか否かを監視する（ステップＳ２０１、Ｓ２１６）。
【００６６】
補正モード中であれば、制御部１１は、キーパッド３０の方向キー操作による移動操作指示方向（移動指示方向ベクトルが示す方向）に近づく方向に回転するように、プレイヤキャラクタの回転方向を決定する（ステップＳ２１７）。また、制御部１１は、回転強度（回転角度の大きさ）として「弱」を設定する（ステップＳ２１８）。回転強度が弱であるときは、回転角度が比較的小さく、キーパッド３０の方向キー操作による移動操作指示方向に、プレイヤキャラクタの向きが緩やかに近づくように回転動作が実行される。
【００６７】
次に、制御部１１は、キーパッド３０の方向キー操作による移動操作指示方向（移動指示方向ベクトルが示す方向）に向かう位置に、プレイヤキャラクタの移動位置を決定する（ステップＳ２１９）。
【００６８】
そして、制御部１１は、プレイヤキャラクタの向きをステップＳ２１７で決定した回転方向に所定角度（回転強度「弱」に対応する角度）回転した向きに更新し、プレイヤキャラクタの位置をステップＳ２１９で決定した移動位置に所定距離移動した位置に更新し、ゲームフィールドにおける更新後の位置に更新後の向きでプレイヤキャラクタを表示する（ステップＳ２２０）。ステップＳ２２０でのプレイヤキャラクタの向きの更新は、具体的には、例えば、プレイヤキャラクタにおける現在の向きを示すベクトル（ＰＣ方向ベクトル）が示す方向と、移動指示方向ベクトルが示す方向との差分角度を算出し、回転強度（弱）に対応する所定角度（例えば差分角度の１／１０の角度）回転した向きにＰＣ方向ベクトルを更新する処理を実行することで実現される。
【００６９】
その後、制御部１１は、キーパッド３０の方向キー操作による移動操作指示方向（移動指示方向ベクトルが示す方向）とプレイヤキャラクタ向き（ＰＣ方向ベクトルが示す方向）との角度が所定値以内であるか否かを判定する（ステップＳ２２１）。所定値以内であれば、制御部１１は、補正モードを終了する（ステップＳ２２２）。一方、所定値以内でなければ、制御部１１は、ステップＳ２０１に戻る。
【００７０】
上述したステップＳ２１６〜Ｓ２２１が繰り返し実行され、その後にステップＳ２２２にて補正モードが終了されることで、キーパッド３０の方向キーをプレイヤが同一操作し続けるだけで、障害物との衝突が無くなったあと、プレイヤキャラクタの進行方向がキーパッド３０の方向キー操作による移動操作指示方向に合致するよう速やかに調整することができ、プレイヤキャラクタの向きがキーパッド３０の方向キー操作による移動操作指示方向に合致するよう緩やかに調整していくことができるようになる。
【００７１】
ここで、図５〜図９を参照して、本例のビデオゲーム装置１００におけるプレイヤキャラクタ（ＰＣ）の移動態様について説明する。ここでは、方向キーによる移動操作指示方向（移動指示方向ベクトルが示す方向）Ｘは、継続して同一方向であるものとする。
【００７２】
先ず、図５に示すように、障害物Ｙに衝突していないときは、プレイヤキャラクタは、方向キーによる移動操作指示方向Ｘを進行方向として移動していく（ステップＳ１０４〜Ｓ１０７，Ｓ１１５参照）。
【００７３】
その後、図６に示すように、プレイヤキャラクタが障害物Ｙに衝突すると（ステップＳ２０１のＹ）、補正モードが開始され（ステップＳ２０３）、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、障害物Ｙに沿った方向に移動していく（ステップＳ２０４〜Ｓ２１４）。障害物Ｙが壁である場合には、図７に示すように壁に向かって移動していたプレイヤキャラクタが、図８に示すように壁に沿った方向に向きを変えて移動していくようになる。
【００７４】
そして、プレイヤキャラクタが障害物Ｙに衝突したと判定されている間（ステップＳ２０１にてＹと判定されている間）は、図６に示すように、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、障害物Ｙに沿った方向に移動していく動作が継続される（ステップＳ２０１のＹ，Ｓ２０２のＹ，ステップＳ２０４〜Ｓ２１４，Ｓ２１５のＮ）。
【００７５】
その後、プレイヤキャラクタが障害物Ｙに衝突していないと判定されると（ステップＳ２０１のＮ）、補正モード中であるため（ステップＳ２１６のＹ）、図９に示すように、移動操作指示方向Ｘに近づく方向（例えば移動指示方向ベクトルとＰＣ方向ベクトルとの角度θが、角度θ１、角度θ２と０に近づいていく方向）にプレイヤキャラクタの向きが緩やかに近づくように回転されつつ、移動操作指示方向Ｘが示す方向にプレイヤキャラクタが移動していくようになる（ステップＳ２１６のＹ，Ｓ２１７〜Ｓ２２０，Ｓ２２１のＮ）。
【００７６】
そして、移動操作指示方向Ｘとプレイヤキャラクタの向きを示す方向との角度が所定値以内となったときに（ステップＳ２２１のＹ）、補正モードを終了し（ステップＳ２２２）、プレイヤキャラクタが移動操作指示方向Ｘに向いて移動操作指示方向Ｘに移動していく通常状態（非補正モード状態）に戻ることとなる。
【００７７】
次に、図１０及び図１１を参照して、本例のビデオゲーム装置１００におけるプレイヤキャラクタ（ＰＣ）が障害物である壁Ｚａと柱Ｚｂに衝突した場合の移動態様について説明する。ここでは、方向キーによる移動操作指示方向Ｘは、継続して同一方向であるものとする。また、上述した図３及び図４の処理では特に言及していないが、補正モード中に新たな障害物に衝突した場合には、一旦補正モードが終了し、新たにステップＳ２０３にて補正モードが開始されるものとする。
【００７８】
先ず、図１０に示すように、障害物に衝突していないときは、プレイヤキャラクタは、方向キーによる移動操作指示方向Ｘを進行方向として移動していく（ステップＳ１０４〜Ｓ１０７，Ｓ１１５参照）。その後、プレイヤキャラクタが壁Ｚａに衝突すると（ステップＳ２０１のＹ）、補正モードが開始され（ステップＳ２０３）、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、壁Ｚａに沿った方向に移動していく（ステップＳ２０４〜Ｓ２１０）。プレイヤキャラクタが壁Ｚａに衝突したと判定されている間（ステップＳ２０１にてＹと判定されている間）は、進行方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、壁Ｚａに沿った方向に移動していく動作が継続される（ステップＳ２０１のＹ，Ｓ２０２のＹ，Ｓ２１１〜Ｓ２１４，ステップＳ２０９〜Ｓ２１０，Ｓ２１５のＮ）。
【００７９】
そして、プレイヤキャラクタが柱Ｚｂに衝突すると（ステップＳ２０１のＹ）、図１１に示すように、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、柱Ｚｂに沿った方向に移動していく（ステップＳ２０４〜Ｓ２１０）。プレイヤキャラクタが柱Ｚｂに衝突したと判定されている間（ステップＳ２０１にてＹと判定されている間）は、移動指示方向ベクトルと配置方向ベクトルとの内積値の正負に従った回転方向に回転しながら、柱Ｚｂに沿った方向に移動していく動作が継続される（ステップＳ２０１のＹ，Ｓ２０２のＹ，Ｓ２１１〜Ｓ２１４，ステップＳ２０９〜Ｓ２１０，Ｓ２１５のＮ）。
【００８０】
その後、プレイヤキャラクタが柱Ｚｂに衝突していないと判定されると（ステップＳ２０１のＮ）、補正モード中であるため（ステップＳ２１６のＹ）、図１２に示すように、移動操作指示方向Ｘに近づく方向にプレイヤキャラクタの向きが緩やかに近づくように回転されつつ、移動操作指示方向Ｘに近づく方向にプレイヤキャラクタが移動していくようになる（ステップＳ２１６のＹ，Ｓ２１７〜Ｓ２２０，Ｓ２２１のＮ）。
【００８１】
そして、移動操作指示方向Ｘとプレイヤキャラクタの進行方向との角度が所定値以内となったときに（ステップＳ２２１のＹ）、補正モードを終了し（ステップＳ２２２）、移動操作指示方向Ｘにプレイヤキャラクタが移動していく通常状態（非補正モード状態）に戻ることとなる。
【００８２】
なお、非補正モード状態に戻ったあとは、さらに壁Ｚａに衝突するので、柱Ｚｂ沿いを移動したあとさらに壁Ｚａ沿いを移動することになる。
【００８３】
以上に説明したように、上述した一実施の形態では、制御部１１が、プレイヤによる方向キーの移動指示操作に応じたプレイヤキャラクタの移動方向の指定を受け付け、プレイヤキャラクタが移動する位置を決定し、ビデオゲームで用いられるゲームフィールド上に配置されている障害物にプレイヤキャラクタが衝突したか否かを判定し、衝突したと判定したときにプレイヤキャラクタの移動位置を補正する補正モードに設定されていなければ補正モードに設定し、補正モードに設定されていないときに衝突したと判定したときは障害物の配置方向ベクトルと移動指示方向ベクトルとの内積値を算出し、補正モードに設定されているときに衝突したと判定したときは障害物の配置方向ベクトルと前回配置方向ベクトル（前回衝突時配置方向ベクトル）との内積値を算出する構成とされている。そして、制御部１１が、プレイヤキャラクタが移動する位置を決定するにあたって、補正モードが設定されていないときは、プレイヤによる方向キーの移動指示操作に応じた移動方向に移動させるためのプレイヤキャラクタの移動位置を決定し、補正モードに設定されていないときに衝突したと判定したときは算出した配置方向ベクトルと進行方向ベクトルとの内積値に基づく移動方向で障害物に沿った移動方向に移動させるためのプレイヤキャラクタの移動位置を決定し、補正モードに設定されているときに衝突したと判定したときは配置方向ベクトルと前回配置方向ベクトルとの内積値に基づく移動方向で障害物に沿った移動方向に移動させるためのプレイヤキャラクタの移動位置を決定し、補正モードが設定されているときに衝突していないと判定したときはプレイヤによる方向キーの移動指示操作に応じた移動方向に向かう方向に移動させるためのプレイヤキャラクタの移動位置を決定する構成とされている。このような構成としたことで、プレイヤキャラクタの移動位置をスムーズに補正することが可能となり、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【００８４】
また、上述した実施の形態では、制御部１１が、補正モードが設定されていないときはプレイヤによる方向キーの移動指示操作に応じた移動方向に向かせるためのプレイヤキャラクタの向きを決定し、衝突したと判定したときは算出した内積値に基づく回転方向で障害物に沿った方向に所定角度回転させた方向に向かせるためのプレイヤキャラクタの向きを決定し、補正モードが設定されているときに衝突していないと判定したときはプレイヤによる方向キーの移動指示操作に応じた移動方向に特定角度回転させた方向に向かせるためのプレイヤキャラクタの向きを決定する構成としたので、プレイヤキャラクタの向きをスムーズに補正することが可能となり、ゲームにおけるフィールド上に障害物が配置されている場合であっても、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができ、プレイヤキャラクタの移動操作に関わるプレイヤのストレスを低減させることができるようになる。
【００８５】
また、上述した実施の形態では、制御部１１が、決定した移動位置に決定した向きでプレイヤキャラクタを表示する構成としたので、プレイヤキャラクタの移動位置と向きとがスムーズに補正されたゲーム画面を表示することができる。
【００８６】
また、上述した実施の形態では、制御部１１が、プレイヤによる方向キーの移動指示操作に応じた移動方向が変更したか否かを監視し、補正モードに設定されているときに移動方向が変更したと判定された場合には、補正モードの設定を解除する構成としているので、プレイヤによる方向キーの移動指示操作が変更されたときに速やかに補正モードを解除することが可能となる。
【００８７】
また、上述した実施の形態では、制御部１１が、補正モードが設定されているときに衝突していないと判定したことに応じて決定された移動位置にプレイヤキャラクタが移動されたあと、プレイヤによる方向キーの移動指示操作に応じた移動方向とプレイヤキャラクタの進行方向との角度があらかじめ定められた補正モード解除値以下であるか否か判定し、補正モード解除値以下であると判定したときに、補正モードの設定を解除する構成としているので、プレイヤによる方向キーの移動指示操作に応じた移動方向とプレイヤキャラクタの移動方向とが近づいたときに、速やかに補正モードを解除することが可能となる。よって、プレイヤキャラクタをスムーズに移動させることが可能となる。
【００８８】
また、上述した実施の形態では、制御部１１が、プレイヤキャラクタの現在位置と進行方向ベクトルとに基づき移動予定位置を算出し、算出した移動予定位置が障害物の配置領域内であるか否かを確認することによって障害物にプレイヤキャラクタが衝突したか否かを判定する構成としているので、簡単な演算処理によって衝突判定を行うことが可能となる。すなわち、障害物とプレイヤキャラクタとの距離を計測したりする必要がなく、衝突するか否かを簡単な演算によって判定するようにしているので、制御部１１における衝突判定の負荷を抑制させることができる。
【産業上の利用可能性】
【００８９】
本発明によれば、プレイヤによる移動指示操作を厳格に要求することなく簡単な操作でプレイヤキャラクタをスムーズに移動させることができるビデオゲーム装置に適用するのに有用である。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施の形態におけるビデオゲーム装置の構成例を示すブロック図である。
【図２】メイン処理の例を示すフローチャートである。
【図３】キャラクタ補正動作処理の例を示すフローチャートである。
【図４】キャラクタ補正動作処理の例を示すフローチャートである。
【図５】プレイヤキャラクタの移動態様の例を示す説明図である。
【図６】プレイヤキャラクタの移動態様の例を示す説明図である。
【図７】プレイヤキャラクタが障害物に衝突した状態の例を示す説明図である。
【図８】プレイヤキャラクタが補正動作により障害物に沿って移動した状態の例を示す説明図である。
【図９】プレイヤキャラクタの移動態様の例を示す説明図である。
【図１０】プレイヤキャラクタの移動態様の他の例を示す説明図である。
【図１１】プレイヤキャラクタの移動態様の他の例を示す説明図である。
【図１２】プレイヤキャラクタの移動態様の他の例を示す説明図である。
【符号の説明】
【００９１】
１０    ビデオゲーム装置本体
１１    制御部
１２    ＲＡＭ
１３    ＨＤＤ
１４    サウンド処理部
１５    グラフィック処理部
１６    ＤＶＤ／ＣＤ−ＲＯＭ
１７    通信インターフェイス
１８    インターフェイス部
１９    フレームメモリ
２０    メモリーカードスロット
２１    入力インターフェイス部
２２    内部バス
３０    キーパッド
５０    表示装置
５１    画像表示部
６０    サウンド出力装置
７０    記憶媒体
８０    通信ネットワーク
９０    メモリーカード
１００  ビデオゲーム装置
【図１】
0004566221.tif 000002
【図２】
0004566221.tif 000003
【図３】
0004566221.tif 000004
【図４】
0004566221.tif 000005
【図５】
0004566221.tif 000006
【図６】
0004566221.tif 000007
【図７】
0004566221.tif 000008
【図８】
0004566221.tif 000009
【図９】
0004566221.tif 000010
【図１０】
0004566221.tif 000011
【図１１】
0004566221.tif 000012
【図１２】
0004566221.tif 000013