説明

プログラム、情報記憶媒体、及び画像生成システム

【課題】変化に富んだ連続攻撃を実現することが可能なプログラム、情報記憶媒体及び画像生成システムを提供する。
【解決手段】プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第1の動作、第2の動作、・・第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作を含み、連続動作は、第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいないか判定し、複数の移動体オブジェクトが存在する場合には、動作対象範囲に中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第n+1の動作の動作対象として選択するための動作対象切り替え処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【0002】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【0003】
このような画像生成システムでは、オブジェクト空間内(仮想的な3次元空間)においてプレーヤの操作対象であるプレーヤキャラクタと、敵キャラクタとを移動動作させ格闘や対戦やスポーツ等を行わせるゲームが知られている。
【0004】
最近では複数のキャラクタが登場するゲームにおいてプレーヤキャラクタが敵キャラクタに対して連続して攻撃を行う連続攻撃が可能な対戦ゲームも現れている。
【0005】
このような連続攻撃を実現する技術としては例えば特開2000−5444号公報に開示される従来技術がある。
【0006】
例えば対戦ゲーム等において複数の技を連続して行う連続攻撃が行われていたが、この場合プレーヤキャラクタが一人の敵キャラクタに対して連続して技をかけるものであった。
【0007】
最近では複数のキャラクタが登場する対戦ゲームもあるが、複数の敵キャラクタが登場する対戦ゲーム等においては方向キー等で攻撃相手を指定することで攻撃あいてを切り替える操作が必要になる。しかし短期間に連続して攻撃入力を行う必要がある連続攻撃において、攻撃相手を切り替えることは困難であった。
【0008】
このため、同じあいてを繰り返し攻撃する連続攻撃が行われることがおおく攻撃が単調なものとなり新鮮味が少なく数回行うと飽きてしまうといった問題があった。
【特許文献1】特開2000−5444号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、変化に富んだ連続攻撃を実現することが可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0010】
(1)本発明は、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部とを含み、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第1の動作、第2の動作、・・第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理部を含み、
前記連続動作処理部は、
第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第n+1の動作の動作対象として選択するための動作対象切り替え処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0011】
移動体オブジェクトとは例えばプレーヤによって操作されるプレーヤキャラクタや、コンピュータが制御するコンピュータキャラクタを含む。
【0012】
動作対象となる複数の移動体オブジェクトとは、シングルプレーヤゲームにおいては、コンピュータによって制御されるコンピュータ制御移動体オブジェクトであり、マルチプレーヤゲームにおいては、他のプレーヤに対応したプレーヤ操作移動体オブジェクトでもよいし、コンピュータによって制御されるコンピュータ制御移動体オブジェクトでもよい。
【0013】
移動・動作処理部は、操作部からの移動・動作指示入力や所定のプログラムやモーションデータに基づいて、オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算するようにしてもよい。
【0014】
ここにおいて動作とは、例えば移動体オブジェクトの関節毎に定義されたモーションデータに従って移動体オブジェクトを構成する各パーツオブジェクトを動かすこと(例えば手足を動かす)でもよい。動作の内容は例えば対戦ゲームにおける攻撃動作でもよいし、スポーツゲームにおける各種プレイでもよい。
【0015】
連続動作とは、複数の動作を連続して行うことであり、連続動作を構成する各動作のモーションを連続的に実行することで実現することができる。
【0016】
動作対象範囲とはプレーヤ移動体オブジェクトが他のオブジェクトに対する動作が可能な範囲であり、例えばプレーヤ移動体オブジェクトと他の移動体オブジェクトが接触して行う動作(格闘等)であればプレーヤ移動体オブジェクトからの近い(所定距離内)所定の範囲に設定することができる。またシューティングゲームの場合弾の届く範囲に設定してもよいし、球技等で球を投げる場合には球の届く範囲に設定するようにしてもよい。
【0017】
動作対象切り替え処理として、前記動作対象範囲に例えば第n番目で選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在した場合には、第n番目で選ばれた移動体オブジェクトをはずした残りの移動体オブジェクトのなかから、第n+1番目の動作対象を選択するようにしてもよい。
【0018】
なお残りの移動体オブジェクトのなかから、第n+1番目の動作対象を選択する際には所定のルールや予め設定された優先順位に従って選択するようにしてもよいし、ランダムに選択するようにしてもよい。
【0019】
また動作対象切り替え処理として、前記動作対象範囲に例えば第n番目で選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在した場合には、第n番目で選ばれた移動体オブジェクトの優先順位を低くして残りの移動体オブジェクトのなかから、第n+1番目の動作対象を選択するようにしてもよい。後者の場合、選択される確率を低くすることで優先順位を低くする場合も含まれる。この場合には、優先順位に従ってランダムに選択することになり、第nの動作と第n+1の動作対象が結果としておなじになる場合もあるが、第nの動作と第n+1の動作対象とが異なる確率が高くなり、このような場合も本発明の範囲内である。
【0020】
連続動作を構成する各動作はプレーヤからの操作入力(動作コマンドの入力)により発生させてもよいし、最初の動作のみプレーヤの操作入力により発生し、それ以降の動作制御は自動的に行われる場合でもよい。
【0021】
本発明によれば連続攻撃の際にプレーヤ操作移動体オブジェクトの動作対象範囲に複数の移動体オブジェクトが存在する場合に前回の動作対象と今回の動作対象が同じにならないように自動的にきりかえて動作を行うことができる。
【0022】
従って動作対象等切り替え等の複雑な操作を行うことなしに、動作対象を切り替えて連続動作を行うことができるため、攻撃が単調になるのを防止し、初心者でも攻撃対象を切り替えた連続動作を楽しめるゲームを提供することができる。
【0023】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第n+1の動作対象を選択することを特徴とする。
【0024】
例えば前記動作対象範囲に存在する移動体オブジェクトの中から、第nの動作で動作対象として選択された移動体オブジェクトを除いてプレーヤ操作移動体オブジェクトとの距離が最も近い移動体オブジェクトを選択するようにしても良い。
【0025】
なおこのような場合、連続動作の開始となる第1の動作の動作対象についてはプレーヤ操作移動体オブジェクトとの距離が最も近いものを選択するようにしてもよい。
【0026】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定されていることを特徴とする。
【0027】
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
所定の期間に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とする。
【0028】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
連続動作を構成する第nの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とする。
【0029】
例えば第nの動作の定義ファイルの中に、次動作入力受付期間を定義しておくようにしてもよい。この場合第nの動作の開始からフレーム数等により定義するようにしてもよい。
【0030】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とする。
【0031】
例えば第nの動作の定義ファイルの中に、次動作シフトタイミングを定義しておくようにしてもよい。次動作シフトタイミングとは、第nの動作のモーションから第n+1の動作のモーションへのシフトが開始されるタイミングである。例えば第nの動作のモーションの途中から第n+1の動作のモーションへつなぎモーション(第nの動作の終わりのほうのモーションと第n+1の動作の最初のほうのモーションを合成又はモーション補間して求めても良い)のがありその後に第nの動作になる場合には、つなぎモーションのはしまるタイミングを次動作シフトタイミングとしてもよい。
【0032】
(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
1回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、
第nの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、
所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第n+1の動作をおこなうように制御することを特徴とする。
【0033】
第nの動作の動作コマンドの受付期間終了後、第nの動作の動作コマンド受け付けの有無の判断を行った後、第n+1の動作の動作コマンドの受付期間開始前に動作コマンド受け付け保持部をクリアするようにしてもよい。
【0034】
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第n+1番目の動作対象の選択処理を行うことを特徴とする。
【0035】
例えば第nの動作の定義ファイルの中に、次動作シフトタイミングを定義しておくようにしてもよい。次動作シフトタイミングとは、第nの動作のモーションから第n+1の動作のモーションへのシフトが開始されるタイミングである。
【0036】
例えば第nの動作のモーションの途中から第n+1の動作のモーションへつなぎモーション(第nの動作の終わりのほうのモーションと第n+1の動作の最初の法のモーションを合成又はモーション補間して求めても良い)のがありその後に第nの動作になる場合には、つなぎモーションの始まる前に設定しておくようにしてもよい。
【0037】
本発明によれば、選択時とモーション移行時のタイムラグがなくなり第n番目のモーションから第n+1番の動作のモーションにスムーズシフトすることができる。
【0038】
(9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記移動動作処理部が、
操作入力に基づきいずれかの移動体オブジェクトを動作対象として特定し、特定された移動体オブジェクトを動作対象として固定する動作対象固定処理部と、
動作対象固定処理部によって固定された移動体オブジェクトを動作対象として選択する動作対象選択部を含み、
動作対象固定処理がおこなわれていない場合に連続動作における動作対象切り替え処理を行うことをことを特徴とする。
【発明を実施するための最良の形態】
【0039】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0040】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0041】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0042】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0043】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0044】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0045】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0046】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0047】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0048】
オブジェクト空間設定部110は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0049】
移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0050】
移動・動作処理部112は、連続動作処理部142を含む。
【0051】
連続動作処理部142は、プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第1の動作、第2の動作、・・第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算し、第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する可いなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第n+1の動作の動作対象として選択するための動作対象切り替え処理を行う。
【0052】
前記連続動作処理部142は、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第n+1の動作対象を選択するようにしてもよい。
【0053】
ここで前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定するようにしてもよい。
【0054】
前記連続動作処理部142は、所定の期間に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御するようにしてもよい。
【0055】
前記連続動作処理部142は、連続動作を構成する第nの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御するようにしてもよい。
【0056】
前記連続動作処理部142は、第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御するようにしてもよい。
【0057】
前記連続動作処理部142は、1回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、第nの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第n+1の動作をおこなうようにしてもよい。
【0058】
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第n+1番目の動作対象の選択処理を行うを選択するようにしてもよい。
【0059】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0060】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0061】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ172(フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0062】
描画部120は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【0063】
ここでテクスチャマッピング処理は、テクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部174からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
【0064】
また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されるZバッファ176(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、描画対象ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ176のZ値を新たなZ値に更新する。
【0065】
またαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、α加算ブレンディング或いはα減算ブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
RQ=(1−α)×R1+α×R2
GQ=(1−α)×G1+α×G2
BQ=(1−α)×B1+α×B2
一方、加算αブレンディングの場合には下式の処理を行う。
RQ=R1+α×R2
GQ=G1+α×G2
BQ=B1+α×B2
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(元画像)のRGB成分であり、R2、G2、B2は、描画バッファ172に描画すべき画像のRGB成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像のRGB成分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
【0066】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0067】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0068】
2.本実施形態の手法
2−1:ゲームの概要
本実施の形態のアクションゲームシステムは、図13に示すように、プレーヤオブジェクト(プレーヤ操作移動体オブジェクト)PK、敵オブジェクトTK1、敵オブジェクトTK2と、マップ(地形)MPとが配置された仮想3次元オブジェクト空間SPを仮想カメラから見た画像を生成し、表示部190に表示させる。そして、プレーヤは、表示部190を見ながら、操作部160を用いてプレーヤオブジェクトPKの移動・動作を操作して、敵オブジェクトTK1、敵オブジェクトTK2と格闘を行うゲームを楽しむ。
【0069】
図14には、操作部160の一例が示されている。本実施の形態の操作部160は、プレーヤが両手で操作部160の左右を把持し、操作部160に配置された複数の操作子を左右の手の親指、人差し指、中指で操作可能に形成されている。
【0070】
この操作部160の中央下部には、左レバー312、右レバー314が設けられている。これら左レバー312、右レバー314は、レバー部分を全方向に倒すことができ、レバー部分を倒した量と方向の変化量と変化率をアナログ的に検出可能に形成されている。そして、本実施の形態では、左レバー312を倒した方向に応じて、プレーヤオブジェクトPKをX、Z平面に設定されたマップMP上(X、Z方向)で移動させる。また、右レバー314を倒した方向に応じて、オブジェクト空間SPを撮影する仮想カメラの視点位置、視線方向をX、Z平面上(X、Z方向)で移動させる。従って、本実施の形態のアクションゲームシステムでは、プレーヤオブジェクト12の位置、回転角度と、仮想カメラの視点位置、視線方向をアナログ的に操作することができる。
【0071】
また、操作部160の右側中央部には、ON/OFFを検出可能に形成された4つのボタンが設けられており、本実施の形態では、△ボタン316を押下することによりプレーヤオブジェクトPKが所与のオブジェクト(例えば槍や金属バット等)を投げる動作を行い、○ボタン318を押下することによりプレーヤオブジェクトPKがパンチやキック等の打撃攻撃動作を行うように形成されている。
【0072】
また、操作部160の左右上部には、ON/OFFを検出可能に形成された左ボタン320と右ボタン322が設けられており、本実施の形態では、右ボタン322をおすことによりターゲット固定(動作対象の固定)を行うことができる。
【0073】
2−2:本実施の形態の特徴
次に本実施形態の特徴と手法について図面を用いて説明する。
【0074】
図2〜図6は、連続攻撃が開始されてから終了するまでの一連のゲーム画像である。
【0075】
本実施の形態ではターゲットロック(動作対象を操作部から特定したキャラクタに固定すること)をせずに、方向キーの入力をしない打撃をだした場合(打撃コマンドに対応するボタンを入力した場合)、第1の打撃(第1の動作)のあと連続して第2の打撃(第2の動作)、・・・、第nの打撃(第nの動作)、第n+1の打撃(第n+1の動作)を連続的に行う連続攻撃(連続動作の一例)を行うことができる。
【0076】
ターゲットロックをせずに、方向キーの入力をしない打撃コマンドが入力されると第1の打撃(第1の動作)が発生し、プレーヤオブジェクトPKが最も近い敵オブジェクトTK2に打撃をくわえる(図2参照)。
【0077】
第1の打撃に連続して所定期間内に次の打撃コマンドが入力されると、プレーヤオブジェクトPKの攻撃可能範囲(動作対象範囲)に複数の敵オブジェクトがいる場合には前回の攻撃対象である敵オブジェクトTK2を除いた中からプレーヤオブジェクトPKに最も近い敵オブジェクトである敵オブジェクトTK1が次の攻撃対象(動作対象)として選択される。
【0078】
そして画面上はプレーヤオブジェクトPKが次の攻撃対象である敵オブジェクトTK1に対する攻撃動作に移行するためのつなぎモーションが生成され(図3参照)、第2の打撃(第2の動作)対象として選択された敵オブジェクトTK1に打撃をくわえる(図4参照)。
【0079】
第2の打撃に連続して所定期間内に次の打撃コマンドが入力されると、プレーヤオブジェクトPKの攻撃可能範囲(動作対象範囲の一例)に複数の敵オブジェクトがいる場合には前回の攻撃対象である敵オブジェクトTK1を除いた中からプレーヤオブジェクトPKに最も近い敵オブジェクトである敵オブジェクトTK2が次の攻撃対象(動作対象)として選択される。
【0080】
そして画面上はプレーヤオブジェクトPKが次の攻撃対象である敵オブジェクトTK2に対する攻撃動作に移行するためのつなぎモーションが生成され(図5参照)、第3の打撃(第3の動作)対象として選択された敵オブジェクトTK2に打撃をくわえる(図6参照)。
【0081】
このように本実施の形態では、連続攻撃が行われる際に、自動的(プレーヤが外部から攻撃対象を指定又は変更する入力なして)に攻撃対象を切り替える処理(動作対象切り替え処理)を行う。
【0082】
2−3:動作対象切り替え処理
図7は本実施の形態の動作対象切り替え処理について説明するための図である。PKはプレーヤによって操作されるプレーヤオブジェクトであり、TK1〜TK5は敵オブジェクトである。敵オブジェクトはマルチプレーヤゲームにおいて他のプレーヤによって操作されるオブジェクトでもよいし、コンピュータによって制御されるオブジェクトでもよい。l1〜l3はプレーヤオブジェクトPKから敵オブジェクトTK1〜TK3までの距離を表していおりl1<l2<l3である。410は動作対象範囲であり、この範囲内に存在する敵オブジェクトに対してはプレーヤオブジェクトは動作(例えば打撃等)可能である。図7ではプレーヤ操作移動体オブジェクトの周囲の所定の範囲(プレーヤオブジェクトから所定の距離内にあるエリア)が動作対象範囲410に設定されている。
【0083】
本実施形態では、プレーヤ操作移動体オブジェクトPKが他の移動体オブジェクトに対して第1の動作、第2の動作、・・第nの動作、第n+1の動作を含む複数の動作を連続して行う連続動作において、第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトPKの動作対象範囲410に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲410に中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを、第n+1の動作の動作対象として選択するための動作対象切り替え処理を行う。
【0084】
例えば連続動作の最初である第1の動作を指示する動作コマンドが入力されると、近距離サーチが行われ、プレーヤオブジェクトPKから最も近い敵オブジェクトTK1が動作対象(攻撃対象)として選択される。
【0085】
そして所定期間内に第2の動作を指示する動作コマンドが入力されると、プレーヤ操作移動体オブジェクトPKの動作対象範囲410に、動作対象となる移動体オブジェクトが複数存在するか否かを判断する。図7に示すように動作対象範囲410に複数の敵オブジェクトTK1、TK2、TK3が存在する場合には、第1の動作対象となった敵オブジェクトTK1を選択候補からはずし、残りの敵オブジェクトTK2、TK3に対して近距離サーチを行い、プレーヤオブジェクトPKに対して最も近い敵オブジェクトTK2を第2の動作の動作対象として選択する。
【0086】
このようにすると連続攻撃の際にプレーヤ操作移動体の動作範囲に複数の移動体オブジェクトが存在する場合に前回の動作対象と今回の動作対象が同じにならないように自動的にきりかえて動作を行うことができる。従ってプレーヤは複雑な攻撃対象切り替え操作を行うことなしに、異なる敵に対する連続攻撃を行うことができる。
【0087】
なおここでは動作対象範囲(攻撃対象)410に存在する敵オブジェクトの中から第n+1の攻撃の攻撃対象を選ぶ際に、第nの攻撃の攻撃対象を外した残りのなかからプレーヤオブジェクトに最も近い敵オブジェクトを次の攻撃対象として選択する場合を例にとり説明したがこれに限られない。
【0088】
例えば第nの攻撃の攻撃対象を外した残りのなかから他の所定のルールにしたがって選択するようにしてもよい。例えばプレーヤキャラクタと敵キャラクタの向きに応じて決定してもよいし(プレーヤオブジェクトの最も正面にいる敵オブジェクトを選択する等)、敵オブジェクトのパラメータの値に応じて決定してもよいし(例えば体力パラメータの最も小さい敵オブジェクトを選択する等)、ランダムに選択するようにしてもよい。
【0089】
また動作対象範囲410に例えば第n番目で選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在した場合には、第n番目で選ばれた移動体オブジェクトの優先順位を低くして残りの移動体オブジェクトのなかから、第n+1番目の動作対象を選択するようにしてもよい。後者の場合、選択される確率を低くすることで優先順位を低くする場合も含まれる。この場合には、第nの動作と第n+1の動作対象が結果としておなじになる場合もあるが、異なる確率が高くなり、このような場合も本発明の範囲内である。
【0090】
図8(A)〜図8(C)は、本実施の形態の動作対象範囲の他の例について説明するための図である。
【0091】
例えば図8(A)に示すように、プレーヤオブジェクトPKから所定の距離にあるエリア(ただしプレーヤオブジェクトPKの周囲を除く)410を動作対象範囲として設定してもよい。例えばプレーヤオブジェクトPKの動作がボールその他を投げたり打ったりする場合や、シューティング動作である場合には、このようにプレーヤオブジェクトからある程度離れた所定の距離にあるエリアを動作対象範囲410とすることもできる。
【0092】
また例えば図8(B)に示すように、プレーヤオブジェクトPKの正面方向402から所定の角度内の所定のエリアを動作対象範囲410として設定してもよい。例えばプレーヤオブジェクトPKの動作がプレーヤオブジェクトPKの正面402方向に位置する敵オブジェクトに関するものである場合にこのように設定してもよい。
【0093】
また例えば図8(C)に示すように、プレーヤオブジェクトPKから所定の距離に設定された所定の形状のエリアを動作対象範囲410として設定してもよい
2−3:連続動作処理
図9は本実施の形態の連続動作処理について説明するための図である。
【0094】
本実施の形態ではプレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第1の動作210、第2の動作220、・・第nの動作、第n+1の動作を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理を行う。
【0095】
連携動作とは、複数の動作が自動的にスムーズに連続して行われる動作である。連続動作は、連続データを構成する各動作に対応して定義されているモーションデータにしたがって移動体オブジェクトを動作させることによって実現できる。
【0096】
tは時間軸であり、時系列に生成されるフレームに対応している。時刻t0(フレームt0)から連続動作の最初の動作である第1の動作のモーションが開始(表示)されるとする。210は第1の動作が行われる期間(t0〜t3)であり、220は第2の動作が行われる期間(t2〜t6)である。ここで214は第1の動作から第2の動作に移行するためのシフト期間(t2〜t3)である。
【0097】
また212は、第2の動作を指示するコマンドの受け付けフレームである。この受け付けフレームの間(t0〜t1)にプレーヤが動作コマンドを入力すると、第1の動作に連続して第2の動作がおこなわれ、この間に動作コマンドが入力されないと第1の動作のみで終了する。
【0098】
前者の場合には214に示すシフトフレームでは第1の動作のt2における姿勢(移動体オブジェクトの各間接の回転等)から第2の動作のt3における姿勢(移動体オブジェクトの各間接の回転等)にスムーズに移行するためのモーション補間がおこなわれる。
【0099】
また後者の場合には、シフトフレーム214ではt2における姿勢(移動体オブジェクトの各間接の回転等)からt3で基準姿勢にスムーズに移行するためのモーションがおこなわれる(例えば第1の動作として定義されているモーションが最後が基準姿勢であればそのモーションを実行することにより実現する)。
【0100】
このように所定の期間(ここでは受け付けフレーム212)に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御するようにしてもよい。
【0101】
また連続動作を構成する第nの動作に関連付けて動作受付期間内が定義され、当該動作受付期間内に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御するようにしてもよい。
【0102】
図10(A)(B)には連続動作と各動作の定義ファイル(コマンドリスト)について説明するための図である。
【0103】
図10(A)は連続攻撃の定義ファイル(コマンドリスト)にしたがった動作の流れの一例を示した図である。攻撃コマンドが入力されると(510)、動作対象として選択された攻撃相手(敵オブジェクト)の位置(512、514、516)に応じて、実行される攻撃種別(522、524,526)が定義されている。
【0104】
例えば攻撃コマンドが入力されて、所定のルール(例えば近距離幸)にしたがって選択された敵オブジェクトTK1の位置が、図11のα1にしめすように左又は左後ろ方向であれば(512)、第1の攻撃として「1発目左裏拳」522という種別の攻撃が行われる。
【0105】
また選択された敵オブジェクトTK2の位置が、図11のα2に示すように正面方向の所定範囲であれば(514)、第1の攻撃として「1発目左ジャブ」524という種別の攻撃」が行われる。
【0106】
また選択された敵オブジェクトTK3の位置が、図11のα3に示すように右又は右後ろ方向で方向の所定範囲であれば(514)、第1の攻撃として「1発目右裏拳」524という種別の攻撃」が行われる。
【0107】
このように連続攻撃の定義ファイルには、プレーヤオブジェクトと選択された敵オブジェクトとの配置関係に応じた攻撃種別の選択ルールを定義するようにしてもよい。
【0108】
なお連続攻撃の定義ファイルは、例えば各動作内容の定義ファイルを用意し、定義ファイル内にシフト情報を設け、シフト情報にしたがって次の定義ファイルにジャンプする構成により実現することもできる。例えば各動作情報定義ファイル510,522、524、526等にシフト情報(攻撃相手の位置に応じて実行する攻撃種別を定義した情報)を持たせシフト情報にしたがって次の各動作内容の定義ファイルにジャンプして、ジャンプ先の定義ファイルにしたがって次の攻撃を実行するようにしてもよい。
【0109】
図10(B)は、動作内容定義ファイルの一例を示す。動作内容定義ファイル560には、例えば動作で使用するモーションファイル(仕様するモーションデータの格納先を特定するための情報)562や、次の動作にシフトするために必要なシフト情報(次のシフト先の決定アルゴリズム(例えば次の攻撃相手との配置関係に対応した次の動作)、シフト期間に関する情報等)や、受け付けフレーム情報568等が定義されている。
【0110】
例えばシフト情報として図10(A)で説明したプレーヤオブジェクトと選択された敵オブジェクトとの配置関係に応じた次の動作(技)を指定してもよい。 また例えば必要なシフト情報564として、シフト開始フレーム位置の情報等が定義(次動作シフト時)されていると、第nの動作に関連付けて定義された次動作シフト時より前に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御することもできる。
【0111】
また1回分の動作コマンド有り無しを保持する動作コマンド受け付け保持部を含み、第nの動作に対応した所定の期間内(例えばシフト情報としてに動作コマンドをうけつけると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、所定の時点で(第nの動作に関連付けて定義された次動作シフト判断時(シフト開始フレーム等)に前記動作コマンド受け付け保持部動作コマンド受け付けありを保持していた場合には、連続して第n+1の動作をおこなうように制御してもよい。
【0112】
また第n+1番目の動作対象の選択は、第n番目の動作に関連付けて定義された切り替えタイミング(例えばシフト情報564として定義されたシフト開始フレームの直前等)で行うようにしてもよい。
【0113】
例えばシフト情報として第n番目のモーションが第n+1番の動作のモーションにシフトするために必要なシフト期間の始まる前を設定しておき、これを第n+1番目の動作対象の選択のタイミングとして使用するようにしてもよい。このようにすると、選択時とモーション移行時のタイムラグがなくなり第n番目のモーションから第n+1番の動作のモーションにスムーズシフトすることができる。
【0114】
図12は、本実施の形態の連続動作処理の流れを説明するためのフローチャート図である。
【0115】
攻撃コマンドの入力があると以下の処理を行う(ステップS10)。
【0116】
近距離サーチで一番近くにいる敵オブジェクトをサーチする(ステップS20)。
【0117】
一番近い敵オブジェクトがプレーヤオブジェクトの左背後に位置する場合には、コマンドリストの振り返り(左)に登録されている1発目左裏権(図10(A)の512、522)を実行する(ステップS30、S40)。
【0118】
一番近い敵オブジェクトがプレーヤオブジェクトの右背後に位置する場合には、コマンドリストの振り返り(右)に登録されている1発目右裏権(図10(A)の516、526)を実行する(ステップS30、S60)。
【0119】
一番近い敵オブジェクトがプレーヤオブジェクトの正面に位置する場合には、コマンドリストの通常に登録されている1発目左ジャブ(図10(A)の514、524)を実行する(ステップS30、S50)。
【0120】
そして例えばステップ50において1発目左ジャブが実行された場合に、次の攻撃のシフトフレームまでに、攻撃ボタンがおさなければ(次の攻撃が予約されなければ)次の動作へはシフトせず連続攻撃は終了する。例えば図9の第1の動作210の受け付けフレーム212において、攻撃コマンドの入力がなければ次の動作へはシフトせず連続攻撃は終了する(ステップS70、S80)。
【0121】
また次の攻撃のシフトフレームまでに、攻撃ボタンがおされれば(次の攻撃が予約されれば)、プレーヤオブジェクトの動作対象範囲に2人以上の敵オブジェクトがいるか否か判断し、いない場合には一番近くにいる敵オブジェクトをターゲット(動作対象)にする(ステップS90、S110)。
【0122】
いる場合には1発目で攻撃した(動作対象となった)敵オブジェクトをターゲット候補からはずし、残りの敵オブジェクトの中で、一番近くにいる敵オブジェクトをターゲット(動作対象)にする(ステップS90、S100)。
【0123】
そして決定したターゲットがプレーヤオブジェクトに対してどの位置に居るかに応じて1発目左ジャブのシフト情報に登録されている動作にシフトする(ステップS120、S130、S140)。
【0124】
3.ハードウェア構成
図15に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0125】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0126】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0127】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0128】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0129】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0130】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0131】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0132】
また、呼び寄せ制御処理も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば、複数の味方キャラクタを呼び寄せる場合でもよいし、敵キャラクタと味方キャラクタを同時に呼び寄せる場合でも良いし、4体以上の移動体オブジェクトで連携動作を行う場合でもよい。
【0133】
また上記実施の形態ではターゲットロック(動作対象を操作部から特定したキャラクタに固定すること)をせずに、方向キーの入力をしない打撃をだした場合(打撃コマンドに対応するボタンを入力した場合)に連続動作における動作切り替え処理が行われる場合を例にとり説明したが是に限られず、ターゲットロックをおこなったり、方向キーの入力を伴う打撃をだした場合の連続動作におけいても動作切り替え処理を行うようにしてもよい。
【0134】
例えば、走るコマンド(方向キーを指定して走るボタンを入力)が有効な所定期間中に攻撃ボタンを押すと、たとえターゲットロックを攻撃相手を切り替えるようにしてもよい。
【0135】
また上記実施の形態では複数のキャラクタで格闘を行うアクションゲームを例にとり説明したがこれに限られない。例えばサッカーやラグビー等の球技ゲームでもよいし、その他のゲームでもよい。
【0136】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0137】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】連続攻撃のゲーム画像の一例
【図3】連続攻撃のゲーム画像の一例
【図4】連続攻撃のゲーム画像の一例
【図5】連続攻撃のゲーム画像の一例
【図6】連続攻撃のゲーム画像の一例
【図7】動作対象切り替え処理について説明するための図
【図8】図8(A)〜図8(C)は、動作対象範囲の他の例
【図9】連続動作処理について説明するための図。
【図10】図10(A)図10(B)は連続動作と各動作の定義ファイル(コマンドリスト)について説明するための図。
【図11】プレーヤオブジェクトと選択された敵オブジェクトとの配置関係に応じた攻撃種別の選択ルールについて説明するための図
【図12】連続動作処理の流れを説明するためのフローチャート図。
【図13】ゲーム空間の説明
【図14】操作部の説明
【図15】ハードウェア構成例。
【符号の説明】
【0138】
PK プレーヤキャラクタ、TK、TK1,TK2 敵キャラクタ、100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、114 仮想カメラ制御部、120 描画部、130 音生成部、142 連続動作処理部、160 操作部、170 記憶部、172 描画バッファ、174 テクスチャ記憶部、176 Zバッファ、180 情報記憶媒体、190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第1の動作、第2の動作、・・第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理部を含み、
前記連続動作処理部は、
第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第n+1の動作の動作対象として選択するための動作対象切り替え処理を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記連続動作処理部は、
プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第n+1の動作対象を選択することを特徴とするプログラム。
【請求項3】
請求項1乃至2のいずれかにおいて、
前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定されていることを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記連続動作処理部は、
所定の期間に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項5】
請求項4において、
前記連続動作処理部は、
連続動作を構成する第nの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項6】
請求項4において、
前記連続動作処理部は、
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項7】
請求項4乃至6のいずれかにおいて、
前記連続動作処理部は、
1回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、
第nの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、
所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第n+1の動作をおこなうように制御することを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第n+1番目の動作対象の選択処理を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記移動動作処理部が、
操作入力に基づきいずれかの移動体オブジェクトを動作対象として特定し、特定された移動体オブジェクトを動作対象として固定する動作対象固定処理部と、
動作対象固定処理部によって固定された移動体オブジェクトを動作対象として選択する動作対象選択部を含み、
動作対象固定処理がおこなわれていない場合に連続動作における動作対象切り替え処理を行うことをことを特徴とするプログラム。
【請求項10】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至10のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項11】
画像を生成するための画像生成システムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部とを含み、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第1の動作、第2の動作、・・第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理部を含み、
前記連続動作処理部は、
第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第n+1の動作の動作対象として選択するための動作対象切り替え処理を行うことを特徴とする画像生成システム。
【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの少なくとも動作を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作を構成する各動作に対応して定義されているモーションデータを記憶する記憶部と、
連続動作を構成する各動作に対応して定義されているモーションデータを記憶部から読み出して、読み出したモーションデータを用いて、プレーヤ操作移動体オブジェクトに他の移動体オブジェクトに対する連続動作を行わせるため演算を行う連続動作処理部と、
を含み、
前記連続動作処理部は、
第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲を設定し、設定した動作対象範囲内に動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、動作対象範囲内に第nの動作の動作対象に選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在すると判断した場合には、第nの動作の動作対象となった移動体オブジェクトをはずしたのこりのなかから所定のルールに従って第n+1の動作の動作対象を選択する処理、又は第nの動作の動作対象となった移動体オブジェクトの優先順位や選択確率を低くして第n+1番目の動作対象を選択する処理のいずれかの動作対象切り替え処理を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記連続動作処理部は、
プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第nの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第n+1の動作対象を選択することを特徴とするプログラム。
【請求項3】
請求項1乃至2のいずれかにおいて、
前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定されていることを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記連続動作処理部は、
所定の期間に操作部から動作コマンドが入力されると第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項5】
請求項4において、
前記連続動作処理部は、
連続動作を構成する第nの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項6】
請求項4において、
前記連続動作処理部は、
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第nの動作に連続して第n+1の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項7】
請求項4乃至6のいずれかにおいて、
前記連続動作処理部は、
1回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、
第nの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、
所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第n+1の動作をおこなうように制御することを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
第nの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第n+1番目の動作対象の選択処理を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記移動・動作処理部が、
操作入力に基づきいずれかの移動体オブジェクトを動作対象として特定し、特定された移動体オブジェクトを動作対象として固定する動作対象固定処理部と、
動作対象固定処理部によって固定された移動体オブジェクトを動作対象として選択する動作対象選択部を含み、
動作対象固定処理がおこなわれていない場合に連続動作における動作対象切り替え処理を行うことをことを特徴とするプログラム。
【請求項10】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至9のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項11】
画像を生成するための画像生成システムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの少なくとも動作を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部とを含み、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第nの動作、第n+1の動作(nは1以上の整数)を含む複数の動作を連続して行う連続動作を構成する各動作に対応して定義されているモーションデータを記憶する記憶部と、
連続動作を構成する各動作に対応して定義されているモーションデータを記憶部から読み出して、読み出したモーションデータを用いて、プレーヤ操作移動体オブジェクトに他の移動体オブジェクトに対する連続動作を行わせるため演算を行う連続動作処理部と、
を含み、
前記連続動作処理部は、
第n+1の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲を設定し、設定した動作対象範囲内に動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、動作対象範囲内に第nの動作の動作対象に選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在すると判断した場合には、第nの動作の動作対象となった移動体オブジェクトをはずしたのこりのなかから所定のルールに従って第n+1の動作の動作対象を選択する処理、又は第nの動作の動作対象となった移動体オブジェクトの優先順位や選択確率を低くして第n+1番目の動作対象を選択する処理のいずれかの動作対象切り替え処理を行うことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2006−268676(P2006−268676A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−88728(P2005−88728)
【出願日】平成17年3月25日(2005.3.25)
【特許番号】特許第3747050号(P3747050)
【特許公報発行日】平成18年2月22日(2006.2.22)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】