(57)【要約】      （修正有）【課題】変化に富んだ連続攻撃を実現することが可能なプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第１の動作、第２の動作、・・第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作を含み、連続動作は、第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいないか判定し、複数の移動体オブジェクトが存在する場合には、動作対象範囲に中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第ｎ＋１の動作の動作対象として選択するための動作対象切り替え処理を行う。【選択図】図１２
2006268676.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第１の動作、第２の動作、・・第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理部を含み、
前記連続動作処理部は、
第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第ｎ＋１の動作の動作対象として選択するための動作対象切り替え処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記連続動作処理部は、
プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第ｎ＋１の動作対象を選択することを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定されていることを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記連続動作処理部は、
所定の期間に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項５】
請求項４において、
前記連続動作処理部は、
連続動作を構成する第ｎの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項６】
請求項４において、
前記連続動作処理部は、
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項７】
請求項４乃至６のいずれかにおいて、
前記連続動作処理部は、
１回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、
第ｎの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、
所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第ｎ＋１の動作をおこなうように制御することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第ｎ＋１番目の動作対象の選択処理を行うことを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記移動動作処理部が、
操作入力に基づきいずれかの移動体オブジェクトを動作対象として特定し、特定された移動体オブジェクトを動作対象として固定する動作対象固定処理部と、
動作対象固定処理部によって固定された移動体オブジェクトを動作対象として選択する動作対象選択部を含み、
動作対象固定処理がおこなわれていない場合に連続動作における動作対象切り替え処理を行うことをことを特徴とするプログラム。
【請求項１０】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１０のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１１】
画像を生成するための画像生成システムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部とを含み、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第１の動作、第２の動作、・・第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理部を含み、
前記連続動作処理部は、
第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第ｎ＋１の動作の動作対象として選択するための動作対象切り替え処理を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、オブジェクト空間内（仮想的な３次元空間）においてプレーヤの操作対象であるプレーヤキャラクタと、敵キャラクタとを移動動作させ格闘や対戦やスポーツ等を行わせるゲームが知られている。
【０００４】
最近では複数のキャラクタが登場するゲームにおいてプレーヤキャラクタが敵キャラクタに対して連続して攻撃を行う連続攻撃が可能な対戦ゲームも現れている。
【０００５】
このような連続攻撃を実現する技術としては例えば特開２０００−５４４４号公報に開示される従来技術がある。
【０００６】
例えば対戦ゲーム等において複数の技を連続して行う連続攻撃が行われていたが、この場合プレーヤキャラクタが一人の敵キャラクタに対して連続して技をかけるものであった。
【０００７】
最近では複数のキャラクタが登場する対戦ゲームもあるが、複数の敵キャラクタが登場する対戦ゲーム等においては方向キー等で攻撃相手を指定することで攻撃あいてを切り替える操作が必要になる。しかし短期間に連続して攻撃入力を行う必要がある連続攻撃において、攻撃相手を切り替えることは困難であった。
【０００８】
このため、同じあいてを繰り返し攻撃する連続攻撃が行われることがおおく攻撃が単調なものとなり新鮮味が少なく数回行うと飽きてしまうといった問題があった。
【特許文献１】特開２０００−５４４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、変化に富んだ連続攻撃を実現することが可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【００１０】
（１）本発明は、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部とを含み、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第１の動作、第２の動作、・・第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理部を含み、
前記連続動作処理部は、
第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第ｎ＋１の動作の動作対象として選択するための動作対象切り替え処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１１】
移動体オブジェクトとは例えばプレーヤによって操作されるプレーヤキャラクタや、コンピュータが制御するコンピュータキャラクタを含む。
【００１２】
動作対象となる複数の移動体オブジェクトとは、シングルプレーヤゲームにおいては、コンピュータによって制御されるコンピュータ制御移動体オブジェクトであり、マルチプレーヤゲームにおいては、他のプレーヤに対応したプレーヤ操作移動体オブジェクトでもよいし、コンピュータによって制御されるコンピュータ制御移動体オブジェクトでもよい。
【００１３】
移動・動作処理部は、操作部からの移動・動作指示入力や所定のプログラムやモーションデータに基づいて、オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの移動及び動作の少なくとも一方を演算するようにしてもよい。
【００１４】
ここにおいて動作とは、例えば移動体オブジェクトの関節毎に定義されたモーションデータに従って移動体オブジェクトを構成する各パーツオブジェクトを動かすこと（例えば手足を動かす）でもよい。動作の内容は例えば対戦ゲームにおける攻撃動作でもよいし、スポーツゲームにおける各種プレイでもよい。
【００１５】
連続動作とは、複数の動作を連続して行うことであり、連続動作を構成する各動作のモーションを連続的に実行することで実現することができる。
【００１６】
動作対象範囲とはプレーヤ移動体オブジェクトが他のオブジェクトに対する動作が可能な範囲であり、例えばプレーヤ移動体オブジェクトと他の移動体オブジェクトが接触して行う動作（格闘等）であればプレーヤ移動体オブジェクトからの近い（所定距離内）所定の範囲に設定することができる。またシューティングゲームの場合弾の届く範囲に設定してもよいし、球技等で球を投げる場合には球の届く範囲に設定するようにしてもよい。
【００１７】
動作対象切り替え処理として、前記動作対象範囲に例えば第ｎ番目で選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在した場合には、第ｎ番目で選ばれた移動体オブジェクトをはずした残りの移動体オブジェクトのなかから、第ｎ＋１番目の動作対象を選択するようにしてもよい。
【００１８】
なお残りの移動体オブジェクトのなかから、第ｎ＋１番目の動作対象を選択する際には所定のルールや予め設定された優先順位に従って選択するようにしてもよいし、ランダムに選択するようにしてもよい。
【００１９】
また動作対象切り替え処理として、前記動作対象範囲に例えば第ｎ番目で選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在した場合には、第ｎ番目で選ばれた移動体オブジェクトの優先順位を低くして残りの移動体オブジェクトのなかから、第ｎ＋１番目の動作対象を選択するようにしてもよい。後者の場合、選択される確率を低くすることで優先順位を低くする場合も含まれる。この場合には、優先順位に従ってランダムに選択することになり、第ｎの動作と第ｎ＋１の動作対象が結果としておなじになる場合もあるが、第ｎの動作と第ｎ＋１の動作対象とが異なる確率が高くなり、このような場合も本発明の範囲内である。
【００２０】
連続動作を構成する各動作はプレーヤからの操作入力（動作コマンドの入力）により発生させてもよいし、最初の動作のみプレーヤの操作入力により発生し、それ以降の動作制御は自動的に行われる場合でもよい。
【００２１】
本発明によれば連続攻撃の際にプレーヤ操作移動体オブジェクトの動作対象範囲に複数の移動体オブジェクトが存在する場合に前回の動作対象と今回の動作対象が同じにならないように自動的にきりかえて動作を行うことができる。
【００２２】
従って動作対象等切り替え等の複雑な操作を行うことなしに、動作対象を切り替えて連続動作を行うことができるため、攻撃が単調になるのを防止し、初心者でも攻撃対象を切り替えた連続動作を楽しめるゲームを提供することができる。
【００２３】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第ｎ＋１の動作対象を選択することを特徴とする。
【００２４】
例えば前記動作対象範囲に存在する移動体オブジェクトの中から、第ｎの動作で動作対象として選択された移動体オブジェクトを除いてプレーヤ操作移動体オブジェクトとの距離が最も近い移動体オブジェクトを選択するようにしても良い。
【００２５】
なおこのような場合、連続動作の開始となる第１の動作の動作対象についてはプレーヤ操作移動体オブジェクトとの距離が最も近いものを選択するようにしてもよい。
【００２６】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定されていることを特徴とする。
【００２７】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
所定の期間に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とする。
【００２８】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
連続動作を構成する第ｎの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とする。
【００２９】
例えば第ｎの動作の定義ファイルの中に、次動作入力受付期間を定義しておくようにしてもよい。この場合第ｎの動作の開始からフレーム数等により定義するようにしてもよい。
【００３０】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とする。
【００３１】
例えば第ｎの動作の定義ファイルの中に、次動作シフトタイミングを定義しておくようにしてもよい。次動作シフトタイミングとは、第ｎの動作のモーションから第ｎ＋１の動作のモーションへのシフトが開始されるタイミングである。例えば第ｎの動作のモーションの途中から第ｎ＋１の動作のモーションへつなぎモーション（第ｎの動作の終わりのほうのモーションと第ｎ＋１の動作の最初のほうのモーションを合成又はモーション補間して求めても良い）のがありその後に第ｎの動作になる場合には、つなぎモーションのはしまるタイミングを次動作シフトタイミングとしてもよい。
【００３２】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記連続動作処理部は、
１回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、
第ｎの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、
所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第ｎ＋１の動作をおこなうように制御することを特徴とする。
【００３３】
第ｎの動作の動作コマンドの受付期間終了後、第ｎの動作の動作コマンド受け付けの有無の判断を行った後、第ｎ＋１の動作の動作コマンドの受付期間開始前に動作コマンド受け付け保持部をクリアするようにしてもよい。
【００３４】
（８）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第ｎ＋１番目の動作対象の選択処理を行うことを特徴とする。
【００３５】
例えば第ｎの動作の定義ファイルの中に、次動作シフトタイミングを定義しておくようにしてもよい。次動作シフトタイミングとは、第ｎの動作のモーションから第ｎ＋１の動作のモーションへのシフトが開始されるタイミングである。
【００３６】
例えば第ｎの動作のモーションの途中から第ｎ＋１の動作のモーションへつなぎモーション（第ｎの動作の終わりのほうのモーションと第ｎ＋１の動作の最初の法のモーションを合成又はモーション補間して求めても良い）のがありその後に第ｎの動作になる場合には、つなぎモーションの始まる前に設定しておくようにしてもよい。
【００３７】
本発明によれば、選択時とモーション移行時のタイムラグがなくなり第ｎ番目のモーションから第ｎ＋１番の動作のモーションにスムーズシフトすることができる。
【００３８】
（９）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記移動動作処理部が、
操作入力に基づきいずれかの移動体オブジェクトを動作対象として特定し、特定された移動体オブジェクトを動作対象として固定する動作対象固定処理部と、
動作対象固定処理部によって固定された移動体オブジェクトを動作対象として選択する動作対象選択部を含み、
動作対象固定処理がおこなわれていない場合に連続動作における動作対象切り替え処理を行うことをことを特徴とする。
【発明を実施するための最良の形態】
【００３９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４０】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００４１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００４２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４３】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ（液晶表示装置）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４４】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４５】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４６】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４７】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４８】
オブジェクト空間設定部１１０は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４９】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５０】
移動・動作処理部１１２は、連続動作処理部１４２を含む。
【００５１】
連続動作処理部１４２は、プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第１の動作、第２の動作、・・第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算し、第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する可いなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを第ｎ＋１の動作の動作対象として選択するための動作対象切り替え処理を行う。
【００５２】
前記連続動作処理部１４２は、プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第ｎ＋１の動作対象を選択するようにしてもよい。
【００５３】
ここで前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定するようにしてもよい。
【００５４】
前記連続動作処理部１４２は、所定の期間に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御するようにしてもよい。
【００５５】
前記連続動作処理部１４２は、連続動作を構成する第ｎの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御するようにしてもよい。
【００５６】
前記連続動作処理部１４２は、第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御するようにしてもよい。
【００５７】
前記連続動作処理部１４２は、１回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、第ｎの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第ｎ＋１の動作をおこなうようにしてもよい。
【００５８】
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第ｎ＋１番目の動作対象の選択処理を行うを選択するようにしてもよい。
【００５９】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６０】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００６１】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００６２】
描画部１２０は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【００６３】
ここでテクスチャマッピング処理は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００６４】
また隠面消去処理は、例えば、各ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７６（奥行きバッファ）を用いるＺバッファ法（奥行き比較法、Ｚテスト）により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Ｚバッファ１７６に格納されるＺ値を参照する。そして参照されたＺバッファ１７６のＺ値と、プリミティブ面の描画対象ピクセルでのＺ値とを比較し、描画対象ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、そのピクセルの描画処理を行うと共にＺバッファ１７６のＺ値を新たなＺ値に更新する。
【００６５】
またαブレンディング処理は、α値（Ａ値）に基づいて行う処理であり、通常αブレンディング、α加算ブレンディング或いはα減算ブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2
一方、加算αブレンディングの場合には下式の処理を行う。
ＲQ＝Ｒ1＋α×Ｒ2
ＧQ＝Ｇ1＋α×Ｇ2
ＢQ＝Ｂ1＋α×Ｂ2
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７２に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画バッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像のＲＧＢ成分である。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００６６】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６８】
２．本実施形態の手法
２−１：ゲームの概要
本実施の形態のアクションゲームシステムは、図１３に示すように、プレーヤオブジェクト（プレーヤ操作移動体オブジェクト）ＰＫ、敵オブジェクトＴＫ１、敵オブジェクトＴＫ２と、マップ（地形）ＭＰとが配置された仮想３次元オブジェクト空間ＳＰを仮想カメラから見た画像を生成し、表示部１９０に表示させる。そして、プレーヤは、表示部１９０を見ながら、操作部１６０を用いてプレーヤオブジェクトＰＫの移動・動作を操作して、敵オブジェクトＴＫ１、敵オブジェクトＴＫ２と格闘を行うゲームを楽しむ。
【００６９】
図１４には、操作部１６０の一例が示されている。本実施の形態の操作部１６０は、プレーヤが両手で操作部１６０の左右を把持し、操作部１６０に配置された複数の操作子を左右の手の親指、人差し指、中指で操作可能に形成されている。
【００７０】
この操作部１６０の中央下部には、左レバー３１２、右レバー３１４が設けられている。これら左レバー３１２、右レバー３１４は、レバー部分を全方向に倒すことができ、レバー部分を倒した量と方向の変化量と変化率をアナログ的に検出可能に形成されている。そして、本実施の形態では、左レバー３１２を倒した方向に応じて、プレーヤオブジェクトＰＫをＸ、Ｚ平面に設定されたマップＭＰ上（Ｘ、Ｚ方向）で移動させる。また、右レバー３１４を倒した方向に応じて、オブジェクト空間ＳＰを撮影する仮想カメラの視点位置、視線方向をＸ、Ｚ平面上（Ｘ、Ｚ方向）で移動させる。従って、本実施の形態のアクションゲームシステムでは、プレーヤオブジェクト１２の位置、回転角度と、仮想カメラの視点位置、視線方向をアナログ的に操作することができる。
【００７１】
また、操作部１６０の右側中央部には、ＯＮ／ＯＦＦを検出可能に形成された４つのボタンが設けられており、本実施の形態では、△ボタン３１６を押下することによりプレーヤオブジェクトＰＫが所与のオブジェクト（例えば槍や金属バット等）を投げる動作を行い、○ボタン３１８を押下することによりプレーヤオブジェクトＰＫがパンチやキック等の打撃攻撃動作を行うように形成されている。
【００７２】
また、操作部１６０の左右上部には、ＯＮ／ＯＦＦを検出可能に形成された左ボタン３２０と右ボタン３２２が設けられており、本実施の形態では、右ボタン３２２をおすことによりターゲット固定（動作対象の固定）を行うことができる。
【００７３】
２−２：本実施の形態の特徴
次に本実施形態の特徴と手法について図面を用いて説明する。
【００７４】
図２〜図６は、連続攻撃が開始されてから終了するまでの一連のゲーム画像である。
【００７５】
本実施の形態ではターゲットロック（動作対象を操作部から特定したキャラクタに固定すること）をせずに、方向キーの入力をしない打撃をだした場合（打撃コマンドに対応するボタンを入力した場合）、第１の打撃（第１の動作）のあと連続して第２の打撃（第２の動作）、・・・、第ｎの打撃（第ｎの動作）、第ｎ＋１の打撃（第ｎ＋１の動作）を連続的に行う連続攻撃（連続動作の一例）を行うことができる。
【００７６】
ターゲットロックをせずに、方向キーの入力をしない打撃コマンドが入力されると第１の打撃（第１の動作）が発生し、プレーヤオブジェクトＰＫが最も近い敵オブジェクトＴＫ２に打撃をくわえる（図２参照）。
【００７７】
第１の打撃に連続して所定期間内に次の打撃コマンドが入力されると、プレーヤオブジェクトＰＫの攻撃可能範囲（動作対象範囲）に複数の敵オブジェクトがいる場合には前回の攻撃対象である敵オブジェクトＴＫ２を除いた中からプレーヤオブジェクトＰＫに最も近い敵オブジェクトである敵オブジェクトＴＫ１が次の攻撃対象（動作対象）として選択される。
【００７８】
そして画面上はプレーヤオブジェクトＰＫが次の攻撃対象である敵オブジェクトＴＫ１に対する攻撃動作に移行するためのつなぎモーションが生成され（図３参照）、第２の打撃（第２の動作）対象として選択された敵オブジェクトＴＫ１に打撃をくわえる（図４参照）。
【００７９】
第２の打撃に連続して所定期間内に次の打撃コマンドが入力されると、プレーヤオブジェクトＰＫの攻撃可能範囲（動作対象範囲の一例）に複数の敵オブジェクトがいる場合には前回の攻撃対象である敵オブジェクトＴＫ１を除いた中からプレーヤオブジェクトＰＫに最も近い敵オブジェクトである敵オブジェクトＴＫ２が次の攻撃対象（動作対象）として選択される。
【００８０】
そして画面上はプレーヤオブジェクトＰＫが次の攻撃対象である敵オブジェクトＴＫ２に対する攻撃動作に移行するためのつなぎモーションが生成され（図５参照）、第３の打撃（第３の動作）対象として選択された敵オブジェクトＴＫ２に打撃をくわえる（図６参照）。
【００８１】
このように本実施の形態では、連続攻撃が行われる際に、自動的（プレーヤが外部から攻撃対象を指定又は変更する入力なして）に攻撃対象を切り替える処理（動作対象切り替え処理）を行う。
【００８２】
２−３：動作対象切り替え処理
図７は本実施の形態の動作対象切り替え処理について説明するための図である。ＰＫはプレーヤによって操作されるプレーヤオブジェクトであり、ＴＫ１〜ＴＫ５は敵オブジェクトである。敵オブジェクトはマルチプレーヤゲームにおいて他のプレーヤによって操作されるオブジェクトでもよいし、コンピュータによって制御されるオブジェクトでもよい。ｌ１〜ｌ３はプレーヤオブジェクトＰＫから敵オブジェクトＴＫ１〜ＴＫ３までの距離を表していおりｌ１＜ｌ２＜ｌ３である。４１０は動作対象範囲であり、この範囲内に存在する敵オブジェクトに対してはプレーヤオブジェクトは動作（例えば打撃等）可能である。図７ではプレーヤ操作移動体オブジェクトの周囲の所定の範囲（プレーヤオブジェクトから所定の距離内にあるエリア）が動作対象範囲４１０に設定されている。
【００８３】
本実施形態では、プレーヤ操作移動体オブジェクトＰＫが他の移動体オブジェクトに対して第１の動作、第２の動作、・・第ｎの動作、第ｎ＋１の動作を含む複数の動作を連続して行う連続動作において、第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトＰＫの動作対象範囲４１０に、動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、複数の移動体オブジェクトが存在する場合には、前記動作対象範囲４１０に中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトを、第ｎ＋１の動作の動作対象として選択するための動作対象切り替え処理を行う。
【００８４】
例えば連続動作の最初である第１の動作を指示する動作コマンドが入力されると、近距離サーチが行われ、プレーヤオブジェクトＰＫから最も近い敵オブジェクトＴＫ１が動作対象（攻撃対象）として選択される。
【００８５】
そして所定期間内に第２の動作を指示する動作コマンドが入力されると、プレーヤ操作移動体オブジェクトＰＫの動作対象範囲４１０に、動作対象となる移動体オブジェクトが複数存在するか否かを判断する。図７に示すように動作対象範囲４１０に複数の敵オブジェクトＴＫ１、ＴＫ２、ＴＫ３が存在する場合には、第１の動作対象となった敵オブジェクトＴＫ１を選択候補からはずし、残りの敵オブジェクトＴＫ２、ＴＫ３に対して近距離サーチを行い、プレーヤオブジェクトＰＫに対して最も近い敵オブジェクトＴＫ２を第２の動作の動作対象として選択する。
【００８６】
このようにすると連続攻撃の際にプレーヤ操作移動体の動作範囲に複数の移動体オブジェクトが存在する場合に前回の動作対象と今回の動作対象が同じにならないように自動的にきりかえて動作を行うことができる。従ってプレーヤは複雑な攻撃対象切り替え操作を行うことなしに、異なる敵に対する連続攻撃を行うことができる。
【００８７】
なおここでは動作対象範囲（攻撃対象）４１０に存在する敵オブジェクトの中から第ｎ＋１の攻撃の攻撃対象を選ぶ際に、第ｎの攻撃の攻撃対象を外した残りのなかからプレーヤオブジェクトに最も近い敵オブジェクトを次の攻撃対象として選択する場合を例にとり説明したがこれに限られない。
【００８８】
例えば第ｎの攻撃の攻撃対象を外した残りのなかから他の所定のルールにしたがって選択するようにしてもよい。例えばプレーヤキャラクタと敵キャラクタの向きに応じて決定してもよいし（プレーヤオブジェクトの最も正面にいる敵オブジェクトを選択する等）、敵オブジェクトのパラメータの値に応じて決定してもよいし（例えば体力パラメータの最も小さい敵オブジェクトを選択する等）、ランダムに選択するようにしてもよい。
【００８９】
また動作対象範囲４１０に例えば第ｎ番目で選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在した場合には、第ｎ番目で選ばれた移動体オブジェクトの優先順位を低くして残りの移動体オブジェクトのなかから、第ｎ＋１番目の動作対象を選択するようにしてもよい。後者の場合、選択される確率を低くすることで優先順位を低くする場合も含まれる。この場合には、第ｎの動作と第ｎ＋１の動作対象が結果としておなじになる場合もあるが、異なる確率が高くなり、このような場合も本発明の範囲内である。
【００９０】
図８（Ａ）〜図８（Ｃ）は、本実施の形態の動作対象範囲の他の例について説明するための図である。
【００９１】
例えば図８（Ａ）に示すように、プレーヤオブジェクトＰＫから所定の距離にあるエリア（ただしプレーヤオブジェクトＰＫの周囲を除く）４１０を動作対象範囲として設定してもよい。例えばプレーヤオブジェクトＰＫの動作がボールその他を投げたり打ったりする場合や、シューティング動作である場合には、このようにプレーヤオブジェクトからある程度離れた所定の距離にあるエリアを動作対象範囲４１０とすることもできる。
【００９２】
また例えば図８（Ｂ）に示すように、プレーヤオブジェクトＰＫの正面方向４０２から所定の角度内の所定のエリアを動作対象範囲４１０として設定してもよい。例えばプレーヤオブジェクトＰＫの動作がプレーヤオブジェクトＰＫの正面４０２方向に位置する敵オブジェクトに関するものである場合にこのように設定してもよい。
【００９３】
また例えば図８（Ｃ）に示すように、プレーヤオブジェクトＰＫから所定の距離に設定された所定の形状のエリアを動作対象範囲４１０として設定してもよい
２−３：連続動作処理
図９は本実施の形態の連続動作処理について説明するための図である。
【００９４】
本実施の形態ではプレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第１の動作２１０、第２の動作２２０、・・第ｎの動作、第ｎ＋１の動作を含む複数の動作を連続して行う連続動作におけるプレーヤ操作移動体オブジェクト及び動作対象となる他の移動体オブジェクトの移動及び動作の少なくとも一方を演算する連続動作処理を行う。
【００９５】
連携動作とは、複数の動作が自動的にスムーズに連続して行われる動作である。連続動作は、連続データを構成する各動作に対応して定義されているモーションデータにしたがって移動体オブジェクトを動作させることによって実現できる。
【００９６】
ｔは時間軸であり、時系列に生成されるフレームに対応している。時刻ｔ０（フレームｔ０）から連続動作の最初の動作である第１の動作のモーションが開始（表示）されるとする。２１０は第１の動作が行われる期間（ｔ０〜ｔ３）であり、２２０は第２の動作が行われる期間（ｔ２〜ｔ６）である。ここで２１４は第１の動作から第２の動作に移行するためのシフト期間（ｔ２〜ｔ３）である。
【００９７】
また２１２は、第２の動作を指示するコマンドの受け付けフレームである。この受け付けフレームの間（ｔ０〜ｔ１）にプレーヤが動作コマンドを入力すると、第１の動作に連続して第２の動作がおこなわれ、この間に動作コマンドが入力されないと第１の動作のみで終了する。
【００９８】
前者の場合には２１４に示すシフトフレームでは第１の動作のｔ２における姿勢（移動体オブジェクトの各間接の回転等）から第２の動作のｔ３における姿勢（移動体オブジェクトの各間接の回転等）にスムーズに移行するためのモーション補間がおこなわれる。
【００９９】
また後者の場合には、シフトフレーム２１４ではｔ２における姿勢（移動体オブジェクトの各間接の回転等）からｔ３で基準姿勢にスムーズに移行するためのモーションがおこなわれる（例えば第１の動作として定義されているモーションが最後が基準姿勢であればそのモーションを実行することにより実現する）。
【０１００】
このように所定の期間（ここでは受け付けフレーム２１２）に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御するようにしてもよい。
【０１０１】
また連続動作を構成する第ｎの動作に関連付けて動作受付期間内が定義され、当該動作受付期間内に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御するようにしてもよい。
【０１０２】
図１０（Ａ）（Ｂ）には連続動作と各動作の定義ファイル（コマンドリスト）について説明するための図である。
【０１０３】
図１０（Ａ）は連続攻撃の定義ファイル（コマンドリスト）にしたがった動作の流れの一例を示した図である。攻撃コマンドが入力されると（５１０）、動作対象として選択された攻撃相手（敵オブジェクト）の位置（５１２、５１４、５１６）に応じて、実行される攻撃種別（５２２、５２４，５２６）が定義されている。
【０１０４】
例えば攻撃コマンドが入力されて、所定のルール（例えば近距離幸）にしたがって選択された敵オブジェクトＴＫ１の位置が、図１１のα１にしめすように左又は左後ろ方向であれば（５１２）、第１の攻撃として「１発目左裏拳」５２２という種別の攻撃が行われる。
【０１０５】
また選択された敵オブジェクトＴＫ２の位置が、図１１のα２に示すように正面方向の所定範囲であれば（５１４）、第１の攻撃として「１発目左ジャブ」５２４という種別の攻撃」が行われる。
【０１０６】
また選択された敵オブジェクトＴＫ３の位置が、図１１のα３に示すように右又は右後ろ方向で方向の所定範囲であれば（５１４）、第１の攻撃として「１発目右裏拳」５２４という種別の攻撃」が行われる。
【０１０７】
このように連続攻撃の定義ファイルには、プレーヤオブジェクトと選択された敵オブジェクトとの配置関係に応じた攻撃種別の選択ルールを定義するようにしてもよい。
【０１０８】
なお連続攻撃の定義ファイルは、例えば各動作内容の定義ファイルを用意し、定義ファイル内にシフト情報を設け、シフト情報にしたがって次の定義ファイルにジャンプする構成により実現することもできる。例えば各動作情報定義ファイル５１０，５２２、５２４、５２６等にシフト情報（攻撃相手の位置に応じて実行する攻撃種別を定義した情報）を持たせシフト情報にしたがって次の各動作内容の定義ファイルにジャンプして、ジャンプ先の定義ファイルにしたがって次の攻撃を実行するようにしてもよい。
【０１０９】
図１０（Ｂ）は、動作内容定義ファイルの一例を示す。動作内容定義ファイル５６０には、例えば動作で使用するモーションファイル（仕様するモーションデータの格納先を特定するための情報）５６２や、次の動作にシフトするために必要なシフト情報（次のシフト先の決定アルゴリズム（例えば次の攻撃相手との配置関係に対応した次の動作）、シフト期間に関する情報等）や、受け付けフレーム情報５６８等が定義されている。
【０１１０】
例えばシフト情報として図１０（Ａ）で説明したプレーヤオブジェクトと選択された敵オブジェクトとの配置関係に応じた次の動作（技）を指定してもよい。  また例えば必要なシフト情報５６４として、シフト開始フレーム位置の情報等が定義（次動作シフト時）されていると、第ｎの動作に関連付けて定義された次動作シフト時より前に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することもできる。
【０１１１】
また１回分の動作コマンド有り無しを保持する動作コマンド受け付け保持部を含み、第ｎの動作に対応した所定の期間内（例えばシフト情報としてに動作コマンドをうけつけると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、所定の時点で（第ｎの動作に関連付けて定義された次動作シフト判断時（シフト開始フレーム等）に前記動作コマンド受け付け保持部動作コマンド受け付けありを保持していた場合には、連続して第ｎ＋１の動作をおこなうように制御してもよい。
【０１１２】
また第ｎ＋１番目の動作対象の選択は、第ｎ番目の動作に関連付けて定義された切り替えタイミング（例えばシフト情報５６４として定義されたシフト開始フレームの直前等）で行うようにしてもよい。
【０１１３】
例えばシフト情報として第ｎ番目のモーションが第ｎ＋１番の動作のモーションにシフトするために必要なシフト期間の始まる前を設定しておき、これを第ｎ＋１番目の動作対象の選択のタイミングとして使用するようにしてもよい。このようにすると、選択時とモーション移行時のタイムラグがなくなり第ｎ番目のモーションから第ｎ＋１番の動作のモーションにスムーズシフトすることができる。
【０１１４】
図１２は、本実施の形態の連続動作処理の流れを説明するためのフローチャート図である。
【０１１５】
攻撃コマンドの入力があると以下の処理を行う（ステップＳ１０）。
【０１１６】
近距離サーチで一番近くにいる敵オブジェクトをサーチする（ステップＳ２０）。
【０１１７】
一番近い敵オブジェクトがプレーヤオブジェクトの左背後に位置する場合には、コマンドリストの振り返り（左）に登録されている１発目左裏権（図１０（Ａ）の５１２、５２２）を実行する（ステップＳ３０、Ｓ４０）。
【０１１８】
一番近い敵オブジェクトがプレーヤオブジェクトの右背後に位置する場合には、コマンドリストの振り返り（右）に登録されている１発目右裏権（図１０（Ａ）の５１６、５２６）を実行する（ステップＳ３０、Ｓ６０）。
【０１１９】
一番近い敵オブジェクトがプレーヤオブジェクトの正面に位置する場合には、コマンドリストの通常に登録されている１発目左ジャブ（図１０（Ａ）の５１４、５２４）を実行する（ステップＳ３０、Ｓ５０）。
【０１２０】
そして例えばステップ５０において１発目左ジャブが実行された場合に、次の攻撃のシフトフレームまでに、攻撃ボタンがおさなければ（次の攻撃が予約されなければ）次の動作へはシフトせず連続攻撃は終了する。例えば図９の第１の動作２１０の受け付けフレーム２１２において、攻撃コマンドの入力がなければ次の動作へはシフトせず連続攻撃は終了する（ステップＳ７０、Ｓ８０）。
【０１２１】
また次の攻撃のシフトフレームまでに、攻撃ボタンがおされれば（次の攻撃が予約されれば）、プレーヤオブジェクトの動作対象範囲に２人以上の敵オブジェクトがいるか否か判断し、いない場合には一番近くにいる敵オブジェクトをターゲット（動作対象）にする（ステップＳ９０、Ｓ１１０）。
【０１２２】
いる場合には１発目で攻撃した（動作対象となった）敵オブジェクトをターゲット候補からはずし、残りの敵オブジェクトの中で、一番近くにいる敵オブジェクトをターゲット（動作対象）にする（ステップＳ９０、Ｓ１００）。
【０１２３】
そして決定したターゲットがプレーヤオブジェクトに対してどの位置に居るかに応じて１発目左ジャブのシフト情報に登録されている動作にシフトする（ステップＳ１２０、Ｓ１３０、Ｓ１４０）。
【０１２４】
３．ハードウェア構成
図１５に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１２５】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１２６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１２７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１２８】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１２９】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１３０】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１３１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（描画領域、ピクセル値、変換テーブル等）として引用された用語（フレームバッファ・ワークバッファ、α値、ルックアップテーブル等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１３２】
また、呼び寄せ制御処理も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば、複数の味方キャラクタを呼び寄せる場合でもよいし、敵キャラクタと味方キャラクタを同時に呼び寄せる場合でも良いし、４体以上の移動体オブジェクトで連携動作を行う場合でもよい。
【０１３３】
また上記実施の形態ではターゲットロック（動作対象を操作部から特定したキャラクタに固定すること）をせずに、方向キーの入力をしない打撃をだした場合（打撃コマンドに対応するボタンを入力した場合）に連続動作における動作切り替え処理が行われる場合を例にとり説明したが是に限られず、ターゲットロックをおこなったり、方向キーの入力を伴う打撃をだした場合の連続動作におけいても動作切り替え処理を行うようにしてもよい。
【０１３４】
例えば、走るコマンド（方向キーを指定して走るボタンを入力）が有効な所定期間中に攻撃ボタンを押すと、たとえターゲットロックを攻撃相手を切り替えるようにしてもよい。
【０１３５】
また上記実施の形態では複数のキャラクタで格闘を行うアクションゲームを例にとり説明したがこれに限られない。例えばサッカーやラグビー等の球技ゲームでもよいし、その他のゲームでもよい。
【０１３６】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１３７】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】連続攻撃のゲーム画像の一例
【図３】連続攻撃のゲーム画像の一例
【図４】連続攻撃のゲーム画像の一例
【図５】連続攻撃のゲーム画像の一例
【図６】連続攻撃のゲーム画像の一例
【図７】動作対象切り替え処理について説明するための図
【図８】図８（Ａ）〜図８（Ｃ）は、動作対象範囲の他の例
【図９】連続動作処理について説明するための図。
【図１０】図１０（Ａ）図１０（Ｂ）は連続動作と各動作の定義ファイル（コマンドリスト）について説明するための図。
【図１１】プレーヤオブジェクトと選択された敵オブジェクトとの配置関係に応じた攻撃種別の選択ルールについて説明するための図
【図１２】連続動作処理の流れを説明するためのフローチャート図。
【図１３】ゲーム空間の説明
【図１４】操作部の説明
【図１５】ハードウェア構成例。
【符号の説明】
【０１３８】
ＰＫ  プレーヤキャラクタ、ＴＫ、ＴＫ１，ＴＫ２  敵キャラクタ、１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１４  仮想カメラ制御部、１２０  描画部、１３０  音生成部、１４２  連続動作処理部、１６０  操作部、１７０  記憶部、１７２  描画バッファ、１７４  テクスチャ記憶部、１７６  Ｚバッファ、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2006268676.tif 000003
【図２】
2006268676.tif 000004
【図３】
2006268676.tif 000005
【図４】
2006268676.tif 000006
【図５】
2006268676.tif 000007
【図６】
2006268676.tif 000008
【図７】
2006268676.tif 000009
【図８】
2006268676.tif 000010
【図９】
2006268676.tif 000011
【図１０】
2006268676.tif 000012
【図１１】
2006268676.tif 000013
【図１２】
2006268676.tif 000014
【図１３】
2006268676.tif 000015
【図１４】
2006268676.tif 000016
【図１５】
2006268676.tif 000017
【手続補正書】
【提出日】平成17年9月30日(2005.9.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの少なくとも動作を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作を構成する各動作に対応して定義されているモーションデータを記憶する記憶部と、
連続動作を構成する各動作に対応して定義されているモーションデータを記憶部から読み出して、読み出したモーションデータを用いて、プレーヤ操作移動体オブジェクトに他の移動体オブジェクトに対する連続動作を行わせるため演算を行う連続動作処理部と、
を含み、
前記連続動作処理部は、
第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲を設定し、設定した動作対象範囲内に動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、動作対象範囲内に第ｎの動作の動作対象に選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在すると判断した場合には、第ｎの動作の動作対象となった移動体オブジェクトをはずしたのこりのなかから所定のルールに従って第ｎ＋１の動作の動作対象を選択する処理、又は第ｎの動作の動作対象となった移動体オブジェクトの優先順位や選択確率を低くして第ｎ＋１番目の動作対象を選択する処理のいずれかの動作対象切り替え処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記連続動作処理部は、
プレーヤ操作移動体オブジェクトの動作対象範囲に、動作対象となる複数の移動体オブジェクトが存在する場合には、前記動作対象範囲に存在する移動体オブジェクトの中から、第ｎの動作で動作対象として選択された移動体オブジェクトと異なる移動体オブジェクトのなかから、プレーヤ操作移動体オブジェクトとの距離に応じて第ｎ＋１の動作対象を選択することを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記動作対象範囲は、プレーヤ操作移動体オブジェクトの周囲の所定の範囲に設定されていることを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記連続動作処理部は、
所定の期間に操作部から動作コマンドが入力されると第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項５】
請求項４において、
前記連続動作処理部は、
連続動作を構成する第ｎの動作に関連付けて次動作入力受付期間が定義され、当該次動作入力受付期間内に操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項６】
請求項４において、
前記連続動作処理部は、
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングまでに操作部から動作コマンドが入力されたか否か判断し、判断結果に基づき第ｎの動作に連続して第ｎ＋１の動作がおこなわれるように制御することを特徴とするプログラム。
【請求項７】
請求項４乃至６のいずれかにおいて、
前記連続動作処理部は、
１回分の動作コマンド入力の有無を保持する動作コマンド受け付け保持部を含み、
第ｎの動作に対応した所定の期間内に動作コマンドを受け付けると前記動作コマンド受け付け保持部動作コマンド受け付けありを保持し、
所定の時点で前記動作コマンド受け付け保持部が動作コマンド受け付けありを保持していた場合には、連続して第ｎ＋１の動作をおこなうように制御することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
第ｎの動作に関連付けて次動作シフトタイミング情報が定義され、当該次動作シフトタイミングにおいて、第ｎ＋１番目の動作対象の選択処理を行うことを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記移動・動作処理部が、
操作入力に基づきいずれかの移動体オブジェクトを動作対象として特定し、特定された移動体オブジェクトを動作対象として固定する動作対象固定処理部と、
動作対象固定処理部によって固定された移動体オブジェクトを動作対象として選択する動作対象選択部を含み、
動作対象固定処理がおこなわれていない場合に連続動作における動作対象切り替え処理を行うことをことを特徴とするプログラム。
【請求項１０】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至９のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１１】
画像を生成するための画像生成システムであって、
オブジェクト空間に存在するプレーヤの操作対象であるプレーヤ操作移動体オブジェクトを含む複数の移動体オブジェクトの少なくとも動作を演算する移動・動作処理部と、
オブジェクト空間を仮想カメラから見た画像を生成する画像生成部とを含み、
前記移動・動作処理部は、
プレーヤ操作移動体オブジェクトが他の移動体オブジェクトに対して第ｎの動作、第ｎ＋１の動作（ｎは１以上の整数）を含む複数の動作を連続して行う連続動作を構成する各動作に対応して定義されているモーションデータを記憶する記憶部と、
連続動作を構成する各動作に対応して定義されているモーションデータを記憶部から読み出して、読み出したモーションデータを用いて、プレーヤ操作移動体オブジェクトに他の移動体オブジェクトに対する連続動作を行わせるため演算を行う連続動作処理部と、
を含み、
前記連続動作処理部は、
第ｎ＋１の動作を行う際に、プレーヤ操作移動体オブジェクトの動作対象範囲を設定し、設定した動作対象範囲内に動作対象となる複数の移動体オブジェクトが存在するかいなか判定し、動作対象範囲内に第ｎの動作の動作対象に選ばれた移動体オブジェクトを含む複数の移動体オブジェクトが存在すると判断した場合には、第ｎの動作の動作対象となった移動体オブジェクトをはずしたのこりのなかから所定のルールに従って第ｎ＋１の動作の動作対象を選択する処理、又は第ｎの動作の動作対象となった移動体オブジェクトの優先順位や選択確率を低くして第ｎ＋１番目の動作対象を選択する処理のいずれかの動作対象切り替え処理を行うことを特徴とする画像生成システム。