(57)【要約】【課題】  過去に受けたダメージによる性能低下や機能障害といったものをより自然な形で実現する。【解決手段】キャラクタＣＲをパーツの階層構造によって構成し、パーツ毎にゲーム開始から今までに受けた積算ダメージ値を算出する。算出した積算ダメージ値に基づくダメージレベルを判定し、このダメージレベル及びパーツの位置関係に基づいて、機能制限度合の異なるモーションデータから何れか一つを選択して、該モーションデータに従ってキャラクタの動作を制御する。また、ダメージを負ったパーツには、火花やスモークといった破損外観物オブジェクトが付与される。また、所定の分離条件を満たすパーツ（１２）及びそれから先端側のパーツ（１４、１６、１８）は、複製されて破損物オブジェクト６８として配置され、キャラクタＣＲから離脱落下するように移動制御される。また、複製元となったパーツの表示設定が「非表示」とされ、分離条件を満たすパーツ（１２）に対応する破損パーツ１２ｂの表示設定が「表示」に変更される。【選択図】図５
2008119224.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、３次元仮想空間を仮想カメラで撮影した画像を生成させて、ゲームを実行させるためのプログラムであって、
複数のパーツオブジェクトで一体的に形成されたキャラクタの前記パーツオブジェクト毎に、過去に受けたダメージの積算を算出するパーツ別積算ダメージ算出手段、
パーツオブジェクトの積算ダメージ及び当該パーツオブジェクトの部位に基づいて、動作性能の優劣を可変して前記キャラクタの動作を制御するキャラクタ制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記キャラクタは、少なくとも、胴部と、複数のパーツオブジェクトが直列的な階層構造を成して前記胴部に接続された肢部とを有しており、
前記キャラクタ制御手段が、前記肢部を構成するパーツオブジェクトの積算ダメージに基づいて前記肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御する肢部可動制御手段を有するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記肢部可動制御手段が、前記肢部を構成するパーツオブジェクトのうち、積算ダメージが最も大きいパーツオブジェクトの積算ダメージに基づいて前記肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御するように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記肢部可動制御手段が、前記肢部を構成する各パーツオブジェクトの積算ダメージの総合又は平均に基づいて前記肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御するように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項５】
前記キャラクタ制御手段が、動作性能の優劣を段階的に可変して前記キャラクタの動作を段階的に変更するように制御する、ように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記肢部の可動範囲及び／又は可動速度が段階的に異なる複数のモーションデータの中から、前記肢部を構成するパーツオブジェクトの積算ダメージに基づいて２つのモーションデータを選択し、該選択したモーションデータを合成することで、当該積算ダメージに相応するモーションデータを生成するモーションデータ生成手段として前記コンピュータを機能させ、
前記肢部可動制御手段が、前記生成されたモーションデータに従って前記肢部の可動を制御するように前記コンピュータを機能させるための請求項２〜４の何れか一項に記載のプログラム。
【請求項７】
前記キャラクタと他キャラクタとの接触を検出する接触検出手段として前記コンピュータを機能させ、
前記パーツ別積算ダメージ算出手段が、前記検出に応じて、前記他キャラクタと接触したパーツオブジェクトの積算ダメージに応じて、当該パーツオブジェクトの積算ダメージを増加させる手段を有するように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
前記キャラクタは、複数のパーツオブジェクトが階層構造を成して一体的に形成されたオブジェクトであり、
前記複数のパーツオブジェクトの中から積算ダメージが所定の分離条件を満たしたパーツオブジェクトを抽出し、抽出されたパーツオブジェクトと該パーツオブジェクトの下位階層のパーツオブジェクトとを一体として前記キャラクタから離脱させ、破損物オブジェクトとして前記３次元仮想空間に配置制御する破損物オブジェクト配置制御手段として前記コンピュータを機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
前記破損物オブジェクト配置制御手段が、前記抽出されたパーツオブジェクトと該パーツオブジェクトの下位階層のパーツオブジェクトとを複製して破損物オブジェクトを生成して前記３次元仮想空間に配置制御するように前記コンピュータを機能させ、
前記破損物オブジェクトとして複製された前記抽出されたパーツオブジェクトの表示を非表示にする破損パーツ非表示制御手段として前記コンピュータを機能させる、
ための請求項８に記載のプログラム。
【請求項１０】
前記コンピュータを更に、
前記キャラクタが受けた積算ダメージの総量を示す総積算ダメージを算出する総積算ダメージ算出手段、
算出された総積算ダメージが所定の撃破条件を満たす場合に、当該キャラクタを使用不可に設定する撃破制御手段、
として機能させるための請求項１〜９の何れか一項に記載のプログラム。
【請求項１１】
前記キャラクタは脚部のパーツオブジェクトを有し、
前記キャラクタが受けた積算ダメージの総量を示す総積算ダメージを算出する総積算ダメージ算出手段、
算出された総積算ダメージが所定の撃破条件を満たす場合に、当該キャラクタを使用不可に設定する撃破制御手段、
として前記コンピュータを機能させるとともに、
前記破損物オブジェクト配置制御手段が、前記脚部のパーツオブジェクトの分離条件を、前記所定の撃破条件相当の条件として、前記脚部のパーツオブジェクトの分離を判定するように前記コンピュータを機能させるための請求項８又は９に記載のプログラム。
【請求項１２】
各パーツオブジェクトの積算ダメージに基づいて、当該パーツオブジェクト及び／又は当該パーツオブジェクト近傍位置に破損外観物を発生させる破損外観物発生制御手段として前記コンピュータを機能させるための請求項１〜１１の何れか一項に記載のプログラム。
【請求項１３】
請求項１〜１２の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１４】
３次元仮想空間を仮想カメラで撮影した画像を生成してゲームを実行するゲーム装置であって、
複数のパーツオブジェクトで一体的に形成されたキャラクタの前記パーツオブジェクト毎に、過去に受けたダメージの積算を算出するパーツ別積算ダメージ算出手段と、
パーツオブジェクトの積算ダメージ及び当該パーツオブジェクトの部位に基づいて、動作性能の優劣を可変して前記キャラクタの動作を制御するキャラクタ制御手段と、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、３次元仮想空間を仮想カメラで撮影した画像を生成させて、ゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
ビデオゲームのゲームジャンルは様々あるが、キャラクタが敵キャラクタや障害物によってダメージを受け、ダメージの総和が基準を超えた場合に使用不可となるケースは多々見られるところである。
例えば、プレーヤが操作するプレーヤキャラクタと、コンピュータが自動制御するＣＯＭキャラクタとが対戦する対戦ゲームの場合であれば、互いに相手からの攻撃を受けると受けた攻撃に応じたダメージが積算され、先に基準値以上のダメージを受けた側が戦闘不能となり敗者となるケースがこれに該当する。勿論、ダメージを積算する方法に限らず、ヒットポイントから攻撃を受ける都度減算し、ヒットポイントが「０」になった場合を積算ダメージ値が基準値に達したことと同義とする方法もこれに同等と言える。
【０００３】
さて、そうしたビデオゲームでは、現在どの程度のダメージを受けたかを認識することはゲームに勝利する上でプレーヤが最も気にするところの一つである。その為、キャラクタがダメージを受けたことを如何に表現するかは重要な点とされている。
【０００４】
ダメージ表現の技術としては、例えば、攻撃を受けたオブジェクトから、攻撃を受けた位置を含む部分オブジェクトを切り離すとともに、部分オブジェクトが切り離された断面にポリゴンを新たに生成することによって、あたかも攻撃を受けた部分が破壊されて分離したように表現するものが知られている（例えば、特許文献１参照）。
また、各々複数のメタボールを所属させる複数のノードを、階層構造を持たせて連結することでキャラクタを構成し、外部からダメージを受けたときにメタボール毎に残存パワーを演算し、特定のメタボールの残存パワーが所定値以下となった場合に、この特定のメタボール及び階層構造におけるこの特定のメタボールより下位のメタボールをノードから崩落させ自然落下するように制御するものも知られている（例えば、特許文献２）。
【特許文献１】特許第３３４０９７０号公報
【特許文献２】特許第３７６０３４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、現実世界ではダメージを受けると、ダメージの程度によって何がしかの性能の低下や機能障害が出るのが一般的である。しかし、上述の従来技術では、受けたダメージの状態を視覚的に上手く表現することができるが、受けたダメージによって生じた性能の低下や機能障害を表現できていないために、破壊・損傷に係るリアリティを十分得ることができていなかった。
【０００６】
特には、特定のダメージの表出と機能低下の進行が十分表現できなかった。例えば、ダメージが有る一定量に達するまでは外観上は変化していない様に見えるし正常時と同じように機能していても、ダメージが有る一定量に達した途端に第１段階目の不具合が発生する。更にダメージが次の一定量だけ追加されるまではそのまま機能が維持され、ダメージが次の一定量だけ追加された途端により重い第２段階目の不具合が発生する。そうした過程を繰り返し、ついには全く機能しなくなるといった表現ができれば、プレーヤにとっても分かり易い。従来の技術では、こうした段階的なダメージの表出と機能低下の進行を上手く表現できていなかった。
【０００７】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、過去に受けたダメージによる性能低下や機能障害といったものをより自然な形で実現することである。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための第１の発明は、コンピュータに、３次元仮想空間を仮想カメラで撮影した画像を生成させて、ゲームを実行させるためのプログラムであって、複数のパーツオブジェクトで一体的に形成されたキャラクタの前記パーツオブジェクト毎に、過去に受けたダメージの積算を算出するパーツ別積算ダメージ算出手段（例えば、図６の処理部２００、ゲーム演算部２１０、積算ダメージ算出部２１２、図１３のステップＳ３４）、パーツオブジェクトの積算ダメージ及び当該パーツオブジェクトの部位に基づいて、動作性能の優劣を可変して前記キャラクタの動作を制御するキャラクタ制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、モーション選択部２１４、図１２のステップＳ２４〜Ｓ２８）、として前記コンピュータを機能させるためのプログラムである。
【０００９】
別の形態として、３次元仮想空間を仮想カメラで撮影した画像を生成してゲームを実行するゲーム装置であって、複数のパーツオブジェクトで一体的に形成されたキャラクタの前記パーツオブジェクト毎に、過去に受けたダメージの積算を算出するパーツ別積算ダメージ算出手段と、パーツオブジェクトの積算ダメージ及び当該パーツオブジェクトの部位に基づいて、動作性能の優劣を可変して前記キャラクタの動作を制御するキャラクタ制御手段と、を備えたゲーム装置とすることもできる。
【００１０】
第１の発明によれば、キャラクタを構成するパーツオブジェクト毎に過去に受けたダメージの積算を求め、求めたダメージの積算とそのパーツオブジェクトがキャラクタの何所を構成しているかに基づいて、動作性能の優劣を可変させてキャラクタの動作を制御することできる。つまり、ダメージの蓄積にともなう性能低下や機能障害によって動作に制限が生じていくといったダメージの進行を表現することが可能になる。
【００１１】
第２の発明は、前記キャラクタは、少なくとも、胴部と、複数のパーツオブジェクトが直列的な階層構造を成して前記胴部に接続された肢部（例えば、図２の右腕１０、左腕２０、右脚３０、左脚４０）とを有しており、前記キャラクタ制御手段が、前記肢部を構成するパーツオブジェクトの積算ダメージに基づいて前記肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御する肢部可動制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、キャラクタ動作制御部２１６、図１２のステップＳ２４〜Ｓ２８）を有するように前記コンピュータを機能させるための第１の発明のプログラムである。
【００１２】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、キャラクタが、胴に肢部が接続された構造を有するケースにおいて、肢部を複数のパーツオブジェクトが直列的な階層構造で構成し、これらパーツオブジェクトの積算ダメージに基づいて肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御することで、肢部毎のダメージの状況に応じた表現が可能になる。
【００１３】
第３の発明は、前記肢部可動制御手段が、前記肢部を構成するパーツオブジェクトのうち、積算ダメージが最も大きいパーツオブジェクトの積算ダメージに基づいて前記肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御するように前記コンピュータを機能させるための第２の発明のプログラムである。
【００１４】
第３の発明によれば、第２の発明と同様の効果を奏するとともに、あたかも積算ダメージが最も大きい部分から先端側の部分が機能不全に陥っているかのように表現できる。例えば、肩がダメージを負うとその腕全体を使う事が困難になることを示しており、ダメージの進行を表現する上でより一層リアリティのあるダメージ表現をすることができる。尚、ここ言う「肢部」とは、胴に相当する中核部位に接続されて特定の動作を行うときに連係して一連の動作をする部分の集合を意味する。したがって、腕や脚に限定されるものではなく、翼・尾・触覚・長首を有する頭部などもこれに該当する。また生物に限るものではなく、機械に於いても同様の構成的特長を満たせばこれに該当する。
【００１５】
第４の発明は、前記肢部可動制御手段が、前記肢部を構成する各パーツオブジェクトの積算ダメージの総合又は平均に基づいて前記肢部の可動範囲及び／又は可動速度を可変して当該肢部の可動を制御するように前記コンピュータを機能させるための第２の発明のプログラムである。
【００１６】
第４の発明によれば、第２の発明と同様の効果を奏するとともに、肢部全体としてのダメージ度合に応じたダメージ表現が可能になる。
【００１７】
第５の発明は、前記キャラクタ制御手段が、動作性能の優劣を段階的に可変して前記キャラクタの動作を段階的に変更するように制御する、ように前記コンピュータを機能させるための第１〜第４の何れかの発明のプログラムである。
【００１８】
第５の発明によれば、第１〜第４の何れか一つの発明と同様の効果を奏するとともに、動作性能の優劣を段階的に可変させてキャラクタの動作を制御することできる。つまり、ダメージの蓄積に伴う性能低下や機能障害によって動作に制限が段階的に生じていくといったダメージの進行を表現することが可能になる。
【００１９】
第６の発明は、前記肢部の可動範囲及び／又は可動速度が段階的に異なる複数のモーションデータの中から、前記肢部を構成するパーツオブジェクトの積算ダメージに基づいて２つのモーションデータを選択し、該選択したモーションデータを合成することで、当該積算ダメージに相応するモーションデータを生成するモーションデータ生成手段（例えば、図１６の補間モーション生成部２１９）として前記コンピュータを機能させ、前記肢部可動制御手段が、前記生成されたモーションデータに従って前記肢部の可動を制御するように前記コンピュータを機能させるための第２〜第４の何れか一項の発明のプログラムである。
【００２０】
第６の発明によれば、第２〜第４の何れかの発明と同様の効果を奏するとともに、予め用意されている複数のモーションデータから、それらの中間的な動作のモーションデータを合成し、合成したモーションデータに従って肢部の可動を制御できる。したがって、予め多数のモーションデータを用意せずとも、ダメージの程度に応じた微細に動作性能に優劣が生じた動作を制御可能になるので、ダメージ表現がより多彩でリアリティあるものになる。
【００２１】
第７の発明は、前記キャラクタと他キャラクタとの接触を検出する接触検出手段（例えば、図６の処理部２００、ゲーム演算部２１０、図１３のステップＳ３２）として前記コンピュータを機能させ、前記パーツ別積算ダメージ算出手段が、前記検出に応じて、前記他キャラクタと接触したパーツオブジェクトの積算ダメージに応じて、当該パーツオブジェクトの積算ダメージを増加させる手段を有するように前記コンピュータを機能させるための第１〜第６の何れか一つの発明のプログラムである。
【００２２】
第７の発明によれば、第１〜第６の何れか一つの発明と同様の効果を奏するとともに、キャラクタと他キャラクタとが接触した場合に、他キャラクタと接触したパーツオブジェクトの積算ダメージに応じて、当該パーツオブジェクトの積算ダメージを増加させることができる。例えば「殴る」といった攻撃がヒットした場合、殴った側のパーツオブジェクトの積算ダメージに応じて、当該パーツオブジェクトが新たに受けるダメージの量を変えることが可能になる。したがって、怪我をした手で殴ると、怪我をしていない状態で殴った場合に比べて殴った手や腕に、より多くの負担がかかり、場合によっては損傷を進めてしまうといったダメージ表現が可能になる。
【００２３】
第８の発明は、前記キャラクタは、複数のパーツオブジェクトが階層構造を成して一体的に形成されたオブジェクトであり、前記複数のパーツオブジェクトの中から積算ダメージが所定の分離条件を満たしたパーツオブジェクトを抽出し、抽出されたパーツオブジェクトと該パーツオブジェクトの下位階層のパーツオブジェクトとを一体として前記キャラクタから離脱させ、破損物オブジェクトとして前記３次元仮想空間に配置制御する破損物オブジェクト配置制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、ダメージ表現物制御部２１８、図１４のダメージ表現表示処理）として前記コンピュータを機能させるための第１〜第７の何れか一つの発明のプログラムである。
【００２４】
第８の発明によれば、第１〜第７の何れか一つの発明と同様の効果を奏するとともに、キャラクタを構成する複数のパーツオブジェクトの中から積算ダメージが所定の分離条件を満たしたパーツオブジェクトを抽出し、抽出されたパーツオブジェクトと該パーツオブジェクトの下位階層のパーツオブジェクトとを一体として前記キャラクタから離脱させることができる。つまり、分離条件を満たすほどのダメージを受けたパーツから先の部分を、切り離して離脱させるように表現できる。例えば、肩から腕ごと切り落とされるといった表現が可能になる。しかも、従来のように条件を満たせば突然分離が起きるのではなく、作動性能の低下を分離より先に生じさせることによって、作動性の低下といったダメージの進行があって、さらにダメージを受けることで当該部分の離脱となるので、プレーヤにとってダメージの程度が分かり易い。
【００２５】
第９の発明は、前記破損物オブジェクト配置制御手段が、前記抽出されたパーツオブジェクトと該パーツオブジェクトの下位階層のパーツオブジェクトとを複製して破損物オブジェクトを生成して前記３次元仮想空間に配置制御するように前記コンピュータを機能させ、前記破損物オブジェクトとして複製された前記抽出されたパーツオブジェクトの表示を非表示にする破損パーツ非表示制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、ダメージ表現物制御部２１８、図１３のステップＳ６８〜Ｓ７２）として前記コンピュータを機能させるための第８の発明のプログラムである。
【００２６】
第９の発明によれば、第８の発明と同様の効果を奏するとともに、分離条件を満たすほどのダメージを受けたパーツオブジェクトとその下位階層のパーツオブジェクトとを、表示させないようにして実質的に見えなくする一方で、それらのパーツオブジェクトの複製をダミーとして配置することで、キャラクタのモデルをパーツで切り離し、断面のポリゴンを別途生成するといった従来技術のような複雑な処理を行なわずとも、簡単な処理で部分分離して破損する表現を実現できる。
【００２７】
第１０の発明は、前記コンピュータを更に、前記キャラクタが受けた積算ダメージの総量を示す総積算ダメージを算出する総積算ダメージ算出手段（例えば、図６の処理部２００、ゲーム演算部２１０、図１２のステップＳ８）、算出された総積算ダメージが所定の撃破条件を満たす場合に、当該キャラクタを使用不可に設定する撃破制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、図１２のステップＳ８のＮＯ〜Ｓ１４）、として機能させるための第１〜第９の何れか一つの発明のプログラムである。
【００２８】
第１０の発明によれば、第１〜第９の何れか一つの発明と同様の効果を奏するとともに、キャラクタが受けた積算ダメージの総量を示す総積算ダメージに基づいてキャラクタが撃破されたか否かを判定できる。つまり、徐々にダメージが蓄積して行って、ついに損傷が全体に及んで使用不可になるといったダメージの進行を表現できるようになる。
【００２９】
第１１の発明は、前記キャラクタは脚部のパーツオブジェクトを有し、前記キャラクタが受けた積算ダメージの総量を示す総積算ダメージを算出する総積算ダメージ算出手段、算出された総積算ダメージが所定の撃破条件を満たす場合に、当該キャラクタを使用不可に設定する撃破制御手段、として前記コンピュータを機能させるとともに、前記破損物オブジェクト配置制御手段が、前記脚部のパーツオブジェクトの分離条件を、前記所定の撃破条件相当の条件として、前記脚部のパーツオブジェクトの分離を判定するように前記コンピュータを機能させるための第８又は第９の発明のプログラムである。
【００３０】
第１１の発明によれば、第８又は第９の発明と同様の効果を奏するとともに、キャラクタの脚部を、キャラクタが撃破されるまで分離させないようにできる。したがって、早々に脚が分離して動けなくなるといったゲームプレイするには不適当な状況を未然に防ぐことができる。したがって、ダメージの進行の表現とゲーム性との両立を図ることができる。
【００３１】
第１２の発明は、各パーツオブジェクトの積算ダメージに基づいて、当該パーツオブジェクト及び／又は当該パーツオブジェクト近傍位置に破損外観物（例えば、図４の火花６０、スモーク６２）を発生させる破損外観物発生制御手段（例えば、図６の処理部２００、ゲーム演算部２１０、ダメージ表現物制御部２１８、図１４のステップＳ６６）として前記コンピュータを機能させるための第１〜第１１の何れか一つの発明のプログラムである。
【００３２】
第１２の発明によれば、第１〜第１１の何れか一つの発明と同様の効果を奏するとともに、各パーツオブジェクトの積算ダメージに基づいて、当該パーツオブジェクト及び／又は当該パーツオブジェクト近傍位置に破損外観物を表示させることができる。ここで言う破損外観表示物とは、火花、スパーク、煙、滲出する液体といった破損した箇所を視覚的に特定し得る現象や、特定の現象の発生に伴って表出するものを言う。したがって、視覚的にもダメージの進行を表現することができる。
【００３３】
第１３の発明は、第１〜第１２の何れか一つの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリ、ゲームカセットなどを含む。第９の発明によれば、第１〜第１２の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第８の何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【００３４】
本発明によれば、キャラクタを構成するパーツオブジェクト毎に過去に受けたダメージの積算を求め、求めたダメージの積算とそのパーツオブジェクトがキャラクタの何所を構成しているかに基づいて、動作性能の優劣を可変させてキャラクタの動作を制御することできる。つまり、ダメージの蓄積に伴う性能低下や機能障害によって動作に制限が生じていくといったダメージの進行を表現することが可能になる。
【発明を実施するための最良の形態】
【００３５】
〔第１実施形態〕
次に本発明を適用した第１実施形態として、ロボットのキャラクタが登場するビデオゲームであって、プレーヤが操るプレーヤキャラクタと、コンピュータが自動制御するＣＯＭキャラクタとが対戦するロボット対戦ゲームを例に挙げて説明する。
【００３６】
［ゲーム装置の構成］
図１は、本実施形態における家庭用ゲーム装置の構成例を説明するためのシステム構成図である。家庭用ゲーム装置１２００のゲーム装置本体１２０１は、例えばＣＰＵや画像処理用ＬＳＩ、ＩＣメモリ等が実装された制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８を備える。そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラに為される操作入力に基づいて各種のゲーム演算を実行し、所与のビデオゲームを実行する。
【００３７】
家庭用ゲーム装置１２００の制御ユニット１２１０で生成されたゲーム画像やゲーム音は、信号ケーブル１２０９で接続されたビデオモニタ１２２０に出力される。プレーヤは、ビデオモニタ１２２０のディスプレイ１２２２に表示されるゲーム画像を見つつ、スピーカ１２２４から出力されるＢＧＭや効果音といったゲーム音を聞きながら、ゲームコントローラ１２３０から各種操作を入力してゲームを楽しむ。
【００３８】
ゲームコントローラ１２３０は、選択の決定やキャンセル、タイミングの入力などに用いられるコントローラ上面に設けられたプッシュボタン１２３２と、左右の前側面に設けられたプッシュボタン１２３３Ｒ，１２３３Ｌと、図で言うところの上下左右の各方向を単独入力するための方向入力キー１２３４と、右アナログレバー１２３６と、左アナログレバー１２３８とを備える。
【００３９】
右アナログレバー１２３６及び左アナログレバー１２３８は、図で言うところの上下方向と左右方向の２軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ１２３０を左右の手で把持し、レバー１２３６ａ，１２３８ａにそれぞれ親指を添えて操作する。レバー１２３６ａ，１２３８ａを倒すことによって２軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとしても使用することもできる。
【００４０】
本実施形態では、左アナログレバー１２３８からの操作入力によってプレーヤキャラクタの前後左右の移動を入力する。また、右アナログレバー１２３６からの操作入力によって、プレーヤキャラクタの視線方向を上下左右に移動させる操作を入力する。
そして、特定のプッシュボタン１２３２の押下によって射撃動作の実行を入力し、また左側部のプッシュボタン１２３３Ｌの押下によって防御動作の実行を入力する。
【００４１】
尚、ゲーム実行に必要なゲームプログラム及び各種設定データは、通信装置１２１２を介して通信回線１に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮ（Local Area Network）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。
【００４２】
［プレーヤキャラクタの構成］
本実施形態におけるビデオゲームには、３次元仮想空間に形成されたゲーム空間に、プレーヤが操作するプレーヤキャラクタと、コンピュータが自動制御する複数のＣＯＭキャラクタとが配置されて対戦するロボット対戦ゲームである。プレーヤキャラクタ及びＣＯＭキャラクタは、ロボットの設定であり、左右の手にそれぞれ一つのアイテムを所持することができる。本実施形態では、右手に銃を持って対戦相手を射撃し、左腕に装備された盾を使って相手キャラクタの射撃から防御しながら対戦する。
【００４３】
そして、本実施形態におけるビデオゲームではダメージ制を採用する。すなわち、プレーヤキャラクタ及びＣＯＭキャラクタの何れに於いても、対戦相手のキャラクタからの受けた攻撃を受ける都度、受けた攻撃に応じてダメージ値を積算し、キャラクタ全体として受けたダメージ値の総和が撃破基準値に到達すると、当該キャラクタは撃破されて使用不可となる。プレーヤキャラクタが撃破、または全てのＣＯＭキャラクタの撃破でゲームオーバとなる。
【００４４】
図２（ａ）は本実施形態におけるビデオゲームに登場するキャラクタの正面外観を示す図であり、図２（ｂ）はキャラクタオブジェクトの構成を説明するための図である。尚、図２（ｂ）においては、黒太線がオブジェクト間の階層関係を示している。
【００４５】
図２（ａ）に示すように、本実施形態におけるキャラクタオブジェクトＣＲ（以下単に「キャラクタＣＲ」とも言う。）は、３次元ポリゴンモデルで形成されており、図２（ｂ）に示すように、複数のパーツオブジェクト（以下、単に「パーツ」とも言う。）が階層構造を成して連結されている。具体的には、キャラクタオブジェクトＣＲは人型の外観を有しており、胴６を最上位階層として、頭４、腰８、右腕１０、左腕２０、右脚３０、左脚４０の部位が、胴６から連結を経るほど下位階層となるように構成されている。
【００４６】
そして、右腕１０、左腕２０、右脚３０、左脚４０は、各々、更に複数のパーツの連結で構成されており、パーツは胴６に近いほど上位階層、先端ほど下位階層に設定されている。具体的には、右腕１０は、右肩１２を当該部位としては最上位階層に位置づけて、右上腕１４、右下腕１６、右手１８の順に下位階層を成して連結されている。右手１８のローカル原点には、銃５０のオブジェクトのローカル原点が対応づけられており、右手１８と一緒に銃５０が移動する格好となる。つまり、右手１８で銃５０を所持した状態となっている。銃５０のオブジェクトの対応付けを解除することによってゲーム中は着脱自在に装備される。
【００４７】
同様に、左腕２０は、左肩２２を当該部位としては最上位階層に位置づけて、左上腕２４、左下腕２６、左手２８の順に下位階層を成して連結されている。左下腕２６には、盾５２のオブジェクトが対応づけられており、ゲーム中は着脱自在に装備される。勿論、左手２８に所持するように装備しても良い。以下、統括的に適宜「左手２８に所持する」と言う。また、右脚部３０は、右大腿関節３２を上位階層にして、右大腿３４、右脛３６、右足３８の順に下位階層を成して連結されている。左脚部４０は、左大腿関節４２を上位階層にして、左大腿４４、左脛４６、左足４８の順位に下位階層を成して連結されている。
【００４８】
また本実施形態では、右腕１０及び左腕２０を構成する各パーツに対応する破損パーツ１２ｂ〜１８ｂ、２２ｂ〜２８ｂが用意されている。破損パーツは、対応するパーツと同じようにして上位階層のパーツに階層付けされている。例えば、右肩１２のオブジェクトはなんら破損を負っていない状態の外観を有し、これに一対一で対応する右肩破損１２ｂのオブジェクトは、例えば右肩１２が胴６から破断された後に残った部品を表す外観を有しており、右肩１２のオブジェクトと同じ胴６の下位階層に位置づけられる。そして、ゲーム開始当初は、各パーツ１２〜１８，２２〜２８が「表示」とされ、破損パーツ１２ｂ〜１８ｂ，２２ｂ〜２８ｂが「非表示」とされている。つまり、ゲーム画面上はなんら損傷を負っていない正常な状態のキャラクタＣＲの外観が描画される。
【００４９】
［ダメージ表現の原理］
図３は、本実施形態におけるパーツ毎のダメージの積算について説明するための概念図である。図３に示すように、本実施形態では各パーツには、ゲーム開始後に受けたダメージの積算である積算ダメージ値が対応づけられている。ゲーム開始時の初期状態は何れの積算ダメージ値も「０（ダメージ無し）」が格納されており、相手キャラクタから攻撃を受ける都度、受けた攻撃の種類に応じたダメージ値が攻撃を受けたパーツの積算ダメージ値に加算され続ける。
【００５０】
そして、積算ダメージ値から各パーツのダメージレベル、つまり損傷の程度を判定する。ダメージレベルの判定は、パーツ毎に予め設定された判定閾値に基づいてダメージレベル（ＤＬＶ）０〜ＤＬＶ３の４段階に分類される。初期状態はＤＬＶ０であり破損無しを意味する。ＤＬＶ１は小破損、ＤＬＶ２は中破損を意味し、これらは何れも損傷を追っていてある程度の機能障害を伴うが全く機能を失ったわけではない状態に相当する。一方、ＤＬＶ３は、全破損を意味し、損傷が限界を超えて全く機能しなくなった状態に相当する。
【００５１】
各パーツのダメージレベルが判定されたならば、ダメージに伴って当該ダメージを表現するためのオブジェクト（ダメージ表現オブジェクト）をダメージレベルに基づいて選択し、各々のパーツに付属・配置させる。ダメージ表現オブジェクトとしては、例えばダメージを受けたパーツの外側に配置されて、外観からダメージを受けた状態であることが見て分かるように示す破損外観物が適当である。より具体的には、火花、スパーク、煙、滲出する液体といった特定の現象や、特定の現象の発生に伴って放出されるものが該当する。
【００５２】
例えば、図３の例では、キャラクタＣＲが初期状態から攻撃を受けた状態を示している。右肩１２にはミサイル攻撃のような比較的打撃力の高い攻撃を受けたので、当該パーツの積算ダメージ値が「２０」に設定され、右下腕１６には機銃が着弾したような小程度の攻撃を受けたので積算ダメージ値が「５」に設定されている。また、左脛４６には蹴られるような中程度の攻撃を受けたので積算ダメージ値が「１５」に設定されている。
【００５３】
図４は、本実施形態における視覚的なダメージ表現の例を説明するための図である。
これらのダメージレベルが、右肩１２がＤＬＶ３、右下腕１６がＤＬＶ１、左脛４６がＤＬＶ２と判定されたとする。この場合、図４（ａ）に示すように、右下腕１６には、ＤＬＶ１に対応する破損外観物として小破損を表現する火花６０のオブジェクトが、右下腕１６に付属するように配置される。具体的には、右下腕１６が上位階層のパーツ（右上腕１４）に連結する箇所に火花６０が配置される。同様にして、ＤＬＶ２に対応する破損外観物として中破損を表現するスモーク６２のオブジェクトが左脛４６の周囲に配置される。具体的には、左脛４６と上位階層で左大腿４４との連結する箇所に配置される。これらを段階的に表示させることによって、あたかも損傷が小さいうちは、火花６０が見える程度であったが、損傷が進むことによって発火したり、スモーク６２が出るに至ったようにダメージの進行を表現できる。
【００５４】
そして、右肩１２はＤＬＶ３なので、右肩１２から先の部分がキャラクタＣＲから分離脱落するように表現するための特別なダメージ表現オブジェクトを配置する。
具体的には、図４（ｂ）に示すように、ＤＬＶ３に判定されたパーツ（＝全破損したパーツ。右肩１２。）を含む下位階層のパーツ（＝右上腕１４、右下腕１６、右手１８）をこれらの階層構造を維持したまま複製する。そして、全破損パーツの上位階層パーツ（胴６）との連結箇所に、爆発を表現する爆煙や閃光といった爆発効果オブジェクト６６を配置するとともに、同連結箇所からやや離れた位置に、先に複製したオブジェクトを破損物オブジェクト６８（＝ダメージ表現オブジェクト）として配置する。本実施形態は地上戦をする設定なので、この破損物オブジェクト６８は地表に向けて落下するように移動制御されるが、無重力空間で戦闘する設定であれば、破損物オブジェクト６８を、配置時に決定されたランダムな方向に離脱するように移動制御すると良い。
【００５５】
尚、全破損パーツ及びその下位階層のパーツに対応付けられているオブジェクト（例えば、銃５０のオブジェクト。）は、複製された側のパーツに対応付けを変更する。すなわち、右手１８に所持されるように対応付けられていた銃５０は、右手１８への対応付けが解消され、破損物オブジェクト６８の右手１８を複製したオブジェクへの対応付けに変更される。
【００５６】
また、破損物オブジェクト６８の複製元のパーツは、全破損したパーツ（右肩１２）及びその下位階層のパーツ（＝右上腕１４、右下腕１６、右手１８）が表示から非表示に切り換えられ、反対に全破損したパーツに対応する破損パーツである右肩破損１２ｂが非表示から表示に切り換えられる。つまり、ゲーム画面上は右肩１２が描画されず、代わりに右肩破損１２ｂが描画されることになる。また、複製元になったパーツ（右肩１２、右上腕１４、右下腕１６、右手１８）のヒット判定は行われないように設定が変更される。
【００５７】
この結果、破損物オブジェクト６８の配置ならびに落下移動によって、あたかも右肩１２が破壊されて右腕１２が胴６から分離脱落するように表現される。そして、右腕１０がもと有った付け根部分には、右肩破損１２ｂによって右肩１２と胴６の連結部品の破損した様子が描画される格好となる。
【００５８】
また、本実施形態ではダメージ表現に関連して、パーツの損傷度合に応じて動作が制限されたモーションでキャラクタＣＲが動作制御される。
図５は、本実施形態におけるキャラクタの動作性能におけるダメージ表現の例を説明するための図である。同図では、キャラクタＣＲが右腕１０で銃を構えて射撃する一連の動作を例に挙げている。
【００５９】
本実施形態では、モーションデータに従って関連するパーツが移動制御され、全体としてキャラクタＣＲが一連の動作をするように制御される。そして本実施形態では、移動・射撃・防御の基本動作を有し、各動作には動作の制限度合が異なる複数のモーションデータ（標準モーションデータ、小破損用モーションデータ、中破損用モーションデータ、全破損用モーションデータ）が予め用意されている。動作の制限とは、例えば、関節の可動範囲、関節の動く早さの制限を含む意味である。勿論何れか一方の制限でも良い。
【００６０】
図５の例は「射撃」の例である。「射撃」の動作が選択された場合、射撃のモーションデータを参照するが、射撃動作に伴って移動される右腕１０の各パーツのダメージレベルが参照され、右腕１０のダメージの状況に応じてこのときモーションデータ群から何れか一つのモーションデータが選択される。
【００６１】
同図の例で言うと、例えば右肩１２のダメージレベルが「０」である場合には、標準モーションデータが選択される。標準モーションデータでは制限の無い射撃動作が設定されている。つまり、標的へ銃５０を向けるように右腕１０を動かす動作が設定されている。具体的には、「射撃範囲１００％、可動速度１００％」の標準性能を発揮するように設定されており、腕の可動範囲で言えば設定値の１００％の範囲がカバーされ、可動速度で言えば設定値の１００％の速度で動作制御されるモーションの内容となっている。例えば、大きく振りかぶるようにして銃を構えるといった、迫力ある動作を設定すると好適である。
【００６２】
右肩１２のダメージレベルが「１」の場合には、小破損用モーションデータが選択される。小破損用モーションデータでは、標準モーションデータよりも動作に制限がかけられている。具体的には、「射撃範囲４５％、可動速度６０％」の制限された性能を発揮するように設定されており、腕の可動範囲で言えば設定値の４５％しかカバーされず、可動速度の設定値の６０％しか発揮されない。したがって、視界に入った標的を攻撃したて「射撃」動作を選択したとしても、右肩１２が損傷を負っているので右腕１０が正常状態に比べると機能しないことになる。例えば、各関節の可動範囲が標準状態の半分を下回る範囲となる不自由さでしかも動作がやや遅い動作を設定できる。
【００６３】
また、右肩１２がダメージレベル「２」の場合には、中破損用モーションデータが選択される。中破損用モーションデータでは、小破損用モーションデータよりもさらに動作に制限がかけられている。具体的には、「射撃範囲が右方のみで且つ２０％、可動速度３０％」の制限された性能を発揮するように設定されており、腕の可動範囲では正面より右方向のみ２０％しかカバーされず、可動速度も３０％しか発揮されない。したがって、ますます持って標的を攻撃しにくくなる。例えば、ほとんど腕が動かない、極めてゆっくり或いはギクシャクした断続的な動作を設定することができる。
【００６４】
そして、右肩１２がダメージレベル「３」の場合には、全破損用モーションデータが選択される。先に述べたように右腕１０は、モデル上は存在するが非表示とされ、分離脱落したものとして扱う。したがって、全破損用モーションデータでは、射撃が行われないように動作が制限されている。具体的には、全破損用モーショを、関連パーツが全く動作しないモーションデータとしても良いし、何がしかの動作をするモーションデータとしても良い。後者の場合、標準外観オブジェクト１２ａは、非表示とされている上にヒット判定がキャンセルされているので該モーションデータによって移動制御されても、実質的に何もされていないのに等しい。しかし、破損外観オブジェクト１２ｂが該モーションデータに従って制御されるので、あたかも腕は無いが残った付け根部分の部品のみが動いているかのようにリアルな表現を実現できる。
【００６５】
したがって、ダメージ表出オブジェクトによる視覚的なダメージ表現と連携して、キャラクタＣＲの動作からもダメージの存在を感じさせることできるので、リアルなダメージ表現が可能になる。また、パーツ毎の積算ダメージ値を、一旦ダメージレベルを判定することによって段階的に区分し、ダメージレベル毎に異なるダメージ表現をすることで、機械的なダメージらしさを表現できる。すなわち、ダメージが有る一定量に達するまでは、外観上は変化していないように見え、正常時と同じように機能していても、ダメージが有る一定量に達した途端に第１段階目の不具合（本実施形態で言えば、火花６０と小破損用モーションデータによる機能不全。）が発生する。そして、更にダメージが次の一定量だけ追加されるまではそのまま維持され、ダメージが次の一定量だけ追加された途端により重い第２段階目の不具合（本実施形態で言えば、スモーク６２と中破損モーションデータによる機能不全。）が発生する過程を繰り返し、ついには全く機能しなくなるといった段階的なダメージの表出と機能低下の進行を上手く表現できるようになる。
【００６６】
尚、同図の例では、４パターンのモーションデータを右肩１２のダメージレベルと対応づけて説明しているが、実際には右肩１２に限らず右腕１０を構成する各パーツのダメージレベルの状態に応じてモーションデータを選択する。また、モーションデータも４つのパターンに限らず更に多く設定すると、よりリアリティを高めることができる。
【００６７】
［機能ブロックの説明］
では次に、具体的な機能構成について説明する。
図６は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００６８】
操作入力部１００は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。図１では、ゲームコントローラ１２３０が操作入力部１００に該当する。
【００６９】
処理部２００は、例えばマイクロプロセッサやＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００を含むゲーム装置１２００の各機能部との間でデータの入出力を行うとともに、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、ゲーム装置１２００の動作を制御する。図１では、ゲーム装置本体１２０１に内蔵された制御ユニット１２１０が処理部２００に該当する。
そして本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００７０】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、ゲーム空間を仮想空間中に形成する処理や、仮想空間中に配置されたキャラクタ以外のオブジェクトの配置制御処理、ＣＯＭキャラクタの動作の自動制御処理、ヒット判定処理、物理演算処理、ゲーム結果の算出処理が実行対象に含まれる。そして本実施形態のゲーム演算部２１０は、積算ダメージ算出部２１２と、モーション選択部２１４と、キャラクタ動作制御部２１６と、ダメージ表現物制御部２１８とを含んでいる。
【００７１】
積算ダメージ算出部２１２は、キャラクタＣＲを構成するパーツ毎に、受けた攻撃に応じたダメージ値を算出するとともに、ゲーム開始からのダメージ値を積算した積算ダメージ値を算出する。
【００７２】
モーション選択部２１４は、動作性能が異なる複数のモーションデータから、パーツの積算ダメージ及び当該パーツオブジェクトの部位に基づいて、パーツの損傷度合を表現するのに適当なモーションを選択する。
【００７３】
キャラクタ動作制御部２１６は、キャラクタＣＲを構成するパーツを、モーションデータに従って移動制御することで、キャラクタＣＲが一連の動作をするように動作制御する。具体的には、腕や脚といった肢部は関節を有しているので、各関節を軸にしてパーツの可動範囲及び／又は可動速度を可変してそうした部位の可動を制御する。
【００７４】
ダメージ表現物制御部２１８は、ダメージの視覚的表現に係る処理を実行する。例えば、複数のパーツの中から積算ダメージ値が所定の分離条件を満たしたパーツ（本実施形態では、ＤＬＶ３のパーツに同じ。）を抽出し、抽出されたパーツと該パーツの下位階層のパーツとを一体として複製し、破損物オブジェクトとして３次元仮想空間に配置制御する処理、および複製された元のパーツを非表示に表示設定を切り換える処理、分離条件を満たしたパーツに対応する破損パーツを表示させるように表示設定を切り換える処理が含まれる。また、パーツ及び／又はパーツオブジェクト近傍位置に破損外観物を発生させる処理が含まれる。
【００７５】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサやその制御プログラムによって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７６】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではビデオモニタ１２２０のスピーカ１２２４がこれに該当する。
【００７７】
画像生成部２６０は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（１／６０秒）で１枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部３６０に出力する。
【００７８】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１ではビデオモニタ１２２０のディスプレイ１２２２が該当する。
【００７９】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００８０】
通信部３７０は、通信回線２と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１では通信装置１２１２がこれに該当する。
【００８１】
記憶部５００は、処理部２００にゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラム５０１や、ゲームを実行させるために必要なゲームプログラム５０２、並びに各種データ等を記憶する。処理部２００がゲームプログラム５０２を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現させることができる。
【００８２】
また、記憶部５００は、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。
【００８３】
記憶部５００には、予め用意されるデータとしてゲーム空間設定データ５２０、キャラクタ初期設定データ５２２、仮想カメラ移動制御データ５２４、爆発効果オブジェクト設定データ５２６、ダメージ表現物オブジェクト設定データ５２８、ダメージ算出ＴＢＬデータ５３０、ダメージレベル設定データ５３２、動作設定データ５３４、撃破モーション設定データ５３６が記憶されている。
【００８４】
更にゲームの進行に伴って随時書き換えられるデータとして、キャラクタ制御データ５４０、ダメージ表現物制御データ５５０を記憶する。また、ゲームの進行に係る処理を実行するにあたり必要となる情報が適宜記憶される。
【００８５】
ゲーム空間設定データ５２０には、仮想空間にゲーム空間を形成するための各種データが格納されている。例えば、地表や建物などの配置物に関するモデルデータやテクスチャデータ及びモーションデータが含まれる。また、各キャラクタの初期配置位置、初期装備などの情報も含まれている。
【００８６】
キャラクタ初期設定データ５２２には、プレーヤキャラクタおよびＣＯＭキャラクタの初期設定データが格納されている。例えば、図２で説明したキャラクタオブジェクト、パーツオブジェクトのモデリングデータ、階層構造データ、テクスチャデータが格納されている。
【００８７】
仮想カメラ移動制御データ５２４には、ゲーム空間を撮影する仮想カメラの制御に関するデータが格納されている。仮想カメラによって撮影されたゲーム空間の様子に、ゲーム進行に必要な情報（例えば、ゲームの残り時間、残弾数、マップ、ポイントなどの情報。）を合成してゲーム画面が生成される。
【００８８】
爆発効果オブジェクト設定データ５２６は、ダメージレベルが「３」になったパーツの分離脱落を表現する際に、演出として配置されるオブジェクトであって、例えば爆発の煙や閃光などを表現するオブジェクトに関する情報が格納されている。具体的には、オブジェクトのモデリングデータ、テクスチャデータ、モーションデータが含まれる。
【００８９】
ダメージ表現物オブジェクト設定データ５２８は、ダメージレベルが「１」及び「２」になったパーツに付与されるオブジェクト（＝破損外観物）に関する情報が格納されている。本実施形態では、図４における火花６０やスモーク６２を配置し演出するための動作に関するデータが格納されている。より具体的には、オブジェクトのモデリングデータ、テクスチャデータ、モーションデータが含まれる。
【００９０】
ダメージ算出ＴＢＬ（テーブル）データ５３０は、攻撃によって生じるダメージ値を定義するデータである。例えば、図７は本実施形態におけるダメージ算出ＴＢＬデータ５３０の一例を示すデータ構成図である。同図に示すように、例えば攻撃の種類５３０ａに対応づけて、攻撃を受けた場合に生じるダメージ値５３０ｂと、攻撃を加えた側に生じる反作用ダメージ値５３０ｃと、攻撃を加えた側に反作用ダメージ値５３０ｃが加えられるパーツを示す反作用先パーツ５３０ｄとが格納されている。
【００９１】
同図の例では、例えば攻撃種類５３０ａが「殴る」の場合、攻撃を受けた側の攻撃を受けたパーツには「４５」だけ、積算ダメージ値（図３参照）に加算される。そして、右手で殴った場合には、攻撃を加えた側のキャラクタの右手１８の積算ダメージ値に、右手１８の現在のダメージレベル「０」「１」「２」に応じて「５」「１０」「１５」のダメージ値が加算されることを示している。つまり、攻撃を受けた側は勿論、攻撃を加えた側も「殴る」動作に関連するパーツに、その時のダメージレベルに応じた反作用としてのダメージを生じさせることができるので、対戦をより一層リアルなものにできる。尚、本実施形態では、右手１８及び左下腕２６（或いは左手２８）にアイテム（銃５０や盾５２）を所持・装備していない場合、攻撃動作として「殴る」が選択可能になるものとする。
【００９２】
ダメージレベル設定データ５３２は、各パーツの積算ダメージ値からダメージレベルを判定するための情報を格納している。図８は、本実施形態におけるダメージレベル設定データ５３２の一例を示すデータ構成図である。同図に示すように、ダメージレベル設定データ５３２は、パーツを識別するためのパーツ識別情報５３２ａに対応づけて、ダメージレベルが「１」「２」「３」に判定される判定閾値５３２ｂが対応づけられている。
【００９３】
ダメージレベル「３」に到達したパーツがあると、本実施形態では原則そこから先は分離脱落したものとされる。しかし、ゲームをプレイする都合上、右脚３０、左脚４０のように脱落してはプレイを続けられなくなってしまう部位については、ダメージレベル「３」の判定閾値をキャラクタが撃破されるまで「３」にならないような閾値に適当に設定する。例えば、同図の例では、右大腿関節、右大腿、右脛および右足のダメージレベル「３」の判定閾値「８００」は、キャラクタＣＲの撃破基準値と同じまたはそれ以上の値が設定されている。つまり、右脚は腕のようにレベル３「全破損」でも分離しないように設定されているので、破損箇所の分離脱落という基本的な表現を維持しつつ、ゲーム進行に不可欠な部位の分離脱落を実質的に無効化しゲームのバランスをとることができる。
【００９４】
動作設定データ５３４は、キャラクタＣＲの動作を実行する際に参照されるパーツオブジェクトのモーションデータを格納する。
図９は、本実施形態における動作設定データ５３４の一例を示すデータ構成図である。同図に示すように、動作設定データ５３４は、動作種類５３４ａ毎に当該動作種類の具体的なモーションデータ５３４ｂと、当該モーションデータを選択する選択条件５３４ｃとが対応付けて格納されている。尚、モーションデータ５３４ａは、図の上から順に優先度が高く設定されている。つまり、上から順に選択条件５３４ｃに合致するか否かが判定され、判定されたモーションデータ５３４ｂが、その時の動作制御に用いられる。
【００９５】
動作種類５３４ａが「射撃」動作の例では、モーションデータ５３４ｂは、右腕１０で銃５０を標的に向けて構える一連の動作を定義する。したがって、選択条件５３４ｃは、右腕１０を構成するパーツのダメージレベルを用いて定義されている。
【００９６】
動作種類５３４ａが「移動」動作の例では、モーションデータ５３４ｂは、キャラクタＣＲの移動速度に応じた脚の一連の歩行（或いは走行）動作を定義するデータである。例えば、左脚４０の各パーツはいずれもＤＬＶ０で、右脚３０の右大腿３４にＤＬＶ２のダメージレベルが設定されている場合には、「一方の脚がＤＬＶ２のパーツを含む」の選択条件５３４ｃが適用される。したがって、小破損用移動モーションデータが選択される。小破損用移動モーションは、一方の脚用に関節の可動範囲が標準の２０％に制限されたモーションデータと、他方の脚用に関節の可動範囲が標準１００％のままのモーションデータとで構成されている。したがって、このケースでは、キャラクタＣＲは、右脚３０が十分に曲がらずに、右脚３０を引きずるようにして左脚４０で片足歩きをするようなモーションになる。そして、キャラクタＣＲの移動速度は標準の６０％に制限され、旋回速度は３０％に制限される。
【００９７】
尚、動作設定データ５３４では、図示される以外に盾５２を構える「左腕に盾を装備した場合の防御」の動作、「所持しているアイテムの放棄」動作、「アイテムを所持していない腕でキャラクタ前方に配置されているアイテムを取得する」動作、「アイテムを所持していない腕で殴る」動作、「右脚或いは左脚で蹴る」動作が設定されている。
【００９８】
そして、例えば「アイテムを所持していない腕でキャラクタ前方に配置されているアイテムを取得する」動作では、同様に腕のパーツのダメージレベルに応じて動作性能に優劣のある複数のモーションを設定する。具体的には、標準のモーションとして、一度の動作で１００％アイテムを取得できるモーションを設定する。これに対し、ＤＬＶ３のパーツが含まれる場合には「取得できない」モーションを設定し、ＤＬＶ１およびＤＬＶ２には「取得を失敗する確率」を有するモーションを設定すると好適である。
勿論、「アイテムを所持していない腕でキャラクタ前方に配置されているアイテムを取得する」動作、並びに「アイテムを所持していない腕で殴る」動作は、アイテム放棄の動作によって、アイテムが未所持の状態でなければ選択されない。
【００９９】
撃破モーション設定データ５３６は、キャラクタＣＲの全パーツの積算ダメージ値の総和が所定の撃破基準値に達して、撃破されたと判定された場合に実行されるモーションデータである。例えば崩れるようにして倒れる動作のモーションデータや、各パーツが爆発飛散するように動作させるモーションデータなどを適宜定義する。
【０１００】
キャラクタ制御データ５４０は、キャラクタＣＲ毎に設けられ、ゲーム実行中における当該キャラクタのオブジェクトの制御に係る情報を格納する。
図１０は、本実施形態におけるキャラクタ制御データ５４０の一例を示すデータ構成図である。同図に示すように、キャラクタ制御データ５４０は、当該キャラクタの全パーツの積算ダメージ値の総和にあたる総ダメージ値５４０ａ、右手１８並びに左手２０に所持されているアイテムのオブジェクトの識別情報と格納する右アイテム情報５４０ｂ、左手１８に所持されているアイテムのオブジェクトの識別情報を格納する左アイテム情報５４０ｃ、銃５０の残弾数５４０ｄ、現在実行中のモーションの制御に係る実行モーション制御情報５４０ｅ、キャラクタＣＲの代表点座標５４０ｆ、キャラクタＣＲの代表点の運動パラメータ値５４０ｇ（例えば速度、加速度、ゲーム空間座標系の各軸周りの角度）を含んでいる。
【０１０１】
右アイテム情報５４０ｂ及び左アイテム情報５４０ｃには、ゲーム開始の初期状態では、それぞれ銃５０のオブジェクトの識別情報、盾５２のオブジェクトの識別情報が設定されている。本実施形態では、所定のアイテム放棄動作によって、現在所持しているアイテムを左右別々で放棄させることができる。その場合、右アイテム情報５４０ｂ及び左アイテム情報５４０ｃには「ＮＵＬＬ」が格納される。また、所定のアイテム取得動作によって、ゲーム空間中に置かれているアイテムを新たに所持させることができる。
【０１０２】
また、キャラクタ制御データ５４０は、キャラクタＣＲの部位毎に部位制御データ５４２を含んでいる。部位制御データ５４２は、当該データが適用される部位を示す適用部位５４２ａを含み、更に当該部位を構成するパーツ５４２ｂに対応づけて、当該パーツの上位階層のパーツを示す上位階層パーツ５４２ｃ、当該パーツの下位階層のパーツを示す下位階層パーツ５４２ｄ、当該パーツの現在の位置や姿勢に関する情報を格納する位置姿勢情報５４２ｅ、積算ダメージ値５４２ｆ、ダメージレベル５４２ｇ、表示モード設定５４２ｈを格納している。表示モード設定５４２ｈは、当該パーツの表示／非表示を示す情報であり、本実施形態では「１」が表示、「０」が非表示を表している。
【０１０３】
ダメージ表現物制御データ５５０は、パーツのダメージレベルに応じて付与されたダメージ表現のためのオブジェクトの制御に係る情報を格納する。
図１１は、本実施形態におけるダメージ表現物制御データ５５０の一例を示すデータ構成図である。同図に示すように、ダメージ表現物制御データ５５０は、破損外観物制御データ５５２と、破損物制御データ５５４データとを含む。
【０１０４】
破損外観物制御データ５５２は、破損外観物５５２ｂ毎にデータセットが形成されており、各データセットには当該破損外観物の配置位置や姿勢値を格納する位置データ５５２ｃ、速度や加速度などの運動パラメータ値や所定の制御パターン情報等の制御データ５５２ｄが含まれている。
【０１０５】
破損物制御データ５５４は、破損物オブジェクト、つまりＤＬＶ３に達したパーツ及び当該パーツより下位階層のパーツを階層構造を維持して複製されたオブジェクト毎に設定され、当該オブジェクトの移動制御に係る情報を格納している。例えば、破損物識別情報５５４ａと、代表点の位置座標と姿勢値を格納する位置姿勢５５４ｂと、代表点の運動パラメータ値５５４ｃと、パーツ５５４ｄに対応付けられた上位階層パーツ５５４ｅ、下位階層パーツ５５４ｆ、破損物オブジェクトの代表点の位置座標と姿勢値を格納する位置姿勢５５４ｇを含んでいる。
【０１０６】
［動作の説明］
次に、本発明の動作について説明する。図１２は、本実施形態における主たる処理の流れを説明するためのフローチャートである。ここで説明される処理は、処理部２００がシステムプログラム５０１、ゲームプログラム５０２を読み出して実行することによって実現される。尚、以下で説明する処理は、所定のサイクルで繰り返し実行される。
【０１０７】
同図に示すように、処理部２００は、先ずゲーム空間設定データ５２０、キャラクタ初期設定データ５２２、仮想カメラ移動制御データ５２４を参照して、３次元仮想空間にゲーム空間を形成する。そして、形成したゲーム空間内にプレーヤキャラクタとＣＯＭキャラクタを配置し、仮想カメラを配置する（ステップＳ２）。この段階で、キャラクタ制御データ５４０が記憶部５００に格納される。
【０１０８】
操作入力部１００から所定のゲーム開始操作が入力されたならば（ステップＳ４のＹＥＳ）、処理部２００はゲームを開始させ、使用可能な（撃破されていない）全キャラクタについてループＡの処理を実行する（ステップＳ６〜Ｓ３０）。ゲーム開始当初は、いずれのキャラクタも使用可能であるのは言うまでも無い。
【０１０９】
ループＡの処理では、先ず、キャラクタ制御データ５４０を参照して処理対象のキャラクタの全パーツの積算ダメージ値５４２ｆを合算して総ダメージ値５４０ａを求め、求めた総ダメージ値５４０ａが所定の撃破基準値に達しているか否かを判定する（ステップＳ８）。
【０１１０】
撃破基準値に達していると判定された場合（ステップＳ８のＹＥＳ）、処理部２００は、当該対象キャラクタの各パーツオブジェクトを撃破モーション設定データ５３６に従って制御して、撃破されてゆく様子を表現する（ステップＳ１０）。そして、撃破モーションを終了したならば（ステップＳ１２のＹＥＳ）、対象キャラクタを使用不可に設定する（ステップＳ１４。例えば、対象キャラクタのキャラクタ制御データ５４０を削除しても良いし、撃破されたことを示すフラグをセットして、次の制御サイクルで当該キャラクタを制御対象外とする。
【０１１１】
一方、処理対象キャラクタの総ダメージ値５４０ａが、撃破基準に達しておらずまだ戦闘できると判断された場合には（ステップＳ８のＮＯ）、処理部２００はダメージ表現物表示処理を実行する（ステップＳ１６）。
【０１１２】
ダメージ表現物表示処理は、現時点における対象キャラクタのパーツの損傷度合に応じたダメージ表現をするためのオブジェクトを配置する処理である。
図１４は、本実施形態におけるダメージ表現物表示処理の流れを説明するためのフローチャートである。同図に示すように、処理部２００は先ず、ダメージレベル設定データ５３２を参照して、各パーツのダメージレベル５４２ｇを積算ダメージ値５４２ｆに基づいて決定・更新する（ステップＳ６０）。ゲーム開始当初に設定されたキャラクタ制御データ５４０では、全パーツの積算ダメージ値５４２ｆは「０（ダメージ無し）」、ダメージレベル５４２ｇはＤＬＶ（ダメージレベル）０に設定されている。対象キャラクタが一度も攻撃を受けていなければ、各パーツのダメージレベル５４２ｇは「０」のままである。
【０１１３】
次に、処理部２００は全ての部位について下位階層のパーツから順にループＢを実行する（ステップＳ６２〜Ｓ８０）。ループＢでは、先ず処理対象のパーツのダメージレベル５４２ｇを参照する。ダメージレベル５４２ｇが「０」であれば（ステップＳ６４の「０」）、対象パーツは損傷を受けていない、或いは受けていても軽微であり機能不全を起こすほどの損傷ではないと判断されるので、当該パーツへのループＢの処理を終了する。
【０１１４】
ダメージレベル５４２ｇが「１」または「２」の場合（ステップＳ６４の「１または２」）、処理部２００は対象パーツを、ダメージが表出する程度までダメージが進行した状態にあると判断して、ダメージ表現物オブジェクト設定データ５２８を参照して、ダメージレベル５４２ｇに応じた破損外観物を選択して、対象パーツの近傍に配置する（ステップＳ６６）。図４の例で言うところの火花６０、スモーク６２といったオブジェクトが新規配置される。そして、ループＢの処理を終了する
【０１１５】
ダメージレベル５４２ｇが「３」の場合（ステップＳ６４の「３」）、処理部２００は対象パーツが全破損した状態であると判断して、対象パーツから先の部分が分離脱落するように表現するための処理を実行する。すなわち、先ず対象パーツの表示モード設定５４２ｈを参照する（ステップＳ６８）。
【０１１６】
そして、表示モード設定５４２ｈが「１」の場合（ステップＳ６８の「１」）、処理部２００は、対象パーツ及びその下位階層のパーツの表示モード設定５４２ｈを「０（非表示）」に設定変更し（ステップＳ７０）、対象パーツに対応する破損パーツの表示モード設定５４２ｈを「１（表示）」に設定変更する（ステップＳ７２）。これによって、対象パーツから先の部分が実質的に描画されなくなり、代わりに対象パーツ部分が破損した様子が描画されることになる。
【０１１７】
次いで処理部２００は、爆発効果オブジェクト設定データ５２６を参照して、対象パーツの位置に爆発効果オブジェクト６６を配置する（ステップＳ７４）。そして、対象パーツとその下位階層のパーツを、階層構造を維持して複製し、破損物オブジェクトとして複製元の対象パーツから脱落した位置に新規配置し（ステップＳ７６）、ループＢの処理を終了する。記憶部５００のダメージ表現物制御データ５５０には、新たな破損物制御データ５５４が設定される。
【０１１８】
全部位の全てのパーツについてループＢの処理を実行したならば、ダメージ表現物表示処理を終了し、図１２のフローに戻る。
【０１１９】
図１２のフローに戻って、処理部２００は次に、破損物オブジェクトの落下移動処理を実行する（ステップＳ１８）。より具体的には、ダメージ表現物制御データ５５０に破損物制御データ５５４が設定されている場合には、破損物オブジェクトがあることを意味するため、設定されている破損物オブジェクトを地表に落下するように移動制御する。そして、着地した破損物オブジェクトが、銃５０などのアイテムを所持している場合には、所持を解除して破損物オブジェクトとは別個にアイテム単独で地表に配置される状況とする。勿論、破損物制御データ５５４が設定されていなければ何もしない。
【０１２０】
次に処理部２００は、対象キャラクタについて実行中の動作のモーションがあるか否かを判定する（ステップＳ２０）。キャラクタ制御データ５４０の実行モーション制御情報５４０ｅにモーション実行中を示す情報（例えば、未実行のフレーム情報など。）が存在する場合には（ステップＳ２０のＹＥＳ）、実行途中のモーションを実行して関連するパーツオブジェクトの配置を移動させる（ステップＳ２２）。
【０１２１】
一方、実行中の動作のモーションが無い場合には（ステップＳ２０のＮＯ）、処理部２００は次に実行する動作を決定する（ステップＳ２４）。具体的には、対象キャラクタが、プレーヤが使用するプレーヤキャラクタであれば、操作入力部１００からの操作入力信号に基づいて次の動作を決定する。また、ＣＯＭキャラクタの場合には、所定の思考ルーチンに従って次の動作を決定する。
【０１２２】
そして、次の動作が決まったならば、処理部２００は動作設定データ５３４を参照して、決定された次の動作と同じ動作種類５３４ａのデータセットから選択条件５３４ｃに従って何れか一つのモーションデータ５３４ｂを選択する（ステップＳ２６）。そして更に、選択したモーションデータに従って関連するパーツオブジェクトを配置制御して（ステップＳ２８）、ループＡの処理を終了する。実行開始されたモーションに関する情報は、実行モーション制御情報５４０ｅに格納される。
【０１２３】
ここまでの処理で、使用可能なキャラクタ全てについて、各パーツの積算ダメージ値に基づくダメージ表現物の付与配置、およびパーツの損傷程度に応じて制限されたモーションを適用することが可能になったことになる。
【０１２４】
次に、図１３のフローに移って、処理部２００はヒット判定を実行する（ステップＳ３２）。具体的には、射撃による着弾判定、殴る・蹴るといった打撃攻撃の判定に伴うキャラクタ間のヒット判定が含まれる。尚、破損物オブジェクトの複製元になったパーツ、つまりＤＬＶ３に達したパーツ及びその下位階層のパーツはヒット判定から除外される。
【０１２５】
次いでダメージ算出ＴＢＬデータ５３０と、先のヒット判定の結果に基づいて、全キャラクタの全パーツの積算ダメージ値５４２ｆを更新する（ステップＳ３４）。次いで、仮想カメラ移動制御データ５２４に従って仮想カメラの移動・撮影を制御して（ステップＳ３６）、この仮想カメラによって撮影された画像を元にゲーム画面の生成と描画を実行する（ステップＳ３８）。
【０１２６】
そして、処理部２００は所定のゲーム終了条件を満たすか否かを判定する（ステップＳ４０）。本実施形態では、プレーヤキャラクタが撃破されて使用不可になった場合、或いは、ＣＯＭキャラクタ全てが撃破されて使用不可になった場合に、ゲーム終了条件を満たすと判定される。
【０１２７】
ゲーム終了と判定されなければ（ステップＳ４０のＮＯ）、図１２のステップＳ６に移行する。反対にゲーム終了と判定された場合には（ステップＳ４０のＹＥＳ）、所定のゲーム終了処理、例えばゲーム成績の表示やエンディングムービーの表示などの各種処理を実行して終了する。
【０１２８】
［ハードウェア構成］
次に、本実施形態におけるハードウェア構成について説明する。
図１５は、本実施形態における家庭用ゲーム装置１２００を実現するためのハードウェア構成の一例を示す図である。家庭用ゲーム装置１２００は、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、画像生成ＩＣ１００８、音生成ＩＣ１０１０、Ｉ／Ｏポート１０１２，１０１４がシステムバス１０１６により相互にデータ入出力可能に接続されている。Ｉ／Ｏポート１０１２にはコントロール装置１０２２が、Ｉ／Ｏポート１０１４には通信装置１０２４が、それぞれ接続されている。
【０１２９】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【０１３０】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２内の所与の内容、ＣＰＵ１０００の演算結果等が格納される。
【０１３１】
情報記憶媒体１００６は、プログラム、画像データ、音データ、プレーデータ等が主に格納されるものであり、情報記憶媒体として、ＲＯＭ等のメモリやハードディスクや、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣカード、磁気ディスク、光ディスク等が用いられる。尚、この情報記憶媒体１００６は、図６の記憶部５００に相当するものである。
【０１３２】
また、この装置に設けられている画像生成ＩＣ１００８と音生成ＩＣ１０１０により、音や画像の好適な出力が行えるようになっている。
【０１３３】
画像生成ＩＣ１００８は、ＣＰＵ１０００の命令によって、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される画像信号は、表示装置１０１８に出力される。表示装置１０１８は、ＣＲＴやＬＣＤ、ＥＬＤ、プラズマディスプレイ、或いはプロジェクター等により実現され、図６の画像表示部３６０に相当する。
【０１３４】
また、音生成ＩＣ１０１０は、ＣＰＵ１０００の命令によって、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報、ＲＡＭ１００４に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ１０２０によって出力される。スピーカ１０２０は、図６の音出力部３５０に相当するものである。
【０１３５】
コントロール装置１０２２は、プレーヤがゲームに係る操作を入力するための装置であり、その機能は、レバー、ボタン、パッチパネル、ダイヤル、ポインター等のハードウェアにより実現される。尚、このコントロール装置１０２２は、図６の操作入力部１００に相当するものである。
【０１３６】
通信装置１０２４は、装置内部で利用される情報を外部とやりとりするものであり、所与の情報を他の装置と送受すること等に利用される。尚、この通信装置１０２４は、図６の通信部３７０に相当するものである。
【０１３７】
そして、ゲーム処理等の上記した処理は、図６のゲームプログラム５０２等を格納した情報記憶媒体１００６と、これらプログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１００８、音生成ＩＣ１０１０等によって実現される。ＣＰＵ１０００、画像生成ＩＣ１００８、及び音生成ＩＣ１０１０は、図６の処理部２００に相当するものであり、主にＣＰＵ１０００がゲーム演算部２１０、画像生成ＩＣ１００８が画像生成部２６０に、音生成ＩＣ１０１０が音生成部２５０にそれぞれ相当する。
【０１３８】
尚、画像生成ＩＣ１００８、音生成ＩＣ１０１０等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。この場合には、ＣＰＵ１０００が、図６の処理部２００に相当する。
【０１３９】
以上の構成並びに処理によって、パーツ毎に過去に受けたダメージを積算し、積算されたダメージ及び当該パーツオブジェクトの部位に基づいて、動作性能の優劣を段階的に可変してキャラクタの動作を制御することが可能になる。つまり、ダメージが徐々に蓄積し、ある一定量に達すると外観的にも動作性能的にも劣化が始まり、さらにダメージが蓄積してある一定量に達すると更に劣化が起るといった、ダメージが進行する様子をリアルに表現できる。
【０１４０】
以上、本発明を適用した第１実施形態について説明したが、本発明の適用形態がこれらに限定されるものではない。
【０１４１】
例えば、家庭用ゲーム装置でビデオゲームを実行する構成を例に挙げたが、業務用のゲーム装置やパソコン、携帯型ゲーム装置などでゲームを実行することもできる。
【０１４２】
また、上記実施形態では、パーツの積算ダメージ値からダメージレベルを判定することで、ダメージ状態の段階化を行っているが、ダメージレベルの判定を省略し、ダメージレベルの代わりに積算ダメージ値の範囲を用いる構成とすることもできる。例えば、特定パーツの積算ダメージ値が、第１の積算ダメージ値範囲に含まれる場合には、小破損用のモーションデータを選択し、第２の積算ダメージ値範囲に含まれる場合には中破損用のモーションデータを選択する。そして、第３の積算ダメージ値範囲に含まれる場合には全破損用のモーションデータを選択する。
【０１４３】
また、上記実施形態ではダメージ値を積算する方法を採っているが、初期状態で各パーツに所定のヒットポイントを設定し、攻撃を受けた場合に受けた攻撃に応じたダメージ値を減算する構成としても良い。そして、ヒットポイントが初期値からどれだけ減少しているか、初期値に対するパーセンテージでダメージのレベルを判定する構成としても良い。
【０１４４】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、基本的に第１実施形態と同様の構成を有しているが、現在のダメージ値に基づいて動作モーションを２つ選択し、現在のダメージ値に応じた割合でブレンドして使用する点が異なる。尚、第１実施形態と同様の構成要素については、同じ符号を付与して説明は省略する。
【０１４５】
図１６は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように、本実施形態では家庭用ゲーム装置１２００は、ゲーム演算部２１０に補間モーション生成部２１９を備える。
【０１４６】
補間モーション生成部２１９は、複数の異なるモーションデータからそれらの中間的な動作をするモーションデータを新たに生成する処理を実行する。
【０１４７】
図１７は、本実施形態における主たる処理の流れを説明するためのフローチャートである。同図に示すように、基本的には第１実施形態と同様の処理の流れを有するが、処理部２００は、第１実施形態におけるステップＳ２６及びＳ２８に代えて、ステップＳ２５の補間モーション生成処理を実行する。
【０１４８】
図１８は、補間モーション生成処理の流れを説明するためのフローチャートである。同図に示すように、補間モーション生成処理では、処理部２００は先ず、動作設定データ５３４を参照して、ステップＳ２４で決定された次に実行する動作種類５３４ａに対応するモーションデータ群から、選択条件５３４ｃに従って第１モーションデータを選択し（ステップＳ１００）、更にこの第１モーションデータより次に優先度が低い第２モーションデータを選択する（ステップＳ１０２）。
【０１４９】
次に、選択された動作種類５３４ａに関連する部位のパーツで最も高いダメージレベルを求め（ステップＳ１０４）、仮に当該部位の全てのパーツがこの最も高いダメージレベルに達していたとした場合におけるダメージレベルの数値の合計である第１総和を求める（ステップＳ１０６）。次いで、当該部位のパーツで最も低いダメージレベルを求め（ステップＳ１０８）、仮に当該部位の全てのパーツがこの最も低いダメージレベルであった場合のダメージレベルの数値の合計である第２総和を求める（ステップＳ１１０）。更に、処理部２００は現時点における当該部位を構成する全パーツのダメージレベルの数値の合計に当る第３総和を算出する（ステップＳ１１２）。
【０１５０】
例えば、次の動作種類が「右腕で銃を所持した場合の射撃」の場合であって、右肩１２がＤＬＶ２、その他の右腕１０のパーツがＤＬＶ１の場合、第１総和＝２×（右腕１０のパーツ数）＝「８」となる。一方、第２総和＝１×（右腕１０のパーツ数）＝４となる。また、第３総和＝２＋１＋１＋１＝５となる。
つまり、第１総和が、選択された動作種類５３４ａに関連する部位について第１モーションデータが選択される場合の最も重いダメージ状態に該当する閾値を示し、第２総和が、該部位について第２モーションデータが選択される場合のダメージ状態に該当する閾値を示すことになる。そして、該部位のダメージの状態が、これら２つの閾値の間の何所に位置するかを第３総和が示している。
【０１５１】
そこで次に、処理部２００は、先に選択された第１モーションデータと第２モーションデータとを第１〜第３総和に基づいて重み付けして、これらモーションデータの中間動作となる補間モーションデータを生成する（ステップＳ１１４）。
具体的には、例えば、第１モーションデータと第２モーションデータとが同じ時間で完了するように設定さているとして、同じ有る時点における第１モーションデータで定義されている位置座標及び姿勢値と、同時点における第２モーションデータで定義されている位置座標及び姿勢値とを、（第１総和−第３総和）：（第３総和−第２総和）で内分した位置座標及び姿勢値を求める。モーションの開始から終了までの各時点について同様に求めれば、一連の補間モーションデータが生成されることになる。
【０１５２】
補間モーションデータを生成したならば、補間モーションデータ生成処理を終了して図１７のフローに戻る。そして、処理部２００は生成した補間モーションデータに従って関連するパーツオブジェクトの配置移動処理を実行する（ステップＳ２７）。
【０１５３】
以上の処理によって、動作設定データ５３４に格納されているモーションデータ群を補間してよりダメージの状況に応じた細やかな動作表現が可能になる。
【０１５４】
尚、本実施形態では、ダメージレベルの総和に基づいて補間モーションデータの生成を行ったがこれに限らず、例えばダメージレベルの平均に基づいて重み付けをして補間モーションデータを生成する構成としても良い。
【０１５５】
また、ダメージレベルの判定を省略し、動作設定データ５３４の選択条件５３４ｃをダメージレベルに基づく条件を設定する代わりに積算ダメージ値の範囲を設定し、ダメージレベルを経ずに直接パーツの積算ダメージ値からモーションデータを選択する構成とすることもできる。この場合には、第１モーションデータの選択条件５３４ｃで該当部位のパーツが最も積算ダメージ値が高い値と仮定した場合の積算ダメージ値の総和を第１総和とし、同選択条件において該当部位のパーツが最もダメージ値が低い値と仮定した場合の積算ダメージ値の総和を第２総和、現在の該当部位の全パーツにおける積算ダメージ値の総和を第３総和、とすることによって同様の処理が可能になる。
【０１５６】
〔変形例〕
以上、本発明を適用した第１及び第２実施形態について説明したが、本発明の適用形態がこれらに限定されるものではなく、発明の主旨を逸脱しない限りにおいて適宜変更を加えることができる。
【０１５７】
例えば、上記実施形態では、分離条件（ＤＬＶ３）を満たしたパーツ及び該パーツの下位階層のパーツを複製して破損物オブジェクトとして配置する一方、これらのパーツを表示状態から非表示に切り換えることで、あたかも分離条件を満たしたパーツから先の部分が破壊分離したかのようにみせているが、これに限るものではない。
【０１５８】
例えば、上記実施形態と同様に、右腕１０及び左腕２０を構成する各パーツに対応する破損パーツを予め用意するが、データとして記憶部５００に記憶させておくにとどめておく。つまり、ゲーム開始当初の状態では、破損パーツはキャラクタＣＲに階層付けされていないものとする。
【０１５９】
分離条件と満たすパーツから先の部分のパーツを、階層関係を維持したままキャラクタＣＲから分離独立させ、分離の後、地表に落下するようにこれらのパーツのオブジェクトを移動制御する
より具体的には、例えば、ダメージ表現物表示処理のループＢの処理において、処理対象のパーツのダメージレベルが「３」の場合、ステップＳ７０、Ｓ７２を行わずに対象パーツの位置に爆発効果オブジェクトを配置する（ステップＳ７４）。そして、ステップＳ７６の代わりに、対象パーツと該パーツの上位階層との階層関係を解除し、対象パーツからその下位階層のパーツまでの階層構造を維持したまま分離独立させる。図５の例では、右肩１２と胴６との間の階層関係を解除し、右肩１２から右上腕１４、右下腕１６、右手１８（及び銃５０）までの階層関係は維持し、右肩１２〜右手１８及び銃５０までを一体のオブジェクト群として、キャラクタＣＲから分離独立させる処理を行う。更に、分離条件を満たすパーツに変えて、該パーツに対応する破損パーツを、上位階層のパーツに階層付ける。図５の例では、右肩１２に対応する右肩破損１２ｂ（破損パーツ）のオブジェクトを、分離された右肩１２のオブジェクトに代えて、胴位置に胴６の下位階層オブジェクトとして階層づける処理を行って、ループＢの処理を終了する。
【０１６０】
このように、モデル上において正常な外観を有するパーツのオブジェクトを切り離し、代わりに破損した外観を有する破損パーツのオブジェクトに差し換える構成とすると、例えば、破損パーツを複数形態用意しておき、ランダムに差し換えることによって、時々によって破損された部分の様子が異なるように表現できるので、より一層リアリティのあるダメージ表現が可能になる。
【図面の簡単な説明】
【０１６１】
【図１】家庭用ゲーム装置の構成例を示すシステム構成図。
【図２】ビデオゲームに登場するキャラクタの正面外観と、キャラクタオブジェクトの構成を説明するための図。
【図３】パーツ毎のダメージの積算について説明するための概念図。
【図４】視覚的なダメージ表現の例を説明するための図。
【図５】キャラクタの動作性能におけるダメージ表現の例を説明するための図。
【図６】機能構成の一例を示す機能ブロック図。
【図７】ダメージ算出ＴＢＬデータの一例を示すデータ構成図。
【図８】機能構成の一例を示す機能ブロック図。
【図９】動作設定データの一例を示すデータ構成図。
【図１０】キャラクタ制御データの一例を示すデータ構成図。
【図１１】ダメージ表現物制御データの一例を示すデータ構成図。
【図１２】主たる処理の流れを説明するためのフローチャート。
【図１３】図１２のつづきを示すフローチャート。
【図１４】ダメージ表現物表示処理の流れを説明するためのフローチャート。
【図１５】家庭用ゲーム装置を実現するためのハードウェア構成の一例を示す図。
【図１６】第２実施形態における機能構成の一例を示す機能ブロック図。
【図１７】第２実施形態における主たる処理の流れを説明するためのフローチャート。
【図１８】補間モーション生成処理の流れを説明するためのフローチャート。
【符号の説明】
【０１６２】
２００  処理部
２１０  ゲーム演算部
２１２  積算ダメージ算出部
２１４  モーション選択部
２１６  キャラクタ動作制御部
２１８  ダメージ表現物制御部
５００  記憶部
５２８  ダメージ表現物オブジェクト設定データ
５３２  ダメージレベル設定データ
５３４  動作設定データ
５４０  キャラクタ制御データ
５４２  部位制御データ
５４２ｆ  積算ダメージ値
５４２ｇ  ＤＬＶ（ダメージレベル）
５４２ｈ  表示モード設定
５５０  ダメージ表現物制御データ
１２００  家庭用ゲーム装置
【図１】
2008119224.tif 000003
【図２】
2008119224.tif 000004
【図３】
2008119224.tif 000005
【図４】
2008119224.tif 000006
【図５】
2008119224.tif 000007
【図６】
2008119224.tif 000008
【図７】
2008119224.tif 000009
【図８】
2008119224.tif 000010
【図９】
2008119224.tif 000011
【図１０】
2008119224.tif 000012
【図１１】
2008119224.tif 000013
【図１２】
2008119224.tif 000014
【図１３】
2008119224.tif 000015
【図１４】
2008119224.tif 000016
【図１５】
2008119224.tif 000017
【図１６】
2008119224.tif 000018
【図１７】
2008119224.tif 000019
【図１８】
2008119224.tif 000020