(57)【特許請求の範囲】
【請求項１】
仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置の制御プログラムにおいて、
前記ゲーム装置の制御部を、
前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、
前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位について攻撃があった身体部位を判定するヒット判定部、
算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部
として機能させることを特徴とするゲーム装置の制御プログラム。
【請求項２】
請求項１記載の制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項３】
仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、
前記ゲーム装置の制御部が、
前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、
前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部、
算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部
として機能するように制御することを特徴とするゲーム装置の制御方法。
【請求項４】
仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、
前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部と、
前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部と、
算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部と
を備えることを特徴とするゲーム装置。
【請求項５】
前記座標算出部は、更に前記クローンオブジェクトの前記身体部位を、前記時間の経過に従って拡大するよう移動値調整を行う
ことを特徴とする請求項４に記載のゲーム装置。
【請求項６】
前記座標算出部は、前記移動値調整を、ヒエラルキーにて前記身体部位をまとめた身体単位毎に行う
ことを特徴とする請求項４又は５に記載のゲーム装置。
【請求項７】
前記キャラクタオブジェクトの身体部位毎のダメージ値を算出するダメージ算出部と、
前記ダメージ値に従って、前記身体部位のカラーを変化させるカラー変更部とを更に備える
ことを特徴とする請求項４から６のいずれか１項に記載のゲーム装置。
【請求項８】
前記クローンの前記身体部位を、前記時間の経過に従って透明になるように描画する描画部を更に備える
ことを特徴とする請求項４から７のいずれか１項に記載のゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム装置の制御プログラム、記憶媒体、ゲーム装置の制御方法、及びゲーム装置に関する。
【背景技術】
【０００２】
従来より、プレーヤが移動や動作等を指示（操作）するキャラクタ（以後、「プレーヤキャラクタ」という。）と、別のプレーヤまたはコンピュータが操作するキャラクタ（以後、「敵キャラクタ」という。）との間で、所定のルールに従って攻撃と防御が行われ、プレーヤキャラクタと敵キャラクタとが、互いに相手の体力値であるヒットポイントをゼロにすることを勝利の条件として戦いを行う、対戦格闘ゲームと言われるゲームが存在する。
従来の対戦格闘ゲームにおいては、ヒットポイントは、敵キャラクタからの攻撃を身体のどの部位に受けたかなどを一切考慮せず、そのダメージの大きさのみに応じて減らすようになっている。
【０００３】
ここで、従来のコンシューマ用ビデオゲーム装置や業務用ビデオゲーム装置（以下、ゲーム装置という。）として、特許文献１を参照すると、種々の動作を実行可能なキャラクタの部位毎にキャラクタの状態を規制する状態規制情報を記憶する記憶手段と、キャラクタに対しダメージが加わった場合に、ダメージを受けた部位を特定する部位特定手段と、部位特定手段により特定された部位に対応する上記状態規制情報を上記記憶手段から読み出して、当該状態規制情報に基づいてキャラクタの表示制御を行う表示制御手段とを備えることを特徴とするゲーム装置が記載されている（以下、従来技術１とする。）。
この従来技術１のゲーム装置によると、プレーヤは、ゲーム中に画面上の他の部分に気を散らされることなく、キャラクタの動きのみに集中して、ゲームを楽しむことができる。また、ダメージを受けた部位の状態をダメージの回数や大きさによって段階的に変化させることができる。したがって、たとえば対戦格闘ゲームにおいて、攻撃や防御などの動作に現実味を持たせることが可能となり、プレーヤは、より戦略的かつ緊迫したゲームを楽しむことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１０７４５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の対戦格闘ゲームを実行するゲーム装置においては、キャラクタの身体の部位が攻撃を受けた回数に応じて、テクスチャ等を変化させ、キャラクタの描画時の見た目を変化させるだけであった。
このため、プレーヤが攻撃をした際にその攻撃が敵キャラクタに当たったのか、逆に敵キャラクタから攻撃を受けた際にその攻撃がプレーヤキャラクタに当たったのかについての判別が難しかった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、上述の課題を解消することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のゲーム装置の制御プログラムは、仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置の制御プログラムにおいて、前記ゲーム装置の制御部を、前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位について攻撃があった身体部位を判定するヒット判定部、算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部として機能させることを特徴とする。
本発明の記憶媒体は、請求項１記載の制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であることを特徴とする。
本発明のゲーム装置の制御方法は、仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、前記ゲーム装置の制御部が、前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部、算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部として機能するように制御することを特徴とする。
本発明のゲーム装置は、仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部と、前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部と、算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部とを備えることを特徴とする。
本発明のゲーム装置は、前記座標算出部は、更に前記クローンオブジェクトの前記身体部位を、前記時間の経過に従って拡大するよう移動値調整を行うことを特徴とする。
本発明のゲーム装置は、前記座標算出部は、前記移動値調整を、ヒエラルキーにて前記身体部位をまとめた身体単位毎に行うことを特徴とする。
本発明のゲーム装置は、前記キャラクタオブジェクトの身体部位毎のダメージ値を算出するダメージ算出部と、前記ダメージ値に従って、前記身体部位のカラーを変化させるカラー変更部とを更に備えることを特徴とする。
本発明のゲーム装置は、前記クローンの前記身体部位を、前記時間の経過に従って透明になるように描画する描画部を更に備えることを特徴とする。
【発明の効果】
【０００８】
本発明によればクローンオブジェクトの身体部位を、攻撃が当たった時間の経過に従って、キャラクタオブジェクトからローカル座標系において離れるように移動値調整して描画することで、敵キャラクタに当てた又は敵キャラクタから攻撃を受けたかについての判別が分かりやすく、ゲーム性を高められるゲーム装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係るゲーム装置１０の制御ブロック図である。
【図２】本発明の実施の形態に係る主記憶部１１０のプレーヤキャラクタデータ２１０の構成を示す概念図である。
【図３】本発明の実施の形態に係るグラフィックメモリ１７０のプレーヤオブジェクト４１０とプレーヤクローンオブジェクト４２０の構成を示す概念図である。
【図４】本発明の実施の形態に係るプレーヤオブジェクト４１０の各部位とボーンの概念図である。
【図５】本発明の実施の形態に係るゲーム装置１０の対戦格闘処理のフローチャートである。
【図６】本発明の実施の形態に係るゲーム装置１０のダメージ表現処理のフローチャートである。
【図７】本発明の実施の形態に係るヒット時のクローン描画の概念図である。
【図８Ａ】本発明の実施の形態に係るパンチによるボディへのダメージ表現処理の画面例である。
【図８Ｂ】本発明の実施の形態に係るパンチによるボディへのダメージ表現処理の画面例である。
【図９Ａ】本発明の実施の形態に係るキックによるボディへのダメージ表現処理の画面例である。
【図９Ｂ】本発明の実施の形態に係るキックによるボディへのダメージ表現処理の画面例である。
【発明を実施するための形態】
【００１０】
＜実施の形態＞
〔ゲーム装置１０の制御構成〕
まず、図１を参照して、ゲーム装置１０の制御構成について説明する。
ゲーム装置１０は、携帯型や据え置き型のコンシューマ用ビデオゲーム装置、専用の店舗に設置される業務用ビデオゲーム装置、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯電話、携帯端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）等である。  また、ゲーム装置１０は、本実施形態に係る格闘対戦ゲームを実行するためのハードウェア資源である。
ゲーム装置１０は、ＣＰＵ１００（制御部、ゲーム実行部）と、主記憶部１１０と、補助記憶部１２０と、ＢＩＯＳ１３０と、ペリフェラルＩ／Ｆ１４０（周辺機器接続インタフェイス手段）と、バスアービタ１５０と、グラフィックプロセッサ１６０（描画手段）と、グラフィックメモリ１７０と、ビデオＢＩＯＳ１７５と、オーディオプロセッサ１８０と、オーディオメモリ１９０と、通信Ｉ／Ｆ２００とを含んで構成される。
【００１１】
ＣＰＵ１００は、ＣＩＳＣ（Ｃｏｍｐｌｅｘ Ｉｎｓｔｒｕｃｔｉｏｎ Ｓｅｔ Ｃｏｍｐｕｔｅｒ、複合命令セットコンピュータ）方式やＲＩＳＣ（Ｒｅｄｕｃｅｄ Ｉｎｓｔｒｕｃｔｉｏｎ Ｓｅｔ Ｃｏｍｐｕｔｅｒ、縮小命令セットコンピュータ）方式のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇａｎｌ  Ｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｐｒｏｃｅｓｓｏｒ、特定用途向けプロセッサー）等である演算・制御能力を備えた制御手段である。
また、ＣＰＵ１００に、後述する主記憶部１１０やバスアービタ１５０やグラフィックプロセッサ１６０やオーディオプロセッサ１８０等の機能を備えることも可能である。
【００１２】
主記憶部１１０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶用に使われる高速な記憶手段を含んで構成される。
主記憶部１１０には、ゲーム装置１０をコンピュータとして機能させるためのＯＳが備えられている。
また、主記憶部１１０には、ＣＰＵ１００が実行する、各種プログラムやオブジェクト等であるプロセスが補助記憶部１２０からロードされて記憶されている。また、このプロセスに関わるデータについても記憶している。各プロセスはＯＳのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を介して、ゲーム装置１０の各機能にアクセス可能である。
主記憶部１１０に記憶されたデータとして、主記憶部１１０には、プレーヤキャラクタデータ２１０と、敵キャラクタデータ２２０が記憶されている。プレーヤキャラクタデータ２１０は、プレーヤのキャラクタに関連する値を記憶する構成部位である。また、敵キャラクタデータ２２０は、敵キャラクタに関連する値を記憶する構成部位である。
【００１３】
補助記憶部１２０は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等のフラッシュメモリディスク、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、磁気テープ装置、光ディスク装置等の補助記憶手段である。
補助記憶部１２０は、後述するように、アプリやＯＳのプログラムやデータが記憶されている。これらのプログラムやデータは、ＣＰＵ１００や、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）等により、主記憶部１１０に記憶して実行可能である。
また、補助記憶部１２０には、本実施形態に係る対戦格闘ゲームの対戦に係るプログラムである対戦格闘部３００と、これに付随するデータとを記憶している。この対戦格闘部３００については、対戦格闘のゲームプレイ時には、適宜主記憶部１１０等に読み出されてＣＰＵ１００が実行する。
【００１４】
ＢＩＯＳ１３０は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が記憶されたＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）やＮＯＲ型フラッシュメモリやＳＲＡＭ等の不揮発性記憶媒体である。
このＢＩＯＳ１３０は、ファームウェア用のプログラムと、ゲーム装置１０の各種機能を実現するためのプログラムと、これらのプログラムの設定を記憶するＳＲＡＭ等の構成部位から構成されている。
具体的には、ＢＩＯＳ１３０は、ゲーム装置１０が起動する際に、ＣＰＵ１００のマイクロコードの設定を行ったり、各部の初期化を行ったり、補助記憶部１２０の例えば最初のアドレスのパーティションから、ＯＳが実行されるような指示を行う。
なお、ＢＩＯＳ１３０のプログラムをＮＯＲ型フラッシュメモリ等に記憶し、ＢＩＯＳ１３０の設定を記憶するフラッシュメモリやバッテリバックアップＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）や、ＥＥＰＲＯＭ等の書き換え可能な不揮発性のメモリ等を別に備えていてもよい。
【００１５】
ペリフェラルＩ／Ｆ１４０は、各種周辺機器（ペリフェラル）に接続するための、ＵＳＢ、ＩＥＥＥ１３９４、シリアル、パラレル、赤外線、無線等のインタフェイスを提供する構成部位である。
ペリフェラルＩ／Ｆ１４０は、主に、携帯型や据え置き型のコンシューマ用ビデオゲーム装置、ＰＣ等の場合は、ボタン、ジョイスティック、ジョイパッド、タッチパネル等の入力部、振動モーター等のフォースフィードバック部等を接続するためのインタフェイスとなる構成部位である。
また、ペリフェラルＩ／Ｆ１４０は、専用の店舗に設置される業務用ビデオゲーム装置の場合、照明、ＩＣカードリーダ／ライタ、スイッチ、コイン投入部等のような周辺機器と接続することができる。
他にも、スティック型コントローラー、加速度検出器、振動装置等のフォースフィードバック装置、足踏み／手押し式のスイッチ、ディスプレイモニタの画面上の位置を検出する位置検出器、タッチパッド、タッチパネル、キーボード、マウスやトラックボール等のポインティングデバイス等を、ペリフェラルＩ／Ｆ１４０に接続して用いることができる。
また、ペリフェラルＩ／Ｆ１４０は、電子スイッチ等を制御することもでき、各種周辺機器の電源をオン／オフにして消費電力を抑えたりすることもできる。
【００１６】
バスアービタ１５０は、いわゆる「チップセット」等の、各部を接続するためのバスインタフェイスを提供する集積回路である。このバスアービタ１５０で接続される各部のバスのスピードは異なっていてもよく、上り及び下りで非対称であってもよい。
また、例えば、ＣＰＵ１００と、主記憶部１１０と、バスアービタ１５０の間はＦＳＢやＨＴといった高速なバスで接続され、グラフィックプロセッサ１６０とバスアービタ１５０の間も広帯域なバスで接続されるのが好適である。
なお、ＣＰＵ１００にＤＤＲ２／３  ＳＤＲＡＭやＸＤＲ  ＤＲＡＭ等のバスインタフェイスが内蔵されて、主記憶部１１０を直接読み書きするように構成されていてもよい。
【００１７】
グラフィックプロセッサ１６０は、３次元ＣＧを描画する機能をもつグラフィックプロセッサである。グラフィックプロセッサ１６０は、ポリゴンのジオメトリ（座標）の計算を行うジオメトリ部１６２と、ジオメトリ計算が行われたポリゴンをラスタライズ又はレンダリング（描画）するレンダリング部１６４とを含んで構成される。
また、グラフィックプロセッサ１６０は、描画された画像をディスプレイモニタやプロジェクタ等の表示装置に出力するため、ＲＡＭＤＡＣ（ＲＡＭ  Ｄ／Ａコンバーター）やＨＤＭＩインタフェイス等を備えている。
なお、ディスプレイモニタを、ゲーム装置１０に備えるような構成も可能である。携帯型ゲーム装置や携帯端末や携帯電話等を用いる場合、このディスプレイモニタには液晶、有機ＥＬ、ＬＥＤ、ＬＥＤアレイ、ＭＥＭＳプロジェクタ等を用いることができる。
【００１８】
ジオメトリ部１６２は、ポリゴンの３次元空間での座標（ワールド座標）について、行列の回転や拡大等を行って、アフィン変換等を行い、ポリゴンの２次元空間での座標を求める構成部位である。また、ジオメトリ部１６２は、ポリゴンの分割やスプライン補完等のテッセレーションを行う、「ジオメトリシェーダ」（又はバーテックスシェーダ）を備えることもできる。
レンダリング部１６４は、座標計算されたポリゴンについて、テクスチャと呼ばれる画像データを貼り付け、各種効果を加えてグラフィックメモリ１７０に描画する構成部位である。この各種効果としては、プログラマブル・シェーダ等を用いて、光点・影（シェーディング）計算、明暗の表現、半透明、ぶれ、霧、ぼかし、ＨＤＲ（ハイダイナミックレンジ合成）等の計算を行うことができる。また、レンダリング部１６４が描画するポリゴンの種類としては、点ポリゴン（ポイント）、線ポリゴン（ラインリスト）、三角形や四角形といった面ポリゴン、面ポリゴンの集合体等がある。加えて、レンダリング部１６４がレイトレーシング（Ｒａｙ  Ｔｒａｃｉｎｇ）等を用いて描画を行う際には、円、楕円、球、メタボール等の領域で定義される物体を描画することも可能である。
なお、ジオメトリ部１６２を、ＣＰＵ１００にて処理するように構成することも可能である。この場合は主記憶部１１０に記憶するプログラムをＣＰＵ１００が実行して作成したポリゴンの座標を、グラフィックメモリ１７０に転送等を行う。レンダリング部１６４は、このポリゴンの座標に従って、ポリゴンを描画する。
さらに、グラフィックプロセッサ１６０には、図示しない物理エンジン部を備えてもよい。物理エンジン部は、ポリゴン同士の衝突演算や、服や波の動きといった物理現象のシミュレートをＣＰＵ１００より高速に実行することができる。
【００１９】
グラフィックメモリ１７０は、グラフィックプロセッサ１６０が描画するために高速に読み書きができる記憶媒体である。
たとえば、このグラフィックメモリとして、ＧＤＤＲ（Ｇｒａｐｈｉｃｓ  Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ（グラフィックス・ダブル・データレート））等の広帯域なメモリを高レベルのメモリインターリーブ等を用いて接続することができる。
また、システムＬＳＩのようにグラフィックメモリをグラフィックプロセッサ１６０に内蔵する構成も可能である。
また、グラフィックプロセッサ１６０が描画している間に、ディスプレイモニタに表示するためのデュアルポート構成をとることも可能である。
さらに、グラフィックメモリ１７０には、本実施形態の対戦格闘ゲームに係る３次元物体の描画用データ等（オブジェクト）であるプレーヤオブジェクト４１０、プレーヤクローンオブジェクト４２０、敵オブジェクト４３０、敵クローンオブジェクト４４０、ヒットエフェクトオブジェクト４５０、背景オブジェクト４６０等を備えている。
【００２０】
プレーヤオブジェクト４１０は、プレーヤキャラクタの描画用オブジェクト（キャラクタオブジェクト）である。このプレーヤオブジェクト４１０については、ＣＰＵ１００が補助記憶部１２０や主記憶部１１０から必要なデータが読み出し、グラフィックメモリ１７０上に記憶する。プレーヤオブジェクト４１０は、多角形であるポリゴンの座標、テクスチャ、オブジェクトの骨組みであるボーン、身体の動作や変形の際に用いるアニメーション等の描画用オブジェクトの描画に必要なデータを含んでいる。また、プレーヤオブジェクト４１０は、身体の各部（身体部位）に対応した構造的なデータであり、この身体部位間の対応関係（ヒエラルキー）についても記憶している。
プレーヤオブジェクト４１０の各データの詳細については、後述する。
【００２１】
プレーヤクローンオブジェクト４２０は、プレーヤオブジェクト４１０の必要なデータをコピーした描画用オブジェクト（クローンオブジェクト）である。このプレーヤクローンオブジェクト４２０については、プレーヤオブジェクト４１０がグラフィックメモリ１７０上に記憶された後、ＣＰＵ１００がクローン作成部３１０を用いて作成する。
このプレーヤオブジェクト４１０の詳細についても、後述する。
【００２２】
敵オブジェクト４３０は、敵キャラクタの描画用オブジェクト（キャラクタオブジェクト）である。この敵オブジェクト４３０は、対戦格闘を行う相手の敵キャラクタに係るオブジェクトのデータを、ＣＰＵ１００が補助記憶部１２０や主記憶部１１０から必要なデータが読み出し、グラフィックメモリ１７０上に配置して記憶する。
敵オブジェクト４３０は、具体的な描画用オブジェクトとしてのデータについては、プレーヤオブジェクト４１０と同様の属性のデータを記憶する。
【００２３】
敵クローンオブジェクト４４０は、敵オブジェクト４３０の必要なデータをコピーした描画用オブジェクト（クローンオブジェクト）である。この敵クローンオブジェクト４４０についても、プレーヤクローンオブジェクト４２０と同様に、敵オブジェクト４３０がグラフィックメモリ１７０上に記憶された後、ＣＰＵ１００がクローン作成部３１０を用いて作成する。
【００２４】
なお、以下にて、プレーヤオブジェクト４１０又は敵オブジェクト４３０を「キャラクタオブジェクト」と呼ぶ。また、プレーヤクローンオブジェクト４２０又は敵クローンオブジェクト４４０を「クローンオブジェクト」と呼ぶ。
【００２５】
ヒットエフェクトオブジェクト４５０は、攻撃が当たった（ヒット）時に半透明で描画するオブジェクト等であるヒットエフェクト用のオブジェクトである。
ヒットエフェクトオブジェクト４５０は、ギザギザや球状の爆発パターン等の視覚効果を与えるポリゴンの座標、テクスチャ、アニメーションデータ等を備えている。このテクスチャに関しては、描画時にアニメーションするように設定することができる。
なお、ヒットエフェクトオブジェクト４５０は、複数の種類のヒット時に用いるオブジェクトを含ませることができる。この際、ヒットエフェクトオブジェクト４５０は、各キャラクタが「技」を使って攻撃した際に、各キャラクタオブジェクトに重ねて表示する効果、例えば炎や雷のような表示をするためのオブジェクトも備えることもできる。
【００２６】
背景オブジェクト４６０は、地面や人物等のポリゴンの集合体である描画用オブジェクトである。すなわち、背景オブジェクト４６０は、対戦格闘ゲームの各キャラクタが対戦格闘を行うための舞台の描画用オブジェクトである。
さらに、背景オブジェクト４６０には、各キャラクタが移動する地面や地形の３次元座標データ等である地面メッシュデータ、及び地面として設定されるワールド座標系における座標について記憶する。なお、地面メッシュデータの各頂点の高さは、地面として設定されるワールド座標系における座標と同じか高く設定することが好適である。すなわち、地面として設定されるワールド座標系における座標は、キャラクタオブジェクトが移動する最低点や基準点となる高さを示す。
加えて、背景オブジェクト４６０には、各キャラクタの移動範囲を限定するための領域データ等を含ませることができる。
【００２７】
なお、各オブジェクト又は各オブジェクトの一部のデータを主記憶部１１０に備え、直接グラフィックメモリ１７０に転送、描画するような構成も可能である。
【００２８】
ビデオＢＩＯＳ１７５は、グラフィックプロセッサ１６０用のＢＩＯＳが記憶されたフラッシュメモリ等である。
ＣＰＵ１００が、パッチによりこのビデオＢＩＯＳ１７５を更新することで、グラフィックプロセッサ１６０の機能や表示品質を向上させたり、表示上の不都合（バグ）を直したりすることができる。
【００２９】
オーディオプロセッサ１８０は、音楽や音声や効果音を出力するためのＰＣＭ（Ｗａｖｅ）音源等を備えたＤＳＰ（デジタル・シグナル・プロセッサ）等である。オーディオプロセッサ１８０は、物理演算音源、ＦＭ音源等の計算を行い、残響や反射等の各種音声効果を計算することもできる。
オーディオプロセッサ１８０の出力は、Ｄ／Ａ（デジタル・アナログ）変換され、デジタルアンプ等に接続されて、スピーカーで音楽や音声や効果音として再生される。また、オーディオプロセッサ１８０は、マイクから入力した音声の音声認識等にも対応することができる。
オーディオメモリ１９０は、音楽や音声や効果音のためのデジタル変換されたデータを記憶している記憶媒体である。オーディオプロセッサ１８０とオーディオメモリ１９０とを一体的に構成することも当然可能である。
【００３０】
通信Ｉ／Ｆ２００は、ネットワークに接続するための（有線／無線ＬＡＮ、電話線、携帯電話網、ＰＨＳ網、電灯線ネットワーク、ＩＥＥＥ１３９４等）インタフェイスである。
通信Ｉ／Ｆ２００からネットワークを介して、ゲーム装置１０は、アプリやＯＳやパッチ等をマスターサーバからダウンロードすることができる。また、逆に、通信Ｉ／Ｆ２００を用いて、ゲーム装置１０同士、又は他のゲーム装置１０で、複数のプレーヤによる対戦ゲーム(対戦などの競争を行うゲーム。以下、同じ。）又は共同ゲーム（協力して課題を解決するゲーム。以下、同じ。）をすることができる。また、複数のゲーム装置１０が通信可能に接続されることで、サーバ等を介して、ゲームスコア（点数、得点等、以下スコアという。）の集計や、他の遊戯施設に配置されたゲーム装置との間で対戦ゲームを行ったり、ランキングを集計したりすることが可能である。
【００３１】
〔対戦格闘部３００の構成〕
次に、補助記憶部１２０に記憶された対戦格闘部３００の詳細について説明する。
対戦格闘部３００は、主にクローン作成部３１０、座標算出部３２０、ヒット判定部３２５、ダメージ算出部３３０、カラー変更部３４０、描画部３５０を含んで構成される。
【００３２】
クローン作成部３１０は、格闘対戦ゲームの開始時に、プレーヤオブジェクト４１０から、プレーヤクローンオブジェクト４２０を作成する構成部位である。具体的には、後述するプレーヤオブジェクト４１０の各データのうち、必要な部分をコピーして、本実施形態に係るダメージ表現を行うためのデータを作成する。
このように、本実施形態に係るゲーム装置１０は、プレーヤや敵キャラクタの分身であるクローンのデータを常に備える必要がないため、記憶容量を抑えることができる。特にゲーム装置１０が携帯型のゲーム装置等のように、いわゆる据え置き型のゲーム装置と比べ、主記憶部１１０やグラフィックメモリ１７０や補助記憶部１２０の記憶容量に制限がある場合であっても、これにより、主記憶部１１０やグラフィックメモリ１７０や補助記憶部１２０への負担を軽減でき、他の処理に資源を振り向けることができる。
【００３３】
座標算出部３２０は、プレーヤキャラクタを描画する際の３次元空間上の座標を計算する構成部位である。
すなわち、座標算出部３２０は、プレーヤキャラクタと敵キャラクタの、各キャラクタを基準点（中心）とした座標系であるローカル座標系にて、プレーヤクローンオブジェクト４２０の描画に関する座標を算出する。
また、座標算出部３２０は、プレーヤキャラクタと敵キャラクタとが配置される仮想三次元空間のワールド座標系において、各キャラクタオブジェクトや、背景オブジェクト４６０の描画に関する座標を算出することもできる。
【００３４】
ヒット判定部３２５は、プレーヤキャラクタ又は敵キャラクタの攻撃がヒットしたか否かの判定を行うための構成部位である。すなわち、ヒット判定部３２５は、プレーヤオブジェクト４１０による攻撃が敵オブジェクト４３０に当たったか否か、又は敵オブジェクト４３０による攻撃がプレーヤオブジェクト４１０に当たったか否かについて、座標計算により判定（いわゆる「当たり判定」（衝突判定））を行う構成部位である。この当たり判定の座標計算としては、各キャラクタの後述するボーンと、これを基に変形したポリゴンの座標を用いて計算することができる。この際、ヒット判定部３２５は、方向付きボックス等との交差計算のような高速な計算を行ってもよい。
また、当たり判定の際、ヒット判定部３２５はヒットしたキャラクタオブジェクトについて、どの身体部位にヒットしたかを検出することができる。後述するように、このヒットした身体部位より大きな身体単位にて、ダメージ表現を行うことができる。
なお、この当たり判定については、グラフィックプロセッサ１６０において、物理エンジン部によりモデルのポリゴン同士の交差を検知する構成としてもよい。
【００３５】
ダメージ算出部３３０は、上述の当たり判定にてヒットした身体部位について、障害状況を示す値である「ダメージ値」を算出する構成部位である。このダメージ値は、攻撃した側の「技」や、攻撃の強さによる属性値、攻撃のヒットに係る部位の角度等を基に算出することができる。
後述するように、このダメージ値の累積した値が所定値以上になる、すなわちダメージへの耐久値を示す体力値、「ヒットポイント（ＨＰ）」が所定値以下になることで、対戦格闘における勝ち負けを決定することができる。
【００３６】
カラー変更部３４０は、ダメージ値により、後述するプレーヤクローンオブジェクト４２０の色を算出する構成部位である。
この色の算出として、カラー変更部３４０は、例えば、各身体単位において、ダメージ値が大きくなるほど、赤みの強い色に設定する、つまり、白から赤になるような色に算出することができる。
また、カラー変更部３４０は、プレーヤクローンオブジェクト４２０の各身体単位について、この算出した色に変更して描画するよう指示することもできる。
【００３７】
描画部３５０は、グラフィックメモリ上にある各オブジェクトや、記憶されたその他のオブジェクトについて、座標計算を行い描画（レンダリング）するようにグラフィックプロセッサ１６０に指示する制御プログラムである。
その他に、描画部３５０は、ビューポイント（仮想空間における仮想視点、仮想カメラの位置）の座標を指示したり、各種メッセージや得点等の描画の指示も行う。
【００３８】
〔プレーヤキャラクタデータ２１０の構成〕
ここで、図２を参照して、主記憶部１１０に記憶されるプレーヤキャラクタデータ２１０の詳細な構成について説明する。プレーヤキャラクタデータ２１０は、キャラクタ属性データ２１１、技データ２１２、身体部位ダメージデータ２１３−１〜２１３−ｎを含んで構成される。
【００３９】
キャラクタ属性データ２１１は、プレーヤキャラクタの種類、キャラクタの所持金、各種ステージや持ち物等のフラグ等を記憶するゲームとプレーヤキャラクタに関するデータを記憶する構成部位である。
技データ２１２は、プレーヤキャラクタの対戦格闘において使用できる「技」を記憶する部位である。この技は、ＣＰＵ１００がペリフェラルＩ／Ｆ１４０に接続されたボタン等の押下やスライド等による入力情報（入力信号）を検知して、攻撃時にプレーヤの指示に従った技のアニメーションを描画する。
身体部位ダメージデータ２１３−１〜２１３−ｎは、各身体部位のダメージについて記憶しているデータである。ＣＰＵ１００は、このダメージ値が所定値以上になった場合、すなわち、その身体部位を用いて攻撃できなくなり、その身体部位の移動範囲等を制限する。そして、当該キャラクタのすべての身体部位のダメージ値が所定値以上になった場合、負けとなる。つまり、ヒットポイントが０等の所定値以下になると、負けとなる。
なお、主記憶部１１０に記憶された敵キャラクタデータ２２０も、キャラクタ属性データ２１１と同様のデータを備えている。
【００４０】
〔プレーヤオブジェクト４１０とプレーヤクローンオブジェクト４２０の構成〕
ここで、図３と図４とを参照して、グラフィックメモリ１７０に記憶されるプレーヤオブジェクト４１０とプレーヤクローンオブジェクト４２０の詳細な構成について説明する。
プレーヤオブジェクト４１０は、全体座標データ５１０、ヒエラルキーデータ５１２、身体部位モデルデータ５１３−１〜５１３−ｎ、ボーンデータ５１４、アニメーションデータ５１５−１〜５１５−ｎ、及びテクスチャデータ５１７を備えている。
プレーヤクローンオブジェクト４２０は、全体座標データ５２０、ヒエラルキーデータ５２２、身体部位モデルデータ５２３−１〜５２３−ｎ、ボーンデータ５２４、アニメーションデータ５２５−１〜５２５−ｎを備えている。
【００４１】
全体座標データ５１０は、ワールド座標系において、プレーヤオブジェクト４１０の全体の座標、Ｘ、Ｙ、Ｚ軸における角度、体勢等を記憶したデータである。
この全体座標データ５１０は、身体部位のうち、例えば、ヒップのモデルである身体部位モデルデータ５１３−４の中心と定めた位置を基準として設定することができる。
なお、身体部位モデルデータ５１３−４の中心と定めた座標（ヒップの座標）は、プレーヤオブジェクト４１０のローカル座標系での中心点としても用いる。
また、本実施形態においては、特に言及しない限り、Ｘ軸を幅方向、Ｙ軸を高さ方向、Ｚ軸を奥行き方向として扱う。
【００４２】
ヒエラルキーデータ５１２は、各身体部位モデルデータ５１３−１〜５１３−ｎの身体上での関係を階層構造で定めたデータである。具体的に、各身体部位モデルデータ５１３−１〜５１３−ｎの間の関係をリスト等のデータ構造を用いて「身体単位」のリストを記述し、これを記憶する。
図４を参照して説明すると、ヒエラルキーデータ５１２は、それぞれ、頭部、胴部、左腕部、右腕部、左脚部、右脚部のような身体単位のリストを記述する。たとえば、頭部は身体部位モデルデータ５１３−１、５１３−２を含む部位である。また、胴部は、身体部位モデルデータ５１３−３、５１３−４を含む部位である。また、左腕部は、身体部位モデルデータ５１３−５〜５１３−７を含む部位である。また、右腕部は、身体部位モデルデータ５１３−８〜５１３−１０を含む部位である。また、左脚部は、身体部位モデルデータ５１３−１１〜５１３−１３を含む部位である。また、右脚部は、身体部位モデルデータ５１３−１４〜５１３−１６を含む部位である。
また、ヒエラルキーデータ５１２は、各身体単位の間の接続の関係についても、リストのような構造として記憶する。たとえば、頭部は胴部と接続し、胴部は頭部・左腕部・右腕部・左脚部・右脚部と接続し、左腕部は胴部と接続し、右腕部は胴部と接続し、左脚部は胴部と接続し、右脚部は胴部と接続するといった身体単位の接続関係のリストを記憶する。
この上で、ヒエラルキーデータ５１２は、各身体単位内での接続の方向を含む関係についてもリストのような構造で記述する。たとえば、左腕部は、左上腕部である身体部位モデルデータ５１３−５の次に身体部位モデルデータ５１３−６が接続され、その先に手である身体部位モデルデータ５１３−７が接続されているといったリストを記憶する。なお、ヒエラルキーデータ５１２は、さらに細かな身体部位についてのモデルのデータを含む場合は、その接続についても記述できる。たとえば、左碗部の場合、身体部位モデルデータ５１３−７の先に手の指がある場合には、そのモデルとの接続関係のリストを記述することもできる。また、頭部の場合、眼球のデータを記述することもできる。
【００４３】
身体部位モデルデータ５１３−１〜５１３−ｎは、各身体部位の基本的な多角形（ポリゴン）、及びポリゴンの集合であるメッシュによるモデルを記憶するデータである。このポリゴンやメッシュとしては、３角形ポリゴンの他に、４角形ポリゴン、５角形以上のポリゴン、ポイントリスト、ラインストリップ、トライアングルリスト、トライアングルストリップ、トライアングルファン等の構造を用いることができる。
身体部位モデルデータ５１３−１〜５１３−ｎは、各ポリゴン又は各メッシュの頂点単位で、例えば、ポリゴンの各頂点の法線ベクトル、色、描画するテクスチャの種類と描画座標、反射光の光度、透明度（アルファブレンド値）、材質（マテリアル）、適用するシェーダー（影）、ボーンの影響度等のレンダリング（描画）に用いる各種データを記憶する。また、身体部位モデルデータ５１３−１〜５１３−ｎは、ローカル座標での座標や線分の接続リスト等も記憶する。
身体部位モデルデータ５１３−１〜５１３−ｎについては、グラフィックプロセッサ１６０が、それぞれ、ヒエラルキーデータ５１２の接続関係に従って、ボーンデータ５１４とアニメーションデータ５１５−１〜５１５−ｎを基に描画する。この際、ヒエラルキーデータ５１２の身体単位のリストや身体単位の接続関係を示すリストを用いて、身体単位毎に描画することができる。
なお、身体部位モデルデータ５１３−１〜５１３−ｎについて、ポリゴンではないメタボール等の領域指定のデータを記憶することも可能である。
【００４４】
ボーンデータ５１４は、プレーヤオブジェクト４１０を、動作に従って変形して描画するための骨、関節、骨組み等を示すための「ボーン」を記述するデータである。
図４を参照すると、ボーンデータ５１４は、身体部位モデルデータ５１３−１〜５１３−ｎの接続点（関節）を記述し、ヒエラルキーデータ５１２の接続の記述に従ってつなげるように直線又は曲線の集合にて記憶する。この際、ボーンデータ５１４は、各身体部位に対する関節の移動の方向と自由度を記述してもよい。
また、各身体部位の座標と向きに関しては、クォータニオン（Ｑｕａｔｅｒｎｉｏｎ）のような形式で記憶しておいてもよい。
なお、ボーンデータ５１４は、髪の毛、指、眼球、耳、胸、筋肉等の更に細かい身体部位等についてのボーンや、衣服、アクセサリー、道具、身体の付属物についてのボーンを用意することもできる。
また、ボーンデータ５１４の中心を表す座標として、上述のヒップの座標を用いる。
【００４５】
アニメーションデータ５１５−１〜５１５−ｎは、ボーンデータ５１４に従って、プレーヤオブジェクト４１０を時系列的に変形させて表示するアニメーション用のデータである。
具体的に、アニメーションデータ５１５−１〜５１５−ｎは、プレーヤキャラクタの歩行、ジャンプ、攻撃時の技といった各動作におけるボーンデータ５１４の変形と各関節の方向等の変化について記憶している。
たとえば、アニメーションデータ５１５−１〜５１５−ｎとして、各関節の座標の変化をアニメーションの動きの単位であるモーション単位で記憶しておくことができる。
【００４６】
テクスチャデータ５１７は、プレーヤオブジェクト４１０の各ポリゴンに描画するためのテクスチャの画像データを記憶する部位である。このテクスチャデータは、プレーヤオブジェクト４１０の各身体部位や服装等に合わせた画像を用意することができる。
また、テクスチャデータ５１７には、法線マップ、ミップマップ、微少な凹凸をディスプレースメント・マッピング等の手法で表現するための高さマップ等のテクスチャのデータも記憶できる。
さらに、テクスチャデータ５１７には、透明度を記述するアルファブレンディングの値として用いるテクスチャ、その他のシェーダー等で用いる特殊なテクスチャについても記憶することもできる。
【００４７】
なお、これらのデータの他にも、描画用に必要なデータを適宜記憶することができる。たとえば、髪の毛や衣服、持ち物や武器等のデータを、ボーンや向きのデータ、各身体部位との関連付け等のデータと共に記憶できる。
さらに、当たり判定に用いる方向付きの長方体等、所定の座標範囲の当たり判定用ボックスのデータ等を、当たり判定用のオブジェクトとして用意することもできる。
また、図４は人物の直立形式で描いているものの、各身体部位の初期位置は任意である。たとえば、両手を左右に広げた状態のプレーヤオブジェクト４１０を作成することもできる。
【００４８】
プレーヤクローンオブジェクト４２０は、上述したように、プレーヤオブジェクト４１０から必要なデータをクローン作成部３１０がコピーして作成する。
このため、全体座標データ５２０は全体座標データ５１０と、全体座標データ５２０は全体座標データ５１０と、身体部位モデルデータ５２３−１〜５２３−ｎは身体部位モデルデータ５１３−１〜５１３−ｎと、ボーンデータ５２４はボーンデータ５１４と、アニメーションデータ５２５−１〜５２５−ｎはアニメーションデータ５１５−１〜５１５−ｎと、それぞれ同様のデータを備えている。
ここで、ヒエラルキーデータ５２２については、身体単位毎に直接描画するためポインタを、例えば身体単位のリストに加えて記憶すること等が好適である。
加えて、プレーヤクローンオブジェクト４２０は、テクスチャデータ５１７を備えない構成とすることができる。この場合、コピーして作成したプレーヤクローンオブジェクト４２０に、所定色のテクスチャを設定することができる。この所定色のテクスチャは、例えば、例えば白や赤といった所定色のテクスチャをコピー作成前又はコピー作成後に、データフィル等にて作成することができる。また、コピー作成前又はコピー作成後に、単色のテクスチャを補助記憶部１２０から読み込んで、プレーヤクローンオブジェクト４２０に設定することもできる。
なお、プレーヤクローンオブジェクト４２０に、ヒットエフェクトオブジェクト４５０のテクスチャを設定することも可能である。この場合は、プレーヤオブジェクト４１０から必要なデータをコピーした後に、ヒットエフェクトオブジェクト４５０からテクスチャのみをコピーして設定することが好適である。
また、プレーヤクローンオブジェクト４２０についても、テクスチャデータ５１７、又はプレーヤクローンオブジェクト４２０専用のテクスチャデータを備えるように構成することも可能である。この際は、コピー作成前又はコピー作成後に、テクスチャデータを補助記憶部１２０から読み込んで、プレーヤクローンオブジェクト４２０に設定することができる。
また、プレーヤクローンオブジェクト４２０は、プレーヤオブジェクト４１０のデータをメモリ空間上に直接コピーして記憶する必要はなく、ポインタ等の形式でプレーヤオブジェクト４１０のデータを指し示すようにコピーするような構成も可能である。
【００４９】
〔ゲーム装置１０の対戦格闘処理〕
ここで、ゲーム装置１０の対戦格闘処理について詳しく説明する。
本発明の実施の形態に係る対戦格闘処理においては、プレーヤが入力部によりプレーヤキャラクタの動作や技等を指示し、ＣＰＵ１００や他の対戦相手が敵キャラクタの動作や技等を指示する。
ＣＰＵ１００は、このプレーヤからの指示（入力情報・入力信号）を検知すると、対戦格闘部３００を用いて、プレーヤキャラクタと敵キャラクタとを戦わせるように各種の処理を行う。これにより、対戦格闘（バトル）を行う。
この対戦格闘中、ＣＰＵ１００は、各キャラクタがダメージを受けた際、頭部・胴部・左腕部・右腕部・左脚部・右脚部等の各身体単位について、実時間（リアルタイム）に、衝撃をグラフィカルに表現するダメージ表現を行う。
以下で、この対戦格闘処理の全体的な処理の各ステップについて、図５のフローチャートを参照して、詳細に説明する。
【００５０】
（ステップＳ１０１）
まず、ＣＰＵ１００は、対戦格闘部３００を用いて、バトル初期化処理を行う。
具体的には、ＣＰＵ１００は、初期化処理として、まず、ＣＰＵ１００は、各構成部位の初期化を行う。
また、ＣＰＵ１００は、敵キャラクタと遭遇する演出画面を表示したり、対戦を選択する等の画面を表示してプレーヤにプレーヤキャラクタや敵キャラクタを選択させる。これにより、プレーヤは、プレーヤキャラクタ及び対戦相手の敵キャラクタを選択する。
その後、ＣＰＵ１００は、プレーヤキャラクタデータ２１０と、敵キャラクタデータ２２０とを初期化し、その他のデータについても必要なデータを初期化する。
そして、ＣＰＵ１００は、必要なデータを補助記憶部１２０から読み出して、解凍処理等を行い、各記憶部に配置する。たとえば、ＣＰＵ１００は、背景オブジェクト４６０を補助記憶部１２０から読み出してグラフィックメモリ１７０に記憶し、音声ファイルをオーディオメモリ１９０に記憶する。この際、ＣＰＵ１００は、読み込み中である「Ｎｏｗ  Ｌｏａｄｉｎｇ．．」等の画面を表示し、プレーヤを飽きさせないようにすることができる。
【００５１】
（ステップＳ１０２）
次に、ＣＰＵ１００は、対戦格闘部３００を用いて、モデル読み込み処理を行う。
具体的に、ＣＰＵ１００は、プレーヤオブジェクト４１０と敵オブジェクト４３０とを、補助記憶部１２０から読み出し、グラフィックメモリ１７０に記憶する。
この際に、ＣＰＵ１００は、プレーヤオブジェクト４１０と敵オブジェクト４３０、それぞれのデータについて、プレーヤオブジェクト４１０と敵オブジェクト４３０を、グラフィックプロセッサ１６０が描画できる形式に変換して記憶することができる。
このため、ＣＰＵ１００は、描画に最適な順番に並べ替えたり、必要なデータを演算して作成する。たとえば、各身体部位モデルのポリゴンの法線ベクトルをポリゴンの頂点の座標から計算して記憶することができる。
【００５２】
（ステップＳ１０３）
次に、ＣＰＵ１００は、対戦格闘部３００の特にクローン作成部３１０をクローン作成処理を行う。
この処理において、ＣＰＵ１００は、プレーヤオブジェクト４１０のヒエラルキーデータ５２２（図３）を作成し、各データに係る記憶領域を確保する。この際に、ＣＰＵ１００は、身体単位毎に描画できるよう、ヒエラルキーデータ５２２にポインタを加えることができる。
この上で、ＣＰＵ１００は、プレーヤオブジェクト４１０の必要なデータをコピーして、プレーヤクローンオブジェクト４２０を作成する。
そして、身体部位モデルデータ５２３−１〜５２３−ｎの各ポリゴンについて、所定色の色を設定する。この色としては、初期値として白（Ｒｅｄ：１００％、Ｇｒｅｅｎ：１００％、Ｂｌｕｅ：１００％）を設定することができる。
敵オブジェクト４３０についても、同様に敵オブジェクト４３０から敵クローンオブジェクト４４０を作成する。
なお、身体部位モデルデータ５２３−１〜５２３−ｎについて、初期値としての色設定の代わりに、ヒットエフェクトオブジェクト４５０のヒットエフェクトモデルを表示するモデルの色、テクスチャ、マテリアルを設定すること等ができる。これにより、ヒットエフェクトとダメージ表現の統一性を持たせることができ、プレーヤに演出を分かりやすく表現することができる。
【００５３】
（ステップＳ１０４）
次に、ＣＰＵ１００は、対戦格闘部３００の各部を用いて対戦／描画処理を行う。
具体的に、ＣＰＵ１００は、プレーヤによるプレーヤキャラクタの動作の指示をペリフェラルＩ／Ｆ１４０から取得し、プレーヤオブジェクト４１０の全体座標データ５１０におけるワールド座標系の座標を移動させる。この際、ＣＰＵ１００は、攻撃の指示があった場合は攻撃し、さらに指示があった場合には「技」を出し、防御の指示の場合には防御を行う等の動作をさせる。また、ＣＰＵ１００は、これらの動作に付随したアニメーションを適用する。
【００５４】
この上で、ＣＰＵ１００は、描画部３５０を用いて、各オブジェクトの描画を行うよう指示する。
この際、ＣＰＵ１００は、まず、グラフィックプロセッサ１６０に、背景オブジェクト４６０を描画するよう指示する。この描画においては、空や遠くにある背景等を描画し、ビューポイント（仮想空間における仮想視点、仮想カメラの位置）における背景オブジェクト４６０を、アニメーション等を行った上で、それぞれ描画する。このビューポイントは、座標算出部３２０を用いて、プレーヤオブジェクト４１０の全体座標データ５１０を基に算出する。
描画時には、ＺバッファやＺソート等を用いた上でオブジェクト同士の配置を適切な位置関係になるように描画する。
なお、レイトレーシング（光線追跡法）やラジオシティの計算等により描画を行うこともできる。さらに、複数の視差にて閲覧可能な三次元ディスプレイやホログラムディスプレイの表示用の描画を行うことも可能である。
【００５５】
次に、ＣＰＵ１００は、プレーヤオブジェクト４１０については、グラフィックプロセッサ１６０のジオメトリ部１６２に、オブジェクトの、主に座標データの演算を行うように指示する。これにより、ジオメトリ部１６２は、ローカル座標系において、アニメーションデータ５１５−１〜５１５−ｎのいずれかのモーション単位のデータを適用してボーンデータ５１４を変形する。この変形は、例えば行列演算を用いて行う。
この上で、ジオメトリ部１６２は、変形したボーンデータ５１４を、ヒエラルキーデータ５１２を用いて身体部位モデルデータ５１３−１〜５１３−ｎにより適用して変形する。
さらに、ジオメトリ部１６２は、スプライン関数等を用いて、ポリゴンがなめらかになるよう変形したり、より自然に見えるようにポリゴンを分割するテッセレーション等を行い、ディスプレースドマッピング等を用いて、ポリゴンのディテールを上げて表示することもできる。
【００５６】
その後、ＣＰＵ１００は、プレーヤオブジェクト４１０を描画するように、レンダリング部１６４に指示する。これにより、レンダリング部１６４は、ワールド座標系にプレーヤオブジェクト４１０を配置し、各種テクスチャ等が適用して描画する。この描画の際には、ＺバッファやＺソート等により、背景と適切な位置関係になるように描画する。
なお、このビューポイントの位置や視界範囲は、プレーヤの指示により切り換えることができる。
【００５７】
また、ＣＰＵ１００は、敵キャラクタについても、プレーヤキャラクタの動作に合わせて、α−β法等の人工知能を用いて、動作を決定し、これに合わせた動作のアニメーションを行う。この際に、ＣＰＵ１００は、選択された敵キャラクタに合わせた人工知能を用いた思考を行う。
その後、ＣＰＵ１００は、グラフィックプロセッサ１６０を用いて、プレーヤオブジェクト４１０と同様に敵オブジェクト４３０を描画する。
【００５８】
また、ＣＰＵ１００は、スプライトや板ポリゴン等の「ビルボード」を用いた各種メーター等の描画、オーディオプロセッサ１８０から効果音やＢＧＭ等の音声の出力についても行う。
【００５９】
（ステップＳ１０５）
次に、ＣＰＵ１００は、プレーヤキャラクタ又は敵キャラクタが攻撃を行っていた場合、対戦格闘部３００のヒット判定部３２５を用いてヒット判定処理（ヒット検出処理）を行う。
まず、ＣＰＵ１００は、攻撃を行った側（攻撃側）のプレーヤキャラクタである場合、プレーヤオブジェクト４１０の全体座標データ５１０が、敵オブジェクト４３０と所定距離内、具体的には、身体部位が接触する可能性がある範囲内にあるか否かを算出する。
敵オブジェクト４３０が所定範囲内にあった場合、ＣＰＵ１００は、攻撃を行った身体部位に対応する身体部位モデルデータ５１３−１〜５１３−ｎ及び剣やナイフ等の付随するオブジェクトと、敵オブジェクト４３０の身体部位のポリゴンの座標がワールド座標系にて交差しているか所定の攻撃範囲内に近接している場合、ヒットしたと検出する。ＣＰＵ１００は、この演算を高速に行うため、当たり判定用のオブジェクトを用いてもよい。
また、ヒットの検出時に、敵オブジェクト４３０のどの身体部位にヒットしたかを検出する。
攻撃を行ったのが敵キャラクタである場合にも、ＣＰＵ１００は、プレーヤオブジェクト４１０に対して、同様のヒットの検出を行う。
【００６０】
（ステップＳ１０６）
次に、ＣＰＵ１００は、上述のヒット判定処理において、攻撃がヒットしたか否かを判定する。つまり、いずれかの攻撃を行った側のオブジェクトと、攻撃を受けた側の身体部位とが接触していた場合、Ｙｅｓと判定し、それ以外の場合にはＮｏと判定する。
Ｙｅｓの場合、ＣＰＵ１００は、処理をステップＳ１０７に進める。
Ｎｏの場合、ＣＰＵ１００は、処理をステップＳ１０８に進める。
【００６１】
（ステップＳ１０７）
攻撃がヒットした場合、ＣＰＵ１００は、対戦格闘部３００を用いて、ダメージ表現処理を行う。
このダメージ表現処理において、ＣＰＵ１００は、攻撃がヒットした側のクローンオブジェクトを、身体単位にて、身体から攻撃方向に離れて拡大して消えるような表現を行う。この際、各身体部位のダメージから身体単位でのダメージを求め、色を変更する等の表現を行って表示する。
このようなダメージ表現を行うことで、本実施形態においては、ヒットポイントそのものをメーター表示するといった従来のダメージ表現を行わなくても、適切にプレーヤがプレーヤキャラクタや敵キャラクタのダメージを推測することができる。よって、ゲームの臨場感やゲーム性を高めることができる。
このダメージ表現処理の詳細については後述する。
【００６２】
（ステップＳ１０８）
次に、ＣＰＵ１００は、対戦格闘部３００のダメージ算出部３３０を用いて、ヒットポイントが０以下になったか否かを判定する。このヒットポイントは、プレーヤキャラクタの場合、プレーヤキャラクタデータ２１０の身体部位ダメージデータ２１３−１〜３１３−ｎのダメージ値により判定することができる。すなわち：
ヒットポイント  ＝  所定値  −  身体部位ダメージデータ２１３−１〜３１３−ｎのダメージ値の合計  ……  式（１）
この式（１）の所定値としては、ダメージ値の合計の最大値等を用いることができる。
ＣＰＵ１００は、このヒットポイントの値が０以下になった場合、Ｙｅｓと判定する。これとは別に、例えば、頭部のような所定の身体単位のダメージ値が所定値以上になった場合には、Ｙｅｓと判定するように設定することもできる。それ以外の場合にはＮｏと判定する。
Ｙｅｓの場合、ＣＰＵ１００は、処理をステップＳ１０９に進める。
Ｎｏの場合、ＣＰＵ１００は、処理をステップＳ１０４に戻して、対戦格闘の各処理を続ける。
【００６３】
（ステップＳ１０９）
ヒットポイントが０以下になった場合、ＣＰＵ１００は、対戦格闘部３００を用いてバトル終了処理を行う。
具体的に、ＣＰＵ１００は、負けた方のキャラクタが倒れたり目を回したりするようなアニメーションを行い、勝った方のキャラクタがガッツポーズをする等のアニメーションを行い、「ＹＯＵ  ＷＩＮ」（勝ち）の文字を表示する等、対戦格闘が終了した旨の画面を表示する。
ここで、プレーヤキャラクタが負けてゲームオーバーの場合には、ゲームオーバー画面を表示する。逆に、プレーヤキャラクタが勝った場合には、対戦格闘処理以外のゲーム処理や別の対戦格闘処理を行う。
その後、敵オブジェクト４３０や敵クローンオブジェクト４４０、背景オブジェクト４６０等、次のバトルにおいて使用しないデータをグラフィックメモリ１７０から解放、消去する。
以上により対戦格闘処理を終了する。
【００６４】
〔ゲーム装置１０のダメージ表現処理〕
ここで、図６〜図９Ｂを参照して、ダメージ表現処理の詳細について説明する。
本発明の実施の形態に係るダメージ表現処理においては、上述したように、プレーヤクローンオブジェクト４２０や敵クローンオブジェクト４４０の身体単位が、攻撃の向きに押し出されて身体から離れてゆくような表現を行う。この処理は、ＣＰＵ１００が、対戦格闘部３００の各部を用いて行う。
以下、このダメージ表現処理の具体的な処理内容の詳細について、図６のフローチャートを参照して説明する。
【００６５】
（ステップＳ２０１）
まず、ＣＰＵ１００は、対戦格闘部３００のヒット判定部３２５を用いて、ダメージ方向算出処理を行う。
図７の平面図を参照して、敵オブジェクト４３０の攻撃がプレーヤオブジェクト４１０にヒットした例について説明する。
ここでは、敵オブジェクト４３０は、「パンチ」の技を選んでおり、左腕部がプレーヤオブジェクト４１０の身体部位モデルデータ５１３−３にヒットしている。
ここで、ＣＰＵ１００は、敵オブジェクト４３０の左腕部の移動方向と、プレーヤオブジェクト４１０の身体部位モデルデータ５１３−３とのワールド座標系でのＸ、Ｙ、Ｚ軸における角度を算出する。この上で、ＣＰＵ１００は、算出したワールド座標系の角度から、プレーヤオブジェクト４１０のローカル座標系の中心点を基準としたＸ、Ｙ、Ｚ軸における角度として、ダメージを受けた方向（ダメージ方向）を算出することができる。
【００６６】
なお、攻撃が投げ技を使って行われた場合、ヒットの方向そのものではなく、落とされた際の地面との角度を算出する。すなわち、ＣＰＵ１００は、プレーヤクローンオブジェクト４２０が背景オブジェクト４６０の地面に落とされた際に、身体部位モデルデータ５１３−１〜５１３−ｎの移動方向と、当該身体部位と接触した地面メッシュデータの地面や地形の角度とをワールド座標系でのＸ、Ｙ、Ｚ軸における角度にて算出する。この算出したワールド座標系の角度から、同様にローカル座標系のＸ、Ｙ、Ｚ軸における角度となるダメージ方向を算出することができる。
また、同様に、背景オブジェクト４６０の壁や固定物等のオブジェクトにプレーヤオブジェクト４１０が打ち付けられた際には、地面の場合と同様に、打ち付けられた身体部位の移動方向と、当該壁や固定物等のオブジェクトとのワールド座標系でのＸ、Ｙ、Ｚ軸における角度を算出する。これによりローカル座標系のＸ、Ｙ、Ｚ軸における角度となるダメージ方向を算出することができる。
【００６７】
なお、敵オブジェクト４３０についても、同様のダメージ方向の算出を行うことができる。
また、上述の説明では、身体部位単位でのダメージ方向の算出について説明したが、身体単位でダメージ方向を算出しても、キャラクタオブジェクト全体についてのダメージ方向を算出してもよい。
さらに、より単純には、ヒットしたキャラクタオブジェクトのローカル座標系にて後方の角度をダメージ方向として算出することもできる。
【００６８】
（ステップＳ２０２）
次に、ＣＰＵ１００は、ヒット判定部３２５を用いて、ダメージ身体単位算出処理を行う。
この処理は、身体部位から、クローンによりダメージ表現を行う身体単位を決定するために行う。このため、ＣＰＵ１００は、ヒエラルキーデータ５１２の身体部位のリストを用いて、ヒットした身体部位が、どの身体単位に属するのかを検索する。
図７の例では、ＣＰＵ１００は、ヒットされたプレーヤオブジェクト４１０の身体部位モデルデータ５１３−３は「ボディ」に係る身体部位であり、身体単位としては胴部にあたることを検索する。
【００６９】
（ステップＳ２０３）
次に、ＣＰＵ１００は、対戦格闘部３００のダメージ算出部３３０を用いて、ダメージ値算出処理を行う。
具体的に、ＣＰＵ１００は、上述のダメージ方向算出処理により得られたダメージの方向と速度、技の強さ、防御のタイミング、ヒットされた身体部位のダメージへの耐久度、衣服等の防御力等から、ヒットされた身体部位のダメージ値を算出する。
プレーヤオブジェクト４１０がヒットされた場合、ＣＰＵ１００は、このダメージ値を、プレーヤキャラクタデータ２１０の、対応する身体部位ダメージデータ２１３−１〜２１３−ｎに加える。敵オブジェクト４３０がヒットされた場合にも、同様にダメージ値を算出して、敵キャラクタデータ２２０の身体部位ダメージデータに加える。
その後、ＣＰＵ１００は、算出された身体部位のダメージ値を合計や最大値を求める等して、ヒットされた身体単位のダメージ値をさらに算出する。
なお、ＣＰＵ１００は、この処理にて算出した身体単位でのダメージ値から、ヒットポイントを計算することもできる。
【００７０】
（ステップＳ２０４）
次に、ＣＰＵ１００は、対戦格闘部３００の座標算出部３２０を用いて、移動量・拡大率算出処理を行う。
以下において、本実施形態に係るプレーヤオブジェクト４１０は、ローカル座標系のＸ、Ｙ、Ｚ軸を基準とし、ヒットを表現するアニメーションにおいて、ボーンデータ５１４の中心を表す部位であるヒップの身体部位モデルデータ５１３−４の中心と定めた座標（ヒップの座標）を中心として説明する。
ここでは、まず、ダメージ方向算出処理において、ローカル座標系において算出されたダメージ方向から、ローカル座標系におけるボーンの移動量となるＸ軸上の移動量ｘ、Ｚ軸上の移動量ｚを用いて、時間ｔに係る移動量であるｘ'，ｚ'を算出する。
この上で、時間ｔに従って線形的に値を増幅する関数：
［ｘ'  ｚ'］  ＝  ｆ（ｘ，ｚ，ｔ）  ……  式（２）
により、移動後の座標であるｘ'，ｚ'を求める。このｘ'，ｚ'は、後述するように、プレーヤクローンオブジェクト４２０のボーンデータ５２４のヒップの座標に適用する。
【００７１】
また、オブジェクトの拡大率、透明度等を示す係数ａについて、時間ｔに従って値を増幅する関数：
ａ  ＝  ｆ（ｔ）  ……  式（３）
により求める。
なお、拡大率、透明度は別々の係数を、別々の関数にて求めることもできる。
【００７２】
また、時間ｔに関しては、アニメーションの１つのモーションが表示される単位の所定時間を用いることができる。
たとえば、１モーションが１／１５秒で表示される場合には、この１／１５秒を時間間隔の単位として求めることができる。
また、図５の対戦／描画処理（ステップＳ１０４）を１回行う１フレームの時間間隔を単位として求めることもできる。たとえば、１フレームが１／６０秒であった場合、時間ｔを１／６０秒にすることができる。
【００７３】
なお、敵オブジェクト４３０についても、同様の演算を行って、移動後の座標ｘ'，ｚ'と、拡大率、色の変化量等を示す係数ａを算出することができる。
【００７４】
（ステップＳ２０５）
次に、ＣＰＵ１００は、座標算出部３２０を用いて、ダメージアニメーション処理を行う。
具体的に、ＣＰＵ１００は、ヒットされたプレーヤクローンオブジェクト４２０又は敵クローンオブジェクト４４０のボーンデータ５２４等に時間ｔに係るアニメーションのモーションを適用する。
この際、ＣＰＵ１００は、ダメージ値算出処理（ステップＳ２０３）において算出されたダメージ値により異なるアニメーションを適用する。たとえば、ダメージ値が大きい、すなわち強くダメージを受けた場合には大きくよろめくアニメーションを行う。逆に、ダメージ値が小さい場合には、少し身体が傾くようなアニメーションを行う。つまり、大きいダメージ値の方が、ボーンに適用する座標変化が大きなアニメーションを用いる。
言い換えれば、このアニメーションの適用として、ＣＰＵ１００は、例えば、プレーヤオブジェクト４１０がヒットされたと判断した場合、ダメージ値算出処理（ステップＳ２０３）において算出されたダメージ値により、異なるアニメーションデータ５１５−１〜５１５−ｎを選択する。すなわち、ボーンデータ５１４の行列に、選択されたアニメーションデータ５１５−１〜５１５−ｎのいずれかのうち、時間ｔに係るモーションの行列を設定することで行う。
【００７５】
なお、敵オブジェクト４３０がヒットされた場合は、敵クローンオブジェクト４４０について、同様の処理を行う。
また、このダメージ値によるアニメーションは、プレーヤオブジェクト４１０又は敵オブジェクト４３０の全身について、ステップＳ１０４の対戦／描画処理（図５）を行う際にも適用する。
この際に、プレーヤオブジェクト４１０又は敵オブジェクト４３０と、プレーヤクローンオブジェクト４２０又は敵クローンオブジェクト４４０との間で、異なるアニメーションを適用してもよい。
また、アニメーションのモーションの時間ｔをずらして表現することもできる。たとえば、プレーヤオブジェクト４１０のボーンデータ５１４には、時間ｔのアニメーションのモーションを適用し、プレーヤクローンオブジェクト４２０のボーンデータ５２４には、時間（ｔ＋所定時間）のアニメーションのモーションを適用することができる。
これにより、キャラクタオブジェクトとクローンオブジェクトとで時間的に異なる動きを表現させることができ、モーションブラー（ｍｏｔｉｏｎ  ｂｌｕｒ）のような動きを２つのオブジェクトの描画という軽い処理でプレーヤに感じさせることができ、ゲームの演出性を高めることができる。
【００７６】
（ステップＳ２０６）
次に、ＣＰＵ１００は、座標算出部３２０を用いて、クローンオブジェクトに対するワールド座標算出処理を行う。
ＣＰＵ１００は、上述の移動量・拡大率算出処理にて求めたｘ'，ｚ'を、プレーヤクローンオブジェクト４２０又は敵クローンオブジェクト４４０のダメージ表現を行う身体単位について、アニメーションのモーションの適用後のローカル座標に加算するよう、グラフィックプロセッサ１６０が当該身体単位を描画する際の座標変換用の行列に設定する。
このローカル座標への加算については、プレーヤクローンオブジェクト４２０の場合、上述のヒップの座標を求めた身体単位のボーンデータ５２４とアニメーションデータ５２５−１〜５２５−ｎのアニメーションのモーションを適用した座標について行う。
その後、加算されたローカル座標によりワールド座標系に変換する演算を行うようにワールド変換行列を設定する。
これにより、クローンオブジェクトの身体単位のワールド座標系の値を求めることができる。
なお、敵クローンオブジェクト４４０においても同様の処理を行う。
【００７７】
（ステップＳ２０７）
次に、ＣＰＵ１００は、ワールド変換行列により計算される、クローンオブジェクトの移動後のワールド座標系の座標が背景オブジェクト４６０における地面の下になっているか否か判定する。主に投げ技のヒットを受けた場合、移動後の座標が地面の下になることがあるためである。この判定は、クローンオブジェクトのワールド座標系の座標について、地面の座標とヒップの座標の位置関係を算出し、背景オブジェクト４６０において地面として設定されるワールド座標系での座標とを比較し、所定値よりも下になっている場合、Ｙｅｓと判定する。また、ＣＰＵ１００は、背景オブジェクト４６０の地面メッシュデータの地面や地形の座標と比較し、所定値よりも下になっている場合、Ｙｅｓと判定することもできる。それ以外の場合、Ｎｏと判定する。
Ｙｅｓ、すなわち移動後の座標が地面の下である場合、ＣＰＵ１００は、処理をステップＳ２０８に進める。
Ｎｏの、すなわち移動後の座標が地面の下ではない場合、ＣＰＵ１００は、処理をステップＳ２０９に進める。
【００７８】
（ステップＳ２０８）
ＣＰＵ１００は、移動後の座標が地面の下である場合、対戦格闘部３００の座標算出部３２０を用いて移動値調整処理を行う。
具体的には、ＣＰＵ１００は、ｘ'，ｚ'を適用したワールド座標系の座標が、背景オブジェクト４６０において地面として設定されるワールド座標系における座標に対して、所定値より下にならないように設定する。また、ＣＰＵ１００は、背景オブジェクト４６０の地面メッシュデータの地面や地形のワールド座標系における座標に対して、所定値より下にならないように設定することもできる。
この上で、拡大率を大きくするよう、座標変換用の行列に設定する。この際、上述の係数ａについては、変更せず、レンダリング時の行列のみ変更して設定する。
これにより、ヒットされたキャラクタに係るクローンオブジェクトの身体単位が地面よりあまり下に描画されることがなく、深さバッファ（Ｚバッファ）により描画されないといった描画のトラブルを防ぐことができる。
【００７９】
（ステップＳ２０９）
次に、ＣＰＵ１００は、対戦格闘部３００のカラー変更部３４０を用いて、カラー変更処理を行う。
具体的に、ＣＰＵ１００は、算出された身体単位のダメージ値を用いて、ヒットされたキャラクタに係るクローンオブジェクトの身体単位の各ポリゴンのカラーを変更する。
この処理としては、例えば、プレーヤキャラクタがヒットされた側である場合、身体単位のダメージ値を用いて、プレーヤキャラクタデータ２１０の身体部位ダメージデータ２１３−１〜２１３−ｎに対応して身体単位のカラーを変化させる。
たとえば、ＣＰＵ１００は、身体単位のダメージ値の値に対応して白（Ｒｅｄ：１００％、Ｇｒｅｅｎ：１００％、Ｂｌｕｅ：１００％）から赤（Ｒｅｄ：１００％、Ｇｒｅｅｎ：０％、Ｂｌｕｅ：０％）になるよう段階的又は無段階的に変化させることができる。
なお、この身体単位の各ポリゴンのカラーについては、時間ｔの経過に従って、設定した色から別の所定色になるように変化させるといった演出を行うことも可能である。
【００８０】
（ステップＳ２１０）
次に、ＣＰＵ１００は、描画部３５０を用いて、ヒットエフェクト描画処理を行う。
具体的に、ＣＰＵ１００は、ヒットエフェクトオブジェクト４５０をレンダリングするよう、グラフィックプロセッサ１６０のレンダリング部１６４に指示する。
この際、ＣＰＵ１００は、ヒット箇所から所定距離離れた箇所等にヒットエフェクトを描画させる。ＣＰＵ１００は、この場合、ヒットエフェクトオブジェクト４５０が半透明で光るように描画させて、見た目が派手やかな演出をしてもよい。さらに、ヒット箇所から衣服の破片や体液等が飛び散るような描写をしてもよい。
加えて、ＣＰＵ１００は、プレーヤオブジェクト４１０又は敵オブジェクト４３０が光ったり、炎を出すような闘う気力を表現するヒットエフェクトを描写するようレンダリング部１６４に指示することもできる。
【００８１】
（ステップＳ２１１）
次に、ＣＰＵ１００は、描画部３５０を用いて、透明度設定処理を行う。
具体的に、ＣＰＵ１００は、この透明度（アルファブレンド値）について、上述の時間ｔに係る係数ａの値を用いて、ヒットされたキャラクタに係るクローンオブジェクトの身体単位の透明度が時間ｔに比例して高まるような値を算出する。すなわち、ヒットされたキャラクタに係るクローンオブジェクトの身体単位は、時間ｔに従って透明になるように設定する。
これにより、所定時間が経過すると、クローンオブジェクトの身体単位が画面上で見えなくなるため、身体単位の描画に不自然さが少なくなるという効果が得られる。また、完全に透明になった時間ｔで身体単位の描画を終了できるため、描画の処理を処理を軽くできる。
なお、この透明度は、時刻ｔが少ない値の時に完全に透明にして、それから不透明度が高くなり、その後透明になるといった処理を行うこともできる。また、点滅させるように透明度を変更することもできる。
【００８２】
（ステップＳ２１２）
次に、ＣＰＵ１００は、描画部３５０を用いて、クローン描画処理を行う。
具体的には、ＣＰＵ１００は、ヒットされたキャラクタに係るクローンオブジェクトの表示すべき身体単位を描画するよう、グラフィックプロセッサ１６０のレンダリング部１６４に指示する。
この際、描画するクローンオブジェクトの身体部位について、上述のカラーと透明度を設定して描画する。
描画の際には、単に半透明に描画するのではなく、例えば、レンダリングする身体単位を光らせるような明度の加算処理を行うこともできる。これにより、クローンオブジェクトを他のオブジェクトに埋没させることなく目立たせて表示できる。
【００８３】
ここで、図８Ａ〜図９Ｂを参照して、具体的なクローン描画処理について説明する。
図８Ａは、敵オブジェクト４３０の「パンチ」の技による攻撃が、プレーヤオブジェクト４１０のヒップの身体部位モデルデータ５１３−４にヒットした画面例を示している。この結果として、プレーヤクローンオブジェクト４２０の身体単位として胴部の身体部位モデルデータ５２３−３、５２３−４が、ヒットされた方向に、ダメージ表現として描画されている。
図８Ｂは、図８Ａのヒットより時間ｔが経過した例について示している。時間ｔの経過後に、胴部の身体部位モデルデータ５２３−３、５２３−４が、より後方に少し拡大されて、ダメージ表現として描画されている。また、プレーヤオブジェクト４１０は、アニメーションのモーションが進んでいることも分かる。
図９Ａは、敵オブジェクト４３０の「キック」の技による攻撃が、プレーヤオブジェクト４１０のボディの身体部位モデルデータ５１３−３にヒットした画面例を示している。この場合でも、身体単位として胴部の身体部位モデルデータ５２３−３、５２３−４が、ヒットされた方向に、ダメージ表現として描画されている。また、キックの技の方が与えるダメージが大きいため、より明るいヒットエフェクトオブジェクト４５０が描画されている。
図９Ｂは、図９Ａのヒットより時間ｔが経過した例である。ここでも、胴部の身体部位モデルデータ５２３−３、５２３−４が、より後方に少し拡大されて、ダメージ表現として描画され、アニメーションのモーションが進んでいる。
【００８４】
なお、描画の際には、単純に白い色の身体単位を描画するのではなく、シェーダーを用いて、例えば、ガウスフィルタ等で輪郭をぼやかすように表示するような処理を行うこともできる。
また、このダメージ表現に対応して、オーディオプロセッサ１８０は、効果音やＢＧＭを送出する。これに加えて、例えば、ヒットされた側のキャラクタが持ち物を落としたり、背景オブジェクト４６０が壊れたりといった付随的な処理を行うことができる。
以上により、ダメージ表現処理を終了する。
【００８５】
以上のように構成することで、以下のような効果を得ることができる。
上述したように、従来技術１のゲーム装置においては、単にダメージを受けた／与えた回数に応じて、次のターン等でキャラクタ描画時の画像の表現を変化させることができるだけであった。
このため、プレーヤが攻撃自体を敵キャラクタに与えた／敵キャラクタから受けた衝撃であるかを知ることが難いという問題があった。
これに対して、本発明の実施の形態に係るゲーム装置１０においては、ヒットされたクローンオブジェクトの身体単位が描画されることにより、ダメージを視覚的、グラフィカルに表現できる。よって、プレーヤが攻撃自体を敵キャラクタに与えたのか、敵キャラクタから攻撃を受けたのかについて、容易に知ることができる。
さらに、本発明の実施の形態に係るゲーム装置１０においては、プレーヤキャラクタと敵キャラクタとについて、別々に身体単位毎に描画することができる。このため、プレーヤオブジェクト４１０と敵オブジェクト４３０それぞれについて、別々のモーションのダメージ表現処理を行うことができる。よって、プレーヤが攻撃自体を敵キャラクタに与えたのか、敵キャラクタから攻撃を受けたのかについて、分かりやすいという効果が得られる。
【００８６】
また、従来は、モーションブラーの表現として、１画面を描画するために、モーションの異なる複数の描画済み画面を時間的に重ねて表示する、すなわち一度に複数の画面の全体をレンダリングして重ねるといった非常に処理の負担が重い処理を行っていた。
これに対して、本発明の実施の形態に係るゲーム装置１０においては、ヒットされたクローンオブジェクトの身体単位毎に描画する。これにより、１つのクローンオブジェクトの身体単位のみの描画にて、モーションブラーのようにヒットの際の動きを感じさせるような演出を行うことができる。よって、従来のモーションブラーの表現のような重い処理を行う必要がない。また、クローンオブジェクトのバッファのみを用意すれば良いため、複数画面描画用のバッファも必要ない。よって、グラフィックプロセッサ１６０の回路規模が限られている携帯用ゲーム装置についても適用でき、コストを低減できる。
また、プレーヤキャラクタと敵キャラクタだけにダメージ表現を行い、他の背景オブジェクト４６０等はモーションブラーのような効果をさせないことができる。これにより、ダメージ表現として分かりやすい。
【００８７】
また、本発明の実施の形態に係るゲーム装置１０においては、ヒットされたクローンオブジェクトの身体単位が、ヒットからの時間ｔにより、離れ、拡大し、透明度が高くなるように描画する。これにより、ヒットにおける演出性を高めることができ、バトルのゲーム性を高めることができる。
また、本発明の実施の形態に係るゲーム装置１０においては、ダメージ値が大きい場合、身体のアニメーションのモーション動き（座標変化）が大きくなるため、より遠くにオブジェクトの身体単位を描画することができ、ダメージが分かりやすい。
また、本発明の実施の形態に係るゲーム装置１０においては、ヒットされたクローンオブジェクトの身体単位について、蓄積したダメージ値により色を変化させて表現する。これにより、各身体単位のダメージについて分かりやすく表現できる。よって、ヒットポイントをメーター等にて描画しなくても、勝ち負けに係るダメージについて推測、理解しやすいという効果が得られる。
また、本発明の実施の形態に係るゲーム装置１０においては、単一の身体部位ではなく、攻撃する動作に関わるいくつかの身体単位をヒエラルキーから選択して表示することで、より分かりやすくダメージを表現することができる。
また、本発明の実施の形態に係るゲーム装置１０においては、ヒットされたクローンにはテクスチャを貼らないか単色のテクスチャかヒットエフェクト用のテクスチャを用いることができる。これにより、身体単位のテクスチャや衣服の色合い等に関わらず、ダメージを分かりやすく表現できる。また、身体がダメージを受けているという感覚を、より視覚的に表現することができる。
【００８８】
また、本発明の実施の形態に係るゲーム装置１０においては、キャラクタの部位毎にダメージ表現を行うゲーム装置において、プレーヤオブジェクト４１０又は敵オブジェクト４３０のコピーを含むクローンオブジェクトであるプレーヤクローンオブジェクト４２０又は敵クローンオブジェクト４４０を作成するクローン作成部３１０、プレーヤオブジェクト４１０又は敵オブジェクト４３０に攻撃が当たった際の身体部位を算出するヒット判定部３２５、算出されたプレーヤクローンオブジェクト４２０又は敵クローンオブジェクト４４０の身体部位を、攻撃が当たった時間の経過に従って、プレーヤオブジェクト４１０又は敵オブジェクト４３０からローカル座標系において離れるように移動値調整を行う座標算出部を備えることを特徴とする。
【００８９】
なお、上述の実施の形態のダメージ表現方法においては、プレーヤオブジェクト４１０又は敵オブジェクト４３０に対して、クローンオブジェクトを、それぞれ１つ用意するように説明したが、これに限られない。たとえば、複数のクローンオブジェクトを用意し、それぞれが時間ｔの経過により異なるモーションを取るように設定することができる。これにより、あたかもモーションブローのような効果を実現でき、より演出性を高めることができる。このような処理に対して、さらにシェーダーを用いてぼかして複数レンダリングするようなモーションブローの効果を付加して派手に描画することもできる。さらに、ヒットした「技」により、描画するクローンオブジェクトの数を変化させるといった演出上の変化を伴わせることもできる。
さらに、上述の実施の形態のダメージ表現方法においては、クローンオブジェクトについて、身体単位で描画を行うように説明した。しかしながら、身体部位モデルデータ単位で描画したり、クローンオブジェクトの全体の単位で描画するように構成してもよい。全体の単位で描画する場合は、ダメージを受けた身体単位のみ色を変化させるといった演出も可能である。さらに、ヒットされた側のクローンオブジェクトの身体単位に加えて、ヒットした側の身体単位がヒットされた側を突き抜けて表示されるように構成してもよい。
また、ダメージ表現において、ｘ'，ｚ'を単純に移動するのでなく、クローンオブジェクトを変形して浮き出すように構成することもできる。さらに、ｘ'，ｚ'だけでなく、ｙ’（Ｙ軸方向）についても、浮き出すように構成することもできる。また、ヒットの方向そのものではなく、ヒットされたことにより変化した身体の方向に付随して浮き出すように描画してもよい。これにより、ヒットされて身体が回転するような演出にも対応できる。
また、ダメージ表現の際、クローンオブジェクトの身体単位について、色を変化させるのではなく、点滅や明度／彩度の変化等で演出することもできる。たとえば、身体単位のダメージ値の大きさにより、身体単位の明るさがどんどん暗くなっていくように表現できる。また、式（２）や式（３）の関数にダメージ値を与えるようにして、例えば、ダメージ値により、ｘ'，ｚ'をより大きくしたり、拡大率を大きくしたりといった演出を行うようにして表現することもできる。
また、プレーヤキャラクタの身体部位ダメージデータ２１３−１〜２１３−ｎの合計が所定値以上に大きくなってきたとき、すなわち全体のダメージ値であるヒットポイントが少なくなってきたときは、画面全体の色を赤くする等の表現にて、負けが近いことを知らせるように表現することもできる。
また、１つのクローンオブジェクトの身体単位が表示されている際に、別の攻撃がヒットした場合には、クローンオブジェクトの身体単位の表示を当該別の攻撃に合わせて表示し直すことができる。また、前の攻撃の時間ｔが所定時間経過するまで、クローンオブジェクトの身体単位を表示しつづけるように描画することもできる。これにより、攻撃のスピードに沿ったダメージ表現の演出が可能になる。
【００９０】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【産業上の利用可能性】
【００９１】
本発明のゲーム装置は、ダメージ表現に係る演出が分かりやすく、ゲーム性を高められるため、各種ゲーム装置に適用でき、産業上利用可能性がある。
【符号の説明】
【００９２】
１０  ゲーム装置
１００  ＣＰＵ
１１０  主記憶部
１２０  補助記憶部
１３０  ＢＩＯＳ
１４０  ペリフェラルＩ／Ｆ
１５０  バスアービタ
１６０  グラフィックプロセッサ
１６２  ジオメトリ部
１６４  レンダリング部
１７０  グラフィックメモリ
１７５  ビデオＢＩＯＳ
１８０  オーディオプロセッサ
１９０  オーディオメモリ
２００  通信Ｉ／Ｆ
２１０  プレーヤキャラクタデータ
２１１  キャラクタ属性データ
２１２  技データ
２１３−１〜２１３−ｎ  身体部位ダメージデータ
２２０  敵キャラクタデータ
３００  対戦格闘部
３１０  クローン作成部
３２０  座標算出部
３２５  ヒット判定部
３３０  ダメージ算出部
３４０  カラー変更部
３５０  描画部
４１０  プレーヤオブジェクト
４２０  プレーヤクローンオブジェクト
４３０  敵オブジェクト
４４０  敵クローンオブジェクト
４５０  ヒットエフェクトオブジェクト
４６０  背景オブジェクト
５１０、５２０  全体座標データ
５１２、５２２  ヒエラルキーデータ
５１３−１〜５１３−ｎ、５２３−１〜５２３−ｎ  身体部位モデルデータ
５１４、５２４  ボーンデータ
５１５−１〜５１５−ｎ、５２５−１〜５２５−ｎ  アニメーションデータ
５１７  テクスチャデータ
【図１】
0005527089.tif 000002
【図２】
0005527089.tif 000003
【図３】
0005527089.tif 000004
【図４】
0005527089.tif 000005
【図５】
0005527089.tif 000006
【図６】
0005527089.tif 000007
【図７】
0005527089.tif 000008
【図８Ａ】
0005527089.tif 000009
【図８Ｂ】
0005527089.tif 000010
【図９Ａ】
0005527089.tif 000011
【図９Ｂ】
0005527089.tif 000012