ゲーム装置、ゲーム装置の制御方法、及びプログラム
【課題】仮想空間に配置されたキャラクタオブジェクトに複数の動作を連続して行わせることをデータの増大を抑えつつ実現することが可能なゲーム装置を提供すること。
【解決手段】第1操作が行われた場合、第1オブジェクト制御部(64)は、プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに第1動作を行わせる。プレイヤキャラクタオブジェクトが第1動作を行っている間に第2操作が行われた場合、第2オブジェクト制御部(66)は、第1動作を行うプレイヤキャラクタオブジェクトとは別に、プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを仮想空間に配置し、該プレイヤキャラクタオブジェクトに第2動作を行わせる。第1動作を行うプレイヤキャラクタオブジェクトと第2動作を行うプレイヤキャラクタオブジェクトとの両方が配置された仮想空間を仮想カメラから見た様子を表す画面が表示手段に表示される。
【解決手段】第1操作が行われた場合、第1オブジェクト制御部(64)は、プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに第1動作を行わせる。プレイヤキャラクタオブジェクトが第1動作を行っている間に第2操作が行われた場合、第2オブジェクト制御部(66)は、第1動作を行うプレイヤキャラクタオブジェクトとは別に、プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを仮想空間に配置し、該プレイヤキャラクタオブジェクトに第2動作を行わせる。第1動作を行うプレイヤキャラクタオブジェクトと第2動作を行うプレイヤキャラクタオブジェクトとの両方が配置された仮想空間を仮想カメラから見た様子を表す画面が表示手段に表示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置が知られている。このようなゲーム装置では、例えば、プレイヤキャラクタオブジェクトが動作を行う場合の姿勢変化を定義したアニメーションデータを再生する(すなわち、アニメーションデータに従ってプレイヤキャラクタオブジェクトの姿勢を変化させる)ことによって、プレイヤキャラクタオブジェクトを仮想空間内で動作させる。そして、その結果として、プレイヤキャラクタが動作を行う様子がゲーム画面に表示される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−024633号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲーム装置では、プレイヤキャラクタオブジェクトに第1動作と第2動作とを連続して行わせる場合、第1動作に対応する第1アニメーションデータを再生した後、第2動作に対応する第2アニメーションデータを再生することになる。しかしながら、第1動作を完了した時(すなわち、第1アニメーションデータの再生を完了した時)のプレイヤキャラクタオブジェクトの姿勢と、第2動作を開始する時(すなわち、第2アニメーションデータの再生を開始する時)のプレイヤキャラクタオブジェクトの姿勢とが異なる場合には、プレイヤキャラクタオブジェクトの姿勢を、第1動作を完了した時の姿勢から第2動作を開始する時の姿勢へと自然に変化させるためのアニメーションデータ(以下「中間アニメーションデータ」と呼ぶ。)が必要となる。つまり、この場合、第1アニメーションデータを再生した後、中間アニメーションデータを再生し、その後に、第2アニメーションデータを再生する必要がある。
【0005】
上記のような中間アニメーションデータは、プレイヤキャラクタオブジェクトが連続して行う可能性がある動作の組合せごとに用意する必要がある。そのような動作の組合せが多い場合には多くの中間アニメーションデータが必要になり、その結果として、データ量が増大してしまう。
【0006】
本発明は上記課題に鑑みてなされたものであって、その目的は、例えば、仮想空間に配置されたキャラクタオブジェクトに複数の動作を連続して行わせることをデータの増大を抑えつつ実現することが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置において、前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段と、前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段と、前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置の制御方法において、前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御ステップと、前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御ステップと、前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置としてコンピュータを機能させるためのプログラムであって、前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段、前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段、及び、前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段、として前記コンピュータを機能させるためのプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、例えば、仮想空間に配置されたゲームキャラクタに複数の動作を連続して行わせることをデータの増大を抑えつつ実現することが可能になる。
【0012】
また本発明の一態様では、前記第2オブジェクト制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に配置される前記プレイヤキャラクタオブジェクトの位置を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの、前記第2操作が行われた場合における位置に基づいて設定するようにしてもよい。
【0013】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であってもよい。前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果との両方に基づいて、前記パラメータを更新するようにしてもよい。
【0014】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果とのいずれか一方に基づく前記パラメータの更新を実行し、他方に基づく前記パラメータの更新を実行しないようにしてもよい。
【0015】
また本発明の一態様では、前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて上げ、かつ、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて下げるようにしてもよい。
【0016】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であってもよい。前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含むようにしてもよい。
【0017】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含むようにしてもよい。
【0018】
また本発明の一態様では、前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの色と前記第2動作を行う前記プレイヤキャラクタオブジェクトの色とを互いに異なる色に設定するようにしてもよい。
【0019】
また本発明の一態様では、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了するより前に、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除き、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了するより前に、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、のいずれか一つを含むようにしてもよい。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2A】コントローラの一例を示す図である。
【図2B】コントローラの一例を示す図である。
【図3】仮想空間の一例を示す図である。
【図4】攻撃指示操作と攻撃動作との対応関係の一例を示す図である。
【図5】仮想空間の一例を示す図である。
【図6】仮想空間の一例を示す図である。
【図7】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図8】プレイヤキャラクタオブジェクトを管理するためのデータの一例を示す図である。
【図9】ゲーム装置が実行する処理の一例を示すフロー図である。
【図10】ゲーム装置が実行する処理の一例を示すフロー図である。
【図11】ゲーム装置が実行する処理の一例を示すフロー図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)、又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0022】
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部32、音声出力部34、及び光ディスク36(情報記憶媒体)を含む。表示部32及び音声出力部34は家庭用ゲーム機11に接続される。例えば家庭用テレビ受像機又は液晶ディスプレイ等が表示部32として用いられ、例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホン等が音声出力部34として用いられる。
【0023】
家庭用ゲーム機11は公知のコンピュータシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30を含む。
【0024】
制御部14は一又は複数のマイクロプロセッサを含む。制御部14は光ディスク36から読み出されるプログラムに基づいて情報処理を実行する。主記憶16は例えばRAMを含み、光ディスク36から読み出されたプログラム及びデータが主記憶16に書き込まれる。主記憶16は制御部14の作業用メモリとしても用いられる。バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0025】
画像処理部18はVRAMを含み、制御部14から供給される画像データに基づいてVRAM上に画面を描画する。VRAM上に描画された画面はビデオ信号に変換されて表示部32に出力される。
【0026】
入出力処理部20は、制御部14が音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30にアクセスするためのインタフェースである。音声処理部22はサウンドバッファを含み、光ディスク36からサウンドバッファに読み出された音声データを音声出力部34から出力する。通信インタフェース28は、インターネットなどの通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0027】
光ディスクドライブ24は、光ディスク36に記録されたプログラムやデータを読み取る。ここでは、プログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いるが、他の情報記憶媒体(例えばメモリカード)を用いるようにしてもよい。また、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。光ディスク36に記憶されることとして説明するプログラムやデータはハードディスク26に記憶されていてもよい。
【0028】
コントローラ30はプレイヤが操作を行うための操作部である。家庭用ゲーム機11には複数のコントローラ30を有線又は無線接続することが可能になっている。図2A及び図2Bはコントローラ30の一例を示す図である。図2A及び図2Bに示すように、コントローラ30の表面40には複数の操作部材が備えられている。例えば、方向ボタン群41と、ボタン42,43,44,45と、スティック(レバー)46L,46Rとが備えられている。
【0029】
方向ボタン群41は例えば方向を指示するために用いられる。方向ボタン群41は、上方向に対応する上ボタン41Uと、下方向に対応する下ボタン41Dと、左方向に対応する左ボタン41Lと、右方向に対応する右ボタン41Rと、を含む。ボタン42,43,44,45は各種ゲーム操作に用いられる。ボタン42,43,44,45の表面には、それぞれ、ばつ、円、四角形、三角形のマークが付されている。スティック46L,46Rも例えば方向を指示するために用いられる。スティック46L,46Rは、コントローラ30の筐体の表面40に直立しており、この直立状態から全方位に傾倒自在に構成されている。
【0030】
入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介して制御部14に供給する。制御部14は操作信号に基づいてプレイヤの操作を判定する。
【0031】
ゲーム装置10では各種ゲームが実行される。例えば、プレイヤの操作に従って動作するプレイヤキャラクタが他のキャラクタと戦うゲームが実行される。なお以下では、プレイヤキャラクタが敵キャラクタを退治するアクションゲームがゲーム装置10で実行される場合について説明する。
【0032】
ゲーム装置10の主記憶16には仮想空間(ゲーム空間)が構築される。図3は仮想空間の一例を示す。図3に示す仮想空間50は、互いに直交する三つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間になっている。仮想空間50に配置されるオブジェクトの位置等はこれら三つの座標軸の座標値によって特定される。
【0033】
図3に示す仮想空間50には、地面を表す地面オブジェクト52が配置されている。また、地面オブジェクト52上には、プレイヤキャラクタを表すプレイヤキャラクタオブジェクト54と、敵キャラクタを表す敵キャラクタオブジェクト56(他キャラクタオブジェクト)とが配置されている。
【0034】
また、仮想空間50には仮想カメラ58が設定される。この仮想カメラ58から仮想空間50を表す画像がゲーム画面に表示される。なお例えば、プレイヤキャラクタオブジェクト54が常にゲーム画面に表示されるように、仮想カメラ58の位置や視線方向はプレイヤキャラクタオブジェクト54の位置に基づいて更新される。
【0035】
敵キャラクタオブジェクト56はAI(人工知能)に従って行動する。一方、プレイヤキャラクタオブジェクト54はプレイヤの操作に従って行動する。例えば、プレイヤの移動指示操作に従って、プレイヤキャラクタオブジェクト54は仮想空間50内を移動する。また例えば、プレイヤの攻撃指示操作に従って、プレイヤキャラクタオブジェクト54は攻撃動作を行う。
【0036】
図4は、プレイヤが行う攻撃指示操作と、プレイヤキャラクタオブジェクト54が行う攻撃動作との対応関係の一例を示す図である。図4において、ばつ、円、四角形、三角形マークは、それぞれ、ボタン42,43,44,45を示している。なお、攻撃指示操作と攻撃動作との対応関係はプレイヤが任意に設定できるようにしてもよい。
【0037】
図4に示す対応関係ではボタン42と攻撃動作Aとが関連づけられている。このため、プレイヤがボタン42を押下した場合、プレイヤキャラクタオブジェクト54は攻撃動作Aを行う。具体的には、ボタン42が押下された場合、攻撃動作Aに対応するアニメーションデータ(モーションデータ)を光ディスク36から読み出し、そのアニメーションデータを再生することによって、プレイヤキャラクタオブジェクト54が攻撃動作Aを行う。
【0038】
なお、アニメーションデータは、プレイヤキャラクタオブジェクト54が動作を行う場合のプレイヤキャラクタオブジェクト54の状態(例えば姿勢や位置)の変化を定義したデータである。プレイヤキャラクタオブジェクト54が行い得る各動作のアニメーションデータが光ディスク36に記憶される。図4に示す例の場合であれば、攻撃動作A,B,C,Dの各々に対応する4つのアニメーションデータが光ディスク36に記憶される。なお、ここでは、アニメーションデータに従ってプレイヤキャラクタオブジェクト54の状態を変化させることによってプレイヤキャラクタオブジェクト54に動作を行わせることを「アニメーションデータを再生する」と記載する。
【0039】
図5は、プレイヤがボタン42を押下した場合の仮想空間50の一例を示している。すなわち、図5は、プレイヤキャラクタオブジェクト54が攻撃動作Aを行っている様子を示している。なお、図5に示す例では攻撃動作Aがパンチ動作を含む動作になっている。
【0040】
プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たると、敵キャラクタのヒットポイントが減少する。「ヒットポイント」は、敵キャラクタの体力がどの程度残っているのかを示すパラメータである。例えば、ヒットポイントは0〜100の値をとり、ヒットポイントの初期値は100に設定される。敵キャラクタのヒットポイントが所定値(零)になると、敵キャラクタは退治されたことになり、敵キャラクタオブジェクト56が仮想空間50から取り除かれる。
【0041】
一方、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たると、プレイヤキャラクタのヒットポイントが減少する。プレイヤキャラクタのヒットポイントが所定値(零)になると、例えばゲームオーバーとなる。
【0042】
以下、上記のゲーム装置10において、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示することをデータの増大を抑えつつ実現するための技術について説明する。
【0043】
ゲーム装置10では、例えば、プレイヤキャラクタオブジェクト54が攻撃動作Aを行っている間にプレイヤがボタン43を押下した場合に、攻撃動作Aを行うプレイヤキャラクタオブジェクト54とは別のプレイヤキャラクタオブジェクト54が仮想空間50に配置され、そのプレイヤキャラクタオブジェクト54が、ボタン43に対応する攻撃動作Bを行うようになっている。
【0044】
図6は、その場合の仮想空間50の一例を示している。図6に示す仮想空間50には二体のプレイヤキャラクタオブジェクト54A,54Bが配置されている。プレイヤキャラクタオブジェクト54Aは図5におけるプレイヤキャラクタオブジェクト54に対応しており、プレイヤキャラクタオブジェクト54Aは攻撃動作Aを行っている。一方、プレイヤキャラクタオブジェクト54Bは新たに配置されたプレイヤキャラクタオブジェクト54であり、プレイヤキャラクタオブジェクト54Bは攻撃動作Bを行っている。図6に示す例では攻撃動作Bがキック動作を含む動作になっている。
【0045】
この場合、プレイヤキャラクタオブジェクト54Bの位置は、ボタン43が押下された時点におけるプレイヤキャラクタオブジェクト54Aの位置に基づいて設定される。具体的には、プレイヤキャラクタオブジェクト54Bは、ボタン43が押下された時点におけるプレイヤキャラクタオブジェクト54Aの位置に配置される。なお図6では、説明の簡便化のため、プレイヤキャラクタオブジェクト54Bの位置をプレイヤキャラクタオブジェクト54Aの位置から少しずらしている。
【0046】
また、この場合、プレイヤキャラクタオブジェクト54Aの攻撃が敵キャラクタオブジェクト56に当たった場合と、プレイヤキャラクタオブジェクト54Bの攻撃が敵キャラクタオブジェクト56に当たった場合とのいずれの場合においても、敵キャラクタのヒットポイントが減少するようになっている。
【0047】
また、この場合、後に配置されたプレイヤキャラクタオブジェクト54Bに敵キャラクタオブジェクト56の攻撃が当たった場合に限って、プレイヤキャラクタのヒットポイントが減少するようになっている。すなわち、プレイヤキャラクタオブジェクト54Aに敵キャラクタオブジェクト56の攻撃が当たったとしても、プレイヤキャラクタのヒットポイントが減少しないようになっている。
【0048】
さらに、この場合、プレイヤキャラクタオブジェクト54Aは時間経過に応じて不透明の状態から透明の状態へと徐々に変化していく。プレイヤキャラクタオブジェクト54Aが攻撃動作Aを完了した時点でプレイヤキャラクタオブジェクト54Aは完全に透明となり、プレイヤキャラクタオブジェクト54Aは仮想空間50から取り除かれる。一方、プレイヤキャラクタオブジェクト54Bは時間経過に応じて透明の状態から不透明の状態への徐々に変化していく。プレイヤキャラクタオブジェクト54Bが攻撃動作Bを完了した時点でプレイヤキャラクタオブジェクト54Bは完全に不透明になる。以降、プレイヤキャラクタオブジェクト54Bがプレイヤの操作対象となる。
【0049】
なお例えば、図6に示す状態でプレイヤがさらにボタン43を押下した場合には、プレイヤキャラクタオブジェクト54A,54Bとは別のプレイヤキャラクタオブジェクト54が新たに配置され、このプレイヤキャラクタオブジェクト54がボタン43に対応する攻撃動作Bを開始する。
【0050】
要するに、n(n:1以上の整数)体のプレイヤキャラクタオブジェクト54がそれぞれ攻撃動作を行っている間にプレイヤが攻撃指示操作を行った場合、それらのn体のプレイヤキャラクタオブジェクト54とは別のプレイヤキャラクタオブジェクト54が新たに配置され、そのプレイヤキャラクタオブジェクト54が攻撃指示操作に対応する攻撃動作を開始する。
【0051】
図6に示す状態の場合、攻撃動作Aを行うプレイヤキャラクタと攻撃動作Bを行うプレイヤキャラクタとの両方が互いに重なるようにしてゲーム画面に表示されることになる。この場合、攻撃動作Aを行うためにかかる時間は比較的短いため、プレイヤの目には、プレイヤキャラクタが攻撃動作Aと攻撃動作Bとを連続して行ったように見える。このため、ゲーム装置10によれば、中間アニメーションデータを用意しなくても、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表すことが可能になる。
【0052】
以下、上記のような機能を実現するための構成について説明する。図7は、ゲーム装置10で実現される機能を示す機能ブロック図である。図7に示すように、ゲーム装置10は記憶部60及びゲーム制御部62を含む。例えば、記憶部60は主記憶16、光ディスク36、及びハードディスク26のうちの少なくとも一つによって実現され、ゲーム制御部62は制御部14がプログラムを実行することによって実現される。
【0053】
まず、記憶部60について説明する。記憶部60はゲームを実行するために必要なデータを記憶する。例えば、仮想空間50に配置される各オブジェクトのモデルデータが記憶部60に記憶される。また例えば、プレイヤキャラクタオブジェクト54や敵キャラクタオブジェクト56のアニメーションデータが記憶部60に記憶される。
【0054】
また、ゲームの現在の状況を示すゲーム状況データが記憶部60に記憶される。例えば、下記に示すような情報がゲーム状況データに保持される。
・プレイヤキャラクタオブジェクト54の状態情報(例えば位置等)
・敵キャラクタオブジェクト56の状態情報(例えば位置等)
・プレイヤキャラクタのヒットポイント
・敵キャラクタのヒットポイント
【0055】
上述したように、本実施形態では複数のプレイヤキャラクタオブジェクト54の仮想空間50に配置される場合がある(図6参照)。本実施形態の場合、仮想空間50に配置される一又は複数のプレイヤキャラクタオブジェクト54の状態情報が例えば図8に示すようなデータによって管理される。なお、図8に示すデータの内容は図6に示す状態に対応している。
【0056】
図8に示すデータは「順位」、「位置」、「向き」、「アニメーションデータ」、及び「再生位置」フィールドを含んでいる。「順位」フィールドはプレイヤキャラクタオブジェクト54が仮想空間50に配置された順序を示す。例えば、「順位」フィールドの値が「1」であるプレイヤキャラクタオブジェクト54は、図6におけるプレイヤキャラクタオブジェクト54Aに対応し、「順位」フィールドの値が「2」であるプレイヤキャラクタオブジェクト54は、図6におけるプレイヤキャラクタオブジェクト54Bに対応する。
【0057】
「位置」フィールドはプレイヤキャラクタオブジェクト54の現在の位置を示す。「向き」フィールドはプレイヤキャラクタオブジェクト54が現在向いている方向を示す。「アニメーションデータ」フィールドは、プレイヤキャラクタオブジェクト54を対象として現在再生されているアニメーションデータの種類を示す。例えば、攻撃動作Aのアニメーションデータに基づいてプレイヤキャラクタオブジェクト54が攻撃動作Aを行っている場合には、攻撃動作Aを示す情報が「アニメーションデータ」フィールドに登録される。「再生位置」フィールドは、アニメーションデータの何フレーム目を現在再生しているかを示す。
【0058】
ゲーム制御部62について説明する。ゲーム制御部62はゲーム制御を行う。ゲーム制御部62は第1オブジェクト制御部64、第2オブジェクト制御部66、判定部68、及び更新部70、及び表示制御部72を含む。
【0059】
第1オブジェクト制御部64について説明する。1体のプレイヤキャラクタオブジェクト54のみが仮想空間50に配置されており、かつ、複数種類の操作に対応する複数の動作のいずれも該1体のプレイヤキャラクタオブジェクト54が行っていない状態においてプレイヤが上記の複数種類の操作のうちのいずれかの操作(第1操作)を行った場合、第1オブジェクト制御部64は、第1操作に対応する動作(第1動作)を該1体のプレイヤキャラクタオブジェクト54に行わせる。
【0060】
本実施形態の場合、図4に示す攻撃指示操作が上記の「複数種類の操作」に相当し、図4に示す攻撃動作が上記の「複数の動作」に相当する。つまり、本実施形態では、1体のプレイヤキャラクタオブジェクト54のみが仮想空間50に配置されており、かつ、該1体のプレイヤキャラクタオブジェクト54がいずれの攻撃動作も行っていない状態においてプレイヤがいずれかの攻撃指示操作(第1攻撃指示操作)を行った場合、第1オブジェクト制御部64は、第1攻撃指示操作に対応する攻撃動作(第1攻撃動作)を該1体のプレイヤキャラクタオブジェクト54に行わせる。
【0061】
第2オブジェクト制御部66について説明する。プレイヤキャラクタオブジェクト54が第1動作を行っている間にプレイヤが上記の複数種類の操作のうちのいずれかの操作(第2操作)を行った場合に、第2オブジェクト制御部66は、第1動作を行うプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に、第2操作に対応する動作(第2動作)を行わせる。
【0062】
要するに、n(n:1以上の整数)体のプレイヤキャラクタオブジェクト54が、それぞれ、複数の動作のうちのいずれかを行っている間にプレイヤが複数種類の操作のうちのいずれかの操作を行った場合に、第2オブジェクト制御部66は、それらn体のプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54(すなわち、(n+1)体目のプレイヤキャラクタオブジェクト54)を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に、プレイヤによって行われた操作に対応する動作を行わせる。
【0063】
上述したように、本実施形態の場合、図4に示す攻撃指示操作が「複数種類の操作」に相当し、図4に示す攻撃動作が「複数の動作」に相当する。つまり、本実施形態では、第1攻撃指示操作に対応する第1攻撃動作をプレイヤキャラクタオブジェクト54が行っている間にプレイヤがいずれかの攻撃指示操作(第2攻撃指示操作)を行った場合に、第2オブジェクト制御部66は、第1攻撃動作を行うプレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54A)とは別に、プレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54B)を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に、第2攻撃指示操作に対応する攻撃動作(第2攻撃動作)を行わせる。
【0064】
判定部68及び更新部70について説明する。
【0065】
判定部68は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、判定部68は、複数のプレイヤキャラクタオブジェクト54の各々について、そのプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。
【0066】
プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったと判定された場合、更新部70は敵キャラクタのパラメータを更新する。本実施形態の場合、ヒットポイントが「パラメータ」に相当する。
【0067】
例えば図6に示す状態の場合、判定部68は、プレイヤキャラクタオブジェクト54Aの攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。プレイヤキャラクタオブジェクト54Aの攻撃が敵キャラクタオブジェクト56に当たったと判定された場合、更新部70は敵キャラクタのヒットポイントを減少させる。また、判定部68は、プレイヤキャラクタオブジェクト54Bの攻撃が敵キャラクタオブジェクト56に当たったか否かも判定する。そして、プレイヤキャラクタオブジェクト54Bの攻撃が敵キャラクタオブジェクト56に当たったと判定された場合にも、更新部70は敵キャラクタのヒットポイントを減少させる。
【0068】
また、判定部68は、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったか否かを判定する。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、判定部68は、それら複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54のみを判定の対象となる。つまり、判定部68は、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たったか否かを判定する。
【0069】
敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったと判定された場合、更新部70はプレイヤキャラクタのパラメータを更新する。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、それら複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合のみ、更新部70はプレイヤキャラクタのパラメータを更新する。最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たったとしても、更新部70はプレイヤキャラクタのパラメータを更新しない。上述したように、本実施形態の場合、ヒットポイントが「パラメータ」に相当する。
【0070】
例えば図6に示す状態の場合、判定部68は、プレイヤキャラクタオブジェクト54A,54Bのうちの、後で配置されたプレイヤキャラクタオブジェクト54Bに敵キャラクタオブジェクト56の攻撃が当たったか否かを判定する。敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54Bに当たったと判定された場合、更新部70はプレイヤキャラクタのヒットポイントを減少させる。なお、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54Aに当たったとしても、更新部70はプレイヤキャラクタのヒットポイントを減少させない。
【0071】
表示制御部72について説明する。表示制御部72は、仮想空間50を仮想カメラ58から見た様子を表す画面をゲーム画面として表示部32に表示させる。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、表示制御部72は、それら複数のプレイヤキャラクタオブジェクト54が配置された仮想空間50を仮想カメラ58から見た様子を表す画面をゲーム画面として表示部32に表示させる。
【0072】
次に、ゲーム装置10で実行される処理について説明する。図9、図10、及び図11は、ゲーム装置10で所定時間(例えば1/60秒)ごとに実行される処理を示すフロー図である。制御部14が光ディスク36から読み出されたプログラムに従って図9〜図11に示す処理を実行することによって、制御部14はゲーム制御部62として機能するようになる。
【0073】
図9に示すように、制御部14はプレイヤキャラクタオブジェクト54の状態を更新する(S101)。例えば、移動指示操作が行われたか否かが判定され、移動指示操作が行われたと判定された場合にはプレイヤキャラクタオブジェクト54の位置が更新される。また例えば、プレイヤキャラクタオブジェクト54を対象として再生されているアニメーションデータの現在の再生位置が更新される。
【0074】
ステップS101が実行された後、制御部14は攻撃指示操作が行われたか否かを判定する(S102)。すなわち、制御部14は、図4に示す攻撃指示操作のいずれかが行われたか否かを、コントローラ30から供給される操作信号に基づいて判定する。攻撃指示操作が行われていないと判定された場合、制御部14は後述のステップS107の処理を実行する。
【0075】
攻撃指示操作が行われたと判定された場合、制御部14は、仮想空間50に配置された既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っているか否かを判定する(S103)。この判定は図8に示すデータに基づいて行われる。
【0076】
本実施形態の場合、既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っていない場合とは、1体のプレイヤキャラクタオブジェクト54のみが仮想空間50に配置されており、かつ、そのプレイヤキャラクタオブジェクト54が攻撃動作を行っていない場合である。このため、既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っていないと判定された場合、制御部14(第1オブジェクト制御部64)は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作を既存のプレイヤキャラクタオブジェクト54に開始させる(S104)。すなわち、制御部14は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを読み出し、既存のプレイヤキャラクタオブジェクト54を対象として、そのアニメーションデータの再生を開始する。
【0077】
なお、この場合、制御部14は図8に示すデータを更新する。具体的には、既存のプレイヤキャラクタオブジェクト54に対応するレコードの「アニメーションデータ」フィールドに、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを示す情報が登録される。また、同レコードの「再生位置」フィールドに「1」が登録される。
【0078】
一方、既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っていると判定された場合、制御部14(第2オブジェクト制御部66)は、既存のプレイヤキャラクタオブジェクト54とは別に、新たにプレイヤキャラクタオブジェクト54を仮想空間50に配置する(S105)。
【0079】
この場合、制御部14は図8に示すデータに新たなレコードを追加する。新たに追加されたレコードの「順位」フィールドには、仮想空間50に配置されていた既存のプレイヤキャラクタオブジェクト54の数に1を加えた数が登録される。
【0080】
また、仮想空間50に配置されていた既存のプレイヤキャラクタオブジェクト54が1体である場合、そのプレイヤキャラクタオブジェクト54の位置及び向きに基づく位置及び向きが、同レコードの「位置」及び「向き」フィールドに登録される。例えば、既存のプレイヤキャラクタオブジェクト54の位置及び向きが、同レコードの「位置」及び「向き」フィールドに登録される。一方、仮想空間50に配置されていた既存のプレイヤキャラクタオブジェクト54が2体以上である場合、それら既存のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54の位置及び向きに基づく位置及び向きが、同レコードの「位置」及び「向き」フィールドに登録される。例えば、最後に配置されたプレイヤキャラクタオブジェクト54の位置及び向ききが、同レコードの「位置」及び「向き」フィールドに登録される。この処理が実行されることによって、新たに配置されるプレイヤキャラクタオブジェクト54の位置及び向きが、既存のプレイヤキャラクタオブジェクト54の位置及び向きに基づいて設定されることになる。
【0081】
ステップS105の処理が実行された後、制御部14(第2オブジェクト制御部66)は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作を、ステップS105で新たなに配置されたプレイヤキャラクタオブジェクト54に開始させる(S106)。すなわち、制御部14は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを読み出し、ステップS105で新たなに配置されたプレイヤキャラクタオブジェクト54を対象として、そのアニメーションデータの再生を開始する。
【0082】
この場合、制御部14は図8に示すデータを更新する。すなわち、ステップS105で新たに追加されたレコードの「アニメーションデータ」フィールドに、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを示す情報が登録される。また、同レコードの「再生位置」フィールドに「1」が登録される。
【0083】
ステップS104又はS106の処理が実行された場合、制御部14は、仮想空間50に配置されている各敵キャラクタオブジェクト56の状態を更新する(S107)。例えば、制御部14は、仮想空間50に配置されている各敵キャラクタオブジェクト56をAIに従って行動させる。例えば、制御部14は、敵キャラクタオブジェクト56を移動させたり、敵キャラクタオブジェクト56に攻撃動作を行わせたりする。
【0084】
ステップS107の処理が実行された場合、図10に示すように、制御部14(判定部68)は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する(S108)。この判定処理は、攻撃動作を行っているプレイヤキャラクタオブジェクト54ごとに実行される。
【0085】
例えば、制御部14は、プレイヤキャラクタオブジェクト54及び敵キャラクタオブジェクト56の位置に基づいて、プレイヤキャラクタオブジェクト54が攻撃に用いた部位と、敵キャラクタオブジェクト56との間の当たり判定処理を実行する。なお、プレイヤキャラクタオブジェクト54が武器を持っている場合には、その武器と、敵キャラクタオブジェクト56との間の当たり判定処理が実行される。また、プレイヤキャラクタオブジェクト54の攻撃動作が攻撃手段(例えば弾等)を発射するような動作である場合には、その攻撃手段と、敵キャラクタオブジェクト56との間の当たり判定処理が実行される。
【0086】
制御部14は、上記の当たり判定処理の結果に基づいて、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったと判定されなかった場合、制御部14は後述のステップS112の処理を実行する。
【0087】
一方、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったと判定された場合、制御部14は敵キャラクタのヒットポイントの値を減少させる(S109)。この場合、制御部14は、攻撃の種類とその攻撃によって受けるダメージ値との対応関係を示す情報を光ディスク36から読み出し、敵キャラクタが受けたダメージの値を、敵キャラクタオブジェクト56に当たった攻撃の種類に基づいて決定する。そして、制御部14は、そのダメージの値をヒットポイントの減少量として、敵キャラクタのヒットポイントの値を減少させる。
【0088】
例えば図6に示す状態において、プレイヤキャラクタオブジェクト54Aの攻撃とプレイヤキャラクタオブジェクト54Bの攻撃との両方が敵キャラクタオブジェクト56に当たった場合、制御部14は、プレイヤキャラクタオブジェクト54Aの攻撃によって敵キャラクタが受けたダメージの値を、プレイヤキャラクタオブジェクト54Aが行った攻撃の種類に基づいて算出する。さらに、制御部14は、プレイヤキャラクタオブジェクト54Bの攻撃によって敵キャラクタが受けたダメージの値を、プレイヤキャラクタオブジェクト54Bが行った攻撃の種類に基づいて算出する。そして、制御部14は、それらのダメージの合計値をヒットポイントの減少量として、敵キャラクタのヒットポイントの値を減少させる。
【0089】
ステップS109の処理が実行された場合、制御部14は敵キャラクタのヒットポイントが零になったか否かを判定する(S110)。敵キャラクタのヒットポイントが零になった場合、制御部14は、その敵キャラクタを表す敵キャラクタオブジェクト56を仮想空間50から取り除き(S111)、後述のステップS112の処理を実行する。なお、敵キャラクタのヒットポイントが零になっていない場合、制御部14はステップS111の処理を実行することなく、後述のステップS112の処理を実行する。
【0090】
図10に示す処理が実行された後、図11に示すように、制御部14(判定部68)は、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったか否かを判定する(S112)。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、制御部14は、それら複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たったか否かを判定する。敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったか否かの判定処理は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する場合と同様である(図10のステップS108参照)。
【0091】
敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったと判定されなかった場合、制御部14は後述のステップS116の処理を実行する。一方、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったと判定された場合、制御部14はプレイヤキャラクタのヒットポイントの値を減少させる(S113)。この場合、制御部14は、攻撃の種類とその攻撃によって受けるダメージ値との対応関係を示す情報を光ディスク36から読み出し、プレイヤキャラクタが受けたダメージの値を、プレイヤキャラクタオブジェクト54に当たった攻撃の種類に基づいて決定する。そして、制御部14は、そのダメージの値をヒットポイントの減少量として、プレイヤキャラクタのヒットポイントの値を減少させる。
【0092】
ステップS113の処理が実行された場合、制御部14はプレイヤキャラクタのヒットポイントが零になったか否かを判定する(S114)。プレイヤキャラクタのヒットポイントが零になった場合、制御部14はゲームオーバー画面を表示部32に表示させる(S115)。この場合、本処理は終了する。
【0093】
一方、プレイヤキャラクタのヒットポイントが零になっていない場合、制御部14はゲーム画面を更新する(S116)。すなわち、制御部14は、仮想カメラ58から見た仮想空間50の様子を表す画像をVRAM上に生成する。そして、VRAM上に生成された画像がゲーム画面として表示部32に表示される。
【0094】
なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、制御部14は複数のプレイヤキャラクタオブジェクト54の各々のアルファ値を下記に説明するように設定する。アルファ値は透過度(又は透明度あるいは半透明の程度)を示す数値であり、例えば0〜255の値をとる。例えば、最大値(255)は完全に不透明な状態に対応し、最小値(0)は完全に透明な状態に対応する。すなわち、アルファ値が小さいほど、透過度が高いことを示す。
【0095】
例えば、複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54のアルファ値(α)は下記の式(1)に基づいて設定される。
α=255*(f/F) ・・・ (1)
【0096】
上記の式(1)において、「255」はアルファ値の最大値であり、「*」は乗算演算子である。また、「f」は、プレイヤキャラクタオブジェクト54を対象として現在再生されているアニメーションデータ、すなわち、プレイヤキャラクタオブジェクト54が現在行っている攻撃動作のアニメーションデータの現在の再生位置を示す。例えば、アニメーションデータの30フレーム目を再生中である場合、「f」は「30」になる。また、「F」は、プレイヤキャラクタオブジェクト54を対象として現在再生されているアニメーションデータの全フレーム数を示す。
【0097】
最後に配置されたプレイヤキャラクタオブジェクト54のアルファ値が上記の式(1)に基づいて設定されることによって、最後に配置されたプレイヤキャラクタオブジェクト54の透過度は時間経過に応じて徐々に低くなっていく。すなわち、最後に配置されたプレイヤキャラクタオブジェクト54は透明の状態から不透明な状態へと時間経過に応じて徐々に変化していく。そして、攻撃動作を完了した時点(アニメーションデータの再生が完了した時点)で、最後に配置されたプレイヤキャラクタオブジェクト54は完全に不透明な状態になる。
【0098】
一方、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54のアルファ値(α)は下記の式(2)に基づいて従って設定される。なお、下記の式(2)において、「255」、「*」、「f」、及び「F」は上記の式(1)と同様である。
α=255*((F−f)/F) ・・・ (2)
【0099】
最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54のアルファ値が上記の式(2)に基づいて設定されることによって、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54の透過度は時間経過に応じて徐々に高くなっていく。すなわち、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54は不透明の状態から透明な状態へと時間経過に応じて徐々に変化していく。そして、攻撃動作を完了した時点(アニメーションデータの再生が完了した時点)で、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54は完全に透明な状態になる。
【0100】
ステップS116の処理が実行された後、制御部14は複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されているか否かを判定する(S117)。複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されていない場合、制御部14は本処理を終了する。
【0101】
複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、制御部14はそれら複数のプレイヤキャラクタオブジェクト54のうちに、攻撃動作を完了したプレイヤキャラクタオブジェクト54が存在するか否かを判定する(S118)。攻撃動作を完了したプレイヤキャラクタオブジェクト54が存在しない場合、制御部14は本処理を終了する。
【0102】
攻撃動作を完了したプレイヤキャラクタオブジェクト54が存在する場合、制御部14は、そのプレイヤキャラクタオブジェクト54が、仮想空間50に配置されたプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54であるか否かを判定する(S119)。攻撃動作を完了したプレイヤキャラクタオブジェクト54が、最後に配置されたプレイヤキャラクタオブジェクト54である場合、制御部14は本処理を終了する。
【0103】
攻撃動作を完了したプレイヤキャラクタオブジェクト54が、最後に配置されたプレイヤキャラクタオブジェクト54でない場合、制御部14は、攻撃動作を完了したプレイヤキャラクタオブジェクト54を仮想空間50から取り除く(S120)。この場合、制御部14は、攻撃動作を完了したプレイヤキャラクタオブジェクト54に対応するレコードを図8に示すデータから削除する。また、この場合、攻撃動作を完了したプレイヤキャラクタオブジェクト54が取り除かれたことによって、図8に示すデータに残っている各レコードの「順位」フィールドの値を更新する必要があるため、制御部14は、図8に示すデータに残っている各レコードの「順位」フィールドの値を更新する。以上で本処理は終了する。
【0104】
以上説明したゲーム装置10によれば、中間アニメーションデータを用意しなくても、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示できるようになる。ゲーム装置10によれば、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示することを、データ量の増大を抑えながら実現できるようになる。
【0105】
多くの中間アニメーションデータを用意する必要がある場合にはゲーム開発にかかる作業量も増大する。この点、ゲーム装置10によれば、中間アニメーションデータを用意する必要がなくなるため、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示するようなゲームの開発にかかる作業量を軽減することも可能になる。
【0106】
また、例えば図4に示すような対応関係をプレイヤが任意に設定できるようにする場合、従来は、プレイヤが行い得る設定をあらかじめ考慮して、中間アニメーションデータを用意しておく必要があった。その結果、データ量の増大やゲーム開発にかかる作業量の増大を招いてしまうという問題があった。この点、ゲーム装置10によれば、中間アニメーションデータを用意する必要がなくなるため、上記のような問題が生じないようになる。
【0107】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0108】
(A)例えば、更新部70は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合における敵キャラクタのダメージの大きさを、プレイヤキャラクタオブジェクト54に設定される透過度に対応する大きさに設定するようにしてもよい。例えば、プレイヤキャラクタオブジェクト54の透過度が高いほど、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合の敵キャラクタのダメージが小さく(又は大きく)なるようにしてもよい。
【0109】
この場合、透過度(アルファ値)と、敵キャラクタのヒットポイントの更新量を取得するために用いられる情報と、の対応関係を示す情報が記憶部60に記憶される。例えば、下記の式(3)が記憶される。
k=α/128 ・・・ (3)
【0110】
上記の式(3)において、「α」は敵キャラクタオブジェクト56に攻撃を当てたプレイヤキャラクタオブジェクト54に設定される透過度(アルファ値)を示しており、「128」はアルファ値の最大値と最小値との間の中間値を示している。
【0111】
上記の式(3)は、透過度(アルファ値)と係数(k)との対応関係を示す情報になっている。上記の式(3)では、透過度が低くなるほど、係数(k)の値が大きくなるようになっている。後述するように、係数(k)は敵キャラクタのヒットポイントの更新量を算出するために用いられる。
【0112】
この場合、例えば下記の式(4)に基づいて、敵キャラクタが受けるダメージの値(D)が決定される。なお、下記の式(4)において、「Do」は、敵キャラクタオブジェクト56に当たった攻撃の種類に対応するダメージの基本値を示す。
D=Do*k ・・・ (4)
【0113】
この場合、図11のステップS109では次のような処理が実行される。すなわち、まず制御部14は、攻撃の種類とその攻撃によって受けるダメージの基本値との対応関係を示す情報を光ディスク36から読み出し、敵キャラクタオブジェクト56に当たった攻撃の種類に対応するダメージの基本値(Do)を取得する。次に、制御部14は、敵キャラクタオブジェクト56に攻撃を当てたプレイヤキャラクタオブジェクト54に設定される透過度(アルファ値)を取得する。さらに、制御部14はその透過度に対応する係数(k)の値を上記の式(3)に基づいて取得する。そして、制御部14は敵キャラクタが受けたダメージの値を上記の式(4)に基づいて算出する。このダメージの値は敵キャラクタのヒットポイントの減少量に相当する。
【0114】
なお、透過度(アルファ値)と係数(k)との対応関係を示す情報はテーブル形式の情報であってもよい。すなわち、上記の式(3)の代わりに、テーブル形式の情報が記憶されるようにしてもよい。
【0115】
(B)例えば、更新部70は、プレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合におけるプレイヤキャラクタのダメージの大きさを、プレイヤキャラクタオブジェクト54に設定される透過度に対応する大きさに設定するようにしてもよい。例えば、プレイヤキャラクタオブジェクト54の透過度が高いほど、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たった場合のプレイヤキャラクタのダメージが小さく(又は大きく)なるようにしてもよい。なお、本変形例(B)では、上記の変形例(A)において説明した方法と同様の方法を用いるようにすればよい。
【0116】
(C)例えば、プレイヤが第2操作を行うべきタイミングを限定するようにしてもよい。すなわち、プレイヤが第2操作を行うべきタイミングを、プレイヤキャラクタオブジェクト54が第1動作を行っている期間内に設定される基準タイミングに限定するようにしてもよい。
【0117】
「基準タイミング」は予め定められていてもよいし、ゲーム制御部62によってその都度定められるようにしてもよい。また、「基準タイミング」は、表示出力又は音声出力を用いて、プレイヤに案内されるようにしてもよい。あるいは、振動機能を有するコントローラ30を振動させることによって、「基準タイミング」がプレイヤに案内されるようにしてもよい。
【0118】
この場合における第2オブジェクト制御部66は、プレイヤキャラクタオブジェクト54が第1動作を行っている期間内に設定される基準タイミングにプレイヤが第2操作を行った場合に限って、第1動作を行うプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に第2動作を行わせることになる。
【0119】
なお、第2操作としてプレイヤが行うべき操作を限定するようにしてもよい。例えば、「第2操作としてプレイヤが行うべき操作」が予め定められた操作に限定されるようにしてもよいし、ゲーム制御部62によってその都度定められる操作に限定されるようにしてもよい。より具体的には、例えば、「第2操作としてプレイヤが行うべき操作」は、図4に示す複数種類の攻撃指示操作のうちから予め選択された操作であってもよい。また例えば、「第2操作としてプレイヤが行うべき操作」は、その都度、図4に示す複数種類の攻撃指示操作のうちからランダムに選択されるようにしてもよい。また、「第2操作としてプレイヤが行うべき操作」は、表示出力又は音声出力を用いて、プレイヤに案内されるようにしてもよい。
【0120】
この場合における第2オブジェクト制御部66は、プレイヤキャラクタオブジェクト54が第1動作を行っている期間内に設定される基準タイミングに、プレイヤが、第2操作としてプレイヤが行うべき操作として設定された操作を行った場合に限って、第1動作を行うプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に第2動作を行わせることになる。
【0121】
(D)例えば、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置される場合、表示制御部72は、各プレイヤキャラクタオブジェクト54の色を互いに異なる色に設定するようにしてもよい。
【0122】
例えば、表示制御部72は、各プレイヤキャラクタオブジェクト54の色を、そのプレイヤキャラクタオブジェクト54が仮想空間50に配置された順序(言い換えれば、そのプレイヤキャラクタオブジェクト54が何体目のプレイヤキャラクタオブジェクト54であるか)に基づいて設定するようにしてもよい。具体的には、例えば、1体目のプレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54A)の色を赤色に設定し、2体目のプレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54B)の色を青色に設定し、3体目のプレイヤキャラクタオブジェクト54の色を緑色に設定するようにしてもよい。この例の場合、配置順序と色との対応関係を示す情報が記憶部60に記憶され、この情報に基づいて、表示制御部72は各プレイヤキャラクタオブジェクト54の色を設定することになる。
【0123】
半透明である多数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、半透明である多数のプレイヤキャラクタが重なった状態でゲーム画面に表示されるため、個々のプレイヤキャラクタ(個々のプレイヤキャラクタオブジェクト54)をプレイヤが判別し難くなってしまうおそれがある。しかしながら、上記のようにすれば、個々のプレイヤキャラクタ(個々のプレイヤキャラクタオブジェクト54)をプレイヤが判別し易くなるようにすることが可能になる。
【0124】
なお、図9〜図11に示す処理では、最後に仮想空間50に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54は動作を完了した場合に仮想空間50から取り除かれ、最後に仮想空間50に配置されたプレイヤキャラクタオブジェクト54のみが最終的に仮想空間50に残るようになっていた(図11のステップS117〜S120)。表示制御部72は、この最終的に仮想空間50に残るプレイヤキャラクタオブジェクト54の色をプレイヤキャラクタオブジェクト54の本来の色に徐々に戻すようにしてもよい。
【0125】
例えば、他のプレイヤキャラクタオブジェクト54がすべて取り除かれた後で、最終的に仮想空間50に残ったプレイヤキャラクタオブジェクト54の色を時間経過に応じて徐々に本来の色へと変化させるようにしてもよい。あるいは、仮想空間50に配置されるプレイヤキャラクタオブジェクト54が取り除かれるのに従って(言い換えれば、仮想空間50に配置されたプレイヤキャラクタオブジェクト54の数の減少に従って)、最終的に仮想空間50に残ることになるプレイヤキャラクタオブジェクト54の色を本来の色に向けて変化させるようにしてもよい。この場合、他のプレイヤキャラクタオブジェクト54がすべて取り除かれた時点において、最終的に仮想空間50に残ったプレイヤキャラクタオブジェクト54の色が本来の色になっているようにすればよい。なお、この場合、仮想空間50に配置されたプレイヤキャラクタオブジェクト54の数と、最終的に仮想空間50に残ることになるプレイヤキャラクタオブジェクト54の色との対応関係を示す情報が記憶部60に記憶され、この情報に基づいて、最終的に仮想空間50に残ることになるプレイヤキャラクタオブジェクト54の色が設定されることになる。
【0126】
(E)以上に説明した実施形態では、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にのみ、プレイヤキャラクタのヒットポイントが減少するようになっていた。
【0127】
しかしながら、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にも、プレイヤキャラクタのヒットポイントが減少するようにしてもよい。例えば、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最初に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にのみ、プレイヤキャラクタのヒットポイントが減少するようにしてもよい。なお、いずれのプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にも、プレイヤキャラクタのヒットポイントが減少するようにしてもよい。
【0128】
(F)以上に説明した実施形態では、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のいずれの攻撃が敵キャラクタオブジェクト56に当たった場合にも、敵キャラクタのヒットポイントが減少するようになっていた。
【0129】
しかしながら、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの特定のプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合にのみ、敵キャラクタのヒットポイントが減少するようにしてもよい。例えば、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合にのみ、敵キャラクタのヒットポイントが減少するようにしてもよい。あるいは、最初に配置されたプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合にのみ、敵キャラクタのヒットポイントが減少するようにしてもよい。
【0130】
(G)以上に説明した実施形態では、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54が攻撃動作を完了した場合に、そのプレイヤキャラクタオブジェクト54が仮想空間50から取り除かれるようになっていた(図11のステップS117〜S120参照)。すなわち、最後に配置されたプレイヤキャラクタオブジェクト54が仮想空間50に残るようになっていた。
【0131】
しかしながら、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最初に配置されたプレイヤキャラクタオブジェクト54が仮想空間50に残るようにしてもよい。すなわち、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最初に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54が攻撃動作を完了した場合に、そのプレイヤキャラクタオブジェクト54が仮想空間50から取り除かれるようにしてもよい。
【0132】
あるいは、攻撃動作を完了したプレイヤキャラクタオブジェクト54から順に仮想空間50から取り除かれるようにしてもよい。すなわち、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちで、最後に攻撃動作を完了したプレイヤキャラクタオブジェクト54が仮想空間50に残るようにしてもよい。
【0133】
(H)例えば、攻撃指示操作(ボタン42,43,44,45)と攻撃動作との対応関係は変化するようにしてもよい。例えば、プレイヤがボタン42,43,44,45を連続して押下した場合、ボタン42が1つ目のボタンとして押下されたか、2つ目のボタンとして押下されたかで、ボタン42に対応する攻撃動作が変わるようにしてもよい。例えば、ボタン42が1つ目のボタンとして押下された場合におけるボタン42に対応する攻撃動作を攻撃動作Aとし、ボタン42が2つ目のボタンとして押下された場合におけるボタン42に対応する攻撃動作を攻撃動作Dとするようにしてもよい。
【0134】
また、上記のような攻撃指示操作と攻撃動作との対応関係をプレイヤが任意に設定できるようにしてもよい。従来、上記のような対応関係をプレイヤが任意に設定できるようにする場合には、プレイヤが行い得る設定をあらかじめ考慮して、中間アニメーションデータを用意しておく必要があった。その結果、データ量の増大やゲーム開発にかかる作業量の増大を招いてしまうという問題があった。この点、ゲーム装置10によれば、中間アニメーションデータを用意する必要がなくなるため、上記のような問題が生じないようになる。
【0135】
(I)例えば、敵キャラクタのヒットポイントの代わりに、敵キャラクタが受けたダメージの累計を示すダメージポイントを記憶するようにしてもよい。なお、ヒットポイントは、敵キャラクタオブジェクト56が攻撃を受けるごとに減少されるのに対し、ダメージポイントは、敵キャラクタオブジェクト56が攻撃を受けるごとに増加される点でヒットポイントとは異なっている。例えば、ダメージポイントは0〜100の値をとり、ダメージポイントの初期値は0に設定される。敵キャラクタのダメージポイントが所定値(100)になると、敵キャラクタは退治されたことになる。なお、同様に、プレイヤキャラクタのヒットポイントの代わりに、プレイヤキャラクタが受けたダメージの累計を示すダメージポイントを記憶するようにしてもよい。
【0136】
(J)本発明は、以上に説明したアクションゲーム以外のゲームにも適用することが可能である。
【符号の説明】
【0137】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスクドライブ、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 表示部、34 音声出力部、36 光ディスク、40 表面、41 方向ボタン群、41U 上ボタン、41D 下ボタン、42L 左ボタン、42R 右ボタン、42,43,43,45 ボタン、46L,46R スティック、50 仮想空間、52 地面オブジェクト、54 プレイヤキャラクタオブジェクト、56 敵キャラクタオブジェクト、58 仮想カメラ、60 記憶部、62 ゲーム制御部、64 第1オブジェクト制御部、66 第2オブジェクト制御部、68 判定部、70 更新部、72 表示制御部。
【技術分野】
【0001】
本発明はゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置が知られている。このようなゲーム装置では、例えば、プレイヤキャラクタオブジェクトが動作を行う場合の姿勢変化を定義したアニメーションデータを再生する(すなわち、アニメーションデータに従ってプレイヤキャラクタオブジェクトの姿勢を変化させる)ことによって、プレイヤキャラクタオブジェクトを仮想空間内で動作させる。そして、その結果として、プレイヤキャラクタが動作を行う様子がゲーム画面に表示される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−024633号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲーム装置では、プレイヤキャラクタオブジェクトに第1動作と第2動作とを連続して行わせる場合、第1動作に対応する第1アニメーションデータを再生した後、第2動作に対応する第2アニメーションデータを再生することになる。しかしながら、第1動作を完了した時(すなわち、第1アニメーションデータの再生を完了した時)のプレイヤキャラクタオブジェクトの姿勢と、第2動作を開始する時(すなわち、第2アニメーションデータの再生を開始する時)のプレイヤキャラクタオブジェクトの姿勢とが異なる場合には、プレイヤキャラクタオブジェクトの姿勢を、第1動作を完了した時の姿勢から第2動作を開始する時の姿勢へと自然に変化させるためのアニメーションデータ(以下「中間アニメーションデータ」と呼ぶ。)が必要となる。つまり、この場合、第1アニメーションデータを再生した後、中間アニメーションデータを再生し、その後に、第2アニメーションデータを再生する必要がある。
【0005】
上記のような中間アニメーションデータは、プレイヤキャラクタオブジェクトが連続して行う可能性がある動作の組合せごとに用意する必要がある。そのような動作の組合せが多い場合には多くの中間アニメーションデータが必要になり、その結果として、データ量が増大してしまう。
【0006】
本発明は上記課題に鑑みてなされたものであって、その目的は、例えば、仮想空間に配置されたキャラクタオブジェクトに複数の動作を連続して行わせることをデータの増大を抑えつつ実現することが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置において、前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段と、前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段と、前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置の制御方法において、前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御ステップと、前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御ステップと、前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置としてコンピュータを機能させるためのプログラムであって、前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段、前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段、及び、前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段、として前記コンピュータを機能させるためのプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、例えば、仮想空間に配置されたゲームキャラクタに複数の動作を連続して行わせることをデータの増大を抑えつつ実現することが可能になる。
【0012】
また本発明の一態様では、前記第2オブジェクト制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に配置される前記プレイヤキャラクタオブジェクトの位置を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの、前記第2操作が行われた場合における位置に基づいて設定するようにしてもよい。
【0013】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であってもよい。前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果との両方に基づいて、前記パラメータを更新するようにしてもよい。
【0014】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果とのいずれか一方に基づく前記パラメータの更新を実行し、他方に基づく前記パラメータの更新を実行しないようにしてもよい。
【0015】
また本発明の一態様では、前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて上げ、かつ、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて下げるようにしてもよい。
【0016】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であってもよい。前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含むようにしてもよい。
【0017】
また本発明の一態様では、前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであってもよい。前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置されるようにしてもよい。前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含むようにしてもよい。前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含むようにしてもよい。
【0018】
また本発明の一態様では、前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの色と前記第2動作を行う前記プレイヤキャラクタオブジェクトの色とを互いに異なる色に設定するようにしてもよい。
【0019】
また本発明の一態様では、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了するより前に、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除き、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了するより前に、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、のいずれか一つを含むようにしてもよい。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2A】コントローラの一例を示す図である。
【図2B】コントローラの一例を示す図である。
【図3】仮想空間の一例を示す図である。
【図4】攻撃指示操作と攻撃動作との対応関係の一例を示す図である。
【図5】仮想空間の一例を示す図である。
【図6】仮想空間の一例を示す図である。
【図7】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図8】プレイヤキャラクタオブジェクトを管理するためのデータの一例を示す図である。
【図9】ゲーム装置が実行する処理の一例を示すフロー図である。
【図10】ゲーム装置が実行する処理の一例を示すフロー図である。
【図11】ゲーム装置が実行する処理の一例を示すフロー図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)、又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0022】
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部32、音声出力部34、及び光ディスク36(情報記憶媒体)を含む。表示部32及び音声出力部34は家庭用ゲーム機11に接続される。例えば家庭用テレビ受像機又は液晶ディスプレイ等が表示部32として用いられ、例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホン等が音声出力部34として用いられる。
【0023】
家庭用ゲーム機11は公知のコンピュータシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30を含む。
【0024】
制御部14は一又は複数のマイクロプロセッサを含む。制御部14は光ディスク36から読み出されるプログラムに基づいて情報処理を実行する。主記憶16は例えばRAMを含み、光ディスク36から読み出されたプログラム及びデータが主記憶16に書き込まれる。主記憶16は制御部14の作業用メモリとしても用いられる。バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0025】
画像処理部18はVRAMを含み、制御部14から供給される画像データに基づいてVRAM上に画面を描画する。VRAM上に描画された画面はビデオ信号に変換されて表示部32に出力される。
【0026】
入出力処理部20は、制御部14が音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30にアクセスするためのインタフェースである。音声処理部22はサウンドバッファを含み、光ディスク36からサウンドバッファに読み出された音声データを音声出力部34から出力する。通信インタフェース28は、インターネットなどの通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0027】
光ディスクドライブ24は、光ディスク36に記録されたプログラムやデータを読み取る。ここでは、プログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いるが、他の情報記憶媒体(例えばメモリカード)を用いるようにしてもよい。また、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。光ディスク36に記憶されることとして説明するプログラムやデータはハードディスク26に記憶されていてもよい。
【0028】
コントローラ30はプレイヤが操作を行うための操作部である。家庭用ゲーム機11には複数のコントローラ30を有線又は無線接続することが可能になっている。図2A及び図2Bはコントローラ30の一例を示す図である。図2A及び図2Bに示すように、コントローラ30の表面40には複数の操作部材が備えられている。例えば、方向ボタン群41と、ボタン42,43,44,45と、スティック(レバー)46L,46Rとが備えられている。
【0029】
方向ボタン群41は例えば方向を指示するために用いられる。方向ボタン群41は、上方向に対応する上ボタン41Uと、下方向に対応する下ボタン41Dと、左方向に対応する左ボタン41Lと、右方向に対応する右ボタン41Rと、を含む。ボタン42,43,44,45は各種ゲーム操作に用いられる。ボタン42,43,44,45の表面には、それぞれ、ばつ、円、四角形、三角形のマークが付されている。スティック46L,46Rも例えば方向を指示するために用いられる。スティック46L,46Rは、コントローラ30の筐体の表面40に直立しており、この直立状態から全方位に傾倒自在に構成されている。
【0030】
入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介して制御部14に供給する。制御部14は操作信号に基づいてプレイヤの操作を判定する。
【0031】
ゲーム装置10では各種ゲームが実行される。例えば、プレイヤの操作に従って動作するプレイヤキャラクタが他のキャラクタと戦うゲームが実行される。なお以下では、プレイヤキャラクタが敵キャラクタを退治するアクションゲームがゲーム装置10で実行される場合について説明する。
【0032】
ゲーム装置10の主記憶16には仮想空間(ゲーム空間)が構築される。図3は仮想空間の一例を示す。図3に示す仮想空間50は、互いに直交する三つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間になっている。仮想空間50に配置されるオブジェクトの位置等はこれら三つの座標軸の座標値によって特定される。
【0033】
図3に示す仮想空間50には、地面を表す地面オブジェクト52が配置されている。また、地面オブジェクト52上には、プレイヤキャラクタを表すプレイヤキャラクタオブジェクト54と、敵キャラクタを表す敵キャラクタオブジェクト56(他キャラクタオブジェクト)とが配置されている。
【0034】
また、仮想空間50には仮想カメラ58が設定される。この仮想カメラ58から仮想空間50を表す画像がゲーム画面に表示される。なお例えば、プレイヤキャラクタオブジェクト54が常にゲーム画面に表示されるように、仮想カメラ58の位置や視線方向はプレイヤキャラクタオブジェクト54の位置に基づいて更新される。
【0035】
敵キャラクタオブジェクト56はAI(人工知能)に従って行動する。一方、プレイヤキャラクタオブジェクト54はプレイヤの操作に従って行動する。例えば、プレイヤの移動指示操作に従って、プレイヤキャラクタオブジェクト54は仮想空間50内を移動する。また例えば、プレイヤの攻撃指示操作に従って、プレイヤキャラクタオブジェクト54は攻撃動作を行う。
【0036】
図4は、プレイヤが行う攻撃指示操作と、プレイヤキャラクタオブジェクト54が行う攻撃動作との対応関係の一例を示す図である。図4において、ばつ、円、四角形、三角形マークは、それぞれ、ボタン42,43,44,45を示している。なお、攻撃指示操作と攻撃動作との対応関係はプレイヤが任意に設定できるようにしてもよい。
【0037】
図4に示す対応関係ではボタン42と攻撃動作Aとが関連づけられている。このため、プレイヤがボタン42を押下した場合、プレイヤキャラクタオブジェクト54は攻撃動作Aを行う。具体的には、ボタン42が押下された場合、攻撃動作Aに対応するアニメーションデータ(モーションデータ)を光ディスク36から読み出し、そのアニメーションデータを再生することによって、プレイヤキャラクタオブジェクト54が攻撃動作Aを行う。
【0038】
なお、アニメーションデータは、プレイヤキャラクタオブジェクト54が動作を行う場合のプレイヤキャラクタオブジェクト54の状態(例えば姿勢や位置)の変化を定義したデータである。プレイヤキャラクタオブジェクト54が行い得る各動作のアニメーションデータが光ディスク36に記憶される。図4に示す例の場合であれば、攻撃動作A,B,C,Dの各々に対応する4つのアニメーションデータが光ディスク36に記憶される。なお、ここでは、アニメーションデータに従ってプレイヤキャラクタオブジェクト54の状態を変化させることによってプレイヤキャラクタオブジェクト54に動作を行わせることを「アニメーションデータを再生する」と記載する。
【0039】
図5は、プレイヤがボタン42を押下した場合の仮想空間50の一例を示している。すなわち、図5は、プレイヤキャラクタオブジェクト54が攻撃動作Aを行っている様子を示している。なお、図5に示す例では攻撃動作Aがパンチ動作を含む動作になっている。
【0040】
プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たると、敵キャラクタのヒットポイントが減少する。「ヒットポイント」は、敵キャラクタの体力がどの程度残っているのかを示すパラメータである。例えば、ヒットポイントは0〜100の値をとり、ヒットポイントの初期値は100に設定される。敵キャラクタのヒットポイントが所定値(零)になると、敵キャラクタは退治されたことになり、敵キャラクタオブジェクト56が仮想空間50から取り除かれる。
【0041】
一方、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たると、プレイヤキャラクタのヒットポイントが減少する。プレイヤキャラクタのヒットポイントが所定値(零)になると、例えばゲームオーバーとなる。
【0042】
以下、上記のゲーム装置10において、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示することをデータの増大を抑えつつ実現するための技術について説明する。
【0043】
ゲーム装置10では、例えば、プレイヤキャラクタオブジェクト54が攻撃動作Aを行っている間にプレイヤがボタン43を押下した場合に、攻撃動作Aを行うプレイヤキャラクタオブジェクト54とは別のプレイヤキャラクタオブジェクト54が仮想空間50に配置され、そのプレイヤキャラクタオブジェクト54が、ボタン43に対応する攻撃動作Bを行うようになっている。
【0044】
図6は、その場合の仮想空間50の一例を示している。図6に示す仮想空間50には二体のプレイヤキャラクタオブジェクト54A,54Bが配置されている。プレイヤキャラクタオブジェクト54Aは図5におけるプレイヤキャラクタオブジェクト54に対応しており、プレイヤキャラクタオブジェクト54Aは攻撃動作Aを行っている。一方、プレイヤキャラクタオブジェクト54Bは新たに配置されたプレイヤキャラクタオブジェクト54であり、プレイヤキャラクタオブジェクト54Bは攻撃動作Bを行っている。図6に示す例では攻撃動作Bがキック動作を含む動作になっている。
【0045】
この場合、プレイヤキャラクタオブジェクト54Bの位置は、ボタン43が押下された時点におけるプレイヤキャラクタオブジェクト54Aの位置に基づいて設定される。具体的には、プレイヤキャラクタオブジェクト54Bは、ボタン43が押下された時点におけるプレイヤキャラクタオブジェクト54Aの位置に配置される。なお図6では、説明の簡便化のため、プレイヤキャラクタオブジェクト54Bの位置をプレイヤキャラクタオブジェクト54Aの位置から少しずらしている。
【0046】
また、この場合、プレイヤキャラクタオブジェクト54Aの攻撃が敵キャラクタオブジェクト56に当たった場合と、プレイヤキャラクタオブジェクト54Bの攻撃が敵キャラクタオブジェクト56に当たった場合とのいずれの場合においても、敵キャラクタのヒットポイントが減少するようになっている。
【0047】
また、この場合、後に配置されたプレイヤキャラクタオブジェクト54Bに敵キャラクタオブジェクト56の攻撃が当たった場合に限って、プレイヤキャラクタのヒットポイントが減少するようになっている。すなわち、プレイヤキャラクタオブジェクト54Aに敵キャラクタオブジェクト56の攻撃が当たったとしても、プレイヤキャラクタのヒットポイントが減少しないようになっている。
【0048】
さらに、この場合、プレイヤキャラクタオブジェクト54Aは時間経過に応じて不透明の状態から透明の状態へと徐々に変化していく。プレイヤキャラクタオブジェクト54Aが攻撃動作Aを完了した時点でプレイヤキャラクタオブジェクト54Aは完全に透明となり、プレイヤキャラクタオブジェクト54Aは仮想空間50から取り除かれる。一方、プレイヤキャラクタオブジェクト54Bは時間経過に応じて透明の状態から不透明の状態への徐々に変化していく。プレイヤキャラクタオブジェクト54Bが攻撃動作Bを完了した時点でプレイヤキャラクタオブジェクト54Bは完全に不透明になる。以降、プレイヤキャラクタオブジェクト54Bがプレイヤの操作対象となる。
【0049】
なお例えば、図6に示す状態でプレイヤがさらにボタン43を押下した場合には、プレイヤキャラクタオブジェクト54A,54Bとは別のプレイヤキャラクタオブジェクト54が新たに配置され、このプレイヤキャラクタオブジェクト54がボタン43に対応する攻撃動作Bを開始する。
【0050】
要するに、n(n:1以上の整数)体のプレイヤキャラクタオブジェクト54がそれぞれ攻撃動作を行っている間にプレイヤが攻撃指示操作を行った場合、それらのn体のプレイヤキャラクタオブジェクト54とは別のプレイヤキャラクタオブジェクト54が新たに配置され、そのプレイヤキャラクタオブジェクト54が攻撃指示操作に対応する攻撃動作を開始する。
【0051】
図6に示す状態の場合、攻撃動作Aを行うプレイヤキャラクタと攻撃動作Bを行うプレイヤキャラクタとの両方が互いに重なるようにしてゲーム画面に表示されることになる。この場合、攻撃動作Aを行うためにかかる時間は比較的短いため、プレイヤの目には、プレイヤキャラクタが攻撃動作Aと攻撃動作Bとを連続して行ったように見える。このため、ゲーム装置10によれば、中間アニメーションデータを用意しなくても、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表すことが可能になる。
【0052】
以下、上記のような機能を実現するための構成について説明する。図7は、ゲーム装置10で実現される機能を示す機能ブロック図である。図7に示すように、ゲーム装置10は記憶部60及びゲーム制御部62を含む。例えば、記憶部60は主記憶16、光ディスク36、及びハードディスク26のうちの少なくとも一つによって実現され、ゲーム制御部62は制御部14がプログラムを実行することによって実現される。
【0053】
まず、記憶部60について説明する。記憶部60はゲームを実行するために必要なデータを記憶する。例えば、仮想空間50に配置される各オブジェクトのモデルデータが記憶部60に記憶される。また例えば、プレイヤキャラクタオブジェクト54や敵キャラクタオブジェクト56のアニメーションデータが記憶部60に記憶される。
【0054】
また、ゲームの現在の状況を示すゲーム状況データが記憶部60に記憶される。例えば、下記に示すような情報がゲーム状況データに保持される。
・プレイヤキャラクタオブジェクト54の状態情報(例えば位置等)
・敵キャラクタオブジェクト56の状態情報(例えば位置等)
・プレイヤキャラクタのヒットポイント
・敵キャラクタのヒットポイント
【0055】
上述したように、本実施形態では複数のプレイヤキャラクタオブジェクト54の仮想空間50に配置される場合がある(図6参照)。本実施形態の場合、仮想空間50に配置される一又は複数のプレイヤキャラクタオブジェクト54の状態情報が例えば図8に示すようなデータによって管理される。なお、図8に示すデータの内容は図6に示す状態に対応している。
【0056】
図8に示すデータは「順位」、「位置」、「向き」、「アニメーションデータ」、及び「再生位置」フィールドを含んでいる。「順位」フィールドはプレイヤキャラクタオブジェクト54が仮想空間50に配置された順序を示す。例えば、「順位」フィールドの値が「1」であるプレイヤキャラクタオブジェクト54は、図6におけるプレイヤキャラクタオブジェクト54Aに対応し、「順位」フィールドの値が「2」であるプレイヤキャラクタオブジェクト54は、図6におけるプレイヤキャラクタオブジェクト54Bに対応する。
【0057】
「位置」フィールドはプレイヤキャラクタオブジェクト54の現在の位置を示す。「向き」フィールドはプレイヤキャラクタオブジェクト54が現在向いている方向を示す。「アニメーションデータ」フィールドは、プレイヤキャラクタオブジェクト54を対象として現在再生されているアニメーションデータの種類を示す。例えば、攻撃動作Aのアニメーションデータに基づいてプレイヤキャラクタオブジェクト54が攻撃動作Aを行っている場合には、攻撃動作Aを示す情報が「アニメーションデータ」フィールドに登録される。「再生位置」フィールドは、アニメーションデータの何フレーム目を現在再生しているかを示す。
【0058】
ゲーム制御部62について説明する。ゲーム制御部62はゲーム制御を行う。ゲーム制御部62は第1オブジェクト制御部64、第2オブジェクト制御部66、判定部68、及び更新部70、及び表示制御部72を含む。
【0059】
第1オブジェクト制御部64について説明する。1体のプレイヤキャラクタオブジェクト54のみが仮想空間50に配置されており、かつ、複数種類の操作に対応する複数の動作のいずれも該1体のプレイヤキャラクタオブジェクト54が行っていない状態においてプレイヤが上記の複数種類の操作のうちのいずれかの操作(第1操作)を行った場合、第1オブジェクト制御部64は、第1操作に対応する動作(第1動作)を該1体のプレイヤキャラクタオブジェクト54に行わせる。
【0060】
本実施形態の場合、図4に示す攻撃指示操作が上記の「複数種類の操作」に相当し、図4に示す攻撃動作が上記の「複数の動作」に相当する。つまり、本実施形態では、1体のプレイヤキャラクタオブジェクト54のみが仮想空間50に配置されており、かつ、該1体のプレイヤキャラクタオブジェクト54がいずれの攻撃動作も行っていない状態においてプレイヤがいずれかの攻撃指示操作(第1攻撃指示操作)を行った場合、第1オブジェクト制御部64は、第1攻撃指示操作に対応する攻撃動作(第1攻撃動作)を該1体のプレイヤキャラクタオブジェクト54に行わせる。
【0061】
第2オブジェクト制御部66について説明する。プレイヤキャラクタオブジェクト54が第1動作を行っている間にプレイヤが上記の複数種類の操作のうちのいずれかの操作(第2操作)を行った場合に、第2オブジェクト制御部66は、第1動作を行うプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に、第2操作に対応する動作(第2動作)を行わせる。
【0062】
要するに、n(n:1以上の整数)体のプレイヤキャラクタオブジェクト54が、それぞれ、複数の動作のうちのいずれかを行っている間にプレイヤが複数種類の操作のうちのいずれかの操作を行った場合に、第2オブジェクト制御部66は、それらn体のプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54(すなわち、(n+1)体目のプレイヤキャラクタオブジェクト54)を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に、プレイヤによって行われた操作に対応する動作を行わせる。
【0063】
上述したように、本実施形態の場合、図4に示す攻撃指示操作が「複数種類の操作」に相当し、図4に示す攻撃動作が「複数の動作」に相当する。つまり、本実施形態では、第1攻撃指示操作に対応する第1攻撃動作をプレイヤキャラクタオブジェクト54が行っている間にプレイヤがいずれかの攻撃指示操作(第2攻撃指示操作)を行った場合に、第2オブジェクト制御部66は、第1攻撃動作を行うプレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54A)とは別に、プレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54B)を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に、第2攻撃指示操作に対応する攻撃動作(第2攻撃動作)を行わせる。
【0064】
判定部68及び更新部70について説明する。
【0065】
判定部68は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、判定部68は、複数のプレイヤキャラクタオブジェクト54の各々について、そのプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。
【0066】
プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったと判定された場合、更新部70は敵キャラクタのパラメータを更新する。本実施形態の場合、ヒットポイントが「パラメータ」に相当する。
【0067】
例えば図6に示す状態の場合、判定部68は、プレイヤキャラクタオブジェクト54Aの攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。プレイヤキャラクタオブジェクト54Aの攻撃が敵キャラクタオブジェクト56に当たったと判定された場合、更新部70は敵キャラクタのヒットポイントを減少させる。また、判定部68は、プレイヤキャラクタオブジェクト54Bの攻撃が敵キャラクタオブジェクト56に当たったか否かも判定する。そして、プレイヤキャラクタオブジェクト54Bの攻撃が敵キャラクタオブジェクト56に当たったと判定された場合にも、更新部70は敵キャラクタのヒットポイントを減少させる。
【0068】
また、判定部68は、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったか否かを判定する。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、判定部68は、それら複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54のみを判定の対象となる。つまり、判定部68は、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たったか否かを判定する。
【0069】
敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったと判定された場合、更新部70はプレイヤキャラクタのパラメータを更新する。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、それら複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合のみ、更新部70はプレイヤキャラクタのパラメータを更新する。最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たったとしても、更新部70はプレイヤキャラクタのパラメータを更新しない。上述したように、本実施形態の場合、ヒットポイントが「パラメータ」に相当する。
【0070】
例えば図6に示す状態の場合、判定部68は、プレイヤキャラクタオブジェクト54A,54Bのうちの、後で配置されたプレイヤキャラクタオブジェクト54Bに敵キャラクタオブジェクト56の攻撃が当たったか否かを判定する。敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54Bに当たったと判定された場合、更新部70はプレイヤキャラクタのヒットポイントを減少させる。なお、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54Aに当たったとしても、更新部70はプレイヤキャラクタのヒットポイントを減少させない。
【0071】
表示制御部72について説明する。表示制御部72は、仮想空間50を仮想カメラ58から見た様子を表す画面をゲーム画面として表示部32に表示させる。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、表示制御部72は、それら複数のプレイヤキャラクタオブジェクト54が配置された仮想空間50を仮想カメラ58から見た様子を表す画面をゲーム画面として表示部32に表示させる。
【0072】
次に、ゲーム装置10で実行される処理について説明する。図9、図10、及び図11は、ゲーム装置10で所定時間(例えば1/60秒)ごとに実行される処理を示すフロー図である。制御部14が光ディスク36から読み出されたプログラムに従って図9〜図11に示す処理を実行することによって、制御部14はゲーム制御部62として機能するようになる。
【0073】
図9に示すように、制御部14はプレイヤキャラクタオブジェクト54の状態を更新する(S101)。例えば、移動指示操作が行われたか否かが判定され、移動指示操作が行われたと判定された場合にはプレイヤキャラクタオブジェクト54の位置が更新される。また例えば、プレイヤキャラクタオブジェクト54を対象として再生されているアニメーションデータの現在の再生位置が更新される。
【0074】
ステップS101が実行された後、制御部14は攻撃指示操作が行われたか否かを判定する(S102)。すなわち、制御部14は、図4に示す攻撃指示操作のいずれかが行われたか否かを、コントローラ30から供給される操作信号に基づいて判定する。攻撃指示操作が行われていないと判定された場合、制御部14は後述のステップS107の処理を実行する。
【0075】
攻撃指示操作が行われたと判定された場合、制御部14は、仮想空間50に配置された既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っているか否かを判定する(S103)。この判定は図8に示すデータに基づいて行われる。
【0076】
本実施形態の場合、既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っていない場合とは、1体のプレイヤキャラクタオブジェクト54のみが仮想空間50に配置されており、かつ、そのプレイヤキャラクタオブジェクト54が攻撃動作を行っていない場合である。このため、既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っていないと判定された場合、制御部14(第1オブジェクト制御部64)は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作を既存のプレイヤキャラクタオブジェクト54に開始させる(S104)。すなわち、制御部14は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを読み出し、既存のプレイヤキャラクタオブジェクト54を対象として、そのアニメーションデータの再生を開始する。
【0077】
なお、この場合、制御部14は図8に示すデータを更新する。具体的には、既存のプレイヤキャラクタオブジェクト54に対応するレコードの「アニメーションデータ」フィールドに、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを示す情報が登録される。また、同レコードの「再生位置」フィールドに「1」が登録される。
【0078】
一方、既存のプレイヤキャラクタオブジェクト54が攻撃動作を行っていると判定された場合、制御部14(第2オブジェクト制御部66)は、既存のプレイヤキャラクタオブジェクト54とは別に、新たにプレイヤキャラクタオブジェクト54を仮想空間50に配置する(S105)。
【0079】
この場合、制御部14は図8に示すデータに新たなレコードを追加する。新たに追加されたレコードの「順位」フィールドには、仮想空間50に配置されていた既存のプレイヤキャラクタオブジェクト54の数に1を加えた数が登録される。
【0080】
また、仮想空間50に配置されていた既存のプレイヤキャラクタオブジェクト54が1体である場合、そのプレイヤキャラクタオブジェクト54の位置及び向きに基づく位置及び向きが、同レコードの「位置」及び「向き」フィールドに登録される。例えば、既存のプレイヤキャラクタオブジェクト54の位置及び向きが、同レコードの「位置」及び「向き」フィールドに登録される。一方、仮想空間50に配置されていた既存のプレイヤキャラクタオブジェクト54が2体以上である場合、それら既存のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54の位置及び向きに基づく位置及び向きが、同レコードの「位置」及び「向き」フィールドに登録される。例えば、最後に配置されたプレイヤキャラクタオブジェクト54の位置及び向ききが、同レコードの「位置」及び「向き」フィールドに登録される。この処理が実行されることによって、新たに配置されるプレイヤキャラクタオブジェクト54の位置及び向きが、既存のプレイヤキャラクタオブジェクト54の位置及び向きに基づいて設定されることになる。
【0081】
ステップS105の処理が実行された後、制御部14(第2オブジェクト制御部66)は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作を、ステップS105で新たなに配置されたプレイヤキャラクタオブジェクト54に開始させる(S106)。すなわち、制御部14は、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを読み出し、ステップS105で新たなに配置されたプレイヤキャラクタオブジェクト54を対象として、そのアニメーションデータの再生を開始する。
【0082】
この場合、制御部14は図8に示すデータを更新する。すなわち、ステップS105で新たに追加されたレコードの「アニメーションデータ」フィールドに、プレイヤによって行われた攻撃指示操作に対応する攻撃動作のアニメーションデータを示す情報が登録される。また、同レコードの「再生位置」フィールドに「1」が登録される。
【0083】
ステップS104又はS106の処理が実行された場合、制御部14は、仮想空間50に配置されている各敵キャラクタオブジェクト56の状態を更新する(S107)。例えば、制御部14は、仮想空間50に配置されている各敵キャラクタオブジェクト56をAIに従って行動させる。例えば、制御部14は、敵キャラクタオブジェクト56を移動させたり、敵キャラクタオブジェクト56に攻撃動作を行わせたりする。
【0084】
ステップS107の処理が実行された場合、図10に示すように、制御部14(判定部68)は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する(S108)。この判定処理は、攻撃動作を行っているプレイヤキャラクタオブジェクト54ごとに実行される。
【0085】
例えば、制御部14は、プレイヤキャラクタオブジェクト54及び敵キャラクタオブジェクト56の位置に基づいて、プレイヤキャラクタオブジェクト54が攻撃に用いた部位と、敵キャラクタオブジェクト56との間の当たり判定処理を実行する。なお、プレイヤキャラクタオブジェクト54が武器を持っている場合には、その武器と、敵キャラクタオブジェクト56との間の当たり判定処理が実行される。また、プレイヤキャラクタオブジェクト54の攻撃動作が攻撃手段(例えば弾等)を発射するような動作である場合には、その攻撃手段と、敵キャラクタオブジェクト56との間の当たり判定処理が実行される。
【0086】
制御部14は、上記の当たり判定処理の結果に基づいて、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する。プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったと判定されなかった場合、制御部14は後述のステップS112の処理を実行する。
【0087】
一方、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったと判定された場合、制御部14は敵キャラクタのヒットポイントの値を減少させる(S109)。この場合、制御部14は、攻撃の種類とその攻撃によって受けるダメージ値との対応関係を示す情報を光ディスク36から読み出し、敵キャラクタが受けたダメージの値を、敵キャラクタオブジェクト56に当たった攻撃の種類に基づいて決定する。そして、制御部14は、そのダメージの値をヒットポイントの減少量として、敵キャラクタのヒットポイントの値を減少させる。
【0088】
例えば図6に示す状態において、プレイヤキャラクタオブジェクト54Aの攻撃とプレイヤキャラクタオブジェクト54Bの攻撃との両方が敵キャラクタオブジェクト56に当たった場合、制御部14は、プレイヤキャラクタオブジェクト54Aの攻撃によって敵キャラクタが受けたダメージの値を、プレイヤキャラクタオブジェクト54Aが行った攻撃の種類に基づいて算出する。さらに、制御部14は、プレイヤキャラクタオブジェクト54Bの攻撃によって敵キャラクタが受けたダメージの値を、プレイヤキャラクタオブジェクト54Bが行った攻撃の種類に基づいて算出する。そして、制御部14は、それらのダメージの合計値をヒットポイントの減少量として、敵キャラクタのヒットポイントの値を減少させる。
【0089】
ステップS109の処理が実行された場合、制御部14は敵キャラクタのヒットポイントが零になったか否かを判定する(S110)。敵キャラクタのヒットポイントが零になった場合、制御部14は、その敵キャラクタを表す敵キャラクタオブジェクト56を仮想空間50から取り除き(S111)、後述のステップS112の処理を実行する。なお、敵キャラクタのヒットポイントが零になっていない場合、制御部14はステップS111の処理を実行することなく、後述のステップS112の処理を実行する。
【0090】
図10に示す処理が実行された後、図11に示すように、制御部14(判定部68)は、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったか否かを判定する(S112)。なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、制御部14は、それら複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たったか否かを判定する。敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったか否かの判定処理は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たったか否かを判定する場合と同様である(図10のステップS108参照)。
【0091】
敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったと判定されなかった場合、制御部14は後述のステップS116の処理を実行する。一方、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たったと判定された場合、制御部14はプレイヤキャラクタのヒットポイントの値を減少させる(S113)。この場合、制御部14は、攻撃の種類とその攻撃によって受けるダメージ値との対応関係を示す情報を光ディスク36から読み出し、プレイヤキャラクタが受けたダメージの値を、プレイヤキャラクタオブジェクト54に当たった攻撃の種類に基づいて決定する。そして、制御部14は、そのダメージの値をヒットポイントの減少量として、プレイヤキャラクタのヒットポイントの値を減少させる。
【0092】
ステップS113の処理が実行された場合、制御部14はプレイヤキャラクタのヒットポイントが零になったか否かを判定する(S114)。プレイヤキャラクタのヒットポイントが零になった場合、制御部14はゲームオーバー画面を表示部32に表示させる(S115)。この場合、本処理は終了する。
【0093】
一方、プレイヤキャラクタのヒットポイントが零になっていない場合、制御部14はゲーム画面を更新する(S116)。すなわち、制御部14は、仮想カメラ58から見た仮想空間50の様子を表す画像をVRAM上に生成する。そして、VRAM上に生成された画像がゲーム画面として表示部32に表示される。
【0094】
なお、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、制御部14は複数のプレイヤキャラクタオブジェクト54の各々のアルファ値を下記に説明するように設定する。アルファ値は透過度(又は透明度あるいは半透明の程度)を示す数値であり、例えば0〜255の値をとる。例えば、最大値(255)は完全に不透明な状態に対応し、最小値(0)は完全に透明な状態に対応する。すなわち、アルファ値が小さいほど、透過度が高いことを示す。
【0095】
例えば、複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54のアルファ値(α)は下記の式(1)に基づいて設定される。
α=255*(f/F) ・・・ (1)
【0096】
上記の式(1)において、「255」はアルファ値の最大値であり、「*」は乗算演算子である。また、「f」は、プレイヤキャラクタオブジェクト54を対象として現在再生されているアニメーションデータ、すなわち、プレイヤキャラクタオブジェクト54が現在行っている攻撃動作のアニメーションデータの現在の再生位置を示す。例えば、アニメーションデータの30フレーム目を再生中である場合、「f」は「30」になる。また、「F」は、プレイヤキャラクタオブジェクト54を対象として現在再生されているアニメーションデータの全フレーム数を示す。
【0097】
最後に配置されたプレイヤキャラクタオブジェクト54のアルファ値が上記の式(1)に基づいて設定されることによって、最後に配置されたプレイヤキャラクタオブジェクト54の透過度は時間経過に応じて徐々に低くなっていく。すなわち、最後に配置されたプレイヤキャラクタオブジェクト54は透明の状態から不透明な状態へと時間経過に応じて徐々に変化していく。そして、攻撃動作を完了した時点(アニメーションデータの再生が完了した時点)で、最後に配置されたプレイヤキャラクタオブジェクト54は完全に不透明な状態になる。
【0098】
一方、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54のアルファ値(α)は下記の式(2)に基づいて従って設定される。なお、下記の式(2)において、「255」、「*」、「f」、及び「F」は上記の式(1)と同様である。
α=255*((F−f)/F) ・・・ (2)
【0099】
最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54のアルファ値が上記の式(2)に基づいて設定されることによって、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54の透過度は時間経過に応じて徐々に高くなっていく。すなわち、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54は不透明の状態から透明な状態へと時間経過に応じて徐々に変化していく。そして、攻撃動作を完了した時点(アニメーションデータの再生が完了した時点)で、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54は完全に透明な状態になる。
【0100】
ステップS116の処理が実行された後、制御部14は複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されているか否かを判定する(S117)。複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されていない場合、制御部14は本処理を終了する。
【0101】
複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、制御部14はそれら複数のプレイヤキャラクタオブジェクト54のうちに、攻撃動作を完了したプレイヤキャラクタオブジェクト54が存在するか否かを判定する(S118)。攻撃動作を完了したプレイヤキャラクタオブジェクト54が存在しない場合、制御部14は本処理を終了する。
【0102】
攻撃動作を完了したプレイヤキャラクタオブジェクト54が存在する場合、制御部14は、そのプレイヤキャラクタオブジェクト54が、仮想空間50に配置されたプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54であるか否かを判定する(S119)。攻撃動作を完了したプレイヤキャラクタオブジェクト54が、最後に配置されたプレイヤキャラクタオブジェクト54である場合、制御部14は本処理を終了する。
【0103】
攻撃動作を完了したプレイヤキャラクタオブジェクト54が、最後に配置されたプレイヤキャラクタオブジェクト54でない場合、制御部14は、攻撃動作を完了したプレイヤキャラクタオブジェクト54を仮想空間50から取り除く(S120)。この場合、制御部14は、攻撃動作を完了したプレイヤキャラクタオブジェクト54に対応するレコードを図8に示すデータから削除する。また、この場合、攻撃動作を完了したプレイヤキャラクタオブジェクト54が取り除かれたことによって、図8に示すデータに残っている各レコードの「順位」フィールドの値を更新する必要があるため、制御部14は、図8に示すデータに残っている各レコードの「順位」フィールドの値を更新する。以上で本処理は終了する。
【0104】
以上説明したゲーム装置10によれば、中間アニメーションデータを用意しなくても、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示できるようになる。ゲーム装置10によれば、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示することを、データ量の増大を抑えながら実現できるようになる。
【0105】
多くの中間アニメーションデータを用意する必要がある場合にはゲーム開発にかかる作業量も増大する。この点、ゲーム装置10によれば、中間アニメーションデータを用意する必要がなくなるため、プレイヤキャラクタが複数の動作を連続して行う様子をゲーム画面に表示するようなゲームの開発にかかる作業量を軽減することも可能になる。
【0106】
また、例えば図4に示すような対応関係をプレイヤが任意に設定できるようにする場合、従来は、プレイヤが行い得る設定をあらかじめ考慮して、中間アニメーションデータを用意しておく必要があった。その結果、データ量の増大やゲーム開発にかかる作業量の増大を招いてしまうという問題があった。この点、ゲーム装置10によれば、中間アニメーションデータを用意する必要がなくなるため、上記のような問題が生じないようになる。
【0107】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0108】
(A)例えば、更新部70は、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合における敵キャラクタのダメージの大きさを、プレイヤキャラクタオブジェクト54に設定される透過度に対応する大きさに設定するようにしてもよい。例えば、プレイヤキャラクタオブジェクト54の透過度が高いほど、プレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合の敵キャラクタのダメージが小さく(又は大きく)なるようにしてもよい。
【0109】
この場合、透過度(アルファ値)と、敵キャラクタのヒットポイントの更新量を取得するために用いられる情報と、の対応関係を示す情報が記憶部60に記憶される。例えば、下記の式(3)が記憶される。
k=α/128 ・・・ (3)
【0110】
上記の式(3)において、「α」は敵キャラクタオブジェクト56に攻撃を当てたプレイヤキャラクタオブジェクト54に設定される透過度(アルファ値)を示しており、「128」はアルファ値の最大値と最小値との間の中間値を示している。
【0111】
上記の式(3)は、透過度(アルファ値)と係数(k)との対応関係を示す情報になっている。上記の式(3)では、透過度が低くなるほど、係数(k)の値が大きくなるようになっている。後述するように、係数(k)は敵キャラクタのヒットポイントの更新量を算出するために用いられる。
【0112】
この場合、例えば下記の式(4)に基づいて、敵キャラクタが受けるダメージの値(D)が決定される。なお、下記の式(4)において、「Do」は、敵キャラクタオブジェクト56に当たった攻撃の種類に対応するダメージの基本値を示す。
D=Do*k ・・・ (4)
【0113】
この場合、図11のステップS109では次のような処理が実行される。すなわち、まず制御部14は、攻撃の種類とその攻撃によって受けるダメージの基本値との対応関係を示す情報を光ディスク36から読み出し、敵キャラクタオブジェクト56に当たった攻撃の種類に対応するダメージの基本値(Do)を取得する。次に、制御部14は、敵キャラクタオブジェクト56に攻撃を当てたプレイヤキャラクタオブジェクト54に設定される透過度(アルファ値)を取得する。さらに、制御部14はその透過度に対応する係数(k)の値を上記の式(3)に基づいて取得する。そして、制御部14は敵キャラクタが受けたダメージの値を上記の式(4)に基づいて算出する。このダメージの値は敵キャラクタのヒットポイントの減少量に相当する。
【0114】
なお、透過度(アルファ値)と係数(k)との対応関係を示す情報はテーブル形式の情報であってもよい。すなわち、上記の式(3)の代わりに、テーブル形式の情報が記憶されるようにしてもよい。
【0115】
(B)例えば、更新部70は、プレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合におけるプレイヤキャラクタのダメージの大きさを、プレイヤキャラクタオブジェクト54に設定される透過度に対応する大きさに設定するようにしてもよい。例えば、プレイヤキャラクタオブジェクト54の透過度が高いほど、敵キャラクタオブジェクト56の攻撃がプレイヤキャラクタオブジェクト54に当たった場合のプレイヤキャラクタのダメージが小さく(又は大きく)なるようにしてもよい。なお、本変形例(B)では、上記の変形例(A)において説明した方法と同様の方法を用いるようにすればよい。
【0116】
(C)例えば、プレイヤが第2操作を行うべきタイミングを限定するようにしてもよい。すなわち、プレイヤが第2操作を行うべきタイミングを、プレイヤキャラクタオブジェクト54が第1動作を行っている期間内に設定される基準タイミングに限定するようにしてもよい。
【0117】
「基準タイミング」は予め定められていてもよいし、ゲーム制御部62によってその都度定められるようにしてもよい。また、「基準タイミング」は、表示出力又は音声出力を用いて、プレイヤに案内されるようにしてもよい。あるいは、振動機能を有するコントローラ30を振動させることによって、「基準タイミング」がプレイヤに案内されるようにしてもよい。
【0118】
この場合における第2オブジェクト制御部66は、プレイヤキャラクタオブジェクト54が第1動作を行っている期間内に設定される基準タイミングにプレイヤが第2操作を行った場合に限って、第1動作を行うプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に第2動作を行わせることになる。
【0119】
なお、第2操作としてプレイヤが行うべき操作を限定するようにしてもよい。例えば、「第2操作としてプレイヤが行うべき操作」が予め定められた操作に限定されるようにしてもよいし、ゲーム制御部62によってその都度定められる操作に限定されるようにしてもよい。より具体的には、例えば、「第2操作としてプレイヤが行うべき操作」は、図4に示す複数種類の攻撃指示操作のうちから予め選択された操作であってもよい。また例えば、「第2操作としてプレイヤが行うべき操作」は、その都度、図4に示す複数種類の攻撃指示操作のうちからランダムに選択されるようにしてもよい。また、「第2操作としてプレイヤが行うべき操作」は、表示出力又は音声出力を用いて、プレイヤに案内されるようにしてもよい。
【0120】
この場合における第2オブジェクト制御部66は、プレイヤキャラクタオブジェクト54が第1動作を行っている期間内に設定される基準タイミングに、プレイヤが、第2操作としてプレイヤが行うべき操作として設定された操作を行った場合に限って、第1動作を行うプレイヤキャラクタオブジェクト54とは別に、プレイヤキャラクタオブジェクト54を仮想空間50に配置し、該プレイヤキャラクタオブジェクト54に第2動作を行わせることになる。
【0121】
(D)例えば、複数のプレイヤキャラクタオブジェクト54が仮想空間50に配置される場合、表示制御部72は、各プレイヤキャラクタオブジェクト54の色を互いに異なる色に設定するようにしてもよい。
【0122】
例えば、表示制御部72は、各プレイヤキャラクタオブジェクト54の色を、そのプレイヤキャラクタオブジェクト54が仮想空間50に配置された順序(言い換えれば、そのプレイヤキャラクタオブジェクト54が何体目のプレイヤキャラクタオブジェクト54であるか)に基づいて設定するようにしてもよい。具体的には、例えば、1体目のプレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54A)の色を赤色に設定し、2体目のプレイヤキャラクタオブジェクト54(例えば、図6におけるプレイヤキャラクタオブジェクト54B)の色を青色に設定し、3体目のプレイヤキャラクタオブジェクト54の色を緑色に設定するようにしてもよい。この例の場合、配置順序と色との対応関係を示す情報が記憶部60に記憶され、この情報に基づいて、表示制御部72は各プレイヤキャラクタオブジェクト54の色を設定することになる。
【0123】
半透明である多数のプレイヤキャラクタオブジェクト54が仮想空間50に配置されている場合、半透明である多数のプレイヤキャラクタが重なった状態でゲーム画面に表示されるため、個々のプレイヤキャラクタ(個々のプレイヤキャラクタオブジェクト54)をプレイヤが判別し難くなってしまうおそれがある。しかしながら、上記のようにすれば、個々のプレイヤキャラクタ(個々のプレイヤキャラクタオブジェクト54)をプレイヤが判別し易くなるようにすることが可能になる。
【0124】
なお、図9〜図11に示す処理では、最後に仮想空間50に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54は動作を完了した場合に仮想空間50から取り除かれ、最後に仮想空間50に配置されたプレイヤキャラクタオブジェクト54のみが最終的に仮想空間50に残るようになっていた(図11のステップS117〜S120)。表示制御部72は、この最終的に仮想空間50に残るプレイヤキャラクタオブジェクト54の色をプレイヤキャラクタオブジェクト54の本来の色に徐々に戻すようにしてもよい。
【0125】
例えば、他のプレイヤキャラクタオブジェクト54がすべて取り除かれた後で、最終的に仮想空間50に残ったプレイヤキャラクタオブジェクト54の色を時間経過に応じて徐々に本来の色へと変化させるようにしてもよい。あるいは、仮想空間50に配置されるプレイヤキャラクタオブジェクト54が取り除かれるのに従って(言い換えれば、仮想空間50に配置されたプレイヤキャラクタオブジェクト54の数の減少に従って)、最終的に仮想空間50に残ることになるプレイヤキャラクタオブジェクト54の色を本来の色に向けて変化させるようにしてもよい。この場合、他のプレイヤキャラクタオブジェクト54がすべて取り除かれた時点において、最終的に仮想空間50に残ったプレイヤキャラクタオブジェクト54の色が本来の色になっているようにすればよい。なお、この場合、仮想空間50に配置されたプレイヤキャラクタオブジェクト54の数と、最終的に仮想空間50に残ることになるプレイヤキャラクタオブジェクト54の色との対応関係を示す情報が記憶部60に記憶され、この情報に基づいて、最終的に仮想空間50に残ることになるプレイヤキャラクタオブジェクト54の色が設定されることになる。
【0126】
(E)以上に説明した実施形態では、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にのみ、プレイヤキャラクタのヒットポイントが減少するようになっていた。
【0127】
しかしながら、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にも、プレイヤキャラクタのヒットポイントが減少するようにしてもよい。例えば、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最初に配置されたプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にのみ、プレイヤキャラクタのヒットポイントが減少するようにしてもよい。なお、いずれのプレイヤキャラクタオブジェクト54に敵キャラクタオブジェクト56の攻撃が当たった場合にも、プレイヤキャラクタのヒットポイントが減少するようにしてもよい。
【0128】
(F)以上に説明した実施形態では、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のいずれの攻撃が敵キャラクタオブジェクト56に当たった場合にも、敵キャラクタのヒットポイントが減少するようになっていた。
【0129】
しかしながら、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの特定のプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合にのみ、敵キャラクタのヒットポイントが減少するようにしてもよい。例えば、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合にのみ、敵キャラクタのヒットポイントが減少するようにしてもよい。あるいは、最初に配置されたプレイヤキャラクタオブジェクト54の攻撃が敵キャラクタオブジェクト56に当たった場合にのみ、敵キャラクタのヒットポイントが減少するようにしてもよい。
【0130】
(G)以上に説明した実施形態では、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最後に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54が攻撃動作を完了した場合に、そのプレイヤキャラクタオブジェクト54が仮想空間50から取り除かれるようになっていた(図11のステップS117〜S120参照)。すなわち、最後に配置されたプレイヤキャラクタオブジェクト54が仮想空間50に残るようになっていた。
【0131】
しかしながら、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最初に配置されたプレイヤキャラクタオブジェクト54が仮想空間50に残るようにしてもよい。すなわち、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちの、最初に配置されたプレイヤキャラクタオブジェクト54以外のプレイヤキャラクタオブジェクト54が攻撃動作を完了した場合に、そのプレイヤキャラクタオブジェクト54が仮想空間50から取り除かれるようにしてもよい。
【0132】
あるいは、攻撃動作を完了したプレイヤキャラクタオブジェクト54から順に仮想空間50から取り除かれるようにしてもよい。すなわち、仮想空間50に配置されている複数のプレイヤキャラクタオブジェクト54のうちで、最後に攻撃動作を完了したプレイヤキャラクタオブジェクト54が仮想空間50に残るようにしてもよい。
【0133】
(H)例えば、攻撃指示操作(ボタン42,43,44,45)と攻撃動作との対応関係は変化するようにしてもよい。例えば、プレイヤがボタン42,43,44,45を連続して押下した場合、ボタン42が1つ目のボタンとして押下されたか、2つ目のボタンとして押下されたかで、ボタン42に対応する攻撃動作が変わるようにしてもよい。例えば、ボタン42が1つ目のボタンとして押下された場合におけるボタン42に対応する攻撃動作を攻撃動作Aとし、ボタン42が2つ目のボタンとして押下された場合におけるボタン42に対応する攻撃動作を攻撃動作Dとするようにしてもよい。
【0134】
また、上記のような攻撃指示操作と攻撃動作との対応関係をプレイヤが任意に設定できるようにしてもよい。従来、上記のような対応関係をプレイヤが任意に設定できるようにする場合には、プレイヤが行い得る設定をあらかじめ考慮して、中間アニメーションデータを用意しておく必要があった。その結果、データ量の増大やゲーム開発にかかる作業量の増大を招いてしまうという問題があった。この点、ゲーム装置10によれば、中間アニメーションデータを用意する必要がなくなるため、上記のような問題が生じないようになる。
【0135】
(I)例えば、敵キャラクタのヒットポイントの代わりに、敵キャラクタが受けたダメージの累計を示すダメージポイントを記憶するようにしてもよい。なお、ヒットポイントは、敵キャラクタオブジェクト56が攻撃を受けるごとに減少されるのに対し、ダメージポイントは、敵キャラクタオブジェクト56が攻撃を受けるごとに増加される点でヒットポイントとは異なっている。例えば、ダメージポイントは0〜100の値をとり、ダメージポイントの初期値は0に設定される。敵キャラクタのダメージポイントが所定値(100)になると、敵キャラクタは退治されたことになる。なお、同様に、プレイヤキャラクタのヒットポイントの代わりに、プレイヤキャラクタが受けたダメージの累計を示すダメージポイントを記憶するようにしてもよい。
【0136】
(J)本発明は、以上に説明したアクションゲーム以外のゲームにも適用することが可能である。
【符号の説明】
【0137】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスクドライブ、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 表示部、34 音声出力部、36 光ディスク、40 表面、41 方向ボタン群、41U 上ボタン、41D 下ボタン、42L 左ボタン、42R 右ボタン、42,43,43,45 ボタン、46L,46R スティック、50 仮想空間、52 地面オブジェクト、54 プレイヤキャラクタオブジェクト、56 敵キャラクタオブジェクト、58 仮想カメラ、60 記憶部、62 ゲーム制御部、64 第1オブジェクト制御部、66 第2オブジェクト制御部、68 判定部、70 更新部、72 表示制御部。
【特許請求の範囲】
【請求項1】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置において、
前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段と、
前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段と、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記第2オブジェクト制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に配置される前記プレイヤキャラクタオブジェクトの位置を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの、前記第2操作が行われた場合における位置に基づいて設定することを特徴とするゲーム装置。
【請求項3】
請求項1又は2に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であり、
前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果との両方に基づいて、前記パラメータを更新する、
ことを特徴とするゲーム装置。
【請求項4】
請求項1又は2に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果とのいずれか一方に基づく前記パラメータの更新を実行し、他方に基づく前記パラメータの更新を実行しない、
ことを特徴とするゲーム装置。
【請求項5】
請求項1又は2に記載のゲーム装置において、
前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて上げ、かつ、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて下げることを特徴とするゲーム装置。
【請求項6】
請求項5に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であり、
前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、
前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、
前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含む、
ことを特徴とするゲーム装置。
【請求項7】
請求項5に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、
前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、
前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含む、
ことを特徴とするゲーム装置。
【請求項8】
請求項1乃至7のいずれかに記載のゲーム装置において、
前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの色と前記第2動作を行う前記プレイヤキャラクタオブジェクトの色とを互いに異なる色に設定することを特徴とするゲーム装置。
【請求項9】
請求項1乃至8のいずれかに記載のゲーム装置において、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了するより前に、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除き、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了するより前に、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、のいずれか一つを含む、
ことを特徴とするゲーム装置。
【請求項10】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置の制御方法において、
前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御ステップと、
前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御ステップと、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項11】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段、
前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段、及び、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項1】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置において、
前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段と、
前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段と、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記第2オブジェクト制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に配置される前記プレイヤキャラクタオブジェクトの位置を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの、前記第2操作が行われた場合における位置に基づいて設定することを特徴とするゲーム装置。
【請求項3】
請求項1又は2に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であり、
前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たったか否かの判定結果との両方に基づいて、前記パラメータを更新する、
ことを特徴とするゲーム装置。
【請求項4】
請求項1又は2に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果と、前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たったか否かの判定結果とのいずれか一方に基づく前記パラメータの更新を実行し、他方に基づく前記パラメータの更新を実行しない、
ことを特徴とするゲーム装置。
【請求項5】
請求項1又は2に記載のゲーム装置において、
前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて上げ、かつ、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度を時間経過に応じて下げることを特徴とするゲーム装置。
【請求項6】
請求項5に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記第1動作及び前記第2動作は、前記他キャラクタオブジェクトに対する攻撃動作であり、
前記ゲーム装置は、前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、
前記第1動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、
前記第2動作を行う前記プレイヤキャラクタオブジェクトの攻撃が前記他キャラクタオブジェクトに当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含む、
ことを特徴とするゲーム装置。
【請求項7】
請求項5に記載のゲーム装置において、
前記ゲームは、前記プレイヤキャラクタが他のキャラクタと戦うゲームであり、
前記仮想空間には、前記他のキャラクタを表す他キャラクタオブジェクトが配置され、
前記ゲーム装置は、前記他キャラクタオブジェクトの攻撃が前記プレイヤキャラクタオブジェクトに当たった場合に更新されるパラメータを記憶してなる手段に記憶される前記パラメータを更新する更新手段を含み、
前記更新手段は、
前記第1動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第1動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、
前記第2動作を行う前記プレイヤキャラクタオブジェクトに前記他キャラクタオブジェクトの攻撃が当たった場合における前記パラメータの更新量を、前記第2動作を行う前記プレイヤキャラクタオブジェクトの透過度に対応する量に設定する手段と、の少なくとも一方を含む、
ことを特徴とするゲーム装置。
【請求項8】
請求項1乃至7のいずれかに記載のゲーム装置において、
前記表示制御手段は、前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトの色と前記第2動作を行う前記プレイヤキャラクタオブジェクトの色とを互いに異なる色に設定することを特徴とするゲーム装置。
【請求項9】
請求項1乃至8のいずれかに記載のゲーム装置において、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと、前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が前記仮想空間に配置されている場合において、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了するより前に、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了した場合に、前記第1動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除き、前記第1動作を行う前記プレイヤキャラクタオブジェクトが前記第1動作を完了するより前に、前記第2動作を行う前記プレイヤキャラクタオブジェクトが前記第2動作を完了した場合に、前記第2動作を完了した前記プレイヤキャラクタオブジェクトを前記仮想空間から取り除く手段と、のいずれか一つを含む、
ことを特徴とするゲーム装置。
【請求項10】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置の制御方法において、
前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御ステップと、
前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御ステップと、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項11】
プレイヤの操作に従ってプレイヤキャラクタが動作するゲームのゲーム画面として、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトが配置された仮想空間を仮想カメラから見た様子を表す画面を表示手段に表示させるゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記プレイヤによって第1操作が行われた場合、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトに、前記第1操作に対応する第1動作を行わせる第1オブジェクト制御手段、
前記プレイヤキャラクタオブジェクトが前記第1動作を行っている間に前記プレイヤによって第2操作が行われた場合、前記第1動作を行う前記プレイヤキャラクタオブジェクトとは別に、前記プレイヤキャラクタを表すプレイヤキャラクタオブジェクトを前記仮想空間に配置し、該プレイヤキャラクタオブジェクトに、前記第2操作に対応する第2動作を行わせる第2オブジェクト制御手段、及び、
前記第1動作を行う前記プレイヤキャラクタオブジェクトと前記第2動作を行う前記プレイヤキャラクタオブジェクトとの両方が配置された前記仮想空間を前記仮想カメラから見た様子を表す画面を前記ゲーム画面として前記表示手段に表示させる表示制御手段、
として前記コンピュータを機能させるためのプログラム。
【図1】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−213521(P2012−213521A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−81019(P2011−81019)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年3月31日(2011.3.31)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]