説明

ゲーム装置の制御プログラム、記憶媒体、ゲーム装置の制御方法、及びゲーム装置

【課題】ダメージ表現の分かりやすいゲーム装置を提供する。
【解決手段】キャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置を用いる。クローン作成部310は、プレーヤオブジェクト410又は敵オブジェクト430のコピーを含むクローンであるプレーヤクローンオブジェクト420又は敵クローンオブジェクト440を作成する。また、ヒット判定部325は、プレーヤオブジェクト410又は敵オブジェクト430に攻撃が当たった際の身体部位を算出する。更に、座標算出部を320は、算出された身体部位を、攻撃が当たった時間の経過に従って、プレーヤオブジェクト410又は敵オブジェクト430からローカル座標系において離れるように移動値調整を行う。これにより、プレーヤオブジェクト410又は敵オブジェクト430のいずれの攻撃かが分かりやすいダメージ表現を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置の制御プログラム、記憶媒体、ゲーム装置の制御方法、及びゲーム装置に関する。
【背景技術】
【0002】
従来より、プレーヤが移動や動作等を指示(操作)するキャラクタ(以後、「プレーヤキャラクタ」という。)と、別のプレーヤまたはコンピュータが操作するキャラクタ(以後、「敵キャラクタ」という。)との間で、所定のルールに従って攻撃と防御が行われ、プレーヤキャラクタと敵キャラクタとが、互いに相手の体力値であるヒットポイントをゼロにすることを勝利の条件として戦いを行う、対戦格闘ゲームと言われるゲームが存在する。
従来の対戦格闘ゲームにおいては、ヒットポイントは、敵キャラクタからの攻撃を身体のどの部位に受けたかなどを一切考慮せず、そのダメージの大きさのみに応じて減らすようになっている。
【0003】
ここで、従来のコンシューマ用ビデオゲーム装置や業務用ビデオゲーム装置(以下、ゲーム装置という。)として、特許文献1を参照すると、種々の動作を実行可能なキャラクタの部位毎にキャラクタの状態を規制する状態規制情報を記憶する記憶手段と、キャラクタに対しダメージが加わった場合に、ダメージを受けた部位を特定する部位特定手段と、部位特定手段により特定された部位に対応する上記状態規制情報を上記記憶手段から読み出して、当該状態規制情報に基づいてキャラクタの表示制御を行う表示制御手段とを備えることを特徴とするゲーム装置が記載されている(以下、従来技術1とする。)。
この従来技術1のゲーム装置によると、プレーヤは、ゲーム中に画面上の他の部分に気を散らされることなく、キャラクタの動きのみに集中して、ゲームを楽しむことができる。また、ダメージを受けた部位の状態をダメージの回数や大きさによって段階的に変化させることができる。したがって、たとえば対戦格闘ゲームにおいて、攻撃や防御などの動作に現実味を持たせることが可能となり、プレーヤは、より戦略的かつ緊迫したゲームを楽しむことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−107454号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の対戦格闘ゲームを実行するゲーム装置においては、キャラクタの身体の部位が攻撃を受けた回数に応じて、テクスチャ等を変化させ、キャラクタの描画時の見た目を変化させるだけであった。
このため、プレーヤが攻撃をした際にその攻撃が敵キャラクタに当たったのか、逆に敵キャラクタから攻撃を受けた際にその攻撃がプレーヤキャラクタに当たったのかについての判別が難しかった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、上述の課題を解消することを目的とする。
【課題を解決するための手段】
【0007】
本発明のゲーム装置の制御プログラムは、仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置の制御プログラムにおいて、前記ゲーム装置の制御部を、前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位について攻撃があった身体部位を判定するヒット判定部、算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部として機能させることを特徴とする。
本発明の記憶媒体は、請求項1記載の制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であることを特徴とする。
本発明のゲーム装置の制御方法は、仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、前記ゲーム装置の制御部が、前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部、算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部として機能するように制御することを特徴とする。
本発明のゲーム装置は、仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部と、前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部と、算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部とを備えることを特徴とする。
本発明のゲーム装置は、前記座標算出部は、更に前記クローンオブジェクトの前記身体部位を、前記時間の経過に従って拡大するよう移動値調整を行うことを特徴とする。
本発明のゲーム装置は、前記座標算出部は、前記移動値調整を、ヒエラルキーにて前記身体部位をまとめた身体単位毎に行うことを特徴とする。
本発明のゲーム装置は、前記キャラクタオブジェクトの身体部位毎のダメージ値を算出するダメージ算出部と、前記ダメージ値に従って、前記身体部位のカラーを変化させるカラー変更部とを更に備えることを特徴とする。
本発明のゲーム装置は、前記クローンの前記身体部位を、前記時間の経過に従って透明になるように描画する描画部を更に備えることを特徴とする。
【発明の効果】
【0008】
本発明によればクローンオブジェクトの身体部位を、攻撃が当たった時間の経過に従って、キャラクタオブジェクトからローカル座標系において離れるように移動値調整して描画することで、敵キャラクタに当てた又は敵キャラクタから攻撃を受けたかについての判別が分かりやすく、ゲーム性を高められるゲーム装置を提供することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態に係るゲーム装置10の制御ブロック図である。
【図2】本発明の実施の形態に係る主記憶部110のプレーヤキャラクタデータ210の構成を示す概念図である。
【図3】本発明の実施の形態に係るグラフィックメモリ170のプレーヤオブジェクト410とプレーヤクローンオブジェクト420の構成を示す概念図である。
【図4】本発明の実施の形態に係るプレーヤオブジェクト410の各部位とボーンの概念図である。
【図5】本発明の実施の形態に係るゲーム装置10の対戦格闘処理のフローチャートである。
【図6】本発明の実施の形態に係るゲーム装置10のダメージ表現処理のフローチャートである。
【図7】本発明の実施の形態に係るヒット時のクローン描画の概念図である。
【図8A】本発明の実施の形態に係るパンチによるボディへのダメージ表現処理の画面例である。
【図8B】本発明の実施の形態に係るパンチによるボディへのダメージ表現処理の画面例である。
【図9A】本発明の実施の形態に係るキックによるボディへのダメージ表現処理の画面例である。
【図9B】本発明の実施の形態に係るキックによるボディへのダメージ表現処理の画面例である。
【発明を実施するための形態】
【0010】
<実施の形態>
〔ゲーム装置10の制御構成〕
まず、図1を参照して、ゲーム装置10の制御構成について説明する。
ゲーム装置10は、携帯型や据え置き型のコンシューマ用ビデオゲーム装置、専用の店舗に設置される業務用ビデオゲーム装置、PC(Personal Computer)、携帯電話、携帯端末、PDA(Personal Data Assistant)等である。 また、ゲーム装置10は、本実施形態に係る格闘対戦ゲームを実行するためのハードウェア資源である。
ゲーム装置10は、CPU100(制御部、ゲーム実行部)と、主記憶部110と、補助記憶部120と、BIOS130と、ペリフェラルI/F140(周辺機器接続インタフェイス手段)と、バスアービタ150と、グラフィックプロセッサ160(描画手段)と、グラフィックメモリ170と、ビデオBIOS175と、オーディオプロセッサ180と、オーディオメモリ190と、通信I/F200とを含んで構成される。
【0011】
CPU100は、CISC(Complex Instruction Set Computer、複合命令セットコンピュータ)方式やRISC(Reduced Instruction Set Computer、縮小命令セットコンピュータ)方式のCPU(Central Processing Unit、中央処理装置)、MPU(Micro Processing Unit)、DSP(Digital Siganl Processor)、ASIC(Application Specific Processor、特定用途向けプロセッサー)等である演算・制御能力を備えた制御手段である。
また、CPU100に、後述する主記憶部110やバスアービタ150やグラフィックプロセッサ160やオーディオプロセッサ180等の機能を備えることも可能である。
【0012】
主記憶部110は、RAM(Random Access Memory)等の主記憶用に使われる高速な記憶手段を含んで構成される。
主記憶部110には、ゲーム装置10をコンピュータとして機能させるためのOSが備えられている。
また、主記憶部110には、CPU100が実行する、各種プログラムやオブジェクト等であるプロセスが補助記憶部120からロードされて記憶されている。また、このプロセスに関わるデータについても記憶している。各プロセスはOSのAPI(Application Programming Interface)を介して、ゲーム装置10の各機能にアクセス可能である。
主記憶部110に記憶されたデータとして、主記憶部110には、プレーヤキャラクタデータ210と、敵キャラクタデータ220が記憶されている。プレーヤキャラクタデータ210は、プレーヤのキャラクタに関連する値を記憶する構成部位である。また、敵キャラクタデータ220は、敵キャラクタに関連する値を記憶する構成部位である。
【0013】
補助記憶部120は、SSD(Solid State Drive)等のフラッシュメモリディスク、HDD(Hard Disk Drive)、磁気テープ装置、光ディスク装置等の補助記憶手段である。
補助記憶部120は、後述するように、アプリやOSのプログラムやデータが記憶されている。これらのプログラムやデータは、CPU100や、DMA(Direct Memory Access)等により、主記憶部110に記憶して実行可能である。
また、補助記憶部120には、本実施形態に係る対戦格闘ゲームの対戦に係るプログラムである対戦格闘部300と、これに付随するデータとを記憶している。この対戦格闘部300については、対戦格闘のゲームプレイ時には、適宜主記憶部110等に読み出されてCPU100が実行する。
【0014】
BIOS130は、BIOS(Basic Input Output System)が記憶されたROM(Read Only Memory)やNOR型フラッシュメモリやSRAM等の不揮発性記憶媒体である。
このBIOS130は、ファームウェア用のプログラムと、ゲーム装置10の各種機能を実現するためのプログラムと、これらのプログラムの設定を記憶するSRAM等の構成部位から構成されている。
具体的には、BIOS130は、ゲーム装置10が起動する際に、CPU100のマイクロコードの設定を行ったり、各部の初期化を行ったり、補助記憶部120の例えば最初のアドレスのパーティションから、OSが実行されるような指示を行う。
なお、BIOS130のプログラムをNOR型フラッシュメモリ等に記憶し、BIOS130の設定を記憶するフラッシュメモリやバッテリバックアップSRAM(Static Random Access Memory)や、EEPROM等の書き換え可能な不揮発性のメモリ等を別に備えていてもよい。
【0015】
ペリフェラルI/F140は、各種周辺機器(ペリフェラル)に接続するための、USB、IEEE1394、シリアル、パラレル、赤外線、無線等のインタフェイスを提供する構成部位である。
ペリフェラルI/F140は、主に、携帯型や据え置き型のコンシューマ用ビデオゲーム装置、PC等の場合は、ボタン、ジョイスティック、ジョイパッド、タッチパネル等の入力部、振動モーター等のフォースフィードバック部等を接続するためのインタフェイスとなる構成部位である。
また、ペリフェラルI/F140は、専用の店舗に設置される業務用ビデオゲーム装置の場合、照明、ICカードリーダ/ライタ、スイッチ、コイン投入部等のような周辺機器と接続することができる。
他にも、スティック型コントローラー、加速度検出器、振動装置等のフォースフィードバック装置、足踏み/手押し式のスイッチ、ディスプレイモニタの画面上の位置を検出する位置検出器、タッチパッド、タッチパネル、キーボード、マウスやトラックボール等のポインティングデバイス等を、ペリフェラルI/F140に接続して用いることができる。
また、ペリフェラルI/F140は、電子スイッチ等を制御することもでき、各種周辺機器の電源をオン/オフにして消費電力を抑えたりすることもできる。
【0016】
バスアービタ150は、いわゆる「チップセット」等の、各部を接続するためのバスインタフェイスを提供する集積回路である。このバスアービタ150で接続される各部のバスのスピードは異なっていてもよく、上り及び下りで非対称であってもよい。
また、例えば、CPU100と、主記憶部110と、バスアービタ150の間はFSBやHTといった高速なバスで接続され、グラフィックプロセッサ160とバスアービタ150の間も広帯域なバスで接続されるのが好適である。
なお、CPU100にDDR2/3 SDRAMやXDR DRAM等のバスインタフェイスが内蔵されて、主記憶部110を直接読み書きするように構成されていてもよい。
【0017】
グラフィックプロセッサ160は、3次元CGを描画する機能をもつグラフィックプロセッサである。グラフィックプロセッサ160は、ポリゴンのジオメトリ(座標)の計算を行うジオメトリ部162と、ジオメトリ計算が行われたポリゴンをラスタライズ又はレンダリング(描画)するレンダリング部164とを含んで構成される。
また、グラフィックプロセッサ160は、描画された画像をディスプレイモニタやプロジェクタ等の表示装置に出力するため、RAMDAC(RAM D/Aコンバーター)やHDMIインタフェイス等を備えている。
なお、ディスプレイモニタを、ゲーム装置10に備えるような構成も可能である。携帯型ゲーム装置や携帯端末や携帯電話等を用いる場合、このディスプレイモニタには液晶、有機EL、LED、LEDアレイ、MEMSプロジェクタ等を用いることができる。
【0018】
ジオメトリ部162は、ポリゴンの3次元空間での座標(ワールド座標)について、行列の回転や拡大等を行って、アフィン変換等を行い、ポリゴンの2次元空間での座標を求める構成部位である。また、ジオメトリ部162は、ポリゴンの分割やスプライン補完等のテッセレーションを行う、「ジオメトリシェーダ」(又はバーテックスシェーダ)を備えることもできる。
レンダリング部164は、座標計算されたポリゴンについて、テクスチャと呼ばれる画像データを貼り付け、各種効果を加えてグラフィックメモリ170に描画する構成部位である。この各種効果としては、プログラマブル・シェーダ等を用いて、光点・影(シェーディング)計算、明暗の表現、半透明、ぶれ、霧、ぼかし、HDR(ハイダイナミックレンジ合成)等の計算を行うことができる。また、レンダリング部164が描画するポリゴンの種類としては、点ポリゴン(ポイント)、線ポリゴン(ラインリスト)、三角形や四角形といった面ポリゴン、面ポリゴンの集合体等がある。加えて、レンダリング部164がレイトレーシング(Ray Tracing)等を用いて描画を行う際には、円、楕円、球、メタボール等の領域で定義される物体を描画することも可能である。
なお、ジオメトリ部162を、CPU100にて処理するように構成することも可能である。この場合は主記憶部110に記憶するプログラムをCPU100が実行して作成したポリゴンの座標を、グラフィックメモリ170に転送等を行う。レンダリング部164は、このポリゴンの座標に従って、ポリゴンを描画する。
さらに、グラフィックプロセッサ160には、図示しない物理エンジン部を備えてもよい。物理エンジン部は、ポリゴン同士の衝突演算や、服や波の動きといった物理現象のシミュレートをCPU100より高速に実行することができる。
【0019】
グラフィックメモリ170は、グラフィックプロセッサ160が描画するために高速に読み書きができる記憶媒体である。
たとえば、このグラフィックメモリとして、GDDR(Graphics Double Data Rate(グラフィックス・ダブル・データレート))等の広帯域なメモリを高レベルのメモリインターリーブ等を用いて接続することができる。
また、システムLSIのようにグラフィックメモリをグラフィックプロセッサ160に内蔵する構成も可能である。
また、グラフィックプロセッサ160が描画している間に、ディスプレイモニタに表示するためのデュアルポート構成をとることも可能である。
さらに、グラフィックメモリ170には、本実施形態の対戦格闘ゲームに係る3次元物体の描画用データ等(オブジェクト)であるプレーヤオブジェクト410、プレーヤクローンオブジェクト420、敵オブジェクト430、敵クローンオブジェクト440、ヒットエフェクトオブジェクト450、背景オブジェクト460等を備えている。
【0020】
プレーヤオブジェクト410は、プレーヤキャラクタの描画用オブジェクト(キャラクタオブジェクト)である。このプレーヤオブジェクト410については、CPU100が補助記憶部120や主記憶部110から必要なデータが読み出し、グラフィックメモリ170上に記憶する。プレーヤオブジェクト410は、多角形であるポリゴンの座標、テクスチャ、オブジェクトの骨組みであるボーン、身体の動作や変形の際に用いるアニメーション等の描画用オブジェクトの描画に必要なデータを含んでいる。また、プレーヤオブジェクト410は、身体の各部(身体部位)に対応した構造的なデータであり、この身体部位間の対応関係(ヒエラルキー)についても記憶している。
プレーヤオブジェクト410の各データの詳細については、後述する。
【0021】
プレーヤクローンオブジェクト420は、プレーヤオブジェクト410の必要なデータをコピーした描画用オブジェクト(クローンオブジェクト)である。このプレーヤクローンオブジェクト420については、プレーヤオブジェクト410がグラフィックメモリ170上に記憶された後、CPU100がクローン作成部310を用いて作成する。
このプレーヤオブジェクト410の詳細についても、後述する。
【0022】
敵オブジェクト430は、敵キャラクタの描画用オブジェクト(キャラクタオブジェクト)である。この敵オブジェクト430は、対戦格闘を行う相手の敵キャラクタに係るオブジェクトのデータを、CPU100が補助記憶部120や主記憶部110から必要なデータが読み出し、グラフィックメモリ170上に配置して記憶する。
敵オブジェクト430は、具体的な描画用オブジェクトとしてのデータについては、プレーヤオブジェクト410と同様の属性のデータを記憶する。
【0023】
敵クローンオブジェクト440は、敵オブジェクト430の必要なデータをコピーした描画用オブジェクト(クローンオブジェクト)である。この敵クローンオブジェクト440についても、プレーヤクローンオブジェクト420と同様に、敵オブジェクト430がグラフィックメモリ170上に記憶された後、CPU100がクローン作成部310を用いて作成する。
【0024】
なお、以下にて、プレーヤオブジェクト410又は敵オブジェクト430を「キャラクタオブジェクト」と呼ぶ。また、プレーヤクローンオブジェクト420又は敵クローンオブジェクト440を「クローンオブジェクト」と呼ぶ。
【0025】
ヒットエフェクトオブジェクト450は、攻撃が当たった(ヒット)時に半透明で描画するオブジェクト等であるヒットエフェクト用のオブジェクトである。
ヒットエフェクトオブジェクト450は、ギザギザや球状の爆発パターン等の視覚効果を与えるポリゴンの座標、テクスチャ、アニメーションデータ等を備えている。このテクスチャに関しては、描画時にアニメーションするように設定することができる。
なお、ヒットエフェクトオブジェクト450は、複数の種類のヒット時に用いるオブジェクトを含ませることができる。この際、ヒットエフェクトオブジェクト450は、各キャラクタが「技」を使って攻撃した際に、各キャラクタオブジェクトに重ねて表示する効果、例えば炎や雷のような表示をするためのオブジェクトも備えることもできる。
【0026】
背景オブジェクト460は、地面や人物等のポリゴンの集合体である描画用オブジェクトである。すなわち、背景オブジェクト460は、対戦格闘ゲームの各キャラクタが対戦格闘を行うための舞台の描画用オブジェクトである。
さらに、背景オブジェクト460には、各キャラクタが移動する地面や地形の3次元座標データ等である地面メッシュデータ、及び地面として設定されるワールド座標系における座標について記憶する。なお、地面メッシュデータの各頂点の高さは、地面として設定されるワールド座標系における座標と同じか高く設定することが好適である。すなわち、地面として設定されるワールド座標系における座標は、キャラクタオブジェクトが移動する最低点や基準点となる高さを示す。
加えて、背景オブジェクト460には、各キャラクタの移動範囲を限定するための領域データ等を含ませることができる。
【0027】
なお、各オブジェクト又は各オブジェクトの一部のデータを主記憶部110に備え、直接グラフィックメモリ170に転送、描画するような構成も可能である。
【0028】
ビデオBIOS175は、グラフィックプロセッサ160用のBIOSが記憶されたフラッシュメモリ等である。
CPU100が、パッチによりこのビデオBIOS175を更新することで、グラフィックプロセッサ160の機能や表示品質を向上させたり、表示上の不都合(バグ)を直したりすることができる。
【0029】
オーディオプロセッサ180は、音楽や音声や効果音を出力するためのPCM(Wave)音源等を備えたDSP(デジタル・シグナル・プロセッサ)等である。オーディオプロセッサ180は、物理演算音源、FM音源等の計算を行い、残響や反射等の各種音声効果を計算することもできる。
オーディオプロセッサ180の出力は、D/A(デジタル・アナログ)変換され、デジタルアンプ等に接続されて、スピーカーで音楽や音声や効果音として再生される。また、オーディオプロセッサ180は、マイクから入力した音声の音声認識等にも対応することができる。
オーディオメモリ190は、音楽や音声や効果音のためのデジタル変換されたデータを記憶している記憶媒体である。オーディオプロセッサ180とオーディオメモリ190とを一体的に構成することも当然可能である。
【0030】
通信I/F200は、ネットワークに接続するための(有線/無線LAN、電話線、携帯電話網、PHS網、電灯線ネットワーク、IEEE1394等)インタフェイスである。
通信I/F200からネットワークを介して、ゲーム装置10は、アプリやOSやパッチ等をマスターサーバからダウンロードすることができる。また、逆に、通信I/F200を用いて、ゲーム装置10同士、又は他のゲーム装置10で、複数のプレーヤによる対戦ゲーム(対戦などの競争を行うゲーム。以下、同じ。)又は共同ゲーム(協力して課題を解決するゲーム。以下、同じ。)をすることができる。また、複数のゲーム装置10が通信可能に接続されることで、サーバ等を介して、ゲームスコア(点数、得点等、以下スコアという。)の集計や、他の遊戯施設に配置されたゲーム装置との間で対戦ゲームを行ったり、ランキングを集計したりすることが可能である。
【0031】
〔対戦格闘部300の構成〕
次に、補助記憶部120に記憶された対戦格闘部300の詳細について説明する。
対戦格闘部300は、主にクローン作成部310、座標算出部320、ヒット判定部325、ダメージ算出部330、カラー変更部340、描画部350を含んで構成される。
【0032】
クローン作成部310は、格闘対戦ゲームの開始時に、プレーヤオブジェクト410から、プレーヤクローンオブジェクト420を作成する構成部位である。具体的には、後述するプレーヤオブジェクト410の各データのうち、必要な部分をコピーして、本実施形態に係るダメージ表現を行うためのデータを作成する。
このように、本実施形態に係るゲーム装置10は、プレーヤや敵キャラクタの分身であるクローンのデータを常に備える必要がないため、記憶容量を抑えることができる。特にゲーム装置10が携帯型のゲーム装置等のように、いわゆる据え置き型のゲーム装置と比べ、主記憶部110やグラフィックメモリ170や補助記憶部120の記憶容量に制限がある場合であっても、これにより、主記憶部110やグラフィックメモリ170や補助記憶部120への負担を軽減でき、他の処理に資源を振り向けることができる。
【0033】
座標算出部320は、プレーヤキャラクタを描画する際の3次元空間上の座標を計算する構成部位である。
すなわち、座標算出部320は、プレーヤキャラクタと敵キャラクタの、各キャラクタを基準点(中心)とした座標系であるローカル座標系にて、プレーヤクローンオブジェクト420の描画に関する座標を算出する。
また、座標算出部320は、プレーヤキャラクタと敵キャラクタとが配置される仮想三次元空間のワールド座標系において、各キャラクタオブジェクトや、背景オブジェクト460の描画に関する座標を算出することもできる。
【0034】
ヒット判定部325は、プレーヤキャラクタ又は敵キャラクタの攻撃がヒットしたか否かの判定を行うための構成部位である。すなわち、ヒット判定部325は、プレーヤオブジェクト410による攻撃が敵オブジェクト430に当たったか否か、又は敵オブジェクト430による攻撃がプレーヤオブジェクト410に当たったか否かについて、座標計算により判定(いわゆる「当たり判定」(衝突判定))を行う構成部位である。この当たり判定の座標計算としては、各キャラクタの後述するボーンと、これを基に変形したポリゴンの座標を用いて計算することができる。この際、ヒット判定部325は、方向付きボックス等との交差計算のような高速な計算を行ってもよい。
また、当たり判定の際、ヒット判定部325はヒットしたキャラクタオブジェクトについて、どの身体部位にヒットしたかを検出することができる。後述するように、このヒットした身体部位より大きな身体単位にて、ダメージ表現を行うことができる。
なお、この当たり判定については、グラフィックプロセッサ160において、物理エンジン部によりモデルのポリゴン同士の交差を検知する構成としてもよい。
【0035】
ダメージ算出部330は、上述の当たり判定にてヒットした身体部位について、障害状況を示す値である「ダメージ値」を算出する構成部位である。このダメージ値は、攻撃した側の「技」や、攻撃の強さによる属性値、攻撃のヒットに係る部位の角度等を基に算出することができる。
後述するように、このダメージ値の累積した値が所定値以上になる、すなわちダメージへの耐久値を示す体力値、「ヒットポイント(HP)」が所定値以下になることで、対戦格闘における勝ち負けを決定することができる。
【0036】
カラー変更部340は、ダメージ値により、後述するプレーヤクローンオブジェクト420の色を算出する構成部位である。
この色の算出として、カラー変更部340は、例えば、各身体単位において、ダメージ値が大きくなるほど、赤みの強い色に設定する、つまり、白から赤になるような色に算出することができる。
また、カラー変更部340は、プレーヤクローンオブジェクト420の各身体単位について、この算出した色に変更して描画するよう指示することもできる。
【0037】
描画部350は、グラフィックメモリ上にある各オブジェクトや、記憶されたその他のオブジェクトについて、座標計算を行い描画(レンダリング)するようにグラフィックプロセッサ160に指示する制御プログラムである。
その他に、描画部350は、ビューポイント(仮想空間における仮想視点、仮想カメラの位置)の座標を指示したり、各種メッセージや得点等の描画の指示も行う。
【0038】
〔プレーヤキャラクタデータ210の構成〕
ここで、図2を参照して、主記憶部110に記憶されるプレーヤキャラクタデータ210の詳細な構成について説明する。プレーヤキャラクタデータ210は、キャラクタ属性データ211、技データ212、身体部位ダメージデータ213−1〜213−nを含んで構成される。
【0039】
キャラクタ属性データ211は、プレーヤキャラクタの種類、キャラクタの所持金、各種ステージや持ち物等のフラグ等を記憶するゲームとプレーヤキャラクタに関するデータを記憶する構成部位である。
技データ212は、プレーヤキャラクタの対戦格闘において使用できる「技」を記憶する部位である。この技は、CPU100がペリフェラルI/F140に接続されたボタン等の押下やスライド等による入力情報(入力信号)を検知して、攻撃時にプレーヤの指示に従った技のアニメーションを描画する。
身体部位ダメージデータ213−1〜213−nは、各身体部位のダメージについて記憶しているデータである。CPU100は、このダメージ値が所定値以上になった場合、すなわち、その身体部位を用いて攻撃できなくなり、その身体部位の移動範囲等を制限する。そして、当該キャラクタのすべての身体部位のダメージ値が所定値以上になった場合、負けとなる。つまり、ヒットポイントが0等の所定値以下になると、負けとなる。
なお、主記憶部110に記憶された敵キャラクタデータ220も、キャラクタ属性データ211と同様のデータを備えている。
【0040】
〔プレーヤオブジェクト410とプレーヤクローンオブジェクト420の構成〕
ここで、図3と図4とを参照して、グラフィックメモリ170に記憶されるプレーヤオブジェクト410とプレーヤクローンオブジェクト420の詳細な構成について説明する。
プレーヤオブジェクト410は、全体座標データ510、ヒエラルキーデータ512、身体部位モデルデータ513−1〜513−n、ボーンデータ514、アニメーションデータ515−1〜515−n、及びテクスチャデータ517を備えている。
プレーヤクローンオブジェクト420は、全体座標データ520、ヒエラルキーデータ522、身体部位モデルデータ523−1〜523−n、ボーンデータ524、アニメーションデータ525−1〜525−nを備えている。
【0041】
全体座標データ510は、ワールド座標系において、プレーヤオブジェクト410の全体の座標、X、Y、Z軸における角度、体勢等を記憶したデータである。
この全体座標データ510は、身体部位のうち、例えば、ヒップのモデルである身体部位モデルデータ513−4の中心と定めた位置を基準として設定することができる。
なお、身体部位モデルデータ513−4の中心と定めた座標(ヒップの座標)は、プレーヤオブジェクト410のローカル座標系での中心点としても用いる。
また、本実施形態においては、特に言及しない限り、X軸を幅方向、Y軸を高さ方向、Z軸を奥行き方向として扱う。
【0042】
ヒエラルキーデータ512は、各身体部位モデルデータ513−1〜513−nの身体上での関係を階層構造で定めたデータである。具体的に、各身体部位モデルデータ513−1〜513−nの間の関係をリスト等のデータ構造を用いて「身体単位」のリストを記述し、これを記憶する。
図4を参照して説明すると、ヒエラルキーデータ512は、それぞれ、頭部、胴部、左腕部、右腕部、左脚部、右脚部のような身体単位のリストを記述する。たとえば、頭部は身体部位モデルデータ513−1、513−2を含む部位である。また、胴部は、身体部位モデルデータ513−3、513−4を含む部位である。また、左腕部は、身体部位モデルデータ513−5〜513−7を含む部位である。また、右腕部は、身体部位モデルデータ513−8〜513−10を含む部位である。また、左脚部は、身体部位モデルデータ513−11〜513−13を含む部位である。また、右脚部は、身体部位モデルデータ513−14〜513−16を含む部位である。
また、ヒエラルキーデータ512は、各身体単位の間の接続の関係についても、リストのような構造として記憶する。たとえば、頭部は胴部と接続し、胴部は頭部・左腕部・右腕部・左脚部・右脚部と接続し、左腕部は胴部と接続し、右腕部は胴部と接続し、左脚部は胴部と接続し、右脚部は胴部と接続するといった身体単位の接続関係のリストを記憶する。
この上で、ヒエラルキーデータ512は、各身体単位内での接続の方向を含む関係についてもリストのような構造で記述する。たとえば、左腕部は、左上腕部である身体部位モデルデータ513−5の次に身体部位モデルデータ513−6が接続され、その先に手である身体部位モデルデータ513−7が接続されているといったリストを記憶する。なお、ヒエラルキーデータ512は、さらに細かな身体部位についてのモデルのデータを含む場合は、その接続についても記述できる。たとえば、左碗部の場合、身体部位モデルデータ513−7の先に手の指がある場合には、そのモデルとの接続関係のリストを記述することもできる。また、頭部の場合、眼球のデータを記述することもできる。
【0043】
身体部位モデルデータ513−1〜513−nは、各身体部位の基本的な多角形(ポリゴン)、及びポリゴンの集合であるメッシュによるモデルを記憶するデータである。このポリゴンやメッシュとしては、3角形ポリゴンの他に、4角形ポリゴン、5角形以上のポリゴン、ポイントリスト、ラインストリップ、トライアングルリスト、トライアングルストリップ、トライアングルファン等の構造を用いることができる。
身体部位モデルデータ513−1〜513−nは、各ポリゴン又は各メッシュの頂点単位で、例えば、ポリゴンの各頂点の法線ベクトル、色、描画するテクスチャの種類と描画座標、反射光の光度、透明度(アルファブレンド値)、材質(マテリアル)、適用するシェーダー(影)、ボーンの影響度等のレンダリング(描画)に用いる各種データを記憶する。また、身体部位モデルデータ513−1〜513−nは、ローカル座標での座標や線分の接続リスト等も記憶する。
身体部位モデルデータ513−1〜513−nについては、グラフィックプロセッサ160が、それぞれ、ヒエラルキーデータ512の接続関係に従って、ボーンデータ514とアニメーションデータ515−1〜515−nを基に描画する。この際、ヒエラルキーデータ512の身体単位のリストや身体単位の接続関係を示すリストを用いて、身体単位毎に描画することができる。
なお、身体部位モデルデータ513−1〜513−nについて、ポリゴンではないメタボール等の領域指定のデータを記憶することも可能である。
【0044】
ボーンデータ514は、プレーヤオブジェクト410を、動作に従って変形して描画するための骨、関節、骨組み等を示すための「ボーン」を記述するデータである。
図4を参照すると、ボーンデータ514は、身体部位モデルデータ513−1〜513−nの接続点(関節)を記述し、ヒエラルキーデータ512の接続の記述に従ってつなげるように直線又は曲線の集合にて記憶する。この際、ボーンデータ514は、各身体部位に対する関節の移動の方向と自由度を記述してもよい。
また、各身体部位の座標と向きに関しては、クォータニオン(Quaternion)のような形式で記憶しておいてもよい。
なお、ボーンデータ514は、髪の毛、指、眼球、耳、胸、筋肉等の更に細かい身体部位等についてのボーンや、衣服、アクセサリー、道具、身体の付属物についてのボーンを用意することもできる。
また、ボーンデータ514の中心を表す座標として、上述のヒップの座標を用いる。
【0045】
アニメーションデータ515−1〜515−nは、ボーンデータ514に従って、プレーヤオブジェクト410を時系列的に変形させて表示するアニメーション用のデータである。
具体的に、アニメーションデータ515−1〜515−nは、プレーヤキャラクタの歩行、ジャンプ、攻撃時の技といった各動作におけるボーンデータ514の変形と各関節の方向等の変化について記憶している。
たとえば、アニメーションデータ515−1〜515−nとして、各関節の座標の変化をアニメーションの動きの単位であるモーション単位で記憶しておくことができる。
【0046】
テクスチャデータ517は、プレーヤオブジェクト410の各ポリゴンに描画するためのテクスチャの画像データを記憶する部位である。このテクスチャデータは、プレーヤオブジェクト410の各身体部位や服装等に合わせた画像を用意することができる。
また、テクスチャデータ517には、法線マップ、ミップマップ、微少な凹凸をディスプレースメント・マッピング等の手法で表現するための高さマップ等のテクスチャのデータも記憶できる。
さらに、テクスチャデータ517には、透明度を記述するアルファブレンディングの値として用いるテクスチャ、その他のシェーダー等で用いる特殊なテクスチャについても記憶することもできる。
【0047】
なお、これらのデータの他にも、描画用に必要なデータを適宜記憶することができる。たとえば、髪の毛や衣服、持ち物や武器等のデータを、ボーンや向きのデータ、各身体部位との関連付け等のデータと共に記憶できる。
さらに、当たり判定に用いる方向付きの長方体等、所定の座標範囲の当たり判定用ボックスのデータ等を、当たり判定用のオブジェクトとして用意することもできる。
また、図4は人物の直立形式で描いているものの、各身体部位の初期位置は任意である。たとえば、両手を左右に広げた状態のプレーヤオブジェクト410を作成することもできる。
【0048】
プレーヤクローンオブジェクト420は、上述したように、プレーヤオブジェクト410から必要なデータをクローン作成部310がコピーして作成する。
このため、全体座標データ520は全体座標データ510と、全体座標データ520は全体座標データ510と、身体部位モデルデータ523−1〜523−nは身体部位モデルデータ513−1〜513−nと、ボーンデータ524はボーンデータ514と、アニメーションデータ525−1〜525−nはアニメーションデータ515−1〜515−nと、それぞれ同様のデータを備えている。
ここで、ヒエラルキーデータ522については、身体単位毎に直接描画するためポインタを、例えば身体単位のリストに加えて記憶すること等が好適である。
加えて、プレーヤクローンオブジェクト420は、テクスチャデータ517を備えない構成とすることができる。この場合、コピーして作成したプレーヤクローンオブジェクト420に、所定色のテクスチャを設定することができる。この所定色のテクスチャは、例えば、例えば白や赤といった所定色のテクスチャをコピー作成前又はコピー作成後に、データフィル等にて作成することができる。また、コピー作成前又はコピー作成後に、単色のテクスチャを補助記憶部120から読み込んで、プレーヤクローンオブジェクト420に設定することもできる。
なお、プレーヤクローンオブジェクト420に、ヒットエフェクトオブジェクト450のテクスチャを設定することも可能である。この場合は、プレーヤオブジェクト410から必要なデータをコピーした後に、ヒットエフェクトオブジェクト450からテクスチャのみをコピーして設定することが好適である。
また、プレーヤクローンオブジェクト420についても、テクスチャデータ517、又はプレーヤクローンオブジェクト420専用のテクスチャデータを備えるように構成することも可能である。この際は、コピー作成前又はコピー作成後に、テクスチャデータを補助記憶部120から読み込んで、プレーヤクローンオブジェクト420に設定することができる。
また、プレーヤクローンオブジェクト420は、プレーヤオブジェクト410のデータをメモリ空間上に直接コピーして記憶する必要はなく、ポインタ等の形式でプレーヤオブジェクト410のデータを指し示すようにコピーするような構成も可能である。
【0049】
〔ゲーム装置10の対戦格闘処理〕
ここで、ゲーム装置10の対戦格闘処理について詳しく説明する。
本発明の実施の形態に係る対戦格闘処理においては、プレーヤが入力部によりプレーヤキャラクタの動作や技等を指示し、CPU100や他の対戦相手が敵キャラクタの動作や技等を指示する。
CPU100は、このプレーヤからの指示(入力情報・入力信号)を検知すると、対戦格闘部300を用いて、プレーヤキャラクタと敵キャラクタとを戦わせるように各種の処理を行う。これにより、対戦格闘(バトル)を行う。
この対戦格闘中、CPU100は、各キャラクタがダメージを受けた際、頭部・胴部・左腕部・右腕部・左脚部・右脚部等の各身体単位について、実時間(リアルタイム)に、衝撃をグラフィカルに表現するダメージ表現を行う。
以下で、この対戦格闘処理の全体的な処理の各ステップについて、図5のフローチャートを参照して、詳細に説明する。
【0050】
(ステップS101)
まず、CPU100は、対戦格闘部300を用いて、バトル初期化処理を行う。
具体的には、CPU100は、初期化処理として、まず、CPU100は、各構成部位の初期化を行う。
また、CPU100は、敵キャラクタと遭遇する演出画面を表示したり、対戦を選択する等の画面を表示してプレーヤにプレーヤキャラクタや敵キャラクタを選択させる。これにより、プレーヤは、プレーヤキャラクタ及び対戦相手の敵キャラクタを選択する。
その後、CPU100は、プレーヤキャラクタデータ210と、敵キャラクタデータ220とを初期化し、その他のデータについても必要なデータを初期化する。
そして、CPU100は、必要なデータを補助記憶部120から読み出して、解凍処理等を行い、各記憶部に配置する。たとえば、CPU100は、背景オブジェクト460を補助記憶部120から読み出してグラフィックメモリ170に記憶し、音声ファイルをオーディオメモリ190に記憶する。この際、CPU100は、読み込み中である「Now Loading..」等の画面を表示し、プレーヤを飽きさせないようにすることができる。
【0051】
(ステップS102)
次に、CPU100は、対戦格闘部300を用いて、モデル読み込み処理を行う。
具体的に、CPU100は、プレーヤオブジェクト410と敵オブジェクト430とを、補助記憶部120から読み出し、グラフィックメモリ170に記憶する。
この際に、CPU100は、プレーヤオブジェクト410と敵オブジェクト430、それぞれのデータについて、プレーヤオブジェクト410と敵オブジェクト430を、グラフィックプロセッサ160が描画できる形式に変換して記憶することができる。
このため、CPU100は、描画に最適な順番に並べ替えたり、必要なデータを演算して作成する。たとえば、各身体部位モデルのポリゴンの法線ベクトルをポリゴンの頂点の座標から計算して記憶することができる。
【0052】
(ステップS103)
次に、CPU100は、対戦格闘部300の特にクローン作成部310をクローン作成処理を行う。
この処理において、CPU100は、プレーヤオブジェクト410のヒエラルキーデータ522(図3)を作成し、各データに係る記憶領域を確保する。この際に、CPU100は、身体単位毎に描画できるよう、ヒエラルキーデータ522にポインタを加えることができる。
この上で、CPU100は、プレーヤオブジェクト410の必要なデータをコピーして、プレーヤクローンオブジェクト420を作成する。
そして、身体部位モデルデータ523−1〜523−nの各ポリゴンについて、所定色の色を設定する。この色としては、初期値として白(Red:100%、Green:100%、Blue:100%)を設定することができる。
敵オブジェクト430についても、同様に敵オブジェクト430から敵クローンオブジェクト440を作成する。
なお、身体部位モデルデータ523−1〜523−nについて、初期値としての色設定の代わりに、ヒットエフェクトオブジェクト450のヒットエフェクトモデルを表示するモデルの色、テクスチャ、マテリアルを設定すること等ができる。これにより、ヒットエフェクトとダメージ表現の統一性を持たせることができ、プレーヤに演出を分かりやすく表現することができる。
【0053】
(ステップS104)
次に、CPU100は、対戦格闘部300の各部を用いて対戦/描画処理を行う。
具体的に、CPU100は、プレーヤによるプレーヤキャラクタの動作の指示をペリフェラルI/F140から取得し、プレーヤオブジェクト410の全体座標データ510におけるワールド座標系の座標を移動させる。この際、CPU100は、攻撃の指示があった場合は攻撃し、さらに指示があった場合には「技」を出し、防御の指示の場合には防御を行う等の動作をさせる。また、CPU100は、これらの動作に付随したアニメーションを適用する。
【0054】
この上で、CPU100は、描画部350を用いて、各オブジェクトの描画を行うよう指示する。
この際、CPU100は、まず、グラフィックプロセッサ160に、背景オブジェクト460を描画するよう指示する。この描画においては、空や遠くにある背景等を描画し、ビューポイント(仮想空間における仮想視点、仮想カメラの位置)における背景オブジェクト460を、アニメーション等を行った上で、それぞれ描画する。このビューポイントは、座標算出部320を用いて、プレーヤオブジェクト410の全体座標データ510を基に算出する。
描画時には、ZバッファやZソート等を用いた上でオブジェクト同士の配置を適切な位置関係になるように描画する。
なお、レイトレーシング(光線追跡法)やラジオシティの計算等により描画を行うこともできる。さらに、複数の視差にて閲覧可能な三次元ディスプレイやホログラムディスプレイの表示用の描画を行うことも可能である。
【0055】
次に、CPU100は、プレーヤオブジェクト410については、グラフィックプロセッサ160のジオメトリ部162に、オブジェクトの、主に座標データの演算を行うように指示する。これにより、ジオメトリ部162は、ローカル座標系において、アニメーションデータ515−1〜515−nのいずれかのモーション単位のデータを適用してボーンデータ514を変形する。この変形は、例えば行列演算を用いて行う。
この上で、ジオメトリ部162は、変形したボーンデータ514を、ヒエラルキーデータ512を用いて身体部位モデルデータ513−1〜513−nにより適用して変形する。
さらに、ジオメトリ部162は、スプライン関数等を用いて、ポリゴンがなめらかになるよう変形したり、より自然に見えるようにポリゴンを分割するテッセレーション等を行い、ディスプレースドマッピング等を用いて、ポリゴンのディテールを上げて表示することもできる。
【0056】
その後、CPU100は、プレーヤオブジェクト410を描画するように、レンダリング部164に指示する。これにより、レンダリング部164は、ワールド座標系にプレーヤオブジェクト410を配置し、各種テクスチャ等が適用して描画する。この描画の際には、ZバッファやZソート等により、背景と適切な位置関係になるように描画する。
なお、このビューポイントの位置や視界範囲は、プレーヤの指示により切り換えることができる。
【0057】
また、CPU100は、敵キャラクタについても、プレーヤキャラクタの動作に合わせて、α−β法等の人工知能を用いて、動作を決定し、これに合わせた動作のアニメーションを行う。この際に、CPU100は、選択された敵キャラクタに合わせた人工知能を用いた思考を行う。
その後、CPU100は、グラフィックプロセッサ160を用いて、プレーヤオブジェクト410と同様に敵オブジェクト430を描画する。
【0058】
また、CPU100は、スプライトや板ポリゴン等の「ビルボード」を用いた各種メーター等の描画、オーディオプロセッサ180から効果音やBGM等の音声の出力についても行う。
【0059】
(ステップS105)
次に、CPU100は、プレーヤキャラクタ又は敵キャラクタが攻撃を行っていた場合、対戦格闘部300のヒット判定部325を用いてヒット判定処理(ヒット検出処理)を行う。
まず、CPU100は、攻撃を行った側(攻撃側)のプレーヤキャラクタである場合、プレーヤオブジェクト410の全体座標データ510が、敵オブジェクト430と所定距離内、具体的には、身体部位が接触する可能性がある範囲内にあるか否かを算出する。
敵オブジェクト430が所定範囲内にあった場合、CPU100は、攻撃を行った身体部位に対応する身体部位モデルデータ513−1〜513−n及び剣やナイフ等の付随するオブジェクトと、敵オブジェクト430の身体部位のポリゴンの座標がワールド座標系にて交差しているか所定の攻撃範囲内に近接している場合、ヒットしたと検出する。CPU100は、この演算を高速に行うため、当たり判定用のオブジェクトを用いてもよい。
また、ヒットの検出時に、敵オブジェクト430のどの身体部位にヒットしたかを検出する。
攻撃を行ったのが敵キャラクタである場合にも、CPU100は、プレーヤオブジェクト410に対して、同様のヒットの検出を行う。
【0060】
(ステップS106)
次に、CPU100は、上述のヒット判定処理において、攻撃がヒットしたか否かを判定する。つまり、いずれかの攻撃を行った側のオブジェクトと、攻撃を受けた側の身体部位とが接触していた場合、Yesと判定し、それ以外の場合にはNoと判定する。
Yesの場合、CPU100は、処理をステップS107に進める。
Noの場合、CPU100は、処理をステップS108に進める。
【0061】
(ステップS107)
攻撃がヒットした場合、CPU100は、対戦格闘部300を用いて、ダメージ表現処理を行う。
このダメージ表現処理において、CPU100は、攻撃がヒットした側のクローンオブジェクトを、身体単位にて、身体から攻撃方向に離れて拡大して消えるような表現を行う。この際、各身体部位のダメージから身体単位でのダメージを求め、色を変更する等の表現を行って表示する。
このようなダメージ表現を行うことで、本実施形態においては、ヒットポイントそのものをメーター表示するといった従来のダメージ表現を行わなくても、適切にプレーヤがプレーヤキャラクタや敵キャラクタのダメージを推測することができる。よって、ゲームの臨場感やゲーム性を高めることができる。
このダメージ表現処理の詳細については後述する。
【0062】
(ステップS108)
次に、CPU100は、対戦格闘部300のダメージ算出部330を用いて、ヒットポイントが0以下になったか否かを判定する。このヒットポイントは、プレーヤキャラクタの場合、プレーヤキャラクタデータ210の身体部位ダメージデータ213−1〜313−nのダメージ値により判定することができる。すなわち:

ヒットポイント = 所定値 − 身体部位ダメージデータ213−1〜313−nのダメージ値の合計 …… 式(1)

この式(1)の所定値としては、ダメージ値の合計の最大値等を用いることができる。
CPU100は、このヒットポイントの値が0以下になった場合、Yesと判定する。これとは別に、例えば、頭部のような所定の身体単位のダメージ値が所定値以上になった場合には、Yesと判定するように設定することもできる。それ以外の場合にはNoと判定する。
Yesの場合、CPU100は、処理をステップS109に進める。
Noの場合、CPU100は、処理をステップS104に戻して、対戦格闘の各処理を続ける。
【0063】
(ステップS109)
ヒットポイントが0以下になった場合、CPU100は、対戦格闘部300を用いてバトル終了処理を行う。
具体的に、CPU100は、負けた方のキャラクタが倒れたり目を回したりするようなアニメーションを行い、勝った方のキャラクタがガッツポーズをする等のアニメーションを行い、「YOU WIN」(勝ち)の文字を表示する等、対戦格闘が終了した旨の画面を表示する。
ここで、プレーヤキャラクタが負けてゲームオーバーの場合には、ゲームオーバー画面を表示する。逆に、プレーヤキャラクタが勝った場合には、対戦格闘処理以外のゲーム処理や別の対戦格闘処理を行う。
その後、敵オブジェクト430や敵クローンオブジェクト440、背景オブジェクト460等、次のバトルにおいて使用しないデータをグラフィックメモリ170から解放、消去する。
以上により対戦格闘処理を終了する。
【0064】
〔ゲーム装置10のダメージ表現処理〕
ここで、図6〜図9Bを参照して、ダメージ表現処理の詳細について説明する。
本発明の実施の形態に係るダメージ表現処理においては、上述したように、プレーヤクローンオブジェクト420や敵クローンオブジェクト440の身体単位が、攻撃の向きに押し出されて身体から離れてゆくような表現を行う。この処理は、CPU100が、対戦格闘部300の各部を用いて行う。
以下、このダメージ表現処理の具体的な処理内容の詳細について、図6のフローチャートを参照して説明する。
【0065】
(ステップS201)
まず、CPU100は、対戦格闘部300のヒット判定部325を用いて、ダメージ方向算出処理を行う。
図7の平面図を参照して、敵オブジェクト430の攻撃がプレーヤオブジェクト410にヒットした例について説明する。
ここでは、敵オブジェクト430は、「パンチ」の技を選んでおり、左腕部がプレーヤオブジェクト410の身体部位モデルデータ513−3にヒットしている。
ここで、CPU100は、敵オブジェクト430の左腕部の移動方向と、プレーヤオブジェクト410の身体部位モデルデータ513−3とのワールド座標系でのX、Y、Z軸における角度を算出する。この上で、CPU100は、算出したワールド座標系の角度から、プレーヤオブジェクト410のローカル座標系の中心点を基準としたX、Y、Z軸における角度として、ダメージを受けた方向(ダメージ方向)を算出することができる。
【0066】
なお、攻撃が投げ技を使って行われた場合、ヒットの方向そのものではなく、落とされた際の地面との角度を算出する。すなわち、CPU100は、プレーヤクローンオブジェクト420が背景オブジェクト460の地面に落とされた際に、身体部位モデルデータ513−1〜513−nの移動方向と、当該身体部位と接触した地面メッシュデータの地面や地形の角度とをワールド座標系でのX、Y、Z軸における角度にて算出する。この算出したワールド座標系の角度から、同様にローカル座標系のX、Y、Z軸における角度となるダメージ方向を算出することができる。
また、同様に、背景オブジェクト460の壁や固定物等のオブジェクトにプレーヤオブジェクト410が打ち付けられた際には、地面の場合と同様に、打ち付けられた身体部位の移動方向と、当該壁や固定物等のオブジェクトとのワールド座標系でのX、Y、Z軸における角度を算出する。これによりローカル座標系のX、Y、Z軸における角度となるダメージ方向を算出することができる。
【0067】
なお、敵オブジェクト430についても、同様のダメージ方向の算出を行うことができる。
また、上述の説明では、身体部位単位でのダメージ方向の算出について説明したが、身体単位でダメージ方向を算出しても、キャラクタオブジェクト全体についてのダメージ方向を算出してもよい。
さらに、より単純には、ヒットしたキャラクタオブジェクトのローカル座標系にて後方の角度をダメージ方向として算出することもできる。
【0068】
(ステップS202)
次に、CPU100は、ヒット判定部325を用いて、ダメージ身体単位算出処理を行う。
この処理は、身体部位から、クローンによりダメージ表現を行う身体単位を決定するために行う。このため、CPU100は、ヒエラルキーデータ512の身体部位のリストを用いて、ヒットした身体部位が、どの身体単位に属するのかを検索する。
図7の例では、CPU100は、ヒットされたプレーヤオブジェクト410の身体部位モデルデータ513−3は「ボディ」に係る身体部位であり、身体単位としては胴部にあたることを検索する。
【0069】
(ステップS203)
次に、CPU100は、対戦格闘部300のダメージ算出部330を用いて、ダメージ値算出処理を行う。
具体的に、CPU100は、上述のダメージ方向算出処理により得られたダメージの方向と速度、技の強さ、防御のタイミング、ヒットされた身体部位のダメージへの耐久度、衣服等の防御力等から、ヒットされた身体部位のダメージ値を算出する。
プレーヤオブジェクト410がヒットされた場合、CPU100は、このダメージ値を、プレーヤキャラクタデータ210の、対応する身体部位ダメージデータ213−1〜213−nに加える。敵オブジェクト430がヒットされた場合にも、同様にダメージ値を算出して、敵キャラクタデータ220の身体部位ダメージデータに加える。
その後、CPU100は、算出された身体部位のダメージ値を合計や最大値を求める等して、ヒットされた身体単位のダメージ値をさらに算出する。
なお、CPU100は、この処理にて算出した身体単位でのダメージ値から、ヒットポイントを計算することもできる。
【0070】
(ステップS204)
次に、CPU100は、対戦格闘部300の座標算出部320を用いて、移動量・拡大率算出処理を行う。
以下において、本実施形態に係るプレーヤオブジェクト410は、ローカル座標系のX、Y、Z軸を基準とし、ヒットを表現するアニメーションにおいて、ボーンデータ514の中心を表す部位であるヒップの身体部位モデルデータ513−4の中心と定めた座標(ヒップの座標)を中心として説明する。
ここでは、まず、ダメージ方向算出処理において、ローカル座標系において算出されたダメージ方向から、ローカル座標系におけるボーンの移動量となるX軸上の移動量x、Z軸上の移動量zを用いて、時間tに係る移動量であるx',z'を算出する。
この上で、時間tに従って線形的に値を増幅する関数:

[x' z'] = f(x,z,t) …… 式(2)

により、移動後の座標であるx',z'を求める。このx',z'は、後述するように、プレーヤクローンオブジェクト420のボーンデータ524のヒップの座標に適用する。
【0071】
また、オブジェクトの拡大率、透明度等を示す係数aについて、時間tに従って値を増幅する関数:

a = f(t) …… 式(3)

により求める。
なお、拡大率、透明度は別々の係数を、別々の関数にて求めることもできる。
【0072】
また、時間tに関しては、アニメーションの1つのモーションが表示される単位の所定時間を用いることができる。
たとえば、1モーションが1/15秒で表示される場合には、この1/15秒を時間間隔の単位として求めることができる。
また、図5の対戦/描画処理(ステップS104)を1回行う1フレームの時間間隔を単位として求めることもできる。たとえば、1フレームが1/60秒であった場合、時間tを1/60秒にすることができる。
【0073】
なお、敵オブジェクト430についても、同様の演算を行って、移動後の座標x',z'と、拡大率、色の変化量等を示す係数aを算出することができる。
【0074】
(ステップS205)
次に、CPU100は、座標算出部320を用いて、ダメージアニメーション処理を行う。
具体的に、CPU100は、ヒットされたプレーヤクローンオブジェクト420又は敵クローンオブジェクト440のボーンデータ524等に時間tに係るアニメーションのモーションを適用する。
この際、CPU100は、ダメージ値算出処理(ステップS203)において算出されたダメージ値により異なるアニメーションを適用する。たとえば、ダメージ値が大きい、すなわち強くダメージを受けた場合には大きくよろめくアニメーションを行う。逆に、ダメージ値が小さい場合には、少し身体が傾くようなアニメーションを行う。つまり、大きいダメージ値の方が、ボーンに適用する座標変化が大きなアニメーションを用いる。
言い換えれば、このアニメーションの適用として、CPU100は、例えば、プレーヤオブジェクト410がヒットされたと判断した場合、ダメージ値算出処理(ステップS203)において算出されたダメージ値により、異なるアニメーションデータ515−1〜515−nを選択する。すなわち、ボーンデータ514の行列に、選択されたアニメーションデータ515−1〜515−nのいずれかのうち、時間tに係るモーションの行列を設定することで行う。
【0075】
なお、敵オブジェクト430がヒットされた場合は、敵クローンオブジェクト440について、同様の処理を行う。
また、このダメージ値によるアニメーションは、プレーヤオブジェクト410又は敵オブジェクト430の全身について、ステップS104の対戦/描画処理(図5)を行う際にも適用する。
この際に、プレーヤオブジェクト410又は敵オブジェクト430と、プレーヤクローンオブジェクト420又は敵クローンオブジェクト440との間で、異なるアニメーションを適用してもよい。
また、アニメーションのモーションの時間tをずらして表現することもできる。たとえば、プレーヤオブジェクト410のボーンデータ514には、時間tのアニメーションのモーションを適用し、プレーヤクローンオブジェクト420のボーンデータ524には、時間(t+所定時間)のアニメーションのモーションを適用することができる。
これにより、キャラクタオブジェクトとクローンオブジェクトとで時間的に異なる動きを表現させることができ、モーションブラー(motion blur)のような動きを2つのオブジェクトの描画という軽い処理でプレーヤに感じさせることができ、ゲームの演出性を高めることができる。
【0076】
(ステップS206)
次に、CPU100は、座標算出部320を用いて、クローンオブジェクトに対するワールド座標算出処理を行う。
CPU100は、上述の移動量・拡大率算出処理にて求めたx',z'を、プレーヤクローンオブジェクト420又は敵クローンオブジェクト440のダメージ表現を行う身体単位について、アニメーションのモーションの適用後のローカル座標に加算するよう、グラフィックプロセッサ160が当該身体単位を描画する際の座標変換用の行列に設定する。
このローカル座標への加算については、プレーヤクローンオブジェクト420の場合、上述のヒップの座標を求めた身体単位のボーンデータ524とアニメーションデータ525−1〜525−nのアニメーションのモーションを適用した座標について行う。
その後、加算されたローカル座標によりワールド座標系に変換する演算を行うようにワールド変換行列を設定する。
これにより、クローンオブジェクトの身体単位のワールド座標系の値を求めることができる。
なお、敵クローンオブジェクト440においても同様の処理を行う。
【0077】
(ステップS207)
次に、CPU100は、ワールド変換行列により計算される、クローンオブジェクトの移動後のワールド座標系の座標が背景オブジェクト460における地面の下になっているか否か判定する。主に投げ技のヒットを受けた場合、移動後の座標が地面の下になることがあるためである。この判定は、クローンオブジェクトのワールド座標系の座標について、地面の座標とヒップの座標の位置関係を算出し、背景オブジェクト460において地面として設定されるワールド座標系での座標とを比較し、所定値よりも下になっている場合、Yesと判定する。また、CPU100は、背景オブジェクト460の地面メッシュデータの地面や地形の座標と比較し、所定値よりも下になっている場合、Yesと判定することもできる。それ以外の場合、Noと判定する。
Yes、すなわち移動後の座標が地面の下である場合、CPU100は、処理をステップS208に進める。
Noの、すなわち移動後の座標が地面の下ではない場合、CPU100は、処理をステップS209に進める。
【0078】
(ステップS208)
CPU100は、移動後の座標が地面の下である場合、対戦格闘部300の座標算出部320を用いて移動値調整処理を行う。
具体的には、CPU100は、x',z'を適用したワールド座標系の座標が、背景オブジェクト460において地面として設定されるワールド座標系における座標に対して、所定値より下にならないように設定する。また、CPU100は、背景オブジェクト460の地面メッシュデータの地面や地形のワールド座標系における座標に対して、所定値より下にならないように設定することもできる。
この上で、拡大率を大きくするよう、座標変換用の行列に設定する。この際、上述の係数aについては、変更せず、レンダリング時の行列のみ変更して設定する。
これにより、ヒットされたキャラクタに係るクローンオブジェクトの身体単位が地面よりあまり下に描画されることがなく、深さバッファ(Zバッファ)により描画されないといった描画のトラブルを防ぐことができる。
【0079】
(ステップS209)
次に、CPU100は、対戦格闘部300のカラー変更部340を用いて、カラー変更処理を行う。
具体的に、CPU100は、算出された身体単位のダメージ値を用いて、ヒットされたキャラクタに係るクローンオブジェクトの身体単位の各ポリゴンのカラーを変更する。
この処理としては、例えば、プレーヤキャラクタがヒットされた側である場合、身体単位のダメージ値を用いて、プレーヤキャラクタデータ210の身体部位ダメージデータ213−1〜213−nに対応して身体単位のカラーを変化させる。
たとえば、CPU100は、身体単位のダメージ値の値に対応して白(Red:100%、Green:100%、Blue:100%)から赤(Red:100%、Green:0%、Blue:0%)になるよう段階的又は無段階的に変化させることができる。
なお、この身体単位の各ポリゴンのカラーについては、時間tの経過に従って、設定した色から別の所定色になるように変化させるといった演出を行うことも可能である。
【0080】
(ステップS210)
次に、CPU100は、描画部350を用いて、ヒットエフェクト描画処理を行う。
具体的に、CPU100は、ヒットエフェクトオブジェクト450をレンダリングするよう、グラフィックプロセッサ160のレンダリング部164に指示する。
この際、CPU100は、ヒット箇所から所定距離離れた箇所等にヒットエフェクトを描画させる。CPU100は、この場合、ヒットエフェクトオブジェクト450が半透明で光るように描画させて、見た目が派手やかな演出をしてもよい。さらに、ヒット箇所から衣服の破片や体液等が飛び散るような描写をしてもよい。
加えて、CPU100は、プレーヤオブジェクト410又は敵オブジェクト430が光ったり、炎を出すような闘う気力を表現するヒットエフェクトを描写するようレンダリング部164に指示することもできる。
【0081】
(ステップS211)
次に、CPU100は、描画部350を用いて、透明度設定処理を行う。
具体的に、CPU100は、この透明度(アルファブレンド値)について、上述の時間tに係る係数aの値を用いて、ヒットされたキャラクタに係るクローンオブジェクトの身体単位の透明度が時間tに比例して高まるような値を算出する。すなわち、ヒットされたキャラクタに係るクローンオブジェクトの身体単位は、時間tに従って透明になるように設定する。
これにより、所定時間が経過すると、クローンオブジェクトの身体単位が画面上で見えなくなるため、身体単位の描画に不自然さが少なくなるという効果が得られる。また、完全に透明になった時間tで身体単位の描画を終了できるため、描画の処理を処理を軽くできる。
なお、この透明度は、時刻tが少ない値の時に完全に透明にして、それから不透明度が高くなり、その後透明になるといった処理を行うこともできる。また、点滅させるように透明度を変更することもできる。
【0082】
(ステップS212)
次に、CPU100は、描画部350を用いて、クローン描画処理を行う。
具体的には、CPU100は、ヒットされたキャラクタに係るクローンオブジェクトの表示すべき身体単位を描画するよう、グラフィックプロセッサ160のレンダリング部164に指示する。
この際、描画するクローンオブジェクトの身体部位について、上述のカラーと透明度を設定して描画する。
描画の際には、単に半透明に描画するのではなく、例えば、レンダリングする身体単位を光らせるような明度の加算処理を行うこともできる。これにより、クローンオブジェクトを他のオブジェクトに埋没させることなく目立たせて表示できる。
【0083】
ここで、図8A〜図9Bを参照して、具体的なクローン描画処理について説明する。
図8Aは、敵オブジェクト430の「パンチ」の技による攻撃が、プレーヤオブジェクト410のヒップの身体部位モデルデータ513−4にヒットした画面例を示している。この結果として、プレーヤクローンオブジェクト420の身体単位として胴部の身体部位モデルデータ523−3、523−4が、ヒットされた方向に、ダメージ表現として描画されている。
図8Bは、図8Aのヒットより時間tが経過した例について示している。時間tの経過後に、胴部の身体部位モデルデータ523−3、523−4が、より後方に少し拡大されて、ダメージ表現として描画されている。また、プレーヤオブジェクト410は、アニメーションのモーションが進んでいることも分かる。
図9Aは、敵オブジェクト430の「キック」の技による攻撃が、プレーヤオブジェクト410のボディの身体部位モデルデータ513−3にヒットした画面例を示している。この場合でも、身体単位として胴部の身体部位モデルデータ523−3、523−4が、ヒットされた方向に、ダメージ表現として描画されている。また、キックの技の方が与えるダメージが大きいため、より明るいヒットエフェクトオブジェクト450が描画されている。
図9Bは、図9Aのヒットより時間tが経過した例である。ここでも、胴部の身体部位モデルデータ523−3、523−4が、より後方に少し拡大されて、ダメージ表現として描画され、アニメーションのモーションが進んでいる。
【0084】
なお、描画の際には、単純に白い色の身体単位を描画するのではなく、シェーダーを用いて、例えば、ガウスフィルタ等で輪郭をぼやかすように表示するような処理を行うこともできる。
また、このダメージ表現に対応して、オーディオプロセッサ180は、効果音やBGMを送出する。これに加えて、例えば、ヒットされた側のキャラクタが持ち物を落としたり、背景オブジェクト460が壊れたりといった付随的な処理を行うことができる。
以上により、ダメージ表現処理を終了する。
【0085】
以上のように構成することで、以下のような効果を得ることができる。
上述したように、従来技術1のゲーム装置においては、単にダメージを受けた/与えた回数に応じて、次のターン等でキャラクタ描画時の画像の表現を変化させることができるだけであった。
このため、プレーヤが攻撃自体を敵キャラクタに与えた/敵キャラクタから受けた衝撃であるかを知ることが難いという問題があった。
これに対して、本発明の実施の形態に係るゲーム装置10においては、ヒットされたクローンオブジェクトの身体単位が描画されることにより、ダメージを視覚的、グラフィカルに表現できる。よって、プレーヤが攻撃自体を敵キャラクタに与えたのか、敵キャラクタから攻撃を受けたのかについて、容易に知ることができる。
さらに、本発明の実施の形態に係るゲーム装置10においては、プレーヤキャラクタと敵キャラクタとについて、別々に身体単位毎に描画することができる。このため、プレーヤオブジェクト410と敵オブジェクト430それぞれについて、別々のモーションのダメージ表現処理を行うことができる。よって、プレーヤが攻撃自体を敵キャラクタに与えたのか、敵キャラクタから攻撃を受けたのかについて、分かりやすいという効果が得られる。
【0086】
また、従来は、モーションブラーの表現として、1画面を描画するために、モーションの異なる複数の描画済み画面を時間的に重ねて表示する、すなわち一度に複数の画面の全体をレンダリングして重ねるといった非常に処理の負担が重い処理を行っていた。
これに対して、本発明の実施の形態に係るゲーム装置10においては、ヒットされたクローンオブジェクトの身体単位毎に描画する。これにより、1つのクローンオブジェクトの身体単位のみの描画にて、モーションブラーのようにヒットの際の動きを感じさせるような演出を行うことができる。よって、従来のモーションブラーの表現のような重い処理を行う必要がない。また、クローンオブジェクトのバッファのみを用意すれば良いため、複数画面描画用のバッファも必要ない。よって、グラフィックプロセッサ160の回路規模が限られている携帯用ゲーム装置についても適用でき、コストを低減できる。
また、プレーヤキャラクタと敵キャラクタだけにダメージ表現を行い、他の背景オブジェクト460等はモーションブラーのような効果をさせないことができる。これにより、ダメージ表現として分かりやすい。
【0087】
また、本発明の実施の形態に係るゲーム装置10においては、ヒットされたクローンオブジェクトの身体単位が、ヒットからの時間tにより、離れ、拡大し、透明度が高くなるように描画する。これにより、ヒットにおける演出性を高めることができ、バトルのゲーム性を高めることができる。
また、本発明の実施の形態に係るゲーム装置10においては、ダメージ値が大きい場合、身体のアニメーションのモーション動き(座標変化)が大きくなるため、より遠くにオブジェクトの身体単位を描画することができ、ダメージが分かりやすい。
また、本発明の実施の形態に係るゲーム装置10においては、ヒットされたクローンオブジェクトの身体単位について、蓄積したダメージ値により色を変化させて表現する。これにより、各身体単位のダメージについて分かりやすく表現できる。よって、ヒットポイントをメーター等にて描画しなくても、勝ち負けに係るダメージについて推測、理解しやすいという効果が得られる。
また、本発明の実施の形態に係るゲーム装置10においては、単一の身体部位ではなく、攻撃する動作に関わるいくつかの身体単位をヒエラルキーから選択して表示することで、より分かりやすくダメージを表現することができる。
また、本発明の実施の形態に係るゲーム装置10においては、ヒットされたクローンにはテクスチャを貼らないか単色のテクスチャかヒットエフェクト用のテクスチャを用いることができる。これにより、身体単位のテクスチャや衣服の色合い等に関わらず、ダメージを分かりやすく表現できる。また、身体がダメージを受けているという感覚を、より視覚的に表現することができる。
【0088】
また、本発明の実施の形態に係るゲーム装置10においては、キャラクタの部位毎にダメージ表現を行うゲーム装置において、プレーヤオブジェクト410又は敵オブジェクト430のコピーを含むクローンオブジェクトであるプレーヤクローンオブジェクト420又は敵クローンオブジェクト440を作成するクローン作成部310、プレーヤオブジェクト410又は敵オブジェクト430に攻撃が当たった際の身体部位を算出するヒット判定部325、算出されたプレーヤクローンオブジェクト420又は敵クローンオブジェクト440の身体部位を、攻撃が当たった時間の経過に従って、プレーヤオブジェクト410又は敵オブジェクト430からローカル座標系において離れるように移動値調整を行う座標算出部を備えることを特徴とする。
【0089】
なお、上述の実施の形態のダメージ表現方法においては、プレーヤオブジェクト410又は敵オブジェクト430に対して、クローンオブジェクトを、それぞれ1つ用意するように説明したが、これに限られない。たとえば、複数のクローンオブジェクトを用意し、それぞれが時間tの経過により異なるモーションを取るように設定することができる。これにより、あたかもモーションブローのような効果を実現でき、より演出性を高めることができる。このような処理に対して、さらにシェーダーを用いてぼかして複数レンダリングするようなモーションブローの効果を付加して派手に描画することもできる。さらに、ヒットした「技」により、描画するクローンオブジェクトの数を変化させるといった演出上の変化を伴わせることもできる。
さらに、上述の実施の形態のダメージ表現方法においては、クローンオブジェクトについて、身体単位で描画を行うように説明した。しかしながら、身体部位モデルデータ単位で描画したり、クローンオブジェクトの全体の単位で描画するように構成してもよい。全体の単位で描画する場合は、ダメージを受けた身体単位のみ色を変化させるといった演出も可能である。さらに、ヒットされた側のクローンオブジェクトの身体単位に加えて、ヒットした側の身体単位がヒットされた側を突き抜けて表示されるように構成してもよい。
また、ダメージ表現において、x',z'を単純に移動するのでなく、クローンオブジェクトを変形して浮き出すように構成することもできる。さらに、x',z'だけでなく、y’(Y軸方向)についても、浮き出すように構成することもできる。また、ヒットの方向そのものではなく、ヒットされたことにより変化した身体の方向に付随して浮き出すように描画してもよい。これにより、ヒットされて身体が回転するような演出にも対応できる。
また、ダメージ表現の際、クローンオブジェクトの身体単位について、色を変化させるのではなく、点滅や明度/彩度の変化等で演出することもできる。たとえば、身体単位のダメージ値の大きさにより、身体単位の明るさがどんどん暗くなっていくように表現できる。また、式(2)や式(3)の関数にダメージ値を与えるようにして、例えば、ダメージ値により、x',z'をより大きくしたり、拡大率を大きくしたりといった演出を行うようにして表現することもできる。
また、プレーヤキャラクタの身体部位ダメージデータ213−1〜213−nの合計が所定値以上に大きくなってきたとき、すなわち全体のダメージ値であるヒットポイントが少なくなってきたときは、画面全体の色を赤くする等の表現にて、負けが近いことを知らせるように表現することもできる。
また、1つのクローンオブジェクトの身体単位が表示されている際に、別の攻撃がヒットした場合には、クローンオブジェクトの身体単位の表示を当該別の攻撃に合わせて表示し直すことができる。また、前の攻撃の時間tが所定時間経過するまで、クローンオブジェクトの身体単位を表示しつづけるように描画することもできる。これにより、攻撃のスピードに沿ったダメージ表現の演出が可能になる。
【0090】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【産業上の利用可能性】
【0091】
本発明のゲーム装置は、ダメージ表現に係る演出が分かりやすく、ゲーム性を高められるため、各種ゲーム装置に適用でき、産業上利用可能性がある。
【符号の説明】
【0092】
10 ゲーム装置
100 CPU
110 主記憶部
120 補助記憶部
130 BIOS
140 ペリフェラルI/F
150 バスアービタ
160 グラフィックプロセッサ
162 ジオメトリ部
164 レンダリング部
170 グラフィックメモリ
175 ビデオBIOS
180 オーディオプロセッサ
190 オーディオメモリ
200 通信I/F
210 プレーヤキャラクタデータ
211 キャラクタ属性データ
212 技データ
213−1〜213−n 身体部位ダメージデータ
220 敵キャラクタデータ
300 対戦格闘部
310 クローン作成部
320 座標算出部
325 ヒット判定部
330 ダメージ算出部
340 カラー変更部
350 描画部
410 プレーヤオブジェクト
420 プレーヤクローンオブジェクト
430 敵オブジェクト
440 敵クローンオブジェクト
450 ヒットエフェクトオブジェクト
460 背景オブジェクト
510、520 全体座標データ
512、522 ヒエラルキーデータ
513−1〜513−n、523−1〜523−n 身体部位モデルデータ
514、524 ボーンデータ
515−1〜515−n、525−1〜525−n アニメーションデータ
517 テクスチャデータ

【特許請求の範囲】
【請求項1】
仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置の制御プログラムにおいて、
前記ゲーム装置の制御部を、
前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、
前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位について攻撃があった身体部位を判定するヒット判定部、
算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部
として機能させることを特徴とするゲーム装置の制御プログラム。
【請求項2】
請求項1記載の制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項3】
仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、
前記ゲーム装置の制御部が、
前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部、
前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部、
算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部
として機能するように制御することを特徴とするゲーム装置の制御方法。
【請求項4】
仮想三次元空間に配置されるキャラクタオブジェクトの部位毎にダメージ表現を行うゲーム装置において、
前記キャラクタオブジェクトのデータを含むクローンオブジェクトを作成するクローン作成部と、
前記キャラクタオブジェクトに攻撃が当たったとき、前記キャラクタオブジェクトを構成する身体部位の攻撃があった身体部位を判定するヒット判定部と、
算出された前記クローンオブジェクトの前記身体部位を、前記攻撃が当たってからの時間の経過に従って、前記キャラクタオブジェクトからローカル座標系において離れるように移動値調整を行う座標算出部と
を備えることを特徴とするゲーム装置。
【請求項5】
前記座標算出部は、更に前記クローンオブジェクトの前記身体部位を、前記時間の経過に従って拡大するよう移動値調整を行う
ことを特徴とする請求項4に記載のゲーム装置。
【請求項6】
前記座標算出部は、前記移動値調整を、ヒエラルキーにて前記身体部位をまとめた身体単位毎に行う
ことを特徴とする請求項4又は5に記載のゲーム装置。
【請求項7】
前記キャラクタオブジェクトの身体部位毎のダメージ値を算出するダメージ算出部と、
前記ダメージ値に従って、前記身体部位のカラーを変化させるカラー変更部とを更に備える
ことを特徴とする請求項4から6のいずれか1項に記載のゲーム装置。
【請求項8】
前記クローンの前記身体部位を、前記時間の経過に従って透明になるように描画する描画部を更に備える
ことを特徴とする請求項4から7のいずれか1項に記載のゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9A】
image rotate

【図9B】
image rotate


【公開番号】特開2012−34779(P2012−34779A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−176557(P2010−176557)
【出願日】平成22年8月5日(2010.8.5)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】