説明

ゲーム装置、ゲーム装置の制御方法、及びプログラム

【課題】ゲームキャラクタの行動(移動)が合理的に行われていないとユーザに感じさせてしまわないように図ることが可能なゲーム装置を提供すること。
【解決手段】ゲーム状況情報記憶手段(71)はゲームの状況に関するゲーム状況情報を記憶する。移動先取得手段(72)は、ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する。優先度情報取得手段(74)は、複数の移動先の優先度に関する優先度情報を取得する。決定手段(76)は、複数の移動先の各々を優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを複数のゲームキャラクタのうちからゲーム状況情報記憶手段(71)の記憶内容に基づいて決定する。ゲームキャラクタ制御手段(78)は複数のゲームキャラクタの移動制御を複数の移動先と決定手段(76)の決定結果に基づいて実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
複数のゲームキャラクタがゲーム空間内を移動するゲームが知られている。例えば、サッカー選手を表す複数のゲームキャラクタがゲーム空間内で移動するサッカーゲームが知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−112406号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、上記のようなサッカーゲームでは、いわゆるフリースペースが存在している場合にゲームキャラクタがフリースペースに向けて移動するように制御される。しかしながら、従来、このようなゲームキャラクタの行動(移動)が合理的に行われていないとユーザに感じさせてしまう場合があった。例えば、フリースペースに向けて移動するのに適しているゲームキャラクタが他に存在するにもかかわらず、フリースペースに向けて移動するのに適していないゲームキャラクタがフリースペースに向けて移動するように制御されてしまう場合があった。例えば、「重要度が高いフリースペースに向けて移動させるのに適していたゲームキャラクタが、重要度が低いフリースペースに向けて移動するように制御されてしまい、重要度が高いフリースペースに向けて移動させるのに適していないゲームキャラクタが、重要度が高いフリースペースに向けて移動するように制御されてしまう」というような場合があった。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、ゲームキャラクタの行動(移動)が合理的に行われていないとユーザに感じさせてしまわないように図ることが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係るゲーム装置は、複数のゲームキャラクタがゲーム空間内で移動するゲームを実行するゲーム装置において、前記ゲームの現在の状況に関するゲーム状況情報を記憶するゲーム状況情報記憶手段と、前記ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する移動先取得手段と、前記移動先取得手段によって取得された複数の移動先の優先度に関する優先度情報を、前記移動先取得手段によって取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する優先度情報取得手段と、前記移動先取得手段によって取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数のゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定する決定手段と、前記複数のゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行するゲームキャラクタ制御手段と、を含むことを特徴とする。
【0007】
また、本発明に係るゲーム装置の制御方法は、複数のゲームキャラクタがゲーム空間内で移動するゲームを実行するゲーム装置の制御方法において、前記ゲームの現在の状況に関するゲーム状況情報を記憶してなるゲーム状況情報記憶手段の記憶内容を取得するステップと、前記ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する移動先取得ステップと、前記移動先取得ステップにおいて取得された複数の移動先の優先度に関する優先度情報を、前記移動先取得ステップにおいて取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する優先度情報取得ステップと、前記移動先取得ステップにおいて取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数のゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定する決定ステップと、前記複数のゲームキャラクタの移動制御を、前記移動先取得ステップにおいて取得された複数の移動先と、前記決定ステップにおける決定結果と、に基づいて実行するゲームキャラクタ制御ステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、複数のゲームキャラクタがゲーム空間内で移動するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、前記ゲームの現在の状況に関するゲーム状況情報を記憶してなるゲーム状況情報記憶手段の記憶内容を取得する手段、前記ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する移動先取得手段、前記移動先取得手段によって取得された複数の移動先の優先度に関する優先度情報を、前記移動先取得手段によって取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する優先度情報取得手段、前記移動先取得手段によって取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数のゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定する決定手段、及び、前記複数のゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行するゲームキャラクタ制御手段、として前記コンピュータを機能させるためのプログラムである。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0010】
本発明によれば、ゲームキャラクタの行動(移動)が合理的に行われていないとユーザに感じさせてしまわないように図ることが可能になる。
【0011】
また本発明の一態様では、前記優先度情報取得手段は、前記ゲーム状況情報記憶手段の記憶内容と、前記複数の移動先の前記位置情報と、に基づいて前記優先度情報を取得するようにしてもよい。
【0012】
また本発明の一態様では、前記ゲームは、移動物体を用いて行われるスポーツの試合を模したゲームであってもよい。前記ゲーム状況情報は、前記移動物体の位置に関する位置情報と、前記移動物体の状態に関する状態情報と、を含むようにしてもよい。前記優先度情報取得手段は、前記移動物体の前記位置情報及び前記状態情報の少なくとも一方と、前記複数の移動先の前記位置情報と、に基づいて前記優先度情報を取得するようにしてもよい。
【0013】
また本発明の一態様では、前記複数のゲームキャラクタの関係に関する関係情報を記憶する手段を含むようにしてもよい。前記決定手段は、前記選択した移動先に向けて移動させるゲームキャラクタとして、前記複数のゲームキャラクタのうちの複数のゲームキャラクタを、前記関係情報と、前記ゲーム状況情報記憶手段の記憶内容と、に基づいて決定するようにしてもよい。
【0014】
また本発明の一態様では、前記ゲームキャラクタ制御手段は、前記複数のゲームキャラクタのうちの、ユーザの操作対象に設定されているゲームキャラクタの移動制御をユーザの操作に基づいて実行する手段と、前記複数のゲームキャラクタのうちの、前記ユーザの操作対象に設定されていないゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行する手段と、を含むようにしてもよい。前記ゲーム装置は、前記複数の移動先のうちの一の移動先に向けて移動させるゲームキャラクタとして、前記ユーザの操作対象に設定されている前記ゲームキャラクタが決定された場合、該一の移動先を前記ユーザに案内する案内手段を含むようにしてもよい。
【0015】
また本発明の一態様では、前記ゲーム空間には、前記複数のゲームキャラクタに対応する複数の第1ゲームキャラクタと、一又は複数の第2ゲームキャラクタと、が配置されるようにしてもよい。前記移動先取得手段は、前記ゲーム空間内において、第1ゲームキャラクタが向かうべき移動先を取得する第1取得手段と、前記複数の第1ゲームキャラクタのうちのいずれかが前記ゲーム空間に配置されていないとの仮定の下で、前記第1ゲームキャラクタが向かうべき移動先を取得する第2取得手段と、を含むようにしてもよい。前記第1取得手段及び前記第2取得手段の取得結果に基づいて、前記ゲーム空間内の複数の位置又は複数の領域を、前記第1ゲームキャラクタが向かうべき移動先として取得するようにしてもよい。前記決定手段は、前記移動先取得手段によって取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数の第1ゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定するようにしてもよい。前記ゲームキャラクタ制御手段は、前記複数の第1ゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行するようにしてもよい。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】サッカーゲームの流れの一例を示すフロー図である。
【図3】ゲーム空間の一例を示す図である。
【図4】ゲーム画面の一例を示す図である。
【図5】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図6】ゲームキャラクタデータの一例を示す図である。
【図7】ユーザチームに所属するゲームキャラクタが向かうべき移動先の検出方法の一例について説明するための図である。
【図8】ユーザチームに所属するゲームキャラクタが向かうべき移動先の検出方法の他の一例について説明するための図である。
【図9】ユーザチームに所属するゲームキャラクタが向かうべき移動先の検出方法の他の一例について説明するための図である。
【図10】移動先の優先度の決定方法の一例について説明するための図である。
【図11】移動先の優先度の決定方法の一例について説明するための図である。
【図12】移動先の優先度の決定方法の一例について説明するための図である。
【図13】移動先の優先度の決定方法の一例について説明するための図である。
【図14】移動先の優先度の決定方法の一例について説明するための図である。
【図15】移動先の優先度の決定方法の一例について説明するための図である。
【図16】移動先の優先度の決定方法の一例について説明するための図である。
【図17】ゲーム装置が実行する処理の一例を示すフロー図である。
【図18】移動先の優先度を決定するためのデータの一例を示す図である。
【図19】移動先に向けて移動すべきゲームキャラクタを決定するためのデータの一例を示す図である。
【図20】ゲーム装置が実行する処理の一例を示すフロー図である。
【図21】ゲームキャラクタ間の関係に関するデータの一例を示す図である。
【図22】ゲームキャラクタ間の関係に関するデータの他の一例を示す図である。
【図23】ゲーム画面の一例を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)、又はパーソナルコンピュータなどによって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0018】
[ハードウェア構成]
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部32、音声出力部34、及び光ディスク36(情報記憶媒体)を含む。表示部32及び音声出力部34は家庭用ゲーム機11に接続される。例えば家庭用テレビ受像機又は液晶ディスプレイなどが表示部32として用いられ、例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホンなどが音声出力部34として用いられる。
【0019】
家庭用ゲーム機11は公知のコンピュータシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30を含む。
【0020】
制御部14は一又は複数のマイクロプロセッサを含む。制御部14は、光ディスク36から読み出されるプログラムに基づいて、各部の制御処理や情報処理を実行する。主記憶16は例えばRAMを含み、光ディスク36から読み出されたプログラム及びデータが主記憶16に書き込まれる。主記憶16は制御部14の作業用メモリとしても用いられる。バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0021】
画像処理部18はVRAMを含み、制御部14から供給される画像データに基づいてVRAM上に画面を描画する。VRAM上に描画された画面はビデオ信号に変換されて表示部32に出力される。
【0022】
入出力処理部20は、制御部14が音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30にアクセスするためのインタフェースである。音声処理部22はサウンドバッファを含み、光ディスク36からサウンドバッファに読み出された音声データを音声出力部34から出力する。通信インタフェース28は、インターネットなどの通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0023】
光ディスクドライブ24は、光ディスク36に記録されたプログラムやデータを読み取る。ここでは、プログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。光ディスク36に記憶されることとして説明するプログラムやデータはハードディスク26に記憶されていてもよい。
【0024】
コントローラ30はユーザが操作を行うための操作部である。家庭用ゲーム機11には複数のコントローラ30を有線又は無線接続することが可能になっている。コントローラ30は、例えば複数のボタン及び複数のレバー(スティック)などの複数の操作部材を備えている。入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介して制御部14に供給する。制御部14は操作信号に基づいてユーザの操作を判定する。
【0025】
[ゲーム]
ゲーム装置10では、複数のゲームキャラクタがゲーム空間内を移動するゲームが光ディスク36に記憶されたプログラムによって実行される。例えば、移動物体(ボール又はパックなど)を用いて行われるスポーツの試合を模したゲームが実行される。このゲームでは、第1ゲームキャラクタグループと第2ゲームキャラクタグループとの間でスポーツの試合が行われる。
【0026】
以下では、上記のスポーツゲームの一例であるサッカーゲームが実行される場合について説明する。このサッカーゲームでは、ユーザが操作するチーム(以下「ユーザチーム」と呼ぶ。)と、対戦相手が操作するチーム(以下「対戦相手チーム」と呼ぶ。)と、の間のサッカーの試合が行われる。なお、対戦相手はコンピュータであってもよいし、他のユーザであってもよい。以下では対戦相手がコンピュータである場合について説明する。
【0027】
まず、サッカーゲームの流れについて説明する。図2はサッカーゲームの流れの一例を示すフロー図である。図2に示すように、まず、ユーザは予め用意された複数のチームのうちのいずれかを選択する(S101)。ここで選択されたチームは、ユーザが操作するチーム(すなわちユーザチーム)となる。
【0028】
チームの選択が完了した後、ユーザはユーザチームの戦術を設定する(S102)。例えば、ユーザは、予め用意された複数のフォーメーションのうちのいずれかを選択することによって、ユーザチームのフォーメーションを決定する。ここで、「フォーメーション」とは、チームに所属するゲームキャラクタの基本配置(基本隊形)である。ユーザが選択可能なフォーメーションとしては、例えば「4−3−3」又は「4−4−2」などと呼ばれるフォーメーションがある。例えば、「4−3−3」は、ゴールキーパー(GK)と、4名のディフェンダー(DF)と、3名のミッドフィルダー(MF)と、3名のフォワード(FW)とが配置されるフォーメーションである。
【0029】
また、ユーザはフォーメーションの各ポジション(GK、DF、MF、FW)に割り当てるゲームキャラクタを選択する。さらに、ユーザはユーザチームに実行させる作戦を選択する。ユーザが選択可能な作戦種類としては、例えば「カウンターアタック」、「サイドアタック」、又は「中央突破」などがある。
【0030】
ユーザチームの戦術の設定が完了した場合、図2に示すように、試合が開始される(S103)。試合開始後においてもユーザチームの戦術を変更することは可能である。
【0031】
試合を開始する場合、ゲーム空間が主記憶16に構築される。図3はゲーム空間の一例を示す。図3に示すゲーム空間40は、互いに直交する3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。ゲーム空間40に配置されるオブジェクトの位置などはこれらの3つの座標軸によって特定される。
【0032】
図3に示すように、ゲーム空間40には、サッカーフィールドを表すオブジェクトであるフィールド42が配置される。フィールド42上にはゴールライン44、タッチライン46、及ぶハーフウェーライン48などが描かれている。二本のゴールライン44及び二本のタッチライン46によって囲まれた領域であるピッチ50内でサッカーの試合が行われる。ハーフウェーライン48は二本のタッチライン46の中点を結ぶ直線であり、ハーフウェーライン48によってピッチ50が半分に分けられる。
【0033】
また、フィールド42上には、サッカーのゴールを表すオブジェクトであるゴール52と、サッカーボールを表すオブジェクトであるボール54と、が配置される。ゴール52の一方はユーザチームに関連づけられ、他方は対戦相手チームに関連づけられる。いずれか一方のチームに関連づけられたゴール52内にボール54が移動すると、他方のチームの得点イベントが発生する。
【0034】
また、フィールド42上には、ユーザチームに所属するサッカー選手を表すオブジェクトであるゲームキャラクタ56と、対戦相手チームに所属するサッカー選手を表すオブジェクトであるゲームキャラクタ58と、が配置される。図3では省略されているが、ユーザチームに所属する11名のゲームキャラクタ56と、対戦相手チームに所属する11名のゲームキャラクタ58と、が配置される。
【0035】
ゲームキャラクタ56(58)とボール54とが近づくと、所定条件の下、そのゲームキャラクタ56(58)とボール54とが関連づけられる。この場合、ゲームキャラクタ56(58)の移動動作はドリブル動作になる。以下では、ゲームキャラクタ56(58)にボール54が関連づけられた状態のことを「ゲームキャラクタ56(58)がボール54を保持している」というように記載する。
【0036】
また、ゲーム空間40には仮想カメラ59(視点)が設定される。この仮想カメラ59から見たゲーム空間40を表すゲーム画面が表示部32に表示される。例えば、ボール54が常にゲーム画面に表示されるように、仮想カメラ59はボール54の位置に基づいて移動する。
【0037】
図4は試合中のゲーム画面の一例を示す。図4に示すゲーム画面には、ユーザチームに所属する2名のゲームキャラクタ56a,56bと、対戦相手チームに所属する2名のゲームキャラクタ58a,58bとが表示されている。
【0038】
このサッカーゲームでは、ユーザチームに所属するゲームキャラクタ56のうちのいずれかがユーザの操作対象に設定される。ユーザの操作対象はユーザチームに所属するゲームキャラクタ56のうちで切り替えられる。図4に示すゲーム画面ではゲームキャラクタ56aの頭上にカーソル60が表示されている。カーソル60は、ユーザの操作対象に設定されているゲームキャラクタ56を案内する役割を果たす。なお、ユーザの操作対象は一のゲームキャラクタ56に固定されるようにしてもよい。
【0039】
ユーザの操作対象に設定されているゲームキャラクタ56はユーザの操作に基づいて行動する。一方、ユーザチームに所属するゲームキャラクタ56のうちの、ユーザの操作対象に設定されていないゲームキャラクタ56(以下「味方ゲームキャラクタ」と呼ぶ。)はAI(人工知能)に従って自律的に行動する。対戦相手チームに所属するゲームキャラクタ58もAIに従って自律的に行動する。
【0040】
以下、複数のゲームキャラクタがゲーム空間内を移動するゲームにおいて、複数のゲームキャラクタの行動(移動)が合理的に行われていないとユーザに感じさせてしまわないように図るための技術について説明する。ここでは、上記のサッカーゲームにおいて、ユーザチームに所属する複数のゲームキャラクタ56の行動(移動)が合理的に行われていないとユーザに感じさせてしまわないように図るための技術について説明する。
【0041】
[機能ブロック]
図5は、ゲーム装置10で実現される機能を示す機能ブロック図である。図5に示すように、ゲーム装置10は、記憶部70、移動先取得部72、優先度情報取得部74、決定部76、及びゲームキャラクタ制御部78を機能的に含む。記憶部70は例えば主記憶16及び光ディスク36によって実現され、その他の機能ブロックは制御部14が光ディスク36から読み出されたプログラムを実行することによって実現される。
【0042】
[記憶部]
記憶部70はゲームを実行するために必要なデータを記憶する。記憶部70はゲーム状況情報記憶部71を含んでいる。ゲーム状況情報記憶部71は、ゲームの現在の状況に関する各種情報(ゲーム状況情報)を保持してなるゲーム状況データを記憶する。
【0043】
例えば、ゲーム空間40に配置される各オブジェクトのモデルデータや、ゲームキャラクタ56,58のモーションデータが記憶部70に記憶される。その他、下記に示すようなデータが記憶部70に記憶される。
[A1]ユーザチームデータ
[A2]対戦相手チームデータ
[A3]行動制御データ(AI)
[A4]ゲーム状況データ
【0044】
ユーザチームデータはユーザチームに関するデータである。例えば、下記に示すような情報がユーザチームデータに保持される。
[A1−1]ユーザチームの戦術情報
[A1−2]ユーザチームに所属するゲームキャラクタ56に関する情報
【0045】
ユーザチームの戦術情報は、図2のステップS102でユーザが決定したユーザチームの戦術に関する情報である。例えば、ユーザチームの戦術情報には、図2のステップS102でユーザが決定したフォーメーションを示す情報や、図2のステップS102でユーザが決定した作戦を示す情報が含まれる。
【0046】
ユーザチームに所属するゲームキャラクタ56に関する情報には、例えば、ゲームキャラクタ56の役割に関する役割情報や、ゲームキャラクタ56の能力に関する能力情報が含まれる。例えば、ユーザチームデータには、図6に示すようなゲームキャラクタデータが含まれる。図6に示すゲームキャラクタデータは「ID」、「役割」、及び「能力パラメータ」フィールドを含んでいる。「ID」フィールドは、ゲームキャラクタ56を一意に識別するための情報を示す。「役割」フィールドは、ゲームキャラクタ56が担っている役割を示す。本実施形態の場合、「ゲームキャラクタ56が担っている役割」とは、ゲームキャラクタ56に割り当てられているポジション種類(FW、MF、DF、又はGKのいずれか)を意味する。
【0047】
「能力パラメータ」フィールドは、ゲームキャラクタ56の能力パラメータを示す。能力パラメータは能力の高さを例えば「0」〜「100」の数値で示す情報である。能力パラメータとしては、例えば走力パラメータ、パス能力パラメータ、シュート能力パラメータ、又はタックル能力パラメータなどがある。能力パラメータの値が大きい程、能力が高いことを意味している。なお、能力パラメータの値が小さい程、能力が低いことを意味するようにしてもよい。
【0048】
対戦相手チームデータは対戦相手チームに関するデータである。ユーザチームデータと同様、対戦相手チームデータは、対戦相手チームの戦術情報と、対戦相手チームに所属するゲームキャラクタ58に関する情報と、を保持している。
【0049】
行動制御データは、味方ゲームキャラクタの行動を制御するためのデータである。例えば、行動制御データは、ユーザによって設定された戦術に従って味方ゲームキャラクタが行動するように制御するためのデータである。例えば、行動制御データはAI(人工知能)である。
【0050】
ゲーム状況データは、サッカーゲームの現在の状況に関する各種情報(ゲーム状況情報)を保持してなるデータである。例えば、下記に示すような情報がゲーム状況データに保持される。
[A4−1]各ゲームキャラクタ56,58の位置情報及び状態情報(例えば、移動方向、及び移動速度など)

[A4−2]ボール54の位置情報及び状態情報(例えば、移動方向、及び移動速度など)
[A4−3]得点情報
[A4−4]経過時間情報
【0051】
なお、ゲームキャラクタ56(58)の状態情報は、ゲームキャラクタ56(58)の状態に関する情報である。ゲームキャラクタ56(58)の状態情報には、例えば、ゲームキャラクタ56(58)が走行しているか否かを示す情報や、ゲームキャラクタ56(58)が転倒しているか否かを示す情報も含まれる。また、ゲームキャラクタ56(58)の状態情報には、ゲームキャラクタ56(58)の体調に関する体調情報も含まれる。例えば、ゲームキャラクタ56(58)の疲労度(又は体力の残り具合)を示す情報や、ゲームキャラクタ56(58)の怪我の有無及びその程度を示す情報が含まれる。
【0052】
さらに、ゲームキャラクタ56の状態情報には、ゲームキャラクタ56がユーザの操作対象に設定されているか否かを示す情報も含まれる。また、ボール54の状態情報には、ボール54の保持状態を示す情報も含まれる。すなわち、ボール54がいずれかのゲームキャラクタ56,58に保持されているか否かを示す情報や、ボール54を保持しているゲームキャラクタ56,58を示す情報が含まれる。
【0053】
[移動先取得部]
移動先取得部72は、ゲーム空間40内の複数の位置又は複数の領域を、ゲームキャラクタ56が向かうべき移動先として取得する。例えば、移動先取得部72は、ユーザチームに所属するゲームキャラクタ56の位置と、対戦相手チームに所属するゲームキャラクタ58の位置と、に基づいて、上記の移動先を取得する。
【0054】
本実施形態の場合、移動先取得部72は、ユーザチームに所属するゲームキャラクタ56の位置と、対戦相手チームに所属するゲームキャラクタ58の位置と、に基づいて、ゲーム空間40(ピッチ50)内のフリースペースを検出する。なお、「フリースペース」とは、ゲームキャラクタ56,58が付近に位置していないような位置又は領域である。移動先取得部72は、検出されたフリースペースを、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先として判断する。
【0055】
ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(フリースペース)の検出方法としては様々な方法を採用することができる。例えば図7に示すように、ある点80を中心とし、かつ、半径が所定距離Rである円形領域82内にゲームキャラクタ56,58が位置していないような場合、その円形領域82はフリースペースとして検出される。そして、上記の点80(円形領域82)が、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先として判断される。
【0056】
ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(フリースペース)の検出方法は上記の方法に限られない。例えば、図7に示す例では、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(フリースペース)として、円形領域82を検出するようになっていたが、円形以外の形状(例えば楕円形、正方形、又は長方形)を有する領域を検出するようにしてもよい。
【0057】
また例えば、ユーザチームに所属するゲームキャラクタ56がボール54を保持している状態や、いずれのゲームキャラクタ56,58もボール54を保持していない状態(以下「ルーズボールの状態」と記載する。)では、図8及び図9を参照しながら下記に説明する方法によって、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(フリースペース)を検出するようにしてもよい。
【0058】
この検出方法では、まず、複数の基準点84(区画86)がピッチ50内に設定される。図8に示す例では、ピッチ50を縦方向(ゴールライン44に平行な方向)及び横方向(タッチライン46に平行な方向)に分割することによって、複数の区画86がピッチ50内に設定されている。そして、各区画86の代表点(中心点)が基準点84に相当している。なお、図8に示す例では区画86が四角形領域(正方形領域)になっているが、区画86は四角形領域に限られない。例えば、区画86は基準点84を中心とする円形領域であってもよい。
【0059】
次に、複数の基準点84(区画86)のうちから、下記の2つの条件B1,B2の両方を満足する基準点84(区画86)が検出される(図9参照)。
[B1]ユーザチームに所属するゲームキャラクタ56のうちで基準点84に最も近いゲームキャラクタ56が基準点84まで移動するために要する時間Txが基準時間よりも大きい。
[B2]上記の時間Txが、対戦相手チームに所属するゲームキャラクタ58のうちで基準点84に最も近いゲームキャラクタ58が基準点84まで移動するために要する時間Tyよりも小さい。
【0060】
上記の時間Txは、ゲームキャラクタ56と基準点84との間の距離Lxと、ゲームキャラクタ56の移動速度と、に基づいて算出することができる。同様に、上記の時間Tyは、ゲームキャラクタ58と基準点84との間の距離Lyと、ゲームキャラクタ58の移動速度と、に基づいて算出することができる。
【0061】
基準点84が上記の条件B1,B2の両方を満足するということは、その基準点84までゲームキャラクタ56,58が到達するために少なくとも基準時間がかかるということを意味している。つまり、基準点84の付近にゲームキャラクタ56,58が位置していないことを意味している。また、基準点84が上記の条件B2を満足するということは、ユーザチームに所属するゲームキャラクタ56が、対戦相手チームに所属するゲームキャラクタ58よりも先に基準点84に到達できることを意味している。
【0062】
上記の条件B1,B2の両方を満足する基準点84(区画86)が検出された場合、その基準点84(区画86)がフリースペースとして検出される。そして、その基準点84(区画86)が、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先として設定される。
【0063】
なお、上記の条件B1,B2の代わりに、下記の条件B1’,B2’を設けるようにしてもよい。そして、下記の条件B1’,B2’の両方を満足する基準点84(区画86)が検出されるようにしてもよい(図9参照)。
[B1’]ユーザチームに所属するゲームキャラクタ56のうちで基準点84に最も近いゲームキャラクタ56から基準点84までの距離Lxが基準距離よりも大きい。
[B2’]上記の距離Lxが、対戦相手チームに所属するゲームキャラクタ58のうちで基準点84に最も近いゲームキャラクタ58から基準点84までの距離Lyよりも小さい。
【0064】
また、対戦相手チームに所属するゲームキャラクタ58がボール54を保持している状態では、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先として、対戦相手チームに所属するゲームキャラクタ58が向かうべき移動先が取得される。対戦相手チームに所属するゲームキャラクタ58が向かうべき移動先は、守備を行うユーザチームに所属するゲームキャラクタ56にとっても、守備のために向かうべき場所になるからである。
【0065】
この場合、ゲームキャラクタ56,58が付近に位置しておらず、かつ、対戦相手チームに所属するゲームキャラクタ58が、ユーザチームに所属するゲームキャラクタ56よりも先に到達できるような基準点84(区画86)が、対戦相手チームに所属するゲームキャラクタ58が向かうべき移動先として検出される。例えば、下記の条件C1,C2の両方を満足する基準点84(区画86)が検出される。
[C1]対戦相手チームに所属するゲームキャラクタ58のうちで基準点84に最も近いゲームキャラクタ58が基準点84まで移動するために要する時間Tyが基準時間よりも大きい。
[C2]上記の時間Tyが、ユーザチームに所属するゲームキャラクタ56のうちで基準点84に最も近いゲームキャラクタ56が基準点84まで移動するために要する時間Txよりも小さい。
【0066】
または、下記の条件C1’,C2’の両方を満足する基準点84(区画86)が、対戦相手チームに所属するゲームキャラクタ58が向かうべき移動先として検出されるようにしてもよい。
[C1’]対戦相手チームに所属するゲームキャラクタ58のうちで基準点84に最も近いゲームキャラクタ58から基準点84までの距離Lyが基準距離よりも大きい。
[C2’]上記の距離Lyが、ユーザチームに所属するゲームキャラクタ56のうちで基準点84に最も近いゲームキャラクタ56から基準点84までの距離Lxよりも小さい。
【0067】
[優先度情報取得部]
優先度情報取得部74は、移動先取得部72によって取得された複数の移動先の優先度に関する優先度情報を、移動先取得部72によって取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する。
【0068】
ここでは、ユーザチームに所属するゲームキャラクタ56がボール54を保持している場合における各移動先の優先度の決定方法の一例について説明する。例えば、優先度情報取得部74は、各移動先と対戦相手チームに関連づけられたゴール52側のゴールライン44との間の距離に基づいて、各移動先の優先度を決定する。
【0069】
図10は、この場合の各移動先の優先度の決定方法の一例について説明するための図である。ここでは、図8及び図9を参照しながら説明した方法によって、上記の条件B1,B2の両方を満足する3つの区画86(基準点84)が移動先88a,88b,88cとして取得された場合を想定する。また、図10では、ユーザチームが矢印Fの方向に攻めていることとする。すなわち、ゴール52aはユーザチームに関連づけられたゴール52であり、ゴール52bは対戦相手チームに関連づけられたゴール52であることとする。
【0070】
図10に示す状況の場合、ゴール52b側のゴールライン44bまでの距離(例えば、基準点84からゴールライン44bへの垂線の長さ)が最も短い移動先88aの優先度が他の移動先88b,88cよりも高く設定される。また、移動先88bの優先度が、ゴールライン44bまでの距離が移動先88bよりも長い移動先88cよりも高く設定される。
【0071】
なお、優先度情報取得部74は、ゲーム状況情報に基づいて上記の優先度情報を取得するようにしてもよい。また、優先度情報取得部74は、他の情報に基づいて上記の優先度情報を取得するようにしてもよい。
【0072】
例えば、優先度情報取得部74は、移動先取得部72によって取得された複数の移動先の各々の位置に関する位置情報と、下記の情報D1〜D5のうちの少なくとも1つと、に基づいて、上記の優先度情報を取得するようにしてもよい。
[D1]ボール54の位置情報又は/及び状態情報
[D2]ユーザチームに所属するゲームキャラクタ56の位置情報又は/及び能力情報
[D3]対戦相手チームに所属するゲームキャラクタ58の位置情報又は/及び能力情報
[D4]ユーザチームの戦術情報
[D5]ユーザチームの得点情報
【0073】
(1)まず、各移動先の優先度を上記の情報D1(ボール54の位置情報又は/及び状態情報)に基づいて決定する場合について説明する。例えば、優先度情報取得部74は、各移動先の優先度をボール54の位置情報に基づいて決定する。
【0074】
まず、ユーザチームに所属するゲームキャラクタ56がボール54を保持している場合における各移動先の優先度の決定方法の一例について説明する。ユーザチームに所属するゲームキャラクタ56がボール54を保持している場合、優先度情報取得部74は、ボール54がゲーム空間40内のどこに位置しているかと、ボール54と移動先との位置関係と、に基づいて、移動先の優先度を決定する。この決定方法について図11、図12、図13、及び図14を参照しながら説明する。ここでも、ユーザチームが矢印Fの方向に攻めていることとする。また、図12〜14では、図8及び図9を参照しながら説明した方法によって、上記の条件B1,B2を満足する区画86(基準点84)が、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先88d,88e,88f,88g,88h,88iとして取得された場合を想定している。
【0075】
この決定方法では、複数の領域がゲーム空間40に設定される。図11に示す例では、3つの領域(第1領域90a、第2領域90b、及び第3領域90c)がピッチ50に設定されている。
【0076】
第1領域90aは、対戦相手チームに関連づけられたゴール52b付近の領域である。すなわち、第1領域90aは、ゴール52b側のゴールライン44bへの距離が基準距離(La)未満である領域である。一方、第3領域90cは、ユーザチームに関連づけられたゴール52a付近の領域である。すなわち、第3領域90cは、ゴール52a側のゴールライン44aへの距離が基準距離(Lc)未満である領域である。なお、「ゴールライン44a(44b)への距離」とは、例えば、ゴールライン44a(44b)への垂線の長さを意味する。
【0077】
また、第2領域90bはハーフウェーライン48付近の領域である。すなわち、第2領域90bは、ハーフウェーライン48への距離が基準距離(Lb)未満である領域である。なお、「ハーフウェーライン48への距離」とは、例えば、ハーフウェーライン48への垂線の長さを意味する。また、図11に示す例では、第2領域90bは第1領域90a及び第3領域90c以外の領域となっている。
【0078】
下記に説明するように、移動先(フリースペース)の重要度は、ボール54がゲーム空間40内のどこに位置しているかによって変化する。このため、優先度情報取得部74は、ボール54が、ゲーム空間40内に設定された複数の領域(第1領域90a、第2領域90b、及び第3領域90c)のいずれに位置しているかに基づいて、各移動先の優先度の決定方法を変える。
【0079】
図12は、ボール54が第1領域90a内に位置している場合の決定方法について説明するための図である。なお、直線92は、ボール54の位置を通り、かつ、ゴールライン44bに平行な直線である。
【0080】
ボール54が第1領域90a内に位置している場合、ボール54の位置よりもゴール52b側にある移動先(フリースペース)が、ユーザチームが攻撃を行う上で重要になる。このため、ボール54が第1領域90a内に位置している場合、ボール54の位置よりもゴール52b(ゴールライン44b)側にある移動先の優先度が高く設定される。例えば図12に示す状況の場合、ゴールライン44bと直線92との間の領域に含まれている移動先88dの優先度が、ゴールライン44bと直線92との間の領域に含まれていない移動先88eの優先度よりも高く設定される。
【0081】
図13は、ボール54が第2領域90b内に位置している場合の決定方法について説明するための図である。なお、直線94は、ボール54の位置から移動先への方向に伸ばした直線を示している。
【0082】
ボール54が第2領域90b内に位置している場合、ボール54とタッチライン46との間にある移動先(フリースペース)が重要になる。このため、ボール54が第2領域90b内に位置している場合、ボール54とタッチライン46との間にある移動先の優先度が高く設定される。例えば図13に示す状況の場合、直線92,94の間の角度θが基準角度θc未満である移動先88fの優先度が、直線92,94の間の角度θが基準角度θc未満でない移動先88gの優先度よりも高く設定される。
【0083】
図14は、ボール54が第3領域90c内に位置している場合の決定方法について説明するための図である。この場合、ボール54の位置よりもゴール52a側にある移動先(フリースペース)が重要になる。このため、ボール54が第3領域90c内に位置している場合、ボール54の位置よりもゴール52a(ゴールライン44a)側にある移動先の優先度が高く設定される。例えば図14に示す状況の場合、ゴールライン44aと直線92との間の領域に含まれている移動先88hの優先度が、ゴールライン44aと直線92との間の領域に含まれていない移動先88iの優先度よりも高く設定される。
【0084】
ところで、いずれかのゲームキャラクタ56(58)がボール54を保持している場合、ボール54の位置の代わりに、ボール54を保持しているゲームキャラクタ56(58)の位置を用いることができる。このため、以上に説明した決定方法では、ボール54の位置情報の代わりに、ボール54を保持しているゲームキャラクタ56の位置情報を用いるようにしてもよい。
【0085】
ここで、ルーズボールの状態における各移動先の優先度の決定方法の一例についても、図15を参照しながら説明しておく。なお、図15では、図8及び図9を参照しながら説明した方法によって、上記の条件B1,B2の両方を満足する3つの区画86(基準点84)が、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先88j,88k,88lとして取得された場合を想定している。
【0086】
ルーズボールの状態である場合、優先度情報取得部74は、移動先とボール54との間の距離に基づいて移動先の優先度を決定する。図15に示す状況では、移動先88j,88kとボール54との間の距離が、移動先88lとボール54との間の距離よりも短くなっている。このような場合、移動先88j,88kの優先度は移動先88lの優先度よりも高く設定される。
【0087】
なお、ボール54が移動している場合、優先度情報取得部74は、ボール54の移動方向54a(状態情報)に基づいて各移動先の優先度を決定するようにしてもよい。例えば、ボール54の移動方向54a付近に位置している移動先の優先度を、ボール54の移動方向54a付近に位置していない移動先の優先度よりも高く設定するようにしてもよい。
【0088】
具体的には、優先度情報取得部74は、ボール54の移動方向54aと、ボール54から移動先への方向96と、の間のずれ角度Δθに基づいて、移動先の優先度を決定するようにしてもよい。図15に示す状況では、上記のずれ角度Δθが移動先88kよりも小さい移動先88jの優先度を、移動先88kの優先度よりも高く設定するようにしてもよい。
【0089】
ここで、対戦相手チームに所属するゲームキャラクタ58がボール54を保持している場合における各移動先の優先度の決定方法についても説明しておく。対戦相手チームに所属するゲームキャラクタ58がボール54を保持している場合には、上述したように、対戦相手チームに所属するゲームキャラクタ58が向かうべき移動先が、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先として取得される。そして、この場合、対戦相手チームにとって重要な移動先ほど、優先度が高くなるようにして、各移動先の優先度が決定される。より具体的には、図10を用いて説明した方法、又は図11〜14を用いて説明した方法と類似する方法によって、各移動先の優先度が決定される。
【0090】
なお、以上に説明した例では、ユーザチームに所属するゲームキャラクタ56がボール54を保持している場合に、優先度情報取得部74は、図11〜14を参照しながら説明した決定方法によって各移動先の優先度を決定する。また、ルーズボールの状態である場合、優先度情報取得部74は、図15を参照しながら説明した決定方法によって各移動先の優先度を決定する。このため、優先度情報取得部74は、ボール54の保持状態(状態情報)に基づいて、各移動先の優先度の決定方法を変えることになる。
【0091】
(2)次に、各移動先の優先度を上記の情報D2(ユーザチームに所属するゲームキャラクタ56の位置情報又は/及び能力情報)に基づいて決定する場合について説明する。
【0092】
例えば、優先度情報取得部74は、ユーザチームに所属するゲームキャラクタ56のうちで移動先に最も近いゲームキャラクタ56の能力パラメータ(例えば攻撃能力に関する能力パラメータ)に基づいて、移動先の優先度を決定する。移動先に最も近いゲームキャラクタ56の攻撃能力が高い場合、その移動先はユーザチームにとって有利な移動先(フリースペース)と考えられる。このため、移動先に最も近いゲームキャラクタ56の攻撃能力が高いと、移動先の優先度が高く設定される。すなわち、移動先に最も近いゲームキャラクタ56の攻撃能力が基準よりも高い場合には、該攻撃能力が基準よりも低い場合に比べて、移動先の優先度が高く設定される。
【0093】
また例えば、ユーザチームに所属するゲームキャラクタ56がボール54を保持している場合、優先度情報取得部74は、ボール54を保持しているゲームキャラクタ56の能力パラメータ(例えばパス能力に関する能力パラメータ)に基づいて、移動先の優先度を決定するようにしてもよい。ボール54を保持しているゲームキャラクタ56のパス能力が低い場合、ボール54を保持しているゲームキャラクタ56と移動先との間の距離が長すぎると、その移動先へのパスを正確に行うことができないおそれがある。このような場合、ボール54を保持しているゲームキャラクタ56からの距離が長い移動先は、ユーザチームにとって有利な移動先ではないと考えられる。このため、例えば、ボール54を保持しているゲームキャラクタ56のパス能力が基準よりも低い場合には、ボール54を保持しているゲームキャラクタ56(又はボール54)から所定距離以上離れている移動先の優先度が該パス能力が基準よりも高い場合に比べて低く設定されるようにしてもよい。
【0094】
(3)次に、各移動先の優先度を上記の情報D3(対戦相手チームに所属するゲームキャラクタ58の位置情報又は/及び能力情報)に基づいて決定する場合について説明する。
【0095】
例えば、優先度情報取得部74は、対戦相手チームに所属するゲームキャラクタ58のうちで移動先に最も近いゲームキャラクタ58の能力パラメータ(例えば守備能力に関する能力パラメータ)に基づいて、移動先の優先度を決定する。移動先に最も近いゲームキャラクタ58の守備能力が高い場合、その移動先はユーザチームにとって不利な移動先(フリースペース)と考えられる。このため、移動先に最も近いゲームキャラクタ58の守備能力が高いと、移動先の優先度が低く設定される。すなわち、移動先に最も近いゲームキャラクタ58の守備能力が基準より高い場合には、該守備能力が基準より低い場合に比べて、移動先の優先度が低く設定される。
【0096】
また例えば、優先度情報取得部74は、対戦相手チームに所属するゲームキャラクタ58の位置に基づいて、移動先が、オフサイドの反則を生じる可能性が高い移動先であるか否かを判定し、その判定結果に基づいて、移動先の優先度を決定するようにしてもよい。
【0097】
例えば、ユーザチームに所属するゲームキャラクタ56が移動先に位置している状態においてそのゲームキャラクタ56へのパスが行われたと仮定した場合にオフサイドの反則となってしまうのであれば、その移動先は「オフサイドの反則を生じる可能性が高い移動先」と判定される。言い換えれば、オフサイドラインと、対戦相手チームに関連づけられたゴール52側のゴールライン44と、の間の領域内に移動先が位置している場合、その移動先は「オフサイドの反則を生じる可能性が高い移動先」と判定される。ここで、「オフサイドライン」とは、対戦相手チームに所属するゲームキャラクタ58のうちで、対戦相手チームに関連づけられたゴール52側のゴールライン44に第2番目に近いゲームキャラクタ58の現在位置を通り、かつ、ゴールライン44に平行な仮想的な線のことを意味している。
【0098】
オフサイドの反則を生じる可能性が高い移動先は、ユーザチームにとって有利な移動先ではないと考えられる。そこで、オフサイドの反則を生じる可能性が高い移動先の優先度は、オフサイドの反則を生じる可能性が高くない移動先よりも低く設定されるようにしてもよい。
【0099】
(4)次に、各移動先の優先度を上記の情報D4(ユーザチームの戦術情報)に基づいて決定する場合について説明する。
【0100】
例えば、優先度情報取得部74は、ユーザチームの戦術に合っている移動先の優先度を、ユーザチームの戦術に合っていない移動先の優先度よりも高く設定する。例えば、優先度情報取得部74は、ユーザチームの戦術に対応する領域内に位置する移動先の優先度を、ユーザチームの戦術に対応する領域内に位置しない移動先よりも高く設定する。
【0101】
例えば、「サイドアタック」という作戦は、タッチライン46付近の領域を主に使用して攻撃を行う作戦である。このため、ユーザチームの作戦が「サイドアタック」である場合、優先度情報取得部74は、タッチライン46付近の領域内に位置する移動先の優先度を、タッチライン46付近の領域内に位置しない移動先よりも高く設定するようにしてもよい。ここで、「タッチライン46付近の領域」とは、例えば、タッチライン46からの距離が所定距離未満である領域である。
【0102】
なお、ユーザチームの作戦が「サイドアタック」である場合、優先度情報取得部74は、タッチライン46と移動先との間の距離に基づいて、各移動先の優先度を決定するようにしてもよい。例えば、移動先がタッチライン46に近いほど、移動先の優先度が高く設定されるようにしてもよい。例えば、図10に示すような移動先88a,88b,88cが取得された場合、移動先88bよりもタッチライン46に近い移動先88b,88cの優先度が、移動先88aの優先度よりも高く設定されるようにしてもよい。
【0103】
(5)最後に、各移動先の優先度を上記の情報D5(ユーザチームの得点情報)に基づいて決定する場合について説明する。
【0104】
例えば、優先度情報取得部74は、移動先の優先度を、ユーザチームが対戦相手チームにリードしているか否か(すなわち、ユーザチームの得点が対戦相手チームの得点よりも多いか否か)に基づいて決定する。例えば、優先度情報取得部74は、移動先の優先度の決定方法を、ユーザチームが対戦相手チームにリードしているか否かに基づいて変える。
【0105】
例えば、ユーザチームが対戦相手チームにリードされている場合、優先度情報取得部74は、図10を参照しながら説明した決定方法によって各移動先の優先度を決定する。一方、ユーザチームが対戦相手チームにリードしている場合、優先度情報取得部74は、図11〜図14を参照しながら説明した決定方法によって各移動先の優先度を決定する。なお、ユーザチームが対戦相手チームにリードされている場合の決定方法とユーザチームが対戦相手チームにリードしている場合の決定方法との組合せは上記に限られない。
【0106】
[決定部]
決定部76は、移動先に移動させるゲームキャラクタ56を複数のゲームキャラクタ56のうちからゲーム状況情報に基づいて決定する。決定部76は、移動先取得部72によって取得された複数の移動先の各々を、優先度情報取得部74によって取得された優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタ56を決定する。例えば、移動先に向けて移動させるゲームキャラクタ56の決定が、優先度が最も高い移動先から順番に実行される。
【0107】
決定部76は、移動先に向けて移動させるのに適したゲームキャラクタ56をゲーム状況情報に基づいて判断し、移動先に向けて移動させるゲームキャラクタ56を決定する。例えば、決定部76は、移動先に向けて移動させるゲームキャラクタ56を、下記に示す情報E1〜E3のうちの少なくとも1つに基づいて決定する。
[E1]ユーザチームに所属するゲームキャラクタ56の位置情報
[E2]ユーザチームに所属するゲームキャラクタ56の能力情報、役割情報、及び状態情報のうちの少なくとも一つ
[E3]対戦相手チームに所属するゲームキャラクタ58の位置情報
【0108】
以下、移動先に向けて移動させるゲームキャラクタ56の決定方法の例について、図16を参照しながら説明する。なお、図16は、2つの移動先88m,88nが検出された場合を想定している。ここでは、移動先88mの優先度が移動先88nの優先度よりも高いこととする。また、図16に示す状況では、ユーザチームに所属するゲームキャラクタ56c,56d,56eと、対戦チームに所属するゲームキャラクタ58cとが移動先88m,88n付近に位置している。ゲームキャラクタ56c,56d,56eを移動先88mに最も近いものから並べると、ゲームキャラクタ56c,56d,56eになっている。また、ゲームキャラクタ56c,56d,56eを移動先88nに最も近いものから並べると、ゲームキャラクタ56c,56e,56dになっている。また、ゲームキャラクタ58cはゲームキャラクタ56cと移動先88mを結ぶ直線98上に位置している。
【0109】
(1)まず、移動先に向けて移動させるゲームキャラクタ56を上記の情報E1(ユーザチームに所属しているゲームキャラクタ56の位置情報)に基づいて決定する場合について説明する。
【0110】
例えば、決定部76は、移動先に向けて移動させるゲームキャラクタ56を、ユーザチームに所属するゲームキャラクタ56と移動先との間の距離に基づいて決定する。移動先までの距離が短いゲームキャラクタ56は、移動先に向けて移動させるのに適したゲームキャラクタ56と考えられる。このため、例えば、決定部76は、移動先までの距離が短いゲームキャラクタ56を、移動先までの距離が長いゲームキャラクタ56よりも優先して、移動先に向けて移動させるゲームキャラクタ56として選択する。
【0111】
図16に示す状況の場合、まず、優先度が高い移動先88mに向けて移動させるゲームキャラクタ56が決定される。この場合、ユーザチームに所属するゲームキャラクタ56のうちで移動先88mに最も近いゲームキャラクタ56cが、移動先88mに向けて移動させるゲームキャラクタ56として決定される。
【0112】
次に、移動先88nに向けて移動させるゲームキャラクタ56が決定される。ユーザチームに所属するゲームキャラクタ56のうちで移動先88nに最も近いゲームキャラクタ56はゲームキャラクタ56cである。しかしながら、ゲームキャラクタ56cは移動先88mに向けて移動させるゲームキャラクタ56としてすでに選択されている。このため、ゲームキャラクタ56cは選択されない。
【0113】
その代わりに、移動先88nにゲームキャラクタ56cの次に近いゲームキャラクタ56eが選択される。つまり、ユーザチームに所属し、かつ、他の移動先に向けて移動するゲームキャラクタ56として選択されていないゲームキャラクタ56のうちで、移動先88nに最も近いゲームキャラクタ56eが、移動先88nに向けて移動させるゲームキャラクタ56として決定される。
【0114】
なお例えば、決定部76は、移動先に向けて移動させるゲームキャラクタ56を、ゲームキャラクタ56が移動先に到達するために要する時間に基づいて決定するようにしてもよい。移動先に到達するために要する時間が短いゲームキャラクタ56は、移動先に向けて移動させるのに適したゲームキャラクタ56と考えられる。このため、例えば、決定部76は、移動先に到達するために要する時間が短いゲームキャラクタ56を、移動先に到達するために要する時間が長いゲームキャラクタ56よりも優先して、移動先に向けて移動させるゲームキャラクタ56として選択するようにしてもよい。
【0115】
(2)次に、移動先に向けて移動させるゲームキャラクタ56を上記の情報E2(ユーザチームに所属しているゲームキャラクタ56の能力情報、役割情報、及び状態情報のうちの少なくとも一つ)に基づいて決定する場合について説明する。
【0116】
例えば、決定部76は、ユーザチームに所属するゲームキャラクタ56のうちから、移動先に向けて移動させる候補として、複数のゲームキャラクタ56を選択する。上記の候補は、例えば、ユーザチームに所属するゲームキャラクタ56の位置と移動先との間の距離に基づいて選択される。例えば、移動先に第1番目に近いゲームキャラクタ56から、移動先に第n(n:2以上の整数)番目に近いゲームキャラクタ56までのn名のゲームキャラクタ56が上記の候補として選択される。または、移動先に到達するために要する時間が第1番目に短いゲームキャラクタ56から、上記の時間が第n(n:2以上の整数)番目に短いゲームキャラクタ56までのn名のゲームキャラクタ56が上記の候補として選択される。なお、他の移動先に移動させるゲームキャラクタ56としてすでに選択されているゲームキャラクタ56は上記の候補から除外される。
【0117】
例えば、上記nを2とすると、図16に示す状況の場合、移動先88mに向けて移動させる候補としてゲームキャラクタ56c,56dが選択される。そして、決定部76は、候補として選択されたゲームキャラクタ56c,56dのうちのいずれかを、それらのゲームキャラクタ56c,56dの能力情報、役割情報、及び状態情報のうちの少なくとも一つに基づいて選択する。
【0118】
例えば、ゲームキャラクタ56c,56dのうちで、能力(例えば攻撃能力)が最も高いゲームキャラクタ56を優先的に選択するようにしてもよい。また例えば、ゲームキャラクタ56c,56dのうちで、所定の役割(例えば、主に攻撃することが期待されるポジション種類)が割り当てられているゲームキャラクタ56を優先的に選択するようにしてもよい。より具体的には、例えば、ポジション種類が「FW」又は「MF」であるゲームキャラクタ56を優先的に選択するようにしてもよい。
【0119】
また例えば、ゲームキャラクタ56c,56dのうちのいずれかをゲームキャラクタ56c,56dの体調情報に基づいて選択するようにしてもよい。より具体的には、例えば、疲労度が最も小さい(すなわち、体力の残り具合が最も多い)ゲームキャラクタ56を優先的に選択するようにしてもよい。
【0120】
また例えば、ゲームキャラクタ56c,56dのうちのいずれかの状態が所定の状態である場合、そのゲームキャラクタ56の選択を制限するようにしてもよい。より具体的には、例えば、ゲームキャラクタ56c,56dのうちのいずれかが怪我をしている場合には、そのゲームキャラクタ56を選択しないようにしてもよい。また、例えば、ゲームキャラクタ56c,56dのうちのいずれかが転倒している場合、そのゲームキャラクタ56を選択しないようにしてもよい。
【0121】
(3)次に、移動先に向けて移動させるゲームキャラクタ56を上記の情報E3(対戦相手チームに所属しているゲームキャラクタ58の位置情報)に基づいて決定する場合について説明する。
【0122】
例えば、決定部76は、移動先に向けて移動させるゲームキャラクタ56を、移動先に向けてゲームキャラクタ56が移動する場合と仮定した場合の移動経路と、対戦相手チームに所属するゲームキャラクタ58の位置と、に基づいて決定する。より具体的には、決定部76は、移動先に向けてゲームキャラクタ56が移動する場合と仮定した場合の移動経路に対戦相手チームに所属するゲームキャラクタ58が位置しているか否かを判定し、その判定結果に基づいて、移動先に向けて移動させるゲームキャラクタ56を決定する。
【0123】
図16に示す状況では、移動先88mに最も近いゲームキャラクタ56はゲームキャラクタ56cである。しかしながら、ゲームキャラクタ56cが移動先88mに向けて移動する場合の移動経路(直線98)上には、対戦相手チームに所属するゲームキャラクタ58cが位置している。この場合、決定部76は、移動先88mに向けて移動させるゲームキャラクタ56としてゲームキャラクタ56cを選択しないようにしてもよい。
【0124】
一方、移動先88mにゲームキャラクタ56cの次に近いゲームキャラクタ56dが移動先88mに向けて移動する場合の移動経路上には、対戦相手チームに所属するゲームキャラクタ58が位置していない。このため、決定部76は、移動先88mに向けて移動させるゲームキャラクタ56としてゲームキャラクタ56dを選択するようにしてもよい。
【0125】
なお、対戦相手チームに所属しているゲームキャラクタ58の位置情報(上記の情報E3)を用いて、移動先に向けて移動させるゲームキャラクタ56を決定する場合には、対戦相手チームに所属しているゲームキャラクタ58の能力情報、役割情報、及び状態情報のうちの少なくとも一つも用いるようにしてもよい。
【0126】
例えば、図16に示す状況の場合、ゲームキャラクタ56cが移動先88mに向けて移動する場合の移動経路(直線98)上に位置しているゲームキャラクタ58cの能力情報、役割情報、及び状態情報のうちの少なくとも一つに基づいて、移動先88mに向けて移動させるゲームキャラクタ56としてゲームキャラクタ56cを選択するか否かを決定するようにしてもよい。
【0127】
より具体的には、例えば、ゲームキャラクタ58cの能力(例えば守備能力)が基準よりも低い場合には、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを選択するようにしてもよい。また、例えば、ゲームキャラクタ58cの役割が所定の役割(例えば、守備することがあまり期待されていないポジション種類:FWなど)である場合には、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを選択するようにしてもよい。
【0128】
また、例えば、ゲームキャラクタ58cの状態(例えば、疲労度、体力の残り具合、怪我、又は転倒状態)が所定の状態である場合には、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを、移動先88mに向けて移動させるゲームキャラクタ56として選択するようにしてもよい。
【0129】
例えば、ゲームキャラクタ58cが非常に疲れている場合には、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを選択するようにしてもよい。すなわち、ゲームキャラクタ58cの疲労度が基準よりも高い場合(言い換えれば、ゲームキャラクタ58cの体力の残り具合が基準よりも少ない場合)、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを選択するようにしてもよい。
【0130】
また、例えば、ゲームキャラクタ58cが怪我をしている場合には、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを選択するようにしてもよい。また例えば、ゲームキャラクタ58cが転倒している場合
には、上記移動経路(直線98)上にゲームキャラクタ58cが位置していたとしても、ゲームキャラクタ56cを選択するようにしてもよい。
【0131】
(4)なお、移動先に向けて移動させるゲームキャラクタ56を上記の情報E1〜E3のうちの複数の情報に基づいて決定するようにしてもよい。
【0132】
[ゲームキャラクタ制御部]
ゲームキャラクタ制御部78は、複数のゲームキャラクタ56の移動制御を、移動先取得部72によって取得された複数の移動先と、決定部76の決定結果と、に基づいて実行する。
【0133】
例えば図16に示す状況において、移動先88mに向けて移動させるゲームキャラクタ56としてゲームキャラクタ56cが決定された場合、ゲームキャラクタ制御部78はゲームキャラクタ56cを移動先88mに向けて移動させる。また、移動先88nに向けて移動させるゲームキャラクタ56としてゲームキャラクタ56dが決定された場合、ゲームキャラクタ制御部78はゲームキャラクタ56dを移動先88nに向けて移動させる。
【0134】
[処理]
次に、ゲーム装置10が実行する処理について説明する。図17はゲーム装置10が所定時間(例えば1/60秒)ごとに実行する処理の一例を示すフロー図である。制御部14は光ディスク36から読み出されたプログラムに従って、図17に示す処理を実行する。図17に示す処理が実行されることによって、移動先取得部72、優先度情報取得部74、決定部76、及びゲームキャラクタ制御部78が実現される。
【0135】
図17に示すように、制御部14(移動先取得部72)は、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先を検出する(S201)。例えば、図7又は図8,9を参照しながら説明した方法によって、制御部14はフリースペースを検出する。そして、制御部14は、検出されたフリースペースをユーザチームに所属するゲームキャラクタ56が向かうべき移動先と判断する。
【0136】
その後、制御部14は、ステップS201で検出された移動先の数(N)が1以上であるか否かを判定する(S202)。ステップS201で検出された移動先の数が1以上でない場合、制御部14は、後述のステップS208の処理を実行する。
【0137】
一方、ステップS201で検出された移動先の数が1以上である場合、制御部14(優先度情報取得部74)は、ステップS201で検出された移動先の優先度情報を取得する(S203)。
【0138】
ステップS203において、例えば、制御部14は、上記の情報D1〜D5のうちの少なくとも1つと、移動先の位置と、に基づいて、移動先の優先度を決定する。ステップS203では、例えば、上記の情報D1〜D5のうちの少なくとも1つと移動先の位置とに基づいて移動先の優先度を決定するためのデータが記憶部70から読み出される。そして、制御部14はこのデータに基づいて移動先の優先度を決定する。
【0139】
図18は上記のデータの一例を示す。図18に示すデータは「ID」、「条件」、及び「評価値」フィールドを含んでいる。「ID」フィールドには、条件を一意に識別する情報が記憶される。「条件」フィールドには、移動先の優先度を決定するための基礎として用いられる情報に関する条件が記憶される。すなわち、「条件」フィールドには、上記の情報D1〜D5のうちの少なくとも1つと、移動先の位置と、に関する条件が記憶される。なお、以下では、IDが「n」である条件のことを条件「n」と記載する。
【0140】
なお、図18における条件「1」〜「6」は移動先の位置と上記の情報D1とに関する条件である。例えば、図12における移動先88dは条件「1」を満足することになる。また、図13における移動先88fは条件「2」を満足することになる。また、図14における移動先88hは条件「3」を満足することになる。
【0141】
また、例えば図15に示す状況において、移動先88j,88kとボール54との間の距離が基準距離Lp未満であるならば、移動先88j,88kは条件「4」を満足することになる。また、例えば図15に示す状況において、移動先88lとボール54との間の距離が基準距離Lp以上基準距離Lq未満であるならば、移動先88lは条件「5」を満足することになる。また、例えば図15に示す状況において、ボール54の移動方向54aと、ボール54から移動先88jへの方向96と、の間のずれ角度Δθが基準角度未満であるならば、移動先88jは条件「6」を満足することになる。
【0142】
また、図18における条件「10」は移動先の位置と上記の情報D2とに関する条件であり、条件「11」は移動先の位置と上記の情報D3とに関する条件である。
【0143】
「評価値」フィールドには、評価の高さを表す数値が記憶される。数値が大きい程、評価が高いことを意味する。なお、数値が小さい程、評価が高いことを意味するようにしてもよい。
【0144】
ステップS203において、制御部14は、ステップS201で検出された移動先の各々の評価値を図18に示すデータに基づいて算出する。すなわち、制御部14は、ステップS201で検出された移動先の各々について、その移動先が、図18に示すデータに規定されている各条件を満足するか否かを判定する。そして、制御部14は、移動先の評価値を、移動先によって満足される条件に対応づけられた評価値に基づいて算出する。
【0145】
例えば、条件「1」が満足される場合、条件ID「1」に対応づけられた評価値「+50」に基づいて、移動先の評価値が決定される。例えば、条件「1」のみが満足される場合、移動先の評価値が「+50」に決定される。また例えば、2つの条件「1」,「10」が満足される場合、条件ID「1」に対応づけられた評価値「+50」と、条件ID「10」に対応づけられた評価値「+20」と、に基づいて、移動先の評価値が決定される。例えば、それらの評価値の和「+70」が移動先の評価値として決定される。
【0146】
ステップS201で検出された各移動先の評価値を算出した後、制御部14は、その算出結果に基づいて、ステップS201で検出された各移動先の優先度を決定する。例えば、評価が最も高い移動先から順に優先度が高くなるようにして、ステップS201で検出された各移動先の優先度が決定される。
【0147】
ステップS203において優先度情報が取得された後、制御部14(決定部76)は変数iを1に初期化し(S204)、ステップS201で検出された移動先のうちの第i番目の移動先に向けて移動させるゲームキャラクタ56を決定する(S205)。ここで、「第i番目の移動先」とは、ステップS201で検出された移動先のうちで第i番目に優先度が高い移動先である。
【0148】
例えば、制御部14は、第i番目の移動先に向けて移動させるゲームキャラクタ56として、下記の3つの条件F1〜F3のすべてを満足するゲームキャラクタ56のうちのいずれかを、上記の情報E1〜E3のうちの少なくとも1つに基づいて選択する。
[F1]ユーザチームに所属している。
[F2]ボール54を保持していない。
[F3]他の移動先に向けて移動させるゲームキャラクタ56として選択されていない。
【0149】
なお、上記の条件F3が設けられていることによって、第1番目〜第(i−1)番目の移動先に向けて移動させるゲームキャラクタ56としてすでに選択されてしまっているゲームキャラクタ56は、第i番目の移動先に向けて移動させるゲームキャラクタ56として選択されないようになっている。
【0150】
ステップS205では、第i番目の移動先に向けて移動させるゲームキャラクタ56を上記の情報E1〜E3のうちの少なくとも1つに基づいて決定するためのデータが記憶部70から読み出される。そして、制御部14は、第i番目の移動先に向けて移動させるゲームキャラクタ56をこのデータに基づいて決定する。
【0151】
図19は上記のデータの一例を示す。図19に示すデータは「ID」、「条件」、及び「評価値」フィールドを含んでいる。「ID」フィールドには、条件を一意に識別する情報が記憶される。「条件」フィールドには、移動先に向けて移動させるゲームキャラクタ56を決定するための基礎として用いられる情報に関する条件が記憶される。すなわち、「条件」フィールドには、上記の情報E1〜E3のうちの少なくとも1つに関する条件が記憶される。なお、以下では、IDが「n」である条件のことを条件「n」と記載する。
【0152】
図19における条件「1」,「2」は上記の情報E1(ユーザチームに所属するゲームキャラクタ56の位置情報)に関する条件である。また、条件「3」,「4」は上記の情報E2(ユーザチームに所属するゲームキャラクタ56の能力情報、役割情報、及び状態情報のうちの少なくとも一つ)に関する条件である。さらに、条件「5」は上記の情報E3(対戦相手チームに所属するゲームキャラクタ58の位置情報)に関する条件である。
【0153】
「評価値」フィールドには、評価の高さを表す数値が記憶される。例えば、数値が高い程、評価が高いことを意味する。なお、数値が低い程、評価が高いことを意味するようにしてもよい。
【0154】
ステップS205において、制御部14は、図19に示すデータに基づいて、上記の条件F1〜F3を満足するゲームキャラクタ56の各々の評価値を算出する。すなわち、制御部14は、上記の条件F1〜F3を満足するゲームキャラクタ56の各々について、図19に示すデータに規定された条件を満足するか否かを判定する。そして、制御部14は、ゲームキャラクタ56の評価値を、そのゲームキャラクタ56が満足すると判定された条件に対応づけられた評価値に基づいて取得する。例えば、ゲームキャラクタ56が条件「1」,「3」,「4」を満足する場合、それらの条件に対応づけられた評価値の合計値「+90」がそのゲームキャラクタ56の評価値として取得される。
【0155】
上記の条件F1〜F3を満足するゲームキャラクタ56の各々の評価値を算出した後、制御部14は、その算出結果に基づいて、第i番目の移動先に移動させるゲームキャラクタ56を決定する。例えば、上記の条件F1〜F3を満足するゲームキャラクタ56のうちで評価が最も高いゲームキャラクタ56が、第i番目の移動先に移動させるゲームキャラクタ56として決定される。
【0156】
ステップS205の処理が実行された後、制御部14(決定部76)は変数iに1を加算し(S206)、変数iの値が、ステップS201で検出された移動先の数(N)よりも大きいか否かを判定する(S207)。ここで、変数iの値がNよりも大きくない場合とは、ステップS201で検出された移動先のうちの少なくとも1つについて、移動先に移動させるゲームキャラクタ56の決定が完了していない場合である。この場合、制御部14はステップS205の処理を再実行する。
【0157】
一方、変数iの値がNよりも大きい場合とは、ステップS201で検出されたすべての移動先について、移動先に移動させるゲームキャラクタ56の決定が完了した場合である。この場合、制御部14はゲーム状況データを更新する(S208)。例えば、制御部14は、ユーザの操作対象に設定されているゲームキャラクタ56の位置情報及び状態情報を、コントローラ30から入力される操作信号に基づいて更新する。これによって、ユーザの操作対象に設定されているゲームキャラクタ56がユーザの操作に従って行動することになる。
【0158】
また、例えば、制御部14(ゲームキャラクタ制御部78)は、味方ゲームキャラクタの位置情報及び状態情報を更新する。例えば、制御部14は、ステップS201で検出された移動先に向けて移動するゲームキャラクタ56としてステップS205で選択された味方ゲームキャラクタを、その移動先に向けて移動させる。この場合、味方ゲームキャラクタの移動方向が移動先への方向に更新される。また、味方ゲームキャラクタの位置が、移動方向に、移動速度に応じた距離だけ移動される。なお、制御部14は、ステップS201で検出された移動先に向けて移動するゲームキャラクタ56として選択されていない味方ゲームキャラクタを行動制御データに基づいて行動させる。
【0159】
その他、制御部14は、対戦相手チームに所属するゲームキャラクタ58の位置情報及び状態情報、ボール54の位置情報及び状態情報、得点情報や、経過時間情報なども更新する。
【0160】
その後、制御部14はゲーム画面を更新する(S209)。制御部14は、仮想カメラ59から見たゲーム空間40を表すゲーム画面(図4参照)を記憶部70の記憶内容に基づいて、VRAM上に生成する。VRAM上に生成されたゲーム画面は表示部32に表示される。以上で本処理は終了する。
【0161】
[まとめ]
以上説明したゲーム装置10では、ユーザチームに所属するゲームキャラクタ56が向かうべき複数の移動先について、優先度が最も高い移動先から順番に、その移動先に向けて移動するゲームキャラクタ56の決定が実行される。ゲーム装置10によれば、重要度(優先度)が高い移動先に向けて移動させるゲームキャラクタ56として、その移動先に向けて移動させるのに適したゲームキャラクタ56が優先的に決定されるようになる。その結果として、「重要度が高い移動先に向けて移動させるのに適したゲームキャラクタ56が、重要度が低い移動先に向けて移動させるゲームキャラクタ56として決定されてしまい、重要度が高い移動先に向けて移動させるのに適していないゲームキャラクタ56が、重要度が高い移動先に向けて移動させるゲームキャラクタ56として決定されてしまう」というようなことが生じないように図ることが可能になる。また、ゲーム装置10によれば、ユーザチームに所属する複数のゲームキャラクタ56が一の移動先に向けて移動しないように図ることも可能になる。
【0162】
ゲーム装置10によれば、ゲームキャラクタ56の行動(移動)が合理的に行われていないとユーザに感じさせてしまわないように図ることが可能になる。
【0163】
[変形例]
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0164】
(1)例えば、図17のステップS201では、以上に説明した処理の代わりに、図20に示す処理が実行されるようにしてもよい。
【0165】
図20に示す処理では、まず、制御部14(移動先取得部72:第1取得手段)が、すべてのゲームキャラクタ56,58が配置されているゲーム空間40において、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(例えばフリースペース)を検出する(S301)。ステップS301の処理は図17のステップS201の処理と同じである。
【0166】
その後、制御部14は、ユーザチームに所属するゲームキャラクタ56の各々を順番に除去対象として選択しながら、除去対象に選択されたゲームキャラクタ56がゲーム空間40に存在していないとの仮定の下で、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(例えばフリースペース)を検出する(S302〜S306)。
【0167】
すなわち、制御部14は変数jを1に初期化する(S302)。その後、制御部14は、ユーザチームに所属するゲームキャラクタ56を何らかの順序(例えば、IDの昇順又は降順)でソートし、ユーザチームに所属するゲームキャラクタ56のうちの第j番目のゲームキャラクタ56を除去対象として選択する(S303)。
【0168】
そして、制御部14(移動先取得部72:第2取得手段)は、第j番目のゲームキャラクタ56がゲーム空間40から除去されているとの仮定の下で、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先(例えばフリースペース)を検出する(S304)。ステップ304では、第j番目のゲームキャラクタ56が除去されているゲーム空間40を対象として、図17のステップS201の処理と同様の処理が実行される。
【0169】
その後、制御部14は変数jの値に1を加算し(S305)、変数jの値が、ユーザチームに所属するゲームキャラクタ56の数(11)よりも大きいか否かを判定する(S306)。変数jの値が11よりも大きくない場合、制御部14はステップS303の処理を再実行する。
【0170】
一方、変数jの値が11よりも大きい場合、制御部14は本処理を終了し、図17のステップS202の処理を実行する。この場合、ステップ301において検出された移動先と、繰り返し実行されたステップS304において検出された移動先とが、図17のステップ201において検出された移動先として扱われる。
【0171】
例えば、ゲームキャラクタ56が現在位置からいずれかの方向に向けて移動した場合、それまでゲームキャラクタ56が位置していた場所がフリースペースに変わる可能性がある。この点、上記のような処理を実行すれば、ゲームキャラクタ56が移動することによって生じ得るフリースペースも考慮して、ユーザチームに所属するゲームキャラクタ56が向かうべき移動先を検出できるようになる。
【0172】
(2)また例えば、決定部76は、ゲームキャラクタ56の関係(例えば、連携の熟練度、又は相性など)に関する関係情報に基づいて、一の移動先に向けて移動させるゲームキャラクタ56として、複数のゲームキャラクタ56を決定するようにしてもよい。
【0173】
この場合、記憶部70は、ゲームキャラクタ56と他のゲームキャラクタ56との関係に関する関係情報が保持されてなるデータを記憶する。そして、決定部76は、このデータに基づいて、移動先に向けて移動させるゲームキャラクタ56を決定する。
【0174】
図21は上記のデータの一例を示している。図21に示すデータは、「ID」及び「連携度パラメータ」フィールドを含んでいる。「ID」フィールドは、ユーザチームに所属するゲームキャラクタ56を一意に識別する情報を示す。「連携度パラメータ」フィールドには連携度パラメータが記憶される。連携度パラメータは、他のゲームキャラクタ56との連携度を示す数値情報である。「連携度」とは、他のゲームキャラクタ56との連携動作(連携プレー)をどの程度円滑に行うことができるかを意味する。連携度パラメータの値が大きい程、連携度が高いことを意味する。なお、連携度パラメータの値が小さい程、連携度が高いことを意味するようにしてもよい。
【0175】
この場合、図17のステップS205において、まず、制御部14は、上記の条件F1〜F3を満足するゲームキャラクタ56のうちのいずれかを上記の情報E1〜E3のうちの少なくとも一つに基づいて選択する。例えば、上記の条件F1〜F3を満足するゲームキャラクタ56の各々の評価値が、上記の情報E1〜E3のうちの少なくとも一つと、例えば図19に示すようなデータと、に基づいて算出された後、評価が最も高いゲームキャラクタ56が選択される。なお以下では、ここで選択されたゲームキャラクタ56のことを便宜上「ゲームキャラクタX」と記載する。
【0176】
ゲームキャラクタXが選択された後、制御部14は、上記の条件F1〜F3を満足するゲームキャラクタ56のうちのゲームキャラクタX以外のゲームキャラクタ56の連携度パラメータを読み出す。例えば、評価が第2番目に高いゲームキャラクタ56の連携度パラメータが読み出される。なお以下では、ここで連携度パラメータが読み出されたゲームキャラクタ56のことを便宜上「ゲームキャラクタY」と記載する。
【0177】
ゲームキャラクタYの連携度パラメータを読み出した後、制御部14は、読み出した連携度パラメータの値が所定の値範囲に属するか否かを判定する。ここで、「所定の値範囲」とは、連携度が低いと判断できるような値範囲であり、例えば基準値未満の範囲である。読み出された連携度パラメータの値が所定の値範囲に属しない場合、すなわち、ゲームキャラクタYの連携度が低くない場合、制御部14は、移動先に向けて移動させるゲームキャラクタ56としてゲームキャラクタXのみを選択する。
【0178】
一方、読み出された連携度パラメータの値が所定の値範囲に属する場合、すなわち、ゲームキャラクタYの連携度が低い場合、制御部14は、移動先に向けて移動させるゲームキャラクタ56としてゲームキャラクタX,Yの両方を選択する。この場合、連携度の低さに起因して複数のゲームキャラクタ56が一つの移動先に向けて移動することになる。
【0179】
このようにすれば、ユーザチームに所属するゲームキャラクタ56の関係に応じて、複数のゲームキャラクタ56の連携動作が円滑に行われなくなることをユーザに実感させることが可能になる。
【0180】
なお、上記の条件F1〜F3を満足するゲームキャラクタ56のうちで移動先に最も近いゲームキャラクタ56が上記のゲームキャラクタXとして選択されるようにしてもよい。また、上記の条件F1〜F3を満足するゲームキャラクタ56のうちで移動先に第2番目に近いゲームキャラクタが上記のゲームキャラクタYとして選択されるようにしてもよい。
【0181】
また、図21に示すデータの代わりに、図22に示すデータが記憶されるようにしてもよい。図22に示すデータは、ゲームキャラクタ56の組合せと、それらのゲームキャラクタ56の関係を示す情報と、を関連づけたデータである。
【0182】
図22に示すデータは、「組合せ」及び「連携度パラメータ」フィールドを含んでいる。「組合せ」フィールドは、ユーザチームに所属する2名のゲームキャラクタ56の組合せを示す。「連携度パラメータ」フィールドには連携度パラメータが記憶される。連携度パラメータは、2名のゲームキャラクタ56の間の連携度を示す。「連携度」とは、2名のゲームキャラクタ56が連携動作(連携プレー)をどの程度円滑に行うことができるかを意味する。連携度パラメータの値が大きい程、連携度が高いことを意味する。なお、連携度パラメータの値が小さい程、連携度が高いことを意味するようにしてもよい。
【0183】
この場合、制御部14は、上記のゲームキャラクタX,Yの組合せに対応づけられた連携度パラメータを読み出す。そして、制御部14は、読み出した連携度パラメータの値が所定の値範囲に属するか否かを判定する。読み出した連携度パラメータの値が所定の値範囲に属しない場合、すなわち、上記のゲームキャラクタX,Yの間の連携度が低くない場合、制御部14は、移動先に向けて移動させるゲームキャラクタ56としてゲームキャラクタXのみを選択する。
【0184】
一方、読み出した連携度パラメータの値が所定の値範囲に属する場合、すなわち、上記のゲームキャラクタX,Yの間の連携度が低い場合、制御部14は、移動先に向けて移動させるゲームキャラクタ56として上記のゲームキャラクタX,Yの両方を選択する。この場合も、連携度の低さに起因して複数のゲームキャラクタ56が一つの移動先に向けて移動することになる。
【0185】
(3)ゲーム装置10では、移動先取得部72によって取得された移動先に向けて移動するゲームキャラクタ56として、ユーザの操作対象になっているゲームキャラクタ56が選択される場合がある。このような場合、制御部14(案内手段)は、ユーザの操作対象になっているゲームキャラクタ56が向かうべき移動先をユーザに案内するようにしてもよい。
【0186】
例えば、制御部14は、ユーザの操作対象になっているゲームキャラクタ56が向かうべき移動先を示す画像をゲーム画面に表示するようにしてもよい。図23はこの場合のゲーム画面の一例を示している。図23に示すゲーム画面では、ユーザの操作対象になっているゲームキャラクタ56aの位置から、ゲームキャラクタ56aが向かうべき移動先88o(基準点84)へと伸びる矢印100が表示されている。このようにすれば、ユーザの操作対象になっているゲームキャラクタ56aが向かうべき移動先88oをユーザが比較的容易に把握できるようにすることが可能になる。
【0187】
なお、ユーザの操作対象になっているゲームキャラクタ56aが向かうべき移動先88oを示す画像は矢印100に限られない。例えば、ゲームキャラクタ56aが向かうべき移動先88oに所定画像(星形画像)を表示するようにしてもよい。
【0188】
(4)また例えば、ゲーム空間は、ゲームキャラクタ等の位置が2つの座標要素で管理されるような2次元ゲーム空間であってもよい。
【0189】
(5)また例えば、本発明は、サッカーゲーム以外のスポーツゲームにも適用することができる。すなわち、本発明は、移動物体(例えばボール又はパック)を用いて行われるスポーツ(例えばバスケットボール又はアイスホッケー)の試合を模したゲームにも適用することができる。また、本発明は、スポーツゲーム以外のゲームにも適用することができる。本発明は、複数のゲームキャラクタがゲーム空間内で移動するゲームに適用することが可能である。
【符号の説明】
【0190】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスク読み取り部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 表示部、34 音声出力部、36 光ディスク、40 ゲーム空間、42 フィールド、44,44a,44b ゴールライン、46 タッチライン、48 ハーフウエーライン、50 ピッチ、52,52a,52b ゴール、54 ボール、56,56a,56b,56c,56d,58,58a,58b,58c ゲームキャラクタ、59 仮想カメラ、60 カーソル、70 記憶部、71 ゲーム状況情報記憶部、72 移動先取得部、74 優先度情報取得部、76 決定部、78 ゲームキャラクタ制御部、84 基準点、86 区画、88a,88b,88c,88d,88e,88f,88g,88h,88i,88j,88k,88l,88m,88n,88o 移動先,90a 第1領域、90b 第2領域、90c 第3領域。

【特許請求の範囲】
【請求項1】
複数のゲームキャラクタがゲーム空間内で移動するゲームを実行するゲーム装置において、
前記ゲームの現在の状況に関するゲーム状況情報を記憶するゲーム状況情報記憶手段と、
前記ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する移動先取得手段と、
前記移動先取得手段によって取得された複数の移動先の優先度に関する優先度情報を、前記移動先取得手段によって取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する優先度情報取得手段と、
前記移動先取得手段によって取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数のゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定する決定手段と、
前記複数のゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行するゲームキャラクタ制御手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記優先度情報取得手段は、前記ゲーム状況情報記憶手段の記憶内容と、前記複数の移動先の前記位置情報と、に基づいて前記優先度情報を取得することを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置において、
前記ゲームは、移動物体を用いて行われるスポーツの試合を模したゲームであり、
前記ゲーム状況情報は、前記移動物体の位置に関する位置情報と、前記移動物体の状態に関する状態情報と、を含み、
前記優先度情報取得手段は、前記移動物体の前記位置情報及び前記状態情報の少なくとも一方と、前記複数の移動先の前記位置情報と、に基づいて前記優先度情報を取得する、
ことを特徴とするゲーム装置。
【請求項4】
請求項1乃至3のいずれかに記載のゲーム装置において、
前記複数のゲームキャラクタの関係に関する関係情報を記憶する手段を含み、
前記決定手段は、前記選択した移動先に向けて移動させるゲームキャラクタとして、前記複数のゲームキャラクタのうちの複数のゲームキャラクタを、前記関係情報と、前記ゲーム状況情報記憶手段の記憶内容と、に基づいて決定する、
ことを特徴とするゲーム装置。
【請求項5】
請求項1乃至4のいずれかに記載のゲーム装置において、
前記ゲームキャラクタ制御手段は、
前記複数のゲームキャラクタのうちの、ユーザの操作対象に設定されているゲームキャラクタの移動制御をユーザの操作に基づいて実行する手段と、
前記複数のゲームキャラクタのうちの、前記ユーザの操作対象に設定されていないゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行する手段と、を含み、
前記ゲーム装置は、前記複数の移動先のうちの一の移動先に向けて移動させるゲームキャラクタとして、前記ユーザの操作対象に設定されている前記ゲームキャラクタが決定された場合、該一の移動先を前記ユーザに案内する案内手段を含む、
ことを特徴とするゲーム装置。
【請求項6】
請求項1乃至5のいずれかに記載のゲーム装置において、
前記ゲーム空間には、前記複数のゲームキャラクタに対応する複数の第1ゲームキャラクタと、一又は複数の第2ゲームキャラクタと、が配置され、
前記移動先取得手段は、
前記ゲーム空間内において、第1ゲームキャラクタが向かうべき移動先を取得する第1取得手段と、
前記複数の第1ゲームキャラクタのうちのいずれかが前記ゲーム空間に配置されていないとの仮定の下で、前記第1ゲームキャラクタが向かうべき移動先を取得する第2取得手段と、を含み、
前記第1取得手段及び前記第2取得手段の取得結果に基づいて、前記ゲーム空間内の複数の位置又は複数の領域を、前記第1ゲームキャラクタが向かうべき移動先として取得し、
前記決定手段は、前記移動先取得手段によって取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数の第1ゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定し、
前記ゲームキャラクタ制御手段は、前記複数の第1ゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行する、
ことを特徴とするゲーム装置。
【請求項7】
複数のゲームキャラクタがゲーム空間内で移動するゲームを実行するゲーム装置の制御方法において、
前記ゲームの現在の状況に関するゲーム状況情報を記憶してなるゲーム状況情報記憶手段の記憶内容を取得するステップと、
前記ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する移動先取得ステップと、
前記移動先取得ステップにおいて取得された複数の移動先の優先度に関する優先度情報を、前記移動先取得ステップにおいて取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する優先度情報取得ステップと、
前記移動先取得ステップにおいて取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数のゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定する決定ステップと、
前記複数のゲームキャラクタの移動制御を、前記移動先取得ステップにおいて取得された複数の移動先と、前記決定ステップにおける決定結果と、に基づいて実行するゲームキャラクタ制御ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項8】
複数のゲームキャラクタがゲーム空間内で移動するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記ゲームの現在の状況に関するゲーム状況情報を記憶してなるゲーム状況情報記憶手段の記憶内容を取得する手段、
前記ゲーム空間内の複数の位置又は複数の領域を、ゲームキャラクタが向かうべき移動先として取得する移動先取得手段、
前記移動先取得手段によって取得された複数の移動先の優先度に関する優先度情報を、前記移動先取得手段によって取得された複数の移動先の各々の位置に関する位置情報に基づいて取得する優先度情報取得手段、
前記移動先取得手段によって取得された複数の移動先の各々を前記優先度情報に基づいて決定される順序に従って順番に選択しながら、選択した移動先に向けて移動させるゲームキャラクタを前記複数のゲームキャラクタのうちから前記ゲーム状況情報記憶手段の記憶内容に基づいて決定する決定手段、及び、
前記複数のゲームキャラクタの移動制御を、前記移動先取得手段によって取得された複数の移動先と、前記決定手段の決定結果と、に基づいて実行するゲームキャラクタ制御手段、
として前記コンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2012−50755(P2012−50755A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−197185(P2010−197185)
【出願日】平成22年9月2日(2010.9.2)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】