(57)【特許請求の範囲】
【請求項１】
仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される記憶部、
プレイヤーからの指示入力を受け付ける受付部、
前記受け付けられた指示入力が、移動指示入力である場合、当該移動指示入力に基づいて、前記記憶部に記憶される前記プレイヤーに対応付けられるキャラクター（以下「自キャラクター」という。）の位置を更新する自位置更新部、
前記記憶部に記憶される前記自キャラクター以外のキャラクター（以下「他キャラクター」という。）の位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する他位置更新部、
前記受け付けられた指示入力が攻撃選択指示入力である場合、前記記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測する推測部、
前記他キャラクターの体力パラメータの変化量が推測されると、前記自位置更新部および前記他位置更新部による前記複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する自攻撃部、
前記記憶部に記憶される前記複数のキャラクターの位置ならびに体力パラメータが更新されると、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する表示部
を備え、
前記表示部は、前記他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、前記画面に表示する
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記他キャラクターの体力パラメータの変化量に対応付けられる特殊効果は、スローモーション効果であり、当該変化量が大きければ大きいほど、当該スローモーション効果の程度を大きくする
ことを特徴とするゲーム装置。
【請求項３】
請求項１または２に記載のゲーム装置であって、
前記受け付けられた指示入力が、最適攻撃指示入力である場合、前記推測部は、前記プレイヤーが選択可能な種類の攻撃のそれぞれについて、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測し、当該変化量が最大の種類の攻撃を最適攻撃として選択し、
前記最適攻撃が選択されると、前記自攻撃部は、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該最適攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する
ことを特徴とするゲーム装置。
【請求項４】
請求項１から３のいずれか１項に記載のゲーム装置であって、
前記推測部は、前記記憶部に記憶される複数のキャラクターのそれぞれの位置のうち、前記自キャラクターの位置が、当該自キャラクターに割り当てられる移動アルゴリズムに基づいて変化するものと仮定することにより、前記他キャラクターの体力パラメータの変化量を推測する
ことを特徴とするゲーム装置。
【請求項５】
記憶部、受付部、自位置更新部、他位置更新部、推測部、自攻撃部、表示部を備えるゲーム装置が実行するゲーム制御方法であって、前記記憶部には、仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶され、
前記受付部が、プレイヤーからの指示入力を受け付ける受付工程、
前記受け付けられた指示入力が、移動指示入力である場合、前記自位置更新部が、当該移動指示入力に基づいて、前記記憶部に記憶される前記プレイヤーに対応付けられるキャラクター（以下「自キャラクター」という。）の位置を更新する自位置更新工程、
前記他位置更新部が、前記記憶部に記憶される前記自キャラクター以外のキャラクター（以下「他キャラクター」という。）の位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する他位置更新工程、
前記受け付けられた指示入力が攻撃選択指示入力である場合、前記推測部が、前記記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測する推測工程、
前記他キャラクターの体力パラメータの変化量が推測されると、前記自攻撃部が、前記自位置更新部および前記他位置更新部による前記複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する自攻撃工程、
前記記憶部に記憶される前記複数のキャラクターの位置ならびに体力パラメータが更新されると、前記表示部が、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する表示工程
を備え、
前記表示工程では、前記他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、前記画面に表示する
ことを特徴とするゲーム制御方法。
【請求項６】
仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される記憶部を備えるコンピュータを、
プレイヤーからの指示入力を受け付ける受付部、
前記受け付けられた指示入力が、移動指示入力である場合、当該移動指示入力に基づいて、前記記憶部に記憶される前記プレイヤーに対応付けられるキャラクター（以下「自キャラクター」という。）の位置を更新する自位置更新部、
前記記憶部に記憶される前記自キャラクター以外のキャラクター（以下「他キャラクター」という。）の位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する他位置更新部、
前記受け付けられた指示入力が攻撃選択指示入力である場合、前記記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測する推測部、
前記他キャラクターの体力パラメータの変化量が推測されると、前記自位置更新部および前記他位置更新部による前記複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する自攻撃部、
前記記憶部に記憶される前記複数のキャラクターの位置ならびに体力パラメータが更新されると、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する表示部
として機能させ、
前記表示部は、前記他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、前記画面に表示する
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、プレイヤーが操作するキャラクター（以下「自キャラクター」という。）と、コンピュータが所定のアルゴリズムに基づいて制御したり他のプレイヤーが制御したりするキャラクター（以下「他キャラクター」という。）と、を対戦させるゲームが提案されている。
【０００３】
ここで、以下に掲げる特許文献１においては、自キャラクターの攻撃フェーズと他キャラクターの攻撃フェーズとを交互に設けるとともに、攻撃の効果を画面に表示するゲームの技術が提案されている。
【０００４】
このようなゲームにおいては、攻撃フェーズにおいて攻撃の効果を事前に正確に得ることができるため、攻撃の威力に合わせた画像表示を行うことは容易である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３４８８２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、自キャラクターと他キャラクターがそれぞれ独立して並行しながら移動したり攻撃したりするゲームにおいては、攻撃フェーズの切り替えという手法は採用できない。このため、自キャラクターの攻撃の威力に合わせた特殊効果を画面表示に施すための、新たな技術が求められている。
【０００７】
本発明は、上記のような課題を解決するもので、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００９】
本発明の第１の観点に係るゲーム装置は、記憶部、受付部、自位置更新部、他位置更新部、推測部、自攻撃部、表示部を備え、以下のように構成する。
【００１０】
すなわち、記憶部には、仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される。
【００１１】
上記のように、複数のキャラクターには、自キャラクターと他キャラクターの２種類がある。体力パラメータは、いわゆるＨＰ（Hit Point）に相当するものであり、体力パラメータが正である間は、そのキャラクターは生存しており、体力パラメータが０になったり、攻撃を受けて負になったりした場合には、そのキャラクターは死んだことになる。
【００１２】
一方、受付部は、プレイヤーからの指示入力を受け付ける。
【００１３】
指示入力は、コントローラ等を介して受け付けられる。また、ここで受け付けられる指示入力には、自キャラクターの位置を移動する旨の移動指示入力や、自キャラクターに所望の種類の攻撃をさせる旨の攻撃選択指示入力などがある。
【００１４】
さらに、受け付けられた指示入力が、移動指示入力である場合、当該移動指示入力に基づいて、自位置更新部は、記憶部に記憶される自キャラクターの位置を更新する。
【００１５】
典型的には、自キャラクターの移動指示入力は、コントローラが有する矢印キーやジョイスティックを介して受け付けられ、自キャラクターの位置は、プレイヤーが指示した方向に移動する。移動指示入力がなされているか否かは、定期的、たとえば、垂直同期割込周期ごとにチェックされる。そして、そのチェック結果に基づいて、所定の変位量だけ、自キャラクターの位置が変化することになる。
【００１６】
そして、他位置更新部は、記憶部に記憶される他キャラクターの位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する。
【００１７】
他キャラクターがいわゆるＮＰＣ（Non-Player Character）である場合には、他キャラクターに移動や攻撃を行わせるためのアルゴリズムがあらかじめ用意され、そのアルゴリズムに合わせて計算を行うことによって、他キャラクターの位置が更新される。また、他キャラクターが、いわゆるＰＣ（Player Character）である場合には、他のプレイヤーの指示入力に基づいて、自キャラクターの位置を更新するのと同様に、他キャラクターの位置が更新される。
【００１８】
他キャラクターがＰＣである場合、他のプレイヤーは、同じゲーム装置に接続された他のコントローラを介して指示入力を与えることとしても良いし、コンピュータ通信網を介して接続された他のゲーム装置に接続された他のコントローラを介して指示入力を与えることとしても良い。
【００１９】
一方、受け付けられた指示入力が攻撃選択指示入力である場合、推測部は、記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、他キャラクターの体力パラメータの変化量を推測する。
【００２０】
本発明に係るゲームでは、プレイヤーが攻撃を指示すると、自キャラクターは攻撃を開始し、所定の条件が満たされるまでその攻撃を継続し、その後、攻撃を終了する。また、攻撃の効果、すなわち、他キャラクターの体力パラメータの減少量は、自キャラクターと他キャラクターの位置関係によって定められ、両者が近ければ近いほど攻撃の効果も大きいように設定される。
【００２１】
このようなゲームにおいては、攻撃開始から攻撃終了までに時間を要することになるが、上記のように、この間、他キャラクターは移動する。なお、自キャラクターによる攻撃を開始してから終了するまでの間に、プレイヤーの移動指示入力に基づいて、自キャラクターを移動可能としても良い。
【００２２】
このような態様では、攻撃の効果を事前に判定することは難しい。そこで本発明では、攻撃選択指示入力がなされた場合に、まず、自キャラクターも他キャラクターも移動しない、と仮定し、それ以外はそのまま通常のゲームのルールに基づいて、他キャラクターの体力パラメータの変化量を求めることとする。そして、他キャラクターの体力パラメータの変化の総量を、当該攻撃の威力の推定値とするのである。
【００２３】
さらに、自攻撃部は、他キャラクターの体力パラメータの変化量が推測されると、自位置更新部および他位置更新部による複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する。
【００２４】
上記のように、攻撃選択指示入力がされた後は、まず推測部が動作して、その攻撃の威力を推定する。次に、自攻撃部が動作して、実際の攻撃処理が行われる。
【００２５】
なお、上記のように、攻撃の威力の推定の際には、キャラクターの位置が変化しないことを仮定するので、自攻撃部による実際の攻撃の威力と、推定された攻撃の威力とには、一般には違いがある。
【００２６】
一方、表示部は、記憶部に記憶される複数のキャラクターの位置ならびに体力パラメータが更新されると、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する。ここで、表示部は、他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、画面に表示する。
【００２７】
上記のように、実際の攻撃の威力とその推定値とには差があるが、実際の攻撃の威力は、攻撃が終了するまで知得はできない。そこで、本発明においては、推定値を用いて、攻撃が開始されてから終了するまでの間の画像に対しても、特殊効果を施すのである。
【００２８】
本発明によれば、自キャラクターの攻撃の間に他キャラクターが移動し、自キャラクターと他キャラクターとの位置関係に基づいて攻撃の効果が定まるようなゲームであっても、攻撃の威力を適切に推定し、その威力に合わせて特殊効果を施すことができるようになる。
【００２９】
また、本発明のゲーム装置において、他キャラクターの体力パラメータの変化量に対応付けられる特殊効果は、スローモーション効果であり、当該変化量が大きければ大きいほど、当該スローモーション効果の程度を大きくするように構成することができる。
【００３０】
本発明は、上記発明の好適実施形態に係るものである。本発明においては、攻撃が開始されてから終了するまでの間、スローモーションによる特殊効果が施される。攻撃の威力が大きい場合には、攻撃を受ける他キャラクターの数が多いか、あるいは、他キャラクター単体が受ける攻撃の回数が多い場合が多い。
【００３１】
したがって、本発明によれば、スローモーション表示をすることによって、各攻撃の詳細をプレイヤーに見せることができるようになる。また、本発明によれば、スローモーション表示の程度によって、攻撃の威力をプレイヤーに知らせることができる。
【００３２】
また、本発明のゲーム装置は、以下のように構成することができる。
【００３３】
すなわち、受け付けられた指示入力が、最適攻撃指示入力である場合、推測部は、プレイヤーが選択可能な種類の攻撃のそれぞれについて、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該複数のキャラクターの体力パラメータの変化量を計算して、他キャラクターの体力パラメータの変化量を推測し、当該変化量が最大の種類の攻撃を最適攻撃として選択する。
【００３４】
攻撃選択指示入力は、攻撃の種類をプレイヤーが選択するものであるが、最適攻撃指示入力は、複数の種類の攻撃から最適なものをゲーム装置に選択させるためのものである。
【００３５】
上記のように、推測部は、キャラクターの位置を変化させない前提で、攻撃の威力を推定する。本発明では、利用可能な複数の種類の攻撃のそれぞれについて、攻撃の威力が推定される。そして、威力の推定値が最も大きい攻撃が、最適攻撃に選ばれる。
【００３６】
さらに、最適攻撃が選択されると、自攻撃部は、当該複数のキャラクターの変化する位置ならびに所定のルールに基づいて、当該最適攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する。
【００３７】
すなわち、プレイヤーが最適攻撃指示入力を選択した場合には、プレイヤーが攻撃の種類を選択しなくとも、最も威力が強いと予想される攻撃が自動的に選択されて、他キャラクターに対する攻撃が行われる。
【００３８】
本発明によれば、プレイヤーは、攻撃の種類を検討しなくとも、適切と予想される攻撃を自動的に選ばせることが可能となる。
【００３９】
また、本発明のゲーム装置において、推測部は、記憶部に記憶される複数のキャラクターのそれぞれの位置のうち、自キャラクターの位置が、当該自キャラクターに割り当てられる移動アルゴリズムに基づいて変化するものと仮定することにより、他キャラクターの体力パラメータの変化量を推測するように構成することができる。
【００４０】
すなわち、上記の発明においては、推定の際には、全キャラクターが移動しないものと仮定していたが、本発明においては、自キャラクターのみが移動する、と仮定する。したがって、他キャラクターの位置は、推定の際には変化しない。
【００４１】
特に多数のキャラクターが登場する場合には、キャラクターの移動アルゴリズムを計算するための計算負荷が大きいことが多い。一方、本発明では、自キャラクターの位置のみを移動させることとしている。
【００４２】
したがって、本発明によれば、攻撃の威力の推定の際に、計算負荷は抑制しつつその推測の精度を高めることが可能となる。
【００４３】
本発明の他の観点に係るゲーム制御方法は、記憶部、受付部、自位置更新部、他位置更新部、推測部、自攻撃部、表示部を備えるゲーム装置が実行し、受付工程、自位置更新工程、他位置更新工程、推測工程、自攻撃工程、表示工程を備え、以下のように構成する。
【００４４】
すなわち、記憶部には、仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される。
【００４５】
一方、受付工程では、受付部が、プレイヤーからの指示入力を受け付ける。
【００４６】
さらに、自位置更新工程では、受け付けられた指示入力が、移動指示入力である場合、自位置更新部が、当該移動指示入力に基づいて、記憶部に記憶される自キャラクターの位置を更新する。
【００４７】
そして、他位置更新工程では、他位置更新部が、記憶部に記憶される他キャラクターの位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する。
【００４８】
一方、推測工程では、受け付けられた指示入力が攻撃選択指示入力である場合、推測部が、記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、他キャラクターの体力パラメータの変化量を推測する。
【００４９】
さらに、自攻撃工程では、他キャラクターの体力パラメータの変化量が推測されると、自攻撃部が、自位置更新部および他位置更新部による複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する。
【００５０】
そして、表示工程では、記憶部に記憶される複数のキャラクターの位置ならびに体力パラメータが更新されると、表示部が、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する。
【００５１】
また、表示工程では、他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、画面に表示する。
【００５２】
本発明のその他の観点に係るプログラムは、コンピュータを上記のゲーム装置として機能させるように構成する。
【００５３】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００５４】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００５５】
本発明によれば、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００５６】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態に係るコントローラの外観を示す模式図である。
【図３】本発明の実施形態に係るゲーム装置の概要構成を示す説明図である。
【図４】ゲーム装置にて実行される制御処理の流れを示すフローチャートである。
【図５】ゲーム装置にて実行される制御処理の流れを示すフローチャートである。
【図６】画像の例を示す説明図である。
【図７】威力推定処理の詳細を示すフローチャートである。
【図８】最適攻撃処理の制御の流れを示すフローチャートである。
【図９】攻撃の威力に応じた特殊効果を施した後の画像を示す説明図である。
【図１０】攻撃の威力に応じた特殊効果を施した後の画像を示す説明図である。
【発明を実施するための形態】
【００５７】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【００５８】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００５９】
図１は、プログラムを実行することにより、本実施形態のゲーム装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００６０】
本図に示す情報処理装置１００は、いわゆるコンシューマゲーム機に相当するもので、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、インターフェース１０４、コントローラ１０５、外部メモリ１０６、画像処理部１０７、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８、ＮＩＣ（Network Interface Card）１０９、音声処理部１１０、マイク１１１、ハードディスク（Hard Disk；ＨＤ）１２１を有する。各種の入出力装置は、適宜省略することができる。
【００６１】
情報処理装置１００を典型的なコンシューマゲーム機として機能させる場合には、ゲーム用プログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着し、電源を投入する。すると、当該ゲームプログラムが実行され、ゲームをプレイすることができるようになる。
【００６２】
ただし、本実施形態においては、典型的には、ＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭから、アプリケーションをＨＤ  １２１にインストールする。そして、当該ＨＤ  １２１に記憶されたプログラムを実行することによって、ゲームを含む各種のアプリケーションを実行することとする。
【００６３】
なお、携帯型のゲーム装置においては、携帯可能とするために、ＤＶＤ−ＲＯＭドライブ１０８を利用するのではなく、ＲＯＭカセット用スロットにＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）カセットを装着して、ＨＤ  １２１を省略したりすることも可能である。この場合、アプリケーション用プログラムをＥＥＰＲＯＭカセットに書き込んだ上で、当該プログラムを実行することとなる。このほか、外部メモリ１０６にアプリケーション用プログラムをインストールすることも可能である。
【００６４】
さて、ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００６５】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００６６】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＨＤ  １２１やＤＶＤ−ＲＯＭ等から読み出したプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００６７】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００６８】
なお、コントローラ１０５は、必ずしも情報処理装置１００に対して外付けにされている必要はなく、一体に形成されていても良い。携帯可能なゲーム装置のコントローラ１０５は、各種のボタンやスイッチから構成され、これらの押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置１００では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。
【００６９】
図２は、コントローラ１０５の外観を示す説明図である。以下、本図を参照して説明する。
【００７０】
コントローラ１０５の左方には、上下左右を示す操作入力を行うのに利用される↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４が配置されている。
【００７１】
右方には、決定操作入力を行うのに利用される○ボタン２０５、取消操作入力を行うのに利用される×ボタン２０６、メニュー表示等の指示入力を行うのに利用される△ボタン２０７、その他の指示入力を行うのに利用される□ボタン２０８が配置されている。
【００７２】
中央には、ＳＥＬＥＣＴボタン２０９、ＳＴＡＲＴボタン２１０のほか、アナログ入力の開始・停止を指示するためのＡＮＡＬＯＧボタン２１１、および、アナログ入力が有効か無効かを表示するためのインジケータ２１２が配置されている。
【００７３】
また中央下部には、上下左右に限らない方向に大きさを伴う指示入力を行うためのジョイスティック２１３、２１４が配置されている。
【００７４】
さらに、上方には、各種の指示入力に用いることができるＬ１ボタン２１５、Ｌ２ボタン２１６、Ｒ１ボタン２１７、Ｒ２ボタン２１８が配置されている。
【００７５】
コントローラ１０５の各ボタン２０１〜２０８、２１５〜２１８には、圧力センサが配備され、アナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを０〜２５５の２５６段階で得ることができる。
【００７６】
コントローラ１０５のジョイスティック２１３、２１４には、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
【００７７】
図１に戻り、インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００７８】
上述の通り、アプリケーションプログラムを外部メモリ１０６にインストールして実行するような形態を採用することもできる。これは、外部メモリ１０６が大容量である場合に好適である。
【００７９】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００８０】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００８１】
携帯可能なゲーム装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的であり、コントローラ１０５としてタッチスクリーンを利用する場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶためのゲーム装置のモニタとしては、ＣＲＴ（Cathode Ray Tube）やプラズマディスプレイ、大型の液晶ディスプレイなどの表示装置を利用することも可能である。
【００８２】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００８３】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００８４】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００８５】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮを構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００８６】
また、ＮＩＣ  １０９経由でコンピュータ通信網から入手した情報を元に、ＨＤ  １２１等にアプリケーションプログラムをインストールすることも可能である。
【００８７】
音声処理部１１０は、ＨＤ  １２１やＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン（図示せず）、イヤフォン（図示せず）から出力させる。
【００８８】
音声処理部１１０では、ＨＤ  １２１やＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００８９】
さらに、情報処理装置１００には、インターフェース１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００９０】
本実施形態で利用する情報処理装置１００は、上述のように、ＨＤ  １２１等の大容量外部記憶装置を用いるのが典型的である。ＨＤ  １２１は、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすこともできる。
【００９１】
このほか、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。
【００９２】
さらに、本実施形態では、リアルタイムクロック（図示せず）もしくはＮＩＣ  １０９を介してＮＴＰ（Network Time Protocol）サーバに対して時刻を問い合わせる機能を採用して、情報処理装置１００を利用している日時の情報を利用することとしている。
【００９３】
以上で説明した情報処理装置１００は、コンシューマ向けゲーム装置に相当するものであるが、各種の入出力処理が可能な電子機器であれば、本発明のゲーム装置やサーバ装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明のゲーム装置やサーバ装置を実現することが可能である。
【００９４】
たとえば、ビジネス用コンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣ、ＨＤを構成要素として有するほか、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっており、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用するのが典型的である。
【００９５】
（ゲーム装置）
図３は、本発明の実施形態に係るゲーム装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００９６】
ゲーム装置３０１は、記憶部３０２、受付部３０３、自位置更新部３０４、他位置更新部３０５、推測部３０６、自攻撃部３０７、表示部３０８を備える。
【００９７】
以下、まず、各部の機能の概要ならびに情報処理装置１００との関係について説明する。
【００９８】
本実施形態では、ゲーム装置３０１は、情報処理装置１００において、ＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭから読み出したプログラムや、ＨＤ  １２１に記録されたプログラムをＣＰＵ  １０１が実行することによって実現される。
【００９９】
ここで、記憶部３０２は、各種情報の一時的な保存領域として機能するＲＡＭ  １０３により実現される。記憶部３０２には、ゲームに登場するキャラクターの仮想空間内における位置や体力パラメータ等が記憶される。
【０１００】
一方、受付部３０３は、コントローラ１０５や、コントローラ１０５と画像処理部１０７を制御するＣＰＵ  １０１とモニタとにより構成されるＧＵＩ（Graphical User Interface）により実現され、プレイヤーからの指示入力を受け付ける。
【０１０１】
さらに、自位置更新部３０４は、ＣＰＵ  １０１がコントローラ１０５やＲＡＭ  １０３等を参照することにより実現され、プレイヤーからの移動指示入力に基づいて記憶部３０２に記憶される自キャラクターの位置を更新する。
【０１０２】
そして、他位置更新部３０５は、ＣＰＵ  １０１がコントローラ１０５やＲＡＭ  １０３等を参照することにより実現され、所定のアルゴリズムや他のプレイヤーからの指示入力に基づいて、記憶部３０２に記憶される他キャラクターの位置を更新する。
【０１０３】
一方、推測部３０６は、プレイヤーから攻撃に係る指示入力が与えられると、他キャラクターの位置を固定したまま、当該攻撃のシミュレーションを試みる。そして、当該攻撃によって他キャラクターの体力パラメータがどれだけ減少するかを推定し、その総量を求める。推測部３０６は、ＣＰＵ  １０１がＲＡＭ  １０３等を参照することにより実現される。
【０１０４】
さらに、自攻撃部３０７は、ＣＰＵ  １０１がＲＡＭ  １０３等を参照することにより実現され、推測部３０６による推定がなされると、実際の攻撃をゲームのルールに基づいて実行し、記憶部３０２に記憶されるキャラクターの体力パラメータを更新する。
【０１０５】
そして、表示部３０８は、記憶部３０２に記憶される情報が更新されると、その情報に基づいて仮想世界の様子を表す画像を生成して、画面に表示する。典型的には、表示部３０８は、ＣＰＵ  １０１の制御の下、画像処理部１０７が機能することにより実現され、画像を生成してから垂直同期割込が生じるのを待機し、その後に画像をモニタに転送する。
【０１０６】
ここで、自攻撃部３０７による攻撃がなされている間、表示部３０８は、推測部３０６により推定された総量に基づいて定められる特殊効果、たとえばスローモーション効果を画像に施してから画面に表示する。
【０１０７】
（ゲームの制御処理）
以下では、ゲーム装置３０１にて実行される処理の詳細を説明する。図４、図５は、ゲーム装置３０１にて実行される制御処理の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１０８】
上記のように、ＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭやＨＤ  １２１に記録されたプログラムをＲＡＭ  １０３に読み出して、ＣＰＵ  １０１が実行することを契機に、本制御処理が開始される。
【０１０９】
処理が開始されると、ＣＰＵ  １０１は、記憶部３０２を構成するＲＡＭ  １０３の初期化を行う（ステップＳ４０１）。初期化される情報には、以下のようなものがある。
（ａ）仮想空間内における各キャラクターの位置。
（ｂ）各キャラクターの体力パラメータ。
（ｃ）ゲーム内時刻および時間の刻み幅。
（ｄ）画像に施す特殊効果の種類。
【０１１０】
上記のように、複数のキャラクターには、自キャラクターと他キャラクターの２種類がある。
【０１１１】
体力パラメータは、いわゆるＨＰ（Hit Point）に相当するものであり、体力パラメータが正である間は、そのキャラクターは生存しており、体力パラメータが０になったり、攻撃を受けて負になったりした場合には、そのキャラクターは死んだことになる。
【０１１２】
また、体力パラメータとして、当該キャラクターが生存しているときには１、死んでいるときには０となるようなフラグ情報を採用することも可能である。
【０１１３】
このほか、各キャラクターには自キャラクターか他キャラクターかの区別がある。さらに、他キャラクターには、ＮＰＣかＰＣかの区別がある。
【０１１４】
他キャラクターがＮＰＣの場合には、キャラクターの属性に応じて、移動や攻撃のアルゴリズムが決定されるため、これらの属性情報も記憶される。
【０１１５】
また、ゲーム内時刻は、仮想空間における時間経過を表す。
【０１１６】
後述するように、本実施形態では、垂直同期割込周期に合わせてゲームの状態の更新が繰り返し行われる。時間の刻み幅は、この繰り返しの一単位において、ゲーム内時刻がどれだけ進行するか、を表す情報である。
【０１１７】
たとえば、垂直同期割込周期が１／６０秒である場合に、時間刻み幅を１／６０秒よりも短く設定すれば、ゲーム内世界は現実世界に比べてスローモーションで時間進行することになる。
【０１１８】
ステップＳ４０１においては、時間刻み幅を１／６０秒、すなわち、繰り返しの周期の値に設定する。このように設定すると、ゲーム内時間は、現実の時間と同じ速度で進むことになる。
【０１１９】
さらに、現在実行されている攻撃の種類、ならびに、画像に施す特殊効果は、「なし」に初期設定される。
【０１２０】
ついで、ＣＰＵ  １０１は、画像処理部１０７を駆動して、ＲＡＭ  １０３に記憶される情報に基づいて、仮想空間内の様子を表す画像をＲＡＭ  １０３内に生成する（ステップＳ４０２）。
【０１２１】
図６は、ステップＳ４０２にて生成される画像の例を示す説明図である。以下、本図を参照して説明する。なお、本図では、理解を容易にするため、適宜符号を省略している。
【０１２２】
本図に示すように、画像４０１では、斜線が引かれた人型の自キャラクター４０２が、ほぼ中央に配置されている。また、白色の人型の他キャラクター４０３は、自キャラクター４０２のその周囲に配置されている。
【０１２３】
本実施形態において、自キャラクター４０２が画像４０１の中央に配置されるのは、自キャラクター４０２が仮想空間内を移動すると、仮想空間において画像４０１内に描画される領域も連動して移動する態様を採用しているからである。なお、仮想空間において画像４０１内に描画される領域を、プレイヤーの指示に基づいて、適宜変更するような態様を採用しても良い。
【０１２４】
このような画像を生成するにあたっては、ＲＡＭ  １０３に記憶される各キャラクターの位置の情報が使用される。
【０１２５】
本図では、特段の特殊効果を施してはおらず、ゲーム内時刻における仮想空間の様子がそのまま描画されている。ただし、特殊効果を施す旨がＲＡＭ  １０３内に記憶されていれば、これに対応する特殊効果を、画像生成の際に付加することも可能である。特殊効果の例については、後述する。
【０１２６】
ＲＡＭ  １０３内に生成された画像４０１は、ＣＰＵ  １０１が垂直同期割込を待機した（ステップＳ４０３）後、画像処理部１０７を制御してＲＡＭ  １０３からモニタに情報を転送させることによって、画面に表示される（ステップＳ４０４）。このように、画像の転送を垂直同期割込周期に同期させることによって、画面表示の際の表示のちらつきを防止することができる。
【０１２７】
ついで、ＣＰＵ  １０１は、コントローラ１０５の状態を調べ、指示入力の有無ならびにその種類を判定する（ステップＳ４０５）。したがって、本実施形態では、垂直同期割込が生じるたびに、指示入力のチェックを行うことになる。
【０１２８】
本実施形態では、指示入力として、以下のようなものを想定している。
（ａ）自キャラクターの位置を移動する旨の移動指示入力。本実施形態では、プレイヤーがコントローラ１０５の↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４やジョイスティック２１３を操作すると、その操作方向に自キャラクターを移動させようとする移動指示入力がなされたと見なされる。
（ｂ）自キャラクターに所望の種類の攻撃をさせる旨の攻撃選択指示入力。本実施形態では、自キャラクターは４種類の攻撃が可能であることを想定している。各攻撃の種類は、コントローラ１０５のＬ１ボタン２１５、Ｌ２ボタン２１６、Ｒ１ボタン２１７、Ｒ２ボタン２１８に対応付けられている。
（ｃ）最適な攻撃を自動的に選択させて、自キャラクターにその攻撃をさせる旨の最適攻撃指示入力。本実施形態では、コントローラ１０５の○ボタン２０５の押圧操作が、最適攻撃指示入力に相当する。
【０１２９】
なお、上記のようなコントローラ１０５による操作のみならず、これらとＧＵＩの組み合わせ（たとえば、△ボタン２０７を押圧操作して階層的に構成されたメニュー表示を行い、↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４を用いてメニュー内を移動して、所望の指示入力を選択する等。）を採用することとしても良い。
【０１３０】
さて、移動指示入力がなされていることが判明した場合（ステップＳ４０５；移動）、ＣＰＵ  １０１は、コントローラ１０５の操作状態から、移動方向を特定する。そして、ＲＡＭ  １０３内に記憶される自キャラクターの位置を、特定された移動方向に、所定の移動量だけ変化させる。この処理によって、自位置更新部３０４による自キャラクターの位置の更新が行われるのである（ステップＳ４０６）。
【０１３１】
ここで、移動量、すなわち、キャラクターの位置の変位は、垂直同期割込周期の時間の間に自キャラクターが仮想空間内を移動できる距離に相当するものである。
【０１３２】
ついで、ＣＰＵ  １０１は、ＲＡＭ  １０３内に記憶される他キャラクターの位置を、所定の移動アルゴリズムに基づいて更新してから（ステップＳ４０７）、ステップＳ４５２に進む。
【０１３３】
本実施形態では、プレイヤー１人がゲームを行う状況を想定しているため、他キャラクターはすべてＮＰＣである。したがって、あらかじめ定めた移動アルゴリズムに基づいて、他キャラクターが移動する。
【０１３４】
このような移動アルゴリズムとしては、たとえば以下のようなものが考えられる。
（ａ）キャラクターに対する基準位置が定められており、その周辺をランダムウォークする態様。
（ｂ）上記（ａ）において、自キャラクターに近付く確率が高くなるように、ランダムウォークする態様。
（ｃ）自キャラクターを追尾するように移動する態様。
（ｄ）自キャラクターとの間では引力が働き、自身以外の他キャラクターとの間では斥力が働くような物理シミュレーションによって、キャラクターを移動させる態様。
（ｅ）上記（ｄ）において、自身以外の他キャラクターのうち、体力パラメータが最も低い他キャラクターとの間では、斥力ではなく引力が働くような態様。
（ｆ）特定の他キャラクターを追尾するように移動する態様。
【０１３５】
これらは、単独で利用することとしても良いし、他キャラクターの属性ごとに異なるアルゴリズムを採用しても良いし、
【０１３６】
また、複数のプレイヤーが対戦するような状況では、他のプレイヤーからの指示入力に基づいて他キャラクターを移動させることになる。情報処理装置１００に複数のコントローラ１０５が装着されている場合には、他のプレイヤーからの操作入力は、各コントローラ１０５から入力されることになる。また、ネットワーク対戦の場合には、ＮＩＣ  １０９を介して接続された他の情報処理装置１００から、他のプレイヤーからの指示入力が与えられる。
【０１３７】
ステップＳ４０７の処理は、他キャラクターのそれぞれについて行う必要があるため、計算量の負担が大きい。そこで、本実施形態では、攻撃の威力の推定に際して、ステップＳ４０７に相当する処理を省略することによって、推定の間、他キャラクターの位置をそのまま維持する点に特徴の一つがある。
【０１３８】
攻撃選択指示入力がされている場合（ステップＳ４０５；攻撃）、攻撃選択指示入力に指定される攻撃の種類を威力推定処理に与えて実行し、その攻撃の威力を推定する（ステップＳ４０８）。
【０１３９】
ここで、攻撃の威力とは、その攻撃によって、他キャラクターが受けるダメージ、すなわち、他キャラクターの体力パラメータがどれだけ減少するか、の変化量の総量に相当すると考えられる。本実施形態では、攻撃の威力を、実際に攻撃を行う場合と類似する手法で推定する。そこで、攻撃の威力の推定の詳細については、後述するものとし、まず、実際に攻撃を行う場合の手法について説明する。
【０１４０】
攻撃の威力が推定されたら、当該威力の大きさに対応付けられる時間長を時間刻み幅とするように、ＲＡＭ  １０３を更新する（ステップＳ４０９）。
【０１４１】
攻撃の威力が小さい場合には、ここで設定される時間長は垂直同期割込周期に近い値であり、攻撃の威力が大きくなると、時間長が短くなるように設定すると、画像に施す特殊効果として、スローモーション効果を選択したことになる。
【０１４２】
なお、スローモーション効果以外の特殊効果を採用する場合には、ステップＳ４０９において、その特殊効果の種類を、ＲＡＭ  １０３内に記憶する。
【０１４３】
また、スローモーション効果を採用しない場合には、時間刻み幅は定数とすることになるので、更新は不要である。
【０１４４】
そして、以下の処理を、攻撃が完了するまで繰り返す（ステップＳ４１０）。上記のように、本実施形態では、攻撃が開始されてから終了するまである程度の時間を要することを想定している。また、繰り返しの時間単位は、垂直同期割込周期である。
【０１４５】
まず、自キャラクターが他キャラクターのうち、いずれを攻撃の対象とするかを選択する（ステップＳ４１１）。なお、体力パラメータが０または負のキャラクターは、すでに「死んでいる」ことになるので、選択の対象からは除去される。
【０１４６】
具体的な選択の手法としては、以下のような態様がありうる。
（ａ）自キャラクターに最も近い他キャラクター。両者の距離は、ユークリッド距離やマンハッタン距離等により計算される。
（ｂ）実行中の攻撃の種類の射程範囲内で、自キャラクターに最も近い他キャラクター。攻撃に指向性がある場合の態様である。
（ｃ）上記（ａ）（ｂ）において、前回の繰り返し単位において攻撃の対象となった他キャラクターが最も近い場合には、次に近い他キャラクターを攻撃対象とする態様。同じ他キャラクターのみに攻撃をするのではなく、広く分散して攻撃の対象とする態様である。
（ｄ）ランダムに他キャラクターを選択する態様。すべての他キャラクターについて同じ確率で選択されることとしても良いし、自キャラクターとの距離が近ければ近いほど高い確率で選択されるような態様を採用しても良い。
（ｅ）上記（ａ）〜（ｄ）において、複数の他キャラクターを選択する態様。近さの順に上位のキャラクターを複数選択したり、ランダム選択を複数回繰り返すことによって攻撃対象を選択するものである。
【０１４７】
なお、以下では、理解を容易にするため、他キャラクターは１人だけ選択されるものとする。
【０１４８】
次に、選択された他キャラクターに対して、当該攻撃が与える体力パラメータの変化量を計算する（ステップＳ４１２）。ここでいう「変化量」は、体力パラメータがどれだけ減少するか、を表す量であるが、体力パラメータが、他キャラクターの生死を表すフラグ情報である場合には、他キャラクターが死ぬのであれば「１」、そのまま生存し続けるのであれば「０」が採用される。
【０１４９】
一般には、体力パラメータの変化量は、自キャラクターと他キャラクターの距離が近ければ近いほど大きい。また、適宜乱数を利用して変化量を定める場合には、キャラクター同士の距離が小さければ小さいほど、その乱数の平均値が大きくなるように設定するのが典型的である。
【０１５０】
このほか、攻撃の種類や、自キャラクターと他キャラクターの体力パラメータの差や比などに応じて、変化量を定めることとしても良い。たとえば、自キャラクターが他キャラクターに比べて体力パラメータが大きければ大きいほど、変化量も大きくなる、等である。
【０１５１】
そして、ＲＡＭ  １０３に記憶される体力パラメータのうち、当該選択されたキャラクターの体力パラメータから、ステップＳ４１２にて計算された変化量を減算する（ステップＳ４１３）。
【０１５２】
このようにして、ある他キャラクターに対する一回の攻撃が行われる。ただし、ステップＳ４１１において、攻撃の対象を「なし」と選択することもできるような態様も考えられる。
【０１５３】
たとえば、前回の攻撃がされたゲーム内時刻から所定のゲーム内時間が経過しないと、次の攻撃ができない等とする態様や、乱数を用いて攻撃の可否を定める態様、ならびにこれらの組み合わせ等である。これは、後述する他キャラクターから自キャラクターへの攻撃についても、同様である。これらの態様では、適宜ＲＡＭ  １０３内のゲーム内時刻が参照される。
【０１５４】
ついで、現在生存中の他キャラクターのそれぞれについて、以下の処理を繰り返す（ステップＳ４１４〜）。
【０１５５】
まず、当該他キャラクターが自キャラクターを攻撃するか否かを判定する（ステップＳ４１５）。攻撃するか否かは、他キャラクターと自キャラクターの距離や攻撃の射程範囲、乱数などにより決定されるのが典型的である。いずれの他キャラクターを自キャラクターの攻撃の対象とするかの判定基準と同様の判定基準を採用しても良い。
【０１５６】
当該他キャラクターが自キャラクターを攻撃しない場合（ステップＳ４１５；Ｎｏ）、ステップＳ４１８に進む。一方、攻撃する場合（ステップＳ４１５；Ｙｅｓ）、自キャラクターがその攻撃によって受ける体力パラメータの変化量を計算する（ステップＳ４１６）。ここでの計算は、ステップＳ４１２と同様に、ゲームのルールに基づいて行われる。
【０１５７】
そして、ＲＡＭ  １０３に記憶される体力パラメータのうち、自キャラクターの体力パラメータから、ステップＳ４１６にて計算された変化量を減算する（ステップＳ４１７）。
【０１５８】
このようにして、他キャラクターの攻撃を繰り返し行った後（〜ステップＳ４１８）、ステップＳ４０２〜ステップＳ４０４と同様に、画像の生成、垂直同期の待機、画像の表示を行うための処理Ａを実行する（ステップＳ４１９）。なお、本フローチャートでは、このような処理のまとまりを点線で囲み、英字による名前を付けている。
【０１５９】
なお、画像の生成の際には、上記のように、ＲＡＭ  １０３に記憶される特殊効果の種類に基づいて、画像に対して特殊効果を施すこととしても良い。
【０１６０】
さらに、ゲームを終了させるべきか否かを判定する（ステップＳ４２０）。ここでの判定基準は、ゲームのルールに基づくが、たとえば、自キャラクターの体力が０または負になった場合や、生存している他キャラクターが一人もいなくなった場合には、ゲーム終了とするのが典型的である。
【０１６１】
ゲームを終了させる場合（ステップＳ４２０；Ｙｅｓ）、ゲーム終了にかかる種々の処理を実行して（ステップＳ４２１）、本処理を終了する。
【０１６２】
ゲームを継続する場合（ステップＳ４２０；Ｎｏ）、ＣＰＵ  １０１は、ゲーム内時刻を、時間刻み幅だけ増加させるよう、ＲＡＭ  １０３を更新する（ステップＳ４２３）。
【０１６３】
なお、時間刻み幅として、垂直同期割込周期よりも短い値がＲＡＭ  １０３内に記憶されている場合には、ゲーム内時間の進行は、現実の時間の進行よりも遅くなる。このため、画像表示はスローモーション表示となる。
【０１６４】
ついで、ＣＰＵ  １０１は、自キャラクターによる攻撃が完了したか否かを判定する（ステップＳ４２４）。攻撃完了か否かは、たとえば、次のような判定基準で判定することができる。
（ａ）攻撃を開始した時点のゲーム内時刻と、現在のゲーム内時刻と、の差が、所定の時間長を超えた場合。ここでいう所定の時間長とは、ゲーム世界において、どれだけの時間攻撃が継続するかを定めるものであり、現実世界においてその攻撃がモニターの画面に表示される継続時間とは必ずしも一致しない。
（ｂ）攻撃対象となった敵キャラクターの数が所定の上限を超えた場合。攻撃対象の敵キャラクターをランダムに選択する場合や、前回とは異なる敵キャラクターを選択する場合等に好適である。
（ｃ）敵キャラクターに与えた攻撃の威力が、所定の上限を超えた場合、すなわち、敵キャラクターの体力パラメータの変化量が、所定の上限を超えた場合。
【０１６５】
攻撃が完了していない場合（ステップＳ４２４；Ｎｏ）、ＣＰＵ  １０１は、移動指示入力がなされているかをステップＳ４０５と同様に調べ（ステップＳ４２５）、なされていれば（ステップＳ４２５；Ｙｅｓ）、ＣＰＵ  １０１は、ステップＳ４０６と同様に、自キャラクターの位置を更新し（ステップＳ４２６）、ステップＳ４２７に進む。
【０１６６】
移動指示入力がなされていなければ（ステップＳ４２５；Ｎｏ）、ＣＰＵ  １０１は、ステップＳ４０７と同様に、他キャラクターの位置を更新して（ステップＳ４２７）、ステップＳ４１０以降の処理を繰り返す（ステップＳ４２８）。
【０１６７】
一方、攻撃を完了すべき場合（ステップＳ４２４；Ｙｅｓ）、ＲＡＭ  １０３に記憶される特殊効果を「なし」に設定し（ステップＳ４２９）、時間刻み幅を既定値である垂直同期割込周期に戻してから（ステップＳ４３０）、ステップＳ４０２に戻る。
【０１６８】
なお、ステップＳ４０５において、指示入力がなされていないと判定された場合（ステップＳ４０５；なし）、ＣＰＵ  １０１は、ステップＳ４０７に進む。そして、ステップＳ４０７の実行の後、ステップＳ４１４〜ステップＳ４１８（処理Ｂ）と同様に、他キャラクターによる攻撃を実行して（ステップＳ４５２）、ステップＳ４０２に戻る。
【０１６９】
ここまでに説明した各ステップは、攻撃の威力の推定（ステップＳ４０８）以外は、通常のゲームと同様と考えることができる。また、指示入力をチェックするタイミングで、上記以外の指示入力がなされている場合に、適宜対応する処理を実行することとしても良い。
【０１７０】
（攻撃の威力の推定処理）
さて、以下では、攻撃の威力の推定（ステップＳ４０８）において行われる処理の詳細について説明する。
【０１７１】
図７は、攻撃の威力を推定する威力推定処理の詳細を示すフローチャートである。以下、本図を参照して説明する。
【０１７２】
推定対象となる攻撃の種類が与えられることによって、威力推定処理が開始される。威力推定処理が開始されると、まず、記憶部３０２に記憶される情報のうち、各キャラクターの位置、体力パラメータ、ゲーム内時刻、時間刻み幅等の情報を、ＲＡＭ  １０３内の一時領域にコピーして、一時的にセーブする（ステップＳ５０１）。威力推定処理において、体力パラメータ等が更新されることがあるからである。
【０１７３】
次に、ＲＡＭ  １０３内に攻撃の威力を記憶する領域を確保し、その値として０を記憶する（ステップＳ５０２）。
【０１７４】
さらに、攻撃対象とする他キャラクターの選択（ステップＳ４１１）、他キャラクターの体力パラメータの変化量の計算（ステップＳ４１２）、他キャラクターの体力パラメータの更新（ステップＳ４１３）と同様の処理Ｃを実行する（ステップＳ５０３）。これは、自キャラクターによる攻撃のシミュレーションに相当するものである。
【０１７５】
ついで、得られた変化量を、ＲＡＭ  １０３内の攻撃の威力に加算する（ステップＳ５０４）。
【０１７６】
この後、生存しているキャラクターについて、順に（ステップＳ４１４）、攻撃の可否を決め（ステップＳ４１５）、攻撃による自キャラクターの変化量を計算し（ステップＳ４１６）、自キャラクターの体力パラメータを更新する（ステップＳ４１７）処理を繰り返す（ステップＳ４１８）のと同様の処理Ｂを実行する（ステップＳ５０５）。これは、他キャラクターによる攻撃のシミュレーションに相当するものである。
【０１７７】
ついで、ゲーム内時刻を時間刻み幅だけ増加させる更新を行う（ステップＳ５０６）が、ここで、ゲーム内時刻の更新は、ステップＳ４２３とは異なる。ステップＳ４２３では、威力の推定結果に応じて時間刻み幅が変更されているが、ステップＳ５０６では、時間刻み幅は既定値のままだからである。
【０１７８】
そして、ステップＳ４２４と同様に、自キャラクターの攻撃が完了したか否かを判定し（ステップＳ５０７）、まだ完了していなければ（ステップＳ５０７；Ｎｏ）、ステップＳ５０３に戻る。
【０１７９】
攻撃が完了していれば（ステップＳ５０７；Ｙｅｓ）、ステップＳ５０１においてＲＡＭ  １０３内に一時的にセーブした情報を書き戻すことにより、過去に保存したゲームの状態をロードする（ステップＳ５０８）。
【０１８０】
そして、推定結果として、ＲＡＭ  １０３内に記憶される攻撃の威力の値を、推定結果として（ステップＳ５０９）、本処理の呼び出し元に返る。
【０１８１】
なお、ステップＳ５０５における処理Ｂは、すべて省略しても良い。このほか、生存している他キャラクターのうち、自キャラクターから近い順に、所定の数だけ他キャラクターを選び、当該他キャラクターについてのみ、攻撃ステップＳ４１５〜ステップＳ４１７に相当する処理を実行することとしても良い。このようにすると、他キャラクターに係る処理の計算負荷を抑制することができる。
【０１８２】
また、ステップＳ５０６の後に、自キャラクターの移動のみを以下のような簡単な手法によって実行することとしても良い。
（ａ）自キャラクターを、最後にプレイヤーが指示した方向に移動させ続ける態様。
（ｂ）自キャラクターを、ランダムに移動させる態様。
（ｃ）自キャラクターを、他キャラクターのうち、最も近い者に近付くように移動させる態様。
（ｄ）その他、他キャラクターの移動アルゴリズムと同様の物理シミュレーションを採用する態様。
【０１８３】
これらの手法によって自キャラクターを移動させた場合であっても、その計算負荷は、キャラクターすべてを移動させる場合に比べて格段に低い。
【０１８４】
このため、攻撃の威力の推定値を求める計算は、短時間で済む。
【０１８５】
なお、攻撃の推定値を求める処理に、時間の上限を定める、という手法もある。すなわち、威力推定処理が開始されてからの時間経過をステップＳ５０７で求め、この時間が、所定の閾時間を超えていれば、攻撃完了とみなすものである。
【０１８６】
ここでの閾時間は、垂直同期割込周期よりも半分未満とするのが典型的である。これは、１つの垂直同期割込周期内において、攻撃の威力の推定と、実際の攻撃と、画像の生成と、の処理を実行する必要があるからであり、攻撃の威力の推定よりも実際の攻撃の方が時間がかかるからである。
【０１８７】
もっとも、１フレーム分から数フレーム分の画像を描画するのに要する時間を推定に費しても良いような態様では、次の垂直同期割込周期が生じるまで、あるいは、所定回数の垂直同期割込周期が生じるまで推定を続け、垂直同期割込が生じたら推定を完了する、という手法もありうる。
【０１８８】
このように、威力推定処理では、全キャラクターが位置を変化させない、もしくは、移動するとしても一部のキャラクターのみ、と仮定することによって、計算負荷を低減している。
【０１８９】
さらに、他キャラクターのすべてについて、自キャラクターを攻撃しない、もしくは、攻撃するとしても一部の他キャラクターのみ、と仮定することによって、計算負荷を低減している。
【０１９０】
（最適な攻撃の推定処理）
以下では、ステップＳ４０５において、最適攻撃指示入力がなされていることが判明した場合（ステップＳ４０５；最適）に開始される処理（ステップＳ４６１）について説明する。
【０１９１】
これは、最適な攻撃を自動的に推定して、この攻撃があたかもプレイヤーによって選択されたかのように振舞うための処理であり、本実施形態では、□ボタン２０８の押圧操作に対応付けられている。
【０１９２】
図８は、最適な攻撃を推定してその攻撃を開始するための最適攻撃処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１９３】
最適攻撃処理が開始されると、ＣＰＵ  １０１は、自キャラクターが実行可能なすべての攻撃の種類のそれぞれについて、以下の処理を繰り返す（ステップＳ６０１）。
【０１９４】
すなわち、当該攻撃の種類を与えて威力推定処理を呼び出し（ステップＳ６０２）、当該攻撃の種類と得られた攻撃の威力とを対応付けて、ＲＡＭ  １０３内に記憶する（ステップＳ６０３）。
【０１９５】
全攻撃についてこれを繰り返した（ステップＳ６０４）後、ＲＡＭ  １０３を走査して、威力の推定値が最大の攻撃を選択してから（ステップＳ６０５）、戻る。
【０１９６】
これによって、選択された攻撃がプレイヤーによって指定されたと同じ扱いになり、当該攻撃についての威力の推定値を採用して、ステップＳ４０９に進む。
【０１９７】
本態様によれば、プレイヤーが自分で攻撃を選択しなくとも、自動的に最適と予想された攻撃が実行されるので、プレイヤーが初心者である場合等に好適である。
【０１９８】
（特殊効果）
上記の実施形態では、他キャラクターの体力パラメータの変化量に対応付けられる特殊効果は、スローモーション効果としており、当該変化量が大きければ大きいほど、当該スローモーション効果の程度を大きくすることとしていた。
【０１９９】
すなわち、上記実施形態では、攻撃が開始されてから終了するまでの間、スローモーションによる特殊効果が施される。
【０２００】
一般に、攻撃の威力が大きい場合には、攻撃を受ける他キャラクターの数が多いか、あるいは、他キャラクター単体が受ける攻撃の回数が多い場合が多い。そこで、スローモーション表示をすることによって、各攻撃の詳細をプレイヤーに見せ、スローモーション表示の程度によって、攻撃の威力をプレイヤーに知らせることとしていた。
【０２０１】
以下では、その他の特殊効果について説明する。
【０２０２】
一般的な攻撃の特殊効果では、画面の明度を変化させたり、オーラ、炎、火花、竜巻などの特殊な動画像を表示する態様が採用されている。これらの動画像は、ゲーム内時間に基づいてその形状を変化させる。
【０２０３】
そこで、本実施形態では、これらの特殊効果用の動画像の個数を、攻撃の威力に応じて変化させることとする。
【０２０４】
図９、図１０は、図６に示す画像に対して、攻撃の威力に応じた特殊効果を施した後の画像を示す説明図である。以下、本図を参照して説明する。
【０２０５】
図９、図１０においては、特殊効果用の画像として、星型光６０１が表示されている。
【０２０６】
この星型光６０１は、ゲーム内時間の経過にともなって、大きさが変化するような動画像として構成されている。このため、図９、図１０においても、星型光６０１は、各種の大きさが表示されている。
【０２０７】
本実施形態では、星型光６０１が発生する頻度を、攻撃の威力に応じて変化させている。図９の表示例は、図１０の表示例に比べて、攻撃の威力が小さい場合を示しており、星型光６０１の数も図９の方が図１０より少ない。
【０２０８】
また、星型光６０１の位置は、自キャラクター４０２に近い位置ほど確率が高いようにランダムに決定したり、攻撃対象となった他キャラクター４０３の周辺に配置するなど、種々の態様を採用することができる。
【産業上の利用可能性】
【０２０９】
以上説明したように、本発明によれば、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【０２１０】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
１２１  ＨＤ
２０１  ↑ボタン
２０２  ↓ボタン
２０３  ←ボタン
２０４  →ボタン
２０５  ○ボタン
２０６  ×ボタン
２０７  △ボタン
２０８  □ボタン
２０９  ＳＥＬＥＣＴボタン
２１０  ＳＴＡＲＴボタン
２１１  ＡＮＡＬＯＧボタン
２１２  インジケータ
２１３  ジョイスティック
２１４  ジョイスティック
２１５  Ｌ１ボタン
２１６  Ｌ２ボタン
２１７  Ｒ１ボタン
２１８  Ｒ２ボタン
３０１  ゲーム装置
３０２  記憶部
３０３  受付部
３０４  自位置更新部
３０５  他位置更新部
３０６  推測部
３０７  自攻撃部
３０８  表示部
４０１  画像
４０２  自キャラクター
４０３  他キャラクター
６０１  星型光
【図１】
0005498803.tif 000002
【図２】
0005498803.tif 000003
【図３】
0005498803.tif 000004
【図４】
0005498803.tif 000005
【図５】
0005498803.tif 000006
【図６】
0005498803.tif 000007
【図７】
0005498803.tif 000008
【図８】
0005498803.tif 000009
【図９】
0005498803.tif 000010
【図１０】
0005498803.tif 000011