(57)【特許請求の範囲】
【請求項１】
３次元ゲーム空間に配置される複数のゲームキャラクタのそれぞれの現在位置を記憶する現在位置記憶手段と、
前記複数のゲームキャラクタのそれぞれの目標位置を決定する目標位置決定手段と、
前記目標位置決定手段によって目標位置が決定されたゲームキャラクタについて、該ゲームキャラクタの基準位置から該目標位置までの進路を取得する進路取得手段と、
前記目標位置決定手段によって目標位置が決定されたゲームキャラクタについて、前記進路取得手段によって取得される該ゲームキャラクタの前記進路上の位置であって、該ゲームキャラクタの現在位置より該目標位置に近い次位置を所定時間ごとに決定する次位置決定手段と、
前記次位置決定手段によって次位置が決定されたゲームキャラクタについて、前記現在位置記憶手段に記憶される該ゲームキャラクタの現在位置を該次位置に更新する現在位置更新手段と、を含み、
前記複数のゲームキャラクタを、それぞれの基準位置から前記目標位置決定手段によって決定されたそれぞれの目標位置まで、前記進路取得手段によって取得された進路上を移動させるゲーム装置であって、
前記次位置決定手段は、
前記ゲームキャラクタの前記現在位置より前記目標位置に近い前記進路上の将来位置候補を、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの所定時間ごとの移動距離と、に基づいて取得する将来位置候補取得手段と、
前記ゲームキャラクタの前記将来位置候補と、前記複数のゲームキャラクタのうちの他のゲームキャラクタの前記将来位置候補と、が所定の衝突条件を満足するか否かを判断する判断手段と、
前記ゲームキャラクタの前記次位置を、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足しないと前記判断手段によって判断された場合には、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの前記所定時間ごとの移動距離と、に基づいて決定し、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足すると前記判断手段によって判断された場合には、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの前記所定時間ごとの移動距離を増減してなる補正移動距離と、に基づいて決定する決定手段と、を含む、
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置において、
前記複数のゲームキャラクタの全部又は一部を表示するゲーム画像を、前記現在位置記憶手段の記憶内容に基づいて生成するゲーム画像生成手段と、
前記ゲーム画像生成手段によって生成されたゲーム画像を表示する表示手段と、
を含むことを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置において、
前記衝突条件は、前記ゲームキャラクタの前記将来位置候補に従動する所定範囲が、前記他のゲームキャラクタの前記将来位置候補に従動する所定範囲の少なくとも一部と重なるか否かの条件であることを特徴とするゲーム装置。
【請求項４】
請求項１乃至３のいずれかに記載のゲーム装置において、
前記将来位置候補取得手段は、前記ゲームキャラクタの前記将来位置候補として次位置候補を取得し、
前記決定手段は、前記ゲームキャラクタの前記次位置を、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足しないと前記判断手段によって判断された場合には、前記将来位置候補取得手段によって取得された該ゲームキャラクタの次位置候補に決定する、
ことを特徴とするゲーム装置。
【請求項５】
請求項１乃至４のいずれかに記載のゲーム装置において、
前記複数のゲームキャラクタの前記所定時間ごとの姿勢を取得可能に構成されてなる姿勢データを記憶する姿勢データ記憶手段と、
前記次位置決定手段によって次位置を決定されたゲームキャラクタの該次位置における姿勢を、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足すると前記判断手段によって判断された場合には、前記姿勢データと、該ゲームキャラクタの現在の姿勢と、前記補正移動距離と前記所定時間ごとの移動距離との差と、に基づいて決定し、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足しないと前記判断手段によって判断された場合には、前記姿勢データと、該ゲームキャラクタの現在の姿勢と、に基づいて決定する姿勢決定手段と、
を含むことを特徴とするゲーム装置。
【請求項６】
３次元ゲーム空間に配置される複数のゲームキャラクタのそれぞれの目標位置を決定する目標位置決定ステップと、
前記目標位置決定ステップによって目標位置が決定されたゲームキャラクタについて、該ゲームキャラクタの基準位置から該目標位置までの進路を取得する進路取得ステップと、
前記目標位置決定ステップによって目標位置が決定されたゲームキャラクタについて、前記進路取得ステップによって取得される該ゲームキャラクタの前記進路上の位置であって、該ゲームキャラクタの現在位置より該目標位置に近い次位置を所定時間ごとに決定する次位置決定ステップと、
前記次位置決定ステップによって次位置が決定されたゲームキャラクタについて、前記複数のゲームキャラクタのそれぞれの現在位置を記憶してなる現在位置記憶手段に記憶される該ゲームキャラクタの現在位置を該次位置に更新する現在位置更新ステップと、を含み、
前記複数のゲームキャラクタを、それぞれの基準位置から前記目標位置決定ステップによって決定されたそれぞれの目標位置まで、前記進路取得ステップによって取得された進路上を移動させるゲーム装置の制御方法であって、
前記次位置決定ステップは、
前記ゲームキャラクタの前記現在位置より前記目標位置に近い前記進路上の将来位置候補を、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの所定時間ごとの移動距離と、に基づいて取得する将来位置候補取得ステップと、
前記ゲームキャラクタの前記将来位置候補と、前記複数のゲームキャラクタのうちの他のゲームキャラクタの前記将来位置候補と、が所定の衝突条件を満足するか否かを判断する判断ステップと、
前記ゲームキャラクタの前記次位置を、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足しないと前記判断ステップによって判断された場合には、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの前記所定時間ごとの移動距離と、に基づいて決定し、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足すると前記判断ステップによって判断された場合には、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの前記所定時間ごとの移動距離を増減してなる補正移動距離と、に基づいて決定する決定ステップと、を含む、
ことを特徴とするゲーム装置の制御方法。
【請求項７】
３次元ゲーム空間に配置される複数のゲームキャラクタのそれぞれの現在位置を記憶する現在位置記憶手段と、
前記複数のゲームキャラクタのそれぞれの目標位置を決定する目標位置決定手段と、
前記目標位置決定手段によって目標位置が決定されたゲームキャラクタについて、該ゲームキャラクタの基準位置から該目標位置までの進路を取得する進路取得手段と、
前記目標位置決定手段によって目標位置が決定されたゲームキャラクタについて、前記進路取得手段によって取得される該ゲームキャラクタの前記進路上の位置であって、該ゲームキャラクタの現在位置より該目標位置に近い次位置を所定時間ごとに決定する次位置決定手段と、
前記次位置決定手段によって次位置が決定されたゲームキャラクタについて、前記現在位置記憶手段に記憶される該ゲームキャラクタの現在位置を該次位置に更新する現在位置更新手段と、を含み、
前記複数のゲームキャラクタを、それぞれの基準位置から前記目標位置決定手段によって決定されたそれぞれの目標位置まで、前記進路取得手段によって取得された進路上を移動させるゲーム装置、としてコンピュータを機能させるプログラムであって、
前記次位置決定手段は、
前記ゲームキャラクタの前記現在位置より前記目標位置に近い前記進路上の将来位置候補を、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの所定時間ごとの移動距離と、に基づいて取得する将来位置候補取得手段と、
前記ゲームキャラクタの前記将来位置候補と、前記複数のゲームキャラクタのうちの他のゲームキャラクタの前記将来位置候補と、が所定の衝突条件を満足するか否かを判断する判断手段と、
前記ゲームキャラクタの前記次位置を、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足しないと前記判断手段によって判断された場合には、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの前記所定時間ごとの移動距離と、に基づいて決定し、該ゲームキャラクタの前記将来位置候補と、前記他のゲームキャラクタの前記将来位置候補と、が前記衝突条件を満足すると前記判断手段によって判断された場合には、該ゲームキャラクタの前記現在位置と、該ゲームキャラクタの前記進路と、該ゲームキャラクタの前記所定時間ごとの移動距離を増減してなる補正移動距離と、に基づいて決定する決定手段と、を含む、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
コントローラの操作に従い、プレイヤゲームキャラクタが３次元ゲーム空間内を移動して各種ゲームイベントを攻略していく、例えばロールプレイングゲームやアクションゲーム等の３次元ゲームが人気を博している。
【特許文献１】特開２００１−１８８９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
以上のような３次元ゲームでは、３次元ゲーム空間を移動するゲームキャラクタ同士の位置が近くなると、これらゲームキャラクタの画像が重なって表示されてしまう（例えば、他のゲームキャラクタをすり抜けるように表示されてしまう）場合がある。このような表示はゲームの興趣を損なうことになってしまうため抑止する必要がある。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、３次元ゲーム空間を移動するゲームキャラクタが他のゲームキャラクタと重なって表示されることを、比較的簡易な構成で抑止できるようになるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係るゲーム装置は、３次元ゲーム空間に配置される複数のゲームキャラクタがそれぞれ基準位置から目標位置に向かう進路上を移動するように、前記複数のゲームキャラクタの現在位置をそれぞれ所定時間ごとに更新するゲーム装置において、前記複数のゲームキャラクタの現在位置を示す現在位置情報を記憶する現在位置記憶手段と、前記ゲームキャラクタの、前記現在位置より前記目標位置に近い前記進路上の次位置を、該ゲームキャラクタの前記現在位置情報と、該ゲームキャラクタの前記基準位置と前記目標位置とに基づいて取得される進路情報と、１又は複数の他のゲームキャラクタの前記現在位置情報と、該１又は複数の他のゲームキャラクタの前記基準位置と前記目標位置とに基づいてそれぞれ取得される進路情報と、に基づいて決定する次位置決定手段と、前記次位置決定手段によって次位置が決定されたゲームキャラクタについて、該ゲームキャラクタの現在位置情報が該次位置を示すように、前記現在位置記憶手段の記憶内容を更新する現在位置更新手段と、を含むことを特徴とする。
【０００６】
また、本発明に係るゲーム装置の制御方法は、３次元ゲーム空間に配置される複数のゲームキャラクタがそれぞれ基準位置から目標位置に向かう進路上を移動するように、前記複数のゲームキャラクタの現在位置をそれぞれ所定時間ごとに更新するゲーム装置の制御方法において、前記ゲームキャラクタの、前記現在位置より前記目標位置に近い前記進路上の次位置を、前記複数のゲームキャラクタの現在位置を示す現在位置情報を記憶してなる現在位置記憶手段から読み出される該ゲームキャラクタの前記現在位置情報と、該ゲームキャラクタの前記基準位置と前記目標位置とに基づいて取得される進路情報と、前記現在位置記憶手段から読み出される１又は複数の他のゲームキャラクタの前記現在位置情報と、該１又は複数の他のゲームキャラクタの前記基準位置と前記目標位置とに基づいてそれぞれ取得される進路情報と、に基づいて決定する次位置決定ステップと、前記次位置決定ステップにおいて次位置が決定されたゲームキャラクタについて、該ゲームキャラクタの現在位置情報が該次位置を示すように、前記現在位置記憶手段の記憶内容を更新する現在位置更新ステップと、を含むことを特徴とする。
【０００７】
また、本発明に係るプログラムは、３次元ゲーム空間に配置される複数のゲームキャラクタがそれぞれ基準位置から目標位置に向かう進路上を移動するように、前記複数のゲームキャラクタの現在位置をそれぞれ所定時間ごとに更新するゲーム装置として、コンピュータを機能させるためのプログラムであって、前記複数のゲームキャラクタの現在位置を示す現在位置情報を記憶する現在位置記憶手段、前記ゲームキャラクタの、前記現在位置より前記目標位置に近い前記進路上の次位置を、該ゲームキャラクタの前記現在位置情報と、該ゲームキャラクタの前記基準位置と前記目標位置とに基づいて取得される進路情報と、１又は複数の他のゲームキャラクタの前記現在位置情報と、該１又は複数の他のゲームキャラクタの前記基準位置と前記目標位置とに基づいてそれぞれ取得される進路情報と、に基づいて決定する次位置決定手段、及び、前記次位置決定手段によって次位置が決定されたゲームキャラクタについて、該ゲームキャラクタの現在位置情報が該次位置を示すように、前記現在位置記憶手段の記憶内容を更新する現在位置更新手段、として、家庭用ゲーム機、携帯用ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）やパーソナルコンピュータ等の前記コンピュータを機能させるためのプログラムである。
【０００８】
また、本発明に係るプログラム配信装置は、上記のプログラムを記録した情報記憶媒体を備え、前記情報記憶媒体から前記プログラムを読み出し、配信するプログラム配信装置である。
【０００９】
また、本発明に係るプログラム配信方法は、上記のプログラムを記録した情報記憶媒体を備え、前記情報記憶媒体から前記プログラムを読み出し、配信するプログラム配信方法である。
【００１０】
本発明では、３次元ゲーム空間に配置される複数のゲームキャラクタがそれぞれ基準位置から目標位置に向かう進路上を移動するように、これら複数のゲームキャラクタの現在位置がそれぞれ所定時間ごとに更新される。また、これら複数のゲームキャラクタの現在位置を示す現在位置情報が記憶される。そして、ゲームキャラクタの現在位置より目標位置に近い進路上の次位置が、該ゲームキャラクタの現在位置情報と、該ゲームキャラクタの基準位置と目標位置とに基づいて取得される進路情報と、１又は複数の他のゲームキャラクタの現在位置情報と、該１又は複数の他のゲームキャラクタの基準位置と目標位置とに基づいてそれぞれ取得される進路情報と、に基づいて決定される。次位置が決定されたゲームキャラクタについて、該ゲームキャラクタの現在位置情報が該次位置を示すように更新される。
【００１１】
また、本発明の一態様では、前記複数のゲームキャラクタの全部又は一部を表示するゲーム画像を、前記現在位置記憶手段に記憶される現在位置情報に基づいて生成するゲーム画像生成手段と、前記ゲーム画像生成手段によって生成されたゲーム画像を表示する表示手段と、を含むことを特徴とする。
【００１２】
また、本発明の一態様では、前記次位置決定手段は、前記ゲームキャラクタの位置に従動する所定範囲が、前記１又は複数の他のゲームキャラクタの各位置に従動する各所定範囲と重ならないように、該ゲームキャラクタの前記次位置を決定することを特徴とする。
【００１３】
また、本発明の一態様では、前記次位置決定手段は、前記ゲームキャラクタの前記次位置の候補を該ゲームキャラクタの前記現在位置情報と前記進路情報と前記所定時間ごとの移動距離とに基づいて取得し、前記１又は複数の他のゲームキャラクタの前記次位置の候補を前記現在位置情報と前記進路情報と前記所定時間ごとの移動距離とに基づいてそれぞれ取得する次位置候補取得手段と、前記次位置候補取得手段によって取得される、前記ゲームキャラクタの前記次位置の候補と、前記１又は複数の他のゲームキャラクタの前記次位置の候補のいずれかと、が所定の衝突条件を満足する否かを判断する判断手段と、前記判断手段による判断結果に基づいて、前記ゲームキャラクタの前記次位置の候補を、該ゲームキャラクタの前記現在位置情報と前記進路情報と前記所定時間ごとの移動距離を増減してなる補正移動距離とに基づいて再取得する次位置候補再取得手段と、を含み、前記次位置候補取得手段又は前記次位置候補再取得手段によって取得される前記ゲームキャラクタの前記次位置の候補を、該ゲームキャラクタの前記次位置として決定する、ことを特徴とする。
【００１４】
また、本発明の一態様では、前記複数のゲームキャラクタの姿勢はそれぞれ前記所定時間ごとに更新され、前記複数のゲームキャラクタの前記所定時間ごとの姿勢を取得可能に構成されてなる姿勢データを記憶する姿勢データ記憶手段と、前記次位置決定手段によって前記次位置を決定された前記ゲームキャラクタの該次位置における姿勢を、前記次位置候補再取得手段によって前記次位置の候補の取得がなされた場合には、前記姿勢データと、該ゲームキャラクタの現在の姿勢と、前記補正移動距離と前記所定時間ごとの移動距離との差と、に基づいて取得し、前記次位置候補再取得手段によって前記次位置の候補の取得がなされていない場合には、前記姿勢データと、該ゲームキャラクタの現在の姿勢と、に基づいて決定する姿勢決定手段と、を含むことを特徴とする。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。
【００１６】
図１は、本発明の実施形態に係るゲーム装置の構成を示す図である。同図に示すゲーム装置１０は、家庭用ゲーム機１１に情報記憶媒体たるＤＶＤ−ＲＯＭ２５及びメモリカード２８が装着され、さらにモニタ１８及びスピーカ２２が接続されることによって構成されている。モニタ１８には家庭用テレビ受像器が用いられ、スピーカ２２にはその内蔵スピーカが用いられる。また、ここではプログラムを家庭用ゲーム機１１に供給するためにＤＶＤ−ＲＯＭ２５を用いるが、ＣＤ−ＲＯＭやＲＯＭカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機１１に供給するようにしてもよい。
【００１７】
家庭用ゲーム機１１は、マイクロプロセッサ１４、画像処理部１６、主記憶２６、入出力処理部３０、音声処理部２０、コントローラ３２及びＤＶＤ−ＲＯＭ再生部２４を含んで構成される公知のコンピュータゲームシステムである。マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０は、バス１２によって相互データ通信可能に接続されており、入出力処理部３０には、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８が接続されている。コントローラ３２以外の家庭用ゲーム機１１の各構成要素は筐体内に収容されている。
【００１８】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステム、ＤＶＤ−ＲＯＭ２５から読み出されるプログラム、及びメモリカード２８から読み出されるセーブデータに基づいて、家庭用ゲーム機１１の各部を制御し、プレイヤにゲームを提供する。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。また、主記憶２６は、例えばＲＡＭを含んで構成されるものであり、ＤＶＤ−ＲＯＭ２５から読み出されたプログラムやメモリカード２８から読み出されたセーブデータが必要に応じて書き込まれる。また、主記憶２６は、マイクロプロセッサ１４の作業用としても用いられる。画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データを受け取って、それに基づいてＶＲＡＭ上にゲーム画面を描画するとともに、その内容をビデオ信号に変換して所定のタイミングでモニタ１８に出力する。
【００１９】
入出力処理部３０は、マイクロプロセッサ１４が、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８にアクセスするためのインタフェースである。音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ−ＲＯＭ２５から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ２２から出力する。ＤＶＤ−ＲＯＭ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ−ＲＯＭ２５に記録されたゲームプログラムやゲームデータを読み取る。メモリカード２８は、不揮発性メモリ（例えばＥＥＰＲＯＭ等）を含んでおり、家庭用ゲーム機１１に対して脱着可能に構成され、例えば各種ゲームのセーブデータ等のゲームデータが記憶される。コントローラ３２は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部３０は一定周期（例えば１／６０秒毎）にコントローラ３２の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号を、バス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４はその操作信号に基づいてプレイヤのゲーム操作を判定する。
【００２０】
図２は、コントローラ３２の一例を示す図である。同図に示すコントローラ３２は汎用ゲームコントローラであり、同図（ａ）に示すように、表面に方向ボタン３４，スタートボタン３６、セレクトボタン３７、ボタン３８Ｘ，３８Ｙ，３８Ａ，３８Ｂを備えており、同図（ｂ）に示すように、奥側側面に、さらにボタン３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒを備えている。すなわち、コントローラ３２の奥側側面には、表面側左右にボタン４１Ｌ，４１Ｒがそれぞれ備えられており、裏面側左右にボタン３９Ｌ，３９Ｒがそれぞれ備えられている。方向ボタン３４は十字形状を有しており、通常はキャラクタやカーソルの移動方向を設定するのに用いられる。スタートボタン３６は三角形状を有する小型の押しボタンであり、通常はゲームのスタートやゲームの強制終了などに用いられる。セレクトボタン３７、ボタン３８Ｘ，３８Ｙ，３８Ａ，３８Ｂ，３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒは、その他のゲーム操作に用いられる。また、このコントローラ３２には振動子３５が内蔵されている。振動子３５は、例えば圧電素子、或いは偏心重り付きのモータ等によって構成されるものであり、マイクロプロセッサ１４からコントローラ３２に供給される振動オン命令に応じて動作し、コントローラ３２を振動させるようになっている。また、マイクロプロセッサ１４からコントローラ３２に供給される振動オフ命令に応じて動作を停止し、コントローラ３２の振動を停止させるようになっている。
【００２１】
かかる構成を有するゲーム装置１０では、コントローラの操作に従い、プレイヤゲームキャラクタが３次元ゲーム空間を移動して各種ゲームイベントを攻略していくロールプレイングゲームを提供する。このロールプレイングゲームでは、フィールドやダンジョン等で敵ゲームキャラクタに出くわすと、戦闘が始まる。味方ゲームキャラクタ（プレイヤキャラクタ）及び敵ゲームキャラクタは、主記憶２６に構築された仮想的なゲーム空間、すなわち３次元ゲーム空間（仮想３次元空間）における戦闘フィールドで互いに向かい合って配置されており、味方ゲームキャラクタの後方上空に配置された視点から敵ゲームキャラクタの方を見た様子がモニタ１８に戦闘画面として表示される。
【００２２】
戦闘はターンごとに区切って行われるようになっている。各ターンの始めにプレイヤが各味方ゲームキャラクタに対して指示を与えると、各味方ゲームキャラクタはそのターンにおいて指示に応じた動作、例えば攻撃、防御、魔法、アイテム使用等を行うようになっている。敵ゲームキャラクタもゲーム装置１０（ゲームプログラム）の指示（制御）に従ってこれらの動作を行うようになっている。攻撃を指示されたゲームキャラクタ（味方ゲームキャラクタ及び敵ゲームキャラクタ）は、それぞれの特性やそれぞれが装備している武器等によって直接攻撃又は間接攻撃のいずれかを行うようになっている。直接攻撃を行うゲームキャラクタは、まず攻撃対象のゲームキャラクタのところまで移動する。その後、該ゲームキャラクタに対し攻撃を加え、元の場所に戻るようになっている。これらはゲーム装置１０の制御によって自動的に行われる。
【００２３】
特に、このロールプレイングゲームでは、攻撃対象に向かって移動中のゲームキャラクタが他のゲームキャラクタをすり抜けるように表示されることを抑止するために、ゲームキャラクタの移動速度を制御するようになっている。以上について図３を用いて詳細に説明する。同図（ａ）はターン開始時の状態を示している。味方ゲームキャラクタＡ，Ｂ，Ｃ，Ｄはそれぞれ基準位置５０ａ，５１ａ，５２ａ，５３ａに配置されている。敵ゲームキャラクタＡ，Ｂ，Ｃはそれぞれ基準位置５４ａ，５５ａ，５６ａに配置されている。同図の例では、味方ゲームキャラクタＡは敵ゲームキャラクタＢを、味方ゲームキャラクタＢは敵ゲームキャラクタＡを直接攻撃するように指示されている。味方ゲームキャラクタＡ及びＢはそれぞれの攻撃対象まで進路５８又は５９上を移動する。
【００２４】
同図（ｂ）は味方ゲームキャラクタＡ及びＢが攻撃対象に向かってそれぞれ移動中の状態を示している。味方ゲームキャラクタＡ及びＢは現在位置５０ｂ，５１ｂにそれぞれ位置している。次位置５０ｃ，５１ｃは味方ゲームキャラクタＡ及びＢの所定時間（本実施の形態では１／３０秒）後の位置を示している。この場合、次位置５０ｃ及び５１ｃは近接しており、このまま味方ゲームキャラクタＡ及びＢを移動させてしまうと、これらが重なって表示される（互いにすり抜けるように表示される）ことになってしまう。
【００２５】
本実施の形態に係るロールプレイングゲームでは、以上のような場合に、少なくとも一方のゲームキャラクタを通常よりも速い速度又は遅い速度で移動させるようになっている。すなわち、所定時間の間に移動する距離を通常よりも増減させるようになっている。同図（ｃ）は味方ゲームキャラクタＡを通常よりも速い速度（１．５倍の速度）で移動させ、味方ゲームキャラクタＢを通常よりも遅い速度（０．５倍の速度）で移動させた場合を示している。味方ゲームキャラクタＡの次位置５０ｃは、同図（ｂ）の場合に比べて攻撃目標たる敵ゲームキャラクタＢにより近い位置となっており、味方ゲームキャラクタＢの次位置５１ｃは、同図（ｂ）の場合に比べて攻撃目標たる敵ゲームキャラクタＡにより遠い位置となっている。以上のようにして、移動中のゲームキャラクタの画像が他のゲームキャラクタの画像と重なって表示されることを抑止している。
【００２６】
なお、以上のロールプレイングゲームは、ＤＶＤ−ＲＯＭ２５等の情報記憶媒体やインターネット等の通信ネットワークによって供給されるゲームプログラムがゲーム装置１０によって実行されることによって実現される。
【００２７】
ここで、ゲーム装置１０において実現される機能ブロックについて説明する。図４は、ゲーム装置１０において実現される機能ブロックのうち、本発明に関連するものを中心として示す図である。同図に示すように、ゲーム装置１０は、記憶部６０、次位置決定部６２、姿勢決定部６３、現在位置更新部７０、ゲーム画像生成部７２及び表示部７４を含んで構成される。記憶部６０はＤＶＤ−ＲＯＭ２５、主記憶２６、メモリカード２８やハードディスク記憶装置等を主として構成される。表示部７４はモニタ１８を含んで構成される。その他の機能は家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、携帯情報端末、あるいはパーソナルコンピュータ等のコンピュータによってプログラム（ＤＶＤ−ＲＯＭ等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給される）が実行されることによって実現される。
【００２８】
記憶部６０は、図５に示すような行動管理テーブルを記憶している。行動管理テーブルには、各ゲームキャラクタの状態やそのターンにおける行動に関する情報が記憶される。行動管理テーブルは各ターンの開始前にプレイヤによってなされる指示内容等に基づいて生成又は更新される。行動順位はそのターンにおける各ゲームキャラクタの行動開始の順序を示している。行動順位は各ゲームキャラクタの素早さを示すパラメータ（以下、素早さパラメータとする。）に基づいて決定される。各ゲームキャラクタの素早さパラメータは、ゲームキャラクタ情報の一部として記憶部６０に記憶される。各ゲームキャラクタは行動順位に従って行動を開始していく。素早いゲームキャラクタほど先に行動を開始するようになっている。行動開始カウンタは各ゲームキャラクタが行動を開始するまでの時間を示している。行動開始カウンタは所定時間（本実施の形態では１／３０秒）ごとにデクリメントされていく。そして、行動開始カウンタが０になると、そのゲームキャラクタは行動を開始するようになっている。同図では、一定時間（同図の例では１秒）間隔で各ゲームキャラクタが行動を開始するようになっているが、この間隔も各ゲームキャラクタの素早さパラメータに基づいて決定するようにしてもよい。
【００２９】
配置位置は戦闘フィールドにおいて各ゲームキャラクタが配置される基準位置を示している。ＨＰ（ヒットポイント）は各ゲームキャラクタの体力を示している。ＨＰは他のゲームキャラクタから攻撃を受けること等によって減少していく。ＨＰが０になったゲームキャラクタについては行動が制限される（例えば行動不可能になる）ようになっている。行動種類は各ゲームキャラクタがそのターンでとる行動を示している。行動種類は各ターンの開始前になされるプレイヤ等の指示に基づいて決定される。対象は行動種類で示される行動の対象となるゲームキャラクタを示している。例えば、行動種類が直接攻撃の場合、対象は直接攻撃の対象となるゲームキャラクタを示している。行動状態フラグは各ゲームキャラクタが行動済みであるか否か及び行動中であるか否かを示している。例えば、まだ行動を開始していないことを示す「未行動」、行動中であることを示す「行動中」や、行動済みであることを示す「行動済み」等がセットされる。
【００３０】
また、記憶部６０は、図６に示すような直接攻撃管理テーブルを記憶している。直接攻撃管理テーブルには、直接攻撃の行動を開始したゲームキャラクタの現在位置を示す情報（現在位置情報）等が記憶される。あるゲームキャラクタが直接攻撃を開始する場合に、該ゲームキャラクタの情報が直接攻撃管理テーブルに登録される。基準位置は各ゲームキャラクタの定位置、すなわちターン開始時の位置を示している。目標位置は直接攻撃の対象たるゲームキャラクタの位置を示している。基準位置や目標位置は行動管理テーブル（図５）の配置位置に基づいて登録される。モーションデータ種類は現在再生中のモーションデータの種類を示している。すなわち、各ゲームキャラクタの現在の動作種類を示している。モーションデータは、各ゲームキャラクタの所定時間（本実施の形態では１／３０秒）ごとの姿勢を取得可能に構成されたデータであり、例えば所定時間ごとの姿勢変化が記憶されたデータである。本実施の形態では、直接攻撃を開始する際の攻撃開始モーションデータと、攻撃対象のところまで移動する際の移動中モーションデータと、攻撃対象に攻撃を行う際の直接攻撃モーションデータと、元のところまで戻る際の戻り中モーションデータと、直接攻撃を開始する前又は完了した後に基準位置で待機する際の待機モーションデータとが用意されており、これらのモーションデータは記憶部６０に記憶されている。モーションデータ種類にはこれらのいずれかを示す情報が保持される。モーションデータ再生位置はモーションデータの現在の再生位置を示している。直接攻撃を開始したゲームキャラクタの現在の姿勢は、モーションデータ種類とモーションデータ再生位置とに基づいて特定することができる。
【００３１】
本実施の形態では、ゲーム装置１０は、３次元ゲーム空間に配置される複数のゲームキャラクタがそれぞれ基準位置から目標位置に向かう進路上を移動するように、複数のゲームキャラクタの現在位置をそれぞれ所定時間（１／３０秒）ごとに更新するようになっている。次位置決定部６２は、ゲームキャラクタの現在位置より目標位置に近い進路上の次位置を、該ゲームキャラクタの現在位置情報と、該ゲームキャラクタの基準位置と目標位置とに基づいて取得される進路情報と、１又は複数の他のゲームキャラクタの現在位置情報と、該１又は複数の他のゲームキャラクタの基準位置と目標位置とに基づいてそれぞれ取得される進路情報と、に基づいて決定する。
【００３２】
例えば、次位置取得部６２は、ゲームキャラクタの位置に従動する所定範囲が、１又は複数の他のゲームキャラクタの各位置に従動する各所定範囲と重ならないように、該ゲームキャラクタの次位置を決定する。例えば、あるタイミングにおけるゲームキャラクタの位置（将来位置候補）に従動する所定範囲が、同タイミングにおける１又は他のゲームキャラクタの各位置（各将来位置候補）に従動する各所定範囲と全部又は一部において重ならないように、該ゲームキャラクタの次位置を決定するようにしてもよい。本実施の形態では、ゲームキャラクタの次位置に従動する所定範囲が、１又は他のゲームキャラクタの各次位置に従動する各所定範囲と全部又は一部において重ならないように、該ゲームキャラクタの次位置を決定するようになっている。
【００３３】
本実施の形態に係る次位置決定部６２は、次位置候補取得部６４、判断部６６及び次位置候補再取得部６８を含んで構成される。次位置候補取得部６４は、ゲームキャラクタの次位置の候補（以下、次位置候補とする。）を該ゲームキャラクタの現在位置情報と進路情報と所定時間（本実施の形態では１／３０秒）ごとの移動距離とに基づいて取得し、１又は複数の他のゲームキャラクタの次位置の候補を現在位置情報と進路情報と所定時間ごとの移動距離とに基づいてそれぞれ取得する。各ゲームキャラクタの所定時間ごとの移動距離はゲームキャラクタ情報の一部として記憶部６０に記憶しておくようにすればよい。または、単位時間あたりの移動距離、すなわち移動速度をゲームキャラクタ情報の一部として記憶部６０に記憶しておき、該移動速度に基づいて算出するようにしてもよい。さらに、各ゲームキャラクタの素早さパラメータに基づいてその都度決定するようにしてもよい。
【００３４】
判断部６６は、次位置候補取得部６４によって取得される、ゲームキャラクタの次位置候補と、１又は複数の他のゲームキャラクタの次位置候補のいずれかとが所定の衝突条件を満足する否かを判断する。衝突条件は、例えばゲームキャラクタの次位置候補に従動する所定範囲と、１又は複数の他のゲームキャラクタの次位置候補のいずれかに従動する所定範囲との少なくとも一部が重なるか否かの条件である。また例えば、ゲームキャラクタの次位置候補が１又は複数の他のゲームキャラクタの次位置候補のいずれかからの所定距離の範囲内に含まれるか否かの条件である。
【００３５】
次位置候補再取得部６８は、判断部６６による判断結果に基づいて、ゲームキャラクタの次位置候補を、該ゲームキャラクタの現在位置情報と進路情報と所定時間ごとの移動距離を増減してなる補正移動距離とに基づいて再取得する。例えば、衝突条件を満足すると判断されたゲームキャラクタの組み合わせについて、少なくとも一方の次位置候補を再取得するようにしてもよい。また例えば、衝突条件を満足すると判断されたゲームキャラクタの組み合わせについて、一方の次位置候補を該ゲームキャラクタの現在位置情報と進路情報と所定時間ごとの移動距離を増加してなる補正移動距離とに基づいて再取得し、他方の次位置候補を該ゲームキャラクタの現在位置情報と進路情報と所定時間ごとの移動距離を減少してなる補正移動距離とに基づいて再取得するようにしてもよい。すなわち、一方については通常よりも移動するような次位置候補を、他方については通常よりも移動しないような次位置候補を再取得するようにしてもよい。。
【００３６】
次位置決定部６２では、次位置候補取得部６４によって取得されたゲームキャラクタの次位置候補を該ゲームキャラクタの次位置として決定する。ただし、次位置候補再取得部６８によって次位置候補が再取得された場合には該位置候補を該ゲームキャラクタの次位置として決定する。現在位置更新部７０は、次位置決定部６２によって次位置が決定されたゲームキャラクタについて、該ゲームキャラクタの現在位置情報が該次位置を示すように、記憶部６０の記憶内容を更新する。このように本実施の形態では、ゲームキャラクタの次位置が次位置決定部６２によってそれぞれ所定時間ごとに決定され、ゲームキャラクタの現在位置が該次位置に更新されるようになっている。このようにゲームキャラクタの現在位置を更新しながら、ゲームキャラクタを基準位置から目標位置まで所定の進路上を移動させていく。
【００３７】
本実施の形態では、ゲーム装置１０は、複数のゲームキャラクタの姿勢をそれぞれ所定時間（１／３０秒）ごとに更新する。姿勢決定部６３は、次位置決定部６２によって次位置を決定されたゲームキャラクタの該次位置における姿勢を、記憶部６０に記憶されたモーションデータと、該ゲームキャラクタの現在の姿勢とに基づいて決定する。ただし、次位置候補再取得部６８によって次位置候補の取得がなされた場合には、記憶部６０に記憶されたモーションデータと、該ゲームキャラクタの現在の姿勢と、補正移動距離と所定時間ごとの移動距離との差とに基づいて決定する。すなわち、通常の場合（位置候補再取得部６８によって次位置候補の取得がなされない場合）には、モーションデータの再生位置は所定時間後となるところ（次位置における姿勢はモーションデータに基づいて取得される所定時間後の姿勢となるところ）、通常よりも所定時間ごとの移動距離が長くなったり短くなったりした場合（位置候補再取得部６８によって次位置候補の取得がなされた場合）には、それに応じてモーションデータの再生位置を通常よりも進めたり遅らせたりする。例えば、１／３０秒ごとの移動距離が０．５倍となった場合には、次位置における姿勢はモーションデータに基づいて取得される１／６０秒後の姿勢となる。例えば、１／３０秒ごとの移動距離が１．５倍となった場合には、次位置における姿勢はモーションデータに基づいて取得される３／６０秒後の姿勢となる。
【００３８】
ゲーム画像生成部７２は、複数のゲームキャラクタの全部又は一部を表示するゲーム画像を、記憶部６０の記憶内容（現在位置情報等）に基づいて生成する。表示部７４はゲーム画像生成部７２によって生成されたゲーム画像を表示する。
【００３９】
次に、ゲーム装置１０において実行される処理について説明する。図７はゲーム装置１０において所定時間（本実施の形態では１／３０秒）ごとに実行される処理のうち、本発明に関連するものについて示すフロー図である。本処理は、ＤＶＤ−ＲＯＭ等のコンピュータにより読み取り可能な情報記憶媒体や通信ネットワークによってコンピュータに供給されるプログラムがゲーム装置１０によって実行されることによって実現される。  
【００４０】
同図に示すように、ゲーム装置１０は、まず行動開始カウンタをデクリメントする（Ｓ１０１）。行動管理テーブル（図５）の各ゲームキャラクタの行動開始カウンタの値を１減少させる。ただし、すでに行動開始カウンタが０である場合にはデクリメントを行わない。次に、ゲーム装置１０は、直接攻撃中のゲームキャラクタが存在するか否かを判断する（Ｓ１０２）。この判断は、行動管理テーブルの行動種類、行動状態フラグに基づいてなされる。直接攻撃管理テーブル（図６）にデータが登録されているか否かに基づいて判断するようにしてもよい。
【００４１】
ゲーム装置１０は、直接攻撃中のゲームキャラクタが存在しないと判断した場合、その他行動更新処理を実行する（Ｓ１０４）。この処理では、その他の行動中のゲームキャラクタが存在する場合に、その行動種類や対象等に基づいたゲーム処理を実行する。一方、直接攻撃中のゲームキャラクタが存在すると判断した場合、ゲーム装置１０は直接攻撃更新処理を実行する（Ｓ１０３）。この処理では、ゲーム装置１０は直接攻撃中のゲームキャラクタの次の位置や該位置における姿勢を決定する。
【００４２】
ここで、直接攻撃更新処理について説明する。図８及び図９は直接攻撃更新処理について説明するためのフロー図である。同図に示すように、ゲーム装置１０は、まず直接攻撃中のゲームキャラクタの次位置候補を取得する（Ｓ２０１）。各ゲームキャラクタの次位置候補は次のように算出する。まず、各ゲームキャラクタの基準位置から目標位置までの進路を算出する。本実施の形態では、各ゲームキャラクタは基準位置から目標位置までこれらを結ぶ直線上を移動するようになっている。次に、各ゲームキャラクタの所定時間（１／３０秒）ごとの移動距離を取得する。本実施の形態では、各ゲームキャラクタの移動速度は、各ゲームキャラクタごとの移動中のモーションデータによって定められる一歩あたりの移動距離と、該モーションデータにおける一歩あたりのフレーム数（秒数）とに基づいて定められている。そして、記憶部６０には、各ゲームキャラクタの移動速度、又は該移動速度に基づいてそれぞれ取得される各ゲームキャラクタの所定時間ごとの移動距離が、ゲームキャラクタ情報の一部として記憶されている。なお、各ゲームキャラクタの移動速度はそれぞれの素早さパラメータに基づいてその都度決定するようにしてもよい。ゲーム装置１０は、各ゲームキャラクタの次位置候補として、それぞれの進路上の位置であって、それぞれの現在位置から目標位置に所定時間ごとの移動距離だけ近づく位置を算出する。
【００４３】
次に、Ｓ２０１で取得した各ゲームキャラクタの次位置候補と他のゲームキャラクタの次位置候補とが所定の衝突条件を満足するか否かを判断し、衝突条件を満足する場合には、その組み合わせに係るゲームキャラクタの次位置候補の少なくとも一方を変更する（Ｓ２０３乃至Ｓ２１４）。本実施の形態では、ゲームキャラクタの次位置候補に従動する所定領域と、他のゲームキャラクタの次位置候補に従動する所定領域とについてその全部又は一部が重なるか否かによって、衝突条件を満足するか否かを判断する。例えば、ゲームキャラクタをそれぞれの次位置候補に配置した場合において、公知の当たり判定処理によって当たりと判定されるゲームキャラクタの組み合わせが存在するか否かを判断するようにすればよい。
【００４４】
次位置候補の変更は次のように行う。まず、各ゲームキャラクタの補正係数を記憶部６０に保持させる。補正係数は、移動速度を通常よりもどれだけ速くするか又は遅くさせるかを示すものである。換言すれば、所定時間ごとの移動距離を通常より増減させるか否かを示すものである。本実施の形態では、補正係数のとり得る値は０，０．５，１．０，１．５，２．０のいずれかとなっている。例えば補正係数０．５は、移動速度を１／２倍にすること、すなわち所定時間ごとの移動距離を１／２倍にすることを示すものである。例えば補正係数２．０は、移動速度を２倍にすること、すなわち所定時間ごとの移動距離を２倍にすることを示すものである。本実施の形態では、ゲームキャラクタが後戻りすることがないように、補正係数の最小値を０としている。また、所定時間ごとの移動距離が大きくなりすぎないように、補正係数の最大値を２．０としている。この最小値や最大値はどのように設定してもよい。また、補正係数の値は０．５間隔でなくてもよい。
【００４５】
ゲーム装置１０は、各ゲームキャラクタの補正係数の初期値を１．０とする（Ｓ２０３）。ゲーム装置１０は、衝突条件を満足したゲームキャラクタの組み合わせが存在した場合、少なくとも一方のゲームキャラクタの補正係数を＋０．５又は−０．５する。本実施の形態では、衝突条件を満足したゲームキャラクタの組み合わせが存在した場合、ゲームキャラクタの素早さ（素早さパラメータの値）に基づいて補正係数を増減する。具体的には、補正係数がともに１．０である場合には（Ｓ２０７）、素早い方のゲームキャラクタの補正係数を＋０．５し、素早くない方の補正係数を−０．５する（Ｓ２０８）。また、補正係数がすでに増減されている場合であって、ともに１．０未満である場合には（Ｓ２０９）、素早くない方のみを−０．５する（Ｓ２１０）。これは少なくとも一度は減少された補正係数を増加させることがないようにするためである。また同様に、補正係数がすでに増減されている場合であって、ともに１．０より大きい場合には（Ｓ２１１）、素早い方のみを＋０．５する（Ｓ２１２）。これは少なくとも一度は増加された補正係数を減少させることがないようにするためである。さらに、一方の補正係数が１．０以上で、かつ、他方の補正係数が１．０以下である場合には、ゲームキャラクタの素早さに関わらず、その時点で補正係数が大きい方を＋０．５し、補正係数が小さい方を−０．５する（Ｓ２１３）。
【００４６】
なお、本実施の形態では、ゲームキャラクタの素早さに基づいて補正係数を増減するようにしたが、例えば現在位置から目標位置までの距離（残り移動距離）に基づいて補正係数を増減するようにしてもよい。例えば、残り移動距離が小さい方の補正係数を＋０．５し、残り移動距離が大きい方の補正係数を−０．５とするようにしてもよい。また、ゲームキャラクタのその他のパラメータに基づいて補正係数を増減するようにしてもよい。
【００４７】
また、本実施の形態では、Ｓ２０３において補正係数を各ターンごとに初期化するようにしているが、補正係数を記憶部６０に保持させておき、次のターンにおいて該補正係数に対し増減が行われるようにしてもよい（Ｓ２０７乃至Ｓ２１３）。こうすれば、ゲームキャラクタの移動速度がターンごとに速くなったり遅くなったりすることによってプレイヤに与えてしまう違和感を緩和できるようになる。
【００４８】
補正係数が更新された場合には、ゲーム装置１０は次位置候補を更新後の補正係数に基づいて再取得する（Ｓ２１４）。本実施の形態の場合、該ゲームキャラクタの進路上の位置であって、所定時間（１／３０秒）ごとの移動距離に更新後の補正係数を乗じて算出される補正移動距離分、現在位置から目標位置に近づく位置を次位置候補として再取得する。そして、ゲーム装置１０は、直接攻撃管理テーブル（図６）の各ゲームキャラクタの現在位置がＳ２０１又はＳ２１４でそれぞれ取得される次位置候補を示すように、直接攻撃管理テーブルの内容を更新する（Ｓ２１５）。
【００４９】
次に、ゲーム装置１０は、モーションデータ種類が攻撃開始モーションデータであり、かつ、該モーションデータの再生を完了したゲームキャラクタが存在するか否かを判断する（Ｓ２１６）。この判断は、直接攻撃管理テーブル（図６）のモーションデータ種類及びモーションデータ再生位置に基づいてなされる。以上のようなゲームキャラクタが存在する場合、該ゲームキャラクタのモーションデータ種類が移動中モーションデータを示すように直接攻撃管理テーブルを更新する（Ｓ２１７）。
【００５０】
また、ゲーム装置１０は、モーションデータ種類が移動中モーションデータであり、かつ、現在位置（次位置）が攻撃対象のゲームキャラクタの位置から所定範囲（攻撃可能範囲）内であるゲームキャラクタが存在するか否かを判断する（Ｓ２１８）。この判断は、直接攻撃管理テーブル（図６）の現在位置、目標位置やモーションデータ種類に基づいてなされる。以上のようなゲームキャラクタが存在する場合、該ゲームキャラクタのモーションデータ種類が直接攻撃モーションデータを示すように直接攻撃管理テーブルを更新する（Ｓ２１９）。
【００５１】
さらに、ゲーム装置１０は、モーションデータ種類が直接攻撃モーションデータであり、かつ、該モーションデータの再生を完了したゲームキャラクタが存在するか否かを判断する（Ｓ２２０）。この判断は、直接攻撃管理テーブル（図６）のモーションデータ種類及びモーションデータ再生位置に基づいてなされる。以上のようなゲームキャラクタが存在する場合、該ゲームキャラクタのモーションデータ種類が戻り中モーションデータを示すように直接攻撃管理テーブルを更新する（Ｓ２２１）。
【００５２】
さらに、ゲーム装置１０は、モーションデータ種類が戻り中モーションデータであり、かつ、現在位置（次位置）が自らの基準位置から所定範囲内であるゲームキャラクタが存在するか否かを判断する（Ｓ２２２）。この判断は、直接攻撃管理テーブル（図６）のモーションデータ種類及びモーションデータ再生位置に基づいてなされる。以上のようなゲームキャラクタが存在する場合、該ゲームキャラクタのモーションデータ種類が待機モーションデータを示すように直接攻撃管理テーブルを更新する（Ｓ２２３）。
【００５３】
そして、ゲーム装置１０は、各ゲームキャラクタのモーションデータの再生位置を更新する（Ｓ２２４）。本実施の形態では、モーションデータの再生位置は補正係数に基づいて決定されるようになっている。所定時間（１／３０秒）に補正係数を乗じた時間が現在の再生位置から経過した位置にモーションデータの再生位置を更新するようになっている。以上で直接攻撃更新処理は終了する。
【００５４】
直接攻撃更新処理を完了したゲーム装置１０は、行動開始ゲームキャラクタが存在するか否かを判断する（Ｓ１０５）。行動開始ゲームキャラクタは、行動管理テーブル（図５）において行動開始カウンタが０であって、行動状態が未行動であるゲームキャラクタである。ゲーム装置１０は、行動開始ゲームキャラクタが存在する場合には、該ゲームキャラクタの行動開始処理（Ｓ１０８又はＳ１０９）を実行する。行動開始ゲームキャラクタが複数存在する場合には、行動順位に従って行動開始処理を実行する（Ｓ１０６及びＳ１１０）。行動開始ゲームキャラクタの行動種類が直接攻撃である場合には直接攻撃開始処理を、直接攻撃以外である場合にはその他行動開始処理を実行する（Ｓ１０７乃至Ｓ１０９）。その他行動開始処理では、該その他行動を行わせるためのゲーム処理が実行される。直接攻撃開始処理では、直接攻撃管理テーブル（図６）に直接攻撃を開始するゲームキャラクタのデータが登録される。
【００５５】
ここで、直接攻撃開始処理について説明する。図１０は直接攻撃開始処理について説明するためのフロー図である。同図に示すように、ゲーム装置１０は、行動開始ゲームキャラクタを攻撃中のゲームキャラクタが存在するか否かを判断する（Ｓ３０１）。この判断は、行動管理テーブル（図５）の行動種類、対象や行動状態フラグに基づいてなされる。ゲーム装置１０は、行動開始ゲームキャラクタを攻撃中のゲームキャラクタが存在すると判断した場合、本処理を終了する。このように、行動開始ゲームキャラクタを攻撃対象とする他のゲームキャラクタが存在し、該他のゲームキャラクタが攻撃を開始している場合には、行動開始ゲームキャラクタは該他のゲームキャラクタによる攻撃を受け終わるまでは行動を開始できないようになっている。
【００５６】
次に、ゲーム装置１０は、攻撃対象のゲームキャラクタのＨＰが０であるか否かを判断する（Ｓ３０２）。この判断は、行動管理テーブルの行動種類、対象及びＨＰに基づいてなされる。ゲーム装置１０は、攻撃対象のゲームキャラクタのＨＰが０であると判断した場合、他の攻撃対象を選出する（Ｓ３０３）。他の攻撃対象の選出は、ランダムに行われるようにしてもよいし、ＨＰが最も大きいものが優先的に選出されるようにしてもよい。Ｓ３０４及びＳ３０５の条件を満足しないものをあらかじめ選出するようにすると好適である。
【００５７】
また、ゲーム装置１０は、攻撃対象のゲームキャラクタを他のゲームキャラクタが攻撃中か否かを判断する（Ｓ３０４）。この判断は、行動管理テーブル（図５）の行動種類、対象や行動状態フラグに基づいてなされる。ゲーム装置１０は、攻撃対象のゲームキャラクタを攻撃中の他のゲームキャラクタが存在すると判断した場合、本処理を終了する。このように、攻撃対象のゲームキャラクタを同じく攻撃対象とする他のゲームキャラクタが存在し、該他のゲームキャラクタが攻撃を開始している場合には、行動開始ゲームキャラクタは該他のゲームキャラクタによる攻撃が完了するまでは行動を開始できないようになっている。
【００５８】
さらに、ゲーム装置１０は、攻撃対象のゲームキャラクタが他のゲームキャラクタを攻撃中か否かを判断する（Ｓ３０５）。この判断は、行動管理テーブル（図５）の行動種類、対象や行動状態フラグに基づいてなされる。ゲーム装置１０は、攻撃対象のゲームキャラクタが他のゲームキャラクタを攻撃中であると判断した場合、本処理を終了する。このように、攻撃対象のゲームキャラクタが他のゲームキャラクタに対する攻撃を開始している場合には、行動開始ゲームキャラクタは攻撃対象のゲームキャラクタの攻撃が完了するまでは行動を開始できないようになっている。
【００５９】
攻撃対象のゲームキャラクタが他のゲームキャラクタを攻撃中でない場合、ゲーム装置１０は次位置候補を取得する（Ｓ３０６）。次位置候補の取得はＳ２０１の場合と同様に行われる。そして、ゲーム装置１０は、この次位置候補と直接攻撃を開始している他のゲームキャラクタのいずれかの位置とが衝突条件を満足するか否かを判断する（Ｓ３０７）。ここで、他のゲームキャラクタの位置とは、直接攻撃管理テーブル（図６）に保持される各ゲームキャラクタの現在位置である。衝突条件を満足するか否かの判断はＳ２０６の場合と同様に行われる。行動開始ゲームキャラクタの次位置候補と直接攻撃中の他のゲームキャラクタのいずれかの位置とが衝突条件を満足する場合、ゲーム装置１０は本処理を終了する。このように、行動開始ゲームキャラクタの最初の移動先（次位置候補）と直接攻撃中の他のゲームキャラクタの位置とが衝突条件を満足する場合には、行動開始キャラクタは行動を開始できないようになっている。
【００６０】
行動開始ゲームキャラクタの次位置候補が直接攻撃を開始している他のゲームキャラクタのいずれかの位置とも衝突条件を満足しない場合、ゲーム装置１０は直接攻撃管理テーブル（図６）に行動開始ゲームキャラクタのデータを登録する（Ｓ３０８）。このとき、基準位置には行動管理テーブル（図５）に保持される行動開始ゲームキャラクタの配置位置を登録し、目標位置には行動管理テーブルに保持される攻撃対象ゲームキャラクタの配置位置を登録する。また、現在位置にはＳ３０６で取得した次位置候補を登録する。さらに、モーションデータ種類は攻撃開始モーションデータを示すように登録する。モーションデータ再生位置には該モーションデータの再生開始位置を登録する。ここで、基準位置と目標位置とに基づいて取得される進路情報を登録しておくようにしてもよい。進路情報は例えば関数の形で表されるものである。この場合、Ｓ２０１やＳ３０６において次位置候補の取得を、直接攻撃管理テーブルに記憶される進路情報に基づいて行うようにすればよい。
【００６１】
さらに、ゲーム装置１０は行動管理テーブル（図５）を更新する（Ｓ３０９）。すなわち、行動開始ゲームキャラクタの行動状態フラグが行動中を示すように行動管理テーブルを更新する。以上で、直接攻撃開始処理は完了する。
【００６２】
そして、Ｓ１０５において行動開始ゲームキャラクタが存在しないと判断した場合、又は行動開始ゲームキャラクタについて行動開始処理を実行し終えた場合、ゲーム装置１０は、行動管理テーブル（図５）に記憶される現在位置、直接攻撃管理テーブル（図６）に記憶されるモーションデータ種類やモーションデータ再生位置、記憶部６０に記憶されるモーションデータ等に基づいて、ゲームキャラクタの全部又は一部を表示するゲーム画像をＶＲＡＭ上に形成する（Ｓ１１１）。こうしてＶＲＡＭに形成される画像は所定のタイミングでモニタ１８に出力される。
【００６３】
以上説明したように、本実施の形態に係るゲーム装置１０では、３次元ゲーム空間を移動するゲームキャラクタの組み合わせが所定の衝突条件を満足する場合、少なくとも一方の移動速度を速くしたり遅くしたり変化させることによって、ゲームキャラクタの画像が重なって表示されることを抑止するようになっている。このため、他のゲームキャラクタをすり抜けるように表示されることを抑止できるようになっている。また、移動速度を変化させた場合、ゲームキャラクタの姿勢を該移動速度の変化に対応させ、プレイヤに対して違和感を与えることがないようになっている。
【００６４】
なお、本発明は以上説明した実施の形態に限定されるものではない。
【００６５】
例えば、以上の説明ではプログラムを情報記憶媒体たるＤＶＤ−ＲＯＭ２５から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してプログラムを家庭用ゲーム機１１等に配信するようにしてもよい。図１１は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。同図に基づいて本発明に係るプログラム配信方法を説明する。同図に示すように、このプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース（情報記憶媒体）１０２に、ＤＶＤ−ＲＯＭ２５の記憶内容と同様のプログラムが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からプログラムを読み出し、それをパソコン１０８、家庭用ゲーム機１１０、ＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信（一括配信）する必要はなく、ゲームの局面に応じて必要な部分を配信（分割配信）するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【００６６】
【図１】本実施の形態に係るゲーム装置の構成を示す図である。
【図２】コントローラの一例を示す図である。
【図３】３次元ゲーム空間を上方から見た図である。
【図４】本発明の実施形態に係るゲーム装置の機能ブロックを示す図である。
【図５】本発明の実施形態に係るゲーム装置の記憶部の記憶内容を示す図である。
【図６】本発明の実施形態に係るゲーム装置の記憶部の記憶内容を示す図である。
【図７】本実施の形態に係るゲーム装置における処理を示すフロー図である。
【図８】本実施の形態に係るゲーム装置における処理を示すフロー図である。
【図９】本実施の形態に係るゲーム装置における処理を示すフロー図である。
【図１０】本実施の形態に係るゲーム装置における処理を示すフロー図である。
【図１１】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【００６７】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ−ＲＯＭ再生部、２５  ＤＶＤ−ＲＯＭ、２６  主記憶、２８  メモリカード、３０  入出力処理部、３２  コントローラ、３４  方向ボタン、３５  振動子、３６  スタートボタン、３７  セレクトボタン、３８Ａ，３８Ｂ，３８Ｘ，３８Ｙ，３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒ  ボタン、５０ａ，５１ａ，５２ａ，５３ａ，５４ａ，５５ａ，５６ａ  基準位置、５０ｂ，５１ｂ  現在位置、５０ｃ，５１ｃ  次位置、５８，５９  進路、６０  記憶部、６２  次位置決定部、６３  姿勢決定部、６４  次位置候補取得部、６６  判断部、６８  次位置候補再取得部、７０  現在位置更新部、７２  ゲーム画像生成部、７４  表示部、１００  プログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  携帯情報端末（ＰＤＡ）、１１４  プログラム配信装置。
【図１】
0003694515.tif 000002
【図２】
0003694515.tif 000003
【図３】
0003694515.tif 000004
【図４】
0003694515.tif 000005
【図５】
0003694515.tif 000006
【図６】
0003694515.tif 000007
【図７】
0003694515.tif 000008
【図８】
0003694515.tif 000009
【図９】
0003694515.tif 000010
【図１０】
0003694515.tif 000011
【図１１】
0003694515.tif 000012