プログラム、情報記憶媒体及び画像生成システム
【課題】コントローラを動かすことにより入力する振動コマンドが受け付けられた否かを確認しながらゲームを行うこと。
【解決手段】第1のコントローラ161及び第2のコントローラ165を含む操作部160からの入力に基づきゲームを行うプログラムであって、第1のコントローラ161及び第2のコントローラ165の少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部122と、動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部120と、動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部126と、を含む。
【解決手段】第1のコントローラ161及び第2のコントローラ165を含む操作部160からの入力に基づきゲームを行うプログラムであって、第1のコントローラ161及び第2のコントローラ165の少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部122と、動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部120と、動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部126と、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
最近ではゲーム用のコントローラに動きを検出可能なセンサ(例えば加速度センサ)を内蔵し、コントローラの動きを検出して、ゲーム入力とするゲーム装置が開発されている。
【0003】
このようなゲーム装置においては、プレーヤにコントローラを振ったり所定の動作をさせたりすることにより所定のコマンドの入力を行わせることができる。したがって、例えばゲーム上の動作に近い動作をおこなってコントローラを動かすようなエキサイティングなゲームを提供することができる。
【特許文献1】特開2003−225467号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところがコントローラを振る動作等による操作入力は、ボタン等の入力と異なり、本当に受け付けられているのかどうかわかりにくいという問題点がある。
【0005】
また例えばコントローラを振る動作をとってみても、ふり幅やふる周期やふる強さはプレーヤによって微妙に違ってくる。したがって慣れないプレーヤは規定通りにコントローラを振ってコマンド入力をしているつもりでも、受け付けられていないケースも起こりえる。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、コントローラを動かすことにより入力する動き操作入力が受け付けられた否かを確認しながらゲームを行うことが可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明は、
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部と、
動き操作入力表示オブジェクトを含むゲーム画像を生成する画像生成部と、
してコンピュータを機能させるプログラムに関係する。
【0008】
また本発明は、上記各部を含む画像生成システムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0009】
動きセンサとは加速度センサや速度センサや変位を測定するセンサ等で構成することができる。
【0010】
第1のコントローラ及び第2のコントローラはプレーヤが右手や左手で把持して操作するようにしてもよい。
【0011】
また第1のコントローラ及び第2のコントローラは両方が動きセンサを内蔵していてもよいし、いずれか一方が内蔵していてもよい。
【0012】
動き操作入力とは、第1のコントローラや第2のコントローラに所定の動作をさせたり、所定の姿勢に保ったりして入力を行う操作入力のことである。第1のコントローラや第2のコントローラに所定の動作をさせることで入力する構成のみならず、ボタンや十字キー等の他の操作部からの操作入力を組み合わせて入力する構成(例えばコントローラのボタンを押しながらコントローラを振る動作を行う操作入力等)も、本発明の動き動作入力の範囲内である。
【0013】
動き操作入力に基づき行われる所与のゲーム演算処理は、例えばゲーム空間内のオブジェクト(プレーヤの操作対象よなるゲームキャラクタやアイテム、その他のオブジェクト)の移動や動作や位置の制御演算でもよいし、ヒットチェック処理でもよいし、関連づけられたゲームパラメータの演算処理でもよいし、パワーや難易度の制御でもよいし、音楽ゲームにおける演奏入力の判定処理でもよい。
【0014】
動き操作入力表示オブジェクトは3次元オブジェクトでもよいし、2次元オブジェクトや文字やマークでもよい。
【0015】
動き操作入力の検出結果を表示するとは、動き操作入力の有無の表示でもよいし、動き操作入力が例えば入力値の量(操作量)も制御の要素となる場合には操作量を表示してもよい。
【0016】
動き操作入力の表示制御とは表示の有無の制御でもよいし、表示形態の制御(例えば動き操作入力表示オブジェクトの色や形状や大きさ等を変化させる制御や輝度を変化させたりブリンクさせたりする制御も含む)でもよい。
【0017】
本発明によれば、動き操作入力の検出結果が動き操作入力表示オブジェクトとして表示されるので、プレーヤはコントローラ自体を動かす動作にかかる操作入力が動き操作入力として検出されているかどうかを確認しながらゲームを行うことができる。
【0018】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記ゲーム演算処理部は、
動き操作入力に基づきオブジェクトの移動又は動作を制御する移動又は動作制御部を含むことを特徴とする。
【0019】
本発明において動き操作入力による移動又は動作の対象となるオブジェクトとはプレーヤの操作対象とオブジェクトであればよく、例えばプレーヤキャラクタでもよいし、プレーヤの有するアイテムオブジェクトでもよい。
【0020】
移動又は動作とは例えば移動速度や加速度、移動方向、回転、キャラクタの動作や等を含む。
【0021】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値及び他の操作入力値に基づいて所与の動き操作入力の検出条件を判断することを特徴とする。
【0022】
本発明によれば、コントローラ自体を動かすことによる入力と他の入力手段の入力の組み合わせによる動き操作入力についても、動き操作入力の検出結果が動き操作入力表示オブジェクトとして表示することができる。
【0023】
なお他の入力手段は第1のコントローラや第2のコントローラに設けられたボタンや十時キー等でもよい。このようにすればプレーヤはコントローラに設けられたボタン等をおしながら、コントローラを動かすことで、動き操作入力を入力することができる。
【0024】
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記操作入力表示制御処理部は、
所定のタイミングで一定時間の間、動き操作入力表示オブジェクトが表示または変化するように制御することを特徴とする。
【0025】
例えば一定期間だけ動き操作入力表示オブジェクトが表示され、その後に表示しないように制御する構成でもよいし、一定期間だけ動き操作入力表示オブジェクトを変化させ、その後に変化しないように制御する構成でもよい。
【0026】
このようにすると動き操作入力表示オブジェクトの表示や変化が終了したら、再び動き操作入力を入力したほうがよいとか入力できる等の情報をプレーヤに伝えることができる。
【0027】
例えば1度動き操作入力を受け付け、そのあと一定時間期間の受け付け禁止期間を設ける場合、この受けつけ禁止期間の間動き操作入力表示オブジェクトが表示、または変化するように構成してもよい。このようにするとプレーヤは動き操作入力受付禁止期間を把握しやすくなるという効果がある。
【0028】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記操作入力表示制御処理部は、
動き操作入力検出結果を表示するための動き操作入力表示オブジェクトを表示することを特徴とする。
【0029】
検出結果に応じて、動き操作入力表示オブジェクト表示の有無を変化させてもよいし、動き操作入力表示オブジェクトの少なくとも一部の形態(ゲージの長さや大きさ、マークの形状、表示形態、色、数字の示す値)を変化させる制御を行うようにしてもよい。
【0030】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記ゲーム演算処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、当該動き操作入力に基づきオブジェクトの向きや回転を制御するためのゲームパラメータを演算し、
前記操作入力表示制御処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、向きや回転の方向を表示するための動き操作入力表示オブジェクトを表示することを特徴とする。
【0031】
本発明によれば、動き操作入力の検出とそれによって指示された向きや回転の方向が同時に把握できる。
【0032】
(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
前記動きセンサの出力値に基づき、動き操作入力に対応付けられた操作量を検出し、
前記ゲーム演算処理部は、
動き操作入力に対応付けられた操作量に応じて、動き操作入力に対応付けられたゲームパラメータを演算し、
前記操作入力表示制御処理部は、
動き操作入力に対応付けられた操作量の大きさを表示するための動き操作入力表示オブジェクトを表示することを特徴とする。
【0033】
動き操作入力に対応付けられた操作量は動きセンサの出力値の大きさによって決定するようにしてもよい。このような場合には出力値が大きさを有するセンサ(単にON・OFFを検出するセンサではないセンサ)を用いるようにしてもよい。
【0034】
動き操作入力に対応付けられた操作量を有する場合には、動き操作入力によって命令の種類が決定され、対応付けられた操作量に応じて命令によって変化させる量等が決定されるようにしてもよい。例えば加速を指示する動き操作入力において、対応付けられた操作量の大きさに応じて加速の大きさ(例えば加速度の値)を制御するようにしてもよい。
【0035】
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1のコントローラに対応ずけられた第1の動き操作入力表示オブジェクトと、
第2のコントローラに対応ずけられた第2の動き操作入力表示オブジェクトと、
を用いて、動き操作入力の検出を表示するための表示制御処理を行うことを特徴とする。
【0036】
例えば第1のコントローラの動きで判断される動き操作入力が検出された場合には第1の動き操作入力表示オブジェクトが変化し、第2のコントローラの動きで判断される動き操作入力が検出された場合には第2の動き操作入力表示オブジェクトが変化し、
例えば第1のコントローラと第2のコントローラの両方の動きで判断される動き操作入力が検出された場合には第1の動き操作入力表示オブジェクトと第2の動き操作入力表示オブジェクトの両方が変化するように制御してもよい。このようにすると動き操作入力の検出状態と第1、第2のコントローラの動作状況との関係をプレーヤは把握しやすいという効果がある。
【0037】
(9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
前記所与の条件に対応したパターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示することを特徴とする。
【0038】
本発明によればコントローラの動作によって所与の条件に対応するパターンが発生したことや、発生したパターンの種類をプレーヤが把握することができる。
【0039】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0040】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0041】
また例えば格闘ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の技パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0042】
(10)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、
前記操作入力表示制御処理部は、
前記検出された動作を示す動き操作入力表示オブジェクトを表示することを特徴とする。
【0043】
例えば所定期間におけるコントローラの動きを動き操作入力表示オブジェクトとして再現させるようにしてもよい。このようにすると、プレーヤは所定期間に行った自己の動作を把握することができる。
【0044】
(11)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示することを特徴とする。
【0045】
(12)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記ゲーム演算処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトのゲームパラメータを演算する手段を含み、
前記操作入力表示制御処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応した操作入力の検出結果を表示するための操作入力表示オブジェクトの表示制御を行うことを特徴とする。
【0046】
操作入力表示オブジェクトと動き操作入力表示オブジェクトとは別個のオブジェクトとして構成されるようにしてもよい。
【0047】
本発明によれば、ボタンやレバーや十時キー等の操作部に対する操作入力についても受付状況を把握することができる。
【0048】
(13)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
動き操作入力に対する初期設定操作入力を受け付ける初期設定操作期間を設定し、
初期設定操作期間にコントローラ操作により得られた動きセンサの出力値に基づき所与の動き操作入力の条件の設定値の調整を行う設定調整部を含むことを特徴とする。
【0049】
(14)また本発明は、
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を通知するための動き操作入力通知音の出力制御処理を行うコマンド通知音出力制御部と、
ゲーム画像を生成する画像生成部と、
してコンピュータを機能させることを特徴とするプログラムプログラムに関係する。
【0050】
また本発明は、上記各部を含むゲームシステムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【発明を実施するための最良の形態】
【0051】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0052】
1.構成
まず、図1を用いて本実施形態の画像生成システム(ゲームシステム)の構成について説明する。なお、図1は、本実施形態の画像生成システムにおける機能構成の例である。また、本実施形態の画像生成システムは、当該構成要素(各部)の一部を省略した構成としてもよい。
【0053】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク等により実現できる。
【0054】
操作部160は、第1のコントローラ161、第2のコントローラによって実現される。
【0055】
第1のコントローラ161は、第1の加速度センサ(動きセンサの一例である)162、ボタン、十字キー等の加速度センサ以外の操作入力値をえるための操作入力手段を含む。
【0056】
第2のコントローラ165は、第2の加速度センサ(動きセンサの一例である)166を含む。
【0057】
第1の加速度センサ162は第1のコントローラ161自体の動きに応じて生じる加速度ベクトルを検出する。
【0058】
第2の加速度センサ166は第1のコントローラ165自体の動きに応じて生じる加速度ベクトルを検出する。
【0059】
第1の加速度センサ162、第2の加速度センサ166は、操作に応じた加速度を検出し、検出した加速度情報(出力値)を出力するものであり、圧電型や動電式、歪みケージ式等のハードウェアにより実現できる。
【0060】
本実施の形態では、加速度センサ3の出力値は、ワールド座標系 での「下」方向 ( Y軸の反対方向 ) をコントローラ基準座標系に変換したものである。
【0061】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0062】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0063】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0064】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0065】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリーカードや携帯型ゲーム装置などがある。通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0066】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0067】
処理部100(プロセッサ)は、各機能ブロックへの命令の指示、ゲーム処理、画像生成処理、音生成処理などの各種の処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0068】
処理部100の機能は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。処理部100は、記憶部170をワーク領域として各種処理を行う。
【0069】
処理部100は、ゲーム処理部110、描画部130、音生成部150を含む。なお、これらの一部を省略する構成としてもよい。
【0070】
ゲーム処理部110は、ゲーム演算処理部120、動き操作入力検出部122、操作入力表示制御処理部126、設定調整部128を含む。
【0071】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する。
【0072】
ゲーム演算処理部120は、動き操作入力に基づき所与のゲーム演算処理を行う。
【0073】
操作入力表示制御処理部126は、動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う。
【0074】
ゲーム演算処理部120は、動き操作入力に基づきオブジェクトの移動又は動作を制御する移動又は動作制御部124を含む。
【0075】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値及び他の操作入力値に基づいて所与の動き操作入力の検出条件を判断するようにしてもよい。
【0076】
操作入力表示制御処理部126は、所定のタイミングで一定時間の間、動き操作入力表示オブジェクトが表示または変化するように制御するようにしてもよい。
【0077】
前記操作入力表示制御処理部126は、動き操作入力検出結果を表示するための動き操作入力表示オブジェクトを表示するようにしてもよい。
【0078】
移動又は動作制御部124は、所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、当該動き操作入力に基づきオブジェクトの向きや回転を制御するためのゲームパラメータを演算し、操作入力表示制御処理部126は、所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、向きや回転の方向を表示するための動き操作入力表示オブジェクトを表示するようにしてもよい。
【0079】
動き操作入力検出部122は、前記動きセンサの出力値に基づき、動き操作入力に対応付けられた操作量を検出し、移動又は動作制御部124は、動き操作入力に対応付けられた操作量に応じて、動き操作入力に対応付けられたゲームパラメータを演算し、操作入力表示制御処理部126は、動き操作入力に対応付けられた操作量の大きさを表示するための動き操作入力表示オブジェクトを表示するようにしてもよい。
【0080】
動き操作入力検出部122は、第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の動き操作入力の条件を満たしているか否か判断し、操作入力表示制御処理部126は、第1のコントローラに対応ずけられた第1の動き操作入力表示オブジェクトと、第2のコントローラに対応ずけられた第2の動き操作入力表示オブジェクトと、を用いて、動き操作入力の検出を表示するための表示制御処理を行うようにしてもよい。
【0081】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、操作入力表示制御処理部126は、所与の条件に対応したパターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0082】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、操作入力表示制御処理部126は、検出された動作を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0083】
移動又は動作制御部124は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、操作入力表示制御処理部126は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0084】
移動又は動作制御部124は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトの移動又は動作を制御するためのゲームパラメータを演算する手段を含み、前記操作入力表示制御処理部126は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドの検出または実行結果を表示するためのコマンド表示オブジェクトの表示制御を行うようにしてもよい。
【0085】
設定調整部128は、動き操作入力に対する初期設定操作入力を受け付ける初期設定操作期間を設定し、初期設定操作期間にコントローラ操作により得られた動きセンサの出力値に基づき所与の動き操作入力の条件の設定値の調整を行う。
【0086】
移動又は動作制御124は、オブジェクト、例えば、キャラクタ、車、又は飛行機等の移動体オブジェクトの移動又は動作演算(移動又は動作シミュレーション)を行う。即ち、この移動又は動作処理部112は、操作部160によりプレーヤが入力した操作データ、プログラム(移動又は動作アルゴリズム)、または、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。
【0087】
具体的には、本実施形態の移動又は動作処理部124は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なお、このフレームは、オブジェクトの移動又は動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0088】
移動又は動作処理部124は、演算された向き/回転パラメータに基づきオブジェクト空間の操作対象オブジェクトの回転、姿勢、動作、移動方向の少なくとも1つを制御するようにしてもよい。
【0089】
なおゲーム処理部110は、図示しないオブジェクト空間設定部を含むようにしてもよい。オブジェクト空間設定部は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0090】
またゲーム処理部110は、図示しない仮想カメラ制御部を含むようにしてもよい。仮想カメラ制御部は、プレーヤからの入力に基づき仮想カメラの位置、回転(向き)等を制御する処理を行う。
【0091】
また描画部130は、ゲーム処理部120で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、オブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。
【0092】
なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0093】
頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そして、ラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0094】
なお、描画部130が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0095】
そして、描画部130は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0096】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。また、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0097】
テクスチャマッピングは、テクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0098】
特に、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、各オブジェクトに対してマッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
【0099】
この場合において、色分布が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。また、オブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。
【0100】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0101】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
【0102】
RQ=(1−α)×R1+α×R2 (1)
GQ=(1−α)×G1+α×G2 (2)
BQ=(1−α)×B1+α×B2 (3)
また合成処理が加算αブレンディングである場合を例にとれば、描画部120は、下式に従ったα合成処理を行う。
【0103】
RQ=R1+α×R2 (4)
GQ=G1+α×G2 (5)
BQ=B1+α×B2 (6)
また、合成処理がα乗算である場合を例にとれば、描画部120は、下式に従ったα合成処理を行う。
【0104】
RQ=α×R1 (7)
GQ=α×G1 (8)
BQ=α×B1 (9)
また合成処理がα乗加算である場合を例にとれば、描画部120は、下式に従ったα合成処理を行う。
【0105】
RQ=α×R1+R2 (7)
GQ=α×G1+G2 (8)
BQ=α×B1+B2 (9)
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファ172に描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。
【0106】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0107】
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0108】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0109】
2.本実施形態の手法
2−1.操作部
図2(A)(B)は、本実施形態の操作部の一例を示す図である。
【0110】
図2(A)(B)は、第1のコントローラを示しており、図2(B)は第2のコントローラを示している。
【0111】
第1のコントローラ161は第1の加速度センサ162(動きセンサの一例)を内蔵している。第1の加速度センサ162は、第1のコントローラにかかる加速度ベクトルを検出することができる。
【0112】
また第1のコントローラ161は、十字キー163、ボタン164等を含む。
【0113】
第2のコントローラ166は第1の加速度センサ166(動きセンサの一例)を内蔵している。第1の加速度センサ166は、第2のコントローラにかかる加速度ベクトルを検出することができる。
【0114】
また第2のコントローラ165は、ボタン167等を含む。
【0115】
第1の加速度センサ162、第2の加速度センサ166は、操作に応じた加速度を検出し、検出した加速度情報(出力値)を出力するものであり、圧電型や動電式、歪みケージ式等の加速度センサなどのハードウェアにより実現できる。
【0116】
本実施の形態の第1の加速度センサ162、第2の加速度センサ166で得られる情報は、ワールド座標系における3軸(X軸、Y軸、Z軸)に対するそれぞれの加速度ベクトルである。
【0117】
2−2.振動コマンド(動き操作入力の一例)と振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
以下、競走馬を走行させるゲームを例にとり振動コマンド(動き操作入力の一例)と振動コマンド表示オブジェクトについて説明する。
【0118】
図3は本実施のゲーム画像の一例である。
【0119】
210はプレーヤの操作対象となるゲームキャラクタ(競走馬オブジェクト)である。本実施の形態では操作部からの操作入力によりゲームキャラクタである競走馬を走行させるゲームを行うもので、走行する競走馬オブジェクトを含むオブジェクト空間を仮想カメラからみた画像が生成され、ゲーム画像として表示される。
【0120】
230−1、230−2は、振動コマンドの検出を表示するための振動コマンド表示オブジェクトある。ここでは230−1、230−2が一対で1つの振動コマンド表示オブジェクトであり、後述するように本実施の形態で実行される振動コマンドに応じて表示形態が変化する。
【0121】
振動コマンドとは、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサ(加速度、速度、変位を測定するセンサ)の出力値が、所与の振動コマンドの条件を満たしている場合に実行されるコマンドの事である。
【0122】
なお第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサ(加速度、速度、変位を測定するセンサ)の出力値及び他の操作入力値が、ゲームキャラクタの移動又は動作を制御するための所与の振動コマンドの条件を満たしている場合に実行されるコマンドも振動コマンドである。
【0123】
振動コマンド表示オブジェクトは、各振動コマンドごとに設定されてもよいし、1つの振動コマンド表示オブジェクトの表示形態(色や形状、ブリンク、大きさ等)が振動コマンドに種類に応じて変化するよようにしてもよい。
【0124】
振動コマンド表示オブジェクトは、3次元的なオブジェクトとして構成してもよいし、2次元的なオブジェクト(例えばスプライトや板ポリゴン)として構成してもよい。
【0125】
2−3.加速/減速振動コマンド(動き操作入力の一例)と加速/減速振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
図4(A)(B)は、馬の速度制御に関する振動コマンド(動き操作入力の一例)の入力例について説明するための図であり、図5(A)(B)は、馬の速度制御に関する振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)の一例である。
【0126】
図4(A)は、加速振動コマンドの操作例であり、同図に示すようにプレーヤが第1のゲームコントローラ161を右手にもち、第2のゲームコントローラ165を左手にもって、同時に前後に動かすことで、プレーヤの操作対象であるゲームキャラクタの馬を加速させることができる。
【0127】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第1のゲームコントローラと第2のゲームコントローラを同時に前後に動かした場合の条件(加速振動コマンドの条件、図12参照)を満たしていたら、加速振動コマンドが入力されたと判断し(加速振動コマンドの検出)、加速処理が行われる。
【0128】
例えば加速振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬に所定期間、所定の加速度aを与えるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した加速度パラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)の加速度を所定期間aにする。このようにすることで、プレーヤの操作対象オブジェクトである馬を加速させることができる。
【0129】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、加速振動コマンドが検出されたことをプレーヤに知らせることができる。
【0130】
図5(A)は、加速振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下加速振動コマンド表示オブジェクトという)の一例である。本実施の形態では、加速振動コマンドを1回検出すると、加速振動コマンド表示オブジェクト230−1、230−2の加速ゲージ232−1、232−2(加速の場合は色がAのゲージ)が0〜100まで所定時間で1往復する。すなわちプレーヤは色Aのゲージが1往復することで、自己の操作(第1のコントローラ161と第2のコントローラ165を同時に前後に動かす動作)により加速振動コマンドが1回受け付けられたことを把握することができる。プレーヤが第1のコントローラ161と第2のコントローラ165を同時に前後に動かす動作を続けると、順次加速振動コマンドが検出され、そのたびごとに馬は加速されることになる。
【0131】
図4(B)は、減速振動コマンドの操作例であり、同図に示すようにプレーヤが第1のゲームコントローラ161を右手にもち、第2のゲームコントローラ165を左手にもって、第1のゲームコントローラ161と第2のゲームコントローラ165を同時に立てることで、プレーヤの操作対象であるゲームキャラクタの馬を減速させることができる。
【0132】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第1のゲームコントローラ161と第2のゲームコントローラ165を同時に立てた場合の条件(減速振動コマンドの条件、図13参照)を満たしていたら、減速振動コマンドが入力されたと判断し(減速振動コマンドの検出)、減速処理が行われる。
【0133】
例えば減速振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬に毎フレームごとに進行方向と逆方向に所定の加速度−bを与えるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した加速度パラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)の加速度を所定期間−bにする。このようにすることで、プレーヤの操作対象オブジェクトである馬を減速させることができる。
【0134】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、減速振動コマンドが検出されたことをプレーヤに知らせることができる。
【0135】
図5(B)は、減速振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下減速振動コマンド表示オブジェクトという)の一例である。本実施の形態では、減速振動コマンドを1回検出すると、減速振動コマンド表示オブジェクト230−1、230−2の減速ゲージ233−1、233−2(減速の場合は色がBのゲージ)が0〜100まで所定時間で1往復する。すなわちプレーヤは色Bのゲージが1往復することで、自己の操作(第1のコントローラと第2のコントローラを同時に立てる動作)により減速振動コマンドが1回受け付けられたことを把握することができる。プレーヤが第1のコントローラ161と第2のコントローラ165を同時に立てる姿勢を継続すると、順次減速振動コマンドが検出され、そのたびごとに馬は減速されることになる。
【0136】
2−4.右寄せ/左寄せ振動コマンド(動き操作入力の一例)と右寄せ/左寄せ振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
図6(A)(B)は、馬の向き制御に関する振動コマンド(動き操作入力の一例)の入力例について説明するための図であり、図7(A)(B)は、馬の向き制御に関する振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)の一例である。
【0137】
図6(A)は、右寄せ振動コマンドの操作例であり、同図に示すようにプレーヤが右手にもった第1のゲームコントローラ161を手前にひき、左手にもった第2のコントローラは動かさないことで、プレーヤの操作対象であるゲームキャラクタの馬を右に寄せることができる。
【0138】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第1のゲームコントローラ161のみ動かし、第2のゲームコントローラ165は動かさない場合の条件(右寄せ振動コマンドの条件)を満たしていたら、右寄せ振動コマンドが入力されたと判断し(右寄せ振動コマンドの検出)、右寄せ処理が行われる。
【0139】
例えば右寄せ振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬の進行方向を所定の角度cだけ右方向に回転させるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した向きパラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)を所定の角度cだけ右方向に回転させる。このようにすることで、プレーヤの操作対象オブジェクトである馬を右に寄せることができる。これを利用して馬を右に寄せたり、コーナーを時計回りに曲がったりさせることができる。
【0140】
なお第1のコントローラ161からの加速度値に基づき、加速度値の大きさを求め、加速度値の大きさによって右への回転角を制御するようにしてもよい。このようにすると第1のコントローラ161を大きく引いたり小さく引いたりすることで、曲がる角度を変化させることができる。
【0141】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、右寄せ振動コマンドが検出されたことをプレーヤに知らせることができる。
【0142】
図6(B)は、左寄せ振動コマンドの操作例であり、同図に示すようにプレーヤが左手にもった第2のゲームコントローラ165を手前にひき、右手にもった第1のコントローラ161は動かさないことで、プレーヤの操作対象であるゲームキャラクタの馬を左に寄せることができる。
【0143】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第2のゲームコントローラ165のみ動かし、第1のゲームコントローラ161は動かさない場合の条件(左寄せ振動コマンドの条件、図14参照)を満たしていたら、左寄せ振動コマンドが入力されたと判断し(左寄せ振動コマンドの検出)、左寄せ処理が行われる。
【0144】
例えば左寄せ振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬の進行方向を所定の角度cだけ左方向に回転させるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した向きパラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)を所定の角度cだけ左方向に回転させる。このようにすることで、プレーヤの操作対象オブジェクトである馬を左に寄せることができる。これを利用して馬を左に寄せたり、コーナー反時計回りに曲がったりさせることができる。
【0145】
なお第2のコントローラ165からの加速度値に基づき、加速度値の大きさを求め、加速度値の大きさによって左への回転角を制御するようにしてもよい。このようにすると第2のコントローラ165を大きく引いたり小さく引いたりすることで、曲がる角度を変化させることができる。
【0146】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、左寄せ振動コマンドが検出されたことをプレーヤに知らせることができる。
【0147】
図7(A)は、左寄せ振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下、左寄せ振動コマンド表示オブジェクトという)の一例である。本実施の形態では、左寄せ振動コマンドを1回検出すると、左寄せ振動コマンド表示オブジェクト250が所定時間表示させる。なお検出された加速度値の大きさによって左への回転角の大小を制御する場合には回転角の大小に応じて、左寄せ振動コマンド表示オブジェクト250の矢印の長さをかえるようにしてもよい。
【0148】
プレーヤは左寄せ振動コマンド表示オブジェクト250が表示されることで、自己の操作(第2のコントローラを引いて第1のコントローラを動かさない動作)により左寄せ振動コマンドが受け付けられたことを把握することができる。 またプレーヤが第2のコントローラ165を引き、第1のコントローラ161を動かさない動作を繰り返すと、順次左寄せ振動コマンドが検出され、そのたびごとに馬の向きを左に回転させるようにしてもよい。
【0149】
図7(B)は、右寄せ振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下、右寄せ振動コマンド表示オブジェクトという)の一例である。本実施の形態では、右寄せ振動コマンドを1回検出すると、右寄せ振動コマンド表示オブジェクト252が所定時間表示させる。なお検出された加速度値の大きさによって右への回転角の大小を制御する場合には回転角の大小に応じて、右寄せ振動コマンド表示オブジェクト252の矢印の長さをかえるようにしてもよい。
【0150】
プレーヤは右寄せ振動コマンド表示オブジェクト252が表示されることで、自己の操作(第1のコントローラ161を引いて第2のコントローラ165を動かさない動作)により右寄せ振動コマンドが受け付けられたことを把握することができる。
【0151】
またプレーヤが第1のコントローラ161を引き、第2のコントローラ165を動かさない動作を繰り返すと、順次右寄せ振動コマンドが検出され、そのたびごとに馬の向きを右に回転させるようにしてもよい。
【0152】
2−5.ムチ入力振動コマンド(動き操作入力の一例)とムチ入力振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
図8は、馬の速度制御に関する他の振動コマンド(動き操作入力の一例)(以下、ムチ入力振動コマンドという)の入力例について説明するための図であり、図9は、ムチ入力振動コマンドが実行されたゲーム画像の一例である。
【0153】
図8は、ムチ入力振動コマンドの操作例であり、同図に示すようにプレーヤが右手にもった第1のゲームコントローラ161のボタン164を押しながら、第1のゲームコントローラ161をふることで、プレーヤの操作対象であるゲームキャラクタ騎手212がプレーヤの操作対象であるゲームキャラクタの馬210にムチ214をいれ、馬の速度を飛躍的にアップさせることができる。
【0154】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第1のゲームコントローラ161のボタン164の押下信号が、第1のゲームコントローラ161を押しながら、第1のゲームコントローラ161をふる場合の条件(ムチ入力振動コマンドの条件、図15参照)を満たしていたら、ムチ入力振動コマンドが入力されたと判断し(ムチ入力振動コマンドの検出)、ムチ入力処理が行われる。
【0155】
例えばムチ入力振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬に所定期間、所定の加速度e(e>a)を与えるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した加速度パラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)の加速度を所定期間通常の加速度aに比べ数倍の大きさのeにする。このようにすることで、プレーヤの操作対象オブジェクトである馬を急加速させることができる。
【0156】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、ムチ入力振動コマンドが検出されたことをプレーヤに知らせることができる。
【0157】
図9は、ムチ入力振動コマンドが検出されたゲーム画像の一例である。
【0158】
本実施の形態では、ムチ入力振動コマンドを1回検出すると、加速振動コマンド表示オブジェクト230−1、230−2の加速ゲージ232−1、232−2(加速の場合は色がAのゲージ)が0〜100まで所定時間で1往復するとともに、加速振動コマンド表示オブジェクト230−1、230−2自体がブリンク表示される。これによりプレーヤは自己の操作(第1のコントローラ161のボタン164を押しながら振る動作)によりムチ入力振動コマンドが1回受け付けられたことを把握することができる。
【0159】
なおムチ入力振動コマンドが検出された場合にはプレーヤの操作対象であるゲームキャラクタの騎手212は馬210に対してムチ214を打つモーションを行う。
【0160】
2−6.振動コマンド(動き操作入力の一例)の検出手法
以下、動きセンサとして加速度センサを用いて3軸(X軸、Y軸、Z軸)のそれぞの加速度値を検出して3軸の加速度値に基づいて振動コマンドの条件を満たしているか否か判断する場合を例にとり説明する。
【0161】
図10(A)(B)(C)は、それぞれX軸、Y軸、Z軸に対する加速度センサの出力値である加速度値の遷移を示したグラフである。
【0162】
例えば本実施の形態で、第1のコントローラに対して振る動作が行われているか否かは、所定期間Tの間の加速度値の大きさある所定値以上になったかどうかで判断するようにようにしてもよい。
【0163】
ここで、加速度値の大きさは時刻tにおけるX軸、Y軸、Z軸のそれぞれの加速度の大きさに基づき判断するようにしてもよい。たとえば時刻t1におけるX軸に対する加速度値の大きさがx1、Y軸に対する加速度値の大きさがy1、Z軸に対する加速度値のz1として、時刻tにおける求める加速度値の大きさk1を下記の式により演算してもよい。
【0164】
【数1】
【0165】
また所定期間Tの間の加速度値の大きさがある所定値以上になったかどうかは、所定期間T(t1〜tn)の加速度値の平均値をとり、平均値がある値以上になったかどうかで判断するようにしてもよい。
【0166】
また例えば振動コマンド条件としてコントローラの姿勢が関係する場合(例えば減速振動コマンドのようにコントローラを立てたか否かが判定要件になる場合)には、例えばY軸の加速度値の大きさyとZ軸の加速度値の大きさzに基づきアークタンジェント(Y/Z)を取得して判断するようにしてもよい。
【0167】
2−7.反作用入力の認識防止手法
図11は、本実施の形態の反作用入力の認識防止手法について説明するための図である。300はユーザーが加速度センサを内蔵したコントローラを振っているときに、内蔵する加速度センサが所与の軸に対して検出した加速度値の時間的な遷移である。ユーザーがT1、T2、T3の間にそれぞれ、1回づつコントローラを往復させると、各期間T1、T2、T3ではそれぞれ、4つのパルスが発生している。例えば区間T1では310、312,314,316の極値を有する4つのパルスが発生している。ここで314、316の極値を有する2つのパルスは310、312の極値を有する2つのパルスの反作用入力として生じるパルスである。
【0168】
例えば加速度値の大きさが所定値以上である場合にコントローラを振っていることを検出する場合には、所定値の閾値Sを設定して、検出した加速度値が閾値Sを超えたときに振動コマンドを1回検出したと判断することができる。すなわち区間T1においては時刻t1において加速度値q1が閾値Sを超えるのでここで振動コマンドを検出するようにしてもよい。
【0169】
本実施の形態では、一旦振動コマンドを検出したら、その後所定期間(例えばt1で振動コマンドを検出したら、その後k1の間)は、振動コマンドを検出しない。したがって、次に振動コマンドを検出するのは所定期間後に最初に検出した加速度値が閾値Sを超えるときであるt3である。
【0170】
したがってt2においては、加速度値q2が閾値Sを超えるが振動コマンドは検出されない。このように4パルスの周期に基づき振動コマンドを認識しない期間(コマンド認識禁止期間)を設定することにより、反作用入力によるパルスを検出せず、1回の振りに対応して1回の振動コマンドを検出することができる。
【0171】
なおコマンドを検出しない期間の長さは、これ以外にも適宜設定することができる。例えばh秒単位でコマンドを検出するように設定したい場合には1回コマンドを検出したら、その後h’秒(h’は加速度値の遷移特性及びhに応じて適宜設定する)はコマンド認識禁止期間とするようにしてもよい。
【0172】
2−8.加速振動コマンドの検出処理
図12は、加速振動コマンドの検出処理の流れを示すフローチャート図である。
【0173】
まず左右のコントローラ(右が第1のコントローラ、左が第2のコントローラとする)の全ての状態(検出される加速度値やその他の操作部(ボタン等)からの入力信号)を、ある一定期間保持する(ステップS10)。
【0174】
次に左(右)のコントローラの加速度の大きさ (X,Y,Zによる長さ)を取得する(ステップS20)。
【0175】
次に取得した値がある一定値以上か否か判断し(ステップS30)、一定値以上である場合には、他のコントローラが保持している近い期間のデータを取得する(ステップS40)。
【0176】
そして他のコントローラから取得した値がある一定値以上か否か判断し(ステップS50)、一定値以上である場合には、加速入力と認識する(ステップS60)。
【0177】
そして加速入力を認識した後は、ある一定期間は加速入力を認識しない(ステップS70)。これにより反作用入力の検出を避けることができる。なお加速入力を認識した後は、ある一定期間すべての振動コマンドを認識しないようにしてもよい。
【0178】
2−9.減速振動コマンドの検出処理
図13は、減速振動コマンドの検出処理の流れを示すフローチャート図である。
【0179】
まず左右のコントローラのY,Zの加速度から、アークタンジェント(Y/Z)を取得する(ステップS110)。
【0180】
次に左右のコントローラの加速度の大きさ (X,Y,Zによる長さ)を取得する(ステップS220)。
【0181】
次に取得したアークタンジェント(Y/Z)値がある一定値以上か否か判断し(ステップS130)、一定値以上である場合には、取得した左右のコントローラの加速度の大きさが一定範囲内か否か判断し(ステップS140)、一定範囲ないである場合には、減速準備と認識して、減速準備期間をカウンタでカウントする(ステップS150)。
【0182】
そして減速準備期間が一定時間を経過したか否か判断し(ステップS160)、一定期間を経過した場合には減速入力と認識する(ステップS170)。このようにすることで、一瞬の間アークタンジェント(Y/Z)値がある一定値以上となり、左右のコントローラの加速度の大きさがある一定範囲になっただけで減速させるのを防止することができる。なお減速入力を認識した後は、ある一定期間すべての振動コマンドを認識しないようにしてもよい。
【0183】
2−10.左よせ振動コマンドの検出処理
図1は、左よせ振動コマンドの検出処理の流れを示すフローチャート図である。
【0184】
まず左右のコントローラの全ての状態を、ある一定期間保持する(ステップS210)。
【0185】
次に左のコントローラの加速度の大きさ (X,Y,Zによる長さ)を取得する(ステップS220)。
【0186】
次に取得した値がある一定値以上か否か判断し(ステップS230)、一定値以上である場合には、右のコントローラが保持している近い期間のデータを取得する(ステップS240)。
【0187】
次に右のコントローラから取得した値がある一定値以下か否か判断し(ステップS250)、一定値以下である場合には、左に曲がる指示入力(左寄せ振動コマンド)と認識する(ステップS260)。
【0188】
そして左に曲がる指示入力を認識した後は、ある一定期間は左に曲がる指示入力を認識しない(ステップS170)。これにより反作用入力の検出を避けることができる。なお左寄せ振動コマンドを認識した後は、ある一定期間すべての振動コマンドを認識しないようにしてもよい。
【0189】
2−11.ムチ入力振動コマンドの検出処理
図15は、ムチ入力振動コマンドの検出処理の流れを示すフローチャート図である。
鞭準備として定めたボタンを押されたか否か判断し(ステップS310)、押された場合には鞭準備入力と認識する(ステップS320)。
【0190】
次に右コントローラ(第1のコントローラ)の加速度の大きさ(X,Y,Zによる長さ)が、ある一定以上か否か判断し(ステップS330)、一定値以上である場合には鞭入力と認識する(ステップS340)。
【0191】
2−12.振動コマンドの検出を振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)として表示する処理
図16は、振動コマンド表示オブジェクトを表示する表示制御処理の流れを示すフローチャート図である。
【0192】
所与の振動コマンドを検出したか否か判断し(ステップS410)、検出した場合には、振動コマンドに基づきゲームキャラクタの移動又は動作を制御するためのゲームパラメータを演算し、演算されたゲームパラメータに基づきオブジェクト空間の操作対象オブジェクトの移動又は動作を制御する(ステップS420)。
【0193】
そして振動コマンドに対応した振動コマンド表示オブジェクトを一定期間所定の状態にする(ステップS430)。
【0194】
2−13.キャリブレーション調整処理
図21(A)(B)はキャリブレーション調整処理のためのゲーム画面の一例について説明するための図である。
【0195】
例えばプレーヤが初期設定モードを選択すると、図21(A)に示すような初期設定画面が表示され、ユーザーに対して「画面に向かってコントローラを基準位置に構えてください」等のメッセージや人がコントローラを画面に向かって基準位置でかまえているお手本となる画像が表示され、初期設定期間が設定される。
【0196】
610は基準位置にお手本通りに構えた時のコントローラの傾き具合を示す矢印画像である。
【0197】
初期設定期間にお手本にそってプレーヤがコントローラを構えると図21(B)に示すような画像が表示される。620は、プレーヤコントローラを基準位置に構えた時のコントローラの傾き具合を示す矢印画像である。矢印画像620の傾き具合は初期設定期間内にコントローラに内蔵された加速度センサの出力値に基づき与えられる。図21(B)では、プレーヤの矢印画像620は基準位置の矢印画像と少しずれている。これはシステムがデフォルトでもっている基準位置に対応して設定された初期設定値と、実際のプレーヤの構える基準位置に対応した初期設定値が連れていることを示している。
【0198】
ここで、「あなたの基準位置はこれでよいですか?」と言うメッセージが出力され、イエスボタン画像630がブリンクしている最中にプレーヤがプレーヤが確定入力を行うとプレーヤの基準位置が620で確定される。
【0199】
この場合、本実施の形態ではプレーヤの入力した基準位置に基づき動き操作入力の検出条件となる設定値の調整処理を行う。
【0200】
図17は、キャリブレーション処理の流れを示すフローチャート図である。
【0201】
初期設定操作期間か否か判断し(ステップS510)、初期設定操作期間であれば、コントローラ操作により得られた動きセンサの出力値に基づき所与の振動コマンドの条件の向きに関する設定値の調整を行う(ステップS520)。
【0202】
初期設定期間はゲームに先立ち設定するようにしてもよい。
【0203】
初期設定期間にユーザーに対して基準位置で基本姿勢でコントローラを把持してもらい、そのときの加速度センサの出力値を取得する。ここで例えば基本姿勢や基準位置をきめておいて、その姿勢や位置でコントローラを把持してもらっても、手にもったときのコントローラの傾き等がひとによって微妙に異なる。
【0204】
本実施の形態によれば、振動コマンドの条件に向きの要素が含まれている場合には、ユーザーごとに設定された基準位置からのオフセットとして判断することができるので、ユーザーごとに微妙に異なる基準位置の違いを吸収することができる。
【0205】
また例えば初期設定期間にユーザーに対して振りの動作を行ってもらい、そのときの加速度センサの出力値を取得する。振りの動作もユーザーごとにその周期や速度や強さやふり幅が異なることから、検出される加速度値の遷移のユーザーごとに異なってくる。
【0206】
本実施の形態によれば、振動コマンドの条件に加速度値の大きさ向きの要素が含まれている場合には、初期設定期間に検出した加速度値の大きさに基づき、ユーザーごとに加速度値の大きさを判定する際の閾値を設定するようにしてもよい。
【0207】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0208】
上記実施の形態では動きセンサとして加速度センサを用いる場合を例にとり説明したがこれにかぎられない。例えば速度センサや変位を測定するセンサ等で構成してもよい。
【0209】
また上記実施の形態では加速度センサで3軸についての加速度値をそれぞれ検出する場合を例にとり説明したがこれに限られない。例えば2軸や1軸についての加速度値を検出場合でもよい。
【0210】
また、上記実施の形態では競馬ゲームを例にとり説明したがこれに限られず、種々のゲームに適用できる。例えば、野球等の球技のゲームでもよいし、楽器等の演奏ゲームでもよいし、格闘ゲーム等でもよい。
【0211】
図20(A)(B)は、演奏ゲームにおける動き操作入力表示コマンドの一例について説明するための図である。
【0212】
図20(A)(B)は、マラカスを模したコントローラを動かして動き操作入力を行う演奏ゲームのゲーム画像である。静止表示された基準マーク510に対して指示マーク520、522が近づいて来るゲーム画像が表示される。520は左マラカス操作指示マークであり、522は右マラカス操作指示マークである。プレーヤは、右手に持った右マラカス型コントローラと左手にもった左マラカス型コントローラを、曲に合わせて基準マークに近づいてくる左マラカス操作指示マーク520や右マラカス操作指示マークが基準マーク510に重なったタイミングでそれぞれ左手や右手に持ったマラカスをふることで演奏ゲームを行う。
【0213】
550は左マラカス型コントローラに対応した動き操作入力表示コマンドであり、560は右マラカス型コントローラに対応した動き操作入力表示コマンドである。
【0214】
プレーヤが左マラカス型コントローラを振ると、図29(B)の550に示すようにの左マラカス型コントローラが振られたことを示すゲージ552が所定期間表示されるようにしてもよい(例えば所定期間でゲージが上下に往復する画像表示が行われるようにしてもよい)。
【0215】
またプレーヤが右マラカス型コントローラを振ると、図29(B)の560に示すようにの右マラカス型コントローラが振られたことを示すゲージ562が所定期間表示されるようにしてもよい(例えば所定期間でゲージが上下に往復する画像表示が行われるようにしてもよい)。
【0216】
また動き操作入力検出部は、第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の振動コマンドの条件を満たしているか否かを判断し、前記操作入力表示制御処理部は、第1のコントローラに対応づけられた第1の振動コマンド表示オブジェクトと、第2のコントローラに対応づけられた第2の振動コマンド表示オブジェクトと、を用いて、振動コマンドの検出を表示するための表示制御処理を行うようにしてもよい。
【0217】
図18(A)(B)は、第1のコントローラと第2のコントローラのそれぞれに対応して振動コマンド表示オブジェクトが設けられている例について説明するための図である。
【0218】
図18(A)の410は第1のコントローラに対応付けられた第1の振動コマンド表示オブジェクトであり、420は第2のコントローラに対応付けられた第2の振動コマンド表示オブジェクトである。
【0219】
例えば第1のコントローラの動きで判断される振動コマンドが検出された場合には第1の振動コマンド表示オブジェクト410が変化し、第2のコントローラの動きで判断される振動コマンドが検出された場合には第2の振動コマンド表示オブジェクト420が変化し、第1のコントローラと第2のコントローラの両方の動きで判断される振動コマンドが検出された場合には第1の振動コマンド表示オブジェクト410と第2の振動コマンド表示オブジェクト420の両方が変化するように制御してもよい。
【0220】
図18(B)の420’、410’は、第1のコントローラと第2のコントローラの両方の動きで判断される振動コマンドが検出された場合に、第1の振動コマンド表示オブジェクト410と第2の振動コマンド表示オブジェクト420の両方がブリンクすることで、振動コマンドが検出されたことを表示している様子を示している。
【0221】
このようにすると振動コマンドの検出状態と第1、第2のコントローラの動作状況との関係をプレーヤは把握しやすいという効果がある。
【0222】
図19(A)(B)は、動き操作入力以外の操作部に対応して振動コマンド表示オブジェクトが設けられている例について説明するための図である。
【0223】
図19(A)の430は十字キーに対応付けられた振動コマンド表示オブジェクトであり、440はボタンに対応付けられた振動コマンド表示オブジェクトである。
【0224】
例えば十字キーの操作とコントローラの動きの両方で判断される振動コマンドが検出された場合には十字キーに対応付けられた振動コマンド表示オブジェクト430が変化し、ボタンの操作とコントローラの動きの両方で判断される振動コマンドが検出された場合にはボタンに対応付けられた振動コマンド表示オブジェクト440が変化するように制御してもよい。
【0225】
図19(B)の430’、440’は、十字キーの操作とコントローラの動きの両方で判断される振動コマンドとボタンの操作とコントローラの動きの両方で判断される振動コマンドが検出された場合に、十字キーに対応付けられた振動コマンド表示オブジェクト430とボタンに対応付けられた振動コマンド表示オブジェクト440に、振動ゲージ432,442が表示されることで、振動コマンドが検出されたことを表示している様子を示している。
【0226】
また振動コマンド検出部は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、前記操作入力表示制御処理部は、前記所与の条件に対応したパターンの発生またはその種類を示す振動コマンド表示オブジェクトを表示するようにしてもよい。
【0227】
本発明によればコントローラの動作によって所与の条件に対応するパターンが発生したことや、発生したパターンの種類をプレーヤが把握することができる。
【0228】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0229】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0230】
また例えば格闘ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の技パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0231】
また動き操作入力検出部は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、前記操作入力表示制御処理部は、前記検出された動作を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0232】
例えば所定期間におけるコントローラの動きを動き操作入力表示オブジェクトとして再現させるようにしてもよい。このようにすると、プレーヤは所定期間に行った自己の動作を把握することができる。
【0233】
また移動又は動作制御部は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、前記操作入力表示制御処理部は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0234】
また前記移動又は動作制御部は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトの移動又は動作を制御するためのゲームパラメータを演算する手段を含み、前記操作入力表示制御処理部は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドの検出または実行結果を表示するためのコマンド表示オブジェクトの表示制御を行うようにしてもよい。
【0235】
コマンド表示オブジェクトと動き操作入力表示オブジェクトとは別個のオブジェクトとして構成されるようにしてもよい。
【0236】
本発明によれば、ボタンやレバーや十時キー等の操作部に対する操作入力についても受付状況を把握することができる。
【0237】
また動き操作入力の検出結果を通知するための動き操作入力通知音の出力制御処理を行うようにしてもよい。
【0238】
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0239】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】図2(A)(B)は、本実施形態の操作部の一例を示す図。
【図3】本実施のゲーム画像の一例。
【図4】図4(A)(B)は、馬の速度制御に関する振動コマンドの入力例について説明するための図。
【図5】図5(A)(B)は、馬の速度制御に関する振動コマンド表示オブジェクトの一例。
【図6】図6(A)(B)は、馬の向き制御に関する振動コマンドの入力例について説明するための図。
【図7】図7(A)(B)は、馬の向き制御に関する振動コマンド表示オブジェクトの一例。
【図8】馬の速度制御に関する他の振動コマンド(以下、ムチ入力振動コマンドという)の入力例。
【図9】ムチ入力振動コマンドが実行されたゲーム画像の一例。
【図10】図10(A)(B)(C)は、それぞれX軸、Y軸、Z軸に対する加速度センサの出力値である加速度値の遷移を示したグラフ。
【図11】本実施の形態の反作用入力の認識防止手法について説明するための図。
【図12】加速振動コマンドの検出処理の流れを示すフローチャート図。
【図13】減速振動コマンドの検出処理の流れを示すフローチャート図。
【図14】左よせ振動コマンドの検出処理の流れを示すフローチャート図。
【図15】ムチ入力振動コマンドの検出処理の流れを示すフローチャート図。
【図16】振動コマンド表示オブジェクトを表示する表示制御処理の流れを示すフローチャート図。
【図17】キャリブレーション処理の流れを示すフローチャート図。
【図18】図18(A)(B)は、第1のコントローラと第2のコントローラのそれぞれに対応して振動コマンド表示オブジェクトが設けられている例について説明するための図。
【図19】図19(A)(B)は、動き操作入力以外の操作部に対応して振動コマンド表示オブジェクトが設けられている例について説明するための図。
【図20】図20(A)(B)は、演奏ゲームにおける動き操作入力表示コマンドの一例について説明するための図。
【図21】図21(A)(B)はキャリブレーション調整処理のためのゲーム画面の一例について説明するための図。
【符号の説明】
【0240】
100 処理部、110 ゲーム処理部、122 動き操作入力検出部、124 移動又は動作制御部、126 操作入力表示制御処理部、128 設定調整部、130 描画部、140 音生成部、160 操作部、161 第1のコントローラ、162 第1の加速度センサ、163 ボタン・十字キー等、165 第2のコントローラ、166 第2の加速度センサ、170 記憶部、180 情報記憶媒体、190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
最近ではゲーム用のコントローラに動きを検出可能なセンサ(例えば加速度センサ)を内蔵し、コントローラの動きを検出して、ゲーム入力とするゲーム装置が開発されている。
【0003】
このようなゲーム装置においては、プレーヤにコントローラを振ったり所定の動作をさせたりすることにより所定のコマンドの入力を行わせることができる。したがって、例えばゲーム上の動作に近い動作をおこなってコントローラを動かすようなエキサイティングなゲームを提供することができる。
【特許文献1】特開2003−225467号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところがコントローラを振る動作等による操作入力は、ボタン等の入力と異なり、本当に受け付けられているのかどうかわかりにくいという問題点がある。
【0005】
また例えばコントローラを振る動作をとってみても、ふり幅やふる周期やふる強さはプレーヤによって微妙に違ってくる。したがって慣れないプレーヤは規定通りにコントローラを振ってコマンド入力をしているつもりでも、受け付けられていないケースも起こりえる。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、コントローラを動かすことにより入力する動き操作入力が受け付けられた否かを確認しながらゲームを行うことが可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明は、
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部と、
動き操作入力表示オブジェクトを含むゲーム画像を生成する画像生成部と、
してコンピュータを機能させるプログラムに関係する。
【0008】
また本発明は、上記各部を含む画像生成システムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0009】
動きセンサとは加速度センサや速度センサや変位を測定するセンサ等で構成することができる。
【0010】
第1のコントローラ及び第2のコントローラはプレーヤが右手や左手で把持して操作するようにしてもよい。
【0011】
また第1のコントローラ及び第2のコントローラは両方が動きセンサを内蔵していてもよいし、いずれか一方が内蔵していてもよい。
【0012】
動き操作入力とは、第1のコントローラや第2のコントローラに所定の動作をさせたり、所定の姿勢に保ったりして入力を行う操作入力のことである。第1のコントローラや第2のコントローラに所定の動作をさせることで入力する構成のみならず、ボタンや十字キー等の他の操作部からの操作入力を組み合わせて入力する構成(例えばコントローラのボタンを押しながらコントローラを振る動作を行う操作入力等)も、本発明の動き動作入力の範囲内である。
【0013】
動き操作入力に基づき行われる所与のゲーム演算処理は、例えばゲーム空間内のオブジェクト(プレーヤの操作対象よなるゲームキャラクタやアイテム、その他のオブジェクト)の移動や動作や位置の制御演算でもよいし、ヒットチェック処理でもよいし、関連づけられたゲームパラメータの演算処理でもよいし、パワーや難易度の制御でもよいし、音楽ゲームにおける演奏入力の判定処理でもよい。
【0014】
動き操作入力表示オブジェクトは3次元オブジェクトでもよいし、2次元オブジェクトや文字やマークでもよい。
【0015】
動き操作入力の検出結果を表示するとは、動き操作入力の有無の表示でもよいし、動き操作入力が例えば入力値の量(操作量)も制御の要素となる場合には操作量を表示してもよい。
【0016】
動き操作入力の表示制御とは表示の有無の制御でもよいし、表示形態の制御(例えば動き操作入力表示オブジェクトの色や形状や大きさ等を変化させる制御や輝度を変化させたりブリンクさせたりする制御も含む)でもよい。
【0017】
本発明によれば、動き操作入力の検出結果が動き操作入力表示オブジェクトとして表示されるので、プレーヤはコントローラ自体を動かす動作にかかる操作入力が動き操作入力として検出されているかどうかを確認しながらゲームを行うことができる。
【0018】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記ゲーム演算処理部は、
動き操作入力に基づきオブジェクトの移動又は動作を制御する移動又は動作制御部を含むことを特徴とする。
【0019】
本発明において動き操作入力による移動又は動作の対象となるオブジェクトとはプレーヤの操作対象とオブジェクトであればよく、例えばプレーヤキャラクタでもよいし、プレーヤの有するアイテムオブジェクトでもよい。
【0020】
移動又は動作とは例えば移動速度や加速度、移動方向、回転、キャラクタの動作や等を含む。
【0021】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値及び他の操作入力値に基づいて所与の動き操作入力の検出条件を判断することを特徴とする。
【0022】
本発明によれば、コントローラ自体を動かすことによる入力と他の入力手段の入力の組み合わせによる動き操作入力についても、動き操作入力の検出結果が動き操作入力表示オブジェクトとして表示することができる。
【0023】
なお他の入力手段は第1のコントローラや第2のコントローラに設けられたボタンや十時キー等でもよい。このようにすればプレーヤはコントローラに設けられたボタン等をおしながら、コントローラを動かすことで、動き操作入力を入力することができる。
【0024】
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記操作入力表示制御処理部は、
所定のタイミングで一定時間の間、動き操作入力表示オブジェクトが表示または変化するように制御することを特徴とする。
【0025】
例えば一定期間だけ動き操作入力表示オブジェクトが表示され、その後に表示しないように制御する構成でもよいし、一定期間だけ動き操作入力表示オブジェクトを変化させ、その後に変化しないように制御する構成でもよい。
【0026】
このようにすると動き操作入力表示オブジェクトの表示や変化が終了したら、再び動き操作入力を入力したほうがよいとか入力できる等の情報をプレーヤに伝えることができる。
【0027】
例えば1度動き操作入力を受け付け、そのあと一定時間期間の受け付け禁止期間を設ける場合、この受けつけ禁止期間の間動き操作入力表示オブジェクトが表示、または変化するように構成してもよい。このようにするとプレーヤは動き操作入力受付禁止期間を把握しやすくなるという効果がある。
【0028】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記操作入力表示制御処理部は、
動き操作入力検出結果を表示するための動き操作入力表示オブジェクトを表示することを特徴とする。
【0029】
検出結果に応じて、動き操作入力表示オブジェクト表示の有無を変化させてもよいし、動き操作入力表示オブジェクトの少なくとも一部の形態(ゲージの長さや大きさ、マークの形状、表示形態、色、数字の示す値)を変化させる制御を行うようにしてもよい。
【0030】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記ゲーム演算処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、当該動き操作入力に基づきオブジェクトの向きや回転を制御するためのゲームパラメータを演算し、
前記操作入力表示制御処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、向きや回転の方向を表示するための動き操作入力表示オブジェクトを表示することを特徴とする。
【0031】
本発明によれば、動き操作入力の検出とそれによって指示された向きや回転の方向が同時に把握できる。
【0032】
(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
前記動きセンサの出力値に基づき、動き操作入力に対応付けられた操作量を検出し、
前記ゲーム演算処理部は、
動き操作入力に対応付けられた操作量に応じて、動き操作入力に対応付けられたゲームパラメータを演算し、
前記操作入力表示制御処理部は、
動き操作入力に対応付けられた操作量の大きさを表示するための動き操作入力表示オブジェクトを表示することを特徴とする。
【0033】
動き操作入力に対応付けられた操作量は動きセンサの出力値の大きさによって決定するようにしてもよい。このような場合には出力値が大きさを有するセンサ(単にON・OFFを検出するセンサではないセンサ)を用いるようにしてもよい。
【0034】
動き操作入力に対応付けられた操作量を有する場合には、動き操作入力によって命令の種類が決定され、対応付けられた操作量に応じて命令によって変化させる量等が決定されるようにしてもよい。例えば加速を指示する動き操作入力において、対応付けられた操作量の大きさに応じて加速の大きさ(例えば加速度の値)を制御するようにしてもよい。
【0035】
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1のコントローラに対応ずけられた第1の動き操作入力表示オブジェクトと、
第2のコントローラに対応ずけられた第2の動き操作入力表示オブジェクトと、
を用いて、動き操作入力の検出を表示するための表示制御処理を行うことを特徴とする。
【0036】
例えば第1のコントローラの動きで判断される動き操作入力が検出された場合には第1の動き操作入力表示オブジェクトが変化し、第2のコントローラの動きで判断される動き操作入力が検出された場合には第2の動き操作入力表示オブジェクトが変化し、
例えば第1のコントローラと第2のコントローラの両方の動きで判断される動き操作入力が検出された場合には第1の動き操作入力表示オブジェクトと第2の動き操作入力表示オブジェクトの両方が変化するように制御してもよい。このようにすると動き操作入力の検出状態と第1、第2のコントローラの動作状況との関係をプレーヤは把握しやすいという効果がある。
【0037】
(9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
前記所与の条件に対応したパターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示することを特徴とする。
【0038】
本発明によればコントローラの動作によって所与の条件に対応するパターンが発生したことや、発生したパターンの種類をプレーヤが把握することができる。
【0039】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0040】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0041】
また例えば格闘ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の技パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0042】
(10)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、
前記操作入力表示制御処理部は、
前記検出された動作を示す動き操作入力表示オブジェクトを表示することを特徴とする。
【0043】
例えば所定期間におけるコントローラの動きを動き操作入力表示オブジェクトとして再現させるようにしてもよい。このようにすると、プレーヤは所定期間に行った自己の動作を把握することができる。
【0044】
(11)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記動き操作入力検出部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示することを特徴とする。
【0045】
(12)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記ゲーム演算処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトのゲームパラメータを演算する手段を含み、
前記操作入力表示制御処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応した操作入力の検出結果を表示するための操作入力表示オブジェクトの表示制御を行うことを特徴とする。
【0046】
操作入力表示オブジェクトと動き操作入力表示オブジェクトとは別個のオブジェクトとして構成されるようにしてもよい。
【0047】
本発明によれば、ボタンやレバーや十時キー等の操作部に対する操作入力についても受付状況を把握することができる。
【0048】
(13)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
動き操作入力に対する初期設定操作入力を受け付ける初期設定操作期間を設定し、
初期設定操作期間にコントローラ操作により得られた動きセンサの出力値に基づき所与の動き操作入力の条件の設定値の調整を行う設定調整部を含むことを特徴とする。
【0049】
(14)また本発明は、
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を通知するための動き操作入力通知音の出力制御処理を行うコマンド通知音出力制御部と、
ゲーム画像を生成する画像生成部と、
してコンピュータを機能させることを特徴とするプログラムプログラムに関係する。
【0050】
また本発明は、上記各部を含むゲームシステムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【発明を実施するための最良の形態】
【0051】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0052】
1.構成
まず、図1を用いて本実施形態の画像生成システム(ゲームシステム)の構成について説明する。なお、図1は、本実施形態の画像生成システムにおける機能構成の例である。また、本実施形態の画像生成システムは、当該構成要素(各部)の一部を省略した構成としてもよい。
【0053】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク等により実現できる。
【0054】
操作部160は、第1のコントローラ161、第2のコントローラによって実現される。
【0055】
第1のコントローラ161は、第1の加速度センサ(動きセンサの一例である)162、ボタン、十字キー等の加速度センサ以外の操作入力値をえるための操作入力手段を含む。
【0056】
第2のコントローラ165は、第2の加速度センサ(動きセンサの一例である)166を含む。
【0057】
第1の加速度センサ162は第1のコントローラ161自体の動きに応じて生じる加速度ベクトルを検出する。
【0058】
第2の加速度センサ166は第1のコントローラ165自体の動きに応じて生じる加速度ベクトルを検出する。
【0059】
第1の加速度センサ162、第2の加速度センサ166は、操作に応じた加速度を検出し、検出した加速度情報(出力値)を出力するものであり、圧電型や動電式、歪みケージ式等のハードウェアにより実現できる。
【0060】
本実施の形態では、加速度センサ3の出力値は、ワールド座標系 での「下」方向 ( Y軸の反対方向 ) をコントローラ基準座標系に変換したものである。
【0061】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0062】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0063】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0064】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0065】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリーカードや携帯型ゲーム装置などがある。通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0066】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0067】
処理部100(プロセッサ)は、各機能ブロックへの命令の指示、ゲーム処理、画像生成処理、音生成処理などの各種の処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0068】
処理部100の機能は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。処理部100は、記憶部170をワーク領域として各種処理を行う。
【0069】
処理部100は、ゲーム処理部110、描画部130、音生成部150を含む。なお、これらの一部を省略する構成としてもよい。
【0070】
ゲーム処理部110は、ゲーム演算処理部120、動き操作入力検出部122、操作入力表示制御処理部126、設定調整部128を含む。
【0071】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する。
【0072】
ゲーム演算処理部120は、動き操作入力に基づき所与のゲーム演算処理を行う。
【0073】
操作入力表示制御処理部126は、動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う。
【0074】
ゲーム演算処理部120は、動き操作入力に基づきオブジェクトの移動又は動作を制御する移動又は動作制御部124を含む。
【0075】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値及び他の操作入力値に基づいて所与の動き操作入力の検出条件を判断するようにしてもよい。
【0076】
操作入力表示制御処理部126は、所定のタイミングで一定時間の間、動き操作入力表示オブジェクトが表示または変化するように制御するようにしてもよい。
【0077】
前記操作入力表示制御処理部126は、動き操作入力検出結果を表示するための動き操作入力表示オブジェクトを表示するようにしてもよい。
【0078】
移動又は動作制御部124は、所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、当該動き操作入力に基づきオブジェクトの向きや回転を制御するためのゲームパラメータを演算し、操作入力表示制御処理部126は、所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、向きや回転の方向を表示するための動き操作入力表示オブジェクトを表示するようにしてもよい。
【0079】
動き操作入力検出部122は、前記動きセンサの出力値に基づき、動き操作入力に対応付けられた操作量を検出し、移動又は動作制御部124は、動き操作入力に対応付けられた操作量に応じて、動き操作入力に対応付けられたゲームパラメータを演算し、操作入力表示制御処理部126は、動き操作入力に対応付けられた操作量の大きさを表示するための動き操作入力表示オブジェクトを表示するようにしてもよい。
【0080】
動き操作入力検出部122は、第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の動き操作入力の条件を満たしているか否か判断し、操作入力表示制御処理部126は、第1のコントローラに対応ずけられた第1の動き操作入力表示オブジェクトと、第2のコントローラに対応ずけられた第2の動き操作入力表示オブジェクトと、を用いて、動き操作入力の検出を表示するための表示制御処理を行うようにしてもよい。
【0081】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、操作入力表示制御処理部126は、所与の条件に対応したパターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0082】
動き操作入力検出部122は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、操作入力表示制御処理部126は、検出された動作を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0083】
移動又は動作制御部124は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、操作入力表示制御処理部126は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0084】
移動又は動作制御部124は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトの移動又は動作を制御するためのゲームパラメータを演算する手段を含み、前記操作入力表示制御処理部126は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドの検出または実行結果を表示するためのコマンド表示オブジェクトの表示制御を行うようにしてもよい。
【0085】
設定調整部128は、動き操作入力に対する初期設定操作入力を受け付ける初期設定操作期間を設定し、初期設定操作期間にコントローラ操作により得られた動きセンサの出力値に基づき所与の動き操作入力の条件の設定値の調整を行う。
【0086】
移動又は動作制御124は、オブジェクト、例えば、キャラクタ、車、又は飛行機等の移動体オブジェクトの移動又は動作演算(移動又は動作シミュレーション)を行う。即ち、この移動又は動作処理部112は、操作部160によりプレーヤが入力した操作データ、プログラム(移動又は動作アルゴリズム)、または、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。
【0087】
具体的には、本実施形態の移動又は動作処理部124は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なお、このフレームは、オブジェクトの移動又は動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0088】
移動又は動作処理部124は、演算された向き/回転パラメータに基づきオブジェクト空間の操作対象オブジェクトの回転、姿勢、動作、移動方向の少なくとも1つを制御するようにしてもよい。
【0089】
なおゲーム処理部110は、図示しないオブジェクト空間設定部を含むようにしてもよい。オブジェクト空間設定部は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0090】
またゲーム処理部110は、図示しない仮想カメラ制御部を含むようにしてもよい。仮想カメラ制御部は、プレーヤからの入力に基づき仮想カメラの位置、回転(向き)等を制御する処理を行う。
【0091】
また描画部130は、ゲーム処理部120で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、オブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。
【0092】
なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0093】
頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そして、ラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0094】
なお、描画部130が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0095】
そして、描画部130は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0096】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。また、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0097】
テクスチャマッピングは、テクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0098】
特に、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、各オブジェクトに対してマッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
【0099】
この場合において、色分布が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。また、オブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。
【0100】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0101】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
【0102】
RQ=(1−α)×R1+α×R2 (1)
GQ=(1−α)×G1+α×G2 (2)
BQ=(1−α)×B1+α×B2 (3)
また合成処理が加算αブレンディングである場合を例にとれば、描画部120は、下式に従ったα合成処理を行う。
【0103】
RQ=R1+α×R2 (4)
GQ=G1+α×G2 (5)
BQ=B1+α×B2 (6)
また、合成処理がα乗算である場合を例にとれば、描画部120は、下式に従ったα合成処理を行う。
【0104】
RQ=α×R1 (7)
GQ=α×G1 (8)
BQ=α×B1 (9)
また合成処理がα乗加算である場合を例にとれば、描画部120は、下式に従ったα合成処理を行う。
【0105】
RQ=α×R1+R2 (7)
GQ=α×G1+G2 (8)
BQ=α×B1+B2 (9)
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファ172に描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。
【0106】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0107】
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0108】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0109】
2.本実施形態の手法
2−1.操作部
図2(A)(B)は、本実施形態の操作部の一例を示す図である。
【0110】
図2(A)(B)は、第1のコントローラを示しており、図2(B)は第2のコントローラを示している。
【0111】
第1のコントローラ161は第1の加速度センサ162(動きセンサの一例)を内蔵している。第1の加速度センサ162は、第1のコントローラにかかる加速度ベクトルを検出することができる。
【0112】
また第1のコントローラ161は、十字キー163、ボタン164等を含む。
【0113】
第2のコントローラ166は第1の加速度センサ166(動きセンサの一例)を内蔵している。第1の加速度センサ166は、第2のコントローラにかかる加速度ベクトルを検出することができる。
【0114】
また第2のコントローラ165は、ボタン167等を含む。
【0115】
第1の加速度センサ162、第2の加速度センサ166は、操作に応じた加速度を検出し、検出した加速度情報(出力値)を出力するものであり、圧電型や動電式、歪みケージ式等の加速度センサなどのハードウェアにより実現できる。
【0116】
本実施の形態の第1の加速度センサ162、第2の加速度センサ166で得られる情報は、ワールド座標系における3軸(X軸、Y軸、Z軸)に対するそれぞれの加速度ベクトルである。
【0117】
2−2.振動コマンド(動き操作入力の一例)と振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
以下、競走馬を走行させるゲームを例にとり振動コマンド(動き操作入力の一例)と振動コマンド表示オブジェクトについて説明する。
【0118】
図3は本実施のゲーム画像の一例である。
【0119】
210はプレーヤの操作対象となるゲームキャラクタ(競走馬オブジェクト)である。本実施の形態では操作部からの操作入力によりゲームキャラクタである競走馬を走行させるゲームを行うもので、走行する競走馬オブジェクトを含むオブジェクト空間を仮想カメラからみた画像が生成され、ゲーム画像として表示される。
【0120】
230−1、230−2は、振動コマンドの検出を表示するための振動コマンド表示オブジェクトある。ここでは230−1、230−2が一対で1つの振動コマンド表示オブジェクトであり、後述するように本実施の形態で実行される振動コマンドに応じて表示形態が変化する。
【0121】
振動コマンドとは、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサ(加速度、速度、変位を測定するセンサ)の出力値が、所与の振動コマンドの条件を満たしている場合に実行されるコマンドの事である。
【0122】
なお第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサ(加速度、速度、変位を測定するセンサ)の出力値及び他の操作入力値が、ゲームキャラクタの移動又は動作を制御するための所与の振動コマンドの条件を満たしている場合に実行されるコマンドも振動コマンドである。
【0123】
振動コマンド表示オブジェクトは、各振動コマンドごとに設定されてもよいし、1つの振動コマンド表示オブジェクトの表示形態(色や形状、ブリンク、大きさ等)が振動コマンドに種類に応じて変化するよようにしてもよい。
【0124】
振動コマンド表示オブジェクトは、3次元的なオブジェクトとして構成してもよいし、2次元的なオブジェクト(例えばスプライトや板ポリゴン)として構成してもよい。
【0125】
2−3.加速/減速振動コマンド(動き操作入力の一例)と加速/減速振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
図4(A)(B)は、馬の速度制御に関する振動コマンド(動き操作入力の一例)の入力例について説明するための図であり、図5(A)(B)は、馬の速度制御に関する振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)の一例である。
【0126】
図4(A)は、加速振動コマンドの操作例であり、同図に示すようにプレーヤが第1のゲームコントローラ161を右手にもち、第2のゲームコントローラ165を左手にもって、同時に前後に動かすことで、プレーヤの操作対象であるゲームキャラクタの馬を加速させることができる。
【0127】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第1のゲームコントローラと第2のゲームコントローラを同時に前後に動かした場合の条件(加速振動コマンドの条件、図12参照)を満たしていたら、加速振動コマンドが入力されたと判断し(加速振動コマンドの検出)、加速処理が行われる。
【0128】
例えば加速振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬に所定期間、所定の加速度aを与えるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した加速度パラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)の加速度を所定期間aにする。このようにすることで、プレーヤの操作対象オブジェクトである馬を加速させることができる。
【0129】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、加速振動コマンドが検出されたことをプレーヤに知らせることができる。
【0130】
図5(A)は、加速振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下加速振動コマンド表示オブジェクトという)の一例である。本実施の形態では、加速振動コマンドを1回検出すると、加速振動コマンド表示オブジェクト230−1、230−2の加速ゲージ232−1、232−2(加速の場合は色がAのゲージ)が0〜100まで所定時間で1往復する。すなわちプレーヤは色Aのゲージが1往復することで、自己の操作(第1のコントローラ161と第2のコントローラ165を同時に前後に動かす動作)により加速振動コマンドが1回受け付けられたことを把握することができる。プレーヤが第1のコントローラ161と第2のコントローラ165を同時に前後に動かす動作を続けると、順次加速振動コマンドが検出され、そのたびごとに馬は加速されることになる。
【0131】
図4(B)は、減速振動コマンドの操作例であり、同図に示すようにプレーヤが第1のゲームコントローラ161を右手にもち、第2のゲームコントローラ165を左手にもって、第1のゲームコントローラ161と第2のゲームコントローラ165を同時に立てることで、プレーヤの操作対象であるゲームキャラクタの馬を減速させることができる。
【0132】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第1のゲームコントローラ161と第2のゲームコントローラ165を同時に立てた場合の条件(減速振動コマンドの条件、図13参照)を満たしていたら、減速振動コマンドが入力されたと判断し(減速振動コマンドの検出)、減速処理が行われる。
【0133】
例えば減速振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬に毎フレームごとに進行方向と逆方向に所定の加速度−bを与えるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した加速度パラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)の加速度を所定期間−bにする。このようにすることで、プレーヤの操作対象オブジェクトである馬を減速させることができる。
【0134】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、減速振動コマンドが検出されたことをプレーヤに知らせることができる。
【0135】
図5(B)は、減速振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下減速振動コマンド表示オブジェクトという)の一例である。本実施の形態では、減速振動コマンドを1回検出すると、減速振動コマンド表示オブジェクト230−1、230−2の減速ゲージ233−1、233−2(減速の場合は色がBのゲージ)が0〜100まで所定時間で1往復する。すなわちプレーヤは色Bのゲージが1往復することで、自己の操作(第1のコントローラと第2のコントローラを同時に立てる動作)により減速振動コマンドが1回受け付けられたことを把握することができる。プレーヤが第1のコントローラ161と第2のコントローラ165を同時に立てる姿勢を継続すると、順次減速振動コマンドが検出され、そのたびごとに馬は減速されることになる。
【0136】
2−4.右寄せ/左寄せ振動コマンド(動き操作入力の一例)と右寄せ/左寄せ振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
図6(A)(B)は、馬の向き制御に関する振動コマンド(動き操作入力の一例)の入力例について説明するための図であり、図7(A)(B)は、馬の向き制御に関する振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)の一例である。
【0137】
図6(A)は、右寄せ振動コマンドの操作例であり、同図に示すようにプレーヤが右手にもった第1のゲームコントローラ161を手前にひき、左手にもった第2のコントローラは動かさないことで、プレーヤの操作対象であるゲームキャラクタの馬を右に寄せることができる。
【0138】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第1のゲームコントローラ161のみ動かし、第2のゲームコントローラ165は動かさない場合の条件(右寄せ振動コマンドの条件)を満たしていたら、右寄せ振動コマンドが入力されたと判断し(右寄せ振動コマンドの検出)、右寄せ処理が行われる。
【0139】
例えば右寄せ振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬の進行方向を所定の角度cだけ右方向に回転させるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した向きパラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)を所定の角度cだけ右方向に回転させる。このようにすることで、プレーヤの操作対象オブジェクトである馬を右に寄せることができる。これを利用して馬を右に寄せたり、コーナーを時計回りに曲がったりさせることができる。
【0140】
なお第1のコントローラ161からの加速度値に基づき、加速度値の大きさを求め、加速度値の大きさによって右への回転角を制御するようにしてもよい。このようにすると第1のコントローラ161を大きく引いたり小さく引いたりすることで、曲がる角度を変化させることができる。
【0141】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、右寄せ振動コマンドが検出されたことをプレーヤに知らせることができる。
【0142】
図6(B)は、左寄せ振動コマンドの操作例であり、同図に示すようにプレーヤが左手にもった第2のゲームコントローラ165を手前にひき、右手にもった第1のコントローラ161は動かさないことで、プレーヤの操作対象であるゲームキャラクタの馬を左に寄せることができる。
【0143】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第2のゲームコントローラ165に内蔵された第2の加速度センサの検出値が、第2のゲームコントローラ165のみ動かし、第1のゲームコントローラ161は動かさない場合の条件(左寄せ振動コマンドの条件、図14参照)を満たしていたら、左寄せ振動コマンドが入力されたと判断し(左寄せ振動コマンドの検出)、左寄せ処理が行われる。
【0144】
例えば左寄せ振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬の進行方向を所定の角度cだけ左方向に回転させるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した向きパラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)を所定の角度cだけ左方向に回転させる。このようにすることで、プレーヤの操作対象オブジェクトである馬を左に寄せることができる。これを利用して馬を左に寄せたり、コーナー反時計回りに曲がったりさせることができる。
【0145】
なお第2のコントローラ165からの加速度値に基づき、加速度値の大きさを求め、加速度値の大きさによって左への回転角を制御するようにしてもよい。このようにすると第2のコントローラ165を大きく引いたり小さく引いたりすることで、曲がる角度を変化させることができる。
【0146】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、左寄せ振動コマンドが検出されたことをプレーヤに知らせることができる。
【0147】
図7(A)は、左寄せ振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下、左寄せ振動コマンド表示オブジェクトという)の一例である。本実施の形態では、左寄せ振動コマンドを1回検出すると、左寄せ振動コマンド表示オブジェクト250が所定時間表示させる。なお検出された加速度値の大きさによって左への回転角の大小を制御する場合には回転角の大小に応じて、左寄せ振動コマンド表示オブジェクト250の矢印の長さをかえるようにしてもよい。
【0148】
プレーヤは左寄せ振動コマンド表示オブジェクト250が表示されることで、自己の操作(第2のコントローラを引いて第1のコントローラを動かさない動作)により左寄せ振動コマンドが受け付けられたことを把握することができる。 またプレーヤが第2のコントローラ165を引き、第1のコントローラ161を動かさない動作を繰り返すと、順次左寄せ振動コマンドが検出され、そのたびごとに馬の向きを左に回転させるようにしてもよい。
【0149】
図7(B)は、右寄せ振動コマンドが検出された時の場合の振動コマンド表示オブジェクト(以下、右寄せ振動コマンド表示オブジェクトという)の一例である。本実施の形態では、右寄せ振動コマンドを1回検出すると、右寄せ振動コマンド表示オブジェクト252が所定時間表示させる。なお検出された加速度値の大きさによって右への回転角の大小を制御する場合には回転角の大小に応じて、右寄せ振動コマンド表示オブジェクト252の矢印の長さをかえるようにしてもよい。
【0150】
プレーヤは右寄せ振動コマンド表示オブジェクト252が表示されることで、自己の操作(第1のコントローラ161を引いて第2のコントローラ165を動かさない動作)により右寄せ振動コマンドが受け付けられたことを把握することができる。
【0151】
またプレーヤが第1のコントローラ161を引き、第2のコントローラ165を動かさない動作を繰り返すと、順次右寄せ振動コマンドが検出され、そのたびごとに馬の向きを右に回転させるようにしてもよい。
【0152】
2−5.ムチ入力振動コマンド(動き操作入力の一例)とムチ入力振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)
図8は、馬の速度制御に関する他の振動コマンド(動き操作入力の一例)(以下、ムチ入力振動コマンドという)の入力例について説明するための図であり、図9は、ムチ入力振動コマンドが実行されたゲーム画像の一例である。
【0153】
図8は、ムチ入力振動コマンドの操作例であり、同図に示すようにプレーヤが右手にもった第1のゲームコントローラ161のボタン164を押しながら、第1のゲームコントローラ161をふることで、プレーヤの操作対象であるゲームキャラクタ騎手212がプレーヤの操作対象であるゲームキャラクタの馬210にムチ214をいれ、馬の速度を飛躍的にアップさせることができる。
【0154】
すなわち、第1のゲームコントローラ161に内蔵された第1の加速度センサの検出値及び第1のゲームコントローラ161のボタン164の押下信号が、第1のゲームコントローラ161を押しながら、第1のゲームコントローラ161をふる場合の条件(ムチ入力振動コマンドの条件、図15参照)を満たしていたら、ムチ入力振動コマンドが入力されたと判断し(ムチ入力振動コマンドの検出)、ムチ入力処理が行われる。
【0155】
例えばムチ入力振動コマンドを検出したら、プレーヤの操作対象オブジェクトである馬に所定期間、所定の加速度e(e>a)を与えるようにしてもよい。すなわちプレーヤの操作対象オブジェクトである馬に対応した加速度パラメータ(ゲームキャラクタの移動又は動作を制御するためのゲームパラメータの一例)の加速度を所定期間通常の加速度aに比べ数倍の大きさのeにする。このようにすることで、プレーヤの操作対象オブジェクトである馬を急加速させることができる。
【0156】
そして本実施の形態では、振動コマンド表示オブジェクトを所定の状態にすることにより、ムチ入力振動コマンドが検出されたことをプレーヤに知らせることができる。
【0157】
図9は、ムチ入力振動コマンドが検出されたゲーム画像の一例である。
【0158】
本実施の形態では、ムチ入力振動コマンドを1回検出すると、加速振動コマンド表示オブジェクト230−1、230−2の加速ゲージ232−1、232−2(加速の場合は色がAのゲージ)が0〜100まで所定時間で1往復するとともに、加速振動コマンド表示オブジェクト230−1、230−2自体がブリンク表示される。これによりプレーヤは自己の操作(第1のコントローラ161のボタン164を押しながら振る動作)によりムチ入力振動コマンドが1回受け付けられたことを把握することができる。
【0159】
なおムチ入力振動コマンドが検出された場合にはプレーヤの操作対象であるゲームキャラクタの騎手212は馬210に対してムチ214を打つモーションを行う。
【0160】
2−6.振動コマンド(動き操作入力の一例)の検出手法
以下、動きセンサとして加速度センサを用いて3軸(X軸、Y軸、Z軸)のそれぞの加速度値を検出して3軸の加速度値に基づいて振動コマンドの条件を満たしているか否か判断する場合を例にとり説明する。
【0161】
図10(A)(B)(C)は、それぞれX軸、Y軸、Z軸に対する加速度センサの出力値である加速度値の遷移を示したグラフである。
【0162】
例えば本実施の形態で、第1のコントローラに対して振る動作が行われているか否かは、所定期間Tの間の加速度値の大きさある所定値以上になったかどうかで判断するようにようにしてもよい。
【0163】
ここで、加速度値の大きさは時刻tにおけるX軸、Y軸、Z軸のそれぞれの加速度の大きさに基づき判断するようにしてもよい。たとえば時刻t1におけるX軸に対する加速度値の大きさがx1、Y軸に対する加速度値の大きさがy1、Z軸に対する加速度値のz1として、時刻tにおける求める加速度値の大きさk1を下記の式により演算してもよい。
【0164】
【数1】
【0165】
また所定期間Tの間の加速度値の大きさがある所定値以上になったかどうかは、所定期間T(t1〜tn)の加速度値の平均値をとり、平均値がある値以上になったかどうかで判断するようにしてもよい。
【0166】
また例えば振動コマンド条件としてコントローラの姿勢が関係する場合(例えば減速振動コマンドのようにコントローラを立てたか否かが判定要件になる場合)には、例えばY軸の加速度値の大きさyとZ軸の加速度値の大きさzに基づきアークタンジェント(Y/Z)を取得して判断するようにしてもよい。
【0167】
2−7.反作用入力の認識防止手法
図11は、本実施の形態の反作用入力の認識防止手法について説明するための図である。300はユーザーが加速度センサを内蔵したコントローラを振っているときに、内蔵する加速度センサが所与の軸に対して検出した加速度値の時間的な遷移である。ユーザーがT1、T2、T3の間にそれぞれ、1回づつコントローラを往復させると、各期間T1、T2、T3ではそれぞれ、4つのパルスが発生している。例えば区間T1では310、312,314,316の極値を有する4つのパルスが発生している。ここで314、316の極値を有する2つのパルスは310、312の極値を有する2つのパルスの反作用入力として生じるパルスである。
【0168】
例えば加速度値の大きさが所定値以上である場合にコントローラを振っていることを検出する場合には、所定値の閾値Sを設定して、検出した加速度値が閾値Sを超えたときに振動コマンドを1回検出したと判断することができる。すなわち区間T1においては時刻t1において加速度値q1が閾値Sを超えるのでここで振動コマンドを検出するようにしてもよい。
【0169】
本実施の形態では、一旦振動コマンドを検出したら、その後所定期間(例えばt1で振動コマンドを検出したら、その後k1の間)は、振動コマンドを検出しない。したがって、次に振動コマンドを検出するのは所定期間後に最初に検出した加速度値が閾値Sを超えるときであるt3である。
【0170】
したがってt2においては、加速度値q2が閾値Sを超えるが振動コマンドは検出されない。このように4パルスの周期に基づき振動コマンドを認識しない期間(コマンド認識禁止期間)を設定することにより、反作用入力によるパルスを検出せず、1回の振りに対応して1回の振動コマンドを検出することができる。
【0171】
なおコマンドを検出しない期間の長さは、これ以外にも適宜設定することができる。例えばh秒単位でコマンドを検出するように設定したい場合には1回コマンドを検出したら、その後h’秒(h’は加速度値の遷移特性及びhに応じて適宜設定する)はコマンド認識禁止期間とするようにしてもよい。
【0172】
2−8.加速振動コマンドの検出処理
図12は、加速振動コマンドの検出処理の流れを示すフローチャート図である。
【0173】
まず左右のコントローラ(右が第1のコントローラ、左が第2のコントローラとする)の全ての状態(検出される加速度値やその他の操作部(ボタン等)からの入力信号)を、ある一定期間保持する(ステップS10)。
【0174】
次に左(右)のコントローラの加速度の大きさ (X,Y,Zによる長さ)を取得する(ステップS20)。
【0175】
次に取得した値がある一定値以上か否か判断し(ステップS30)、一定値以上である場合には、他のコントローラが保持している近い期間のデータを取得する(ステップS40)。
【0176】
そして他のコントローラから取得した値がある一定値以上か否か判断し(ステップS50)、一定値以上である場合には、加速入力と認識する(ステップS60)。
【0177】
そして加速入力を認識した後は、ある一定期間は加速入力を認識しない(ステップS70)。これにより反作用入力の検出を避けることができる。なお加速入力を認識した後は、ある一定期間すべての振動コマンドを認識しないようにしてもよい。
【0178】
2−9.減速振動コマンドの検出処理
図13は、減速振動コマンドの検出処理の流れを示すフローチャート図である。
【0179】
まず左右のコントローラのY,Zの加速度から、アークタンジェント(Y/Z)を取得する(ステップS110)。
【0180】
次に左右のコントローラの加速度の大きさ (X,Y,Zによる長さ)を取得する(ステップS220)。
【0181】
次に取得したアークタンジェント(Y/Z)値がある一定値以上か否か判断し(ステップS130)、一定値以上である場合には、取得した左右のコントローラの加速度の大きさが一定範囲内か否か判断し(ステップS140)、一定範囲ないである場合には、減速準備と認識して、減速準備期間をカウンタでカウントする(ステップS150)。
【0182】
そして減速準備期間が一定時間を経過したか否か判断し(ステップS160)、一定期間を経過した場合には減速入力と認識する(ステップS170)。このようにすることで、一瞬の間アークタンジェント(Y/Z)値がある一定値以上となり、左右のコントローラの加速度の大きさがある一定範囲になっただけで減速させるのを防止することができる。なお減速入力を認識した後は、ある一定期間すべての振動コマンドを認識しないようにしてもよい。
【0183】
2−10.左よせ振動コマンドの検出処理
図1は、左よせ振動コマンドの検出処理の流れを示すフローチャート図である。
【0184】
まず左右のコントローラの全ての状態を、ある一定期間保持する(ステップS210)。
【0185】
次に左のコントローラの加速度の大きさ (X,Y,Zによる長さ)を取得する(ステップS220)。
【0186】
次に取得した値がある一定値以上か否か判断し(ステップS230)、一定値以上である場合には、右のコントローラが保持している近い期間のデータを取得する(ステップS240)。
【0187】
次に右のコントローラから取得した値がある一定値以下か否か判断し(ステップS250)、一定値以下である場合には、左に曲がる指示入力(左寄せ振動コマンド)と認識する(ステップS260)。
【0188】
そして左に曲がる指示入力を認識した後は、ある一定期間は左に曲がる指示入力を認識しない(ステップS170)。これにより反作用入力の検出を避けることができる。なお左寄せ振動コマンドを認識した後は、ある一定期間すべての振動コマンドを認識しないようにしてもよい。
【0189】
2−11.ムチ入力振動コマンドの検出処理
図15は、ムチ入力振動コマンドの検出処理の流れを示すフローチャート図である。
鞭準備として定めたボタンを押されたか否か判断し(ステップS310)、押された場合には鞭準備入力と認識する(ステップS320)。
【0190】
次に右コントローラ(第1のコントローラ)の加速度の大きさ(X,Y,Zによる長さ)が、ある一定以上か否か判断し(ステップS330)、一定値以上である場合には鞭入力と認識する(ステップS340)。
【0191】
2−12.振動コマンドの検出を振動コマンド表示オブジェクト(動き操作入力表示オブジェクトの一例)として表示する処理
図16は、振動コマンド表示オブジェクトを表示する表示制御処理の流れを示すフローチャート図である。
【0192】
所与の振動コマンドを検出したか否か判断し(ステップS410)、検出した場合には、振動コマンドに基づきゲームキャラクタの移動又は動作を制御するためのゲームパラメータを演算し、演算されたゲームパラメータに基づきオブジェクト空間の操作対象オブジェクトの移動又は動作を制御する(ステップS420)。
【0193】
そして振動コマンドに対応した振動コマンド表示オブジェクトを一定期間所定の状態にする(ステップS430)。
【0194】
2−13.キャリブレーション調整処理
図21(A)(B)はキャリブレーション調整処理のためのゲーム画面の一例について説明するための図である。
【0195】
例えばプレーヤが初期設定モードを選択すると、図21(A)に示すような初期設定画面が表示され、ユーザーに対して「画面に向かってコントローラを基準位置に構えてください」等のメッセージや人がコントローラを画面に向かって基準位置でかまえているお手本となる画像が表示され、初期設定期間が設定される。
【0196】
610は基準位置にお手本通りに構えた時のコントローラの傾き具合を示す矢印画像である。
【0197】
初期設定期間にお手本にそってプレーヤがコントローラを構えると図21(B)に示すような画像が表示される。620は、プレーヤコントローラを基準位置に構えた時のコントローラの傾き具合を示す矢印画像である。矢印画像620の傾き具合は初期設定期間内にコントローラに内蔵された加速度センサの出力値に基づき与えられる。図21(B)では、プレーヤの矢印画像620は基準位置の矢印画像と少しずれている。これはシステムがデフォルトでもっている基準位置に対応して設定された初期設定値と、実際のプレーヤの構える基準位置に対応した初期設定値が連れていることを示している。
【0198】
ここで、「あなたの基準位置はこれでよいですか?」と言うメッセージが出力され、イエスボタン画像630がブリンクしている最中にプレーヤがプレーヤが確定入力を行うとプレーヤの基準位置が620で確定される。
【0199】
この場合、本実施の形態ではプレーヤの入力した基準位置に基づき動き操作入力の検出条件となる設定値の調整処理を行う。
【0200】
図17は、キャリブレーション処理の流れを示すフローチャート図である。
【0201】
初期設定操作期間か否か判断し(ステップS510)、初期設定操作期間であれば、コントローラ操作により得られた動きセンサの出力値に基づき所与の振動コマンドの条件の向きに関する設定値の調整を行う(ステップS520)。
【0202】
初期設定期間はゲームに先立ち設定するようにしてもよい。
【0203】
初期設定期間にユーザーに対して基準位置で基本姿勢でコントローラを把持してもらい、そのときの加速度センサの出力値を取得する。ここで例えば基本姿勢や基準位置をきめておいて、その姿勢や位置でコントローラを把持してもらっても、手にもったときのコントローラの傾き等がひとによって微妙に異なる。
【0204】
本実施の形態によれば、振動コマンドの条件に向きの要素が含まれている場合には、ユーザーごとに設定された基準位置からのオフセットとして判断することができるので、ユーザーごとに微妙に異なる基準位置の違いを吸収することができる。
【0205】
また例えば初期設定期間にユーザーに対して振りの動作を行ってもらい、そのときの加速度センサの出力値を取得する。振りの動作もユーザーごとにその周期や速度や強さやふり幅が異なることから、検出される加速度値の遷移のユーザーごとに異なってくる。
【0206】
本実施の形態によれば、振動コマンドの条件に加速度値の大きさ向きの要素が含まれている場合には、初期設定期間に検出した加速度値の大きさに基づき、ユーザーごとに加速度値の大きさを判定する際の閾値を設定するようにしてもよい。
【0207】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0208】
上記実施の形態では動きセンサとして加速度センサを用いる場合を例にとり説明したがこれにかぎられない。例えば速度センサや変位を測定するセンサ等で構成してもよい。
【0209】
また上記実施の形態では加速度センサで3軸についての加速度値をそれぞれ検出する場合を例にとり説明したがこれに限られない。例えば2軸や1軸についての加速度値を検出場合でもよい。
【0210】
また、上記実施の形態では競馬ゲームを例にとり説明したがこれに限られず、種々のゲームに適用できる。例えば、野球等の球技のゲームでもよいし、楽器等の演奏ゲームでもよいし、格闘ゲーム等でもよい。
【0211】
図20(A)(B)は、演奏ゲームにおける動き操作入力表示コマンドの一例について説明するための図である。
【0212】
図20(A)(B)は、マラカスを模したコントローラを動かして動き操作入力を行う演奏ゲームのゲーム画像である。静止表示された基準マーク510に対して指示マーク520、522が近づいて来るゲーム画像が表示される。520は左マラカス操作指示マークであり、522は右マラカス操作指示マークである。プレーヤは、右手に持った右マラカス型コントローラと左手にもった左マラカス型コントローラを、曲に合わせて基準マークに近づいてくる左マラカス操作指示マーク520や右マラカス操作指示マークが基準マーク510に重なったタイミングでそれぞれ左手や右手に持ったマラカスをふることで演奏ゲームを行う。
【0213】
550は左マラカス型コントローラに対応した動き操作入力表示コマンドであり、560は右マラカス型コントローラに対応した動き操作入力表示コマンドである。
【0214】
プレーヤが左マラカス型コントローラを振ると、図29(B)の550に示すようにの左マラカス型コントローラが振られたことを示すゲージ552が所定期間表示されるようにしてもよい(例えば所定期間でゲージが上下に往復する画像表示が行われるようにしてもよい)。
【0215】
またプレーヤが右マラカス型コントローラを振ると、図29(B)の560に示すようにの右マラカス型コントローラが振られたことを示すゲージ562が所定期間表示されるようにしてもよい(例えば所定期間でゲージが上下に往復する画像表示が行われるようにしてもよい)。
【0216】
また動き操作入力検出部は、第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の振動コマンドの条件を満たしているか否かを判断し、前記操作入力表示制御処理部は、第1のコントローラに対応づけられた第1の振動コマンド表示オブジェクトと、第2のコントローラに対応づけられた第2の振動コマンド表示オブジェクトと、を用いて、振動コマンドの検出を表示するための表示制御処理を行うようにしてもよい。
【0217】
図18(A)(B)は、第1のコントローラと第2のコントローラのそれぞれに対応して振動コマンド表示オブジェクトが設けられている例について説明するための図である。
【0218】
図18(A)の410は第1のコントローラに対応付けられた第1の振動コマンド表示オブジェクトであり、420は第2のコントローラに対応付けられた第2の振動コマンド表示オブジェクトである。
【0219】
例えば第1のコントローラの動きで判断される振動コマンドが検出された場合には第1の振動コマンド表示オブジェクト410が変化し、第2のコントローラの動きで判断される振動コマンドが検出された場合には第2の振動コマンド表示オブジェクト420が変化し、第1のコントローラと第2のコントローラの両方の動きで判断される振動コマンドが検出された場合には第1の振動コマンド表示オブジェクト410と第2の振動コマンド表示オブジェクト420の両方が変化するように制御してもよい。
【0220】
図18(B)の420’、410’は、第1のコントローラと第2のコントローラの両方の動きで判断される振動コマンドが検出された場合に、第1の振動コマンド表示オブジェクト410と第2の振動コマンド表示オブジェクト420の両方がブリンクすることで、振動コマンドが検出されたことを表示している様子を示している。
【0221】
このようにすると振動コマンドの検出状態と第1、第2のコントローラの動作状況との関係をプレーヤは把握しやすいという効果がある。
【0222】
図19(A)(B)は、動き操作入力以外の操作部に対応して振動コマンド表示オブジェクトが設けられている例について説明するための図である。
【0223】
図19(A)の430は十字キーに対応付けられた振動コマンド表示オブジェクトであり、440はボタンに対応付けられた振動コマンド表示オブジェクトである。
【0224】
例えば十字キーの操作とコントローラの動きの両方で判断される振動コマンドが検出された場合には十字キーに対応付けられた振動コマンド表示オブジェクト430が変化し、ボタンの操作とコントローラの動きの両方で判断される振動コマンドが検出された場合にはボタンに対応付けられた振動コマンド表示オブジェクト440が変化するように制御してもよい。
【0225】
図19(B)の430’、440’は、十字キーの操作とコントローラの動きの両方で判断される振動コマンドとボタンの操作とコントローラの動きの両方で判断される振動コマンドが検出された場合に、十字キーに対応付けられた振動コマンド表示オブジェクト430とボタンに対応付けられた振動コマンド表示オブジェクト440に、振動ゲージ432,442が表示されることで、振動コマンドが検出されたことを表示している様子を示している。
【0226】
また振動コマンド検出部は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、前記操作入力表示制御処理部は、前記所与の条件に対応したパターンの発生またはその種類を示す振動コマンド表示オブジェクトを表示するようにしてもよい。
【0227】
本発明によればコントローラの動作によって所与の条件に対応するパターンが発生したことや、発生したパターンの種類をプレーヤが把握することができる。
【0228】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0229】
例えば演奏ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の演奏パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0230】
また例えば格闘ゲームであれば、動きセンサの出力値が所与の条件を満たした場合には、所与の技パターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0231】
また動き操作入力検出部は、第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、前記操作入力表示制御処理部は、前記検出された動作を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0232】
例えば所定期間におけるコントローラの動きを動き操作入力表示オブジェクトとして再現させるようにしてもよい。このようにすると、プレーヤは所定期間に行った自己の動作を把握することができる。
【0233】
また移動又は動作制御部は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、前記操作入力表示制御処理部は、第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示するようにしてもよい。
【0234】
また前記移動又は動作制御部は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトの移動又は動作を制御するためのゲームパラメータを演算する手段を含み、前記操作入力表示制御処理部は、操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドの検出または実行結果を表示するためのコマンド表示オブジェクトの表示制御を行うようにしてもよい。
【0235】
コマンド表示オブジェクトと動き操作入力表示オブジェクトとは別個のオブジェクトとして構成されるようにしてもよい。
【0236】
本発明によれば、ボタンやレバーや十時キー等の操作部に対する操作入力についても受付状況を把握することができる。
【0237】
また動き操作入力の検出結果を通知するための動き操作入力通知音の出力制御処理を行うようにしてもよい。
【0238】
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0239】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】図2(A)(B)は、本実施形態の操作部の一例を示す図。
【図3】本実施のゲーム画像の一例。
【図4】図4(A)(B)は、馬の速度制御に関する振動コマンドの入力例について説明するための図。
【図5】図5(A)(B)は、馬の速度制御に関する振動コマンド表示オブジェクトの一例。
【図6】図6(A)(B)は、馬の向き制御に関する振動コマンドの入力例について説明するための図。
【図7】図7(A)(B)は、馬の向き制御に関する振動コマンド表示オブジェクトの一例。
【図8】馬の速度制御に関する他の振動コマンド(以下、ムチ入力振動コマンドという)の入力例。
【図9】ムチ入力振動コマンドが実行されたゲーム画像の一例。
【図10】図10(A)(B)(C)は、それぞれX軸、Y軸、Z軸に対する加速度センサの出力値である加速度値の遷移を示したグラフ。
【図11】本実施の形態の反作用入力の認識防止手法について説明するための図。
【図12】加速振動コマンドの検出処理の流れを示すフローチャート図。
【図13】減速振動コマンドの検出処理の流れを示すフローチャート図。
【図14】左よせ振動コマンドの検出処理の流れを示すフローチャート図。
【図15】ムチ入力振動コマンドの検出処理の流れを示すフローチャート図。
【図16】振動コマンド表示オブジェクトを表示する表示制御処理の流れを示すフローチャート図。
【図17】キャリブレーション処理の流れを示すフローチャート図。
【図18】図18(A)(B)は、第1のコントローラと第2のコントローラのそれぞれに対応して振動コマンド表示オブジェクトが設けられている例について説明するための図。
【図19】図19(A)(B)は、動き操作入力以外の操作部に対応して振動コマンド表示オブジェクトが設けられている例について説明するための図。
【図20】図20(A)(B)は、演奏ゲームにおける動き操作入力表示コマンドの一例について説明するための図。
【図21】図21(A)(B)はキャリブレーション調整処理のためのゲーム画面の一例について説明するための図。
【符号の説明】
【0240】
100 処理部、110 ゲーム処理部、122 動き操作入力検出部、124 移動又は動作制御部、126 操作入力表示制御処理部、128 設定調整部、130 描画部、140 音生成部、160 操作部、161 第1のコントローラ、162 第1の加速度センサ、163 ボタン・十字キー等、165 第2のコントローラ、166 第2の加速度センサ、170 記憶部、180 情報記憶媒体、190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部
【特許請求の範囲】
【請求項1】
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部と、
動き操作入力表示オブジェクトを含むゲーム画像を生成する画像生成部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記ゲーム演算処理部は、
動き操作入力に基づきオブジェクトの移動又は動作を制御する移動又は動作制御部を含むことを特徴とするプログラム。
【請求項3】
請求項1乃至2のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値及び他の操作入力値に基づいて所与の動き操作入力の検出条件を判断することを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記操作入力表示制御処理部は、
所定のタイミングで一定時間の間、動き操作入力表示オブジェクトが表示または変化するように制御することを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記操作入力表示制御処理部は、
動き操作入力検出結果を表示するための動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
前記ゲーム演算処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、当該動き操作入力に基づきオブジェクトの向きや回転を制御するためのゲームパラメータを演算し、
前記操作入力表示制御処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、向きや回転の方向を表示するための動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記動き操作入力検出部は、
前記動きセンサの出力値に基づき、動き操作入力に対応付けられた操作量を検出し、
前記ゲーム演算処理部は、
動き操作入力に対応付けられた操作量に応じて、動き操作入力に対応付けられたゲームパラメータを演算し、
前記操作入力表示制御処理部は、
動き操作入力に対応付けられた操作量の大きさを表示するための動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1のコントローラに対応ずけられた第1の動き操作入力表示オブジェクトと、
第2のコントローラに対応ずけられた第2の動き操作入力表示オブジェクトと、
を用いて、動き操作入力の検出を表示するための表示制御処理を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
前記所与の条件に対応したパターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項10】
請求項1乃至9のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、
前記操作入力表示制御処理部は、
前記検出された動作を示す動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項11】
請求項1乃至10のいずれかにおいて、
前記動き操作入力検出部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項12】
請求項1乃至11のいずれかにおいて、
前記ゲーム演算処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトのゲームパラメータを演算する手段を含み、
前記操作入力表示制御処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応した操作入力の検出結果を表示するための操作入力表示オブジェクトの表示制御を行うことを特徴とするプログラム。
【請求項13】
請求項1乃至12のいずれかにおいて、
動き操作入力に対する初期設定操作入力を受け付ける初期設定操作期間を設定し、
初期設定操作期間にコントローラ操作により得られた動きセンサの出力値に基づき所与の動き操作入力の条件の設定値の調整を行う設定調整部を含むことを特徴とするプログラム。
【請求項14】
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を通知するための動き操作入力通知音の出力制御処理を行うコマンド通知音出力制御部と、
ゲーム画像を生成する画像生成部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項15】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至14のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項16】
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行う画像生成システムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部と、
動き操作入力表示オブジェクトを含むゲーム画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項1】
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部と、
動き操作入力表示オブジェクトを含むゲーム画像を生成する画像生成部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記ゲーム演算処理部は、
動き操作入力に基づきオブジェクトの移動又は動作を制御する移動又は動作制御部を含むことを特徴とするプログラム。
【請求項3】
請求項1乃至2のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値及び他の操作入力値に基づいて所与の動き操作入力の検出条件を判断することを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記操作入力表示制御処理部は、
所定のタイミングで一定時間の間、動き操作入力表示オブジェクトが表示または変化するように制御することを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記操作入力表示制御処理部は、
動き操作入力検出結果を表示するための動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
前記ゲーム演算処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、当該動き操作入力に基づきオブジェクトの向きや回転を制御するためのゲームパラメータを演算し、
前記操作入力表示制御処理部は、
所与の動き操作入力がオブジェクトの向きや回転に関する動き操作入力である場合には、向きや回転の方向を表示するための動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記動き操作入力検出部は、
前記動きセンサの出力値に基づき、動き操作入力に対応付けられた操作量を検出し、
前記ゲーム演算処理部は、
動き操作入力に対応付けられた操作量に応じて、動き操作入力に対応付けられたゲームパラメータを演算し、
前記操作入力表示制御処理部は、
動き操作入力に対応付けられた操作量の大きさを表示するための動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラに内蔵された第1の動きセンサの出力値と第2のコントローラに内蔵された第2の動きセンサの出力値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1のコントローラに対応ずけられた第1の動き操作入力表示オブジェクトと、
第2のコントローラに対応ずけられた第2の動き操作入力表示オブジェクトと、
を用いて、動き操作入力の検出を表示するための表示制御処理を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が所与の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
前記所与の条件に対応したパターンの発生またはその種類を示す動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項10】
請求項1乃至9のいずれかにおいて、
前記動き操作入力検出部は、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値に基づき所与の期間に行われた動作を検出する手段を含み、
前記操作入力表示制御処理部は、
前記検出された動作を示す動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項11】
請求項1乃至10のいずれかにおいて、
前記動き操作入力検出部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値に基づき所与の動き操作入力の条件を満たしているか否か判断し、
前記操作入力表示制御処理部は、
第1の動きセンサの出力値の大きさと第2の動きセンサの出力値の大きさの合算値を示す動き操作入力表示オブジェクトを表示することを特徴とするプログラム。
【請求項12】
請求項1乃至11のいずれかにおいて、
前記ゲーム演算処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応したコマンドに基づきオブジェクトのゲームパラメータを演算する手段を含み、
前記操作入力表示制御処理部は、
操作部に設けられた動きセンサ以外の操作入力手段からの操作入力に対応した操作入力の検出結果を表示するための操作入力表示オブジェクトの表示制御を行うことを特徴とするプログラム。
【請求項13】
請求項1乃至12のいずれかにおいて、
動き操作入力に対する初期設定操作入力を受け付ける初期設定操作期間を設定し、
初期設定操作期間にコントローラ操作により得られた動きセンサの出力値に基づき所与の動き操作入力の条件の設定値の調整を行う設定調整部を含むことを特徴とするプログラム。
【請求項14】
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行うプログラムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を通知するための動き操作入力通知音の出力制御処理を行うコマンド通知音出力制御部と、
ゲーム画像を生成する画像生成部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項15】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至14のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項16】
第1のコントローラ及び第2のコントローラを含む操作部からの入力に基づきゲームを行う画像生成システムであって、
第1のコントローラ及び第2のコントローラの少なくとも一方に内蔵された動きセンサの出力値が、動き操作入力の検出条件を満たしているか否か判断する動き操作入力検出部と、
動き操作入力に基づき所与のゲーム演算処理を行うゲーム演算処理部と、
動き操作入力の検出結果を表示するための動き操作入力表示オブジェクトの表示制御処理を行う操作入力表示制御処理部と、
動き操作入力表示オブジェクトを含むゲーム画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2007−300973(P2007−300973A)
【公開日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願番号】特願2006−129692(P2006−129692)
【出願日】平成18年5月8日(2006.5.8)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】
【公開日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願日】平成18年5月8日(2006.5.8)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】
[ Back to top ]