(57)【特許請求の範囲】
【請求項１】
コンピュータを、
キャラクタが行動する仮想のゲーム空間を生成するゲーム空間生成手段、
プレイヤの操作に応じて前記ゲーム空間内で行動するプレイヤキャラクタの動作を制御するプレイヤキャラクタ制御手段、
前記プレイヤキャラクタと共に前記ゲーム空間内で行動するノンプレイヤキャラクタである味方キャラクタの動作を制御する味方キャラクタ制御手段、及び
前記プレイヤキャラクタと戦闘を行うノンプレイヤキャラクタである敵キャラクタの動作を制御する敵キャラクタ制御手段として機能させ、
前記味方キャラクタ制御手段は、前記味方キャラクタが移動を含む所定のアクションを実行するときには、平面視して前記敵キャラクタと前記プレイヤキャラクタとを結ぶ第一仮想線に垂直で且つ前記敵キャラクタを通る第二仮想線で仕切られる２つの領域のうち、前記プレイヤキャラクタが存在する領域とは反対側の領域に前記移動目標位置を設定し、該移動目標位置へ向かって前記味方キャラクタを移動させることを特徴とするゲームプログラム。
【請求項２】
前記ゲーム空間生成手段は、前記味方キャラクタを二次元的に動作させる二次元動作許容ゲーム空間を生成可能であり、
前記味方キャラクタ制御手段は、前記味方キャラクタが前記二次元動作許容ゲーム空間内にて前記所定のアクションを実行するときには、前記敵キャラクタを中心とする所定径の円周のうち、前記第二仮想線に対して前記プレイヤキャラクタが存在する領域とは反対側の領域と、前記第一仮想線に対して前記味方キャラクタが存在する側の領域とが重複する領域に位置する四半円弧上に、前記移動目標位置を設定することを特徴とする請求項１に記載のゲームプログラム。
【請求項３】
前記ゲーム空間生成手段は、前記味方キャラクタを三次元的に動作させる三次元動作許容ゲーム空間を生成可能であり、
前記味方キャラクタ制御手段は、前記味方キャラクタが前記三次元動作許容ゲーム空間内にて前記所定のアクションを実行するときには、前記敵キャラクタを通る仮想水平面に対して前記プレイヤキャラクタが存在する側の領域とは反対側の領域であって、且つ、平面視で、前記敵キャラクタを中心とする所定径の円周のうち、前記第二仮想線に対して前記プレイヤキャラクタが存在する領域とは反対側の領域と、前記第一仮想線に対して前記味方キャラクタが存在する側の領域とが重複する領域に位置する四半円弧上に、前記移動目標位置を設定することを特徴とする請求項１又は２に記載のゲームプログラム。
【請求項４】
請求項１乃至３の何れかに記載のゲームプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
請求項１乃至３の何れかに記載のゲームプログラムを記憶したプログラム記憶部と、該プログラム記憶部に記憶されたプログラムを実行するコンピュータと、を備えた、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤが操作するプレイヤキャラクタと共に行動する味方キャラクタの移動目標位置を設定するためのゲームプログラム、該ゲームプログラムを記録した記録媒体、及びコンピュータ装置に関する。
【背景技術】
【０００２】
近年、仮想のゲーム空間内にて、モンスター等の敵キャラクタを討伐しながらゲームを進行させるアクションゲームが市販されている。この種のアクションゲームでは、ネットワーク回線を介して各自のゲーム装置が接続された環境で、各プレイヤが夫々操作するプレイヤキャラクタを同一の仮想ゲーム空間内に生成し、これらのプレイヤキャラクタで協力しあいながらゲームを進行させるオンラインゲームとしての遊び方がある。一方、一人のプレイヤがスタンドアロンのゲーム装置を操作し、自身のプレイヤキャラクタを動作させてゲームを進行させるオフラインゲームとしての遊び方もある。
【０００３】
後者の例として、非特許文献１には、プレイヤの操作により動作するプレイヤキャラクタに、ゲーム装置が備えるプロセッサによって動作が制御される味方キャラクタを同行させ、味方キャラクタの協力を得ながら敵キャラクタを討伐するという態様の、オフラインゲームとしての遊び方が可能なアクションゲームが開示されている。
【０００４】
ここで、非特許文献１に開示されたオフラインゲームの態様では、プレイヤキャラクタはプレイヤの操作によって直接的にその動作がコントロールされるものである一方、敵キャラクタ及び味方キャラクタは、いわゆるノンプレイヤキャラクタと称されるものとなっている。ノンプレイヤキャラクタは、プレイヤの操作によっては直接的にその動作をコントロールすることができず、例えば、味方キャラクタの位置は、プレイヤキャラクタ及び敵キャラクタのうち何れか一方の現在位置に基づいて、ゲーム装置のプロセッサにより決定されるようになっている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】「モンスターハンターポータブル２ｎｄＧ  公式ガイドブック」株式会社エンターブレイン、２００８年８月１日、ｐ．１２２−１３３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、味方キャラクタの位置を、プレイヤキャラクタ及び敵キャラクタのうち何れか一方の現在位置に基づいて決定する場合、味方キャラクタの位置取りパターンのバリエーションが少なくなりがちであり、プレイヤからすると味方キャラクタの位置取りがワンパターンに感じられる可能性がある。また、例えばプレイヤキャラクタの現在位置に基づいて味方キャラクタの位置を決定する場合、敵キャラクタの現在位置が考慮されていないため、その位置取りに不自然さを感じる可能性もある。
【０００７】
オフラインゲームにおける一つの理想形は、味方キャラクタについて、他のプレイヤにより操作されるプレイヤキャラクタと同等の動作をさせることにより、リアルな疑似オンラインプレイを実現することであるが、上述した事情から、味方キャラクタの位置取り行動は自然なものとは言い難いため、プレイヤと味方キャラクタとの連帯感の向上や、よりリアルな疑似オンラインプレイの実現が困難になっている。
【０００８】
そこで本発明は、ノンプレイヤキャラクタである味方キャラクタの位置取りを、より自然なものとすることのできるゲームプログラム、該ゲームプログラムを記録した記録媒体、及びコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るゲームプログラムは、コンピュータを、キャラクタが行動する仮想のゲーム空間を生成するゲーム空間生成手段、プレイヤの操作に応じて前記ゲーム空間内で行動するプレイヤキャラクタの動作を制御するプレイヤキャラクタ制御手段、前記プレイヤキャラクタと共に前記ゲーム空間内で行動するノンプレイヤキャラクタである味方キャラクタの動作を制御する味方キャラクタ制御手段、及び前記プレイヤキャラクタと戦闘を行うノンプレイヤキャラクタである敵キャラクタの動作を制御する敵キャラクタ制御手段として機能させ、前記味方キャラクタ制御手段は、前記ゲーム空間内での前記プレイヤキャラクタの位置と前記敵キャラクタの位置とに基づき、前記味方キャラクタの移動目標位置を設定し、該移動目標位置へ向かって前記味方キャラクタを移動させる。
【００１０】
また、前記味方キャラクタ制御手段は、前記味方キャラクタに前記移動を含むアクションを実行させることができ、更に、該アクションを実行させる場合に、該アクションに関連付けられた前記移動目標位置を設定するものであってもよい。
【００１１】
また、前記味方キャラクタ制御手段は、前記味方キャラクタに前記アクションを実行させる場合、該アクションに関連付けられた前記移動目標位置への移動をはじめに実行させるものであってもよい。
【００１２】
また、前記移動目標位置には、前記味方キャラクタと前記プレイヤキャラクタとによって前記敵キャラクタを挟むような位置が含まれていてもよい。
【００１３】
また、前記移動目標位置には、前記プレイヤキャラクタの近傍の位置が含まれていてもよい。
【００１４】
また、前記味方キャラクタ制御手段は、前記味方キャラクタが第一のアクションを実行するときには、平面視して前記敵キャラクタと前記プレイヤキャラクタとを結ぶ第一仮想線に垂直で且つ前記敵キャラクタを通る第二仮想線で仕切られる２つの領域のうち、前記プレイヤキャラクタが存在する領域とは反対側の領域に前記移動目標位置を設定するものであってもよい。
【００１５】
また、前記味方キャラクタ制御手段は、前記味方キャラクタが第二のアクションを実行するときには、前記プレイヤキャラクタを中心とする領域であって前記敵キャラクタに対して相対的な所定の領域に前記移動目標位置を設定するものであってもよい。
【００１６】
また、前記ゲーム空間生成手段は、前記味方キャラクタを二次元的に動作させる二次元動作許容ゲーム空間を生成可能であり、前記味方キャラクタ制御手段は、前記味方キャラクタが前記二次元動作許容ゲーム空間内にて前記第一のアクションを実行するときには、前記敵キャラクタを中心とする所定径の円周のうち、前記第二仮想線に対して前記プレイヤキャラクタが存在する領域とは反対側の領域と、前記第一仮想線に対して前記味方キャラクタが存在する側の領域とが重複する領域に位置する四半円弧上に、前記移動目標位置を設定するものであってもよい。
【００１７】
また、前記ゲーム空間生成手段は、前記味方キャラクタを二次元的に動作させる二次元動作許容ゲーム空間を生成可能であり、前記味方キャラクタ制御手段は、前記味方キャラクタが前記二次元動作許容ゲーム空間内にて前記第二のアクションを実行するときには、前記プレイヤキャラクタを中心とする所定径の円周のうち、平面視して前記第一仮想線に垂直で且つ前記プレイヤキャラクタを通る第三仮想線で仕切られる２つの領域のうち前記敵キャラクタが存在する領域とは反対側の領域に位置する半円弧上、又は、前記敵キャラクタが存在する側の領域に位置する半円弧上に、前記味方キャラクタに実行させるアクションの種類に応じて、前記移動目標位置を設定するものであってもよい。
【００１８】
また、前記ゲーム空間生成手段は、前記味方キャラクタを三次元的に動作させる三次元動作許容ゲーム空間を生成可能であり、前記味方キャラクタ制御手段は、前記味方キャラクタが前記三次元動作許容ゲーム空間内にて前記第一のアクションを実行するときには、前記敵キャラクタを通る仮想水平面に対して前記プレイヤキャラクタが存在する側の領域とは反対側の領域であって、且つ、平面視で、前記敵キャラクタを中心とする所定径の円周のうち、前記第二仮想線に対して前記プレイヤキャラクタが存在する領域とは反対側の領域と、前記第一仮想線に対して前記味方キャラクタが存在する側の領域とが重複する領域に位置する四半円弧上に、前記移動目標位置を設定するものであってもよい。
【００１９】
また、前記ゲーム空間生成手段は、前記味方キャラクタを三次元的に動作させる三次元動作許容ゲーム空間を生成可能であり、前記味方キャラクタ制御手段は、前記味方キャラクタが前記三次元動作許容ゲーム空間内にて前記第二のアクションを実行するときには、前記プレイヤキャラクタと同一水平面内であって、且つ、平面視で、前記プレイヤキャラクタを中心とする所定径の円周のうち、平面視して前記第一仮想線に垂直で且つ前記プレイヤキャラクタを通る第三仮想線で仕切られる２つの領域のうち前記敵キャラクタが存在する領域とは反対側の領域に位置する半円弧上、又は、前記敵キャラクタが存在する側の領域に位置する半円弧上に、前記味方キャラクタに実行させるアクションの種類に応じて、前記移動目標位置を設定するものであってもよい。
【００２０】
また、上述したゲームプログラムは、前記コンピュータを、言語情報をプレイヤに認識可能に出力する言語情報出力手段として機能させ、該言語情報出力手段は、前記味方キャラクタのアクションに応じて、該アクションに関連する前記味方キャラクタの発言を出力するものであってもよい。
【００２１】
本発明に係る記録媒体は、上述した何れかのゲームプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２２】
本発明に係るコンピュータ装置は、上述した何れかのゲームプログラムを読み込んで実行するコンピュータ装置である。
【発明の効果】
【００２３】
本発明によれば、ノンプレイヤキャラクタである味方キャラクタの位置取りを、より自然なものとすることのできるゲームプログラム、該ゲームプログラムを記録した記録媒体、及びコンピュータ装置を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係るゲーム装置（コンピュータ装置）の構成を機能的に示すブロック図である。
【図２】図１に示したゲーム装置とは別体を成すコントローラの構成を機能的に示すブロック図である。
【図３】ゲーム装置がゲームプログラムを実行することによって、モニタに表示されるゲーム画面の一つのフレーム例を示す模式図であり、（ａ）は背景が地上のゲーム画面、（ｂ）は背景が水中のゲーム画面を夫々示している。
【図４】図１に示したゲーム装置が備える制御部の機能的な構成を示すブロック図である。
【図５】敵キャラクタに関連づけて設定された味方キャラクタの状態及びアクションを説明するための図面であり、（ａ）は、敵キャラクタからの距離により設定された味方キャラクタの状態を示し、（ｂ）は、各状態において味方キャラクタが実行するアクションを例示している。
【図６】味方キャラクタの動作処理を説明するための図面であって、（ａ）は、ゲーム装置が反復的に実行する味方キャラクタの動作処理の１ルーチンを示すフローチャートを示しており、（ｂ）は、動作処理時に適宜取得される味方キャラクタのステータス情報を例示している。
【図７】実施例１，２において、ゲーム装置が実行する味方キャラクタＣ３の移動目標位置の設定処理を示すフローチャートである。
【図８】実施例１において、味方キャラクタが分類１のアクションを実行する場合の移動目標位置の設定処理を説明すべく、各キャラクタの配置等を例示する模式的平面図であって、各キャラクタが、二次元的に行動することが許容されるゲーム空間（地上）に存在する場合について示している。
【図９】実施例２において、味方キャラクタが分類１のアクションを実行する場合の移動目標位置の設定処理を説明すべく、水中にいる各キャラクタの配置等を例示する模式的平面図である。
【図１０】図９に例示したゲーム空間をＸ矢視方向から見た模式的側面図である。
【図１１】実施例３，４において、地上であるゲーム空間にいる味方キャラクタが、図５（ｂ）に示す分類２のアクションを実行する場合の移動目標位置の設定処理を示すフローチャートである。
【図１２】実施例３において、分類２−１のアクションを実行する場合の移動目標位置の設定処理を説明すべく、地上にいる各キャラクタの配置等を例示する模式的平面図である。
【図１３】実施例３において、分類２−２のアクションを実行する場合の移動目標位置の設定処理を説明すべく、地上にいる各キャラクタの配置等を例示する模式的平面図である。
【図１４】実施例４において、水中であるゲーム空間にいる味方キャラクタが、分類２のアクションを実行する場合の移動目標位置の設定処理を説明すべく、水中にいる各キャラクタの配置等を例示する模式的平面図である。
【図１５】図１４に例示したゲーム空間をＸＶ矢視方向から見た模式的側面図である。
【図１６】実施例５において、ゲーム進行中の味方キャラクタによる発言内容を、プレイヤに対して認識可能に出力する処理を説明するための模式図であって、（ａ）は発言内容を文字列で表したゲーム画面を例示し、（ｂ）は発言のバリエーションの一部を示している。
【図１７】変形例において、味方キャラクタの移動するルート上の障害の有無を考慮して味方キャラクタＣ３の移動目標位置を設定する場合の処理を示すフローチャートである。
【図１８】障害の有無を考慮したときの地上にいる味方キャラクタの移動処理を説明すべく、各キャラクタの配置等を例示する模式的平面図である。
【図１９】ゲーム装置が実行する味方キャラクタの移動動作中の障害判定処理を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態に係るゲームプログラム、記録媒体、及びコンピュータ装置について、図面を参照しつつ説明する。
【００２６】
［ハードウェアの構成］
図１は、本発明の実施の形態に係るゲーム装置（コンピュータ装置）の構成を機能的に示すブロック図である。ゲーム装置１は、片手で持ち運びできる程度の寸法のボックス形状を成すハウジングに収納されており、図１に示すように、このゲーム装置１には制御部８が備えらており、制御部８にはＣＰＵ（Central Processing Unit）３が備えられている。制御部８において、ＣＰＵ３は、データ転送を統括的に制御するメモリコントローラ２を介して、ＧＰＵ（Graphics Processing Unit）４、メインメモリ５、及びＤＳＰ（Digital Signal Processor）６に接続されている。また、ゲーム装置１において、メモリコントローラ２には、バス９を介して、コントローラ・インタフェース（以下、「インタフェース」は「Ｉ／Ｆ」と記す）１０、ビデオＩ／Ｆ１１、外部メモリＩ／Ｆ１２、オーディオＩ／Ｆ１３、及びディスクＩ／Ｆ１４が接続されている。そして、コントローラＩ／Ｆ１０には受信ユニット１５が接続され、オーディオＩ／Ｆ１３及びディスクＩ／Ｆ１４にはディスクドライブ１６が接続されている。
【００２７】
更に、ゲーム装置１が有するビデオＩ／Ｆ１１及びオーディオＩ／Ｆ１３には、外部機器であるモニタ２０及びスピーカ２２が夫々に接続可能になっており、記録媒体としてのメモリカード２１及び光ディスク２３が、外部メモリＩ／Ｆ１２及びディスクドライブ１６に対して夫々装填可能になっている。
【００２８】
このうちＣＰＵ３は、図示しないブートＲＯＭに記録された起動プログラムを実行してメインメモリ５の初期化等を行った後、ディスクドライブ１６に装填された光ディスク２３に記録されているゲームプログラム２４を実行し、該ゲームプログラムの内容に応じたゲーム処理を行うものである。また、メインメモリ５は、ＣＰＵ３の動作時に使用されるデータを記録する記録領域を有し、例えば、光ディスク２３から読み出されたゲームプログラム２４や各種のデータを記録する。
【００２９】
ＧＰＵ４は、三次元グラフィックスの表示に必要な計算処理を行う半導体チップで構成されており、ＣＰＵ３からの指示に基づいて画像処理を行う。一例を挙げると、ＧＰＵ４は、メインメモリ５の一部の記録領域や図示しない画像処理専用のメモリを用い、経時的に変化する三次元の仮想ゲーム空間の各フレーム画像を生成することができ、この画像は、メモリコントローラ２及びビデオＩ／Ｆ１１を介してモニタ２０に表示される。
【００３０】
ＤＳＰ６は、ＣＰＵ３がゲームプログラム２４を実行しているときに生成されるサウンドデータの処理を行うものであり、該サウンドデータを記録するためのＡＲＡＭ（Audio RAM）７が接続されている。ＤＳＰ６は、光ディスク２３から先読みしておいたサウンドデータをＡＲＡＭ７に記録しておき、適宜のタイミングでＡＲＡＭ７から読み出したサウンドデータを出力するものであり、ＤＳＰ６から出力されたサウンドデータは、メモリコントローラ２及びオーディオＩ／Ｆ１３を介してスピーカ２２から外部へ出力される。
【００３１】
一方、受信ユニット１５は、ゲーム装置１とは別体を成すコントローラ（Remote controller）３０（図２参照）から送られてきたデータを受信するものであり、受信したデータは、コントローラＩ／Ｆ１０及びメモリコントローラ２を介してＣＰＵ３へ送られる。外部メモリＩ／Ｆ１２は、メモリカード２１が装填された状態で該メモリカード２１内の記録領域にアクセス可能であり、該記録領域内のデータを読み出し、又はバックアップデータを書き込むことができる。
【００３２】
オーディオＩ／Ｆ１３に接続されたスピーカ２２は、上述したようにＤＳＰ６がＡＲＡＭ７から読み出したサウンドデータを外部へ出力する他、ディスクドライブ１６が光ディスク２３から読み出したサウンドデータを直接的に外部へ出力する。また、ディスクドライブ１６は、上述したように、装填された光ディスク２３に記録されたゲームプログラム２４を読み出し、このゲームプログラム２４をオーディオＩ／Ｆ１３又はディスクＩ／Ｆ１４へ出力する。
【００３３】
図２は、ゲーム装置１とは別体を成すコントローラ３０の構成を機能的に示すブロック図である。コントローラ３０は、例えばプラスチック成型により形成された略直方体形状を成すハウジングを有しており、片手で把持可能な寸法に設計されている。そして、図２に示すように、コントローラ３０は、撮像情報演算部３１、通信部３２、操作部３３、加速度センサ３４、及びバイブレータ３５を備えている。
【００３４】
撮像情報演算部３１は、赤外線フィルタ３１ａ、レンズ３１ｂ、撮像素子３１ｃ、及び画像処理回路３１ｄを有しており、赤外線フィルタ３１ａは、外部からの入射光のうち赤外線のみをレンズ３１ｂへ通過させる。レンズ３１ｂは、赤外線フィルタ３１ａを通過した赤外線を集光して撮像素子３１ｃへ出射する。撮像素子３１ｃは、例えばＣＭＯＳセンサのような個体撮像素子であって、レンズ３１ｂが集光した赤外線を撮像して画像データを生成する。ここで、ゲーム装置１に接続されるモニタ２０（図１参照）には、高輝度の赤外線を発光する２つの発光部（図示せず）が設けられており、画像処理回路３２ｄは、撮像素子３２ｃで生成された画像データから高輝度部分を抽出することにより、前記発光部からの光を検出する。そして、画像処理回路３２ｄは、検出した光に基づいてコントローラ３０の向きを示すデータを算出し、該データを通信部３２へ出力する。
【００３５】
通信部３２は、マイクロコンピュータ（Micro Computer：マイコン）３２ａ、メモリ３２ｂ、無線モジュール３２ｃ、及びアンテナ３２ｄを有している。この通信部３２は、マイコン３２ａが無線モジュール３２ｃの動作を制御することによって、所定のデータをアンテナ３２ｄから外部に対して無線送信するものであり、送信処理の際にメモリ３２ｂはデータの記録領域として使用される。また、アンテナ３２ｄから無線送信されたデータは、ゲーム装置１が備える受信ユニット１５（図１参照）において受信可能になっている。
【００３６】
操作部３３は、十字キー及び各種のボタンスイッチを有しており、これらは、コントローラ３０を把持したプレイヤの手によって操作可能になっている。そして、プレイヤにより操作部３３が操作されると、何れのキー又はスイッチが操作されたかを示す操作信号が、通信部３２によってゲーム装置１へ送信されるようになっている。また、加速度センサ３４は、コントローラ７に対して設定された直交３軸方向（上下方向、左右方向、及び前後方向）についての加速度を検出するものであり、検出された加速度を示す信号は、通信部３２によってゲーム装置１へ送信される。
【００３７】
バイブレータ３５は、例えば偏芯質量を有する振動モータ又はソレノイド等を備えており、その作動によってコントローラ３０自身に振動を発生させることができる。該バイブレータ３５を適宜作動させることにより、コントローラ３０を把持するプレイヤの手に振動を体感させることができ、いわゆる振動対応ゲームが実現できる。
【００３８】
なお、上述したコントローラ３０の向きを示すデータ、操作信号、及び加速度を示す信号等は、通信部３２から無線送信されるに先だって一時的にメモリ３２ｂに格納される。マイコン３２ａは、無線モジュール３２ｃを制御して、このメモリ３２ｂに格納されているデータを所定周波数の搬送波にのせ、所定の短い周期で、アンテナ３２ｄから送信するようになっている。
【００３９】
［ゲームシステムの説明］
図３は、ゲーム装置１がゲームプログラム２４を実行することによって、モニタ２０に表示されるゲーム画面の一つのフレーム例を示す模式図であり、（ａ）は背景が地上のゲーム画面、（ｂ）は背景が水中のゲーム画面を夫々示している。本ゲーム装置１により実現されるゲームでは、所定の広がりを有する仮想空間（エリア）が設定されており、図３（ａ），（ｂ）に示すように、このエリアの一部分が、地上又は水中を表現する仮想の三次元ゲーム空間４１ａ，４１ｂとして構築され、ゲーム画面４０に表示される。そして、これらのゲーム空間４１ａ，４１ｂには、プレイヤキャラクタＣ１、モンスター（ボスモンスター及び雑魚モンスター等）である敵キャラクタＣ２、及び味方キャラクタＣ３が登場する。
【００４０】
このうちプレイヤキャラクタＣ１は、プレイヤがコントローラ３０の操作部３３を操作することにより、その動作を直接的に制御することのできるキャラクタである。一方、敵キャラクタＣ２及び味方キャラクタＣ３は、いわゆるノンプレイヤキャラクタであり、プレイヤはその動作を直接的には制御することができず、ゲーム装置１のＣＰＵ３によって動作が制御されるキャラクタである。そして、本ゲームは、プレイヤの操作によってプレイヤキャラクタＣ１をゲーム空間４１ａ，４１ｂ内で行動させ、味方キャラクタＣ３と協力して敵キャラクタＣ２と戦闘を行い、該敵キャラクタＣ２を討伐するアクションゲームになっている。
【００４１】
また、図３に示すように、ゲーム画面４０には、仮想的なカメラで撮像された仮想のゲーム空間４１ａ，４１ｂが描画される。この仮想的なカメラは、基本的にはプレイヤキャラクタＣ１の背後（手前）に配置されており、このカメラで撮像された各キャラクタＣ１〜Ｃ３及びゲーム空間４１ａ，４１ｂの映像が描画される。但し、カメラの位置は、プレイヤによるコントローラ３０の操作によって、プレイヤキャラクタＣ１を中心とする所定の円周上の任意の位置に変更することも可能であり、位置が変更された場合には、変更された位置でカメラによって撮像された映像が描画される。
【００４２】
また、図３（ｂ）に示すように、水中に位置するカメラによって撮像された映像は全体的に青みがかっており、上方には水面がある。このような水中を表すゲーム空間４１ｂは、水面を形成するオブジェクト（水面オブジェクト）と水底等のオブジェクトとで区切られたゲーム空間を意味し、現実の水中世界とは異なって水面及び水底間に水等を表すオブジェクトが存在するわけではない。そのため、リアリティのある水中のゲーム空間４１ｂの映像を作成するために、ゲーム装置１はゲームプログラム２４に従って以下のような処理を行う。即ち、キャラクタＣ１〜Ｃ３を含むゲーム画面４０の全体に、水底等に近いほど濃くなる青色を帯びた透明のフィルタをかけ、水中の深さを表現する。また、ゲーム画面４０の全体にフォグ（霧）もかけて表示を軽くぼかすことにより、地上よりも視界が制限されるリアルな水中の映像を形成している。更に、水面オブジェクトには波のテクスチャを貼り付け、太陽光が水面に差し込む様子を擬似的に表した水面効果の図形を、水面オブジェクトの一部の領域と重なる箇所に配置し、水面近傍の映像にリアリティをもたせている。
【００４３】
なお、図３（ａ）に示す地上のゲーム空間４１ａは、プレイヤキャラクタＣ１及び味方キャラクタＣ３が、地面に平行な二次元的な範囲内での動作（即ち、前後方向及び左右方向の動作）が許容される空間（二次元動作許容ゲーム空間）として設定されており、図３（ｂ）に示す水中のゲーム空間４１ｂは、三次元的な範囲内での動作（即ち、前後方向、左右方向、及び上下方向の動作）が許容される空間（三次元動作許容ゲーム空間）として設定されている。なお、三次元的な範囲内での動作が許容される空間としては、図３（ｂ）に例示したような水中だけに限られず、空中や宇宙空間などであってもよい。従って、以下の説明ではゲーム空間４１ｂとして水中の場合を例示しているが、これに代えてゲーム空間４１ｂを空中や宇宙空間として設定してもよい。
【００４４】
ところで、図１に示すように、ゲーム装置１が備えるメモリコントローラ２、ＣＰＵ３、ＧＰＵ４、メインメモリ５、ＤＳＰ６、及びＡＲＡＭ７により制御部８が構成されている。そして、この制御部８は、ゲーム装置１がゲームプログラム２４を実行して上記のようなゲームを実現するにあたって、所定の機能を発揮する。この所定の機能について、ゲーム装置１が備える制御部８の機能的な構成を示すブロック図である図４を参照し、具体的に説明する。
【００４５】
図４に示すように、制御部８は、ゲーム空間生成手段８ａ、プレイヤキャラクタ制御手段８ｂ、味方キャラクタ制御手段８ｃ、敵キャラクタ制御手段８ｄ、及び言語情報出力手段８ｅを備えている。このうちゲーム空間生成手段８ａは、各キャラクタＣ１〜Ｃ３が行動するゲーム空間４１ａ，４１ｂを生成する。プレイヤキャラクタ制御手段８ｂは、プレイヤによるコントローラ３０の操作に応じて、ゲーム空間４１ａ，４１ｂ内で行動するプレイヤキャラクタＣ１の動作を制御する。
【００４６】
また、味方キャラクタ制御手段８ｃは、適宜プレイヤキャラクタＣ１及び／又は敵キャラクタＣ２の位置や動作等に関連させて、ゲーム空間４１ａ，４１ｂ内で行動する味方キャラクタＣ３の動作を制御する。敵キャラクタ制御手段８ｃは、ゲームプログラム２４から読み出したデータに基づき、且つ、適宜プレイヤキャラクタＣ１及び／又は味方キャラクタＣ３の位置や動作等に関連させて、ゲーム空間４１ａ，４１ｂ内で行動する敵キャラクタＣ２の動作を制御する。
【００４７】
更に、言語情報出力手段８ｅは、少なくとも味方キャラクタＣ３の動作に応じて該動作に関連する味方キャラクタＣ３の発言内容を外部へ出力するものであり、より具体的には、モニタ２０に前記発言内容を表す文字列を含む画面を表示させ、及び／又は、スピーカ２２から前記発言内容を示す音声情報を出力させることができる。
【００４８】
ここで、味方キャラクタ制御手段８ｃにより制御される味方キャラクタＣ３の動作について更に詳述する。図５は、敵キャラクタＣ２に関連づけて設定された味方キャラクタＣ３の状態及びアクション（行動）を説明するための図面であり、（ａ）は、敵キャラクタＣ２からの距離により設定された味方キャラクタＣ３の状態を示し、（ｂ）は、各状態において味方キャラクタＣ３が実行するアクションを例示している。
【００４９】
この図５（ａ）に示すように、味方キャラクタＣ３は、「通常状態」、「警戒状態」、及び「戦闘状態」の３つの状態のうち、常に何れか一つの状態となっており、何れの状態であるかは、敵キャラクタＣ２の種類（ボスモンスター又は雑魚モンスター）と、敵キャラクタＣ２との間の直線離隔距離とによって決定される。具体的には、エリア内には、味方キャラクタＣ３を中心とする３種類の認識範囲が同心円状に設定されている。第一認識範囲Ａ１は、後述する第二認識範囲Ａ２及び第三認識範囲Ａ３を除くエリア全体に設定されており、この第一認識範囲Ａ１内に敵キャラクタＣ２としてボスキャラクタが存在する場合には、味方キャラクタＣ３は「警戒状態」となり、敵キャラクタＣ２として雑魚キャラクタのみが存在する場合には「通常状態」となる。なお、敵キャラクタＣ２がボスモンスターであるか雑魚モンスターであるかの判定は、例えば敵キャラクタＣ３のそれぞれに設定されている識別情報に基づいて行うことが可能である。
【００５０】
第二認識範囲Ａ２は、味方キャラクタＣ３を中心とする所定径（本実施の形態では、この径は２０ｍに設定されている）の円内の領域のうち、後述する第三認識範囲Ａ３を除く領域に設定されており、この第二認識範囲Ａ２内にボスキャラクタが存在する場合には「戦闘状態」となり、雑魚キャラクタのみが存在する場合には「警戒状態」となる。また、第三認識範囲Ａ３は、味方キャラクタＣ３を中心とする所定径（本実施の形態では、この径は１０ｍに設定されている）の円内の領域に設定されており、この第三認識範囲Ａ３内に敵キャラクタＣ２が存在する場合には、それがボスキャラクタであるか雑魚キャラクタであるかにかかわらず、味方キャラクタＣ３は「戦闘状態」となる。
【００５１】
図５（ｂ）に示すように、味方キャラクタＣ３が実行するアクションは、敵キャラクタＣ２に対する直接的な行動（分類１）と間接的な行動（分類２）とに分類され、更に、間接的な行動（分類２）は、そのなかでも相対的に攻撃型の行動（分類２−１）と守備型の行動（分類２−２）とに細分類される。
【００５２】
直接的な行動である分類１としては、味方キャラクタＣ３が戦闘状態のときに実行する「攻撃」及び「威嚇」といったアクションが設定されている。間接的な行動である分類２のうち、相対的に攻撃型の行動である分類２−１としては、味方キャラクタＣ３が戦闘状態のときに実行する「踊り」や、警戒状態のときに実行する「攻撃型の踊り」といったアクションが設定されている。更に、相対的に守備型の行動である分類２−２としては、味方キャラクタＣ３が警戒状態のときに実行する「威嚇」及び「守備型の踊り」といったアクションが設定されている。
【００５３】
なお、分類１に属する戦闘状態での「攻撃」の例としては、刀などを使った近距離攻撃やブーメランなどを使った遠距離攻撃がある。分類２−１に属する戦闘状態での「踊り」の例としては、敵キャラクタへの挑発を目的とする踊りや閃光を発生させる技としての踊りなどがあり、同分類に属する警戒状態での「攻撃型の踊り」の例としては、プレイヤキャラクタＣ１及び味方キャラクタＣ３の攻撃力を上昇させる技としての踊りなどがある。更に、分類２−２に属する警戒状態での「守備型の踊り」の例としては、プレイヤキャラクタＣ１及び味方キャラクタＣ３の防御力を上昇させる技としての踊りや、体力を回復させる技としての踊りなどがある。
【００５４】
本実施の形態に係る分類１，２の各アクションは、複数の動作（モーション）から構成されており、これらの複数の動作の全てを行うことでアクションが１回実行されたことになる。また、１回のアクションは複数フレームで実現される。例えば、「攻撃」のアクションの１つである刀を使った近距離攻撃のアクションを実行する場合、はじめに、味方キャラクタＣ２は現在位置から移動目標位置に移動する動作を行う。次に、攻撃対象である敵キャラクタＣ２に向かって移動する（近づく）動作を行い、所定距離まで敵キャラクタＣ２に近づくと、敵キャラクタＣ２に対し、構えている刀を振り上げる動作及び振り下ろす動作を行う。最後に、振り下ろした刀を再び構えなおす動作を行い、１回の近距離攻撃のアクションが終了する。
【００５５】
また、「攻撃」のアクションの１つであるブーメランを使った遠距離攻撃のアクションを実行する場合、上記例と同様に、はじめに味方キャラクタＣ２は現在位置から移動目標位置に移動する動作を行う。次に、その場でジャンプしてブーメランを敵キャラクタＣ２に向けて投げつける攻撃の動作を行う。その後、着地して立ち上がってアクション開始前の基本姿勢に戻る動作を行い、遠距離攻撃のアクションが終了する。その他、「威嚇」や「踊り」のアクションについても、アクション開始の最初に現在位置から移動目標位置に移動する動作を行い、その後に威嚇を表す動作や踊る動作を行った後、アクション開始前の基本的な姿勢に戻るように動作する。
【００５６】
上記のように、分類１，２のアクションは、現在位置から移動目標位置へ移動する動作については少なくとも共通している。なお、移動目標位置の設定処理については後述する。
【００５７】
また、味方キャラクタＣ３は、通常状態においてはプレイヤキャラクタＣ１の近くに位置している。そして、上述した分類１、分類２−１、及び分類２−２に属する各アクションを実行する際には、アクションの種類に応じて設定される位置（移動目標位置）へ現在位置から移動し、移動が完了した後にアクションを実行するようになっている。なお、図５（ａ）に示した認識範囲の設定の仕方や、図５（ｂ）に示した各アクションの内容及びその分類は、何れも一例であって、他の態様を採用してもよい。
【００５８】
図６は、上述した味方キャラクタＣ３の動作処理を説明するための図面であって、（ａ）は、ゲーム装置１（詳しくは制御部８の味方キャラクタ制御手段８ｃ）が反復的に実行する味方キャラクタＣ３の動作処理の１ルーチンを示すフローチャートを示しており、（ｂ）は、動作処理時に適宜取得される味方キャラクタＣ３のステータス情報を例示している。
【００５９】
図６（ａ）に示すように、はじめにゲーム装置１は、味方キャラクタＣ３のステータスをチェックする（ステップＳ１）。図６（ｂ）に示すように、このステータスとしては、味方キャラクタＣ３が位置しているゲーム空間４１ａ，４１ｂの種類（地上又は水中）、その中での位置座標、敵キャラクタＣ２からの直線離隔距離、味方キャラクタＣ３の体力値、アクションステータス、アクションナンバー、及び障害アタリ情報などがある。
【００６０】
アクションステータスは、現在実行しているアクションの種類を特定する情報が設定される。具体的には、移動、停止、攻撃、威嚇、及び踊りなどの情報が設定される。アクションナンバーは、現在実行しているアクションの種類の詳細を特定する情報が設定される。例えば、攻撃中である場合は、刀を使った近距離攻撃を特定するための情報が設定される。障害アタリ情報は、方キャラクタＣ３が壁のオブジェクトなどの障害にあたっているか否かの情報が設定される。この障害アタリ情報は、例えば、周知のアタリ判定（衝突判定）を用いて情報が設定される。具体的には、味方キャラクタＣ３を囲む球状のオブジェクトと、壁や敵キャラクタＣ２などの障害となるオブジェクトとが衝突している場合は、障害にあたっているとする情報が設定される。一方、衝突してない場合は、障害にあたっていないとする情報が設定される。
【００６１】
この障害アタリ情報を用いて、例えば、移動動作中に、目標に向かって移動できているか否かを判断することができる。具体的に説明すると、障害オブジェクトは、味方オブジェクトＣ３の移動の障害となり、味方キャラクタＣ３は、障害オブジェクトをすり抜けて移動する（通過する）ことができない。そのため、味方キャラクタＣ３が目標に向かって移動動作中に、味方キャラクタＣ３が障害オブジェクトにあたっていれば、目標に向かって移動ができずに停止してしまっている状態を示すことになる。したがって、移動動作中に障害アタリ情報が障害にあたっているとする情報が設定されている場合は、味方キャラクタＣ３は停止していると判断することができる。一方、障害アタリ情報が障害にあたっていないとする情報が設定されている場合は、目標に向かって停止することなく移動できていると判断することができる。
【００６２】
次に、チェックしたステータスなどに基づいて、味方キャラクタＣ３が実行する能動的な行動の処理を行う（ステップＳ２）。具体的には、ステータスなどに基づいて、味方キャラクタＣ３に実行させる図５（ｂ）に示すようなアクションの内容を選択し、またそのアクションを上述したように複数フレームかけて味方キャラクタに実行させる。そして、１つのアクションが終了した後、次の行動が選択される。
【００６３】
次に、味方キャラクタＣ３に関連するその他の行動処理を実行する（ステップＳ３）。このような処理としては、例えば、敵キャラクタＣ２からの攻撃が味方キャラクタＣ３に命中したか否かの判定（所謂、アタリ判定）などが含まれる。
【００６４】
その後、ステップＳ２，Ｓ３の処理の実行によって味方キャラクタＣ３の状態が変化するので、味方キャラクタＣ３のステータスの更新処理を行う（Ｓ４）。このステータスは、上述したように、味方キャラクタＣ３が位置しているゲーム空間４１ａ，４１ｂの種類（地上又は水中）、その中での位置座標、敵キャラクタＣ２からの直線離隔距離、味方キャラクタＣ３の体力値、アクションステータス、アクションナンバー及び障害アタリ情報などがある。このようなステータスは、周知の内容であるので詳細な説明は省略する。
【００６５】
そして最後に、ステップＳ１〜Ｓ３で取得した情報に基づき、味方キャラクタＣ３に関して次のフレームにおいてモニタ２０に表示すべきゲーム画面４０の描画処理を実行する（ステップＳ５）。ゲーム装置１は、このようなステップＳ１〜Ｓ５で構成されるルーチンを所定の周期毎に繰り返し実行し、且つ、プレイヤキャラクタＣ１及び敵キャラクタＣ２についても同様の処理を実行することにより、各キャラクタＣ１〜Ｃ３をゲーム空間４１ａ，４１ｂ内で活動させ、ゲームを進行させる。なお、上述した描画処理（ステップＳ５）に至るまでの各ステップＳ１〜Ｓ３の処理の実行は、図６に示した順序に限定されるものではなく、これとは異なる順序で実行するようにしてもよい。
【００６６】
［地上での移動目標位置の設定（実施例１）］
次に、実施例１として、地上であるゲーム空間４１ａにいる味方キャラクタＣ３について、アクションの種類に応じてその移動目標位置を設定し、該移動目標位置へ味方キャラクタＣ３を移動させる処理について説明する。図７は、ゲーム装置１（味方キャラクタ制御手段８ｃ）が実行する味方キャラクタＣ３の移動目標位置の設定処理を示すフローチャートである。この図７の処理は、図６（ａ）のステップＳ２の処理の一部であり、味方キャラクタＣ３が実行するアクションとして図５（ｂ）に示す分類１のアクション（「戦闘状態」での「攻撃」又は「威嚇」）が選択された時に実行される。つまり、味方キャラクタは、選択された分類１のアクションを実行する際、最初に行われる移動の動作において、現在位置から図７の処理によって設定された移動目標位置に向かって移動する行動を行う。
【００６７】
図８は、味方キャラクタＣ３が分類１のアクションを実行する場合の移動目標位置の設定処理を説明すべく、各キャラクタＣ１〜Ｃ３の配置等を例示した模式的平面図であって、各キャラクタＣ１〜Ｃ３が、二次元的に行動することが許容されるゲーム空間４１ａ（地上）に存在する場合について示している。
【００６８】
なお、図８は、地上を表すゲーム空間４１ａを平面視したときの状態を示しており、プレイヤキャラクタＣ１から敵キャラクタＣ２側を水平方向の正面に見たときの右方向を正のＸ軸方向、プレイヤキャラクタＣ１から見て上方をＹ軸方向、プレイヤキャラクタＣ１から敵キャラクタＣ２側へ水平に向かう方向をＺ軸方向として定めている（後に参照する図９，図１０，図１２〜図１５において同じ）。
【００６９】
また、図８では、プレイヤキャラクタＣ１及び味方キャラクタＣ３を円５０と三角形５１とを組み合わせた図形で表現しており、このうち三角形５１は各キャラクタＣ１，Ｃ３それぞれの正面方向（正面位置とキャラクタの向き）を示している。また、円５０内に設けた点５２は、プレイヤキャラクタＣ１及び味方キャラクタＣ３の基準点を示しており、この基準点５２は、各キャラクタＣ１，Ｃ３のゲーム空間４１ａ，４１ｂ内での現在位置を特定する座標（Ｘ，Ｙ，Ｚ座標）が設定されて、敵キャラクタＣ２についても同様の基準点５２が設定されている（後に参照する図９，図１０，図１２〜図１５において同じ）。また、本ゲームでは、プレイヤキャラクタＣ１は人型であり、味方キャラクタＣ３は犬や猫などの動物の形体をしており、敵キャラクタＣ２には様々の形体が用意されている。そして、各キャラクタＣ１〜Ｃ３に設けられる基準点５２は、各キャラクタＣ１〜Ｃ３を表すオブジェクト内又はその近傍に設定され、例えば、人型のプレイヤキャラクタＣ１においては直立状態での両足間の足元の一点に設定されている。
【００７０】
次に、味方キャラクタＣ３の移動目標位置の設定手順について説明する。図７に示すように、味方キャラクタ制御手段８ｃは、プレイヤキャラクタＣ１、敵キャラクタＣ２、及び味方キャラクタＣ３の現在の位置座標（基準点５２のＸ，Ｙ，Ｚ座標）を取得する（ステップＳ１０）。この位置座標に基づき、味方キャラクタＣ３がどの領域に存在しているかを特定する（ステップＳ１１）。より詳しく説明すると、ステップＳ１０で取得したプレイヤキャラクタＣ１及び敵キャラクタＣ２の位置座標（Ｘ，Ｚ座標）に基づき、図８に示すように平面視して（ＸＺ平面において）両キャラクタＣ１，Ｃ２を通ってＺ軸方向へ延びる仮想の第一基準線Ｒ１を設定する。ゲーム空間４１ａでの味方キャラクタＣ３の行動許容範囲は、この第一基準線Ｒ１によって、Ｘ軸方向の正側に位置する領域Ｆ１とＸ軸方向の負側に位置する領域Ｆ２とに二分される。そして、味方キャラクタＣ３の位置座標に基づき、該味方キャラクタＣ３が領域Ｆ１及び領域Ｆ２のうち、何れに存在しているかを特定する（図８の例では、領域Ｆ１と特定）。
【００７１】
その後、味方キャラクタ制御手段８ｃは、敵キャラクタＣ２を中心とする径ｒ１を決定し（ステップＳ１２）、これにより、味方キャラクタＣ３の移動目標位置が設定される水平基本円５５が決定される。なお、この径ｒ１は、所定の固定値と調整用の補正値とを有しており、補正値は敵キャラクタＣ２の種類及び外形寸法に応じて変更される。例えば、敵キャラクタＣ２がボスモンスターの場合は雑魚モンスターの場合よりも大きい補正値とされ、敵キャラクタＣ２の外形寸法が大きいほど大きい補正値とされる。更に、本実施の形態に係る味方キャラクタＣ３は、特殊能力を発揮するためのアイテムとして面を装備可能になっており、装備している面の種類によっても異なる補正値とされる。
【００７２】
なお、図８では、平面視して敵キャラクタＣ２を通って第一基準線Ｒ１に垂直にＸ方向へ延びる仮想線として第二基準線Ｒ２を示し、第二基準線Ｒ２に対してプレイヤキャラクタＣ１が存在する側の領域とは反対側（Ｚ軸方向の正側）の領域を領域Ｆ３、プレイヤキャラクタＣ１が存在する側（Ｚ軸方向の負側）の領域を領域Ｆ４としている。また、第二基準線Ｒ２と水平基本円５５との交点のうち、領域Ｆ１に位置する方を点Ａ、領域Ｆ２に位置する方を点Ｃとし、第一基準線Ｒ１と水平基本円５５との交点のうち、領域Ｆ３に位置する方を点Ｂ、領域Ｆ４に位置する方を点Ｄとして示している。
【００７３】
次に、径ｒ１により決定された水平基本円５５において、プレイヤキャラクタＣ１及び敵キャラクタＣ２を結ぶ線分５６を基準とし、該線分５６から敵キャラクタＣ２を中心とする反時計回り方向の角度α１を決定する（ステップＳ１３）。これにより、味方キャラクタＣ３の移動目標位置Ｔに関するＸＺ平面内の位置（Ｘ，Ｚ座標）ｔが決定される（ステップＳ１４）。
【００７４】
ここで、味方キャラクタＣ３が分類１のアクションを実行する場合、角度α１は、味方キャラクタＣ３の現在位置に応じて取り得る範囲に異なる境界条件が設定されている。即ち、本実施例に係る味方キャラクタＣ３の移動目標位置Ｔは、ステップＳ１１にて特定した味方キャラクタＣ３の存在領域（図８の領域Ｆ１）と、敵キャラクタＣ２を基準にしてプレイヤキャラクタＣ１とは反対側の領域Ｆ３とが重複する領域に設定される。従って、味方キャラクタＣ３が領域Ｆ１に存在する場合の角度α１は、
９０°≦α１≦１８０°
の範囲で任意に設定される。その結果、移動目標位置ＴのＸ，Ｚ座標で表される位置ｔは、図８の点Ａと点Ｂとの間の四半円弧ＡＢ上に設定される。一方、味方キャラクタＣ３が領域Ｆ２に存在する場合の角度α１は、
１８０°≦α１≦２７０°
の範囲で任意に設定されるようになっている。その結果、位置ｔは、図８の点Ｂと点Ｃとの間の四半円弧ＢＣ上に設定される。
【００７５】
そして、味方キャラクタＣ３のステータス（図６（ａ）のステップ１で取得）を参照し、味方キャラクタＣ３が地上にいると判断すると（ステップＳ１５：二次元）、上述した径ｒ１及び角度α１によって特定される水平基本円５５上の位置ｔが、移動目標位置Ｔに設定され（ステップＳ１６）、処理が終了する。このステップＳ１６の処理で、移動目標位置ＴのＹ座標は、本実施例では移動前（現在）の味方キャラクタＣ３のＹ座標が設定されるが、特にこれに限定されるものではない。
【００７６】
その後、味方キャラクタＣ３はこの移動目標位置Ｔへ向かって直線的に最短距離を移動する動作を開始し、移動目標位置Ｔに到達すると、選択されたアクションを構成する次の動作を順次実行していく。
【００７７】
以上の説明から分かるように、本実施例に係るゲーム装置１の処理によると、味方キャラクタＣ３の移動目標位置Ｔは、プレイヤキャラクタＣ１から見て敵キャラクタＣ２の背後側であって、且つ移動前（現在位置）の味方キャラクタＣ３から近い側の領域に設定されるようになっている。従って、例えば戦闘状態で攻撃のアクションをする場合に、最初にプレイヤキャラクタＣ１との間で敵キャラクタＣ２を挟むような位置へ、味方キャラクタＣ３を速やかに移動させることができる。つまり、敵キャラクタＣ２を挟むような位置を基点として攻撃したり、威嚇したりすることができる。そして、このような位置取りをすることにより、敵キャラクタＣ２に対して多方面から攻撃を加えることができると共に、味方キャラクタＣ３が囮になっている間にプレイヤキャラクタＣ１が効果的な攻撃を敵キャラクタＣ２に加えることができる。
【００７８】
ここで、本ゲームの敵キャラクタ制御手段８ｄは、敵キャラクタＣ２から見て攻撃対象となるプレイヤキャラクタＣ１及び味方キャラクタＣ３の夫々に対し設定された「ヘイト値」と称する所定の値を保持している。このヘイト値は、敵キャラクタＣ２が、プレイヤキャラクタＣ１及び味方キャラクタＣ３のうち何れを攻撃するかを決定するのに用いられ、ヘイト値が大きいキャラクタを攻撃の対象とするようになっている。また、ヘイト値は、各キャラクタの行動及び位置等によって変動し、例えば、敵キャラクタＣ２に対して攻撃したキャラクタのヘイト値は増加する。従って、上述したように位置取りした味方キャラクタＣ３が囮になって敵キャラクタＣ２を攻撃すると、敵キャラクタＣ２は、ヘイト値が増加した味方キャラクタＣ３を攻撃しようとしてプレイヤキャラクタＣ１に背を向けた状態となる。そのため、プレイヤキャラクタＣ１は、敵キャラクタＣ２に対して大技を繰り出すなどして、有効な攻撃を加えることができる。また、プレイヤキャラクタＣ１は、一定時間だけ敵キャラクタＣ２の動作を抑制する罠を仕掛けるアクションや、アイテムを使用して体力を回復させるアクションなどを行うこともできる。
【００７９】
このように、複数のプレイヤにより操作される複数のプレイヤキャラクタＣ１が共同して敵キャラクタＣ２と戦闘を行うような感覚で、一人のプレイヤが操作するプレイヤキャラクタＣ１と味方キャラクタＣ３とが共同して敵キャラクタＣ２と戦闘を行うことができる。そして、本実施例１に係る味方キャラクタＣ３の位置取りは、ごく自然な行動としてプレイヤに感じさせることができるため、味方キャラクタＣ３の行動に起因してプレイヤに生じる違和感を低減させることができる。
【００８０】
本実施例では、味方キャラクタＣ３の現在位置が第１基準線Ｒ１上であった場合に領域Ｆ１に存在していると判断しているが、領域Ｆ２に存在していると判断してもよい。また、領域Ｆ１，Ｆ２の何れにも存在していないと特定し、例えば半円弧ＡＢＣ上のいずれかの地点に移動目標位置ＴのＸ，Ｚ座標を設定してもよい。後述する水中に味方キャラクタＣ３がいる場合も同様である。
【００８１】
なお、ゲームの内容によっては、ゲーム画面４０内に複数の敵キャラクタＣ２が存在する場合もある。この場合には、何れか一つの敵キャラクタＣ２を味方キャラクタＣ３の攻撃対象として選択し、該敵キャラクタＣ２の位置とプレイヤキャラクタＣ１の位置とから、上述したようにして味方キャラクタＣ３の移動目標位置Ｔを設定すればよい。攻撃対象とする一つの敵キャラクタＣ２を選択する際には、例えば、最も戦闘力の高い敵キャラクタＣ２を選択することとし、更にこのような敵キャラクタＣ２が複数存在する場合は、そのうち最も味方キャラクタＣ３に近い敵キャラクタＣ２を選択すればよい。但し、味方キャラクタＣ３ではなくプレイヤキャラクタＣ１に最も近い敵キャラクタＣ２を選択するようにしてもよい。
【００８２】
ここで、上述した味方キャラクタＣ３の攻撃対象としての敵キャラクタＣ２とは、味方キャラクタＣ３が図５（ｂ）の「攻撃」を実行する場合にあっては、その攻撃によりダメージを与えようとする相手方の敵キャラクタＣ２を意味するのはもちろんのこと、その他の戦闘状態や警戒状態での「威嚇」及び「踊り」を実行する場合においては、これらアクションによって発揮（発動）される効果を作用させる相手方の敵キャラクタＣ２を意味する。なお、敵キャラクタＣ２の選択基準は、味方キャラクタＣ３の攻撃対象でなくてもよく、他の基準に従って選択されるようにしてもよい。
【００８３】
また、上述した例では、味方キャラクタＣ３が領域Ｆ１（又は領域Ｆ２）に存在する場合は、四半円弧ＡＢ上（又は四半円弧ＢＣ上）に移動目標位置Ｔを設定することとしているが、異なる円弧部分に設定するようにしてもよい。例えば、味方キャラクタＣ３の移動前の位置（現在位置）が領域Ｆ１である場合、点Ａと、点Ｂから水平基本円５５に沿って時計回り側の近傍に位置する点Ｂ’との間の、円弧ＡＢ’上に設定するようにしてもよい。この場合の点Ｂ’としては、プレイヤキャラクタＣ１から見て、敵キャラクタＣ２の背後に味方キャラクタＣ３が隠れてしまわない座標とすればよい。味方キャラクタＣ３の移動前の位置が領域Ｆ２である場合も同様に、四半円弧ＢＣにおいて、プレイヤキャラクタＣ１から見て敵キャラクタＣ２の背後に味方キャラクタＣ３が隠れてしまわない範囲（図８の円弧Ｂ”Ｃ参照）に設定するようにしてもよい。換言すれば、敵キャラクタＣ２の背後であってプレイヤキャラクタＣ１（プレイヤ）から隠れて視認できない範囲（円弧Ｂ’Ｂ”）を、移動目標位置Ｔの設定領域から除外してもよい。図９を参照して次に説明する実施例２において位置ｔを設定する場合も同様である。
【００８４】
更に、上述した例ではＸＺ平面内の位置ｔを決定した後（ステップＳ１４）、味方キャラクタＣ３が地上又は水中の何れのゲーム空間に存在するかを判断し（ステップＳ１５）、それからこの位置ｔを移動目標位置Ｔとして決定（ステップＳ１６）することにしているが、これとは異なる手順を採用してもよい。例えば、ステップＳ１０にて味方キャラクタＣ３の現在の位置座標をステータスから取得する際に、味方キャラクタＣ３が存在するゲーム空間の情報を取得することにより、図７のステップＳ１５の処理を除外し、ステップＳ１４で決定した位置ｔを自動的に移動目標位置Ｔに設定してもよい。
【００８５】
なお、図８では、プレイヤキャラクタＣ１および味方キャラクタＣ３が敵キャラクタＣ２のいる方向に向いている状態が例示されているが、図７に示す処理では、プレイヤキャラクタＣ１、敵キャラクタＣ２、及び味方キャラクタＣ３の向きは考慮されない（後に参照する図９，図１０，図１２〜図１５において同じ）。
【００８６】
［水中での移動目標位置の設定（実施例２）］
本実施例２では、水中であるゲーム空間４１ｂにいる味方キャラクタＣ３が、分類１のアクションを実行する場合の移動目標位置の設定処理について説明する。味方キャラクタＣ３が水中にいる場合にも、上述した図７の処理を実行することで移動目標位置が設定される。図９は、この場合の移動目標位置の設定処理を説明すべく、水中のゲーム空間４１ｂでの各キャラクタＣ１〜Ｃ３の配置等を例示した模式的平面図である。また、図１０は、図９に例示したゲーム空間４１ｂをＸ矢視方向から見た模式的側面図である。
【００８７】
図９に示すように、味方キャラクタＣ３が三次元的に移動可能な水中に存在している場合であって分類１のアクションが選択された時、味方キャラクタ制御手段８ｃは、上述したようにステップＳ１０〜Ｓ１４の処理を実行し、位置ｔ（Ｘ，Ｚ座標）を決定する。
【００８８】
なお、位置ｔが設定されるＸＺ平面（図９）は、上下方向（Ｙ方向）の何れの高さに設定されていてもよいが、本実施例では、移動前の味方キャラクタＣ３が位置している点を通る基準水平面Ｒａ（図１０参照）をこの平面としている。
【００８９】
次に、ステップＳ１４にて位置ｔを決定した後、ステータスを参照して味方キャラクタＣ３が水中にいると判断すると（ステップＳ１５：三次元）、続いてプレイヤキャラクタＣ１の高さ方向の存在領域を特定する（ステップＳ１７）。より詳しく説明すると、ステップＳ１０で取得した敵キャラクタＣ２のＹ軸方向の位置座標に基づき、図１０に示すように敵キャラクタＣ２を通るＸＺ平面である基準水平面Ｒｂを設定する。
【００９０】
これによりゲーム空間４１ｂは、この基準水平面Ｒｂによって、Ｙ軸方向の正側に位置する領域Ｆ５とＹ軸方向の負側に位置する領域Ｆ６とに二分される。そして、プレイヤキャラクタＣ１のＹ方向の位置座標に基づき、該プレイヤキャラクタＣ１が領域Ｆ５及び領域Ｆ６のうち、何れに存在しているかを特定する（図１０の例では、領域Ｆ６と特定）。本実施例では、基準水平面Ｒｂは敵キャラクタＣ２と同じ高さ位置（同一のＹ座標）であるので、プレイヤキャラクタＣ１のＹ座標と敵キャラクタＣ２のＹ座標とを比較し、敵キャラクタＣ２より水面側（領域Ｆ５）にいるか、水底側（領域Ｆ６）にいるかを特定すればよい。
【００９１】
そして、プレイヤキャラクタＣ１の現在の存在領域に基づき、移動目標位置Ｔの高さ位置を、基準水平面Ｒｂからの距離Ｈとして決定する（ステップＳ１８）。この処理では、基準水平面Ｒｂに対してプレイヤキャラクタＣ１が現存する側の領域とは反対側の領域に移動目標位置Ｔが設定されるように距離Ｈが決定される。即ち、プレイヤキャラクタＣ１が領域Ｆ６に位置している場合には、移動目標位置Ｔが領域Ｆ５に設定されるように、距離Ｈは正の所定値に決定され、プレイヤキャラクタＣ１が領域Ｆ５に位置している場合には、移動目標位置Ｔが領域Ｆ６に設定されるように、距離Ｈは負の所定値に決定される。
【００９２】
なお、距離Ｈの値は、前述した径ｒ１の場合と同様に、所定の固定値と調整用の補正値とを有しており、補正値は敵キャラクタＣ２の種類及び外形寸法に応じて、あるいは、味方キャラクタＣ３が装備している面の種類に応じて、異なる補正値とされる。また、距離Ｈの値を決定するに先がけて、水面及び水底の位置を取得しておき、これら水面及び水底の間（即ち、水中）から外れない範囲で距離Ｈは決定される。
【００９３】
なお、距離Ｈは、所定の固定値および補正値で決定されているが、例えば任意の値としてもいいし、（所定の固定値＋任意の値）としてもよい。
【００９４】
最後に、このようにして決定された基準水平面Ｒａ内での位置ｔを移動目標位置ＴのＸ，Ｚ座標に設定し、基準水平面Ｒｂからの距離Ｈに基づいて特定されるゲーム空間４１ｂ内の位置座標（基準水平面ＲｂのＹ座標に距離Ｈの値を加えた座標）を移動目標位置ＴのＹ座標に設定し（ステップＳ１９）、処理を終了する。その後、味方キャラクタＣ３はこの移動目標位置Ｔへ向かって直線的に最短距離を移動する動作を開始し、移動目標位置Ｔに到達すると、選択されたアクションを構成する次の動作を順次行っていく。
【００９５】
以上の説明から分かるように、本実施例２の場合においても、プレイヤキャラクタＣ１との間で敵キャラクタＣ２を挟むような位置へ、味方キャラクタＣ３を速やかに移動させることができ、且つ、味方キャラクタＣ３の行動に起因してプレイヤに生じる違和感を低減させることができる。
【００９６】
特に、距離Ｈを用いることで、高さ方向を考慮して味方キャラクタＣ３の移動目標位置が設定されるので、プレイヤキャラクタＣ１から見ても、味方キャラクタＣ３とで敵キャラクタＣ２を挟んでいるような位置取りを実現できる。
【００９７】
ところで、本実施例では、味方キャラクタＣ３の現在位置が基準水平面Ｒｂ上であった場合に領域Ｆ６に存在していると判断しているが、領域Ｆ５に存在していると判断してもよい。また、領域Ｆ５，Ｆ６の何れにも存在していないと判断し、例えば基準水平面Ｒｂの高さ位置（Ｙ座標）を移動目標位置ＴのＹ座標として決定するようにしてもよい。
【００９８】
なお、本実施例においても、ステップＳ１０にて味方キャラクタＣ３が存在するゲーム空間についての情報（地上又は水中）を取得することにより、ステップＳ１５の処理を除外し、ステップＳ１４にてＸＺ平面内の位置ｔを決定した直後にステップＳ１７の処理を行うようにしてもよい。
【００９９】
また、本実施例では、ステップＳ１８にて距離Ｈを決定することによって移動目標位置Ｔを設定するようにしているが、これに限定されない。例えば、位置ｔ及び敵キャラクタＣ２を含んでＹ軸方向に平行な平面を設定し、この平面内において、敵キャラクタＣ２を中心とする円周方向へ位置ｔから所定の角度だけ移動した点を、移動目標位置Ｔとして設定してもよい。また、位置ｔ及びプレイヤキャラクタＣ１を含んでＹ軸方向に平行な平面を設定し、この平面内において、プレイヤキャラクタＣ１を中心とする円周方向へ位置ｔから所定角度だけ移動した点を、移動目標位置Ｔとして設定してもよい。これらの何れの場合であっても、円周方向への角度を決定する際には、上述した距離Ｈを決定する場合と同様に、基準水平面Ｒｂに対してプレイヤキャラクタＣ１が現存する側の領域とは反対側の領域に移動目標位置Ｔが設定されるように角度を決定すればよい。要するに、平面視したときに第二基準線Ｒ２に対してプレイヤキャラクタＣ１が存在する領域とは反対側の領域であって、且つ、側面視したときに基準水平面Ｒｂに対してプレイヤキャラクタＣ１が存在する領域とは反対側の領域に、移動目標位置Ｔを設定すればよい。
【０１００】
また、距離Ｈを用いずに移動目標位置Ｔを決定するようにしてもよい。例えば、プレイヤキャラクタＣ１のＹ座標を移動目標位置ＴのＹ座標として設定してもよいし、敵キャラクタＣ２のＹ座標を移動目標位置ＴのＹ座標として設定してもよい。このように設定する場合であっても、少なくとも平面視において、プレイヤキャラクタＣ１との間で敵キャラクタＣ２を挟むような位置へ味方キャラクタＣ３を移動させることができる。
【０１０１】
［地上での移動目標位置の設定（実施例３）］
本実施例３では、地上であるゲーム空間４１ａにいる味方キャラクタＣ３が、図５（ｂ）に示す分類２のアクションを実行する場合の移動目標位置Ｔの設定処理について説明する。図１１は、この場合にゲーム装置１（味方キャラクタ制御手段８ｃ）が実行する味方キャラクタＣ３の移動目標位置の設定処理を示すフローチャートである。図１１の処理は、図６（ａ）のステップＳ２の処理の一部であり、味方キャラクタＣ３が実行するアクションとして図５（ｂ）に示す分類２のアクション（「戦闘状態」での「踊り」など）が選択された時に実行される。
【０１０２】
また、図１２は、分類２−１のアクション（「戦闘状態」での「踊り」または「警戒状態」での「踊り（攻撃型）」）を実行する場合の移動目標位置の設定処理を説明すべく、地上のゲーム空間４１ａでの各キャラクタＣ１〜Ｃ３の配置等を例示した模式的平面図であり、図１３は、分類２−２のアクション（「警戒状態」での「威嚇」又は「踊り（守備型）」）を実行する場合の移動目標位置の設定処理を説明すべく、地上のゲーム空間４１ａでの各キャラクタＣ１〜Ｃ３の配置等を例示した模式的平面図である。
【０１０３】
図１１に示すように、味方キャラクタ制御手段８ｃはプレイヤキャラクタＣ１及び敵キャラクタＣ２の現在の位置座標（Ｘ，Ｙ，Ｚ座標）を取得する（ステップＳ２０）。これに基づき、平面視してプレイヤキャラクタＣ１及び敵キャラクタＣ２を通ってＺ軸方向に平行な仮想の第一基準線Ｒ１と、プレイヤキャラクタＣ１を通って第一基準線Ｒ１に直交する仮想の第三基準線Ｒ３とを設定する。このうち第三基準線Ｒ３により、味方キャラクタＣ３の行動許容範囲は、Ｚ軸方向の正側に位置する領域Ｆ７とＺ軸方向の負側に位置する領域Ｆ８とに二分される（図１２及び図１３を参照）。
【０１０４】
次に、本実施例では、プレイヤキャラクタＣ１を中心とする径ｒ２を決定し（ステップＳ２１）、これにより、味方キャラクタＣ３の移動目標位置が設定される水平基本円５７が決定される。ここで、この径ｒ２は、前述の径ｒ１の場合と同様に、所定の固定値と調整用の補正値とを有しており、補正値は敵キャラクタＣ２の種類及び外形寸法に応じて、あるいは、味方キャラクタＣ３が装備している面の種類に応じて、異なる補正値とされる。なお、径ｒ２は、アクションの種類に関連づけられた固定値であってもよく、また何にも関連付けられていない唯一の固定値であってもよい。
【０１０５】
図１２及び図１３では、水平基本円５７上に点Ａ〜点Ｄを示しているが、これらは、図８に示した点Ａ〜点Ｄが水平基準円５５と第一基準線Ｒ１及び第二基準線Ｒ２との各交点として設定したのと同様に、水平基準鉛５７と第一基準線Ｒ１及び第三基準線Ｒ３との各交点として設定している（後に参照する図１４でも同様）。
【０１０６】
次に、径ｒ２により決定された水平基本円５７において、プレイヤキャラクタＣ１及び敵キャラクタＣ２を結ぶ線分５６を基準とし、該線分５６からプレイヤキャラクタＣ１を中心とする反時計回り方向の角度α２を決定する（ステップＳ２２）。これにより、味方キャラクタＣ３の移動目標位置に関するＸＺ平面内の位置（Ｘ，Ｚ座標）ｔが決定される（ステップＳ２３）。
【０１０７】
この角度α２は、味方キャラクタＣ３が分類２−１及び分類２−２の何れのアクションを実行するかに応じて、その取り得る範囲に異なる境界条件が設定されている。即ち、図１２に示すように、分類２−１の攻撃型のアクションを実行する場合、味方キャラクタＣ３の移動目標位置Ｔは、プレイヤキャラクタＣ１の前方の領域Ｆ７に設定されるようになっている。従って、このときの角度α２は、
−９０°≦α２≦９０°
の範囲で任意に設定される。その結果、移動目標位置ＴのＸ，Ｚ座標で表される位置ｔは、図１２の点Ａから点Ｂを経由して点Ｃに至る半円弧ＡＢＣ上に設定される。一方、図１３に示すように、分類２−２の守備型のアクションを実行する場合、味方キャラクタＣ３の移動目標位置Ｔは、プレイヤキャラクタＣ１の後方の領域Ｆ８に設定されるようになっている。従って、このときの角度α２は、
９０°≦α２≦２７０°
の範囲で任意に設定される。その結果、移動目標位置ＴのＸ，Ｚ座標で表される位置ｔは、図１３の点Ｃから点Ｄを経由して点Ａに至る半円弧ＣＤＡ上に設定される。
【０１０８】
次に、ステータスを参照して味方キャラクタＣ３が地上にいると判断すると（ステップＳ２４：二次元）、図７のステップＳ１６と同様に移動目標位置Ｔを設定し（ステップＳ２５）、処理を終了する。その後、味方キャラクタＣ３はこの移動目標位置Ｔへ向かって直線的に最短距離を移動する動作を開始し、移動目標位置Ｔに到達すると、選択されたアクションを構成する次の動作を順次行っていく。
【０１０９】
以上の説明から分かるように、本実施例３に係るゲーム装置１の処理によると、味方キャラクタＣ３の移動目標位置Ｔは、分類２−１に属する攻撃型のアクション（例えば「戦闘状態」での「踊り」）を実行する場合にはプレイヤキャラクタＣ１の前方に設定される。そのため、味方キャラクタＣ３は、プレイヤキャラクタＣ１の前方の移動目標位置Ｔに移動（到達）した後、踊る動作などを順次行って「踊り」のアクションの実行を終了する。また、分類２−２に属する守備型のアクション（「警戒状態」での「踊り（守備型）」など）を実行する場合にはプレイヤキャラクタＣ１の後方に設定される。そのため、味方キャラクタＣ３は、プレイヤキャラクタＣ１の後方の移動目標位置Ｔへ移動した後、踊る動作などを順次行って「踊り（守備型）」のアクションの実行を終了する。
【０１１０】
そして、このように味方キャラクタＣ３を位置取りさせることによって、プレイヤキャラクタＣ１近傍の所定範囲内で味方キャラクタＣ３を行動させることができる。従って、警戒状態の場合には、味方キャラクタＣ３が不用意に敵キャラクタＣ２に近付きすぎて見つかってしまい、戦闘状態とならないように、味方キャラクタＣ３を行動させることができる。分類２−１のアクションを実行する場合には、プレイヤキャラクタＣ１の近傍の敵キャラクタＣ２側に味方キャラクタＣ３を位置取りさせるので、例えば閃光を発生させるような「戦闘状態」の「踊り」では、閃光を浴びせなければ敵キャラクタＣ２の目をくらませられないので、敵キャラクタ側に位置取りすることで、より自然で且つ効果的な位置取りを実現できる。
【０１１１】
分類２−２のアクションを実行する場合には、守備型であることから、プレイヤキャラクタＣ１の敵キャラクタＣ２側を表側とすると、裏側（敵キャラクタＣ２から遠ざかる位置）に位置取りすることとなるため、より戦闘状態になるのを避けた状態とすることができる。また、分類２−２のアクションである「踊り」については、味方キャラクタＣ３がプレイヤキャラクタＣ１の近傍に位置するため、味方キャラクタＣ３がゲーム画面４０の外に移動してしまうことがなく、プレイヤは味方キャラクタＣ３の「踊り」のアクションを見ることができる。
【０１１２】
なお、本実施例においても、ステップＳ２０にて味方キャラクタＣ３が存在するゲーム空間に関する情報（地上又は水中）を取得することにより、ステップＳ２４の処理を除外し、ステップＳ２３にてＸＺ平面内の位置ｔを決定した直後にステップＳ２５の処理を実行するようにしてもよい。
【０１１３】
［水中での移動目標位置の設定（実施例４）］
本実施例４では、水中であるゲーム空間４１ｂにいる味方キャラクタＣ３が、分類２のアクションを実行する場合の移動目標位置の設定処理について説明する。味方キャラクタＣ３が水中にいる場合にも、上述した図１１の処理を実行することで移動目標位置が設定される。図１４は、この場合の移動目標位置の設定処理を説明すべく、水中であるゲーム空間４１ｂでの各キャラクタＣ１〜Ｃ３の配置等を例示する模式的平面図である。また、図１５は、図１４に例示したゲーム空間４１ｂをＸＶ矢視方向から見た模式的側面図である。
【０１１４】
図１４に示すように、味方キャラクタＣ３が水中に存在している場合にも、味方キャラクタ制御手段８ｃは、上述したようにステップＳ２０〜Ｓ２３の処理を実行し、位置ｔ（Ｘ，Ｚ座標）を決定する。なお、位置ｔが設定されるＸＺ平面（図１４）は、上下方向（Ｙ軸方向）の何れの高さに設定されていてもよいが、本実施例では実施例３と同様に、移動前の味方キャラクタＣ３が位置している点を通る基準水平面Ｒａ（図１５参照）をこの平面としている。
【０１１５】
次に、ステップＳ２３にて位置ｔを決定した後、ステータスから味方キャラクタＣ３が水中にいると判断すると（ステップＳ２４：三次元）、図１５に示すように、プレイヤキャラクタＣ１を含む基準水平面Ｒｃ内であって位置ｔと同じＸ，Ｚ座標を有する点を移動目標位置Ｔに設定し（ステップＳ２６）、処理を終了する。つまり、本実施例では、位置ｔのＸ，Ｚ座標が移動目標位置ＴのＸ，Ｚ座標として設定され、プレイヤキャラクタＣ１のＹ座標が移動目標位置ＴのＹ座標として設定される。そして、味方キャラクタＣ３は、この移動目標位置Ｔへ向かって直線的に最短距離を移動する動作を開始し、移動目標位置Ｔに到達すると、選択されたアクションを構成する次の動作を順次行っていく。
【０１１６】
以上の説明から分かるように、本実施例４に係るゲーム装置１の処理によると、水中において味方キャラクタＣ３が分類２−１の攻撃型のアクション（例えば、「戦闘状態」での「踊り」）を実行する場合、味方キャラクタＣ３の移動目標位置Ｔは、プレイヤキャラクタＣ１と同一水平面内であってプレイヤキャラクタＣ１の前方に設定される。そのため、味方キャラクタＣ３は、この移動目標位置Ｔへ移動（到達）した後、踊る動作などを順次行って「踊り」のアクションの実行を終了する。
【０１１７】
一方、水中において味方キャラクタＣ３が分類２−２の守備型のアクション（「警戒状態」での「踊り（守備型）」など）を実行する場合は、味方キャラクタＣ３の移動目標位置Ｔは、プレイヤキャラクタＣ１と同一水平面内であってプレイヤキャラクタＣ１の後方に設定される。そのため、味方キャラクタＣ３は、この移動目標位置Ｔへ移動（到達）した後、踊る動作などを順次行って「踊り（守備型）」のアクションの実行を終了する。
【０１１８】
そのため、水中にて分類２−１，２−２の何れのアクションを実行する場合においても、実施例３において説明したのと同様に、警戒状態のときに味方キャラクタＣ３が敵キャラクタＣ２に不用意に近付きすぎて見つかってしまい、戦闘状態にならないように、味方キャラクタＣ３を行動させることができる。
【０１１９】
また、分類２−１のアクションを実行する場合には、プレイヤキャラクタＣ１の近傍の敵キャラクタＣ２側に味方キャラクタＣ３を位置取りさせるので、例えば閃光を発生させるような「戦闘状態」の「踊り」では、敵キャラクタ側に位置取りすることで敵キャラクタＣ２に閃光を浴びせて目をくらませることができ、より自然で且つ効果的な位置取りを実現できる。
【０１２０】
また、分類２−２のアクションを実行する場合には、守備型であることから、プレイヤキャラクタＣ１の裏側（敵キャラクタＣ２から遠ざかる位置）に位置取りすることとなるため、より戦闘状態になるのを避けた状態とすることができる。また、分類２−２のアクションである「踊り」については、味方キャラクタＣ３がプレイヤキャラクタＣ１の近傍に位置するため、味方キャラクタＣ３がゲーム画面４０の外に移動してしまうことがなく、プレイヤは味方キャラクタＣ３の「踊り」のアクションを見ることができる。
【０１２１】
なお、本実施例においても、ステップＳ２０にて味方キャラクタＣ３が存在するゲーム空間に関する情報（地上又は水中）を取得することにより、ステップＳ２４の処理を除外し、ステップＳ２３にてＸＺ平面内の位置ｔを決定した直後にステップＳ２６の処理を実行するようにしてもよい。
【０１２２】
［味方キャラクタの発言処理（実施例５）］
図１６は、ゲーム進行中の味方キャラクタＣ３による発言内容を、プレイヤに対して認識可能に出力する処理を説明するための模式図であって、（ａ）は発言内容を文字列で表したゲーム画面４０を例示し、（ｂ）は発言のバリエーションの一部を示している。図１６（ａ）に示すように、各キャラクタＣ１〜Ｃ３を含むゲーム空間４１ａ（又はゲーム空間４１ｂ）を表示するゲーム画面４０には、その左下の領域など、各キャラクタＣ１〜Ｃ３の動作をプレイヤが視認するのに邪魔にならない位置に、所定寸法のウィンドウ６０が表示される。このウィンドウ６０はゲーム装置１の制御部８が備える言語情報出力手段８ｅ（図４参照）によって生成・表示され、そこには、味方キャラクタＣ３による発言内容が、プレイヤに判読可能な文字列として表示（テキスト表示等）される。
【０１２３】
図１６（ｂ）に示すように、ウィンドウ６０に表示される味方キャラクタＣ３の発言内容は、味方キャラクタＣ３の動作に関連したものになっており、図５（ｂ）に示した各アクションに対応して個別の発言内容が用意されている。そして、ゲーム装置１（言語情報出力手段８ｅ）は、味方キャラクタＣ３が何らかの動作を実行する際（実行前、実行後、又は実行中）に、その動作に関連して用意された味方キャラクタＣ３の発言内容をウィンドウ６０に含めた画像を、ゲーム空間４１ａまたは４１ｂの画像に合成することで、最終的にゲーム画面４０に味方キャラクタＣ３の発言内容が表示される。
【０１２４】
図１６（ｂ）に示すようなアクションと発言内容（例えば、テキストデータ）とが関連づけられたデータは予め光ディスク２３に記憶されている。言語情報出力手段８ｅは、例えば上記データを予めメインメモリ５に読み出しておき、味方キャラクタＣ３が現在実行している（分類１，２などの）アクションの情報に基づいて、該当する発言内容のデータを選択する。味方キャラクタＣ３が現在実行しているアクションの情報は、味方キャラクタ制御手段８ｃによって設定更新されるアクションステータス及びアクションナンバーを用いて特定する。なお、本実施例では、アクションの実行中に表示されるが、例えば、分類１，２のアクションについては、最初に行われる移動目標位置への移動の動作中に表示してもよい。具体的には、「戦闘状態」の「踊り」における閃光を発生させる踊りが選択された場合、移動動作中に図１６（ａ）のようなテキストがウィンドウ６０に表示される。この例では、実行しているアクションについて、どの動作を現在行っているかを特定する情報を取得するようにすればよい。
【０１２５】
このようにすることにより、プレイヤは、味方キャラクタＣ３の動作について把握することができるため、味方キャラクタＣ３と攻撃などの連携をとりやすくなり、プレイヤと味方キャラクタＣ３との間の連帯感を高めることができる。また、味方キャラクタＣ３に対して親しみを感じることもできる。分類１のアクションを実行する場合では、プレイヤキャラクタＣ１との間で敵キャラクタＣ２を挟むような位置取りをすると、プレイヤキャラクタＣ１（プレイヤ）側から味方キャラクタＣ２を視認できない場合もあるので特に有効である。
【０１２６】
なお、ウィンドウ６０に味方キャラクタＣ３の発言内容を示す文字列を表示するのに代えて、又はこれに加えて、ゲーム装置１に接続したスピーカ２２から音声情報を出力するようにしてもよい。
【０１２７】
［障害がある場合の処理（変形例）］
ところで、ゲーム空間４１ａ，４１ｂは多様な地形を有するように設定され、巨大な岩石や飛び越えられない地表の裂け目（クレバス）といった障害オブジェクトが配置されている場合がある。このような障害オブジェクトが、味方キャラクタＣ３の移動目標位置Ｔへ至るまでのルート途中に存在する場合、当初設定した移動目標位置Ｔへ到達できないため、移動目標位置Ｔを再設定する処理を行う。そして、このような再設定処理は、移動目標位置ＴがプレイヤキャラクタＣ１から比較的遠くに設定される場合、即ち、味方キャラクタＣ３が分類１のアクションを実行する際に、行う頻度が高くなる。
【０１２８】
従って、以下では分類１のアクションを実行すべく移動目標位置Ｔを設定し、ここに味方キャラクタＣ３を移動させる場合において、このような障害の存在を考慮した処理について説明する。本変形例では、図７の処理に代えて図１７の処理を実行することで上記再設定処理を実現する。
【０１２９】
図１７は、ゲーム装置１（味方キャラクタ制御手段８ｃ）が実行する味方キャラクタＣ３の移動目標位置の設定処理を示すフローチャートである。Ｓ１０〜Ｓ１９までは、上述の図７のフローチャートと同様であるが、Ｓ３０以降について移動目標位置の再設定処理を有する点で異なる。図１７に示す設定処理は、図６（ａ）のステップＳ２の処理の一部であり、味方キャラクタＣ３が実行するアクションとして図５（ｂ）に示す分類１のアクションが選択された時に実行される。また、図１８は、地上のゲーム空間４１ａでの味方キャラクタＣ３の移動処理を説明すべく、各キャラクタＣ１〜Ｃ３の配置等を例示する模式的平面図である。
【０１３０】
（処理例１）
はじめに、移動目標位置Ｔの初回の設定及び初回に設定した移動目標位置Ｔ（Ｔ１）までのルート７１上に障害が存在しない場合の処理について説明する。但し、ここの説明では、図１８に示すように、味方キャラクタＣ３が地上のゲーム空間４１ａに存在し、またステップＳ１０〜Ｓ１６の処理によって、四半円弧ＡＢ上に初回の移動目標位置Ｔ１が設定されるものとする。
【０１３１】
図１７に示すように、味方キャラクタ制御手段８ｃはステップＳ１０〜Ｓ１６の処理を実行することにより、初回の移動目標位置Ｔ（Ｔ１）の設定を行う。この処理は、図７に示したステップＳ１０〜Ｓ１６の処理と同様であるため、対応する処理内容に同一符号を付すことでその具体的な説明は省略する。次に、味方キャラクタＣ３の現在位置から移動目標位置Ｔ１までのルート７１（図１８参照）を取得し、その途中に障害となる壁などのオブジェクトが存在するか否かを判断する（ステップＳ３０）。具体的には、味方キャラクタＣ３の現在位置と移動目標位置Ｔ１とを直線で結んだルート７１上に、障害となるオブジェクトが位置しているかを判断する。
【０１３２】
そして本処理例１では、移動目標位置Ｔ１までのルート７１上に障害がないので（ステップＳ３０：ＮＯ）、これで初回の移動目標位置Ｔ１の設定処理を終了する。
【０１３３】
（処理例２）
次に、味方キャラクタＣ３が地上のゲーム空間４１ａに存在し、初回に設定した移動目標位置Ｔ１までのルート７１上に障害が存在する場合の処理について説明する。
【０１３４】
上記で説明したステップＳ３０にて、ルート７１に障害７１ａが存在すると判断した場合（ステップＳ３０：ＹＥＳ）、当該移動目標位置Ｔ１が初回に設定されたものか否かを判断し（ステップＳ３１）、初回に設定されたものである場合には（ステップＳ３１：ＹＥＳ）、地上であるので（ステップＳ３２：二次元）、ステップＳ１０からの処理を再度実行し、移動目標位置の再設定を行う。
【０１３５】
但し、図１７のステップＳ１１に示しているように、２回目の移動目標位置の設定処理においては、現在の味方キャラクタＣ３の存在領域（領域Ｆ１又は領域Ｆ２）を、前回とは違う領域に特定した上で、移動目標位置の設定（再設定）を行う。具体的に言えば、初回の設定処理では、実施例１にて図７を参照して説明したのと同様に、味方キャラクタＣ３の存在領域と同一領域（領域Ｆ１）に移動目標位置を設定するが、上記のように再設定処理を行う場合には、障害７１ａを回避する可能性を高めるために、前回とは違うもう一方の領域（領域Ｆ２）に移動目標位置Ｔ２を設定する。そのため、図１７に示すように、本実施例に係るステップＳ１１では、２回目の設定処理では前回とは違う領域を特定するようにしている。
【０１３６】
なお、移動目標位置Ｔの設定回数は、例えば設定回数カウンタを設けて設定される毎にカウントアップさせるようにし、このカウント値を参照することによって取得するようにすればよい。
【０１３７】
このようにして、障害７１ａの存在しない可能性の高い領域Ｆ２にて新たに２回目の移動目標位置Ｔ２を設定し（ステップＳ１６）、本実施例では、図１８に示すように四半円弧ＢＣ上に移動目標位置Ｔ２が設定されることになる。
【０１３８】
なお、２回目の移動目標位置Ｔ２でも障害があると判定され（ステップＳ３０：ＹＥＳ）、ステップＳ３１の処理で２回目の設定回数であるためにＮＯの判断となり、移動目標位置の設定処理が終了することになる場合、２回目に設定された移動目標位置Ｔ２への移動の動作が行われる。また、本実施例では、移動目標位置の設定が２回に制限されているが、特にこれに限定されるものではなく、ルート上に障害が存在しなくなるまで設定を繰り返し行ってもよい。
【０１３９】
（処理例３）
次に、味方キャラクタＣ３が水中のゲーム空間４１ｂに存在し、初回に設定した移動目標位置Ｔ１までのルート上に障害が存在しない場合の処理について説明する。
【０１４０】
味方キャラクタが水中のゲーム空間４１ｂに存在する場合も、処理例１，２と同様に図１７に示す処理が行われる。具体的には、まず、図７に示す処理と同様のステップＳ１０〜Ｓ１５、ステップＳ１７〜１９の処理が実行される。その結果、ステップＳ１９で設定された初回の移動目標位置Ｔ１が設定される。その後、ステップＳ３０の処理でルート上に障害となるオブジェクトが存在するか否かを判断する。ここで、水中のゲーム空間４１ｂの場合、障害となるオブジェクトは水面オブジェクトと水底オブジェクトのみとなる。つまり、高さ方向（Ｙ軸方向）について障害物があるか否かを判断している。そして、本処理例３では、障害となるオブジェクトが存在しないので（ステップＳ３０：ＮＯ）、移動目標位置の設定処理を終了する。
【０１４１】
（処理例４）
次に、味方キャラクタＣ３が水中のゲーム空間４１ｂに存在し、初回に設定した移動目標位置Ｔ１までのルート上に障害が存在する場合の処理について説明する。ステップＳ３０の処理で初回に設定した移動目標位置Ｔ１までのルート上に障害が存在すると判断した場合には、水中であるので（ステップＳ３２：三次元）、ステップＳ１７からの処理を再度実行し、移動目標位置の再設定を行う。
【０１４２】
但し、図１７のステップＳ１７に示しているように、２回目の移動目標位置Ｔ２の設定処理においては、現在の味方キャラクタＣ３の存在領域（領域Ｆ５又は領域Ｆ６）を、前回とは違う領域に特定した上で、移動目標位置の設定（再設定）を行う。具体的に言えば、初回の設定処理では、実施例２にて図７を参照して説明したのと同様に、味方キャラクタＣ３の存在領域と異なる領域（図１０：領域Ｆ５）に移動目標位置を設定するが、上記のように再設定処理を行う場合には、障害（水面オブジェクト、水底オブジェクト）を回避する可能性を高めるために、前回とは違うもう一方の領域（図１０：領域Ｆ６）に移動目標位置Ｔ２を設定する。そのため、図１７に示すように、本実施例に係るステップＳ１７では、２回目の設定処理では前回とは違う領域を特定するようにしている。
【０１４３】
例えば、初回の移動目標位置Ｔ１が領域Ｆ５に設定される場合、移動目標位置Ｔ１が水面オブジェクトよりも上方に位置していたとした場合、距離Ｈを再度決定して２回目の移動目標位置Ｔ２が領域Ｆ６になるように再設定する。なお、２回目の移動目標位置Ｔ２を設定する際は、前回の距離Ｈの正負を変更するだけでもよい。
【０１４４】
なお、２回目の移動目標位置Ｔ２でも障害があると判定され（ステップＳ３０：ＹＥＳ）、ステップＳ３１の処理で２回目の設定回数であるためにＮＯの判断となって処理が終了することになる場合、２回目の移動目標位置Ｔ２の設定処理後に移動の動作が行われることになる。この場合、例えば、２回目の移動目標位置Ｔ２に代えて、この移動目標位置Ｔ２のＹ座標を水面オブジェクトのＹ座標又は水底オブジェクトのＹ座標に置き換えたＸ，Ｙ，Ｚ座標で特定される位置を、最終的な移動目標位置Ｔとして設定するようにしてもよい。
【０１４５】
本実施例では、移動目標位置の設定が２回に制限されているが、特にこれに限定されるものではなく、障害が存在しなくなるまで再設定してもよい。
【０１４６】
以上に説明したように、状況に応じて処理例１〜４の何れかを実行することにより、移動の障害となるオブジェクトを回避しつつ、敵キャラクタＣ２をプレイヤキャラクタＣ１との間で挟み込む位置（半円弧ＡＢＣ上）などに設定した移動目標位置を設定することができる。
【０１４７】
なお、本変形例では、分類１のアクションに関する移動目標位置の再設定の処理について説明したが、分類２のアクションに関する移動目標位置の再設定の処理についても同様にすればよい。地上における分類２のアクションに関しては、味方キャラクタＣ３の存在領域は考慮されないので、再設定する場合は、例えば、ステップＳ２０からの処理を再度実行するだけでよい。具体的には、領域Ｆ８の半円弧ＡＤＣ上（図１３参照）に初回の目標移動位置Ｔが設定されるアクションの場合は、ステップＳ２０からの処理を繰り返し実行し、同じ半円弧ＡＤＣ（領域Ｆ８）内で目標移動位置Ｔを再設定すればよい。
［障害がある場合の処理（実施例６）］
次に、移動目標位置が設定され、移動の動作が行われている間にルート上に障害が途中から出現した場合の処理について説明する。味方キャラクタＣ３が移動目標位置Ｔへ移動している最中に、当初の移動目標位置Ｔの設定時には存在しなかった別の敵キャラクタＣ２（障害オブジェクト）が出現し、この敵キャラクタＣ２がルート途中に位置してしまう可能性がある。このような場合、移動の動作を中止する処理を行う。
【０１４８】
図１９は、ゲーム装置１（味方キャラクタ制御手段８ｃ）が実行する移動動作中の障害判定処理を示すフローチャートである。図１９に示す処理は、図６（ａ）に示すステップＳ２の処理の一部であり、分類１，２のアクションが選択され、移動目標位置への移動の動作中、１フレーム単位で実行される処理である。
【０１４９】
図１８に示す初回に設定した移動目標位置Ｔ１への移動の動作中を例にして、図１９のフローについて説明する。
【０１５０】
（処理例１）
最初に、ルート７１上に障害が出現しなかった場合について説明する。味方キャラクタ制御手段８ｃは、最初に移動の途中で停止したか否かを判断する（ステップＳ４０）。本処理例１では停止していないので（ステップＳ４０：ＮＯ）、後述するカウンタｔ０をリセットし（ステップＳ４１）、処理を終了する。味方キャラクタＣ３が停止しているか否かは、味方キャラクタＣ３のステータスの障害アタリ情報をチェックすることによって判断することができる。
【０１５１】
なお、本処理例１では、図１８に示すように味方キャラクタＣ３が地上のゲーム空間４１ａに存在する場合について説明しているが、味方キャラクタＣ３が水中のゲーム空間４１ｂに存在する場合も、設定された移動目標位置へのルート上に障害が出現しなかった場合には、本処理例１と同様の処理が行われる。
【０１５２】
（処理例２）
次に、ルート７１上に障害が途中から出現した場合の処理について説明する。これは、味方キャラクタＣ３の移動中に、別の敵キャラクタＣ２がルート７１上に移動してきた場合などの処理に該当し、このような障害が出現するまでは、上記処理例１の動作がフレーム単位で繰り返し実行される。
【０１５３】
本処理例２では、上記処理例１と同様に、移動の途中で味方キャラクタＣ３が停止したか否かを判断する（ステップＳ４０）。当初は存在しなかった別の敵キャラクタＣ２等の障害７１ａが移動してくるなどしてルート７１上に位置すると、ルート７１に沿った移動ができなくなり、味方キャラクタＣ３が停止したと判断する（ステップＳ４０：ＹＥＳ）。この判断は、処理例１で説明したように、味方キャラクタＣ３の障害アタリ情報に基づいて行う。味方キャラクタＣ３が停止すると、その停止時点からの経過フレーム数を計測するためにカウンタｔ０を１カウントアップし（ステップＳ４２）、このカウンタｔ０が所定の設定回数ｔ１以上になったかどうかを判断する（ステップＳ４３）。
【０１５４】
カウンタｔ０が設定回数ｔ１未満である場合は（ステップＳ４３：ＮＯ）、味方キャラクタＣ３の移動が障害によって停止してから所定時間が経過していないと判断し、このフレームでの処理を終了する。
【０１５５】
なお、上記ステップＳ４３の処理により所定時間が経過していないと判断され、且つ障害７１ａが依然として存在している場合、次のフレームでもステップＳ４０にてＹＥＳと判断され、上述したステップＳ４２，Ｓ４３の処理が行われる。これに対し、所定時間が経過する前のある時点で、障害となっていた敵キャラクタＣ２が移動するなどによりルート７１上から排除された場合、味方キャラクタＣ３の動作は停止状態ではなくなるので、障害アタリ情報も障害にあたっていないとする情報が設定され、障害７１ａが排除された直後のフレームで行う図１９に示す処理では、ステップＳ４０はＮＯの判断となり、ステップＳ４１にてカウンタｔ０はリセット（０）される。
【０１５６】
一方、障害が排除されることなくカウンタｔ０が設定回数ｔ１以上になった場合は（ステップＳ４３：ＹＥＳ）、移動動作を終了（中止）し（ステップＳ４４）、処理を終了する。その後、ステップＳ２（図６（ａ）参照）では、例えば、実行されているアクションにおける移動の動作の次の動作を開始するように処理を開始する。あるいは、図１７に示す処理を再度実行し、中止した移動動作をやり直すようにしてもよい。さらに、移動動作の中止後、実行されているアクションを中止し、ステータスなどに基づいて別のアクションの再選択、または、同一のアクションの再選択を行うなどしてもよい。
【０１５７】
なお、本処理例２では、図１８に示すように味方キャラクタＣ３が地上のゲーム空間４１ａに存在する場合について説明しているが、味方キャラクタＣ３が水中のゲーム空間４１ｂに存在する場合も、設定された移動目標位置への移動の動作が行われている間にそのルート上に障害が途中から出現した場合には、本処理例２と同様の処理が行われる。
【０１５８】
このように、途中から障害７１ａが出現した場合であっても、この障害７１ａが排除されるのを待ったり、次の動作に移行させるなどして、味方キャラクタＣ３の動作が不自然にならないようにしている。
【０１５９】
また、本実施例６では、分類１のアクションについて説明したが、分類２のアクションにおける移動動作についても適用可能である。
【０１６０】
ところで、上述の実施例１〜７では、アクション（行動）が複数の動作で構成され、分類１，２のアクションでは最初に移動目標位置に移動する動作が設定されているが、移動目標位置に移動する動作とその他の動作とを区別して、別のアクションとして位置付けてもよい。例えば、分類１，２のアクションを実行する際、実行する前に移動目標位置に移動するアクションを実行するようにし、その後に実行すべき分類１，２のアクションを実行すればよい。
【０１６１】
上述した説明では、一人のプレイヤがオフラインゲームを行う場合について例示したが、本発明は、複数のプレイヤが各自のプレイヤキャラクタを同一の仮想ゲーム空間内に登場させ、これらを共同させて行動させるオンラインゲームにおいても適用することができる。例えば、仮想ゲーム空間に、このような複数のプレイヤキャラクタと共に、上述したようなノンプレイヤキャラクタである味方キャラクタ及び敵キャラクタが存在する場合には、この味方キャラクタの動作に関して本発明を適用することができる。
【０１６２】
また、本実施例では据え置き型のゲーム装置について説明したが、携帯ゲーム機、携帯電話機や、パーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
【産業上の利用可能性】
【０１６３】
本発明は、ノンプレイヤキャラクタである味方キャラクタの位置取りを、より自然なものとすることのできるゲームプログラム、該ゲームプログラムを記録した記録媒体、及びコンピュータ装置を提供することができる。
【符号の説明】
【０１６４】
１      ゲーム装置（コンピュータ装置）
８      制御部
８ａ    ゲーム空間生成手段
８ｂ    プレイヤキャラクタ制御手段
８ｃ    味方キャラクタ制御手段
８ｄ    敵キャラクタ制御手段
８ｅ    言語情報出力手段
２３    光ディスク（記録媒体）
２４    ゲームプログラム
４０    ゲーム画面
４１ａ  ゲーム空間（二次元動作許容ゲーム空間：地上）
４１ｂ  ゲーム空間（三次元動作許容ゲーム空間：水中）
Ｃ１    プレイヤキャラクタ
Ｃ２    敵キャラクタ
Ｃ３    味方キャラクタ
Ｒ１    第一基準線（第一仮想線）
Ｒ２    第二基準線（第二仮想線）
Ｒ３    第三基準線（第三仮想線）
Ｒｂ    基準水平面（仮想水平面）
Ｔ，Ｔ１〜Ｔ３  移動目標位置
【図１】
0005514483.tif 000002
【図２】
0005514483.tif 000003
【図４】
0005514483.tif 000004
【図５】
0005514483.tif 000005
【図６】
0005514483.tif 000006
【図７】
0005514483.tif 000007
【図８】
0005514483.tif 000008
【図９】
0005514483.tif 000009
【図１１】
0005514483.tif 000010
【図１２】
0005514483.tif 000011
【図１３】
0005514483.tif 000012
【図１４】
0005514483.tif 000013
【図１７】
0005514483.tif 000014
【図１８】
0005514483.tif 000015
【図１９】
0005514483.tif 000016
【図３】
0005514483.tif 000017
【図１０】
0005514483.tif 000018
【図１５】
0005514483.tif 000019
【図１６】
0005514483.tif 000020