(57)【要約】【課題】  複数のキャラクタを適切に移動させることのできるキャラクタ移動制御装置等を提供する。【解決手段】  拠点情報記憶部２４０は、マップ上の所定位置にそれぞれ配置される拠点の情報を記憶する。パス情報記憶部２５０は、各拠点間を結ぶ単位経路を規定し、経路の距離等に応じたコストを含むパスの情報を記憶する。ルート検索部２６０は、各キャラクタが進むべき目的地までの複数のルートを拠点情報記憶部２４０およびパス情報記憶部２５０から検索する。キャラクタ制御部２７０は、各ルートを通過した場合の通過コストを算定し、算定した通過コストと、拠点の滞在可能数と、移動対象のキャラクタ数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する。そして、キャラクタ制御部２７０は、各キャラクタを各ルートに沿って移動させる。【選択図】  図２
2006271786.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
仮想空間内に配置される複数のキャラクタの情報を記憶するキャラクタ記憶部、
各キャラクタが移動可能な所定位置にそれぞれ配置され、所定数のキャラクタが滞在可能となる拠点の情報を記憶する拠点記憶部、
所定のコストがそれぞれ規定され、当該各拠点間をそれぞれ結ぶパスの情報を記憶するパス記憶部、
各キャラクタが任意の当該拠点および当該パスを通り、進むべき目的地まで到達するための複数のルートを検索する検索部、
検索された当該ルートを通過する際に要する合計の通過コストと、当該ルート中の拠点における滞在可能数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する選択部、
各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる移動制御部、
として機能させることを特徴とするプログラム。
【請求項２】
コンピュータを、
仮想空間内に所定の地形構成物が配置されてなるマップの情報を記憶するマップ記憶部、
当該マップ上を移動可能に配置される複数のキャラクタの情報を記憶するキャラクタ記憶部、
キャラクタの滞在可能数を含み、当該マップ上の所定位置にそれぞれ配置される拠点の情報を記憶する拠点記憶部、
当該各拠点間を結ぶ単位経路をそれぞれ規定し、少なくとも経路の距離に応じたコストを含むパスの情報を記憶するパス記憶部、
各キャラクタが進むべき目的地までの複数のルートを、前記拠点記憶部および前記パス記憶部から検索する検索部、
検索された当該各ルートを通過する際に要する合計の通過コストをそれぞれ算定する算定部、
算定された当該通過コストと、当該各ルート中の拠点における滞在可能数と、移動対象のキャラクタ数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する選択部、
各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる移動制御部、
として機能させることを特徴とするプログラム。
【請求項３】
請求項１または２に記載のプログラムであって、
前記拠点記憶部は、所定数のキャラクタによる占有の有無を示す占有状態を更に記憶し、
前記検索部は、当該占有状態が有りとなっている拠点と、当該拠点に対応するパスとを除いたルートを検索する、
ことを特徴とするもの。
【請求項４】
請求項１乃至３の何れか１項に記載のプログラムであって、
前記パス記憶部は、拠点間をキャラクタが横に並んで移動可能となる横列数を更に記憶し、
ルート通過に要する通過コストは、当該横列数を含めて算定される、
ことを特徴とするもの。
【請求項５】
請求項１乃至４の何れか１項に記載のプログラムであって、
前記パス記憶部は、拠点間の移動の可否を規定する可否状態を更に記憶し、
所定の条件に基づいて、当該可否状態を切り換える切換部、
前記切換部による当該可否状態の切換が生じた場合に、ルートを再検索する再検索部、として更に機能させる、
ことを特徴とするもの。
【請求項６】
前記検索部は、ルートを検索した際に、各拠点間とそれらを結ぶパスとの関係を示す検索済情報を保持し、同じ拠点間が含まれるルートを検索する際に、保持している検索済情報を使用する、
ことを特徴とするもの。
【請求項７】
キャラクタ記憶部、拠点記憶部、および、パス記憶部を用いるキャラクタ移動制御方法であって、前記キャラクタ記憶部は、前記仮想空間内に配置される複数のキャラクタの情報を記憶し、前記拠点記憶部は、各キャラクタが移動可能な所定位置にそれぞれ配置され、所定数のキャラクタが滞在可能となる拠点の情報を記憶し、前記パス記憶部は、所定のコストがそれぞれ規定され、当該各拠点間をそれぞれ結ぶパスの情報を記憶し、
各キャラクタが任意の当該拠点および当該パスを通り、進むべき目的地まで到達するための複数のルートを検索する検索工程と、
検索された当該ルートを通過する際に要する合計の通過コストと、当該ルート中の拠点における滞在可能数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する選択工程と、
各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる移動制御工程と、を備える、
ことを特徴とする方法。
【請求項８】
仮想空間内に配置される複数のキャラクタの情報を記憶するキャラクタ記憶部と、
各キャラクタが移動可能な所定位置にそれぞれ配置され、所定数のキャラクタが滞在可能となる拠点の情報を記憶する拠点記憶部と、
所定のコストがそれぞれ規定され、当該各拠点間をそれぞれ結ぶパスの情報を記憶するパス記憶部と、
各キャラクタが任意の当該拠点および当該パスを通り、進むべき目的地まで到達するための複数のルートを検索する検索部と、
検索された当該ルートを通過する際に要する合計の通過コストと、当該ルート中の拠点における滞在可能数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する選択部と、
各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる移動制御部と、を備える、
ことを特徴とするキャラクタ移動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、キャラクタ移動制御方法、ならびに、キャラクタ移動制御装置に関する。
【背景技術】
【０００２】
従来より、ビデオゲーム装置等にて実行されるゲーム（ソフトウェア等）が種々開発されている。中でも、アクションゲームと総称されるゲームは、根強い人気があり、幅広い年齢層のプレイヤから支持されている。
このアクションゲームは、戦闘ゲームの場合、たとえば、プレイヤは、仮想空間内に配置される自キャラクタを適宜操作し、障害物等を回避させながら移動させる。そして、遭遇する敵キャラクタ群と戦闘してこれらを打ち破り、目的を達成するタイプのゲームである。
【０００３】
なお、このようなアクションゲームに適用される技術の一例として、外部記憶装置の読み取りに伴う待ち時間の発生を抑制可能としたビデオゲーム装置の技術も開示されている（たとえば、特許文献１参照）。
【特許文献１】特開２０００−３０８７５５号公報  （第３−５頁、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したアクションゲーム（戦闘ゲーム）では、プレイヤが単体のキャラクタを操作する場合が、一般的であった。それでも、最近では、集団同士を戦わせるアクションゲームも開発されつつある。
このような集団同士を戦わせるアクションゲームは、各キャラクタをマップ上で移動させる際に、キャラクタ毎に遮蔽物（移動ができない場所等）を検知し、検知した遮蔽物を回避させながら移動させていた。
【０００５】
そのため、キャラクタの数が多くなると、移動時の処理負荷が極めて大きくなってしまい、全体の動作が緩慢になってしまうという問題が生じていた。
また、各キャラクタを同じロジックにて移動させるため、多くのキャラクタが同様の場所に集まってしまい、極めて不自然であった。
【０００６】
本発明は、このような課題を解決するためになされたもので、複数のキャラクタを適切に移動させることのできるプログラム、キャラクタ移動制御方法、ならびに、キャラクタ移動制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点に係るプログラムは、コンピュータ（ゲーム装置を含む。）を、キャラクタ記憶部、拠点記憶部、パス記憶部、検索部、選択部、および、移動制御部として機能させるように構成する。
【０００８】
まず、キャラクタ記憶部は、仮想空間内に配置される複数のキャラクタの情報を記憶する。また、拠点記憶部は、各キャラクタが移動可能な所定位置にそれぞれ配置され、所定数のキャラクタが滞在可能となる拠点の情報を記憶する。そして、パス記憶部は、所定のコストがそれぞれ規定され、当該各拠点間をそれぞれ結ぶパスの情報を記憶する。
【０００９】
一方、検索部は、各キャラクタが任意の当該拠点および当該パスを通り、進むべき目的地まで到達するための複数のルートを検索する。また、選択部は、検索された当該ルートを通過する際に要する合計の通過コストと、当該ルート中の拠点における滞在可能数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する。そして、移動制御部は、各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる。
【００１０】
このように、各キャラクタを移動させる際に、選択したルートに沿って移動させるため、処理負荷を低減できる。また、各キャラクタが移動するルートは、通過コストおよび拠点の滞在可能数を考慮して選択されており、各キャラクタが適宜異なるルートに振り分けられるため、停滞なく各キャラクタを移動させることができる。
この結果、複数のキャラクタを適切に移動させることができる。
【００１１】
本発明の第２の観点に係るプログラムは、コンピュータ（ゲーム装置を含む。）を、マップ記憶部、キャラクタ記憶部、拠点記憶部、パス記憶部、検索部、算定部、選択部、および、移動制御部として機能させるように構成する。
【００１２】
まず、マップ記憶部は、仮想空間内に所定の地形構成物が配置されてなるマップの情報を記憶する。また、キャラクタ記憶部は、当該マップ上を移動可能に配置される複数のキャラクタの情報を記憶する。拠点記憶部は、キャラクタの滞在可能数を含み、当該マップ上の所定位置にそれぞれ配置される拠点の情報を記憶する。そして、パス記憶部は、当該各拠点間を結ぶ単位経路をそれぞれ規定し、少なくとも経路の距離に応じたコストを含むパスの情報を記憶する
【００１３】
一方、検索部は、各キャラクタが進むべき目的地までの複数のルートを、拠点記憶部およびパス記憶部から検索する。また、算定部は、検索された当該各ルートを通過する際に要する合計の通過コストをそれぞれ算定する。選択部は、算定された当該通過コストと、当該各ルート中の拠点における滞在可能数と、移動対象のキャラクタ数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する。そして、移動制御部は、各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる。
【００１４】
このように、各キャラクタを移動させる際に、選択したルートに沿って移動させるため、処理負荷を低減できる。また、各キャラクタが移動するルートは、通過コスト、拠点の滞在可能数、および、対象キャラクタ数を考慮して選択されており、各キャラクタが適宜異なるルートに振り分けられるため、停滞なく各キャラクタを移動させることができる。
この結果、複数のキャラクタを適切に移動させることができる。
【００１５】
前記拠点記憶部は、所定数のキャラクタによる占有の有無を示す占有状態を更に記憶し、
前記検索部は、当該占有状態が有りとなっている拠点と、当該拠点に対応するパスとを除いたルートを検索してもよい。
【００１６】
前記パス記憶部は、拠点間をキャラクタが横に並んで移動可能となる横列数を更に記憶し、
ルート通過に要する通過コストは、当該横列数を含めて算定されるものとしてもよい。
【００１７】
前記パス記憶部は、拠点間の移動の可否を規定する可否状態を更に記憶し、
所定の条件に基づいて、当該可否状態を切り換える切換部、
上記プログラムは、前記切換部による当該可否状態の切換が生じた場合に、ルートを再検索する再検索部、として更に機能させてもよい。
【００１８】
前記検索部は、ルートを検索した際に、各拠点間とそれらを結ぶパスとの関係を示す検索済情報を保持し、同じ拠点間が含まれるルートを検索する際に、保持している検索済情報を使用してもよい。
【００１９】
上記プログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【００２０】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【００２１】
本発明の第３の観点に係るキャラクタ移動制御方法は、キャラクタ記憶部（前記仮想空間内に配置される複数のキャラクタの情報を記憶する）、拠点記憶部（各キャラクタが移動可能な所定位置にそれぞれ配置され、所定数のキャラクタが滞在可能となる拠点の情報を記憶する）、および、パス記憶部（所定のコストがそれぞれ規定され、当該各拠点間をそれぞれ結ぶパスの情報を記憶する）を用いるキャラクタ移動制御方法であって、検索工程、選択工程、および、移動制御工程を備え、以下のように構成する。
【００２２】
まず、検索工程では、各キャラクタが任意の当該拠点および当該パスを通り、進むべき目的地まで到達するための複数のルートを検索する。また、選択工程では、検索された当該ルートを通過する際に要する合計の通過コストと、当該ルート中の拠点における滞在可能数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する。そして、移動制御工程では、各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる。
このように、各キャラクタを移動させる際に、選択したルートに沿って移動させるため、処理負荷を低減できる。また、各キャラクタが移動するルートは、通過コストおよび拠点の滞在可能数を考慮して選択されており、各キャラクタが適宜異なるルートに振り分けられるため、停滞なく各キャラクタを移動させることができる。
この結果、複数のキャラクタを適切に移動させることができる。
【００２３】
本発明の第４の観点に係るキャラクタ移動制御装置は、キャラクタ記憶部、拠点記憶部、パス記憶部、検索部、選択部および、移動制御部を備え、以下のように構成する。
【００２４】
まず、キャラクタ記憶部は、仮想空間内に配置される複数のキャラクタの情報を記憶する。また、拠点記憶部は、各キャラクタが移動可能な所定位置にそれぞれ配置され、所定数のキャラクタが滞在可能となる拠点の情報を記憶する。そして、パス記憶部は、所定のコストがそれぞれ規定され、当該各拠点間をそれぞれ結ぶパスの情報を記憶する。
一方、検索部は、各キャラクタが任意の当該拠点および当該パスを通り、進むべき目的地まで到達するための複数のルートを検索する。また、選択部は、検索された当該ルートを通過する際に要する合計の通過コストと、当該ルート中の拠点における滞在可能数とに基づいて、各キャラクタが進むべきルートをそれぞれ選択する。そして、移動制御部は、各キャラクタを、それぞれに選択された当該ルートに沿って、移動させる。
このように、各キャラクタを移動させる際に、選択したルートに沿って移動させるため、処理負荷を低減できる。また、各キャラクタが移動するルートは、通過コストおよび拠点の滞在可能数を考慮して選択されており、各キャラクタが適宜異なるルートに振り分けられるため、停滞なく各キャラクタを移動させることができる。
この結果、複数のキャラクタを適切に移動させることができる。
【発明の効果】
【００２５】
本発明によれば、複数のキャラクタを適切に移動させることができる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００２７】
（実施形態１）
図１は、本発明の実施の形態に係るキャラクタ移動制御装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２８】
ゲーム装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ（Digital Versatile Disk）−ＲＯＭドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００２９】
なお、ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、ゲーム装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のキャラクタ移動制御装置が実現される。
【００３０】
ＣＰＵ  １０１は、ゲーム装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００３１】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、ゲーム装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３２】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【００３３】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。たとえば、コントローラ１０５は、操作入力に従って、文字列（メッセージ）等の入力を受け付ける。
【００３４】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータ、チャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３５】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３６】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００３７】
なお、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３８】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００３９】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００４０】
ＮＩＣ  １１０は、ゲーム装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４１】
このほか、ゲーム装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【００４２】
また、本実施形態のゲーム装置１００にかえて、一般的なコンピュータ（汎用のパーソナルコンピュータ等）をキャラクタ移動制御装置として利用することもできる。たとえば、一般的なコンピュータは、上記ゲーム装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、ゲーム装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、キャラクタ移動制御装置として機能する。
【００４３】
（キャラクタ移動制御装置の概要構成）
図２は、本実施形態に係るキャラクタ移動制御装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４４】
キャラクタ移動制御装置２００は、マップ記憶部２１０と、キャラクタ情報記憶部２２０と、操作入力受付部２３０と、拠点情報記憶部２４０と、パス情報記憶部２５０と、ルート検索部２６０と、キャラクタ制御部２７０と、画像生成部２８０とを備える。
なお、このキャラクタ移動制御装置２００は、たとえば、仮想空間内において、敵味方に分類された複数のキャラクタ同士（キャラクタ集団同士）が戦う、アクションゲーム（集団対戦ゲーム）に適用された場合を説明するものである。
そして、キャラクタ移動制御装置２００は、以下に説明するように、移動負荷を低減させつつ、複数の各キャラクタを適切に移動させる。
【００４５】
まず、マップ記憶部２１０は、仮想空間内に所定の地形生成物等が配置されてなるマップの情報（マップ情報）を記憶する。
マップ情報には、たとえば、山、川、沼、平地等の地形や、橋、村、城等の建築物の配置位置の情報（画像等も含む）が規定され、また、キャラクタが移動できる領域の情報も含まれている。
なお、ＤＶＤ−ＲＯＭドライブ１０７に装着されたＤＶＤ−ＲＯＭや外部メモリ１０６が、このようなマップ記憶部２１０として機能しうる。
【００４６】
キャラクタ情報記憶部２２０は、敵味方に分類された複数のキャラクタに関する情報（キャラクタ情報）を記憶する。
キャラクタ情報には、たとえば、歩兵や槍兵等の兵隊や、これらの兵隊を指揮する隊長等のキャラクタが画像を含めて規定されている。また、各キャラクタには、ＨＰ（ヒットポイント）等の規定値も定められている。
なお、ＤＶＤ−ＲＯＭドライブ１０７に装着されたＤＶＤ−ＲＯＭや外部メモリ１０６が、このようなキャラクタ情報記憶部２２０として機能しうる。
【００４７】
操作入力受付部２３０は、味方キャラクタに対して発する種々の命令等を受け付ける。
たとえば、操作入力受付部２３０は、各キャラクタが進むべき目的地の指定等を受け付ける。
なお、コントローラ１０５がこのような操作入力受付部２３０として機能しうる。
【００４８】
拠点情報記憶部２４０は、マップ上の所定位置にそれぞれ配置される拠点の情報を記憶する。
たとえば、拠点情報記憶部２４０は、図３に示すような拠点情報を記憶する。この拠点情報には、拠点の位置、滞在可能数（何人滞在できるか）、次に移転可能な拠点ＩＤ、および、次に移動可能な拠点数、および、占有の有無等の情報が含まれている。ここで占有の有無とは、拠点に滞在するキャラクタの数が滞在可能数に達した場合に、占有ありとなる。この場合、その拠点に他のキャラクタが移動しようとしても、拠点まで到達できない状態となる。そして、滞在していた何れかのキャラクタが移動すると、占有なしに変化し、その分、他のキャラクタがその拠点まで移動可能となる。
なお、ＲＡＭ  １０３が、このような拠点情報記憶部２４０として機能しうる。
【００４９】
図２に戻って、パス情報記憶部２５０は、各拠点間を結ぶ単位経路を規定するためのパス情報を記憶する。
たとば、パス情報記憶部２５０は、図４に示すようなパス情報を記憶する。このパス情報は、パス座標の集合、移動可能な横列数、パススイッチ、パスの総長、および、コスト等の情報が含まれている。
ここで、移動可能な横列数とは、パスを同時に（並んで）移動できるキャラクタ数を規定している。また、パススイッチとは、そのパスが通行可能か否かを示すスイッチであり、たとえば、所定のイベントをクリアすると、パススイッチが開き、キャラクタが移動可能となる。さらに、コストとは、そのパスの移動しやすさ等の目安となる値であり、たとえば、パスの総長やパス上の地形の種類等に応じて規定される。
なお、ＲＡＭ  １０３が、このようなパス情報記憶部２５０として機能しうる。
【００５０】
図２に戻って、ルート検索部２６０は、キャラクタが進むべき目的地まで到達するための複数のルートを検索する。
すなわち、ルート検索部２６０は、上述の拠点情報記憶部２４０およびパス情報記憶部２５０を検索し、任意の拠点および任意のパスを結んで目的地まで到達する複数のルートを検索する。その際、ルート検索部２６０は、上述した拠点情報記憶部２４０の占有の有無や、上述したパス情報記憶部２５０のパススイッチ等を考慮して、その時点で通行可能となるルートを検索可能となっている。
具体的にルート検索部２６０は、キャラクタの現在位置に最も近い拠点（開始拠点）を特定し、また、目的地に最も近い拠点（終了拠点）を特定し、両拠点間を結ぶ複数のルートを検索する。
たとえば、ルート検索部２６０は、図５に示すように、開始拠点および終了拠点を結ぶ複数のルートを検索する。この際、ルート検索部２６０は、検索した各ルートの情報を、対象の両拠点と対応付けて一時的に記憶する（つまり、キャッシュする）。そして、同じ拠点間の検索が必要となった際には、キャッシュしたルートの情報を使用する。
なお、ＣＰＵ  １０１が、このようなルート検索部２６０として機能しうる。
【００５１】
図２に戻って、キャラクタ制御部２７０は、ルート選択部２７１および移動制御部２７２を含んでおり、各キャラクタの移動を制御する。
すなわち、ルート選択部２７１は、ルート検索部２６０が検索した各ルートの通過コスト（パス情報のコストの合計）をそれぞれ算定し、算定した通過コスト等に基づいて、キャラクタが進むべきルートを選択する。
具体的にルート選択部２７１は、移動対象のキャラクタの数と、通過コストと、ルート中の拠点における滞在可能数との関係に基づいて、各キャラクタが進むべきルートをそれぞれ選択する。
【００５２】
また、移動制御部２７２は、ルート選択部２７１により選択されたルートに沿ってキャラクタを移動させる。
具体的に移動制御部２７２は、各キャラクタを制御し、それぞれに選択されたルートに沿って、各キャラクタを順次移動させる。
【００５３】
この他にも、キャラクタ制御部２７０は、各キャラクタを移動させている途中で、拠点の占有が発生したり、パススイッチの変更が生じた場合に、上述したルート検索部２６０にルートの再検索を指示する。
なお、ＣＰＵ  １０１が、このようなキャラクタ制御部２７０として機能しうる。
【００５４】
画像生成部２８０は、仮想空間内に配置された地形やキャラクタの画像を生成する。
たとえば、画像生成部２８０は、マップ記憶部２１０、キャラクタ情報記憶部２２０、および、キャラクタ制御部２７０により更新されるキャラクタの位置等に基づいて、各キャラクタの移動状態等を表す画像を生成する。そして、モニタ等に、ゲーム画像として表示させる。
なお、画像処理部１０８が、このような画像生成部２８０として機能しうる。
【００５５】
（キャラクタ移動制御装置の動作の概要）
図６は、キャラクタ移動制御装置２００において実行される移動制御処理の流れを示すフローチャートである。以下、本図を参照して説明する。この移動制御処理は、たとえば、アクションゲーム（集団対戦ゲーム）がスタートし、コントローラ１０５からプレイヤによる所望の目的地が指示された際に、開始される。
【００５６】
まず、移動制御処理が開始すると、キャラクタ制御部２７０は、目的位置から最も近い終了拠点を特定する（ステップＳ３０１）。
キャラクタ制御部２７０は、キャラクタの現在位置から最も近い開始拠点を特定する（ステップＳ３０２）。
【００５７】
キャラクタ制御部２７０は、両拠点間が未検索の状態であるか否かを判別する（ステップＳ３０３）。つまり、開始拠点と終了拠点とを結ぶルートが未検索であるかどうかを判別する。
キャラクタ制御部２７０は、両拠点間が未検索であると判別すると（ステップＳ３０３；Ｙｅｓ）、開始拠点から終了拠点までの複数のルートを検索して記憶する（ステップＳ３０４）。
【００５８】
一方、両拠点間が未検索でない、つまり、検索済であると判別した場合（ステップＳ３０３；Ｎｏ）に、キャラクタ制御部２７０は、キャッシュしたルートを取得する（ステップＳ３０５）。
【００５９】
キャラクタ制御部２７０は、各ルートの通過コストをそれぞれ算定する（ステップＳ３０６）。
【００６０】
キャラクタ制御部２７０は、算定した通過コスト等に基づいて、移動ルートを選択する（ステップＳ３０７）。
すなわち、ルート選択部２７１は、移動対象のキャラクタの数と、通過コストと、ルート中の拠点における滞在可能数との関係に基づいて、各キャラクタが進むべきルートをそれぞれ選択する。
【００６１】
キャラクタ制御部２７０は、移動ルートに沿って、各キャラクタを移動させる（ステップＳ３０８）。
すなわち、移動制御部２７２は、各キャラクタを制御し、それぞれに選択されたルートに沿って、各キャラクタを順次移動させる。
【００６２】
キャラクタ制御部２７０は、移動ルート上の何れかの拠点で占有が発生したか否かを判別する（ステップＳ３０９）。つまり、拠点に滞在するキャラクタの数が、滞在可能数に達したかどうかを判別する。
【００６３】
キャラクタ制御部２７０は、占有が発生していないと判別すると（ステップＳ３０９；Ｎｏ）、パススイッチの変化（パス変化）が発生したか否かを判別する（ステップＳ３１０）。
【００６４】
キャラクタ制御部２７０は、占有が発生したと判別した場合（ステップＳ３０９；Ｙｅｓ）又は、パススイッチの変化が発生したと判別した場合（ステップＳ３１０；Ｙｅｓ）に、上述のステップＳ３０２に処理を戻し、ルートの再検索を行う。
【００６５】
また、パススイッチの変化が発生していないと判別した場合（ステップＳ３１０；Ｎｏ）に、キャラクタ制御部２７０は、移動が完了したか否かを判別する（ステップＳ３１１）。
キャラクタ制御部２７０は、移動が完了してないと判別すると（ステップＳ３１１；Ｎｏ）、ステップＳ３０８に処理を戻し、上述のステップＳ３０８〜Ｓ３１１の処理を繰り返し実行する。
【００６６】
一方、移動が完了したと判別した場合（ステップＳ３１１；Ｙｅｓ）に、キャラクタ制御部２７０は、移動制御処理を終える。
【００６７】
このように、上述した移動制御処理により、各キャラクタを移動させる際に、選択したルートに沿って移動させるため、処理負荷を低減できる。また、各キャラクタが移動するルートは、通過コストおよび拠点の滞在可能数を考慮して選択されており、各キャラクタが適宜異なるルートに振り分けられるため、停滞なく各キャラクタを移動させることができる。
この結果、複数のキャラクタを適切に移動させることができる。
【００６８】
以上説明したように、本発明によれば、複数のキャラクタを適切に移動させることができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係るキャラクタ移動制御装置の概要構成を示す模式図である。
【図３】拠点情報を説明するための模式図である。
【図４】パス情報を説明するための模式図である。
【図５】検索される複数のルートの一例を示す模式図である。
【図６】当該キャラクタ移動制御装置において実行される移動制御処理の流れを示すフローチャートである。
【符号の説明】
【００７０】
１００  ゲーム装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００  キャラクタ移動制御装置
２１０  マップ記憶部
２２０  キャラクタ情報記憶部
２３０  操作入力受付部
２４０  拠点情報記憶部
２５０  パス情報記憶部
２６０  ルート検索部
２７０  キャラクタ制御部
２７１  ルート選択部
２７２  移動制御部
２８０  画像生成部
【図１】
2006271786.tif 000003
【図２】
2006271786.tif 000004
【図３】
2006271786.tif 000005
【図４】
2006271786.tif 000006
【図５】
2006271786.tif 000007
【図６】
2006271786.tif 000008