説明

ゲーム装置、ゲーム制御方法、ならびに、プログラム

【課題】プレイヤーが操作するキャラクターが他のキャラクターを攻撃する際のゲーム画像に特殊効果を適切に施すゲーム装置等を提供する。
【解決手段】ゲーム装置301において、受付部303が攻撃選択指示入力を受け付けると、推測部306は、記憶部302に記憶されている各キャラクターの位置に基づいて攻撃の威力を推定し、表示部308は、攻撃が実行されている間推定結果に応じた特殊効果を施して画面表示を行う。自位置更新部304および他位置更新部305は、各キャラクターを移動させるため、記憶部302に記憶される位置を、攻撃がなされている間も更新するが、攻撃の威力を推定する際は、各キャラクターの位置は変化しないものと仮定して、計算を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、プレイヤーが操作するキャラクター(以下「自キャラクター」という。)と、コンピュータが所定のアルゴリズムに基づいて制御したり他のプレイヤーが制御したりするキャラクター(以下「他キャラクター」という。)と、を対戦させるゲームが提案されている。
【0003】
ここで、以下に掲げる特許文献1においては、自キャラクターの攻撃フェーズと他キャラクターの攻撃フェーズとを交互に設けるとともに、攻撃の効果を画面に表示するゲームの技術が提案されている。
【0004】
このようなゲームにおいては、攻撃フェーズにおいて攻撃の効果を事前に正確に得ることができるため、攻撃の威力に合わせた画像表示を行うことは容易である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3488217号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、自キャラクターと他キャラクターがそれぞれ独立して並行しながら移動したり攻撃したりするゲームにおいては、攻撃フェーズの切り替えという手法は採用できない。このため、自キャラクターの攻撃の威力に合わせた特殊効果を画面表示に施すための、新たな技術が求められている。
【0007】
本発明は、上記のような課題を解決するもので、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0009】
本発明の第1の観点に係るゲーム装置は、記憶部、受付部、自位置更新部、他位置更新部、推測部、自攻撃部、表示部を備え、以下のように構成する。
【0010】
すなわち、記憶部には、仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される。
【0011】
上記のように、複数のキャラクターには、自キャラクターと他キャラクターの2種類がある。体力パラメータは、いわゆるHP(Hit Point)に相当するものであり、体力パラメータが正である間は、そのキャラクターは生存しており、体力パラメータが0になったり、攻撃を受けて負になったりした場合には、そのキャラクターは死んだことになる。
【0012】
一方、受付部は、プレイヤーからの指示入力を受け付ける。
【0013】
指示入力は、コントローラ等を介して受け付けられる。また、ここで受け付けられる指示入力には、自キャラクターの位置を移動する旨の移動指示入力や、自キャラクターに所望の種類の攻撃をさせる旨の攻撃選択指示入力などがある。
【0014】
さらに、受け付けられた指示入力が、移動指示入力である場合、当該移動指示入力に基づいて、自位置更新部は、記憶部に記憶される自キャラクターの位置を更新する。
【0015】
典型的には、自キャラクターの移動指示入力は、コントローラが有する矢印キーやジョイスティックを介して受け付けられ、自キャラクターの位置は、プレイヤーが指示した方向に移動する。移動指示入力がなされているか否かは、定期的、たとえば、垂直同期割込周期ごとにチェックされる。そして、そのチェック結果に基づいて、所定の変位量だけ、自キャラクターの位置が変化することになる。
【0016】
そして、他位置更新部は、記憶部に記憶される他キャラクターの位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する。
【0017】
他キャラクターがいわゆるNPC(Non-Player Character)である場合には、他キャラクターに移動や攻撃を行わせるためのアルゴリズムがあらかじめ用意され、そのアルゴリズムに合わせて計算を行うことによって、他キャラクターの位置が更新される。また、他キャラクターが、いわゆるPC(Player Character)である場合には、他のプレイヤーの指示入力に基づいて、自キャラクターの位置を更新するのと同様に、他キャラクターの位置が更新される。
【0018】
他キャラクターがPCである場合、他のプレイヤーは、同じゲーム装置に接続された他のコントローラを介して指示入力を与えることとしても良いし、コンピュータ通信網を介して接続された他のゲーム装置に接続された他のコントローラを介して指示入力を与えることとしても良い。
【0019】
一方、受け付けられた指示入力が攻撃選択指示入力である場合、推測部は、記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、他キャラクターの体力パラメータの変化量を推測する。
【0020】
本発明に係るゲームでは、プレイヤーが攻撃を指示すると、自キャラクターは攻撃を開始し、所定の条件が満たされるまでその攻撃を継続し、その後、攻撃を終了する。また、攻撃の効果、すなわち、他キャラクターの体力パラメータの減少量は、自キャラクターと他キャラクターの位置関係によって定められ、両者が近ければ近いほど攻撃の効果も大きいように設定される。
【0021】
このようなゲームにおいては、攻撃開始から攻撃終了までに時間を要することになるが、上記のように、この間、他キャラクターは移動する。なお、自キャラクターによる攻撃を開始してから終了するまでの間に、プレイヤーの移動指示入力に基づいて、自キャラクターを移動可能としても良い。
【0022】
このような態様では、攻撃の効果を事前に判定することは難しい。そこで本発明では、攻撃選択指示入力がなされた場合に、まず、自キャラクターも他キャラクターも移動しない、と仮定し、それ以外はそのまま通常のゲームのルールに基づいて、他キャラクターの体力パラメータの変化量を求めることとする。そして、他キャラクターの体力パラメータの変化の総量を、当該攻撃の威力の推定値とするのである。
【0023】
さらに、自攻撃部は、他キャラクターの体力パラメータの変化量が推測されると、自位置更新部および他位置更新部による複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する。
【0024】
上記のように、攻撃選択指示入力がされた後は、まず推測部が動作して、その攻撃の威力を推定する。次に、自攻撃部が動作して、実際の攻撃処理が行われる。
【0025】
なお、上記のように、攻撃の威力の推定の際には、キャラクターの位置が変化しないことを仮定するので、自攻撃部による実際の攻撃の威力と、推定された攻撃の威力とには、一般には違いがある。
【0026】
一方、表示部は、記憶部に記憶される複数のキャラクターの位置ならびに体力パラメータが更新されると、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する。ここで、表示部は、他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、画面に表示する。
【0027】
上記のように、実際の攻撃の威力とその推定値とには差があるが、実際の攻撃の威力は、攻撃が終了するまで知得はできない。そこで、本発明においては、推定値を用いて、攻撃が開始されてから終了するまでの間の画像に対しても、特殊効果を施すのである。
【0028】
本発明によれば、自キャラクターの攻撃の間に他キャラクターが移動し、自キャラクターと他キャラクターとの位置関係に基づいて攻撃の効果が定まるようなゲームであっても、攻撃の威力を適切に推定し、その威力に合わせて特殊効果を施すことができるようになる。
【0029】
また、本発明のゲーム装置において、他キャラクターの体力パラメータの変化量に対応付けられる特殊効果は、スローモーション効果であり、当該変化量が大きければ大きいほど、当該スローモーション効果の程度を大きくするように構成することができる。
【0030】
本発明は、上記発明の好適実施形態に係るものである。本発明においては、攻撃が開始されてから終了するまでの間、スローモーションによる特殊効果が施される。攻撃の威力が大きい場合には、攻撃を受ける他キャラクターの数が多いか、あるいは、他キャラクター単体が受ける攻撃の回数が多い場合が多い。
【0031】
したがって、本発明によれば、スローモーション表示をすることによって、各攻撃の詳細をプレイヤーに見せることができるようになる。また、本発明によれば、スローモーション表示の程度によって、攻撃の威力をプレイヤーに知らせることができる。
【0032】
また、本発明のゲーム装置は、以下のように構成することができる。
【0033】
すなわち、受け付けられた指示入力が、最適攻撃指示入力である場合、推測部は、プレイヤーが選択可能な種類の攻撃のそれぞれについて、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該複数のキャラクターの体力パラメータの変化量を計算して、他キャラクターの体力パラメータの変化量を推測し、当該変化量が最大の種類の攻撃を最適攻撃として選択する。
【0034】
攻撃選択指示入力は、攻撃の種類をプレイヤーが選択するものであるが、最適攻撃指示入力は、複数の種類の攻撃から最適なものをゲーム装置に選択させるためのものである。
【0035】
上記のように、推測部は、キャラクターの位置を変化させない前提で、攻撃の威力を推定する。本発明では、利用可能な複数の種類の攻撃のそれぞれについて、攻撃の威力が推定される。そして、威力の推定値が最も大きい攻撃が、最適攻撃に選ばれる。
【0036】
さらに、最適攻撃が選択されると、自攻撃部は、当該複数のキャラクターの変化する位置ならびに所定のルールに基づいて、当該最適攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する。
【0037】
すなわち、プレイヤーが最適攻撃指示入力を選択した場合には、プレイヤーが攻撃の種類を選択しなくとも、最も威力が強いと予想される攻撃が自動的に選択されて、他キャラクターに対する攻撃が行われる。
【0038】
本発明によれば、プレイヤーは、攻撃の種類を検討しなくとも、適切と予想される攻撃を自動的に選ばせることが可能となる。
【0039】
また、本発明のゲーム装置において、推測部は、記憶部に記憶される複数のキャラクターのそれぞれの位置のうち、自キャラクターの位置が、当該自キャラクターに割り当てられる移動アルゴリズムに基づいて変化するものと仮定することにより、他キャラクターの体力パラメータの変化量を推測するように構成することができる。
【0040】
すなわち、上記の発明においては、推定の際には、全キャラクターが移動しないものと仮定していたが、本発明においては、自キャラクターのみが移動する、と仮定する。したがって、他キャラクターの位置は、推定の際には変化しない。
【0041】
特に多数のキャラクターが登場する場合には、キャラクターの移動アルゴリズムを計算するための計算負荷が大きいことが多い。一方、本発明では、自キャラクターの位置のみを移動させることとしている。
【0042】
したがって、本発明によれば、攻撃の威力の推定の際に、計算負荷は抑制しつつその推測の精度を高めることが可能となる。
【0043】
本発明の他の観点に係るゲーム制御方法は、記憶部、受付部、自位置更新部、他位置更新部、推測部、自攻撃部、表示部を備えるゲーム装置が実行し、受付工程、自位置更新工程、他位置更新工程、推測工程、自攻撃工程、表示工程を備え、以下のように構成する。
【0044】
すなわち、記憶部には、仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される。
【0045】
一方、受付工程では、受付部が、プレイヤーからの指示入力を受け付ける。
【0046】
さらに、自位置更新工程では、受け付けられた指示入力が、移動指示入力である場合、自位置更新部が、当該移動指示入力に基づいて、記憶部に記憶される自キャラクターの位置を更新する。
【0047】
そして、他位置更新工程では、他位置更新部が、記憶部に記憶される他キャラクターの位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する。
【0048】
一方、推測工程では、受け付けられた指示入力が攻撃選択指示入力である場合、推測部が、記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、他キャラクターの体力パラメータの変化量を推測する。
【0049】
さらに、自攻撃工程では、他キャラクターの体力パラメータの変化量が推測されると、自攻撃部が、自位置更新部および他位置更新部による複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する。
【0050】
そして、表示工程では、記憶部に記憶される複数のキャラクターの位置ならびに体力パラメータが更新されると、表示部が、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する。
【0051】
また、表示工程では、他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、画面に表示する。
【0052】
本発明のその他の観点に係るプログラムは、コンピュータを上記のゲーム装置として機能させるように構成する。
【0053】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【0054】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0055】
本発明によれば、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0056】
【図1】典型的な情報処理装置の概要構成を示す模式図である。
【図2】本実施形態に係るコントローラの外観を示す模式図である。
【図3】本発明の実施形態に係るゲーム装置の概要構成を示す説明図である。
【図4】ゲーム装置にて実行される制御処理の流れを示すフローチャートである。
【図5】ゲーム装置にて実行される制御処理の流れを示すフローチャートである。
【図6】画像の例を示す説明図である。
【図7】威力推定処理の詳細を示すフローチャートである。
【図8】最適攻撃処理の制御の流れを示すフローチャートである。
【図9】攻撃の威力に応じた特殊効果を施した後の画像を示す説明図である。
【図10】攻撃の威力に応じた特殊効果を施した後の画像を示す説明図である。
【発明を実施するための形態】
【0057】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【0058】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0059】
図1は、プログラムを実行することにより、本実施形態のゲーム装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0060】
本図に示す情報処理装置100は、いわゆるコンシューマゲーム機に相当するもので、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、インターフェース104、コントローラ105、外部メモリ106、画像処理部107、DVD−ROM(Digital Versatile Disc ROM)ドライブ108、NIC(Network Interface Card)109、音声処理部110、マイク111、ハードディスク(Hard Disk;HD)121を有する。各種の入出力装置は、適宜省略することができる。
【0061】
情報処理装置100を典型的なコンシューマゲーム機として機能させる場合には、ゲーム用プログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着し、電源を投入する。すると、当該ゲームプログラムが実行され、ゲームをプレイすることができるようになる。
【0062】
ただし、本実施形態においては、典型的には、DVD−ROMドライブ108に装着されたDVD−ROMから、アプリケーションをHD 121にインストールする。そして、当該HD 121に記憶されたプログラムを実行することによって、ゲームを含む各種のアプリケーションを実行することとする。
【0063】
なお、携帯型のゲーム装置においては、携帯可能とするために、DVD−ROMドライブ108を利用するのではなく、ROMカセット用スロットにEEPROM(Electrically Erasable Programmable ROM)カセットを装着して、HD 121を省略したりすることも可能である。この場合、アプリケーション用プログラムをEEPROMカセットに書き込んだ上で、当該プログラムを実行することとなる。このほか、外部メモリ106にアプリケーション用プログラムをインストールすることも可能である。
【0064】
さて、CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0065】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0066】
RAM 103は、データやプログラムを一時的に記憶するためのもので、HD 121やDVD−ROM等から読み出したプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0067】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0068】
なお、コントローラ105は、必ずしも情報処理装置100に対して外付けにされている必要はなく、一体に形成されていても良い。携帯可能なゲーム装置のコントローラ105は、各種のボタンやスイッチから構成され、これらの押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置100では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。
【0069】
図2は、コントローラ105の外観を示す説明図である。以下、本図を参照して説明する。
【0070】
コントローラ105の左方には、上下左右を示す操作入力を行うのに利用される↑ボタン201、↓ボタン202、←ボタン203、→ボタン204が配置されている。
【0071】
右方には、決定操作入力を行うのに利用される○ボタン205、取消操作入力を行うのに利用される×ボタン206、メニュー表示等の指示入力を行うのに利用される△ボタン207、その他の指示入力を行うのに利用される□ボタン208が配置されている。
【0072】
中央には、SELECTボタン209、STARTボタン210のほか、アナログ入力の開始・停止を指示するためのANALOGボタン211、および、アナログ入力が有効か無効かを表示するためのインジケータ212が配置されている。
【0073】
また中央下部には、上下左右に限らない方向に大きさを伴う指示入力を行うためのジョイスティック213、214が配置されている。
【0074】
さらに、上方には、各種の指示入力に用いることができるL1ボタン215、L2ボタン216、R1ボタン217、R2ボタン218が配置されている。
【0075】
コントローラ105の各ボタン201〜208、215〜218には、圧力センサが配備され、アナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを0〜255の256段階で得ることができる。
【0076】
コントローラ105のジョイスティック213、214には、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
【0077】
図1に戻り、インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0078】
上述の通り、アプリケーションプログラムを外部メモリ106にインストールして実行するような形態を採用することもできる。これは、外部メモリ106が大容量である場合に好適である。
【0079】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0080】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0081】
携帯可能なゲーム装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的であり、コントローラ105としてタッチスクリーンを利用する場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶためのゲーム装置のモニタとしては、CRT(Cathode Ray Tube)やプラズマディスプレイ、大型の液晶ディスプレイなどの表示装置を利用することも可能である。
【0082】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0083】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0084】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0085】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LANを構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0086】
また、NIC 109経由でコンピュータ通信網から入手した情報を元に、HD 121等にアプリケーションプログラムをインストールすることも可能である。
【0087】
音声処理部110は、HD 121やDVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン(図示せず)、イヤフォン(図示せず)から出力させる。
【0088】
音声処理部110では、HD 121やDVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0089】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0090】
本実施形態で利用する情報処理装置100は、上述のように、HD 121等の大容量外部記憶装置を用いるのが典型的である。HD 121は、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすこともできる。
【0091】
このほか、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。
【0092】
さらに、本実施形態では、リアルタイムクロック(図示せず)もしくはNIC 109を介してNTP(Network Time Protocol)サーバに対して時刻を問い合わせる機能を採用して、情報処理装置100を利用している日時の情報を利用することとしている。
【0093】
以上で説明した情報処理装置100は、コンシューマ向けゲーム装置に相当するものであるが、各種の入出力処理が可能な電子機器であれば、本発明のゲーム装置やサーバ装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明のゲーム装置やサーバ装置を実現することが可能である。
【0094】
たとえば、ビジネス用コンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NIC、HDを構成要素として有するほか、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっており、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用するのが典型的である。
【0095】
(ゲーム装置)
図3は、本発明の実施形態に係るゲーム装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【0096】
ゲーム装置301は、記憶部302、受付部303、自位置更新部304、他位置更新部305、推測部306、自攻撃部307、表示部308を備える。
【0097】
以下、まず、各部の機能の概要ならびに情報処理装置100との関係について説明する。
【0098】
本実施形態では、ゲーム装置301は、情報処理装置100において、DVD−ROMドライブ108に装着されたDVD−ROMから読み出したプログラムや、HD 121に記録されたプログラムをCPU 101が実行することによって実現される。
【0099】
ここで、記憶部302は、各種情報の一時的な保存領域として機能するRAM 103により実現される。記憶部302には、ゲームに登場するキャラクターの仮想空間内における位置や体力パラメータ等が記憶される。
【0100】
一方、受付部303は、コントローラ105や、コントローラ105と画像処理部107を制御するCPU 101とモニタとにより構成されるGUI(Graphical User Interface)により実現され、プレイヤーからの指示入力を受け付ける。
【0101】
さらに、自位置更新部304は、CPU 101がコントローラ105やRAM 103等を参照することにより実現され、プレイヤーからの移動指示入力に基づいて記憶部302に記憶される自キャラクターの位置を更新する。
【0102】
そして、他位置更新部305は、CPU 101がコントローラ105やRAM 103等を参照することにより実現され、所定のアルゴリズムや他のプレイヤーからの指示入力に基づいて、記憶部302に記憶される他キャラクターの位置を更新する。
【0103】
一方、推測部306は、プレイヤーから攻撃に係る指示入力が与えられると、他キャラクターの位置を固定したまま、当該攻撃のシミュレーションを試みる。そして、当該攻撃によって他キャラクターの体力パラメータがどれだけ減少するかを推定し、その総量を求める。推測部306は、CPU 101がRAM 103等を参照することにより実現される。
【0104】
さらに、自攻撃部307は、CPU 101がRAM 103等を参照することにより実現され、推測部306による推定がなされると、実際の攻撃をゲームのルールに基づいて実行し、記憶部302に記憶されるキャラクターの体力パラメータを更新する。
【0105】
そして、表示部308は、記憶部302に記憶される情報が更新されると、その情報に基づいて仮想世界の様子を表す画像を生成して、画面に表示する。典型的には、表示部308は、CPU 101の制御の下、画像処理部107が機能することにより実現され、画像を生成してから垂直同期割込が生じるのを待機し、その後に画像をモニタに転送する。
【0106】
ここで、自攻撃部307による攻撃がなされている間、表示部308は、推測部306により推定された総量に基づいて定められる特殊効果、たとえばスローモーション効果を画像に施してから画面に表示する。
【0107】
(ゲームの制御処理)
以下では、ゲーム装置301にて実行される処理の詳細を説明する。図4、図5は、ゲーム装置301にて実行される制御処理の流れを示すフローチャートである。以下、本図を参照して説明する。
【0108】
上記のように、DVD−ROMドライブ108に装着されたDVD−ROMやHD 121に記録されたプログラムをRAM 103に読み出して、CPU 101が実行することを契機に、本制御処理が開始される。
【0109】
処理が開始されると、CPU 101は、記憶部302を構成するRAM 103の初期化を行う(ステップS401)。初期化される情報には、以下のようなものがある。
(a)仮想空間内における各キャラクターの位置。
(b)各キャラクターの体力パラメータ。
(c)ゲーム内時刻および時間の刻み幅。
(d)画像に施す特殊効果の種類。
【0110】
上記のように、複数のキャラクターには、自キャラクターと他キャラクターの2種類がある。
【0111】
体力パラメータは、いわゆるHP(Hit Point)に相当するものであり、体力パラメータが正である間は、そのキャラクターは生存しており、体力パラメータが0になったり、攻撃を受けて負になったりした場合には、そのキャラクターは死んだことになる。
【0112】
また、体力パラメータとして、当該キャラクターが生存しているときには1、死んでいるときには0となるようなフラグ情報を採用することも可能である。
【0113】
このほか、各キャラクターには自キャラクターか他キャラクターかの区別がある。さらに、他キャラクターには、NPCかPCかの区別がある。
【0114】
他キャラクターがNPCの場合には、キャラクターの属性に応じて、移動や攻撃のアルゴリズムが決定されるため、これらの属性情報も記憶される。
【0115】
また、ゲーム内時刻は、仮想空間における時間経過を表す。
【0116】
後述するように、本実施形態では、垂直同期割込周期に合わせてゲームの状態の更新が繰り返し行われる。時間の刻み幅は、この繰り返しの一単位において、ゲーム内時刻がどれだけ進行するか、を表す情報である。
【0117】
たとえば、垂直同期割込周期が1/60秒である場合に、時間刻み幅を1/60秒よりも短く設定すれば、ゲーム内世界は現実世界に比べてスローモーションで時間進行することになる。
【0118】
ステップS401においては、時間刻み幅を1/60秒、すなわち、繰り返しの周期の値に設定する。このように設定すると、ゲーム内時間は、現実の時間と同じ速度で進むことになる。
【0119】
さらに、現在実行されている攻撃の種類、ならびに、画像に施す特殊効果は、「なし」に初期設定される。
【0120】
ついで、CPU 101は、画像処理部107を駆動して、RAM 103に記憶される情報に基づいて、仮想空間内の様子を表す画像をRAM 103内に生成する(ステップS402)。
【0121】
図6は、ステップS402にて生成される画像の例を示す説明図である。以下、本図を参照して説明する。なお、本図では、理解を容易にするため、適宜符号を省略している。
【0122】
本図に示すように、画像401では、斜線が引かれた人型の自キャラクター402が、ほぼ中央に配置されている。また、白色の人型の他キャラクター403は、自キャラクター402のその周囲に配置されている。
【0123】
本実施形態において、自キャラクター402が画像401の中央に配置されるのは、自キャラクター402が仮想空間内を移動すると、仮想空間において画像401内に描画される領域も連動して移動する態様を採用しているからである。なお、仮想空間において画像401内に描画される領域を、プレイヤーの指示に基づいて、適宜変更するような態様を採用しても良い。
【0124】
このような画像を生成するにあたっては、RAM 103に記憶される各キャラクターの位置の情報が使用される。
【0125】
本図では、特段の特殊効果を施してはおらず、ゲーム内時刻における仮想空間の様子がそのまま描画されている。ただし、特殊効果を施す旨がRAM 103内に記憶されていれば、これに対応する特殊効果を、画像生成の際に付加することも可能である。特殊効果の例については、後述する。
【0126】
RAM 103内に生成された画像401は、CPU 101が垂直同期割込を待機した(ステップS403)後、画像処理部107を制御してRAM 103からモニタに情報を転送させることによって、画面に表示される(ステップS404)。このように、画像の転送を垂直同期割込周期に同期させることによって、画面表示の際の表示のちらつきを防止することができる。
【0127】
ついで、CPU 101は、コントローラ105の状態を調べ、指示入力の有無ならびにその種類を判定する(ステップS405)。したがって、本実施形態では、垂直同期割込が生じるたびに、指示入力のチェックを行うことになる。
【0128】
本実施形態では、指示入力として、以下のようなものを想定している。
(a)自キャラクターの位置を移動する旨の移動指示入力。本実施形態では、プレイヤーがコントローラ105の↑ボタン201、↓ボタン202、←ボタン203、→ボタン204やジョイスティック213を操作すると、その操作方向に自キャラクターを移動させようとする移動指示入力がなされたと見なされる。
(b)自キャラクターに所望の種類の攻撃をさせる旨の攻撃選択指示入力。本実施形態では、自キャラクターは4種類の攻撃が可能であることを想定している。各攻撃の種類は、コントローラ105のL1ボタン215、L2ボタン216、R1ボタン217、R2ボタン218に対応付けられている。
(c)最適な攻撃を自動的に選択させて、自キャラクターにその攻撃をさせる旨の最適攻撃指示入力。本実施形態では、コントローラ105の○ボタン205の押圧操作が、最適攻撃指示入力に相当する。
【0129】
なお、上記のようなコントローラ105による操作のみならず、これらとGUIの組み合わせ(たとえば、△ボタン207を押圧操作して階層的に構成されたメニュー表示を行い、↑ボタン201、↓ボタン202、←ボタン203、→ボタン204を用いてメニュー内を移動して、所望の指示入力を選択する等。)を採用することとしても良い。
【0130】
さて、移動指示入力がなされていることが判明した場合(ステップS405;移動)、CPU 101は、コントローラ105の操作状態から、移動方向を特定する。そして、RAM 103内に記憶される自キャラクターの位置を、特定された移動方向に、所定の移動量だけ変化させる。この処理によって、自位置更新部304による自キャラクターの位置の更新が行われるのである(ステップS406)。
【0131】
ここで、移動量、すなわち、キャラクターの位置の変位は、垂直同期割込周期の時間の間に自キャラクターが仮想空間内を移動できる距離に相当するものである。
【0132】
ついで、CPU 101は、RAM 103内に記憶される他キャラクターの位置を、所定の移動アルゴリズムに基づいて更新してから(ステップS407)、ステップS452に進む。
【0133】
本実施形態では、プレイヤー1人がゲームを行う状況を想定しているため、他キャラクターはすべてNPCである。したがって、あらかじめ定めた移動アルゴリズムに基づいて、他キャラクターが移動する。
【0134】
このような移動アルゴリズムとしては、たとえば以下のようなものが考えられる。
(a)キャラクターに対する基準位置が定められており、その周辺をランダムウォークする態様。
(b)上記(a)において、自キャラクターに近付く確率が高くなるように、ランダムウォークする態様。
(c)自キャラクターを追尾するように移動する態様。
(d)自キャラクターとの間では引力が働き、自身以外の他キャラクターとの間では斥力が働くような物理シミュレーションによって、キャラクターを移動させる態様。
(e)上記(d)において、自身以外の他キャラクターのうち、体力パラメータが最も低い他キャラクターとの間では、斥力ではなく引力が働くような態様。
(f)特定の他キャラクターを追尾するように移動する態様。
【0135】
これらは、単独で利用することとしても良いし、他キャラクターの属性ごとに異なるアルゴリズムを採用しても良いし、
【0136】
また、複数のプレイヤーが対戦するような状況では、他のプレイヤーからの指示入力に基づいて他キャラクターを移動させることになる。情報処理装置100に複数のコントローラ105が装着されている場合には、他のプレイヤーからの操作入力は、各コントローラ105から入力されることになる。また、ネットワーク対戦の場合には、NIC 109を介して接続された他の情報処理装置100から、他のプレイヤーからの指示入力が与えられる。
【0137】
ステップS407の処理は、他キャラクターのそれぞれについて行う必要があるため、計算量の負担が大きい。そこで、本実施形態では、攻撃の威力の推定に際して、ステップS407に相当する処理を省略することによって、推定の間、他キャラクターの位置をそのまま維持する点に特徴の一つがある。
【0138】
攻撃選択指示入力がされている場合(ステップS405;攻撃)、攻撃選択指示入力に指定される攻撃の種類を威力推定処理に与えて実行し、その攻撃の威力を推定する(ステップS408)。
【0139】
ここで、攻撃の威力とは、その攻撃によって、他キャラクターが受けるダメージ、すなわち、他キャラクターの体力パラメータがどれだけ減少するか、の変化量の総量に相当すると考えられる。本実施形態では、攻撃の威力を、実際に攻撃を行う場合と類似する手法で推定する。そこで、攻撃の威力の推定の詳細については、後述するものとし、まず、実際に攻撃を行う場合の手法について説明する。
【0140】
攻撃の威力が推定されたら、当該威力の大きさに対応付けられる時間長を時間刻み幅とするように、RAM 103を更新する(ステップS409)。
【0141】
攻撃の威力が小さい場合には、ここで設定される時間長は垂直同期割込周期に近い値であり、攻撃の威力が大きくなると、時間長が短くなるように設定すると、画像に施す特殊効果として、スローモーション効果を選択したことになる。
【0142】
なお、スローモーション効果以外の特殊効果を採用する場合には、ステップS409において、その特殊効果の種類を、RAM 103内に記憶する。
【0143】
また、スローモーション効果を採用しない場合には、時間刻み幅は定数とすることになるので、更新は不要である。
【0144】
そして、以下の処理を、攻撃が完了するまで繰り返す(ステップS410)。上記のように、本実施形態では、攻撃が開始されてから終了するまである程度の時間を要することを想定している。また、繰り返しの時間単位は、垂直同期割込周期である。
【0145】
まず、自キャラクターが他キャラクターのうち、いずれを攻撃の対象とするかを選択する(ステップS411)。なお、体力パラメータが0または負のキャラクターは、すでに「死んでいる」ことになるので、選択の対象からは除去される。
【0146】
具体的な選択の手法としては、以下のような態様がありうる。
(a)自キャラクターに最も近い他キャラクター。両者の距離は、ユークリッド距離やマンハッタン距離等により計算される。
(b)実行中の攻撃の種類の射程範囲内で、自キャラクターに最も近い他キャラクター。攻撃に指向性がある場合の態様である。
(c)上記(a)(b)において、前回の繰り返し単位において攻撃の対象となった他キャラクターが最も近い場合には、次に近い他キャラクターを攻撃対象とする態様。同じ他キャラクターのみに攻撃をするのではなく、広く分散して攻撃の対象とする態様である。
(d)ランダムに他キャラクターを選択する態様。すべての他キャラクターについて同じ確率で選択されることとしても良いし、自キャラクターとの距離が近ければ近いほど高い確率で選択されるような態様を採用しても良い。
(e)上記(a)〜(d)において、複数の他キャラクターを選択する態様。近さの順に上位のキャラクターを複数選択したり、ランダム選択を複数回繰り返すことによって攻撃対象を選択するものである。
【0147】
なお、以下では、理解を容易にするため、他キャラクターは1人だけ選択されるものとする。
【0148】
次に、選択された他キャラクターに対して、当該攻撃が与える体力パラメータの変化量を計算する(ステップS412)。ここでいう「変化量」は、体力パラメータがどれだけ減少するか、を表す量であるが、体力パラメータが、他キャラクターの生死を表すフラグ情報である場合には、他キャラクターが死ぬのであれば「1」、そのまま生存し続けるのであれば「0」が採用される。
【0149】
一般には、体力パラメータの変化量は、自キャラクターと他キャラクターの距離が近ければ近いほど大きい。また、適宜乱数を利用して変化量を定める場合には、キャラクター同士の距離が小さければ小さいほど、その乱数の平均値が大きくなるように設定するのが典型的である。
【0150】
このほか、攻撃の種類や、自キャラクターと他キャラクターの体力パラメータの差や比などに応じて、変化量を定めることとしても良い。たとえば、自キャラクターが他キャラクターに比べて体力パラメータが大きければ大きいほど、変化量も大きくなる、等である。
【0151】
そして、RAM 103に記憶される体力パラメータのうち、当該選択されたキャラクターの体力パラメータから、ステップS412にて計算された変化量を減算する(ステップS413)。
【0152】
このようにして、ある他キャラクターに対する一回の攻撃が行われる。ただし、ステップS411において、攻撃の対象を「なし」と選択することもできるような態様も考えられる。
【0153】
たとえば、前回の攻撃がされたゲーム内時刻から所定のゲーム内時間が経過しないと、次の攻撃ができない等とする態様や、乱数を用いて攻撃の可否を定める態様、ならびにこれらの組み合わせ等である。これは、後述する他キャラクターから自キャラクターへの攻撃についても、同様である。これらの態様では、適宜RAM 103内のゲーム内時刻が参照される。
【0154】
ついで、現在生存中の他キャラクターのそれぞれについて、以下の処理を繰り返す(ステップS414〜)。
【0155】
まず、当該他キャラクターが自キャラクターを攻撃するか否かを判定する(ステップS415)。攻撃するか否かは、他キャラクターと自キャラクターの距離や攻撃の射程範囲、乱数などにより決定されるのが典型的である。いずれの他キャラクターを自キャラクターの攻撃の対象とするかの判定基準と同様の判定基準を採用しても良い。
【0156】
当該他キャラクターが自キャラクターを攻撃しない場合(ステップS415;No)、ステップS418に進む。一方、攻撃する場合(ステップS415;Yes)、自キャラクターがその攻撃によって受ける体力パラメータの変化量を計算する(ステップS416)。ここでの計算は、ステップS412と同様に、ゲームのルールに基づいて行われる。
【0157】
そして、RAM 103に記憶される体力パラメータのうち、自キャラクターの体力パラメータから、ステップS416にて計算された変化量を減算する(ステップS417)。
【0158】
このようにして、他キャラクターの攻撃を繰り返し行った後(〜ステップS418)、ステップS402〜ステップS404と同様に、画像の生成、垂直同期の待機、画像の表示を行うための処理Aを実行する(ステップS419)。なお、本フローチャートでは、このような処理のまとまりを点線で囲み、英字による名前を付けている。
【0159】
なお、画像の生成の際には、上記のように、RAM 103に記憶される特殊効果の種類に基づいて、画像に対して特殊効果を施すこととしても良い。
【0160】
さらに、ゲームを終了させるべきか否かを判定する(ステップS420)。ここでの判定基準は、ゲームのルールに基づくが、たとえば、自キャラクターの体力が0または負になった場合や、生存している他キャラクターが一人もいなくなった場合には、ゲーム終了とするのが典型的である。
【0161】
ゲームを終了させる場合(ステップS420;Yes)、ゲーム終了にかかる種々の処理を実行して(ステップS421)、本処理を終了する。
【0162】
ゲームを継続する場合(ステップS420;No)、CPU 101は、ゲーム内時刻を、時間刻み幅だけ増加させるよう、RAM 103を更新する(ステップS423)。
【0163】
なお、時間刻み幅として、垂直同期割込周期よりも短い値がRAM 103内に記憶されている場合には、ゲーム内時間の進行は、現実の時間の進行よりも遅くなる。このため、画像表示はスローモーション表示となる。
【0164】
ついで、CPU 101は、自キャラクターによる攻撃が完了したか否かを判定する(ステップS424)。攻撃完了か否かは、たとえば、次のような判定基準で判定することができる。
(a)攻撃を開始した時点のゲーム内時刻と、現在のゲーム内時刻と、の差が、所定の時間長を超えた場合。ここでいう所定の時間長とは、ゲーム世界において、どれだけの時間攻撃が継続するかを定めるものであり、現実世界においてその攻撃がモニターの画面に表示される継続時間とは必ずしも一致しない。
(b)攻撃対象となった敵キャラクターの数が所定の上限を超えた場合。攻撃対象の敵キャラクターをランダムに選択する場合や、前回とは異なる敵キャラクターを選択する場合等に好適である。
(c)敵キャラクターに与えた攻撃の威力が、所定の上限を超えた場合、すなわち、敵キャラクターの体力パラメータの変化量が、所定の上限を超えた場合。
【0165】
攻撃が完了していない場合(ステップS424;No)、CPU 101は、移動指示入力がなされているかをステップS405と同様に調べ(ステップS425)、なされていれば(ステップS425;Yes)、CPU 101は、ステップS406と同様に、自キャラクターの位置を更新し(ステップS426)、ステップS427に進む。
【0166】
移動指示入力がなされていなければ(ステップS425;No)、CPU 101は、ステップS407と同様に、他キャラクターの位置を更新して(ステップS427)、ステップS410以降の処理を繰り返す(ステップS428)。
【0167】
一方、攻撃を完了すべき場合(ステップS424;Yes)、RAM 103に記憶される特殊効果を「なし」に設定し(ステップS429)、時間刻み幅を既定値である垂直同期割込周期に戻してから(ステップS430)、ステップS402に戻る。
【0168】
なお、ステップS405において、指示入力がなされていないと判定された場合(ステップS405;なし)、CPU 101は、ステップS407に進む。そして、ステップS407の実行の後、ステップS414〜ステップS418(処理B)と同様に、他キャラクターによる攻撃を実行して(ステップS452)、ステップS402に戻る。
【0169】
ここまでに説明した各ステップは、攻撃の威力の推定(ステップS408)以外は、通常のゲームと同様と考えることができる。また、指示入力をチェックするタイミングで、上記以外の指示入力がなされている場合に、適宜対応する処理を実行することとしても良い。
【0170】
(攻撃の威力の推定処理)
さて、以下では、攻撃の威力の推定(ステップS408)において行われる処理の詳細について説明する。
【0171】
図7は、攻撃の威力を推定する威力推定処理の詳細を示すフローチャートである。以下、本図を参照して説明する。
【0172】
推定対象となる攻撃の種類が与えられることによって、威力推定処理が開始される。威力推定処理が開始されると、まず、記憶部302に記憶される情報のうち、各キャラクターの位置、体力パラメータ、ゲーム内時刻、時間刻み幅等の情報を、RAM 103内の一時領域にコピーして、一時的にセーブする(ステップS501)。威力推定処理において、体力パラメータ等が更新されることがあるからである。
【0173】
次に、RAM 103内に攻撃の威力を記憶する領域を確保し、その値として0を記憶する(ステップS502)。
【0174】
さらに、攻撃対象とする他キャラクターの選択(ステップS411)、他キャラクターの体力パラメータの変化量の計算(ステップS412)、他キャラクターの体力パラメータの更新(ステップS413)と同様の処理Cを実行する(ステップS503)。これは、自キャラクターによる攻撃のシミュレーションに相当するものである。
【0175】
ついで、得られた変化量を、RAM 103内の攻撃の威力に加算する(ステップS504)。
【0176】
この後、生存しているキャラクターについて、順に(ステップS414)、攻撃の可否を決め(ステップS415)、攻撃による自キャラクターの変化量を計算し(ステップS416)、自キャラクターの体力パラメータを更新する(ステップS417)処理を繰り返す(ステップS418)のと同様の処理Bを実行する(ステップS505)。これは、他キャラクターによる攻撃のシミュレーションに相当するものである。
【0177】
ついで、ゲーム内時刻を時間刻み幅だけ増加させる更新を行う(ステップS506)が、ここで、ゲーム内時刻の更新は、ステップS423とは異なる。ステップS423では、威力の推定結果に応じて時間刻み幅が変更されているが、ステップS506では、時間刻み幅は既定値のままだからである。
【0178】
そして、ステップS424と同様に、自キャラクターの攻撃が完了したか否かを判定し(ステップS507)、まだ完了していなければ(ステップS507;No)、ステップS503に戻る。
【0179】
攻撃が完了していれば(ステップS507;Yes)、ステップS501においてRAM 103内に一時的にセーブした情報を書き戻すことにより、過去に保存したゲームの状態をロードする(ステップS508)。
【0180】
そして、推定結果として、RAM 103内に記憶される攻撃の威力の値を、推定結果として(ステップS509)、本処理の呼び出し元に返る。
【0181】
なお、ステップS505における処理Bは、すべて省略しても良い。このほか、生存している他キャラクターのうち、自キャラクターから近い順に、所定の数だけ他キャラクターを選び、当該他キャラクターについてのみ、攻撃ステップS415〜ステップS417に相当する処理を実行することとしても良い。このようにすると、他キャラクターに係る処理の計算負荷を抑制することができる。
【0182】
また、ステップS506の後に、自キャラクターの移動のみを以下のような簡単な手法によって実行することとしても良い。
(a)自キャラクターを、最後にプレイヤーが指示した方向に移動させ続ける態様。
(b)自キャラクターを、ランダムに移動させる態様。
(c)自キャラクターを、他キャラクターのうち、最も近い者に近付くように移動させる態様。
(d)その他、他キャラクターの移動アルゴリズムと同様の物理シミュレーションを採用する態様。
【0183】
これらの手法によって自キャラクターを移動させた場合であっても、その計算負荷は、キャラクターすべてを移動させる場合に比べて格段に低い。
【0184】
このため、攻撃の威力の推定値を求める計算は、短時間で済む。
【0185】
なお、攻撃の推定値を求める処理に、時間の上限を定める、という手法もある。すなわち、威力推定処理が開始されてからの時間経過をステップS507で求め、この時間が、所定の閾時間を超えていれば、攻撃完了とみなすものである。
【0186】
ここでの閾時間は、垂直同期割込周期よりも半分未満とするのが典型的である。これは、1つの垂直同期割込周期内において、攻撃の威力の推定と、実際の攻撃と、画像の生成と、の処理を実行する必要があるからであり、攻撃の威力の推定よりも実際の攻撃の方が時間がかかるからである。
【0187】
もっとも、1フレーム分から数フレーム分の画像を描画するのに要する時間を推定に費しても良いような態様では、次の垂直同期割込周期が生じるまで、あるいは、所定回数の垂直同期割込周期が生じるまで推定を続け、垂直同期割込が生じたら推定を完了する、という手法もありうる。
【0188】
このように、威力推定処理では、全キャラクターが位置を変化させない、もしくは、移動するとしても一部のキャラクターのみ、と仮定することによって、計算負荷を低減している。
【0189】
さらに、他キャラクターのすべてについて、自キャラクターを攻撃しない、もしくは、攻撃するとしても一部の他キャラクターのみ、と仮定することによって、計算負荷を低減している。
【0190】
(最適な攻撃の推定処理)
以下では、ステップS405において、最適攻撃指示入力がなされていることが判明した場合(ステップS405;最適)に開始される処理(ステップS461)について説明する。
【0191】
これは、最適な攻撃を自動的に推定して、この攻撃があたかもプレイヤーによって選択されたかのように振舞うための処理であり、本実施形態では、□ボタン208の押圧操作に対応付けられている。
【0192】
図8は、最適な攻撃を推定してその攻撃を開始するための最適攻撃処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0193】
最適攻撃処理が開始されると、CPU 101は、自キャラクターが実行可能なすべての攻撃の種類のそれぞれについて、以下の処理を繰り返す(ステップS601)。
【0194】
すなわち、当該攻撃の種類を与えて威力推定処理を呼び出し(ステップS602)、当該攻撃の種類と得られた攻撃の威力とを対応付けて、RAM 103内に記憶する(ステップS603)。
【0195】
全攻撃についてこれを繰り返した(ステップS604)後、RAM 103を走査して、威力の推定値が最大の攻撃を選択してから(ステップS605)、戻る。
【0196】
これによって、選択された攻撃がプレイヤーによって指定されたと同じ扱いになり、当該攻撃についての威力の推定値を採用して、ステップS409に進む。
【0197】
本態様によれば、プレイヤーが自分で攻撃を選択しなくとも、自動的に最適と予想された攻撃が実行されるので、プレイヤーが初心者である場合等に好適である。
【0198】
(特殊効果)
上記の実施形態では、他キャラクターの体力パラメータの変化量に対応付けられる特殊効果は、スローモーション効果としており、当該変化量が大きければ大きいほど、当該スローモーション効果の程度を大きくすることとしていた。
【0199】
すなわち、上記実施形態では、攻撃が開始されてから終了するまでの間、スローモーションによる特殊効果が施される。
【0200】
一般に、攻撃の威力が大きい場合には、攻撃を受ける他キャラクターの数が多いか、あるいは、他キャラクター単体が受ける攻撃の回数が多い場合が多い。そこで、スローモーション表示をすることによって、各攻撃の詳細をプレイヤーに見せ、スローモーション表示の程度によって、攻撃の威力をプレイヤーに知らせることとしていた。
【0201】
以下では、その他の特殊効果について説明する。
【0202】
一般的な攻撃の特殊効果では、画面の明度を変化させたり、オーラ、炎、火花、竜巻などの特殊な動画像を表示する態様が採用されている。これらの動画像は、ゲーム内時間に基づいてその形状を変化させる。
【0203】
そこで、本実施形態では、これらの特殊効果用の動画像の個数を、攻撃の威力に応じて変化させることとする。
【0204】
図9、図10は、図6に示す画像に対して、攻撃の威力に応じた特殊効果を施した後の画像を示す説明図である。以下、本図を参照して説明する。
【0205】
図9、図10においては、特殊効果用の画像として、星型光601が表示されている。
【0206】
この星型光601は、ゲーム内時間の経過にともなって、大きさが変化するような動画像として構成されている。このため、図9、図10においても、星型光601は、各種の大きさが表示されている。
【0207】
本実施形態では、星型光601が発生する頻度を、攻撃の威力に応じて変化させている。図9の表示例は、図10の表示例に比べて、攻撃の威力が小さい場合を示しており、星型光601の数も図9の方が図10より少ない。
【0208】
また、星型光601の位置は、自キャラクター402に近い位置ほど確率が高いようにランダムに決定したり、攻撃対象となった他キャラクター403の周辺に配置するなど、種々の態様を採用することができる。
【産業上の利用可能性】
【0209】
以上説明したように、本発明によれば、ゲームにおいてプレイヤーが操作するキャラクターが他のキャラクターを攻撃する際の画像表示において、特殊効果を適切に施すのに好適なゲーム装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【0210】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
121 HD
201 ↑ボタン
202 ↓ボタン
203 ←ボタン
204 →ボタン
205 ○ボタン
206 ×ボタン
207 △ボタン
208 □ボタン
209 SELECTボタン
210 STARTボタン
211 ANALOGボタン
212 インジケータ
213 ジョイスティック
214 ジョイスティック
215 L1ボタン
216 L2ボタン
217 R1ボタン
218 R2ボタン
301 ゲーム装置
302 記憶部
303 受付部
304 自位置更新部
305 他位置更新部
306 推測部
307 自攻撃部
308 表示部
401 画像
402 自キャラクター
403 他キャラクター
601 星型光

【特許請求の範囲】
【請求項1】
仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される記憶部、
プレイヤーからの指示入力を受け付ける受付部、
前記受け付けられた指示入力が、移動指示入力である場合、当該移動指示入力に基づいて、前記記憶部に記憶される前記プレイヤーに対応付けられるキャラクター(以下「自キャラクター」という。)の位置を更新する自位置更新部、
前記記憶部に記憶される前記自キャラクター以外のキャラクター(以下「他キャラクター」という。)の位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する他位置更新部、
前記受け付けられた指示入力が攻撃選択指示入力である場合、前記記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測する推測部、
前記他キャラクターの体力パラメータの変化量が推測されると、前記自位置更新部および前記他位置更新部による前記複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する自攻撃部、
前記記憶部に記憶される前記複数のキャラクターの位置ならびに体力パラメータが更新されると、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する表示部
を備え、
前記表示部は、前記他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、前記画面に表示する
ことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記他キャラクターの体力パラメータの変化量に対応付けられる特殊効果は、スローモーション効果であり、当該変化量が大きければ大きいほど、当該スローモーション効果の程度を大きくする
ことを特徴とするゲーム装置。
【請求項3】
請求項1または2に記載のゲーム装置であって、
前記受け付けられた指示入力が、最適攻撃指示入力である場合、前記推測部は、前記プレイヤーが選択可能な種類の攻撃のそれぞれについて、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測し、当該変化量が最大の種類の攻撃を最適攻撃として選択し、
前記最適攻撃が選択されると、前記自攻撃部は、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該最適攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する
ことを特徴とするゲーム装置。
【請求項4】
請求項1から3のいずれか1項に記載のゲーム装置であって、
前記推測部は、前記記憶部に記憶される複数のキャラクターのそれぞれの位置のうち、前記自キャラクターの位置が、当該自キャラクターに割り当てられる移動アルゴリズムに基づいて変化するものと仮定することにより、前記他キャラクターの体力パラメータの変化量を推測する
ことを特徴とするゲーム装置。
【請求項5】
記憶部、受付部、自位置更新部、他位置更新部、推測部、自攻撃部、表示部を備えるゲーム装置が実行するゲーム制御方法であって、前記記憶部には、仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶され、
前記受付部が、プレイヤーからの指示入力を受け付ける受付工程、
前記受け付けられた指示入力が、移動指示入力である場合、前記自位置更新部が、当該移動指示入力に基づいて、前記記憶部に記憶される前記プレイヤーに対応付けられるキャラクター(以下「自キャラクター」という。)の位置を更新する自位置更新工程、
前記他位置更新部が、前記記憶部に記憶される前記自キャラクター以外のキャラクター(以下「他キャラクター」という。)の位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する他位置更新工程、
前記受け付けられた指示入力が攻撃選択指示入力である場合、前記推測部が、前記記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測する推測工程、
前記他キャラクターの体力パラメータの変化量が推測されると、前記自攻撃部が、前記自位置更新部および前記他位置更新部による前記複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する自攻撃工程、
前記記憶部に記憶される前記複数のキャラクターの位置ならびに体力パラメータが更新されると、前記表示部が、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する表示工程
を備え、
前記表示工程では、前記他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、前記画面に表示する
ことを特徴とするゲーム制御方法。
【請求項6】
コンピュータを、
仮想空間内に配置される複数のキャラクターの位置ならびに体力パラメータが記憶される記憶部、
プレイヤーからの指示入力を受け付ける受付部、
前記受け付けられた指示入力が、移動指示入力である場合、当該移動指示入力に基づいて、前記記憶部に記憶される前記プレイヤーに対応付けられるキャラクター(以下「自キャラクター」という。)の位置を更新する自位置更新部、
前記記憶部に記憶される前記自キャラクター以外のキャラクター(以下「他キャラクター」という。)の位置を、当該他キャラクターに割り当てられる移動アルゴリズムもしくは他のプレイヤーからの指示入力に基づいて更新する他位置更新部、
前記受け付けられた指示入力が攻撃選択指示入力である場合、前記記憶部に記憶される複数のキャラクターのそれぞれの位置が維持されるものと仮定し、当該複数のキャラクターの維持された位置ならびに所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算して、前記他キャラクターの体力パラメータの変化量を推測する推測部、
前記他キャラクターの体力パラメータの変化量が推測されると、前記自位置更新部および前記他位置更新部による前記複数のキャラクターのそれぞれの位置の更新を並行に行いながら、当該複数のキャラクターの変化する位置ならびに前記所定のルールに基づいて、当該攻撃選択指示入力に指定される種類の攻撃による当該複数のキャラクターの体力パラメータの変化量を計算し、当該計算された変化量に基づいて、前記記憶部に記憶される当該複数のキャラクターの体力パラメータを更新する自攻撃部、
前記記憶部に記憶される前記複数のキャラクターの位置ならびに体力パラメータが更新されると、当該仮想空間内に当該複数のキャラクターが配置される様子を表す画像を画面に表示する表示部
として機能させ、
前記表示部は、前記他キャラクターの体力パラメータの変化量が推測されると、当該他キャラクターの体力パラメータの変化量に対応付けられる特殊効果を取得し、当該仮想空間内に配置される様子を表す画像に、当該取得された特殊効果を施してから、前記画面に表示する
ように機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate