説明

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

【課題】ゲームキャラクタによって行われた動作の種別をより詳細に判別することができるようになるゲームシステムを提供すること。
【解決手段】 再現データ取得部(46)は、シュート動作が行われた場合に、再現対象期間におけるゲーム状況を再現データとして保存し、動作判定部(48)は、再現データに基づいて、シュート動作を行った操作対象オブジェクト以外の操作対象オブジェクトによって囮の動作が行われたか否かを判定し、再現映像出力部(50)は、再現データに基づく再現映像の出力に応じて、動作判定部(48)による判定結果に基づく出力を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のゲームキャラクタが動作するゲームを実行するゲームシステム、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
複数のゲームキャラクタが動作するゲーム(例えば、サッカーゲーム)において、各ゲームキャラクタの動作を再現する再現映像を出力することが行われている。
【0003】
例えば、下記特許文献1には、(1)ゲームキャラクタが動作を行うごとにその動作を特定し、(2)その動作が定型動作であれば、その定型動作に対応する評価点を決定し、(3)評価点が高い場合に再現映像を出力する野球ゲームが開示されている。例えば、この野球ゲームでは、ゲームキャラクタが盗塁するとゲームキャラクタにより盗塁が行われたことが検知される。そして、盗塁が定型動作であれば、盗塁に対応する評価点が決定される。
【特許文献1】特許第3227447号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、ゲームキャラクタが動作を行う場合、同じ動作を行っていても状況によってその目的が異なる場合がある。
【0005】
例えば、実際のサッカーでは、選手は、シュートする目的で移動動作を行うこともあれば、他の選手にシュートさせる目的で移動動作を行うこともある。例えば、ある選手にゴール前の領域で敵の選手に邪魔されない状態でシュートさせるためには、その選手がシュートするまでに敵の選手をゴール前の領域から移動させる必要がある。そこで、その選手がシュートするまでに敵の選手をゴール前の領域から移動させるために、他の選手がゴール前の領域にいる敵の選手を引きつけて移動する囮の動作(いわゆるデコイラン)を行なうことがよくある。すなわち、「ある選手にゴール前の領域で敵の選手に邪魔されない状態でシュートさせる」ことを目的として、他の選手が移動動作を行うことがある。
【0006】
この場合、ある選手が敵の選手を引き連れて移動している時点では、その選手が「他の選手にゴール前の領域で敵の選手に邪魔されない状態でシュートさせる」ことを目的として移動動作を行っているのか否か、すなわち、その選手が囮の動作を行っているのか否か、又は、他の目的(例えば、パスを受ける目的)で移動動作を行っているのか否かは判定できない。なぜなら、敵の選手を引き連れて移動する動作が、囮の動作であるか否かは、後に他の選手が敵の選手に邪魔されない状態(側に敵の選手がいないフリーの状態)でシュートすることによって初めて判明するからである。
【0007】
そうすると、特許文献1の技術では、あるゲームキャラクタが敵のゲームキャラクタを引き連れて移動している時点でそのゲームキャラクタの動作が移動動作であることを特定できても、その動作が「他のゲームキャラクタにゴール前の領域で敵のゲームキャラクタに邪魔されない状態でシュート動作させる」ことを目的とする移動動作、すなわち「囮の動作」であるのか否かを判定することは困難である。
【0008】
本発明は上記課題に鑑みてなされたものであって、ゲームキャラクタによって行われた動作の種別をより詳細に判別することができるようになるゲームシステム、ゲーム装置の制御方法、及びプログラムの提供を、その目的の一つとする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明に係るゲームシステムは、複数のゲームキャラクタが動作するゲームを実行するゲームシステムであって、前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得する再現データ取得手段と、前記再現データ取得手段により取得された再現データに基づく再現映像を出力する出力手段と、前記再現データ取得手段により取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かを判定する判定手段と、を含み、前記出力手段は、前記判定手段による判定結果に基づく出力を、前記再現映像の出力に応じて行うことを特徴とする。
【0010】
また、本発明に係るゲームシステムの制御方法は、複数のゲームキャラクタが動作するゲームを実行するゲームシステムの制御方法であって、前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得する再現データ取得ステップと、前記再現データ取得ステップにより取得された再現データに基づく再現映像を出力する出力ステップと、前記再現データ取得ステップにより取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かを判定する判定ステップと、を含み、前記出力ステップは、前記判定ステップによる判定結果に基づく出力を、前記再現映像の出力に関連して行うステップを含むことを特徴とする。
【0011】
また、本発明に係るプログラムは、複数のゲームキャラクタが動作するゲームを実行するゲーム装置として据置型ゲーム機(家庭用ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得する再現データ取得手段、前記再現データ取得手段により取得された再現データに基づく再現映像を出力する出力手段、前記再現データ取得手段により取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かを判定する判定手段、としてコンピュータを機能させ、前記出力手段は、前記判定手段による判定結果に基づく出力を、前記再現映像の出力に関連して行うことを特徴とする。
【0012】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0013】
本発明は、複数のゲームキャラクタが動作するゲームを実行するゲームシステムに関するものである。本発明では、例えば、サッカーゲームが実行される。また、前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得が取得される。そして、前記再現データ取得手段により取得された再現データに基づく再現映像が出力される。また、前記再現データ取得手段により取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かが判定される。また、前記再現映像が出力される場合、該再現映像の出力に関連して、前記判定手段による判定結果に基づく出力が行われる。本発明によれば、再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かが判定されるので、ゲームキャラクタによって行われた動作の種別をより詳細に判別することができるようになる。例えば、囮の動作がゲームキャラクタによって行われたか否かを判定することができるようになる。
【0014】
また、本発明の一態様では、前記ゲームシステムは、第1グループに属する複数の第1ゲームキャラクタと、前記第1グループに対立する第2グループに属する複数の第2ゲームキャラクタと、が動作するゲームを実行し、前記第1ゲームキャラクタにより基準動作が行われたか否かを判断する判断手段をさらに含み、前記判定手段は、前記第1ゲームキャラクタにより前記基準動作が行われた場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって、前記基準動作を行った第1ゲームキャラクタの、前記基準動作を行った動作タイミングにおける位置に基づく判定領域内に、前記動作タイミングにおいていずれの第2ゲームキャラクタも位置していない状態が実現されたか否かを、前記再現データに基づいて判定し、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって、前記動作タイミングにおいて前記状態が実現された場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定するようにしてもよい。
【0015】
また、本発明の一態様では、前記ゲームシステムは、いずれかの前記第1ゲームキャラクタに、いずれかの前記第2ゲームキャラクタを関連付ける関連付け手段と、前記第1ゲームキャラクタに前記第2ゲームキャラクタが関連付けられている場合に、該第2ゲームキャラクタを、該第1ゲームキャラクタの移動に従って移動させる移動制御手段と、をさらに含み、前記判定手段は、前記第1ゲームキャラクタにより前記基準動作が行われた場合に、前記判定領域内に、前記動作タイミングにおいていずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第1判定手段と、前記動作タイミングよりも前のタイミングで前記判定領域内にいずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第2判定手段と、前記動作タイミングにおいていずれの第2ゲームキャラクタも前記判定領域内に位置していなかったと判定され、且つ、前記動作タイミングよりも前のタイミングで前記判定領域内にいずれかの第2ゲームキャラクタが位置していたと判定される場合、前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したか否かを、前記再現データに基づいて判定する第3判定手段と、を含み、前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したと判定される場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定するようにしてもよい。
【0016】
また、本発明の一態様では、前記判定領域は、各タイミングでの範囲が前記基準動作を行った第1ゲームキャラクタの該タイミングにおける位置に基づいて定まる領域であり、前記ゲームシステムは、いずれかの前記第1ゲームキャラクタに、いずれかの前記第2ゲームキャラクタを関連付ける関連付け手段と、前記第1ゲームキャラクタに前記第2ゲームキャラクタが関連付けられている場合に、該第2ゲームキャラクタを、該第1ゲームキャラクタの移動に従って移動させる移動制御手段と、をさらに含み、前記判定手段は、前記判定領域内に、前記動作タイミングにおいていずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第1判定手段と、前記動作タイミングよりも前のタイミングにおいて、前記判定領域内に、いずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第2判定手段と、前記動作タイミングにおいていずれの第2ゲームキャラクタも前記判定領域内に位置していなかったと判定され、且つ、前記動作タイミングよりも前のタイミングで前記判定領域内にいずれかの第2ゲームキャラクタが位置していたと判定される場合、前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したか否かを、前記再現データに基づいて判定する第3判定手段と、を含み、前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したと判定される場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定するようにしてもよい。
【0017】
また、本発明の一態様では、前記ゲームシステムは、前記第2ゲームキャラクタが前記第1ゲームキャラクタと衝突した場合に、該第2ゲームキャラクタの移動を制限する移動制限手段をさらに含み、前記判定手段は、前記第1ゲームキャラクタにより前記基準動作が行われた場合に、前記判定領域内に、前記動作タイミングにおいていずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第1判定手段と、前記判定領域、又は、前記基準動作を行った第1ゲームキャラクタに向かって移動していた第2ゲームキャラクタが、前記動作タイミングよりも前のタイミングで、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタと前記判定領域外で衝突したか否かを、前記再現データに基づいて判定する第2判定手段と、を含み、前記動作タイミングにおいて前記判定領域内にいずれの第2ゲームキャラクタも位置していない場合において、前記判定領域、又は、前記基準動作を行った第1ゲームキャラクタに向かって移動していた第2ゲームキャラクタが、前記動作タイミングよりも前のタイミングで、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタと前記判定領域外で衝突していた場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定するようにしてもよい。
【0018】
また、本発明の一態様では、前記判定手段による判定結果に基づいて、前記再現データにより再現される前記ゲームキャラクタの評価を決定する評価手段をさらに含み、前記判定結果に基づく出力を、前記評価手段により決定された評価の出力にしてもよい。
【0019】
また、本発明の一態様では、前記出力手段は、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに特定動作が行われたと前記判定手段が判定した場合に、前記特定動作を行った第1ゲームキャラクタの移動経路を案内する画像を含む前記再現映像を出力するようにしてもよい。
【0020】
また、本発明の一態様では、前記ゲームシステムは、前記複数の第1ゲームキャラクタと、前記複数の第2ゲームキャラクタと、がゲーム空間で動作するゲームを実行し、前記再現映像は、視点から前記ゲーム空間を見た様子を示す映像であり、前記出力手段は、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと前記判定手段が判定した場合に、前記視点を、前記特定動作を行った第1ゲームキャラクタの位置に基づいて設定する設定手段を含むようにしてもよい。
【0021】
また、本発明の一態様では、前記ゲームは、移動物体を移動させるスポーツのゲームであり、前記複数のゲームキャラクタは、複数のユーザの各々に対応する操作対象キャラクタを含み、前記ゲームシステムは、前記複数の操作対象キャラクタのうち、前記移動物体に関わる動作を行った操作対象キャラクタの数を前記再現データに基づいて取得するキャラクタ数取得手段と、前記取得手段により取得された操作対象キャラクタの数が所定条件を満足するか否かを判定する条件判定手段と、をさらに含み、前記取得手段により取得された操作対象キャラクタの数が前記所定条件を満足する場合に、前記再現映像を出力するようにしてもよい。
【発明を実施するための最良の形態】
【0022】
図1は、本発明の実施形態1に係るゲームシステム100の全体構成を示す図である。同図に示すように、ゲームシステム100は複数(ここでは4台)のゲーム装置4を含んで構成される。ゲーム装置4は、いずれもインターネット等のネットワークに接続されており、相互にデータ授受可能である。
【0023】
ゲーム装置4は、例えばマイクロプロセッサ、主記憶、ハードディスク記憶装置、ディスク読み取り装置、通信インタフェース、操作部、画像処理部やモニタ等を含んで構成されるコンピュータシステムである。なお、操作部は、例えばゲームコントローラやマウス等である。また、ディスク読み取り装置は、例えば光ディスク(情報記憶媒体)の記憶内容を読み取るためのものである。また、通信インタフェースはゲーム装置4をネットワークに接続するためのインタフェースである。また、画像処理部はVRAMを含んで構成され、マイクロプロセッサから送られる画像データに基づいてVRAM上にゲーム画面を描画する。そして、画像処理部はその内容をビデオ信号に変換して所定のタイミングでモニタに出力する。ゲーム装置4は、例えば従来公知の家庭用ゲーム機、携帯ゲーム機、携帯情報端末、携帯電話機又はパーソナルコンピュータ等により構成される。
【0024】
以上の構成を有するゲームシステム100では、a)各ゲーム装置4の主記憶に共通のゲーム状況データが保持され、b)この共通のゲーム状況データが、各ゲーム装置4においてなされた操作内容に基づいて更新され、c)各ゲーム装置4のモニタに、この共通のゲーム状況データに基づいてゲーム画面が表示出力されることにより、各ゲーム装置4のユーザが同時に参加して行われるネットワークゲームが実現される。
【0025】
ゲームシステム100では、各ゲーム装置4にクライアント機能が備えられ、一のゲーム装置4にサーバ機能が備えられている。ここで、サーバ機能とは、各ゲーム装置4に保持されるゲーム状況データを共通化するための機能であり、例えば、a)各ゲーム装置4においてなされた操作内容に基づいてゲーム状況データを更新し、b)その更新内容を他のゲーム装置4に保持されるゲーム状況データに反映させ、その結果として、該他のゲーム装置4のゲーム画面に反映させる機能である。また、クライアント機能とは、例えば、a)ユーザの操作内容をサーバ機能に供給し、b)サーバ機能によって更新されたゲーム状況データに基づいてゲーム画面を更新する機能である。ゲームシステム100では、一のゲーム装置4のサーバ機能と、各ゲーム装置4のクライアント機能との間で各種情報(例えば、操作情報やゲーム状況データの更新情報等)が授受されることによって、上記ネットワークゲームが実現される。
【0026】
本実施形態では、ゲーム空間で行われるサッカーゲームが実現される。本実施形態では、このサッカーゲームは、各ゲーム装置4のユーザにより操作される操作対象チームと、コンピュータにより操作される対戦相手チームと、の間で行われる。各ゲーム装置4の主記憶には、ゲーム状況データに基づいて共通のゲーム空間が構築され、各ゲーム装置4のモニタには、ゲーム空間を仮想カメラ(視点)からみた様子を表すゲーム画面が表示される。
【0027】
図2は、各ゲーム装置4の主記憶に構築されるゲーム空間の様子を示す図である。ここでは、ゲーム空間は3つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された3次元空間であるものとして説明する。ゲーム空間には、操作対象チーム(第1グループ)の11体の選手オブジェクト10(第1ゲームキャラクタ)と、対戦相手チーム(第2グループ)の11体の選手オブジェクト16(第2ゲームキャラクタ)と、ボールオブジェクト12(移動物体)と、サッカー球技場を示すフィールドオブジェクト14と、各チームのゴールオブジェクト11などが配置される。フィールドオブジェクト14は、ゴールライン13と、サイドライン15と、を含む。2つのゴールライン13と2つのサイドライン15によって囲まれるピッチで、競技が行われる。また、ゲーム空間には、ボールオブジェクト12に従って移動する仮想カメラ18が設定される。仮想カメラ18には、例えば、ボールオブジェクト12を望む方向に、その視線方向が設定される。以下、操作対象チームの選手オブジェクト10を、操作対象オブジェクト10と呼び、対戦相手チームの選手オブジェクト16を、敵オブジェクト16と呼ぶ。なお、図2では、操作対象オブジェクト10と、敵オブジェクト16と、を一体ずつ示している。
【0028】
本実施形態では、11体の操作対象オブジェクト10のうちの4体は、それぞれ、予め定められたユーザにより操作される。以下、11体の操作対象オブジェクト10のうちユーザにより操作される操作対象オブジェクト10をユーザオブジェクト(操作対象キャラクタ)と呼ぶ。ユーザオブジェクトは、ユーザの操作内容に従ってドリブル動作や、パス動作や、シュート動作等を行う。また、ユーザオブジェクト以外の操作対象オブジェクト10と、各敵オブジェクト16と、は所定のアルゴリズムに従ってドリブル動作や、パス動作や、シュート動作や、トラップ動作等を行う。なお、選手オブジェクトが、同じチームの選手オブジェクトからパスされたボールオブジェクト12をトラップした場合、該選手オブジェクトのトラップ動作は、「パスを受ける動作」としてモニタに表示される。
【0029】
また、公知の当たり判定処理により、選手オブジェクトの衝突が発生したか否かが判定される。選手オブジェクトの衝突が発生した場合、衝突の当事者となった選手オブジェクトは、一定時間その移動が制限される。例えば、操作対象オブジェクト10と、敵オブジェクト16と、が衝突した場合、該操作対象オブジェクト10及び該敵オブジェクト16の移動が一定時間制限される。
【0030】
このサッカーゲームでは、ボールオブジェクト12が一方のチームのゴールオブジェクト11まで移動した場合に、他方のチームの得点イベントが発生するようになっている。各ユーザは、対戦相手チームよりも多く得点イベントを発生させることを目指し、協力プレイを行う。
【0031】
図3は、各ゲーム装置4が保持するゲーム状況データを示す図である。同図に示すように、ゲーム状況データは、例えば、各選手オブジェクトの選手IDと、各選手オブジェクトの位置を示す位置情報と、各選手オブジェクトの移動方向を示す向き情報と、各選手オブジェクトの姿勢を示す姿勢情報と、を含む。その他にも、ボールオブジェクト12の位置を示す位置情報やボールオブジェクト12の移動方向を示す向き情報や、ボールオブジェクト12を保持している選手を特定するための情報や、ユーザオブジェクトを特定するための情報や、仮想カメラ18の位置や視線方向を示す情報等を含む。選手IDは選手オブジェクトを識別するためのデータである。ここでは、選手ID「1〜11」が操作対象オブジェクト10に割り当てられ、選手ID「12〜22」が敵オブジェクト16に割り当てられている。各選手オブジェクトの位置情報は、例えば、各選手オブジェクトの位置座標である。また、各選手オブジェクトの向き情報は、例えば、各選手オブジェクトの正面方向を示す方向ベクトルである。また、各選手オブジェクトの姿勢情報は、例えば、各選手オブジェクトが行っている動作を表すモーションデータのID(すなわち、現在再生しているモーションデータのID)と、そのモーションデータの再生位置と、を含む。
【0032】
なお、本実施形態では、少なくとも1つの選手オブジェクトに、それぞれ、一のマーク対象が設定される。すなわち、いずれかの敵オブジェクト16に、その敵オブジェクト16の監視対象となる一の操作対象オブジェクト10がマーク対象として設定され、いずれかの操作対象オブジェクト10に、その操作対象オブジェクト10の監視対象となる一の敵オブジェクト16がマーク対象として設定される。ゲーム状況データ(関連付け手段)は、マーク対象が設定されている選手オブジェクトに関連付けて、該マーク対象の選手IDを記憶する。例えば、いずれかの敵オブジェクト16にマーク対象が設定されている場合、該敵オブジェクト16の選手IDに関連付けて、マーク対象として設定された操作対象オブジェクト10の選手IDを記憶する(図3参照)。選手オブジェクトにマーク対象が設定されている場合、その選手オブジェクトは、所定のアルゴリズムに基づき、マーク対象の移動に従って自律的に移動するようになっている。例えば、選手オブジェクトにマーク対象が設定されている場合、その選手オブジェクトは、マーク対象との距離が所定距離以上にならないように移動する。
【0033】
上記サッカーゲームには、リプレイ機能が備えられている。すなわち、このサッカーゲームには、例えば、操作対象オブジェクト10のシュート動作によって操作対象チームの得点イベントが発生した場合に、操作対象オブジェクト10がシュート動作を行った場面を含む再現映像が、ゲーム画面に表示されるようになっている。図4は、再現映像が表示されたゲーム画面の一例を示す。
【0034】
また、上記サッカーゲームでは、操作対象オブジェクト10のシュート動作の前に他の操作対象オブジェクト10によって囮の動作が行われたか否が判定されるようになっており、他の操作対象オブジェクト10によって囮の動作が行われたか否かの判定結果に応じた評価値20が、再現映像に表示されるようになっている(図4参照)。以下、この点について説明する。
【0035】
図5は、各ゲーム装置4において実現される機能のうち、本発明に関連するものを主として示す機能ブロック図である。同図に示すように、各ゲーム装置4は、ゲーム状況データ記憶部40と、ゲーム状況データ更新部42と、ゲーム画面出力部44と、再現データ取得部46(判断手段、再現データ取得手段)と、動作判定部48(判定手段)と、再現映像出力部50(出力手段)と、を機能的に含んでいる。これらの機能は、光ディスクから読み出されたプログラムがマイクロプロセッサによって実行されることによって実現される。
【0036】
まず、サッカーゲームの基本機能(サッカーの試合を模したゲームを実行する機能)を実現するための機能ブロックについて説明する。ゲーム状況データ記憶部40と、ゲーム状況データ更新部42と、ゲーム画面出力部44と、は、基本機能を実現するための機能ブロックである。
【0037】
ゲーム状況データ記憶部40は、主記憶を主として実現される。ゲーム状況データ記憶部40は、先述のゲーム状況データを記憶する。
【0038】
本実施形態の場合、ゲーム状況データ記憶部40には、所定時間(例えば5秒)前から現在までの期間(以下、再現対象期間と呼ぶ)における所定時間(例えば、1/60秒)ごとのゲーム状況データが記憶される。
【0039】
ゲーム状況データ更新部42は、マイクロプロセッサを主として実現される。ゲーム状況データ更新部42は、ゲーム状況データ記憶部40に記憶されるゲーム状況データを更新する。
【0040】
例えば、ゲーム装置4がサーバ機能を備えている場合、ゲーム状況データ更新部42は、各ユーザの操作内容を操作部及びネットワークから取得し、各ユーザの操作内容に基づいてユーザオブジェクトの位置、移動方向、姿勢などを更新する。また、例えば、ゲーム状況データ更新部42は、所定のアルゴリズムに従って、ユーザオブジェクト以外の選手オブジェクトの位置、移動方向、姿勢等を更新する。また、例えば、ゲーム状況データ更新部42は、所定のアルゴリズムに従って、所定条件下、選手オブジェクトに設定されているマーク対象を切り替える。また、例えば、ゲーム状況データ更新部42(移動制御手段)は、いずれかの選手オブジェクトにマーク対象が設定されている場合、該選手オブジェクトをマーク対象の移動に従って移動させる。例えば、選手オブジェクトのマーク対象が移動する度に、その選手オブジェクトの移動方向を、その選手オブジェクトからマーク対象に向かう方向に更新する。また、例えば、ゲーム状況データ更新部42(移動制限手段)は、公知の当たり判定処理を実行することにより、選手オブジェクトの衝突が発生したか否かを判定する。選手オブジェクトの衝突が発生した場合、該選手オブジェクトの移動を一定時間制限する。例えば、該選手オブジェクトの位置の更新を一定時間制限する。こうしてゲーム状況データを更新すると、更新内容を示す更新情報を他のゲーム装置4に送信する。
【0041】
一方、ゲーム装置4がクライアント機能だけを備えている場合、ゲーム状況データ更新部42は、サーバ機能を備えたゲーム装置4から送信された更新情報に基づいて、ゲーム状況データを更新する。
【0042】
ゲーム画面出力部44は、例えばマイクロプロセッサと画像処理部を主として実現される。ゲーム画面出力部44は、ゲーム状況データ記憶部40に記憶されるゲーム状況データに基づいて、ゲーム空間を仮想カメラ18から見た様子を示すゲーム画面をモニタに表示させる。
【0043】
次に、リプレイ機能を実現するための機能ブロックについて説明する。再現データ取得部46と、動作判定部48と、再現映像出力部50と、はリプレイ機能を実現するための機能ブロックである。
【0044】
再現データ取得部46は、マイクロプロセッサと主記憶を主として実現される。再現データ取得部46は、各選手オブジェクトによって行われた動作を再現する再現データを取得する。本実施形態では、再現データ取得部46(判断手段)は、シュート動作が操作対象オブジェクト10によって行われたか否かを判断する。また、再現データ取得部46は、操作対象オブジェクト10によってシュート動作が行われたと判断した場合、そのタイミングから所定の監視期間、試合中断イベントの発生を監視する。ここで、監視期間は、上記再現対象期間よりも短い期間(例えば、3秒)である。また、試合中断イベントとは、例えば、操作対象チームの得点イベントや、ボールオブジェクト12がピッチの外に移動するイベント等の、サッカーの試合が中断される契機となるイベントである。
【0045】
そして、再現データ取得部46は、上述の監視期間中に試合中断イベントが発生した場合に、ゲーム状況データ記憶部40に記憶される、「再現対象期間における、所定時間(例えば、1/60秒)ごとのゲーム状況データ」を読み出して取得し、再現データとして主記憶に保存する。上述のように、本実施形態では、シュート動作が行われた場合に、再現データが取得される。そのため、シュート動作は、再現データを取得する契機となる動作と言える。
【0046】
動作判定部48は、マイクロプロセッサと主記憶を主として実現される。本実施形態では、動作判定部48は、複数種類の動作の各々と基礎評価値とを対応付けてなる基礎評価データを記憶する。図6は、基礎評価データの記憶内容の一例を示す。ここで、基礎評価データに記憶される動作の各々は、ドリブル動作、パス動作、シュート動作等の「ボールオブジェクト12に関わる動作」(以下、ボール関連動作と呼ぶ)と、ボールオブジェクト12を保持していないときの動作(特定動作)と、に大別される。ここでは、特定動作が、デコイランと呼ばれる囮の動作であるものとする。
【0047】
本実施形態では、動作判定部48は、基礎評価データを記憶しておいた上で、再現データ取得部46に取得された再現データに基づいて、基礎評価データに記憶されている動作が操作対象オブジェクト10によって行われたか否かを判定する。そして、動作判定部48(評価決定手段)は、操作対象オブジェクト10によって行われた動作に対応する基礎評価値に基づいて、再現対象期間中に各操作対象オブジェクト10によって行われた動作の評価値を決定する。例えば、動作判定部48は、操作対象オブジェクト10によって行われた動作に対応する基礎評価値に基づいて所定の演算を行うことにより、評価値を算出する。また、例えば、操作対象オブジェクト10によって行われた動作に対応する基礎評価値の和を評価値として算出する。
【0048】
以下、囮の動作が操作対象オブジェクト10によって行われたか否かを判定する態様について説明する。
【0049】
動作判定部48(第1判定手段)は、囮の動作が操作対象オブジェクト10によって行われたか否かを判定する場合、基準動作を行った操作対象オブジェクト10(以下、基準選手オブジェクト)以外の操作対象オブジェクト10によって、基準選手オブジェクトの基準タイミングにおける位置に基づく判定領域内に、基準タイミングにおいていずれの敵オブジェクト16も位置していない状態が実現されたか否かを、再現データに基づいて判定する。そして、基準選手オブジェクト以外の操作対象オブジェクト10によって、上記判定領域内に基準タイミングにおいていずれの敵オブジェクト16も位置していない状態が実現された場合、該操作対象オブジェクト10によって、囮の動作が行われたと判定する。ここで、基準タイミングとは、基準選手オブジェクトが基準動作を行った動作タイミングである。また、判定領域は、例えば、基準選手オブジェクトの基準タイミングにおける位置を含む所定範囲の領域である。例えば、判定領域は、基準選手オブジェクトの基準タイミングにおける位置を中心とする半径Rの同心円の領域である。なお、ここでは、基準動作がシュート動作であるものとする。従って、ここでは、シュート動作は、再現データを取得する契機となる動作であるだけでなく、基準動作でもある。
【0050】
すなわち、動作判定部48(第1判定手段)は、上記判定領域内に、基準タイミングにおいていずれかの敵オブジェクト16が位置していたか否かを再現データ(特に、各選手オブジェクトの位置情報)を参照して判定する。
【0051】
また、動作判定部48(第2判定手段)は、基準タイミングよりも前のタイミングで上記判定領域内にいずれかの敵オブジェクト16が位置していたか否かを再現データを参照して判定する。
【0052】
そして、動作判定部48(第3判定手段)は、基準タイミングではいずれの敵オブジェクト16も判定領域内に位置しておらず、且つ、基準タイミングよりも前のタイミングではいずれかの敵オブジェクト16が上記判定領域内に位置していた場合、基準タイミングよりも前のタイミングで判定領域内に位置していた敵オブジェクト16(以下、注目敵オブジェクト)に、少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」で、マーク対象が設定されていたか否かを、再現データを参照して判定する。例えば、「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」で、注目敵オブジェクトにマーク対象が設定されていたか否かを判定する。また、例えば、「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」と「注目敵オブジェクトが判定領域内から判定領域外に移動した直後のタイミング」の双方で、注目敵オブジェクトにマーク対象が設定されていたか否かを判定する。また、例えば、「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」から基準タイミングまでのすべてのタイミングで、注目敵オブジェクトにマーク対象が設定されていたか否かを判定する。
【0053】
そして、動作判定部48は、少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」で、注目敵オブジェクトにマーク対象が設定されていた場合、操作対象オブジェクト10(正確には、注目敵オブジェクトのマーク対象)によって囮の動作が行われたと判定する。すなわち、動作判定部48は、基準タイミングでは、「判定領域内にいずれの敵オブジェクト16も位置していない状態」(状態1)が実現されていること、基準タイミングよりも前のタイミングでは、「判定領域内にいずれかの敵オブジェクト16が位置している状態」(状態2)が実現されていること、及び少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」では、「注目敵オブジェクトにマーク対象が設定されている状態」(状態3)が実現されていること、を全て確認できる場合に、操作対象オブジェクト10(正確には、注目敵オブジェクトのマーク対象)によって囮の動作が行われたと判定する。
【0054】
ここで、動作判定部48が、基準タイミングでは上記状態1が実現されていること、基準タイミングより前のタイミングでは上記状態2が実現されていること、及び少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」では上記状態3が実現されていること、をすべて確認できる場合に、囮の動作が行われたと判定する理由について説明する。
【0055】
図7〜図9は、サッカーゲームで囮の動作が行われる場合について説明するための図である。図7は、囮の動作が行われる前のピッチの状態を示す図である。図8は、囮の動作が行われているときのピッチの状態を示す図である。図9は、囮の動作が行われたあとのピッチの状態を示す図である。図7〜図9に示すように、ピッチには操作対象オブジェクトAと、操作対象オブジェクトBと、操作対象オブジェクトCと、敵オブジェクトDと、が配置されている。操作対象オブジェクトAは、敵オブジェクトDのマーク対象である。図7に示す状態では、操作対象オブジェクトA及び敵オブジェクトDが対戦相手チームのゴールオブジェクト11の前方に位置し、操作対象オブジェクトBが敵オブジェクトDの背後に位置し、操作対象オブジェクトCがゴールオブジェクト11に向かって左側に位置している。
【0056】
図7に示す場合において、操作対象オブジェクトCがゴールオブジェクト11の前方に向かってボールオブジェクト12を蹴り出そうとすると、操作対象オブジェクトAは敵オブジェクトDをゴールオブジェクト11の前方から移動させるために囮の動作を行う。すなわち、図8に示すように、操作対象オブジェクトAは、ゴールオブジェクト11に向かって右方向への移動を開始する。また、操作対象オブジェクトAを監視している敵オブジェクトDも、操作対象オブジェクトAに従ってゴールオブジェクト11に向かって右方向への移動を開始する。その結果、ゴールオブジェクト11の前方には敵オブジェクトDがいないスペースが作られる。また、操作対象オブジェクトBは、シュートするために、ゴールオブジェクト11の前方に作られたスペースへの移動を開始する。
【0057】
そして、図9に示すように、操作対象オブジェクトBは、側に敵オブジェクトDがいない状態でシュート動作を行う。
【0058】
ここで、囮の動作が行われる場合のピッチの状態について図7〜図9を参照して詳細に説明する。ここでは、操作対象オブジェクトBがシュートした位置Pを含む所定範囲の判定領域21に着目する。ここでは、判定領域21を、位置Pを中心とする半径Rの同心円の領域とする。なお、判定領域21は、図7〜図9において点線で表されている。
【0059】
判定領域21に着目した場合、図9に示すように、操作対象オブジェクトB(すなわち、基準選手オブジェクト)がシュート動作したタイミング(すなわち、基準タイミング)では、判定領域21内に敵オブジェクトDがいないという状態が実現されている。すなわち、基準タイミングにおいて、上記状態1と同様の状態が実現されている。
【0060】
また、図7に示すように、操作対象オブジェクトAが囮の動作を行う前のタイミングでは、判定領域21内に敵オブジェクトDが位置している状態が実現されている。すなわち、基準タイミングよりも前のタイミングでは、上記状態2と同様の状態が実現されている。
【0061】
また、図8に示すように、少なくとも「敵オブジェクトDが判定領域内から判定領域外へ移動した直前のタイミング」で、敵オブジェクトDが操作対象オブジェクトAの移動に従って移動したために、判定領域21内の状態が状態2から状態1に変化したことがわかる。すなわち、「敵オブジェクトDが判定領域内から判定領域外へ移動した直前のタイミング」で、操作対象オブジェクトAが敵オブジェクトDのマーク対象として設定されていたために、判定領域21内の状態が状態2から状態1に変化したことがわかる。そのため、囮の動作が行われた場合、少なくとも「敵オブジェクトDが判定領域内から判定領域外へ移動した直前のタイミング」では、上記状態3と同様の状態が実現される。
【0062】
以上のように、操作対象オブジェクトAによって囮の動作が行われた場合、基準タイミングでは状態1が実現されていること、基準タイミングより前のタイミングでは状態2が実現されていること、及び少なくとも「敵オブジェクトDが判定領域内から判定領域外に移動する直前のタイミング」では状態3が実現されていること、がすべて確認できる。そのため、これらのタイミングの各々で、これらの状態がすべて実現されていることを確認できる場合、操作対象オブジェクト10によって囮の動作が行われた可能性が高い。そこで、動作判定部48は、これらのタイミングの各々で、これらの状態がすべて実現されていることを確認できる場合に、操作対象オブジェクト10(正確には、注目敵オブジェクトのマーク対象)によって囮の動作が行われたと判定するようにしている。
【0063】
なお、動作判定部48は、ボール関連動作(例えば、パス動作)が操作対象オブジェクト10によって行われたか否かを判定する場合、各タイミングで再生されている各操作対象オブジェクト10のモーションデータに基づいて、ボール関連動作が操作対象オブジェクト10によって行われたか否かを判定する。例えば、操作対象選手オブジェクト10についてパスモーションデータが再生されている場合には、その操作対象オブジェクト10によってパス動作が行われたと判定する。
【0064】
再現映像出力部50(出力手段)は、マイクロプロセッサと画像処理部を主として実現される。再現映像出力部50は、再現データ取得部46に取得される再現データに基づいて、再現対象期間におけるゲーム空間の再現映像をモニタに出力する。具体的には、再現映像出力部50は、再現データを再生する。ここで、「再現データを再生する」とは、再現データに含まれる各タイミングのゲーム状況データ(例えば、仮想カメラ18の位置や視線方向、各選手オブジェクトの位置情報、姿勢情報、向き情報、ボールオブジェクト12の位置情報)に基づいて、仮想カメラ18からゲーム空間を見た様子を示す画像をモニタに順次表示することをいう。
【0065】
また、再現映像出力部50は、再現映像の出力に関連して、操作対象オブジェクト10によって囮の動作が行われたか否かの判定結果に基づく出力を行う。ここで、上述の「判定結果に基づく出力」とは、動作判定部48により上述の判定結果に基づいて決定された評価値の出力である。また、「再現映像の出力に関連して評価値の出力を行う」とは、再現映像の出力を契機に評価値を出力することを意味する。例えば、評価値再現映像を出力している期間出力したり、評価値を再現映像が開始する直前に出力したり、評価値を再現映像が終了する直後に出力したりすることを意味する。
【0066】
図10は、各ゲーム装置4が実行する処理のうち、本発明に関連するものを主に示すフロー図である。マイクロプロセッサは光ディスクに記憶されたプログラムに従って、図10に示す処理を実行する。
【0067】
マイクロプロセッサ(判断手段)は、所定時間ごとに、操作対象オブジェクト10によってシュート動作が行われたか否かを判断する(S101)。そして、マイクロプロセッサは、操作対象オブジェクト10によってシュート動作が行われた場合(S101のY)、試合中断イベントの発生を、上述の監視期間、監視する(S102)。
【0068】
そして、マイクロプロセッサ(再現データ取得手段)は、監視期間中に試合中断イベントが発生した場合(S102のY)、主記憶に記憶される、「再現対象期間における、所定時間(例えば、1/60秒)ごとのゲーム状況データ」を読み出して取得し、再現データとして保存する(S103)。
【0069】
そして、マイクロプロセッサは、基礎評価データに記憶される複数種類の動作の各々について操作対象オブジェクト10によって行われたか否かを再現データを参照して判定することにより、上記複数種類の動作のうち、操作対象オブジェクト10によって行われた動作を特定する(S104)。
【0070】
例えば、マイクロプロセッサは、操作対象オブジェクト10によってボール関連動作が行われたか否かを判定する場合、再現データを参照し、各タイミングで再生されている各操作対象オブジェクト10のモーションデータに基づいて、ボール関連動作が操作対象オブジェクト10によって行われたか否かを判定する。例えば、操作対象選手オブジェクト10についてパスモーションデータが再生されている場合には、その操作対象オブジェクト10によってパス動作が行われたと判定する。
【0071】
また、例えば、マイクロプロセッサ(判定手段)は、操作対象オブジェクト10によって囮の動作が行われたか否かを判定する場合、図11に示すフロー図の処理を実行する。
【0072】
すなわち、マイクロプロセッサ(第1判定手段)は、シュート動作(すなわち、基準動作)を行った操作対象オブジェクト10(すなわち、基準選手オブジェクト)の、シュート動作を行ったシュートタイミング(すなわち、基準タイミング)における位置Pを中心とする半径Rの同心円を判定領域21として設定し(図7〜図9参照)、シュートタイミングにおいていずれかの敵オブジェクト16が判定領域21内に位置していたか否かを再現データを参照して判定する(S201)。シュートタイミングにおいていずれかの敵オブジェクト16が判定領域21内に位置していた場合(S201のY)、マイクロプロセッサは、操作対象オブジェクト10によって囮の動作が行われなかったと判定する(S205)。
【0073】
一方、マイクロプロセッサ(第2判定手段)は、シュートタイミングにおいていずれの敵オブジェクト16も判定領域21内に位置していなかった場合(S201のN)、シュートタイミングよりも前のタイミングで判定領域21内にいずれかの敵オブジェクト16が位置していたか否かを再現データを参照して判定する(S202)。シュートタイミングよりも前のタイミングでいずれの敵オブジェクト16も判定領域21内に位置していなかった場合(S202のN)、マイクロプロセッサは、操作対象オブジェクト10によって囮の動作が行われなかったと判定する(S205)。
【0074】
一方、マイクロプロセッサ(第3判定手段)は、シュートタイミングよりも前のタイミングでいずれかの敵オブジェクト16が判定領域21内に位置していた場合(S202のY)、シュートタイミングよりも前のタイミングで判定領域21内に位置していた敵オブジェクト16(以下、注目敵オブジェクト)に、「注目敵オブジェクトが判定領域21内から判定領域21外に移動する直前のタイミング」でマーク対象が設定されていたか否かを、再現データを参照して判定する(S203)。注目敵オブジェクトに「注目敵オブジェクトが判定領域21内から判定領域21外に移動する直前のタイミング」でマーク対象が設定されていなかった場合(S203のN)、マイクロプロセッサは、操作対象オブジェクト10によって囮の動作が行われなかったと判定する(S205)。
【0075】
一方、注目敵オブジェクトに「注目敵オブジェクトが判定領域21内から判定領域外21に移動する直前のタイミング」でマーク対象が設定されていた場合(S203のY)、操作対象オブジェクト10(より正確には、注目敵オブジェクトのマーク対象として設定されている操作対象オブジェクト10)によって囮の動作が行われたと判定する(S204)。こうして、マイクロプロセッサは、操作対象オブジェクト10によって囮の動作が行われたか否かを判定する。
【0076】
こうして操作対象オブジェクト10によって行われた動作を特定すると、マイクロプロセッサ(評価決定手段)は、基礎評価データを参照し、操作対象オブジェクト10によって行われた動作に対応する基礎評価値に基づいて、再現対象期間における評価値を算出する(S105)。なお、マイクロプロセッサは、ボール関連動作を行った操作対象オブジェクト10の数が大きいほど、大きくなるように評価値を決定するようにしてもよい。また、マイクロプロセッサは、シュート動作の後で操作対象チームの得点イベントが発生した場合、シュート動作の後で操作対象チームの得点イベントが発生しなかった場合よりも大きくなるように評価値を決定するようにしてもよい。
【0077】
そして、マイクロプロセッサ(出力手段)は、再現データを再生することにより、再現対象期間におけるゲーム空間の再現映像をモニタに出力する(S106)。また、マイクロプロセッサ(出力手段)は、再現映像を出力している期間、S105のステップで算出された評価値をモニタに出力する(図4参照)。
【0078】
以上が、各ゲーム装置4で行われる処理の内容である。ゲーム装置4によれば、ゲームキャラクタによって行われた動作の種別をより詳細に判別することができるようになる。その結果、例えば、「敵のゲームキャラクタに邪魔されない状態で他のゲームキャラクタにシュート動作させる」ための移動動作、すなわち、囮の動作がゲームキャラクタによって行われたか否かを判定できるようになる。そのため、ゲームキャラクタによって行われた動作についての評価の精度を向上させることもできるようになる。
【0079】
なお、特定動作は以上で説明した囮の動作だけに限らない。例えば、実際のサッカーでは、敵の選手が側にいるフォワードの選手に、その敵の選手に邪魔されない状態でシュートさせるためには、フォワードの選手から敵の選手を遠ざける必要がある。そこで、フォワードの選手から敵の選手を遠ざけるために、他の選手が敵の選手を引きつけて移動する「囮の動作」を行うことがよくある。以下、操作対象オブジェクト10によって囮の動作が行われたか否かを判定する他の態様(以下、実施形態2)について説明する。なお、以下、図7〜図9を参照して述べた囮の動作を第1の囮の動作と呼び、ここで説明する囮の動作を第2の囮の動作と呼ぶ。また、実施形態2でも、基準タイミングは、基準選手オブジェクトが基準動作を行った動作タイミングであるものとし、基準動作は、シュート動作であるものとする。
【0080】
実施形態2でも、実施形態1と同様に、動作判定部48(第1判定手段)は、第2の囮の動作が操作対象オブジェクト10によって行われたか否かを判定する場合、基準タイミングでは上記状態1が実現されているか否かを判定する。また、動作判定部48(第2判定手段)は、基準タイミングより前のタイミングでは状態2が実現されているか否かを判定する。また、動作判定部48(第3判定手段)は、少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」では状態3が実現されているか否かを判定する。そして、実施態様2でも、動作判定部48は、基準タイミングでは状態1が実現されていること、基準タイミングより前のタイミングでは状態2が実現されていること、及び少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」では状態3が実現されていることをすべて確認できる場合に、操作対象オブジェクト10(正確には、注目敵オブジェクトのマーク対象)によって第2の囮の動作が行われたと判定する。
【0081】
但し、実施形態1では、判定領域は一定であるが、実施形態2では、場合によって、各タイミングで判定領域の範囲が変化する。具体的には、実施形態2では、判定領域は、各タイミングでの範囲が、基準動作を行った操作対象オブジェクト10(すなわち、基準選手オブジェクト)の該タイミングでの位置に基づいて定められる。例えば、実施形態2では、各タイミングでの判定領域の範囲が、基準動作を行った操作対象オブジェクト10の該タイミングでの位置を含む所定範囲の領域となる。例えば、各タイミングでの判定領域の範囲は、基準選手オブジェクトの該タイミングでの位置を中心とする半径Rの同心円の領域となる。
【0082】
ここで、実施形態2においても、動作判定部48が、基準タイミングでは上記状態1が実現されていること、基準タイミングより前のタイミングでは上記状態2が実現されていること、及び少なくとも「注目敵オブジェクトが判定領域内から判定領域外に移動する直前のタイミング」では上記状態3が実現されていること、をすべて確認できる場合に、囮の動作が行われたと判定する理由について説明する。
【0083】
図12〜図14は、サッカーゲームで第2の囮の動作が行われる場合について説明するための図である。図12は、第2の囮の動作が行われる前のピッチの状態を示す図である。図13は、第2の囮の動作が行われているときのピッチの状態を示す図である。図14は、第2の囮の動作が行われたあとのピッチの状態を示す図である。図12〜図14に示すように、ピッチには操作対象オブジェクトAと、操作対象オブジェクトBと、操作対象オブジェクトCと、敵オブジェクトDと、が配置されている。なお、操作対象オブジェクトAは、敵オブジェクトDのマーク対象である。
【0084】
図12に示す場合において、操作対象オブジェクトCがゴールオブジェクト11の前方に向かってボールオブジェクト12を蹴り出そうとすると、図13に示すように、操作対象オブジェクトB(すなわち、基準選手オブジェクト)は、シュートするために、ゴールオブジェクト11に向かって移動を開始する。一方、操作対象オブジェクトAは敵オブジェクトDを操作対象オブジェクトBから遠ざけるために第2の囮の動作を行う。すなわち、操作対象オブジェクトAは、操作対象オブジェクトBとは異なる方向への移動を開始し、操作対象オブジェクトAを監視している敵オブジェクトDも、操作対象オブジェクトAに従って操作対象オブジェクトBとは異なる方向への移動を開始する。その結果、操作対象オブジェクトBから敵オブジェクトDが遠ざかる。
【0085】
そして、操作対象オブジェクトBは、図14に示すように、側に敵(すなわち、敵オブジェクトD)がいない状態でシュート動作を行う。
【0086】
ここで、第2の囮の動作が行われる場合のピッチの状態について図12〜図14を参照して詳細に説明する。ここでは、第1の囮の動作が行われる場合とは異なり、各タイミングで、そのタイミングでの操作対象オブジェクトBの位置Pを含む所定範囲の領域を判定領域21として着目する。ここでは、各タイミングにおける判定領域21を、そのタイミングでの操作対象オブジェクトBの位置Pを中心とする半径Rの同心円の領域とする。なお、図12〜図14において、点線で囲まれる領域が判定領域21を示している。
【0087】
図14において、判定領域21に着目した場合、操作対象オブジェクトB(基準選手オブジェクト)がシュートしたタイミング(すなわち、基準タイミング)では、判定領域21内に敵オブジェクトDがいないという状態が実現されている。すなわち、基準タイミングにおいて、上記状態1と同様の状態が実現されている。
【0088】
また、図12に示すように、操作対象オブジェクトAが第2の囮の動作を行う前のタイミングでは、判定領域21内に敵オブジェクトDが位置している状態が実現されている。すなわち、基準タイミングよりも前のタイミングでは、上記状態2と同様の状態が実現されている。
【0089】
また、図13に示すように、少なくとも「敵オブジェクトDが判定領域内から判定領域外へ移動した直前のタイミング」で、敵オブジェクトDが操作対象オブジェクトAの移動に従って移動したために、判定領域21内の状態が状態2から状態1に変化したことがわかる。すなわち、少なくとも「敵オブジェクトDが判定領域内から判定領域外へ移動した直前のタイミング」で、操作対象オブジェクトAが敵オブジェクトDのマーク対象として設定されていたために、判定領域21内の状態が状態2から状態1に変化したことがわかる。そのため、第2の囮の動作が行われた場合、少なくとも「敵オブジェクトDが判定領域内から判定領域外へ移動した直前のタイミング」では、上記状態3と同様の状態が実現される。
【0090】
以上のように、実施形態2においても、操作対象オブジェクトAによって第2の囮の動作が行われた場合、基準タイミングでは状態1が実現されていること、基準タイミングより前のタイミングでは状態2が実現されていること、及び少なくとも「敵オブジェクトDが判定領域内から判定領域外に移動する直前のタイミング」では状態3が実現されていること、がすべて確認できる。そのため、これらのタイミングの各々で、これらの状態がすべて実現されていることを確認できる場合、操作対象オブジェクト10によって第2の囮の動作が行われた可能性が高い。そこで、動作判定部48は、これらのタイミングの各々で、これらの状態がすべて実現されていることを確認できる場合に、操作対象オブジェクト10(正確には、注目敵オブジェクトのマーク対象)によって第2の囮の動作が行われたと判定するようにしている。
【0091】
ここで、この実施形態2においてマイクロプロセッサが、操作対象オブジェクト10によって第2の囮の動作が行われたか否かを判定するために実行する処理について図11を参照しながら説明する。なお、この処理は、実施形態1と同様に、図10に示すS104のステップにおいて行われる。
【0092】
実施形態2では、マイクロプロセッサ(第1判定手段)は、S201のステップにおいて、シュート動作(すなわち、基準動作)を行った操作対象オブジェクト10(すなわち、基準選手オブジェクト)との距離が所定距離R以下である敵オブジェクト16が、該操作対象オブジェクト10によってシュート動作の行われたシュートタイミング(すなわち、基準タイミング)において存在するか否かを再現データを参照して判定する。そして、シュートタイミングにおいて、シュート動作を行った操作対象オブジェクト10との距離が所定距離R以下である敵オブジェクト16が存在する場合(S201のY)、マイクロプロセッサは、操作対象オブジェクト10によって第2の囮の動作が行われなかったと判定する(S205)。
【0093】
一方、マイクロプロセッサ(第2判定手段)は、シュートタイミングにおいて、シュート動作を行った操作対象オブジェクト10との距離が所定距離R以下である敵オブジェクト16が存在しない場合(S201のN)、シュートタイミングよりも前のタイミングにおいて、シュート動作を行った操作対象オブジェクト10との距離が所定距離R以下である敵オブジェクト16が存在するか否かを判定する(S202)。そして、シュートタイミングよりも前のタイミングにおいて、シュート動作を行った操作対象オブジェクト10との距離が所定距離R以下である敵オブジェクト16が存在しない場合(S202のN)、マイクロプロセッサは、操作対象オブジェクト10によって第2の囮の動作が行われなかったと判定する(S205)。
【0094】
一方、シュートタイミングよりも前のタイミングにおいて、シュート動作を行った操作対象オブジェクト10との距離が所定距離R以下である敵オブジェクト16が存在する場合(S202のY)、マイクロプロセッサ(第3判定手段)は、シュート動作を行った操作対象オブジェクト10との距離がシュートタイミングよりも前のタイミングにおいて所定距離R以下であった敵オブジェクト16(以下、注目敵オブジェクト)に、「シュート動作を行った操作対象オブジェクト10と注目敵オブジェクトとの距離が所定距離Rよりも大きくなる直前のタイミング」でマーク対象が設定されていたか否かを判定する(S203)。「シュート動作を行った操作対象オブジェクトと注目敵オブジェクトとの距離が所定距離Rよりも大きくなる直前のタイミング」で注目敵オブジェクトにマーク対象が設定されていなかった場合(S203のN)、マイクロプロセッサは、操作対象オブジェクト10によって第2の囮の動作が行われなかったと判定する(S205)。
【0095】
一方、「シュート動作を行った操作対象オブジェクトと注目敵オブジェクトとの距離が所定距離Rよりも大きくなる直前のタイミング」で注目敵オブジェクトにマーク対象が設定されていた場合(S203のY)、操作対象オブジェクト10によって第2の囮の動作が行われたと判定する(S204)。こうして、マイクロプロセッサは、操作対象オブジェクト10によって第2の囮の動作が行われたか否かを判定する。
【0096】
以上のようにゲーム装置4によれば、ゲームキャラクタによって第2の囮の動作が行われたか否かを判定することができる。そのため、実施形態2においても、ゲームキャラクタによって行われた動作の種別をより詳細に判別することができるようになる。
【0097】
また、特定動作は、囮の動作だけに限らない。例えば、実際のサッカーでは、敵の選手に邪魔されない状態でフォワードの選手にシュートさせるために、フォワードの選手に向かって移動しようとする敵の選手や、ゴール前に向かって移動しようとする敵の選手を他の選手が身を挺してブロックする「スクリーン動作」を行うことがよくある。以下、操作対象オブジェクト10によってスクリーン動作が行われたか否かを判定する態様(以下、実施形態3)について説明する。なお、ここでも、基準タイミングは、基準選手オブジェクトが基準動作を行った動作タイミングであるものとし、基準動作は、シュート動作であるものとする。
【0098】
実施形態3でも、動作判定部48(第1判定手段)は、特定動作が操作対象オブジェクト10によって行われたか否かを判定する場合、実施形態1と同様に、基準タイミングにおいて上記状態1が実現されているか否かを判定する。
【0099】
但し、実施形態3では、動作判定部48(第2判定手段)は、基準選手オブジェクト以外の操作対象オブジェクト10が原因で上記状態1が基準タイミングにおいて実現されたか否かを判定するために、判定領域21、又は、基準選手オブジェクトに向かって移動していた敵オブジェクト16が、基準タイミングよりも前のタイミングで、基準選手オブジェクト以外の操作対象オブジェクト10と判定領域21外で衝突したか否かを、再現データを参照して判定する。
【0100】
本実施形態では、動作判定部48は、基準タイミングよりも前のタイミングにおいて、敵オブジェクト16と、基準選手オブジェクト以外のいずれかの操作対象オブジェクト10(以下、操作対象オブジェクトXと呼ぶ)と、の衝突が判定領域21外で発生したか否かを、再現データを参照して判定する。また、動作判定部48は、基準タイミングよりも前のタイミングにおいて、敵オブジェクト16と、操作対象オブジェクトXと、の衝突が判定領域21外で発生した場合、操作対象オブジェクトXと衝突した敵オブジェクト16(以下、注目敵オブジェクトと呼ぶ)が、操作対象オブジェクトXと衝突する前に、判定領域21、又は、基準選手オブジェクトに向かって移動していたか否かを判定する。ここでは、動作判定部48は、少なくとも「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21、又は、基準選手オブジェクトに向かって移動していたか否かを判定する。
【0101】
そして、動作判定部48は、基準タイミングで上記状態1が実現されている場合において、少なくとも「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクト16が、判定領域21、又は、基準選手オブジェクトに向かって移動していた場合に、操作対象オブジェクト10(正確には、注目敵オブジェクトと衝突した操作対象オブジェクトX)によってスクリーン動作が行われたと判定する。
【0102】
以上のように、動作判定部48は、基準タイミングでは、上記状態1が実現されていること、基準タイミングよりも前のタイミングでは、「敵オブジェクト16と、基準選手オブジェクト以外の操作対象オブジェクト10(すなわち、操作対象オブジェクトX)と、の衝突が判定領域21外で発生している状態」(状態2)が実現されていること、及び、少なくとも「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」では、注目敵オブジェクトが、判定領域21、又は、基準選手オブジェクトに向かって移動している状態」(状態3)が実現されていること、を全て確認できる場合に、操作対象オブジェクトXによってスクリーン動作が行われたと判定する。
【0103】
ここで、動作判定部48が、基準タイミングでは上記状態1が実現されていること、基準タイミングより前のタイミングでは上記状態2が実現されていること、及び少なくとも「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」では上記状態3が実現されていること、を全て確認できる場合に、スクリーン動作が行われたと判定する理由について説明する。
【0104】
図15〜図17は、サッカーゲームでスクリーン動作が行われる場合について説明するための図である。図15は、スクリーン動作が行われる前のピッチの状態を示す図である。図16は、スクリーン動作が行われているときのピッチの状態を示す図である。図17は、スクリーン動作が行われたあとのピッチの状態を示す図である。図15〜17に示すように、ピッチには操作対象オブジェクトAと、操作対象オブジェクトBと、操作対象オブジェクトCと、敵オブジェクトDと、が配置されている。図15に示す状態では、操作対象オブジェクトAと、操作対象オブジェクトBと、敵オブジェクトDと、が対戦相手チームのゴールオブジェクト11の前方に位置し、操作対象オブジェクトCがゴールオブジェクト11に向かって左側に位置している。
【0105】
図15に示す場合において、操作対象オブジェクトCは、操作対象オブジェクトB(すなわち、基準選手オブジェクト)にシュートさせるために、ゴールオブジェクト11の前方にあるスペースに向かってボールオブジェクト12を蹴り出そうとする。そうすると、図16に示すように、操作対象オブジェクトBは、ボールオブジェクト12をシュートするために、上記スペースへの移動を開始する。操作対象オブジェクトBが上記スペースへの移動を開始すると、敵オブジェクトDは、図16に示すように、操作対象オブジェクトBがボールオブジェクト12をシュートすることを阻むために、操作対象オブジェクトB、又は、上記スペースへの移動を開始する。ここでは、敵オブジェクトDが、上記スペースへの移動を開始している場合を示す。さらに、操作対象オブジェクトAは、敵オブジェクトDが操作対象オブジェクトBや上記スペースまで到達できないように、敵オブジェクトDの移動経路を塞ぐスクリーン動作を行う。すなわち、操作対象オブジェクトAは、敵オブジェクトDの前方への移動を開始する。その結果、図16に示すように、操作対象オブジェクトAと、敵オブジェクトDと、が衝突する。
【0106】
操作対象オブジェクトAと、敵オブジェクトDと、の衝突により、敵オブジェクトDの移動が一定時間制限されたため、図17に示すように、操作対象オブジェクトBは、側に敵オブジェクトDがいない状態でシュート動作を行う。
【0107】
ここで、スクリーン動作が行われる場合のピッチの状態について図15〜図17を参照して詳細に説明する。ここでは、操作対象オブジェクトBがシュートした位置Pを含む所定範囲の判定領域21に着目する。ここでは、判定領域21は、位置Pを中心とする半径Rの同心円の領域であるものとする。さらに、本実施形態3では、判定領域21だけでなく第2判定領域23にも着目する。第2判定領域23は、判定領域21の外側に設定される所定範囲の領域である。ここでは、第2判定領域23は、位置Pを中心とする半径R2(R2>R)の同心円の領域のうち判定領域21の外側の領域であるものとする。なお、判定領域21は、図15〜図17において点線で表されている。第2判定領域23は、図16において点線で表されている。
【0108】
判定領域21に着目した場合、図17に示すように、操作対象オブジェクトB(すなわち、基準選手オブジェクト)がシュート動作したタイミング(すなわち、基準タイミング)では、判定領域21内に敵オブジェクトDがいないという状態が実現されている。すなわち、基準タイミングにおいて、上記状態1と同様の状態が実現されている。
【0109】
また、図16に示すように、操作対象オブジェクトBがシュート動作したタイミング(すなわち、基準タイミング)より前のタイミングでは、第2判定領域23において、敵オブジェクトDと、シュート動作を行った操作対象オブジェクトB以外の操作対象オブジェクトA(すなわち、操作対象オブジェクトX)と、が衝突している状態が実現されている。すなわち、基準タイミングよりも前のタイミングでは、上記状態2と同様の状態が実現されている。
【0110】
また、図16に示すように、敵オブジェクトD(すなわち、注目敵オブジェクト)と、操作対象オブジェクトAと、の衝突が発生する直前のタイミングでは、敵オブジェクトDが、判定領域21、又は、操作対象オブジェクトB(すなわち、基準選手オブジェクト)に向かって移動している。すなわち、「敵オブジェクトDが操作対象オブジェクトAと衝突する直前のタイミング」では、上記状態3と同様の状態が実現されている。
【0111】
以上のように、操作対象オブジェクトAによってスクリーン動作が行われた場合、基準タイミングでは上記状態1が実現されていること、基準タイミングよりも前のタイミングでは上記状態2が実現されていること、及び、少なくとも「敵オブジェクトDが操作対象オブジェクトAと衝突する直前のタイミング」では上記状態3が実現されていること、がすべて確認できる。そのため、これらのタイミングの各々で、これらの状態がすべて実現されていることを確認できる場合、操作対象オブジェクト10によってスクリーン動作が行われた可能性が高い。そこで、実施形態3では、動作判定部48は、これらの状態がすべて実現されていることを確認できる場合に、操作対象オブジェクト10(正確には、注目敵オブジェクトと衝突した操作対象オブジェクトX)によってスクリーン動作が行われたと判定するようにしている。
【0112】
ここで、この実施形態3においてマイクロプロセッサが、操作対象オブジェクト10によってスクリーン動作が行われたか否かを判定するために実行する処理について図11を参照しながら説明する。なお、この処理は、実施形態1と同様に、図10に示すS104のステップにおいて行われる。
【0113】
実施形態3では、マイクロプロセッサは、シュート動作(すなわち、基準動作)を行った操作対象オブジェクト10(すなわち、基準選手オブジェクト)の、シュート動作をおこなったシュートタイミング(すなわち、基準タイミング)における位置Pを中心とする半径Rの同心円を判定領域21として設定する(図15〜17参照)。また、マイクロプロセッサは、位置Pを中心とする半径R2(R2>R)の同心円の領域のうち判定領域21の外側の領域を第2判定領域23として設定する(図16参照)。こうした上で、マイクロプロセッサ(第1判定手段)は、シュートタイミングにおいていずれかの敵オブジェクト16が判定領域21内に位置していたか否かを再現データを参照して判定する(S201)。シュートタイミングにおいていずれかの敵オブジェクト16が判定領域21内に位置していた場合(S201のY)、マイクロプロセッサは、操作対象オブジェクト10によってスクリーン動作が行われなかったと判定する(S205)。
【0114】
一方、マイクロプロセッサ(第2判定手段)は、シュートタイミングにおいていずれの敵オブジェクト16も判定領域21内に位置していなかった場合(S201のN)、以下のS202及びS203のステップにおいて、判定領域、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していた敵オブジェクト10が、シュートタイミングよりも前のタイミングで、シュート動作を行った操作対象オブジェクト10以外のいずれかの操作対象オブジェクト10(以下、操作対象オブジェクトX)と第2判定領域23で衝突したか否かを判定するための処理を再現データを参照して行う。
【0115】
すなわち、マイクロプロセッサは、シュートタイミングよりも前のタイミングにおいて、敵オブジェクト16と、操作対象オブジェクトXと、の衝突が、第2判定領域23において発生していたか否かを、再現データを参照して判定する(S202)。シュートタイミングよりも前のタイミングにおいて、敵オブジェクト16と、操作対象オブジェクトXと、の衝突が、第2判定領域23において発生していない場合(S202のN)、マイクロプロセッサは、操作対象オブジェクト10によってスクリーン動作が行われなかったと判定する(S205)。
【0116】
一方、マイクロプロセッサは、シュートタイミングよりも前のタイミングにおいて、敵オブジェクト16と、操作対象オブジェクトXと、の衝突が、第2判定領域23において発生していた場合(S202のY)、操作対象オブジェクトXと衝突した敵オブジェクト16(以下、注目敵オブジェクト)が、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、判定領域21、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していたか否かを、再現データを参照して判定する(S203)。
【0117】
図18は、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していたか否かを判定する処理の一例について説明するための図である。図18は、図16に示す場合における、操作対象オブジェクトBの位置bと、敵オブジェクトの位置dと、位置Pと、の位置関係の一例を示す。図18において、位置dは、「敵オブジェクトDが操作対象オブジェクトAと衝突する直前のタイミング」における敵オブジェクトDの位置を示し、位置bは、該タイミングにおける操作対象オブジェクトBの位置を示す。また、ベクトルxは、該タイミングにおける敵オブジェクトDの移動方向を示し、ベクトルyは、位置dから位置Pを結ぶベクトルを示し、ベクトルzは、位置dから位置bを結ぶベクトルを示す。また、θ1は、ベクトルxとベクトルyとがなす角度を示し、θ2は、ベクトルxとベクトルzとがなす角度を示す。
【0118】
マイクロプロセッサは、S203のステップにおいて、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21に向かって移動していたか否かを判定する場合、該タイミングにおける注目敵オブジェクトの移動方向と、該タイミングにおける注目敵オブジェクトの位置から位置Pを結ぶ方向と、がなす角度θ1が所定角度範囲(例えば、0度〜20度)内にあるか否かを判定する。例えば、図18に示す場合、マイクロプロセッサは、ベクトルxとベクトルyとがなす角度θ1が所定角度範囲内にあるか否かを判定する。角度θ1が上記所定角度範囲内にある場合、これは、「注目敵オブジェクトが操作対象オブジェクト10と衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21に向かって移動していたことを意味する。
【0119】
一方、マイクロプロセッサは、S203のステップにおいて、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、シュート動作を行った操作対象オブジェクト10に向かって移動していたか否かを判定する場合、該タイミングにおける注目敵オブジェクトの移動方向と、注目敵オブジェクトの該タイミングにおける位置からシュート動作を行った操作対象オブジェクト10の該タイミングにおける位置を結ぶ方向と、がなす角度θ2が上記所定角度範囲内にあるか否かを判定する。例えば、図18に示す場合、マイクロプロセッサは、ベクトルxとベクトルzとがなす角度θ2が上記所定角度範囲内にあるか否かを判定する。角度θ2が上記所定角度範囲内にある場合、これは、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、シュート動作を行った操作対象オブジェクト10に向かって移動していたことを意味する。こうして、マイクロプロセッサは、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していたか否かを判定する。
【0120】
そして、マイクロプロセッサは、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21へも、シュート動作を行った操作対象オブジェクト10へも移動していなかった場合(S203のN)、操作対象オブジェクト10によってスクリーン動作が行われなかったと判定する(S205)。
【0121】
一方、マイクロプロセッサは、「注目敵オブジェクトが操作対象オブジェクトXと衝突する直前のタイミング」で、注目敵オブジェクトが、判定領域21、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していた場合(S203のY)、操作対象オブジェクト10(正確には、注目敵オブジェクトと衝突した操作対象オブジェクトX)によってスクリーン動作が行われたと判定する(S204)。
【0122】
以上のようにゲーム装置4によれば、ゲームキャラクタによってスクリーン動作が行われたか否かを判定することができる。そのため、実施形態3においても、ゲームキャラクタによって行われた動作の種別をより詳細に判別することができるようになる。
【0123】
なお、以上では、敵オブジェクト16が、操作対象オブジェクトXに衝突したか否かを判定した上で(S202)、操作対象オブジェクトXと衝突した敵オブジェクト16が、判定領域21又はシュート動作を行った操作対象オブジェクト10に向かって移動していたか否かを判定するようにしている(S203)。しかしながら、敵オブジェクト16が、シュートタイミングよりも前のタイミングにおいて、判定領域21、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していたか否かを、S202のステップで判定するようにした上で、判定領域21、又は、シュート動作を行った操作対象オブジェクト10に向かって移動していた敵オブジェクト10(以下、注目敵オブジェクト)が、シュートタイミングよりも前のタイミングにおいて、シュート動作を行った操作対象オブジェクト10以外のいずれかの操作対象オブジェクト10と第2判定領域23で衝突したか否かを、S203のステップで判定するようにしてもよい。こうした上で、マイクロプロセッサは、注目敵オブジェクトが、シュートタイミングよりも前のタイミングにおいて、シュート動作を行った操作対象オブジェクト10以外の操作対象オブジェクトXと第2判定領域で衝突していた場合に、S204のステップにおいて、操作対象オブジェクトXによってスクリーン動作が行われたと判定するようにしてもよい。
【0124】
なお、本発明は、以上に説明した実施形態に限定されるものではない。
【0125】
例えば、マイクロプロセッサは、実施形態1乃至実施形態3において、特定動作が行われたことをユーザに指し示すために、特定動作を行った操作対象オブジェクト10の移動経路を案内する矢印画像を再現映像に出力するようにしてもよい。例えば、マイクロプロセッサ(出力手段)は、S106のステップで再現映像を出力する際に、図4に示すように、特定動作を行った操作対象オブジェクト10及び注目敵オブジェクトの再現対象期間の開始タイミングからの移動経路を案内する矢印画像24を再現映像内に表示するようにしてもよい。なお、図4では、マイクロプロセッサは、評価値20とともに矢印画像24を出力するようにしているが、評価値20を出力する代わりに矢印画像24を出力するようにしてもよい。
【0126】
また、例えば、マイクロプロセッサ(設定手段)は、実施形態1乃至実施形態3において、操作対象オブジェクト10によって特定動作が行われた場合、図11に示すS106のステップにおいて、再現映像を出力する際の仮想カメラ18を、特定動作を行った操作対象オブジェクト10に基づいて設定するようにしてもよい。以下、「仮想カメラ18を特定動作を行った操作対象オブジェクト10の位置に基づいて設定する」態様について説明する。
【0127】
この態様では、例えば、マイクロプロセッサは、再現映像を出力する際の仮想カメラ18の「視線方向」を、特定動作を行った操作対象オブジェクト10の位置に基づいて設定する。例えば、マイクロプロセッサは、注目敵オブジェクトが移動を開始するタイミングで、仮想カメラ18の視線方向を、ボールオブジェクト12を望む方向から、特定動作を行った操作対象オブジェクト10を望む方向に切り替えるようにしてもよい。なお、仮想カメラ18の視線方向を、特定動作を行った操作対象オブジェクト10を望む方向ではなく、注目敵オブジェクトを望む方向に切り替えるようにしてもよい。また、例えば、マイクロプロセッサは、特定動作を行った操作対象オブジェクト10が移動を開始するタイミングで、仮想カメラ18の視線方向を、ボールオブジェクト12を望む方向から、特定動作を行った操作対象オブジェクト10を望む方向に切り替えるようにしてもよい。この場合も、仮想カメラ18の視線方向を、特定動作を行った操作対象オブジェクト10を望む方向ではなく、注目敵オブジェクトを望む方向に切り替えるようにしてもよい。この態様によれば、例えば特定動作が行われている様子を再現映像において際だたせることができる。なお、この態様は、評価値20や矢印画像24の出力に代えて行われてもよい。
【0128】
また、例えば、再現対象期間中にボールオブジェクト12の移動に関わったユーザオブジェクトが少ない場合、再現映像は多くのユーザにとってつまらないものになり易い。そこで、マイクロプロセッサは、以下の処理を実行するようにしてもよい。すなわち、マイクロプロセッサ(キャラクタ数取得手段)は、各ユーザのユーザオブジェクトのうち、再現対象期間中にボール関連動作を行ったユーザオブジェクトの数を取得する。例えば、マイクロプロセッサは、再現データを参照して、ボール関連動作を行ったユーザオブジェクトの数を計数する。こうした上で、マイクロプロセッサ(条件判断手段)は、ボール関連動作を行ったユーザオブジェクトの数が所定数以上であるか否かを判定し、ボール関連動作を行ったユーザオブジェクトの数が所定数(例えば、3)以上であると判定した場合にのみ、S106のステップを実行して再現映像を出力するようにしてもよい。こうすれば、所定数以上のユーザがボールオブジェクト12の移動に関わった場合にのみ、再現映像を出力することができる。その結果、多くのユーザを楽しませることができるようになる。
【0129】
また、以上では、マイクロプロセッサは、操作対象オブジェクト10によってシュート動作が行われたことを契機として、再現データを取得するようにしていた。しかしながら、マイクロプロセッサは、操作対象オブジェクト10によってシュート動作が行われたか否かとは無関係に、再現データを取得するようにしてもよい。例えば、操作対象オブジェクト10によってシュート動作が行われたか否かに関わらず、試合中断イベントが発生するごとに再現データを取得するようにしてもよい。この場合、マイクロプロセッサ(判断手段)は、基準動作たるシュート動作が再現対象期間中に行われたか否かを再現データを参照して判断した上で、再現対象期間中に操作対象オブジェクト10によってシュート動作が行われた場合に、図11に示す処理を実行するようにすればよい。
【0130】
また、基準動作は、シュート動作だけに限らない。例えば、「パスを受ける動作」が基準動作であってもよい。この場合、「パスを受ける動作」を行った操作対象オブジェクト10が基準選手オブジェクトに相当し、基準選手オブジェクトが「パスを受ける動作」を行ったタイミングが基準タイミングとなる。
【0131】
また、例えば、再現映像を試合終了後に試合のハイライト映像として出力するようにしてもよい。この場合、再現データを主記憶に複数記憶するようにしておき、ハイライト映像に用いる再現データを、評価点が高いものから所定数選択するようにしてもよい。
【0132】
また、サッカーゲームは複数のユーザが同時に参加するゲームに限らず、一人用のゲームであってもよい。
【0133】
また、ここでは、ゲームシステム100においてサッカーゲームが実現される場合について述べたが、ゲームシステム100において実現されるゲームはサッカーゲーム以外のスポーツゲームであってもよい。例えば、バスケットボールゲーム、アイスホッケーゲーム、ハンドボールゲーム、及び水球ゲームの場合、シュート動作やパスを受ける動作が基準動作に相当する。また、例えば、ラグビーゲームの場合、トライする動作やパスを受ける動作が基準動作に相当する。また、例えば、アメリカンフットボールゲームの場合、パスを受ける動作が基準動作に相当する。
【0134】
また、例えば、ここまで、各ゲーム装置が、再現データ取得部46、動作判定部48を含んでいる場合について説明したが、これらの機能をゲームシステム100全体が含んでいるのであれば、これらの機能をすべてのゲーム装置が含む必要はない。例えば、サーバ機能を備えているゲーム装置だけがこれらの機能を含むようにしてもよい。
【0135】
また、ゲームシステム100は、複数のゲーム装置4に加えて、サーバ機能を備えたゲームサーバを含んでいてもよい。例えば、ゲームシステム100は、クライアント機能を備えた複数のゲーム装置4と、サーバ機能を備えたゲームサーバと、を含むようにしてもよい。この場合も、再現データ取得部46、動作判定部48を、サーバ機能を備えたゲームサーバだけが含むようにしてもよい。
【0136】
また、図5に示す機能ブロックは、ゲームシステム100のゲーム装置4だけでなく、スタンドアロンのゲーム装置でも実現することが可能である。
【図面の簡単な説明】
【0137】
【図1】本発明の実施形態に係るゲーム装置を含むゲームシステムの構成を示す図である。
【図2】ゲーム空間の一例を示す図である。
【図3】ゲーム状況データの記憶内容の一例を示す図である。
【図4】再現映像の一例を示す図である。
【図5】本発明の実施形態に係るゲーム装置の機能ブロックを示す図である。
【図6】基礎評価データの一例を示す図である。
【図7】特定動作(第1の囮の動作)を説明するための図である。
【図8】特定動作(第1の囮の動作)を説明するための図である。
【図9】特定動作(第1の囮の動作)を説明するための図である。
【図10】本発明の実施形態に係るゲーム装置にて実行される処理のフローチャート図である。
【図11】本発明の実施形態に係るゲーム装置にて実行される処理のフローチャート図である。
【図12】特定動作(第2の囮の動作)を説明するための図である。
【図13】特定動作(第2の囮の動作)を説明するための図である。
【図14】特定動作(第2の囮の動作)を説明するための図である。
【図15】特定動作(スクリーン動作)を説明するための図である。
【図16】特定動作(スクリーン動作)を説明するための図である。
【図17】特定動作(スクリーン動作)を説明するための図である。
【図18】本発明の実施形態に係るゲーム装置にて実行される処理を説明するための図である。
【符号の説明】
【0138】
4 ゲーム装置、10,16 選手オブジェクト、11 ゴールオブジェクト、12 ボールオブジェクト、13 ゴールライン、14 フィールドオブジェクト、15 サイドライン、18 仮想カメラ、20 評価値、21、判定領域、23 第2判定領域、24 矢印画像、40 ゲーム状況データ記憶部、42 ゲーム状況データ更新部、44 ゲーム画面出力部、46 再現データ取得部、48 動作判定部、50 再現映像出力部、100 ゲームシステム、A,B,C 操作対象オブジェクト、D 敵オブジェクト、P,b,d 位置、x,y,z ベクトル。

【特許請求の範囲】
【請求項1】
複数のゲームキャラクタが動作するゲームを実行するゲームシステムであって、
前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得する再現データ取得手段と、
前記再現データ取得手段により取得された再現データに基づく再現映像を出力する出力手段と、
前記再現データ取得手段により取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かを判定する判定手段と、を含み、
前記出力手段は、前記判定手段による判定結果に基づく出力を、前記再現映像の出力に関連して行うこと、
を特徴とするゲームシステム。
【請求項2】
前記ゲームシステムは、
第1グループに属する複数の第1ゲームキャラクタと、前記第1グループに対立する第2グループに属する複数の第2ゲームキャラクタと、が動作するゲームを実行し、
前記第1ゲームキャラクタにより基準動作が行われたか否かを判断する判断手段をさらに含み、
前記判定手段は、
前記第1ゲームキャラクタにより前記基準動作が行われた場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって、前記基準動作を行った第1ゲームキャラクタの、前記基準動作を行った動作タイミングにおける位置に基づく判定領域内に、前記動作タイミングにおいていずれの第2ゲームキャラクタも位置していない状態が実現されたか否かを、前記再現データに基づいて判定し、
前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって、前記動作タイミングにおいて前記状態が実現された場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定すること、
を特徴とする請求項1に記載のゲームシステム。
【請求項3】
前記ゲームシステムは、
いずれかの前記第1ゲームキャラクタに、いずれかの前記第2ゲームキャラクタを関連付ける関連付け手段と、
前記第1ゲームキャラクタに前記第2ゲームキャラクタが関連付けられている場合に、該第2ゲームキャラクタを、該第1ゲームキャラクタの移動に従って移動させる移動制御手段と、をさらに含み、
前記判定手段は、
前記第1ゲームキャラクタにより前記基準動作が行われた場合に、前記判定領域内に、前記動作タイミングにおいていずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第1判定手段と、
前記動作タイミングよりも前のタイミングで前記判定領域内にいずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第2判定手段と、
前記動作タイミングにおいていずれの第2ゲームキャラクタも前記判定領域内に位置していなかったと判定され、且つ、前記動作タイミングよりも前のタイミングで前記判定領域内にいずれかの第2ゲームキャラクタが位置していたと判定される場合、前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したか否かを、前記再現データに基づいて判定する第3判定手段と、を含み、
前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したと判定される場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定すること、
を特徴とする請求項2に記載のゲームシステム。
【請求項4】
前記判定領域は、各タイミングでの範囲が前記基準動作を行った第1ゲームキャラクタの該タイミングにおける位置に基づいて定まる領域であり、
前記ゲームシステムは、
いずれかの前記第1ゲームキャラクタに、いずれかの前記第2ゲームキャラクタを関連付ける関連付け手段と、
前記第1ゲームキャラクタに前記第2ゲームキャラクタが関連付けられている場合に、該第2ゲームキャラクタを、該第1ゲームキャラクタの移動に従って移動させる移動制御手段と、をさらに含み、
前記判定手段は、
前記判定領域内に、前記動作タイミングにおいていずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第1判定手段と、
前記動作タイミングよりも前のタイミングにおいて、前記判定領域内に、いずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第2判定手段と、
前記動作タイミングにおいていずれの第2ゲームキャラクタも前記判定領域内に位置していなかったと判定され、且つ、前記動作タイミングよりも前のタイミングで前記判定領域内にいずれかの第2ゲームキャラクタが位置していたと判定される場合、前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したか否かを、前記再現データに基づいて判定する第3判定手段と、を含み、
前記動作タイミングよりも前のタイミングで前記判定領域内に位置していた第2ゲームキャラクタが、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタの移動に従って、前記動作タイミングまでに前記判定領域外に移動したと判定される場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定すること、
を特徴とする請求項2に記載のゲームシステム。
【請求項5】
前記ゲームシステムは、
前記第2ゲームキャラクタが前記第1ゲームキャラクタと衝突した場合に、該第2ゲームキャラクタの移動を制限する移動制限手段をさらに含み、
前記判定手段は、
前記第1ゲームキャラクタにより前記基準動作が行われた場合に、前記判定領域内に、前記動作タイミングにおいていずれかの第2ゲームキャラクタが位置していたか否かを、前記再現データに基づいて判定する第1判定手段と、
前記判定領域、又は、前記基準動作を行った第1ゲームキャラクタに向かって移動していた第2ゲームキャラクタが、前記動作タイミングよりも前のタイミングで、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタと前記判定領域外で衝突したか否かを、前記再現データに基づいて判定する第2判定手段と、を含み、
前記動作タイミングにおいて前記判定領域内にいずれの第2ゲームキャラクタも位置していない場合において、前記判定領域、又は、前記基準動作を行った第1ゲームキャラクタに向かって移動していた第2ゲームキャラクタが、前記動作タイミングよりも前のタイミングで、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタと前記判定領域外で衝突していた場合に、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われたと判定すること、
を特徴とする請求項2に記載のゲームシステム。
【請求項6】
前記判定手段による判定結果に基づいて、前記再現データにより再現される前記ゲームキャラクタの動作の評価を決定する評価手段をさらに含み、
前記判定結果に基づく出力は、前記評価手段により決定された評価の出力であること、
を特徴とする請求項1乃至5のいずれかに記載のゲームシステム。
【請求項7】
前記出力手段は、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに特定動作が行われたと前記判定手段が判定した場合に、前記特定動作を行った第1ゲームキャラクタの移動経路を案内する画像を含む前記再現映像を出力すること、
を特徴とする請求項2乃至5のいずれかに記載のゲームシステム。
【請求項8】
前記ゲームシステムは、前記複数の第1ゲームキャラクタと、前記複数の第2ゲームキャラクタと、がゲーム空間で動作するゲームを実行し、
前記再現映像は、視点から前記ゲーム空間を見た様子を示す映像であり、
前記出力手段は、前記基準動作を行った第1ゲームキャラクタ以外の第1ゲームキャラクタによって前記動作タイミングまでに前記特定動作が行われていたと前記判定手段が判定した場合に、前記視点を、前記特定動作を行った第1ゲームキャラクタの位置に基づいて設定する設定手段を含むこと、
を特徴とする請求項2乃至5のいずれかに記載のゲームシステム。
【請求項9】
前記ゲームは、移動物体を移動させるスポーツのゲームであり、
前記複数のゲームキャラクタは、複数のユーザの各々に対応する操作対象キャラクタを含み、
前記ゲームシステムは、
前記複数の操作対象キャラクタのうち、前記移動物体に関わる動作を行った操作対象キャラクタの数を前記再現データに基づいて取得するキャラクタ数取得手段と、
前記取得手段により取得された操作対象キャラクタの数が所定条件を満足するか否かを判定する条件判定手段と、をさらに含み、
前記取得手段により取得された操作対象キャラクタの数が前記所定条件を満足する場合に、前記再現映像を出力すること、
を特徴とする請求項1乃至8のいずれかに記載のゲームシステム。
【請求項10】
複数のゲームキャラクタが動作するゲームを実行するゲーム装置の制御方法であって、
前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得する再現データ取得ステップと、
前記再現データ取得ステップにより取得された再現データに基づく再現映像を出力する出力ステップと、
前記再現データ取得ステップにより取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かを判定する判定ステップと、を含み、
前記出力ステップは、前記判定ステップによる判定結果に基づく出力を、前記再現映像の出力に関連して行うステップを含むこと、
を特徴とするゲーム装置の制御方法。
【請求項11】
複数のゲームキャラクタが動作するゲームを実行するゲーム装置としてコンピュータを機能させるプログラムであって、
前記複数のゲームキャラクタにより行われた動作を再現する再現データを取得する再現データ取得手段、
前記再現データ取得手段により取得された再現データに基づく再現映像を出力する出力手段、
前記再現データ取得手段により取得された再現データに基づいて、前記ゲームキャラクタによって特定動作が行われたか否かを判定する判定手段、
としてコンピュータを機能させ、
前記出力手段は、前記判定手段による判定結果に基づく出力を、前記再現映像の出力に関連して行うこと、
を特徴とするプログラム。

【図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


【公開番号】特開2010−17362(P2010−17362A)
【公開日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2008−180802(P2008−180802)
【出願日】平成20年7月10日(2008.7.10)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】