説明

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

【課題】対戦の盛り上がりに応じたノンプレーヤキャラクタの移動や動作の制御を実現できるプログラム、画像生成システム等の提供。
【解決手段】画像生成システムは、プレーヤキャラクタ制御部と、プレーヤキャラクタと相手キャラクタとの間の対戦処理を含むゲーム演算処理を行うゲーム演算部と、ゲーム演算処理の結果に基づいて、盛り上がりパラメータの演算処理を行う盛り上がりパラメータ演算部と、ノンプレーヤキャラクタの制御処理を行うノンプレーヤキャラクタ制御部と、画像を生成する画像生成部を含む。ノンプレーヤキャラクタ制御部は、演算された前記盛り上がりパラメータに基づいて、ノンプレーヤキャラクタの移動及び動作の少なくとも一方を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【0002】
従来より、スポーツ選手を模したキャラクタ等のオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。テニスゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、コントローラなどの操作部を用いて自身のキャラクタを操作して、他のプレーヤやコンピュータが操作する相手キャラクタがショットしたボールをラケットで打ち返すことでゲームを楽しむ。このようなテニスゲームを楽しむことができる画像生成システムの従来技術としては、例えば特許文献1に開示される技術が知られている。
【0003】
しかしながら、これまでの画像生成システムでは、盛り上がった試合に対してギャラリーが集まってくるようなシステムについては提案されていなかった。
【0004】
例えば、試合を観戦するギャラリーを表現する手法として、多数のギャラリーが描かれたポリゴンを観客席の位置に配置する手法も考えられる。しかしながら、この手法では、ギャラリーの位置は固定的であり、集まったギャラリーの人数で盛り上がり感を演出することはできなかった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−307166号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の幾つかの態様によれば、対戦の盛り上がりに応じたノンプレーヤキャラクタの移動や動作の制御を実現できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【0007】
本発明の一態様は、プレーヤが操作するプレーヤキャラクタの制御処理を行うプレーヤキャラクタ制御部と、前記プレーヤキャラクタと相手キャラクタとの間の対戦処理を含むゲーム演算処理を行うゲーム演算部と、前記ゲーム演算処理の結果に基づいて、盛り上がりパラメータの演算処理を行う盛り上がりパラメータ演算部と、前記プレーヤキャラクタ及び前記相手キャラクタ以外のノンプレーヤキャラクタの制御処理を行うノンプレーヤキャラクタ制御部と、前記プレーヤキャラクタと前記相手キャラクタが対戦するための画像を生成する画像生成部とを含み、前記ノンプレーヤキャラクタ制御部は、演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタの移動及び動作の少なくとも一方を制御する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0008】
本発明の一態様によれば、プレーヤキャラクタと相手キャラクタとの間の対戦処理を含むゲーム演算処理が行われ、ゲーム演算処理の結果に基づいて、盛り上がりパラメータの演算処理が行われる。そして演算された盛り上がりパラメータに基づいて、ノンプレーヤキャラクタの移動及び動作の少なくとも一方が制御される。このようにすれば、対戦の盛り上がりに応じたノンプレーヤキャラクタの移動や動作の制御を実現できる。
【0009】
また本発明の一態様では、前記ゲーム演算部は、前記プレーヤキャラクタと前記相手キャラクタを対戦フィールド上で対戦させる対戦処理を行い、前記ノンプレーヤキャラクタ制御部は、前記対戦フィールド上での対戦処理において演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを移動元の位置から前記対戦フィールドの方へと移動させる制御を行ってもよい。
【0010】
このようにすれば、プレーヤキャラクタと相手キャラクタを対戦フィールド上で対戦させる対戦処理が行われ、この対戦処理において演算された盛り上がりパラメータに基づいて、ノンプレーヤキャラクタが対戦フィールドの方へと移動するようになる。従って、対戦の盛り上がりに応じて、ノンプレーヤキャラクタを対戦フィールドの方へ集めることが可能になり、ノンプレーヤキャラクタが集まることによる盛り上がり感を実現できる。
【0011】
また本発明の一態様では、前記ノンプレーヤキャラクタ制御部は、前記ノンプレーヤキャラクタの移動元の位置と前記対戦フィールドとの間の距離情報と、前記盛り上がりパラメータとに基づいて、前記ノンプレーヤキャラクタを前記対戦フィールドの方に移動させるか否かを判定してもよい。
【0012】
このようにすれば、ノンプレーヤキャラクタの距離情報と盛り上がりパラメータの両方を考慮したノンプレーヤキャラクタの移動制御を実現できる。
【0013】
また本発明の一態様では、前記ノンプレーヤキャラクタ制御部は、前記対戦フィールドの周囲に設定された配置ポジションに、前記ノンプレーヤキャラクタを移動させる制御を行ってもよい。
【0014】
このようにすれば、ノンプレーヤキャラクタを対戦フィールドの方へ移動させる制御を簡素化できる。
【0015】
また本発明の一態様では、前記ノンプレーヤキャラクタ制御部は、ゲーム結果及び前記盛り上がりパラメータの少なくとも一方に応じて、前記配置ポジションの数を増加又は減少させてもよい。
【0016】
このようにすれば、ゲーム結果や盛り上がりパラメータに応じて、配置ポジションの数が増減するようになり、多様な盛り上がり感を表現できる。
【0017】
また本発明の一態様では、前記ノンプレーヤキャラクタ制御部は、前記配置ポジションに移動した後の前記ノンプレーヤキャラクタの動作を、前記盛り上がりパラメータに基づいて制御してもよい。
【0018】
このようにすれば、配置ポジションへの移動後も、ノンプレーヤキャラクタの動作を制御して、対戦の盛り上がり感を向上できるようになる。
【0019】
また本発明の一態様では、前記対戦フィールドは、前記プレーヤキャラクタ用の第1のフィールドと、前記相手キャラクタ用の第2のフィールドを有し、前記盛り上がりパラメータ演算部は、複数の盛り上がり判定条件に基づいて、前記盛り上がりパラメータの演算処理を行い、前記ノンプレーヤキャラクタ制御部は、前記複数の盛り上がり判定条件のうちの第1の盛り上がり判定条件が満たされた場合には、前記第1、第2のフィールドのいずれか一方のみのフィールドの周囲の配置ポジションに前記ノンプレーヤキャラクタを移動させる制御を行い、前記複数の盛り上がり判定条件のうちの第2の盛り上がり判定条件が満たされた場合には、前記第1、第2のフィールドの両方のフィールドの周囲の配置ポジションに前記ノンプレーヤキャラクタを移動させる制御を行ってもよい。
【0020】
このようにすれば、第1の盛り上がり判定条件が満たされた場合には、一方のフィールドの方にのみノンプレーヤキャラクタを集めて、対戦を盛り上げることが可能になる。一方、第2の盛り上がり判定条件が満たされた場合には、第1、第2のフィールドの両方にノンプレーヤキャラクタを集めて、全体的に対戦を盛り上げることが可能になる。
【0021】
また本発明の一態様では、前記盛り上がりパラメータ演算部は、複数の盛り上がり判定条件に基づいて、前記盛り上がりパラメータの演算処理を行い、前記ノンプレーヤキャラクタ制御部は、前記複数の盛り上がり判定条件に基づき演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを制御してもよい。
【0022】
このようにすれば、複数の盛り上がり判定条件により盛り上がりパラメータを演算して、ノンプレーヤキャラクタを制御できるようになる。
【0023】
また本発明の一態様では、前記盛り上がりパラメータ演算部は、前記複数の盛り上がり判定条件の各盛り上がり判定条件に基づいて、複数の個別盛り上がりパラメータの各個別盛り上がりパラメータの演算処理を行い、前記ノンプレーヤキャラクタ制御部は、演算された前記複数の個別盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを制御してもよい。
【0024】
このようにすれば、各盛り上がり判定条件に対応する個別的な盛り上がりパラメータにより、ノンプレーヤキャラクタを制御できるようになる。
【0025】
また本発明の一態様では、前記盛り上がりパラメータ演算部は、前記複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理を行い、前記ノンプレーヤキャラクタ制御部は、演算された前記全体盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを制御してもよい。
【0026】
このようにすれば、複数の盛り上がり判定条件を利用した全体的な盛り上がりパラメータにより、ノンプレーヤキャラクタを制御できるようになる。
【0027】
また本発明の一態様では、前記ゲーム演算部は、前記プレーヤキャラクタと前記相手キャラクタを対戦フィールド上で対戦させる対戦処理を行い、前記ノンプレーヤキャラクタ制御部は、前記ノンプレーヤキャラクタの移動元の位置と前記対戦フィールドとの間の距離情報と、前記全体盛り上がりパラメータとに基づいて、前記ノンプレーヤキャラクタを前記対戦フィールドの方に移動させるか否かを判定してもよい。
【0028】
このようにすれば、ノンプレーヤキャラクタの距離情報と全体盛り上がりパラメータの両方を考慮したノンプレーヤキャラクタの移動制御を実現できる。
【0029】
また本発明の一態様では、前記盛り上がりパラメータ演算部は、前記複数の盛り上がり判定条件の各盛り上がり判定条件に基づいて、複数の個別盛り上がりパラメータの各個別盛り上がりパラメータの演算処理を行うと共に、前記複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理を行い、前記ノンプレーヤキャラクタ制御部は、前記個別盛り上がりパラメータに基づく制御を行わないと判断されたノンプレーヤキャラクタについても、前記全体盛り上がりパラメータに基づいて制御してもよい。
【0030】
このようにすれば、個別盛り上がりパラメータによりノンプレーヤキャラクタが制御されない場合にも、全体盛り上がりパラメータによりノンプレーヤキャラクタを制御できるようになる。
【0031】
また本発明の一態様では、第1〜第Nのノンプレーヤキャラクタの第K(1≦K≦N)のノンプレーヤキャラクタに対して、前記複数の盛り上がり判定条件のうちの少なくとも1つの盛り上がり判定条件が対応づけられており、前記ノンプレーヤキャラクタ制御部は、前記第Kのノンプレーヤキャラクタに対応づけられた盛り上がり判定条件に基づいて、前記第Kのノンプレーヤキャラクタを制御してもよい。
【0032】
このようにノンプレーヤキャラクタに対して少なくも1つの盛り上がり判定条件を対応づければ、ノンプレーヤキャラクタが画一的に移動したり動作してしまう事態等を防止できる。
【0033】
また本発明の一態様では、前記プレーヤキャラクタが所持する所持オブジェクト又は前記プレーヤキャラクタを構成する部位オブジェクトと、前記所持オブジェクト又は前記部位オブジェクトによりヒットされるヒット対象物とのヒット演算処理を行うヒット演算処理部を含み、前記ヒット演算処理部は、前記盛り上がりパラメータに基づいて、前記ヒット演算処理を行ってもよい。
【0034】
このようすれば、ノンプレーヤキャラクタを制御するための盛り上がりパラメータを有効活用したヒット演算処理を実現できる。
【0035】
また本発明の一態様では、前記ヒット演算処理部は、前記盛り上がりパラメータに基づいて、前記ヒット演算処理におけるヒット判定エリアを制御してもよい。
【0036】
このようにすれば、盛り上がりパラメータに応じて、ヒット判定エリアの大きさ等を制御することが可能になる。
【図面の簡単な説明】
【0037】
【図1】本実施形態の画像生成システムの構成例。
【図2】プレーヤによるコントローラの操作の説明図。
【図3】図3(A)、図3(B)はコントローラの構成例。
【図4】コントローラの各座標軸回りでの回転角度情報の説明図。
【図5】図5(A)、図5(B)はコート配置等の説明図。
【図6】図6(A)、図6(B)は、盛り上がりパラメータに基づくノンプレーヤキャラクタの制御手法の説明図。
【図7】ノンプレーヤキャラクタの距離情報と盛り上がりパラメータに基づくノンプレーヤキャラクタの制御手法の説明図。
【図8】ノンプレーヤキャラクタの距離情報と盛り上がりパラメータに基づくノンプレーヤキャラクタの制御手法の説明図。
【図9】図9(A)〜図9(C)はコートの周囲に設定された配置ポジションの説明図。
【図10】配置ポジションへの移動後のノンプレーヤキャラクタの動作制御手法の説明図。
【図11】盛り上がり判定条件の説明図。
【図12】図12(A)〜図12(C)は個別盛り上がり判定パラメータ、全体盛り上がりパラメータに基づくノンプレーヤキャラクタの制御手法の説明図。
【図13】本実施形態の詳細な処理例のフローチャート。
【図14】図14(A)、図14(B)は本実施形態の詳細な処理例のフローチャート。
【図15】図15(A)、図15(B)はキャラクタのスイング動作の例。
【図16】キャラクタのスイング動作の例。
【図17】図17(A)〜図17(C)はヒット時の回転角度情報に基づくヒット演算処理の説明図。
【図18】図18(A)〜図18(C)はヒット判定区間で取得された回転角度情報に基づくヒット演算処理の説明図。
【図19】図19(A)〜図19(D)はヒット後のボールの移動状態、動作状態の説明図。
【図20】加速度情報と盛り上がりパラメータに基づくボールのヒット強さ情報の設定手法の説明図。
【図21】基準ポジションの検出手法の説明図。
【図22】図22(A)〜図22(F)はヒット判定エリアの設定手法の説明図。
【発明を実施するための形態】
【0038】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0039】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)のブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0040】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【0041】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
【0042】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0043】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0044】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【0045】
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0046】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0047】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0048】
処理部100は、操作情報取得部101、ゲーム演算部102、オブジェクト空間設定部104、ヒット演算処理部106、盛り上がりパラメータ演算部108、キャラクタ制御部114、仮想カメラ制御部118、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0049】
操作情報取得部101は、プレーヤが操作部160を用いて各種操作を行うと、その操作情報を取得する。例えば操作部160としてセンサ(例えば角速度センサ又は加速度センサ等)を有するコントローラ(図2参照)を用いたとする。この場合には操作情報取得部101は、このコントローラからのセンサ情報(センサの出力信号又は当該出力信号に所定の処理を施した情報)に基づいて、所定座標軸回り(少なくとも1つの座標軸回り)でのコントローラの回転角度情報(回転角度、回転角度と等価なパラメータ)を、操作情報として取得する。例えばコントローラの長手方向(長軸方向)に沿って設定された座標軸を第3の座標軸とし、第3の座標軸に直交する座標軸を第1、第2の座標軸としたとする。この場合に、操作情報取得部101は、第3の座標軸回りでの回転角度情報である第3の回転角度情報を取得する。或いは第1、第2の座標軸回りでの回転角度情報である第1、第2の回転角度情報を取得する。例えばコントローラが有する角速度センサのセンサ情報に基づいて第1、第2、第3の回転角度情報を取得する。またコントローラが加速度センサを有する場合には、例えば第3の座標軸に沿った方向での加速度情報を取得する。或いは、第1、第2の座標軸に沿った方向での加速度情報を取得してもよい。
【0050】
ゲーム演算部102はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0051】
本実施形態ではゲーム演算部102は、プレーヤキャラクタと相手キャラクタとの間の対戦処理を含むゲーム演算処理を行う。例えばプレーヤキャラクタと相手キャラクタを対戦フィールド上で対戦させる対戦処理を行う。ここでプレーヤキャラクタはプレーヤにより操作されるキャラクタである。即ち操作部160により操作され、その操作情報が操作情報取得部101により取得されるキャラクタである。一方、相手キャラクタ(対戦キャラクタ)は、相手プレーヤ又はコンピュータにより操作され、プレーヤキャラクタの対戦相手等となるキャラクタである。これらのプレーヤキャラクタや相手キャラクタは複数であってもよい。また対戦としては、例えばスポーツゲーム、格闘ゲーム、戦闘ゲーム、ボードゲーム、或いはカードゲームなどの種々のゲームの対戦を想定できる。また対戦フィールドは、プレーヤキャラクタと相手キャラクタの対戦が繰り広げられるフィールドであり、テニスゲームにおけるコート、野球ゲームにおけるグラウンド、格闘ゲームにおける格闘ステージ、戦闘ゲームにおける戦闘フィールド等の種々のフィールドを想定できる。
【0052】
またゲーム演算部102が行う対戦処理としては、対戦開始条件が満たされた場合に、プレーヤキャラクタと相手キャラクタの対戦を開始する処理、プレーヤキャラクタと相手キャラクタの対戦を進行させる処理、対戦結果(得点、ポイント等)を演算する処理、或いは対戦終了条件が満たされた場合に対戦を終了する処理などがある。
【0053】
オブジェクト空間設定部104は、キャラクタ等のモデルオブジェクト(人、ロボット、車、戦闘機、ミサイル、弾等の移動体)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部172には、オブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。
【0054】
ヒット演算処理部106は、ヒット体とヒット対象物のヒット演算処理を行う。例えば、操作情報取得部101により取得された回転角度情報に基づいて、ヒット体によりヒットされるヒット対象物のヒット後の移動状態及び動作状態の少なくとも一方を設定する。
【0055】
ここでヒット体は、ヒット対象物をヒットするためのオブジェクトであり、例えばキャラクタが所持(把持)する所持オブジェクト(把持オブジェクト)や、キャラクタを構成する部位オブジェクトなどを想定できる。キャラクタの所持オブジェクトとしては、例えばテニス、卓球、バトミントン等のラケットや、野球のバットや、ゴルフのクラブや、剣等の武器や、マラカス等の楽器や、或いはドラムのスティック等を想定できる。キャラクタの部位オブジェクトとしては、手、足、頭、胴体等の部位を想定できる。ヒット対象物は、ヒット体によりヒットされるものであり、ヒット対象物としては、ボールや、他キャラクタの武器や、壁、床等の固定物や、他キャラクタの手、足、頭、胴体等の部位を想定できる。
【0056】
またヒット対象物のヒット後の移動状態は、例えば、ヒット後のヒット対象物の移動方向、移動速度、或いは移動加速度等である。またヒット対象物のヒット後の動作状態は、例えばヒット後のヒット対象物の回転状態、或いはモーション状態等である。回転状態は、ヒット対象物の回転方向、回転速度(角速度)、或いは回転加速度(角加速度)等であり、モーション状態は、ヒット対象物をモーションデータ等により動作させた場合の各種状態である。
【0057】
本実施形態ではヒット演算処理部106は、プレーヤキャラクタの所持オブジェクト又は部位オブジェクトと、所持オブジェクト又は部位オブジェクトによりヒットされるヒット対象物とのヒット演算処理を行う。この場合にヒット演算処理部106は、盛り上がりパラメータに基づいてヒット演算処理を行う。例えば盛り上がりパラメータに基づいて、ヒット演算処理におけるヒット判定エリアを制御する。例えばヒット判定エリアの大きさを変化させる。或いは、ヒット対象物のヒット後の移動状態及び動作状態の少なくとも一方を、盛り上がりパラメータに基づいて変化させる。例えばヒット対象物のヒット後の移動速度、回転速度、ヒットの強さ等を、盛り上がりパラメータに応じて変化させる。
【0058】
また操作情報取得部101が、コントローラの長軸方向に沿って設定された第3の座標軸回りでの第3の回転角度情報を取得したとする。この場合にヒット演算処理部106は、第3の座標軸回りでの第3の回転角度情報に基づいて、ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定する。またヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を、盛り上がりパラメータに基づいて変化させる。
【0059】
盛り上がりパラメータ演算部108は盛り上がりパラメータの演算処理を行う。そして盛り上がりパラメータの演算結果(パラメータ値、フラグ)はパラメータ記憶部178に記憶(保存)される。ここで盛り上がりパラメータは、プレーヤキャラクタと相手キャラクタの対戦の盛り上がり度を数値データやフラグで表すパラメータである。
【0060】
例えば本実施形態では、プレーヤキャラクタと相手キャラクタの間の対戦が盛り上がったか否かを判定するための盛り上がり判定条件が用意される。そして、盛り上がりパラメータ演算部108は、これらの盛り上がり判定条件に基づいて盛り上がりパラメータの演算処理を行う。ここで盛り上がり判定条件は、対戦状況や対戦結果が所定状況や所定結果になったどうかの条件であり、この条件が満たされると、対戦における盛り上がり度が変化したと判断される。例えば盛り上がりパラメータ演算部108は、対戦状況や対戦結果が所定状況や所定結果になった場合に、その所定状況や所定結果に対応づけられた盛り上がり判定条件が満たされたと判断し、その盛り上がり判定条件に対応づけられた盛り上がりパラメータの値を変化(増減)させたり、盛り上がりパラメータのフラグをセットする。
【0061】
例えば盛り上がりパラメータ演算部108は、複数の盛り上がり判定条件の各盛り上がり判定条件に基づいて、複数の個別盛り上がりパラメータの各個別盛り上がりパラメータの演算処理を行う。例えば第1〜第nの盛り上がり判定条件に対して第1〜第nの個別盛り上がりパラメータが対応づけられたとすると、第1〜第nの各盛り上がり判定条件が成立したか否かを判断することで、第1〜第nの各個別盛り上がりパラメータの値を変化させたり、フラグをセットするなどの演算処理を行う。
【0062】
また盛り上がりパラメータ演算部108は、複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理を行う。ここで全体盛り上がりパラメータは、プレーヤキャラクタと相手キャラクタの対戦の全体的な盛り上がり度を数値データ等で表すパラメータである。全体盛り上がりパラメータは、複数の盛り上がり判定条件のトータルで判断される。例えば複数の盛り上がり判定条件の各盛り上がり判定条件が成立すると、成立した盛り上がり判定条件に対応づけられた加算ポイントの分だけ、全体盛り上がりパラメータの値が変化する。
【0063】
なお盛り上がりパラメータ演算部108は、複数の盛り上がり判定条件の各盛り上がり判定条件に基づいて、複数の個別盛り上がりパラメータの各個別盛り上がりパラメータの演算処理を行うと共に、複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理を行ってもよい。即ち個別盛り上がりパラメータと全体盛り上がりパラメータの両方を演算する。
【0064】
キャラクタ制御部114は、キャラクタの制御処理を行う。キャラクタはゲームに登場する人、ロボット、動物等の移動体である。具体的にはキャラクタ制御部114は、キャラクタ(モデルオブジェクト)を移動させるための演算を行う。或いはキャラクタを動作させるための演算を行う。即ち操作情報取得部101により取得された操作情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、キャラクタをオブジェクト空間内で移動させたり、キャラクタを動作(モーション、アニメーション)させる処理を行う。具体的には、キャラクタの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0065】
例えばキャラクタ制御部114は、モーション記憶部174に記憶されるモーションデータに基づいて、キャラクタのモーション処理(モーション生成、モーション再生)を行う。具体的には、キャラクタ(スケルトン)を構成する各部位オブジェクト(スケルトンを構成する骨)の位置又は回転角度(方向)等を含むモーションデータを、モーション記憶部174から読み出す。そして、キャラクタの各部位オブジェクト(骨)を動かすことで(スケルトン形状を変形させることで)、キャラクタを動作させる。
【0066】
キャラクタ制御部114はプレーヤキャラクタ制御部115、ノンプレーヤキャラクタ制御部116を含む。
【0067】
プレーヤキャラクタ制御部115は、プレーヤが操作するプレーヤキャラクタの制御処理を行う。例えば操作情報取得部101により取得されたプレーヤの操作情報に基づいて、プレーヤキャラクタを移動させたり、動作(モーション)させる処理を行う。
【0068】
ノンプレーヤキャラクタ制御部116は、対戦中のプレーヤキャラクタ及び相手キャラクタ以外のキャラクタであるノンプレーヤキャラクタ(NPC)の制御処理を行う。例えばノンプレーヤキャラクタを制御する所定のアルゴリズム(プログラム)にしたがって、ノンプレーヤキャラクタを移動させたり、動作(モーション)させる処理を行う。
【0069】
そして本実施形態では、盛り上がりパラメータ演算部108が盛り上がりパラメータを演算すると、ノンプレーヤキャラクタ制御部116は、演算された盛り上がりパラメータ(パラメータ値、フラグ)に基づいて、ノンプレーヤキャラクタの移動及び動作の少なくとも一方を制御する。例えば盛り上がりパラメータにより、プレーヤキャラクタと相手キャラクタの対戦が盛り上がったと判断される場合には、その盛り上がりを表現(画像表現)するための移動や動作を、プレーヤキャラクタに行わせる。
【0070】
具体的には、プレーヤキャラクタと相手キャラクタが対戦フィールド上で対戦する処理が行われたとする。この場合にはノンプレーヤキャラクタ制御部116は、対戦フィールド上での対戦処理において演算された盛り上がりパラメータに基づいて、ノンプレーヤキャラクタを移動元の位置から対戦フィールドの方へと移動させる制御を行う。例えば対戦フィールドから離れた場所に位置するノンプレーヤキャラクタを、対戦フィールドの近く(周囲等)に移動させる制御を行う。
【0071】
この場合にノンプレーヤキャラクタ制御部116は、ノンプレーヤキャラクタの移動元の位置(ノンプレーヤキャラクタが元に居た場所)と、対戦フィールドとの間の距離情報を取得する。そして取得された距離情報と、盛り上がりパラメータとに基づいて、ノンプレーヤキャラクタを対戦フィールドの方(対戦フィールドの近傍、周囲)に移動させるか否かを判定する。例えば移動元の位置と対戦フィールドの距離が近い場合には、盛り上がりパラメータの値が小さくても、ノンプレーヤキャラクタを対戦フィールドの方に移動させる。一方、移動元の位置と対戦フィールドの距離が遠い場合には、盛り上がりパラメータの値が所定しきい値よりも大きくなければ、ノンプレーヤキャラクタを対戦フィールドの方に移動させない。即ち、移動元の位置と対戦フィールドの距離が遠いほど、ノンプレーヤキャラクタを対戦フィールドの方に移動させるための盛り上がりパラメータのしきい値を大きくする。なお距離情報は、ノンプレーヤキャラクタの移動元の位置と対戦フィールド(代表位置、配置ポジション)との間の距離を表す情報である。
【0072】
またノンプレーヤキャラクタ制御部116は、対戦フィールドの周囲に設定された配置ポジションに、ノンプレーヤキャラクタを移動させる制御を行う。例えば対戦フィールドの周囲(対戦を行わない場所)に複数の配置ポジションを設定する。そして、これらの複数の配置ポジションのうちのいずれかの配置ポジションを選択し、対戦フィールドの方に移動させると判断されたノンプレーヤキャラクタを、選択された配置ポジションに移動させる。この場合に、ゲーム結果(対戦結果)及び盛り上がりパラメータの少なくとも一方に応じて、配置ポジションの数を増加又は減少させてもよい。例えば、そのプレーヤのゲーム結果が高いほど、或いは盛り上がりパラメータの値が高いほど、配置ポジションの数を増加させる。具体的には、ある対戦でのプレーヤのゲーム結果の評価値が所定しきい値よりも高いと判断された場合や、その対戦での盛り上がりパラメータの値が所定しきい値よりも高いと判断された場合には、例えば次の対戦での配置ポジションの数を増加させる。
【0073】
またノンプレーヤキャラクタ制御部116は、配置ポジションに移動した後のノンプレーヤキャラクタの動作を、盛り上がりパラメータに基づいて制御してもよい。例えば対戦フィールドに集まったプレーヤキャラクタの動作(モーション、演出動作を、その対戦での盛り上がりパラメータに基づいて変化させる。
【0074】
また対戦フィールドが、プレーヤキャラクタ用の第1のフィールド(例えばプレーヤ側のコート等)と、相手キャラクタ用の第2のフィールド(例えば相手側のコート等)を有していたとする。この場合にノンプレーヤキャラクタ制御部116は、複数の盛り上がり判定条件のうちの第1の盛り上がり判定条件が満たされた場合には、第1、第2のフィールドのいずれか一方のみのフィールドの周囲の配置ポジションに、ノンプレーヤキャラクタを移動させる制御を行う。例えば勝っている側のキャラクタや、スーパープレイなどの所定のプレイ(所定動作)を行ったキャラクタのフィールドの周囲の配置ポジションに、ノンプレーヤキャラクタを移動させる。一方、複数の盛り上がり判定条件のうちの第2の盛り上がり判定条件が満たされた場合には、第1、第2のフィールドの両方のフィールドの周囲の配置ポジションにノンプレーヤキャラクタを移動させる。即ち、プレーヤキャラクタと相手キャラクタの両方のプレイによって盛り上がったと判断される場合には、第1、第2のフィールドを区別することなく、第1、第2のフィールドの周囲の配置ポジションにノンプレーヤキャラクタを移動させる。
【0075】
またノンプレーヤキャラクタ制御部116は、複数の盛り上がり判定条件に基づき演算された盛り上がりパラメータに基づいて、ノンプレーヤキャラクタを制御する。例えば各盛り上がり判定条件に基づいて各個別盛り上がりパラメータの演算処理が行われた場合には、ノンプレーヤキャラクタ制御部116は、演算された個別盛り上がりパラメータに基づいて、ノンプレーヤキャラクタを制御する。また複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理が行われた場合には、演算された全体盛り上がりパラメータに基づいて、ノンプレーヤキャラクタを制御する。この場合に、ノンプレーヤキャラクタの移動元の位置と対戦フィールドとの間の距離情報と、全体盛り上がりパラメータとに基づいて、ノンプレーヤキャラクタを対戦フィールドの方に移動させるか否かを判定することが望ましい。またノンプレーヤキャラクタ制御部116は、個別盛り上がりパラメータに基づく制御を行わないと判断されたノンプレーヤキャラクタについても、全体盛り上がりパラメータに基づいて制御してよい。即ち全体盛り上がりパラメータが所定しきい値を超えた場合には、そのノンプレーヤキャラクタを対戦フィールドの方に移動させる制御を行う。
【0076】
また複数の第1〜第Nのノンプレーヤキャラクタの第K(1≦K≦N)のノンプレーヤキャラクタに対して、複数の盛り上がり判定条件のうちの少なくとも1つの盛り上がり判定条件が対応づけておくことが望ましい。この場合には、ノンプレーヤキャラクタ制御部116は、第Kのノンプレーヤキャラクタに対応づけられた盛り上がり判定条件に基づいて、第Kのノンプレーヤキャラクタを制御すればよい。例えばノンプレーヤキャラクタ毎に、そのノンプレーヤキャラクタに対応づけられた盛り上がり判定条件が成立したか否かを判断し、成立した場合には、そのノンプレーヤキャラクタを対戦フィールドの方に移動させる制御を行う。
【0077】
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0078】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ176(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお描画処理は頂点シェーダ処理やピクセルシェーダ処理により実現してもよい。
【0079】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0080】
2.本実施形態の手法
2.1 プレーヤキャラクタの制御
以下、プレーヤキャラクタの制御手法の一例について図2〜図4を用いて説明する。但し、本実施形態のプレーヤキャラクタの制御手法は図2〜図4に示す手法には限定されず、例えば通常のゲームコントローラの操作ボタンやアナログスティック等の操作によりプレーヤキャラクタの動作や移動を制御してもよい。
【0081】
例えば図2では、プレーヤは、コントローラ200(ゲームコントローラ)を片手で所持し、あたかもテニスのラケットのようにコントローラ200を振って、スイングを行う。またゲーム装置300(画像生成システム)により生成される画像が表示される表示部190には、プレーヤが操作するプレーヤキャラクタCHが映し出される。そして、プレーヤがコントローラ200を持ってスイングすると、画面上のプレーヤキャラクタCHも、プレーヤのスイングに応じたスイングを行う。例えばプレーヤがフラットショットのスイングを行うと、プレーヤキャラクタCHもフラットショットのスイングを行い、プレーヤがトップスピンショットやスライスショットのスイングを行うと、プレーヤキャラクタCHもトップスピンショットやスライスショットのスイングを行う。そして画面上のプレーヤキャラクタCHが、相手キャラクタCCが打ったボールBLを打ち返すことで、プレーヤはテニスゲームを楽しむ。
【0082】
なお、以下では本実施形態をテニスゲームに適用した場合を主に例にとり説明する。このテニスゲームの場合には、ヒット体はラケットになり、ヒット対象物はボールになる。但し、本実施形態はテニスゲーム以外のスポーツゲーム(例えば卓球、バトミントン、野球、サッカー、バレーボール等)や、スポーツゲーム以外の各種ゲーム(例えば格闘ゲーム、戦闘ゲーム、ロールプレイングゲーム等)に適用できる。
【0083】
図3(A)、図3(B)にコントローラ200の構成例を示す。図3(A)はコントローラ200を正面から見た正面図であり、図3(B)は正面向かって右側から見た右側面図である。コントローラ200は、面取りされた略四角断面を有する棒状の形状になっており、プレーヤは棒を握る要領でコントローラ200を片手で所持して操作する。
【0084】
コントローラ200の正面側(操作面側)には、方向指示キー210、Aボタン212等の各種スイッチ類(入力デバイス)が設けられている。またコントローラ200の裏面側(背面側)にはトリガボタン214が設けられている。
【0085】
コントローラ200は、撮像素子220、無線通信モジュール222、加速度センサ224、角速度センサ230を有する。またコントローラ200は、図示しないコントローラ制御部やバイブレータ(振動機構)やスピーカ等も内蔵する。コントローラ制御部は例えば制御IC(CPU、ASIC)やメモリにより構成され、コントローラ200の全体の制御や各種処理を行う。バイブレータは、コントローラ制御部からの振動制御信号にしたがって振動を発生させ、コントローラ200を把持するプレーヤの手に振動を感じさせる。スピーカは、コントローラ制御部から出力された音信号に応じた音を出力する。
【0086】
撮像素子220はCCDやCMOSセンサなどにより実現され、コントローラ200の長手方向(長軸方向)の前方の様子を撮像する。
【0087】
無線通信モジュール222は、図2のゲーム装置300(ゲーム装置本体)と無線通信(近接無線通信)を行うためのものである。例えば、方向指示キー210、Aボタン212等により入力された操作情報、撮像素子220により得られた撮像情報、加速度センサ224、角速度センサ230により得られたセンサ情報(加速度情報、角速度情報)は、無線通信モジュール222によりゲーム装置300に無線通信される。
【0088】
加速度センサ224は、ユーザがコントローラ200を動かした時(振った時)の加速度情報を検出するセンサである。例えば加速度センサ224は直交3軸方向の各加速度情報を検出する。例えば図4において、コントローラ200の長辺方向に沿って設定された座標軸をZ軸(広義には第3の座標軸)とし、Z軸に直交する座標軸をX軸、Y軸(広義には第1、第2の座標軸)としたとする。この場合には加速度センサ224は、例えばX軸方向に沿った第1の加速度情報、Y軸方向に沿った第2の加速度情報、Z軸方向に沿った第3の加速度情報を検出して、センサ情報として出力する。
【0089】
角速度センサ230は、ユーザがコントローラ200を動かした時(回転させた時)の角速度情報を検出するセンサである。例えば角速度センサ230は、直交3軸での角速度情報を検出するセンサであり、コントローラ200のX軸、Y軸、Z軸回りでの角速度情報を検出する。具体的には、図4においてX軸回りの回転角度をα、Y軸回りの回転角度をβ、Z軸回りの回転角度をγとすると、これらのα、β、γについての角速度を検出する。なおX、Y、Zの座標軸の正負の向きや、α、β、γの回転方向は、図4に限定されず適宜設定できる。また角速度センサ230は、例えば多軸角速度センシングジャイロスコープなどにより実現できる。具体的にはMEMS構造の多軸角速度センシングジャイロスコープなどにより実現できる。
【0090】
なお角速度センサ230は、コントローラ200の本体の拡張端子に接続される拡張ユニット202内に設けられているが、コントローラ200の本体内に設けてもよい。また以下では説明を簡略化するため、コントローラ本体と拡張ユニットが一体に形成されているものとして図示する。
【0091】
またコントローラ200は、プレーヤが所持(把持、取り付け)可能であり、例えば長手方向に沿った座標軸で回転可能な形状であることが望ましいが、図3(A)、図3(B)の形状(略直方体形状。長手方向に沿った切断面が略長方形形状)には限定されない。例えば図3(A)、図3(B)の形状の一部が異なる形状にしたり、コントローラ200を収納するケースを設けて使用するなどの種々の変形実施が可能である。
【0092】
2.2 盛り上がりパラメータに基づくノンプレーヤキャラクタの制御
本実施形態では、人数や時間・人間環境などの環境を問わずにリゾート旅行気分を味わうことができ、気軽にも本格的にも楽しむことができるテニスゲームを実現している。
【0093】
具体的には、このテニスゲームでは図5(A)に示すようなリゾートアイランドでプレーヤはテニスゲームを楽しむ。このリゾートアイランドは、テニスのためのリゾートであり、リゾート内には複数のコートが設置されている。プレーヤは、このリゾートアイランドにおいて臨場感のあるロケーションに設置されたコートで、テニスをプレイできる。
【0094】
図5(B)に示すように、プレーヤが操作するプレーヤキャラクタは、コート周辺を散策することができ、観客や現地人となるノンプレーヤキャラクタとの会話を楽しむことができる。そして会話を通して試合等を申し込むことで、テニスゲームを始めることができる。
【0095】
図6(A)は、プレーヤが操作するプレーヤキャラクタCHと、相手キャラクタCCとがテニスの対戦を行っている様子を示す図である。相手キャラクタCCは、マルチプレーヤゲームにおいて相手プレーヤが操作するキャラクタであってもよいし、コンピュータ対戦においてコンピュータが操作するキャラクタであってもよい。
【0096】
図6(A)でのプレーヤキャラクタCHと相手キャラクタCCの対戦において、後述する盛り上がり判定条件が成立したか否かなどを判定することで、対戦(試合)の盛り上がり度を表す盛り上がりパラメータの演算処理が行われる。例えばラリーが続いたり、スーパーショットが決まったりして、所定の盛り上がり判定条件が成立すると、盛り上がりパラメータのフラグが立ったり、盛り上がりパラメータの値が上昇する。そして、本実施形態では、対戦における盛り上がりパラメータに基づいて、プレーヤキャラクタCH及び相手キャラクタCC以外のノンプレーヤキャラクタの移動や動作を制御する。
【0097】
具体的には図6(B)に示すように、試合が盛り上がって、盛り上がりパラメータが上昇したり、盛り上がりパラメータの所定フラグが立つと、試合を行っているコートから離れた場所に居たノンプレーヤキャラクタNP1〜NP6がコートの方へと移動して来る。即ちコートの近くに集まって、ギャラリーとしてプレーヤキャラクタと相手キャラクタの試合を観戦したり応援したりする。即ち、ギャラリーとなるノンプレーヤキャラクタは、所定の条件を満たすと徐々にコートの周囲に集まってきて、応援したり、拍手喝采を行ったりする。またゲームのリプレイ中(リプレイ画像の再生中)や勝利ポーズ中などに、バックで一緒に喜んだりする。
【0098】
このようにすれば、白熱した試合展開になり、ゲームが盛り上がると、それにつれてギャラリーの数が増えるようになる。従って、白熱した試合が益々盛り上がるようになり、プレーヤのゲーム熱中度を高めることができる。即ちプレーヤは、ゲームが盛り上がっているか否かをギャラリーの数によって視覚的に認識できる。そして、試合が白熱してギャラリーが増えると、それが励みになって、益々、ゲームに熱中するようになる。この場合に後述するように、ギャラリーであるノンプレーヤキャラクタは、例えば勝っている側のキャラクタのコートや、スーパーショットなどの良いプレイをした側のキャラクタのコートに集まってくる。従って、プレーヤは、より多くのギャラリーが自分のコートの方に集まるように、プレイに集中するようになる。従って、プレーヤのゲームの熱中度を高めることができ、これまでにないタイプのテニスゲームを提供できる。
【0099】
図7は、他のコートで観戦していたノンプレーヤキャラクタが、プレーヤのコートに集まって来る様子を示した図である。
【0100】
図7において、プレーヤは、コートCT1においてプレーヤキャラクタCHを操作して、相手キャラクタCCと対戦している。そしてノンプレーヤキャラクタNP11、NP12、NP13がギャラリーとして試合を観戦している。
【0101】
一方、他のコートCT2、CT3では、各々、ノンプレーヤキャラクタNP21〜NP26、NP31〜NP38がギャラリーとして試合を観戦している。この場合、ギャラリーの数は各コートでの盛り上がりパラメータの大小に比例しており、コートCT1のギャラリー数は他のコートCT2、CT3に比べて少なくなっている。
【0102】
そして例えばコートCT1での試合が盛り上がり、コートCT1での盛り上がりパラメータが大きくなると、図7に示すように他のコートCT2で観戦していたノンプレーヤキャラクタNP21、NP22、NP25が、コートCT2(移動元の位置)からコートCT1の方へ移動して、今度は、コートCT1の試合を観戦したり応援するようになる。
【0103】
この場合に、いずれのノンプレーヤキャラクタが集まってくるかは、そのノンプレーヤキャラクタの元の位置と、コートCT1の位置(例えば代表位置、配置ポジションの位置)との距離情報(距離や、距離と等価なパラメータ)とによって決めることが望ましい。例えば、コートCT1から近い距離に位置するノンプレーヤキャラクタほど、コートCT1に集まるようにする。
【0104】
具体的には、後述するように、コートCT1との距離に応じて盛り上がりパラメータのしきい値が設定されている。そして図7では、ノンプレーヤキャラクタNP21、NP22、NP25の距離では、盛り上がりパラメータのしきい値は例えば10になっている。従って、コートCT1での盛り上がりパラメータの値が10以上になると、ノンプレーヤキャラクタNP21、NP22、NP25は、コートCT1の方に移動するようになる。
【0105】
一方、図8では、ノンプレーヤキャラクタNP26、NP31、NP32、NP33、NP37の距離では、盛り上がりパラメータのしきい値は例えば20になっている。従って、コートCT1での盛り上がりパラメータの値が20以上になると、ノンプレーヤキャラクタNP26、NP31、NP32、NP33、NP37は、コートCT1の方に移動するようになる。
【0106】
このように、コートCT1での盛り上がりパラメータの値が上昇するにつれて、より遠くに位置するノンプレーヤキャラクタが、コートCT1に集まって来るようになる。この結果、コートCT1での試合が益々盛り上がるようになり、プレーヤのゲーム熱中度や集中度を高めることが可能になる。
【0107】
また、例えばネットワークゲームなどのマルチプレーヤ型ゲームにおいて、複数の各コートにおいて各プレーヤがゲームをプレイする場合を想定する。この場合には、コートCT1では第1のプレーヤが相手キャラクタと対戦を行い、コートCT2では第2のプレーヤが相手キャラクタと対戦を行い、コートCT3では第3のプレーヤが相手キャラクタと対戦を行うことになる。
【0108】
このとき、各コートCT1、CT2、CT3での盛り上がりパラメータの値の大小に応じて、各コートのギャラリー数が変化する。従って、第1〜第3の各プレーヤは、質の高いプレイや白熱した試合を行うことで、自身のコートに集まってくるギャラリーの数を競い合うことが可能になり、これまでにないタイプのマルチプレーヤ型ゲームを提供できる。即ち、プレーヤは、ギャラリー数を増やすことが動機になってゲームプレイに熱中するようになり、プレーヤのゲームへの熱中度を高めることができる。
【0109】
また図9(A)に示すように、ノンプレーヤキャラクタの移動先の場所として、コート(広義には対戦フィールド)の周囲に配置ポジションを予め設定しておくことが望ましい。例えば図9(A)ではコートの周囲に複数の配置ポジションP1〜P8が設定されている。このうち配置ポジションP1〜P4は、例えばプレーヤキャラクタ側のギャラリーとなるノンプレーヤキャラクタの配置ポジション(第1のフィールドの周囲の配置ポジション)である。一方、配置ポジションP5〜P8は、相手キャラクタ側のギャラリーとなるノンプレーヤキャラクタの配置ポジション(第2のフィールドの周囲の配置ポジション)である。例えば配置ポジションP1〜P4に配置されたノンプレーヤキャラクタは、プレーヤキャラクタ側を応援し、配置ポジションP5〜P8に配置されたノンプレーヤキャラクタは、相手キャラクタ側を応援する。
【0110】
また、プレーヤキャラクタ側が一方的に勝ったり、スーパーショットを決めるといった盛り上がり判定条件(第1の盛り上がり判定条件)が満たされた場合には、プレーヤキャラクタ側のコート(第1のフィールド)の周囲の配置ポジションP1〜P4に対してノンプレーヤキャラクタが移動するようになる。逆に相手キャラクタ側が一方的に勝ったり、スーパーショットを決めるといった盛り上がり判定条件(第1の盛り上がり判定条件)が満たされた場合には、相手キャラクタ側のコート(第2のフィールド)の周囲の配置ポジションP5〜P8に対してノンプレーヤキャラクタが移動するようになる。
【0111】
また図9(B)、図9(C)に示すように、配置ポジションの数を、ゲーム結果や盛り上がりパラメータに基づいて増減させることが望ましい。例えばゲーム結果が良好であったり、盛り上がりパラメータが高かった場合には、図9(C)に示すように配置ポジションの数を増やす。
【0112】
この場合に配置ポジションの数を増やすタイミングは、対戦中(試合中)であってもよいし、対戦終了後(試合終了後)であってもよい。例えばプレーヤキャラクタが勝利したというゲーム結果であった場合に、プレーヤキャラクタ側のコートの配置ポジションの数を増加させたり、プレーヤキャラクタのスーパーショット等により盛り上がりパラメータが上昇した場合に、プレーヤキャラクタ側のコートの配置ポジションの数を増加させる。即ち、プレーヤキャラクタ及び相手キャラクタの一方側が、他方側に比べてゲーム結果が良い場合や、盛り上がりパラメータの上昇に寄与している場合には、一方側の配置ポジションの増加率を、他方側に比べて高くする。こうすることで、ゲーム成績が良かったり盛り上げた側のギャラリー数を増加させることができ、プレーヤのゲームへの熱中度を高めることができる。
【0113】
また、以上では盛り上がりパラメータに基づいてノンプレーヤキャラクタの移動を制御する場合について主に説明したが、盛り上がりパラメータに基づいてノンプレーヤキャラクタの動作(モーション、アニメーション、演出動作)を制御してもよい。
【0114】
例えば図10において、コートに集まったノンプレーヤキャラクタNP1〜NP6は、盛り上がりパラメータに応じて様々な動作を行っている。即ち図9(A)の配置ポジションに移動した後のノンプレーヤキャラクタの動作を、試合展開等により変化する盛り上がりパラメータに基づいて制御する。
【0115】
例えば、ノンプレーヤキャラクタは、応援している側(チーム)が得点したり、勝った場合には、飛び跳ねて喜ぶ等の大はしゃぎのモーションを行う。また応援のモーションや拍手のモーションを行う。例えば、負けたチームを応援していたノンプレーヤキャラクタは、健闘を称えるという意味で拍手のモーションを行う。或いは、口笛を吹くなどのモーションを行ってもよい。また、応援している側が得点したり、スーパーショットを放つと、ノンプレーヤキャラクタが喜んでいることを表すエフェクト(演出動作)を表示してもよい。或いは、応援している側が失点した場合等には、ギャラリーがモヤモヤしていることを表すエフェクトを表示してもよい。
【0116】
以上のようにすれば、試合の盛り上がりによりノンプレーヤキャラクタが集まってきて、ギャラリー数が増えるのみならず、集合して来たノンプレーヤキャラクタが、盛り上がりパラメータに応じた動作を行うことで、試合の盛り上がり感を更に高めることができる。これによりプレーヤは、あたかもギャラリーと一体となったような感覚でゲームをプレイすることができ、プレーヤの仮想現実感を向上できる。
【0117】
2.3 盛り上がり判定条件
本実施形態では複数の盛り上がり判定条件に基づいて盛り上がりパラメータの演算処理を行っている。図11に盛り上がり判定条件の一例を示す。
【0118】
例えば盛り上がり判定条件DC1は、一方的な試合展開である場合に満たされる判定条件である。具体的には、例えば3ゲーム以上の差がつくと、この盛り上がり判定条件DC1が成立し、勝っている方のキャラクタのコート(チーム)に、ギャラリーであるノンプレーヤキャラクタが集まるようになる。或いは、コートへの移動後に、盛り上がり判定条件DC1が満たされると、そのノンプレーヤキャラクタは、勝っている方のキャラクタを応援したり、喜んだりするなどのモーション(広義には動作)を行う。
【0119】
盛り上がり判定条件DC2は、ポイントのラリーが続いた場合に満たされる判定条件である。具体的には、ポイントのラリー(ゲームのラリー)が続くと、盛り上がり判定条件DC2が成立し、両方のキャラクタのコートに、ギャラリーであるノンプレーヤキャラクタが集まるようになる。
【0120】
盛り上がり判定条件DC3は、スーパーショットが決まった場合に満たされる判定条件である。例えばキャラクタがスーパーショットを決めると、盛り上がり判定条件DC3が成立し、スーパーショットを決めたキャラクタのコートに、ギャラリーであるノンプレーヤキャラクタが集まるようになる。或いは、コートへの移動後に、盛り上がり判定条件DC3が満たされると、そのノンプレーヤキャラクタは、スーパショットを決めたキャラクタを応援したり、喜んだりするなどのモーションを行う。
【0121】
盛り上がり判定条件DC4は、ボールのラリーが続いた場合に満たされる判定条件である。具体的には、一定回数以上のラリーが発生すると、盛り上がり判定条件DC4が成立し、両方のキャラクタのコートに、ギャラリーであるノンプレーヤキャラクタが集まるようになる。
【0122】
盛り上がり判定条件DC5は、ポイント差がついた場合に満たされる判定条件である。具体的には、0−40になると、盛り上がり判定条件DC5が成立し、勝っている方のキャラクタのコートに、ギャラリーであるノンプレーヤキャラクタが集まるようになる。或いは、コートへの移動後に、盛り上がり判定条件DC5が満たされると、そのノンプレーヤキャラクタは、勝っている方のキャラクタを応援したり、喜んだりするなどのモーションを行う。
【0123】
盛り上がり判定条件DC6は、連続アドバンテージの場合に満たされる判定条件である。具体的には、デュースが3回以上続くと、盛り上がり判定条件DC6が成立し、両方のキャラクタのコートに、ギャラリーであるノンプレーヤキャラクタが集まるようになる。
【0124】
図11において、DC1、DC3、DC5は第1の盛り上がり判定条件に相当する。この第1の盛り上がり判定条件が満たされた場合には、プレーヤキャラクタと相手キャラクタのいずれか一方のコート(広義には第1、第2のフィールドのいずれか一方のフィールド)の周囲の配置ポジションに、ノンプレーヤキャラクタが移動するようになる。
【0125】
一方、DC2、DC4、DC6は第2の盛り上がり判定条件に相当する。この第2の盛り上がり判定条件が満たされた場合には、プレーヤキャラクタと相手キャラクタの両方のコート(広義には第1、第2のフィールドの両方のフィールド)の周囲の配置ポジションに、ノンプレーヤキャラクタが移動するようになる。即ちプレーヤキャラクタ側のコートであるか相手キャラクタ側のコートであるかを区別することなく、ノンプレーヤキャラクタが集まる。
【0126】
このようにすれば、盛り上がり判定条件DC1、DC3、DC5が満たされた場合には、一方側のコートがギャラリーで賑わうようになる。これにより、その一方側のコートを中心にして試合が盛り上がるというゲーム演出を実現できる。
【0127】
これに対して、盛り上がり判定条件DC2、DC4、DC6が満たされた場合には、両方のコートがギャラリーで賑わうようになる。これにより、コート全体で試合が盛り上がるというゲーム演出を実現できる。
【0128】
また図12(A)に示すように、DC1〜DC6の各盛り上がり判定条件に基づいて、PR1〜PR6の各個別盛り上がりパラメータ(フラグ)を演算することが望ましい。例えば盛り上がり判定条件DC1が満たされた場合には、DC1に対応する個別盛り上がりパラメータPR1のフラグを1にセットしたり、個別盛り上がりパラメータPR1の値を増加させる。また盛り上がり判定条件DC2が満たされた場合には、DC2に対応する個別盛り上がりパラメータPR2のフラグを1にセットしたり、個別盛り上がりパラメータPR2の値を増加させる。盛り上がり判定条件DC3〜DC6と個別盛り上がりパラメータPR3〜PR6の関係も同様である。
【0129】
また図12(A)に示すように全体盛り上がりパラメータPALを更に用意することが望ましい。具体的には複数の盛り上がり判定条件DC1〜DC6に基づいて、全体盛り上がりパラメータPALを演算する。例えば盛り上がり判定条件DC1が満たされた場合には、個別盛り上がりパラメータPR1のフラグを1にセットしたり、PR1の値を増加させると共に、PR1に応じた加算ポイント(加算値)を、全体盛り上がりパラメータPALに加算する。また盛り上がり判定条件DC2が満たされた場合には、個別盛り上がりパラメータPR2のフラグを1にセットしたり、PR2の値を増加させると共に、PR2に応じた加算ポイントを、全体盛り上がりパラメータPALに加算する。盛り上がり判定条件DC3〜DC6が満たされた場合も同様である。
【0130】
このような全体盛り上がりパラメータPALを用意すれば、対戦の全体的な盛り上がり感を、PALにより表現できるようになる。即ち、一方のキャラクタがスーパーショットを決めただけでは、個別盛り上がりパラメータPR3は上昇するものの、全体盛り上がりパラメータPALはそれほど上昇しない。しかしながら、一方のキャラクタがスーパーショットを決めると共に、ポイントやボールのラリーが続いたり、連続アドバンテージになったりすると、全体盛り上がりパラメータPALも上昇するようになる。そしてこの全体盛り上がりパラメータPALに基づいて、ギャラリーとなるノンプレーヤキャラクタを集めたり、応援や喜びのモーションをノンプレーヤキャラクタに行わせることで、個別的な盛り上がり感のみならず、試合全体の盛り上がり感を表現できる。
【0131】
また図12(B)に示すように、DC1〜DC6の各盛り上がり判定条件を、各ノンプレーヤキャラクタに対して対応づけることが望ましい。即ち、第1〜第Nのノンプレーヤキャラクタの第K(1≦K≦N)のノンプレーヤキャラクタに対して、盛り上がり判定条件DC1〜DC6のうちの少なくとも1つの盛り上がり判定条件を対応づける。そして、その第Kのノンプレーヤキャラクタに対応づけられた盛り上がり判定条件に基づいて、その第Kのノンプレーヤキャラクタの移動や動作を制御する。
【0132】
例えば図12(B)では、ノンプレーヤキャラクタNP1に対しては盛り上がり判定条件DC1が対応づけられており、ノンプレーヤキャラクタNP1は、DC1に対応する個別盛り上がりパラメータPR1に基づき制御される。具体的には、図11で説明したように、一方的な試合展開になって盛り上がり判定条件DC1が満たされると、ノンプレーヤキャラクタNP1がそのコートに移動してくる。そして勝っている方のキャラクタを応援するモーション等を行う。
【0133】
またノンプレーヤキャラクタNP2に対しては盛り上がり判定条件DC2、DC4が対応づけられており、ノンプレーヤキャラクタNP2は、DC2、DC4に対応する個別盛り上がりパラメータPR2、PR4に基づき制御される。具体的には、ポイントのラリーが続いて盛り上がり判定条件DC2が満たされたり、ボールのラリーが続いて盛り上がり判定条件DC4が満たされると、ノンプレーヤキャラクタNP2がそのコートに移動してくる。そして両方のキャラクタを応援するモーション等を行う。
【0134】
またノンプレーヤキャラクタNP3に対しては盛り上がり判定条件DC3が対応づけられており、ノンプレーヤキャラクタNP3は、DC3に対応する個別盛り上がりパラメータPR3に基づき制御される。具体的には、一方のキャラクタがスーパーショットを決めて盛り上がり判定条件DC3が満たされると、ノンプレーヤキャラクタNP3がそのコートに移動してくる。そしてスーパーショットを決めたキャラクタを応援するモーション等を行う。ノンプレーヤキャラクタNP4も同様である。
【0135】
以上のように、各ノンプレーヤキャラクタに対して各盛り上がり判定条件を対応づければ、全てのノンプレーヤキャラクタが画一的に移動したり動作してしまうことで、画像表現が単調になってしまう事態などを防止できる。即ち、各ノンプレーヤキャラクタが各盛り上がり判定条件にしたがって移動、動作することで、あたかも意思を持ってノンプレーヤキャラクタが動いているかのような感覚をプレーヤに与えることができ、プレーヤの仮想現実感を高めることができる。
【0136】
なお図12(B)では、ノンプレーヤキャラクタは、個別盛り上がりパラメータのみならず、全体盛り上がりパラメータPALに基づいても制御される。このようにすれば、個別盛り上がりパラメータに基づく制御を行わないと判断されたノンプレーヤキャラクタについても、全体盛り上がりパラメータPALに基づき制御できるようになる。
【0137】
例えばノンプレーヤキャラクタNP1は、一方的な試合展開という盛り上がり判定条件DC1が満たされなければ、原則として、コートへの移動は行わないことになる。しかしながら、全体盛り上がりパラメータPALに基づいてノンプレーヤキャラクタNP1を制御すれば、盛り上がり判定条件DC1が満たされていなくても、全体盛り上がりパラメータPALが高くなり、試合全体が盛り上がった場合には、このノンプレーヤキャラクタNP1もコートに移動して、応援等のモーションを行うようになる。ノンプレーヤキャラクタNP2〜NP4も同様である。このように全体盛り上がりパラメータPALに基づき制御することで、試合の全体的な盛り上がり感についても効率的に表現できる。
【0138】
また図7、図8に示すように、ノンプレーヤキャラクタの距離情報と盛り上がりパラメータとに基づいてノンプレーヤキャラクタを制御する場合には、図12(C)に示すように、各距離範囲に対して盛り上がりパラメータのしきい値を設定して制御を行うことが望ましい。
【0139】
具体的には図12(C)では、距離範囲0〜L1に対してはしきい値VT1が設定され、距離範囲L1〜L2に対してはしきい値VT2が設定され、VT2>VT1になっている。また距離範囲L2〜L3に対してはしきい値VT3が設定され、VT3>VT2になっている。
【0140】
例えばノンプレーヤキャラクタ(代表点)とコート(代表点、配置ポジション)との距離Lが、距離範囲0〜L1に属する場合には、盛り上がりパラメータのしきい値はVT1になる。従って、そのノンプレーヤキャラクタは、L<VT1の場合にはコートの方に移動せず、L≧VT1の場合にコートの方に移動するようになる。
【0141】
またノンプレーヤキャラクタとコートとの距離Lが、距離範囲L1〜L2に属する場合には、盛り上がりパラメータのしきい値はVT2になる。従って、そのノンプレーヤキャラクタは、L<VT2の場合にはコートの方に移動せず、L≧VT2の場合にコートの方に移動するようになる。
【0142】
このようにすれば図7、図8で説明したように、コートからの距離が近いノンプレーヤキャラクタについては、そのコートでの盛り上がりパラメータが小さな場合でも、そのコートの方に移動するが、コートからの距離が遠いノンプレーヤキャラクタについては移動しないようになる。そして、そのコートでの盛り上がりパラメータが大きくなると、そのコートからの距離が遠いノンプレーヤキャラクタも、そのコートの方に移動するようになる。従って、盛り上がりパラメータが大きくなるにつれて、広範囲の位置のノンプレーヤキャラクタもそのコートに移動してくるようになり、盛り上がり感の演出効果を更に向上できる。
【0143】
2.4 詳細な処理
次に本実施形態の詳細な処理例について図13〜図14(B)のフローチャートを用いて説明する。
【0144】
図13は、盛り上がりパラメータの演算処理のフローチャートである。まずゲームのポイントが決まったか否かを判断する(ステップS21)。テニスゲームを例にとれば、一方のキャラクタがショットを決めたり、他方のキャラクタがミスをすることで、一方のキャラクタがポイントを獲得したか否かを判断する。そして、ポイントが決まった場合にはn=1にセットして、図11で説明した盛り上がり判定条件DCnが成立したか否かを判断する(ステップS22、S23)。
【0145】
盛り上がり判定条件DCnが成立した場合には、その盛り上がり判定条件DCnに対応する個別盛り上がりパラメータPRnのフラグを1にセットする(ステップS24)。或いはPRnのパラメータ値を増加させてもよい。そして、全体盛り上がりパラメータPALに対して、個別盛り上がりパラメータPRn対応する加算ポイントを加算し、nを1だけインクリメントする(ステップS25、S26)。そしてn>6(個別判定条件の数)であるか否かを判断し(ステップS7)、n≦6である場合にはステップS23に戻り、次の盛り上がり判定DCnについての処理を行う。一方、n>6である場合には盛り上がりパラメータの演算処理を終了する。
【0146】
図14(A)、図14(B)は、盛り上がりパラメータに基づくノンプレーヤキャラクタの制御処理のフローチャートである。
【0147】
図14(A)では、全てのノンプレーヤキャラクタについての処理が終了するまで、ノンプレーヤキャラクタ処理を繰り返す(ステップS31、S32)。そして各ノンプレーヤキャラクタでは図14(B)の処理が行われる。
【0148】
まず、ノンプレーヤキャラクタに対応づけられた個別盛り上がりパラメータのフラグが1にセットされているか否かを判断する(ステップS41)。即ち図13のステップS24において、対応する個別盛り上がりパラメータのフラグが1にセットされたか否かを判断する。そして、1にセットされていた場合には、移動先のコートの配置ポジションに、そのノンプレーヤキャラクタを移動させる(ステップS42)。
【0149】
一方、個別盛り上がりパラメータのフラグが1にセットされていない場合には、ノンプレーヤキャラクタと移動先とのコートとの距離により得られるしきい値VTと、全体盛り上がりパラメータPALを比較する(ステップS43)。即ち図12(C)で説明したように、ノンプレーヤキャラクタとコートとの距離が属する距離範囲からしきい値を取得し、そのしきい値と全体盛り上がりパラメータPALを比較する。そしてPAL≧VTか否かを判断し、PAL≧VTである場合には、移動先のコートの配置ポジションに、そのノンプレーヤキャラクタを移動させる(ステップS44、S45)。
【0150】
以上のようにすることで、各ノンプレーヤキャラクタを、対応する個別盛り上がりパラメータに基づき制御すると共に、全体盛り上がりパラメータに基づいても制御できるようになる。
【0151】
2.5 コントローラの回転角度情報に基づくヒット演算処理
次に本実施形態のヒット演算処理の詳細例について説明する。なお本実施形態のヒット演算処理は以下に説明する処理に限定されず、種々の変形実施が可能である。
【0152】
図15(A)、図15(B)、図16に、図3(A)〜図4で説明したコントローラ200により操作されるプレーヤキャラクタCH(以下、適宜、キャラクタCHと記載)のモーション(基準モーション)の例を示す。図15(A)は基準ポジションでのキャラクタCHのモーション(姿勢)の例である。図15(B)はテークバック時のモーションの例であり、図16はボールのヒット時(インパクト時)のモーションの例である。プレーヤが、図2のようにコントローラ200を持って、テニスのラケットのようにコントローラ200を振ってスイングを行うと、画面上のキャラクタCHも、図15(A)〜図16のようにスイングを行う。ここではキャラクタCHは、フラットショットのスイングを行っている。即ち図16に示すようにボール(広義にはヒット対象物)のインパクトの瞬間では、ラケットRK(広義にはヒット体)の面は水平面(地面)に垂直な方向になっており、ラケット面にボールが直角にヒットするため、ボールは回転せずにフラットショットの軌道で飛ぶようになる。
【0153】
さて、現実世界のテニスでは、図16のようなフラットショット以外にも、トップスピンやスライスなどの各種ショットがある。例えばトップスピンショットでは、図16のフラットショットに比べて、ボールのインパクト時にラケット面の向きが下側に向き(水平面に対する角度が90度よりも小さくなり)、ボールに対して順方向の回転がかかる。一方、スライスショットでは、図16のフラットショットに比べて、ボールのインパクト時にラケット面の向きが上側に向き(水平面に対する角度が90度よりも大きくなり)、ボールに対して逆方向の回転がかかる。
【0154】
しかしながら、これまでのテニスゲームでは、このようなトップスピンやスライスなどの各種ショットを、プレーヤが違和感を感じない操作で実現することが難しかった。例えばトップスピンやスライスの打ち分けを、方向指示キーやボタンの操作で行う手法も考えられる。具体的には方向指示キーで下側を指示した場合にはトップスピンのショットになり、上側を指示した場合にはスライスショットになるようにする。しかしながら、このような操作は、現実世界でのテニスのスイングの感覚とは異なるものであり、このような操作では、実際にテニスをプレイしているというような仮想現実感をプレーヤに与えることが難しい。
【0155】
特に図2のように、プレーヤがコントローラ200をテニスラケットのようにスイングすることで、画面上のキャラクタCHがスイングしてボールBLを打ち返す場合には、このような方向指示キー等を用いたショットの打ち分けでは、プレーヤの仮想現実感を今ひとつ向上できない。即ち、コントローラ200を振る動作については、現実世界のテニスと同様であるのに、トップスピンやスライスの打ち分けは、現実世界とは異なってしまい、図2のようなゲーム操作を実現した意味が薄れてしまう。
【0156】
そこで本実施形態では、コントローラ200の所定座標軸回りでの回転角度情報、例えばZ軸(第3の座標軸)回りでの回転角度情報を取得する。そして取得された回転角度情報に基づいて、ラケットRK(広義にはヒット体)によりヒットされるボールBL(広義にはヒット対象物)の移動状態や動作状態(移動方向や回転状態)を設定するヒット演算処理を行う。
【0157】
例えば図17(A)〜図17(C)では、ラケットRKによるボールBLのヒットタイミングにおけるコントローラ200の回転角度情報に基づいて、ボールBLの移動状態や動作状態を設定している。
【0158】
具体的には図17(A)では、ヒットタイミングTHでのコントローラ200のZ軸回りでの回転角度γは、基準ポジションでの初期値を例えば0(度)とした場合に、γ=0になっている。このようにヒットタイミングTHでのZ軸回りの回転角度がγ=0である場合には、ラケットRKの面が水平面に対して垂直であると判断して、例えばフラットショットになるようにボールBLの移動方向や回転状態等を設定する。例えばボールBLが、ほぼ無回転で、比較的速い速度で、フラットショットの軌道で飛ぶように、ボールBLの移動演算処理を行う。
【0159】
一方、図17(B)では、ヒットタイミングTHでのコントローラ200の回転角度はγ=γAとなっている。従って、ラケット面と水平面のなす角度が90度よりも小さくなっており、ラケット面の向きが下向きであると判断して、例えばトップスピンショットになるようにボールBLの移動方向や回転状態等を設定する。例えばボールBLが、順方向の回転でトップスピンショットの軌道で飛ぶように、ボールBLの移動演算処理を行う。
【0160】
図17(C)では、ヒットタイミングTHでのコントローラ200の回転角度はγ=−γBとなっている。従って、ラケット面と水平面のなす角度が90度よりも大きくなっており、ラケット面の向きが上向きであると判断して、例えばスライスショットになるようにボールBLの移動方向や回転状態等を設定する。例えばボールBLが、逆方向の回転でスライスショットの軌道で飛ぶように、ボールBLの移動演算処理を行う。
【0161】
なお図17(A)〜図17(C)の各ショットの切り替えは、例えば回転角度γが属する角度範囲を判定することで実現できる。一例としては、−γ1≦γ≦γ1である場合にはフラットショットであると判断し、γ1<γ<γ2である場合にはトップスピンショットであると判断し、−γ2<γ<−γ1である場合にはスライスショットであると判断すればよい。
【0162】
図18(A)〜図18(C)では、ヒット判定期間におけるコントローラ200の回転角度情報に基づいて、ボールBLのヒット後の移動状態や動作状態を設定している。具体的にはヒット判定期間における回転角度情報の変化情報に基づいて、ボールBLのヒット後の移動状態や動作状態を設定する。例えば第1のタイミングでの回転角度情報と第2のタイミングでの回転角度情報に基づいて、ボールBLの移動状態や動作状態を設定する。
【0163】
例えば図18(A)では、ヒットタイミングTHの前の第1のタイミングTM1でのZ軸回りでの回転角度はγ=0になっており、ラケット面が水平面に対して垂直になっていると判断される。またヒットタイミングTHでは、回転角度はγ=γAとなっており、ラケット面の向きが、タイミングTM1に比べて下方向に向いていると判断される。またヒットタイミングTHの後の第2のタイミングTM2では、回転角度はγ=γB>γAとなっており、ラケット面の向きが、ヒットタイミングTHに比べて更に下方向に向いていると判断される。このように、ヒットタイミングの前後で、ラケット面の向きが下方向に変化した場合には、例えばトップスピンショットになるようにボールBLの移動方向や回転状態等を設定する。またヒットタイミング前後での回転角度の変化が大きい場合には、例えばトップスピンの回転速度(回転量)を速くしてもよい。
【0164】
また図18(B)では、ヒットタイミングTHの前の第1のタイミングTM1でのZ軸回りでの回転角度はγ=0になっており、ラケット面が水平面に対して垂直になっていると判断される。またヒットタイミングTHでは、回転角度はγ=−γAとなっており、ラケット面の向きが、タイミングTM1に比べて上方向に向いていると判断される。またヒットタイミングTHの後の第2のタイミングTM2では、回転角度はγ=−γB<−γAとなっており、ラケット面の向きが、ヒットタイミングTHに比べて更に上方向に向いていると判断される。このように、ヒットタイミングの前後で、ラケット面の向きが上方向に変化した場合には、例えばスライスショットになるようにボールBLの移動方向や回転状態等を設定する。またヒットタイミング前後での回転角度の変化が大きい場合には、スライスの回転速度(回転量)を速くしてもよい。
【0165】
また図18(C)では、タイミングTM1、TH、TM2において、ラケット面の向きが上方向に向いていると判断される。また例えばY軸回りでの回転角度β等に基づいて、ラケットRKの位置が徐々に上側に移動していると判断される。従って、この場合には、ボールBLが上方向に飛ぶロブショットになるようにボールBLの移動方向や回転状態等を設定する。
【0166】
このように、図17(A)〜図17(C)では、ヒットタイミングTHでの回転角度だけを用いているのに対して、図18(A)〜図18(C)では、ヒットタイミングTHの前後のタイミングTM1、TM2での回転角度を反映させてボールBLの移動方向や回転状態等を設定している。このようにすることで、ヒット後のボールBLの軌道を現実世界の軌道に近づけることが可能になり、プレーヤの仮想現実感を更に向上できる。また、ヒットタイミングのみならず、その前後のタイミングでのコントローラの回転角度も反映されるため、フォロースルーやテークバックでのラケット面の角度も反映させたショットが可能になる。
【0167】
図19(A)〜図19(D)に、フラット、トップスピン、スライス、ロブの各ショットの回転方向や移動方向の設定例を示す。同図に示すように、フラットやロブではボールBLはほぼ無回転で飛び、トップスピンでは順方向の回転になり、スライススピンでは逆方向の回転になる。またフラットではボールBLが水平に飛ぶのに対して、ロブでは上方向に飛ぶ。なおボールBLの回転方向や移動方向の設定は、図19(A)〜図19(D)に限定されず、種々の変形実施が可能である。例えば、順方向に回転しながら上方向に飛ぶトップスピンロブなどを再現してもよい。また、ヒット後のボールBLのショットの軌道は、ヒット時に設定された移動状態や動作状態に基づく物理シミュレーション処理を行うことで求めてもよいし、複数のショット軌道の中から、ヒット時に設定された移動状態や動作状態に応じたショット軌道を選択することで求めてもよい。
【0168】
以上のように本実施形態では、コントローラ200の所定座標軸回りでの回転角度情報を用いてヒット演算処理を実行している。このようにすれば、例えばテニスのラケット面のコントロール等を、コントローラ200の所定座標軸回りでの回転操作により実現できる。従って、従来のスポーツゲーム等では実現することが難しかった操作インターフェース環境を提供できる共に、コントローラ200の操作と、キャラクタの動きとがマッチするようになるため、プレーヤの仮想現実感を向上できる。
【0169】
例えば従来は、コントローラ200に設けられた加速度センサ224を用いて、プレーヤによりコントローラ200が振られたことを検知していた。このような加速度センサ224だけを用いる手法では、各座標軸回りでの絶対的な回転角度を正確に求めることは困難である。また加速度センサ224では、コントローラ200の長手方向に沿ったZ軸回りでの回転角度を求めることは難しい。
【0170】
これに対して本実施形態では、例えば角速度センサ230を用いてコントローラ200の各座標軸回りでの回転角度を求め、この回転角度を用いてヒット演算処理を実現している。従って、加速度センサ224だけを用いる従来の手法に比べて、よりインテリジェントで精度の高いヒット演算処理を実現できる。なおコントローラ200の各座標軸回りでの回転角度を求めるセンサとして、角速度センサ230以外のセンサを採用することも可能である。
【0171】
また本実施形態では、盛り上がりパラメータに基づいてヒット演算処理を行う。例えば試合が盛り上がって、盛り上がりパラメータが高くなると、図19(B)、図19(C)のトップスピンやスライスのショットの回転速度や移動速度等を速くする。これにより、いわゆるナイスショットやスーパーショットが決まりやすくなり、更に試合を盛り上げることができる。或いは、図11で説明したように、一方のキャラクタが有利になる盛り上がり判定条件が満たされた場合には、その一方のキャラクタのトップスピンやスライスのショットの回転速度や移動速度等を速くする。このようにすることで、その一方のキャラクタのショットが決まりやすくなり、一方のキャラクタ側を更に盛り上げることが可能になる。
【0172】
2.6 ヒット強さの設定
さて、上述のように本実施形態では、コントローラ200の角速度センサ230を用いて所定座標軸回りでの回転角度を求めて、ヒット演算処理を実行している。この時、例えば加速度センサ224で得られた加速度を用いて、ボールBLのヒットの強さ(ヒット力、ヒット加速度)を設定してもよい。
【0173】
具体的には図20に示すように、加速度センサ224により、Z軸に沿った方向(第3の座標軸に沿った方向)での加速度AVを検出する。この加速度AVは、コントローラ200をスイングすることでZ軸方向に生じる遠心力(正確には遠心力と重力の合力)に相当する加速度である。そして、検出された加速度AVに基づいて、ラケットRKによりボールBLがヒットされた時のヒットの強さを設定する。
【0174】
例えば、プレーヤがコントローラ200を速いスピードでスイングした場合には、Z軸方向の遠心力に相当する加速度AVは大きくなる。従って、この場合には、ボールBLが強くヒットされるようにする。例えばボールBLのヒット方向での加速度を大きな値に設定する。一方、プレーヤがコントローラ200を遅いスピードでスイングした場合には、Z軸方向の遠心力に相当する加速度AVも小さくなる。従って、この場合には、ボールBLが弱くヒットされるようにする。例えばボールBLのヒット方向での加速度を小さな値に設定する。
【0175】
このようにすれば、スイングスピードとヒットの強さが比例するようになり、現実世界のボールBLのショットを、より忠実に再現できる。即ち角速度センサ230と加速度センサ224を上手く使い分けて、ラケットRKによるボールBLのヒット演算処理を実現できるようになる。なお、ボールBLのヒットの強さを、例えばX軸回りでの回転速度等も反映させて設定してもよい。例えばX軸回りでの回転速度が速い場合には、ボールBLのヒットの強さも大きくする。
【0176】
そして本実施形態では、盛り上がりパラメータに基づいてヒット演算処理を行う。例えば盛り上がりパラメータに基づいてボールBLのヒットの強さも設定する。具体的には試合が盛り上がって、盛り上がりパラメータが高くなると、ボールBLのヒットの強さも大きくする。これにより、キャラクタのショットが強いショットになって決まりやすくなり、更に試合を盛り上げることができる。或いは、一方のキャラクタが有利になる盛り上がり判定条件が満たされた場合には、その一方のキャラクタのショットの強さを強くする。このようにすることで、その一方のキャラクタのショットが決まりやすくなり、一方のキャラクタ側を更に盛り上げることが可能になる
2.7 基準ポジション
角速度センサ230を用いた場合には、センサから得られる情報は角速度になる。従って、絶対的な回転角度を求める場合には、角速度の積算処理等を行うことになるため、回転角度の初期値を設定することが望ましい。このため本実施形態では、基準ポジション検出部108が、コントローラ200の基準ポジションを検出する。この基準ポジションは、例えばコントローラ200のX、Y、Z軸回りでの回転角度α、β、γの初期値を設定するためのポジションである。
【0177】
この基準ポジションの検出手法としては種々の手法が考えられるが、本実施形態では、コントローラ200が基準ポジションに設定されたことを知らせる所定の操作を、プレーヤが行った場合に、基準ポジションに設定されたと判断している。具体的には図21では、プレーヤは、ラケットに相当するコントローラ200を体の前側に持って、テニスと同様の基準ポジションの姿勢をとる。そしてトリガボタン214を押すことで、コントローラ200が基準ポジションに設定されたことを、ゲーム装置300側に知らせる。すると、コントローラ200の回転角度α、β、γが初期値(例えば0度)に設定される。その後、プレーヤがコントローラ200をラケットのように見なしてスイングを行うと、角速度センサ230で検出された角速度に基づいて、回転角度α、β、γが初期値から変化して、基準ポジションからの回転角度が取得される。そしてキャラクタCHが図15(A)〜図16に示すようなスイングを行って、ボールBLのショットを行う。
【0178】
このようにすれば、プレーヤは、実際のテニスと同様に、ラケットに相当するコントローラ200を体の前側に持った後に、トリガボタン214を押してスイングするという動作を繰り返すことで、相手キャラクタCCとのラリーを楽しむことができる。従って、プレーヤが違和感を感じない動作でテニスゲームを楽しむことができる。
【0179】
なお基準ポジションの検出手法は図21の手法に限定されない。例えばトリガボタン214以外のボタン等の操作で、基準ポジションであることを知らせるようにしてもよい。或いは図3(A)の撮像素子220による撮像で、表示部190に取り付けられた発光素子等を検出することで、基準ポジションを検出してもよい。例えばプレーヤが、撮像素子220を表示部190の画面側に向けた場合に基準ポジションを検出する。
【0180】
2.8 ヒット判定エリアの設定
本実施形態では角速度センサ230により取得されたコントローラ200の回転角度γに基づいて、ラケットRKの面の角度を設定する。一方、角速度センサ230により取得されたコントローラ200の回転角度α、β等に基づいて、ヒット判定エリアを設定してもよい。
【0181】
例えば図22(A)では、コントローラ200は、基準方向DR(基準ポジションの場合の方向)に対してX軸回りにα=αiだけ回転している。この場合には図22(B)に示すように、ヒット判定エリアHAについても、基準方向に対してα=αiだけ回転させた位置に設定する。例えばキャラクタCHの中心から所定半径位置にラケットRKがあると想定し、このラケットRK(ラケット面)を含むヒット判定エリアHA(ヒットボリューム)を設定する。そして、ラケットRKによりボールBLがヒットされたか否かは、ヒット判定エリアHAとボールBLとのヒットチェック処理を行うことで判定する。
【0182】
また図22(C)では、コントローラ200は、基準方向DRに対してY軸回りにβ=βjだけ回転している。この場合には図22(D)に示すように、ヒット判定エリアHAについても、基準方向に対してβ=βjだけ回転させた位置に設定する。
【0183】
このようにすれば、プレーヤが、コントローラ200をラケットのように振り回すと、振り回した時の各位置に対応する位置にラケットRKが配置されて、ラケットRKを内包するヒット判定エリアHAとボールBLとのヒットチェック処理が行われるようになる。従って、プレーヤは、実際のテニスのようにコントローラ200を振り回すことで、ボールBLをショットすることが可能になり、現実世界に忠実なテニスゲームを実現できる。
【0184】
なおヒット判定エリアHAの設定の際に、Z軸回りでの回転角度γを反映させるようにしてもよい。例えばヒット判定エリアHAが板形状である場合には、その板形状の面の角度を、Z軸回りでの回転角度γにより設定してもよい。
【0185】
そして本実施形態では、盛り上がりパラメータに基づいて、ヒット演算処理におけるヒット判定エリアHAを制御する。例えば盛り上がりパラメータに応じて、ヒット判定エリアHAの大きさを変化させる。
【0186】
例えば図22(E)では、試合があまり盛り上がっておらず、盛り上がりパラメータの値が小さくなっているため、ラケットRK(ラケット面)に設定されるヒット判定エリアHAの大きさを小さくする。このようにすれば、キャラクタのスイング時には、ラケットにボールがヒットしにくくなる。
【0187】
一方、図22(F)では、試合が盛り上がっており、盛り上がりパラメータの値が大きくなっているため、ヒット判定エリアHAの大きさも大きくする。このようにすれば、キャラクタのスイング時には、ラケットにボールがヒットしやくすくなる。従って、ショットのミスが少なくなって、ラリーが続くようになったり、ナイスショットが決まりやすくなるため、試合を更に盛り上げることが可能になる。
【0188】
なお、一方のキャラクタが有利になる盛り上がり判定条件が満たされた場合には、その一方のキャラクタのラケットのヒット判定エリアHAの大きさを大きくしてもよい。このようにすることで、その一方のキャラクタのショットが決まりやすくなり、一方のキャラクタ側を更に盛り上げることが可能にな
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(ヒット体、ヒット対象物等)と共に記載された用語(ラケット、ボール等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ノンプレーヤキャラクタの制御処理、ヒット演算処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【0189】
100 処理部、101 操作情報取得部、102 ゲーム演算部、
104 オブジェクト空間設定部、106 ヒット演算処理部、
108 盛り上がりパラメータ演算部、114 キャラクタ制御部、
115 プレーヤキャラクタ制御部、116 ノンプレーヤキャラクタ制御部、
118 仮想カメラ制御部、120 画像生成部、130 音生成部、
160 操作部、170 記憶部、172 オブジェクトデータ記憶部、
174 モーション記憶部、176 描画バッファ、178 パラメータ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、194 補助記憶装置、
196 通信部、200 コントローラ、202 拡張ユニット、
210 方向指示キー、212 Aボタン、214 トリガボタン、220 撮像素子、
222 無線通信モジュール、224 加速度センサ、230 角速度センサ

【特許請求の範囲】
【請求項1】
プレーヤが操作するプレーヤキャラクタの制御処理を行うプレーヤキャラクタ制御部と、
前記プレーヤキャラクタと相手キャラクタとの間の対戦処理を含むゲーム演算処理を行うゲーム演算部と、
前記ゲーム演算処理の結果に基づいて、盛り上がりパラメータの演算処理を行う盛り上がりパラメータ演算部と、
前記プレーヤキャラクタ及び前記相手キャラクタ以外のノンプレーヤキャラクタの制御処理を行うノンプレーヤキャラクタ制御部と、
前記プレーヤキャラクタと前記相手キャラクタが対戦するための画像を生成する画像生成部として、
コンピュータを機能させ、
前記ノンプレーヤキャラクタ制御部は、
演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタの移動及び動作の少なくとも一方を制御することを特徴とするプログラム。
【請求項2】
請求項1において、
前記ゲーム演算部は、
前記プレーヤキャラクタと前記相手キャラクタを対戦フィールド上で対戦させる対戦処理を行い、
前記ノンプレーヤキャラクタ制御部は、
前記対戦フィールド上での対戦処理において演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを移動元の位置から前記対戦フィールドの方へと移動させる制御を行うことを特徴とするプログラム。
【請求項3】
請求項2において、
前記ノンプレーヤキャラクタ制御部は、
前記ノンプレーヤキャラクタの移動元の位置と前記対戦フィールドとの間の距離情報と、前記盛り上がりパラメータとに基づいて、前記ノンプレーヤキャラクタを前記対戦フィールドの方に移動させるか否かを判定することを特徴とするプログラム。
【請求項4】
請求項2又は3において、
前記ノンプレーヤキャラクタ制御部は、
前記対戦フィールドの周囲に設定された配置ポジションに、前記ノンプレーヤキャラクタを移動させる制御を行うことを特徴とするプログラム。
【請求項5】
請求項4において、
前記ノンプレーヤキャラクタ制御部は、
ゲーム結果及び前記盛り上がりパラメータの少なくとも一方に応じて、前記配置ポジションの数を増加又は減少させることを特徴とするプログラム。
【請求項6】
請求項4又は5において、
前記ノンプレーヤキャラクタ制御部は、
前記配置ポジションに移動した後の前記ノンプレーヤキャラクタの動作を、前記盛り上がりパラメータに基づいて制御することを特徴とするプログラム。
【請求項7】
請求項4乃至6のいずれかにおいて、
前記対戦フィールドは、前記プレーヤキャラクタ用の第1のフィールドと、前記相手キャラクタ用の第2のフィールドを有し、
前記盛り上がりパラメータ演算部は、
複数の盛り上がり判定条件に基づいて、前記盛り上がりパラメータの演算処理を行い、
前記ノンプレーヤキャラクタ制御部は、
前記複数の盛り上がり判定条件のうちの第1の盛り上がり判定条件が満たされた場合には、前記第1、第2のフィールドのいずれか一方のみのフィールドの周囲の配置ポジションに前記ノンプレーヤキャラクタを移動させる制御を行い、
前記複数の盛り上がり判定条件のうちの第2の盛り上がり判定条件が満たされた場合には、前記第1、第2のフィールドの両方のフィールドの周囲の配置ポジションに前記ノンプレーヤキャラクタを移動させる制御を行うことを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記盛り上がりパラメータ演算部は、
複数の盛り上がり判定条件に基づいて、前記盛り上がりパラメータの演算処理を行い、
前記ノンプレーヤキャラクタ制御部は、
前記複数の盛り上がり判定条件に基づき演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを制御することを特徴とするプログラム。
【請求項9】
請求項8において、
前記盛り上がりパラメータ演算部は、
前記複数の盛り上がり判定条件の各盛り上がり判定条件に基づいて、複数の個別盛り上がりパラメータの各個別盛り上がりパラメータの演算処理を行い、
前記ノンプレーヤキャラクタ制御部は、
演算された前記複数の個別盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを制御することを特徴とするプログラム。
【請求項10】
請求項8又は9において、
前記盛り上がりパラメータ演算部は、
前記複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理を行い、
前記ノンプレーヤキャラクタ制御部は、
演算された前記全体盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタを制御することを特徴とするプログラム。
【請求項11】
請求項10において、
前記ゲーム演算部は、
前記プレーヤキャラクタと前記相手キャラクタを対戦フィールド上で対戦させる対戦処理を行い、
前記ノンプレーヤキャラクタ制御部は、
前記ノンプレーヤキャラクタの移動元の位置と前記対戦フィールドとの間の距離情報と、前記全体盛り上がりパラメータとに基づいて、前記ノンプレーヤキャラクタを前記対戦フィールドの方に移動させるか否かを判定することを特徴とするプログラム。
【請求項12】
請求項8において、
前記盛り上がりパラメータ演算部は、
前記複数の盛り上がり判定条件の各盛り上がり判定条件に基づいて、複数の個別盛り上がりパラメータの各個別盛り上がりパラメータの演算処理を行うと共に、前記複数の盛り上がり判定条件に基づいて、全体盛り上がりパラメータの演算処理を行い、
前記ノンプレーヤキャラクタ制御部は、
前記個別盛り上がりパラメータに基づく制御を行わないと判断されたノンプレーヤキャラクタについても、前記全体盛り上がりパラメータに基づいて制御することを特徴とするプログラム。
【請求項13】
請求項8乃至12のいずれかにおいて、
第1〜第Nのノンプレーヤキャラクタの第K(1≦K≦N)のノンプレーヤキャラクタに対して、前記複数の盛り上がり判定条件のうちの少なくとも1つの盛り上がり判定条件が対応づけられており、
前記ノンプレーヤキャラクタ制御部は、
前記第Kのノンプレーヤキャラクタに対応づけられた盛り上がり判定条件に基づいて、前記第Kのノンプレーヤキャラクタを制御することを特徴とするプログラム。
【請求項14】
請求項1乃至13のいずれかにおいて、
前記プレーヤキャラクタが所持する所持オブジェクト又は前記プレーヤキャラクタを構成する部位オブジェクトと、前記所持オブジェクト又は前記部位オブジェクトによりヒットされるヒット対象物とのヒット演算処理を行うヒット演算処理部として、
コンピュータを機能させ、
前記ヒット演算処理部は、
前記盛り上がりパラメータに基づいて、前記ヒット演算処理を行うことを特徴とするプログラム。
【請求項15】
請求項14において、
前記ヒット演算処理部は、
前記盛り上がりパラメータに基づいて、前記ヒット演算処理におけるヒット判定エリアを制御することを特徴とするプログラム。
【請求項16】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至15のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項17】
プレーヤが操作するプレーヤキャラクタの制御処理を行うプレーヤキャラクタ制御部と、
前記プレーヤキャラクタと相手キャラクタとの間の対戦処理を含むゲーム演算処理を行うゲーム演算部と、
前記ゲーム演算処理の結果に基づいて、盛り上がりパラメータの演算処理を行う盛り上がりパラメータ演算部と、
前記プレーヤキャラクタ及び前記相手キャラクタ以外のノンプレーヤキャラクタの制御処理を行うノンプレーヤキャラクタ制御部と、
前記プレーヤキャラクタと前記相手キャラクタが対戦するための画像を生成する画像生成部とを含み、
前記ノンプレーヤキャラクタ制御部は、
演算された前記盛り上がりパラメータに基づいて、前記ノンプレーヤキャラクタの移動及び動作の少なくとも一方を制御することを特徴とするプログラム。
を含むことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図5】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−233751(P2010−233751A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−83804(P2009−83804)
【出願日】平成21年3月30日(2009.3.30)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】