(57)【要約】      （修正有）【課題】加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させる。【解決手段】制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の速度の大きさデータおよびオブジェクトの速度の大きさデータが算出される。そして、移動するバットキャラクタの表示範囲内の座標データがボールキャラクタの表示範囲内の座標データに一致したか否かが制御部１により判断される。そして、移動するバットキャラクタの表示範囲内の座標データがボールキャラクタの表示範囲内の座標データに一致したと判断された場合に、バットの速度に応じて、振動制御データが算出され、振動制御データをコントローラ２５に出力する。【選択図】図２
2007167532.tif 000002
【特許請求の範囲】
【請求項１】
画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに前記加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動した前記オブジェクトが他のオブジェクトに接触したときに前記コントローラを前記振動機構により振動させるビデオゲームを実現可能なコンピュータに、
複数の前記オブジェクトを、前記オブジェクトに対応する画像データを用いて前記画像表示部に表示するオブジェクト表示機能と、
前記コントローラから入力部に連続的に入力される前記加速度データを制御部に認識させる加速度データ認識機能と、
前記コントローラから入力部に連続的に入力される前記加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識機能と、
制御部に認識された前記加速度データおよび前記時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出機能と、
前記コントローラの速度の大きさデータに基づいて、前記オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出機能と、
前記画像表示部に表示された複数の前記オブジェクトの少なくとも１つが前記オブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記オブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示するオブジェクト移動状態表示機能と、
複数の前記オブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識機能と、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断機能と、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出機能と、
前記振動制御データを前記コントローラに出力する命令を制御部に発行させる振動制御データ発行機能と、
を実現させるためのビデオゲームプログラム。
【請求項２】
前記コンピュータに、
前記他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記他のオブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示する他オブジェクト移動状態表示機能、
をさらに実現させ、
前記振動制御データ算出機能では、前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度および前記他のオブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる、
請求項１に記載のビデオゲームプログラム。
【請求項３】
前記コンピュータに、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトに対応する硬度および前記他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能と、
をさらに実現させ、
前記振動制御データ算出機能では、前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度と前記少なくともいずれか一方の硬度とに応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる、
請求項１又は２に記載のビデオゲームプログラム。
【請求項４】
前記コンピュータに、
前記他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記他のオブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示する他オブジェクト移動状態表示機能、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトに対応する硬度および前記他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能と、
をさらに実現させ、
前記振動制御データ算出機能では、前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度と前記他のオブジェクトの速度の大きさデータにより規定される速度と前記少なくともいずれか一方の硬度とに応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる、
請求項１に記載のビデオゲームプログラム。
【請求項５】
画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに前記加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動した前記オブジェクトが他のオブジェクトに接触したときに前記コントローラを前記振動機構により振動させるビデオゲームを実行可能なゲーム装置であって、
複数の前記オブジェクトを、前記オブジェクトに対応する画像データを用いて前記画像表示部に表示するオブジェクト表示手段と、
前記コントローラから入力部に連続的に入力される前記加速度データを制御部に認識させる加速度データ認識手段と、
前記コントローラから入力部に連続的に入力される前記加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識手段と、
制御部に認識された前記加速度データおよび前記時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出手段と、
前記コントローラの速度の大きさデータに基づいて、前記オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出手段と、
前記画像表示部に表示された複数の前記オブジェクトの少なくとも１つが前記オブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記オブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示するオブジェクト移動状態表示手段と、
複数の前記オブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識手段と、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断手段と、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出手段と、
前記振動制御データを前記コントローラに出力する命令を制御部に発行させる振動制御データ発行手段と、
を備えるゲーム装置。
【請求項６】
画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに前記加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動した前記オブジェクトが他のオブジェクトに接触したときに前記コントローラを前記振動機構により振動させるビデオゲームを制御可能なゲーム制御方法であって、
複数の前記オブジェクトを、前記オブジェクトに対応する画像データを用いて前記画像表示部に表示するオブジェクト表示ステップと、
前記コントローラから入力部に連続的に入力される前記加速度データを制御部に認識させる加速度データ認識ステップと、
前記コントローラから入力部に連続的に入力される前記加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識ステップと、
制御部に認識された前記加速度データおよび前記時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出ステップと、
前記コントローラの速度の大きさデータに基づいて、前記オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出ステップと、
前記画像表示部に表示された複数の前記オブジェクトの少なくとも１つが前記オブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記オブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示するオブジェクト移動状態表示ステップと、
複数の前記オブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識ステップと、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断ステップと、
前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出ステップと、
前記振動制御データを前記コントローラに出力する命令を制御部に発行させる振動制御データ発行ステップと、
を備えるゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオゲームプログラム、特に、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームをコンピュータに実現させるためのビデオゲームプログラムに関する。また、このビデオゲームプログラムにより実現されるビデオゲームを実行可能なビデオゲーム装置、およびこのビデオゲームプログラムにより実現されるビデオゲームをコンピュータにより制御可能なゲーム制御方法に関する。
【背景技術】
【０００２】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力部たとえばコントローラとを有している。コントローラには、入力部たとえば複数の入力釦が配置されている。このようなゲーム装置においては、入力釦を操作することにより、モニタに表示されたオブジェクトを動作させることができるようになっている。
【０００３】
このようなゲーム装置において、対戦ゲームたとえば野球ゲームが実行される場合を考える。野球ゲームでは、コントローラの入力釦を操作することにより、モニタに表示されたオブジェクトたとえば打者キャラクタのバットを動作させることができる（非特許文献１を参照）。この場合、まず、ミートカーソル選択用釦を押すことにより、ミートカーソルが強振用又はミート用のいずれか一方に設定される。そして、十字釦の上下左右の釦を押すと、ミートカーソルが上下左右に移動する。次に、投手キャラクタから投球されたボールがヒッティング面の通過位置に到達したときにバットでボールを捉えることができるようにＸ釦を押すと、打者キャラクタはバットスイングを開始する。すると、モニタに表示されたバットが一定速度で移動を開始する。そして、投球されたボールがヒッティング面に到達したときに、モニタにおいて移動するバットによってボールを捉えることができると投球されたボールはバットにより打ち返される。このとき、バットの芯でボールが捉えられた場合は、コントローラは弱い振動パターンで振動し、バットの芯でボールを捉えられなかった場合は、コントローラは強い振動パターンで振動するようになっている。
【非特許文献１】実況パワフルプロ野球９  決定版、コナミ株式会社、ＰＳ２版
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の野球ゲームでは、バットの芯でボールを捉えることができた場合の振動パターンおよびバットの芯でボールを捉えることができなかった場合の振動パターンのいずれか一方で、コントローラが振動するようになっている。これにより、プレイヤは、実際の野球において打撃時に打者が感じる感覚を、コントローラの振動によって擬似的に体験することができる。しかしながら、実際の野球において打撃時に打者が感じる感覚は、バットの芯でボールを捉えることができたか否かだけでなく、打者のスイング速度の強弱によっても大きく左右される。このような感覚をコントローラによって擬似的に体験できるようにするためには、打者のスイング速度たとえばモニタに表示されたバットの移動速度を評価し、この評価に基づいてコントローラを振動させるデータを作成する必要がある。しかしながら、従来の野球ゲームでは、バットの移動速度すなわち打者のスイング速度を適切に評価することができなかったため、バットでボールが捉えられたときに、コントローラの振動を打者のスイング速度に応じて振動させることが困難であった。
【０００５】
本発明の目的は、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させることができるようにすることにある。
【課題を解決するための手段】
【０００６】
請求項１に係るビデオゲームプログラムは、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）複数のオブジェクトを、オブジェクトに対応する画像データを用いて画像表示部に表示するオブジェクト表示機能。
（２）コントローラから入力部に連続的に入力される加速度データを制御部に認識させる加速度データ認識機能。
（３）コントローラから入力部に連続的に入力される加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識機能。
（４）制御部に認識された加速度データおよび時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出機能。
（５）コントローラの速度の大きさデータに基づいて、オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出機能。
（６）画像表示部に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、オブジェクトに対応する画像データを用いて画像表示部に連続的に表示するオブジェクト移動状態表示機能。
（７）複数のオブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識機能。
（８）オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断機能。
（９）オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出機能。
（１０）振動制御データをコントローラに出力する命令を制御部に発行させる振動制御データ発行機能。
【０００７】
このプログラムによって実現されるゲームでは、オブジェクト表示機能において、複数のオブジェクトが、オブジェクトに対応する画像データを用いて画像表示部に表示される。加速度データ認識機能においては、コントローラから入力部に連続的に入力される加速度データが制御部により認識される。時間間隔データ認識機能においては、コントローラから入力部に連続的に入力される加速度データの時間間隔が時間間隔データとして制御部により認識される。速度データ算出機能においては、制御部に認識された加速度データおよび時間間隔データに基づいて、コントローラの速度の大きさデータが制御部により算出される。オブジェクト移動速度データ算出機能においては、コントローラの速度の大きさデータに基づいて、オブジェクトの速度の大きさデータが制御部により算出される。オブジェクト移動状態表示機能においては、画像表示部に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、オブジェクトに対応する画像データを用いて画像表示部に連続的に表示される。範囲データ認識機能においては、複数のオブジェクトの表示範囲内の座標データが制御部により認識される。オブジェクト一致判断機能においては、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かが制御部により判断される。振動制御データ算出機能においては、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。振動制御データ発行機能においては、振動制御データをコントローラに出力する命令が制御部により発行される。
【０００８】
このゲームプログラムによって実現される野球ゲームを例にすると、まず、複数のオブジェクトたとえば打者キャラクタ（バットキャラクタを含む）およびボールキャラクタが、各キャラクタに対応する画像データを用いて画像表示部に表示される。また、コントローラから入力部に連続的に入力される加速度データが制御部により認識される。そして、コントローラから入力部に連続的に入力される加速度データの時間間隔が時間間隔データとして制御部により認識される。そして、制御部に認識された加速度データおよび時間間隔データに基づいて、コントローラの速度の大きさデータが制御部により算出される。そして、コントローラの速度の大きさデータに基づいて、バットキャラクタの速度の大きさデータが制御部により算出される。すると、画像表示部に表示されたバットキャラクタがバットの速度の大きさデータにより規定される速度で移動する状態が、バットキャラクタに対応する画像データを用いて画像表示部に連続的に表示される。また、バットキャラクタおよびボールキャラクタの表示範囲内の座標データが制御部により認識される。すると、バットの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データがボールキャラクタの表示範囲内の座標データに一致したか否かが制御部により判断される。そして、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内の座標データがボールキャラクタの表示範囲内の座標データに一致すると制御部により判断された場合（バットでボールが捉えられた場合）に、バットの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行される。すると、この振動制御データを受け付けた振動機構によって、コントローラが振動させられる。
【０００９】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動してバットキャラクタを移動させることができる。そして、バットキャラクタによってボールキャラクタを捉えることができたときに、バットキャラクタの速度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、バットキャラクタの速度に応じてコントローラを振動させることができるようになる。すなわち、移動したオブジェクト（バット）が他のオブジェクト（ボール）に接触したときに、オブジェクト（バット）の速度に応じてコントローラを振動機構により振動させることができる。
【００１０】
請求項２に係るビデオゲームプログラムでは、請求項１に記載のゲームプログラムにおいて、以下の機能がさらに実現される。
（１１）他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示する他オブジェクト移動状態表示機能。
【００１１】
このプログラムによって実現されるゲームでは、他オブジェクト移動状態表示機能において、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示される。すると、振動制御データ算出機能において、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度および他のオブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。
【００１２】
このゲームプログラムによって実現される野球ゲームを例にすると、ボールキャラクタがボールキャラクタの速度の大きさデータにより規定される速度で移動する状態が、ボールキャラクタに対応する画像データを用いて画像表示部に連続的に表示される。すると、速度の大きさデータにより規定される速度で移動するバットキャラクタの表示範囲内の座標データが、速度の大きさデータにより規定される速度で移動するボールキャラクタの表示範囲内の座標データに一致すると制御部により判断された場合（バットでボールが捉えられた場合）に、バットキャラクタの速度の大きさデータにより規定される速度およびボールキャラクタの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行され、この振動制御データを受け付けた振動機構によってコントローラが振動させられる。
【００１３】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動してバットキャラクタを移動させることができる。そして、バットキャラクタによってボールキャラクタを捉えることができたときに、バットキャラクタの速度およびボールキャラクタの速度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、バットキャラクタの速度およびボールキャラクタの速度に応じて、コントローラを振動させることができるようになる。すなわち、移動するオブジェクト（バット）が他のオブジェクト（ボール）に接触したときに、オブジェクト（バット）の速度および他のオブジェクト（ボール）の速度に応じて、コントローラを振動機構により振動させることができる。
【００１４】
請求項３に係るビデオゲームプログラムでは、請求項１又は２に記載のゲームプログラムにおいて、以下の機能がさらに実現される。
（１２）オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能。
【００１５】
このプログラムによって実現されるゲームでは、オブジェクト硬度認識機能において、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度が制御部により認識される。すると、振動制御データ算出機能において、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。
【００１６】
このゲームプログラムによって実現される格闘ゲームにおいて剣を有する戦士が相手の戦士に斬りかかるような場合を例にすると、剣の速度の大きさデータにより規定される速度で移動する剣キャラクタの硬度と相手戦士キャラクタの硬度たとえば相手戦士キャラクタの甲冑の硬度とを制御部に認識させることにより、速度の大きさデータにより規定される速度で移動する剣キャラクタの表示範囲内の座標データが相手戦士キャラクタの表示範囲内の座標データに一致すると制御部により判断された場合に、剣キャラクタの速度の大きさデータにより規定される速度と剣キャラクタの硬度および相手戦士キャラクタの甲冑の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行され、この振動制御データを受け付けた振動機構によってコントローラが振動させられる。
【００１７】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動して剣キャラクタを移動させることができる。そして、剣キャラクタによって相手戦士キャラクタを斬りつけることができたときに、剣キャラクタの速度、剣キャラクタの硬度、および相手戦士の甲冑の硬度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、コントローラを振動させることができる。すなわち、移動するオブジェクト（剣）が他のオブジェクト（相手戦士）に接触したときに、オブジェクト（剣）の速度、オブジェクト（剣）の硬度、および他のオブジェクト（相手戦士）の硬度に応じて、コントローラを振動機構により振動させることができる。
【００１８】
請求項４に係るビデオゲームプログラムでは、請求項１に記載のゲームプログラムにおいて、以下の機能がさらに実現される。
（１１）他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示する他オブジェクト移動状態表示機能。
（１２）オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能。
【００１９】
このプログラムによって実現されるゲームでは、他オブジェクト移動状態表示機能において、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示される。そして、オブジェクト硬度認識機能において、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度が制御部により認識される。すると、振動制御データ算出機能において、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度と、他のオブジェクトの速度の大きさデータにより規定される速度と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。
【００２０】
このゲームプログラムによって実現される格闘ゲームにおいて剣を有する第１戦士と剣を有する第２戦士とが互いに斬りかかるような場合を例にすると、速度の大きさデータにより規定される速度で移動する第１戦士の剣キャラクタの硬度と速度の大きさデータにより規定される速度で移動する第２戦士の剣キャラクタの硬度とを制御部に認識させることにより、速度の大きさデータにより規定される速度で移動する第１戦士の剣キャラクタの表示範囲内の座標データが第２戦士の剣キャラクタの表示範囲内の座標データに一致すると制御部により判断された場合に、第１戦士の剣の速度の大きさデータにより規定される速度と、第２戦士の剣の速度の大きさデータにより規定される速度と、速度の大きさデータにより規定される速度で移動する第１戦士の剣の硬度と、速度の大きさデータにより規定される速度で移動する第２戦士の剣の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行され、この振動制御データを受け付けた振動機構によってコントローラが振動させられる。
【００２１】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動して第１戦士の剣キャラクタを移動させることができる。このとき、第１戦士の剣キャラクタはＡＩによって制御され移動させられる。そして、第１戦士と第２戦士とが互いに斬りあい、第１戦士の剣キャラクタと第２戦士の剣キャラクタとが接触したときに、第１戦士の剣の速度、第２戦士の剣の速度、第１戦士の剣の硬度、および第２戦士の剣の硬度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、コントローラを振動させることができる。すなわち、移動するオブジェクト（第１戦士の剣）が移動する他のオブジェクト（第２戦士の剣）に接触したときに、オブジェクト（第１戦士の剣）の速度、他のオブジェクト（第２戦士の剣）の速度、オブジェクト（第１戦士の剣）の硬度、および他のオブジェクト（第２戦士の剣）の硬度に応じて、コントローラを振動機構により振動させることができる。
【００２２】
請求項５に係るビデオゲーム装置は、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームを実行可能なゲーム装置である。このビデオゲーム装置は、複数のオブジェクトを、オブジェクトに対応する画像データを用いて画像表示部に表示するオブジェクト表示手段と、コントローラから入力部に連続的に入力される加速度データを制御部に認識させる加速度データ認識手段と、コントローラから入力部に連続的に入力される加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識手段と、制御部に認識された加速度データおよび時間間隔データに基づいてコントローラの速度の大きさデータを制御部に算出させる速度データ算出手段と、コントローラの速度の大きさデータに基づいてオブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出手段と、画像表示部に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態をオブジェクトに対応する画像データを用いて画像表示部に連続的に表示するオブジェクト移動状態表示手段と、複数のオブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識手段と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断手段と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出手段と、振動制御データをコントローラに出力する命令を制御部に発行させる振動制御データ発行手段と、を備えている。
【００２３】
請求項６に係るビデオゲーム制御方法は、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームを制御可能なゲーム制御方法である。このビデオゲーム制御方法は、複数のオブジェクトをオブジェクトに対応する画像データを用いて画像表示部に表示するオブジェクト表示ステップと、コントローラから入力部に連続的に入力される加速度データを制御部に認識させる加速度データ認識ステップと、コントローラから入力部に連続的に入力される加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識ステップと、制御部に認識された加速度データおよび時間間隔データに基づいてコントローラの速度の大きさデータを制御部に算出させる速度データ算出ステップと、コントローラの速度の大きさデータに基づいてオブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出ステップと、画像表示部に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、オブジェクトに対応する画像データを用いて画像表示部に連続的に表示するオブジェクト移動状態表示ステップと、複数のオブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識ステップと、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断ステップと、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出ステップと、振動制御データをコントローラに出力する命令を制御部に発行させる振動制御データ発行ステップと、を備えている。
【発明の効果】
【００２４】
本発明では、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときに、振動制御データを制御部に算出させることによりコントローラを振動機構により振動させることができる。
【発明を実施するための最良の形態】
【００２５】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００２６】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５と、コントローラ２５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４、操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００２７】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００２８】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００２９】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００３０】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００３１】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００３２】
操作入力部５は、主に、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。操作情報インターフェース回路１８には、コントローラ２５が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００３３】
コントローラ２５は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ２５には、加速度センサ２４および振動機構たとえば振動モータ２６が内蔵されている。
【００３４】
加速度センサ２４には、たとえば、ピエゾ抵抗型、静電容量型、および磁気センサ型等がある。このような加速度センサ２４は、コントローラ２５が移動したときに、コントローラ２５の移動に応じて加速度の大きさが測定され出力される。ここで用いられている加速度センサ２４は、３軸加速度センサであり、コントローラ２５の移動に応じて３軸方向の加速度の大きさが測定され出力される。すなわち、コントローラ２５が移動すると、加速度センサ２４から３軸方向の加速度の大きさが加速度データとして、コントローラ２５から操作入力部５へと出力される。この加速度データを制御部１に認識・処理させることにより、３次元空間におけるコントローラ２５の動きを制御部１に認識させることができる。
【００３５】
振動モータ２６には、たとえば、円筒型とボタン型とがある。この振動モータ２６では、制御部１からの振動制御データを操作入力部５において変換したモータ用信号が操作入力部５から入力されたときに、モータ用信号に対応する回転数でモータ回転子が回転する。そして、このモータ回転子の回転数に応じて振動モータ２６が振動する。
【００３６】
また、コントローラ２５には、たとえば、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒからなる十字方向キーが設けられている。上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒでは、例えば、キャラクタ、オブジェクト、およびカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させることができる。上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒが操作されると、各キーに対応する操作信号がコントローラ２５から操作入力部５へと出力され、この操作信号に対応したコマンドが制御部１に認識される。
【００３７】
なお、コントローラ２５の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００３８】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００３９】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路１３を介してＤ／Ａコンバータ１７に供給される。ここで、画像データがＤ／Ａコンバータ１７でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００４０】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００４１】
〔ゲーム装置における各種処理概要〕
本ゲーム機１において実行されるゲームは、たとえば野球ゲームである。本ゲーム機１は、画像表示部３のテレビジョンモニタ２０に複数のオブジェクトを表示し、加速度センサ２４および振動モータ２６が内蔵されたコントローラ２５が移動したときに加速度センサ２４が検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラ２５を振動モータ２６により振動させるビデオゲームを実現可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００４２】
オブジェクト表示手段５０は、複数のオブジェクトを、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に表示する機能を備えている。オブジェクト表示手段５０では、複数のオブジェクトが、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に表示される。
【００４３】
加速度データ認識手段５１は、コントローラ２５から入力部に連続的に入力される加速度データを制御部１に認識させる機能を備えている。加速度データ認識手段５１では、コントローラ２５から入力部に連続的に入力される加速度データが制御部１により認識される。詳細には、加速度データ認識手段５１では、制御部１に認識された加速度データの値が所定の値以上であるか否かを制御部１に判断させ、制御部１に認識された加速度データの値が所定の値以上であると制御部１に判断された場合に、加速度データが制御部１により認識される。この場合、制御部に認識された加速度データが所定の値以上であると制御部により判断された場合に、加速度データが制御部により認識されるようになっているので、プレイヤがコントローラを微妙に移動させてしまったとしても、コントローラの移動に連動してオブジェクトたとえばバットが移動することがないようにすることができる。すなわち、プレイヤが思わずコントローラを移動させてしまったときの誤操作を防止することができる。
【００４４】
時間間隔データ認識手段５２は、コントローラ２５から入力部に連続的に入力される加速度データの時間間隔を時間間隔データとして制御部１に認識させる機能を備えている。時間間隔データ認識手段５２では、コントローラ２５から入力部に連続的に入力される加速度データの時間間隔が時間間隔データとして制御部１により認識される。
【００４５】
速度データ算出手段５３は、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の速度の大きさデータを制御部１に算出させる機能を備えている。速度データ算出手段５３では、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の速度の大きさデータが制御部１により算出される。また、速度データ算出手段５３は、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の位置データを制御部１に算出させる機能を備えている。速度データ算出手段５３では、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の位置データが制御部１により算出される。詳細には、速度データ算出手段５３では、操作入力部５に連続的に入力される加速度データを時間間隔データを用いて制御部１に積分計算させることにより、コントローラ２５の速度の大きさデータが制御部１により算出される。そして、速度の大きさデータを時間間隔データを用いて制御部１に積分計算させることにより、コントローラ２５の位置データが制御部１により算出される。
【００４６】
オブジェクト移動速度データ算出手段５４は、コントローラ２５の速度の大きさデータに基づいて、オブジェクトの速度の大きさデータを制御部１に算出させる機能を備えている。オブジェクト移動速度データ算出手段５４では、コントローラ２５の速度の大きさデータに基づいて、オブジェクトの速度の大きさデータが制御部１により算出される。詳細には、オブジェクト移動速度データ算出手段５４では、コントローラ２５の速度の大きさデータに対応するオブジェクトの速度の大きさデータが制御部１により算出される。より詳細には、オブジェクト移動速度データ算出手段５４では、コントローラ２５の速度の大きさデータに画像表示用の修正係数を乗じる計算が制御部１により実行されることにより、オブジェクトの速度の大きさデータが制御部１により算出される。なお、本実施形態では、コントローラ２５の速度の大きさデータに画像表示用の修正係数を乗じることによりオブジェクトの速度の大きさデータが算出される場合の例を示すが、コントローラ２５の速度の大きさと画像表示部３のテレビジョンモニタ２０におけるオブジェクトの速度の大きさ（速度の大きさに修正係数を乗じた速度）との対応テーブルをゲームプログラムにおいて規定しておき、ゲームプログラムのロード時に記録媒体１０から記憶部２に供給される対応テーブルに基づいて、速度の大きさデータに対応するオブジェクトの移動速度データが制御部１により選択されるようにしても良い。
【００４７】
他オブジェクト速度データ認識手段５５は、他のオブジェクトの速度の大きさデータを制御部１に認識させる機能を備えている。他オブジェクト速度データ認識手段５５では、他のオブジェクトの速度の大きさデータが制御部１により認識される。ここで、他のオブジェクトの速度の大きさデータは、コントローラ２５において他のオブジェクトの速度に関する操作が行われたときに、従来と同様の方法で速度の大きさデータが制御部１により算出される。
【００４８】
他オブジェクト位置データ認識手段５６は、他のオブジェクトの位置データを制御部１に認識させる機能を備えている。他オブジェクト位置データ認識手段５６では、他のオブジェクトの位置データが制御部１により認識される。
【００４９】
オブジェクト移動状態表示手段５７は、画像表示部３のテレビジョンモニタ２０に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示する機能を備えている。オブジェクト移動状態表示手段５７では、画像表示部３のテレビジョンモニタ２０に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示される。
【００５０】
他オブジェクト移動状態表示手段５８は、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示する機能を備えている。他オブジェクト移動状態表示手段５８では、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、他のオブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示される。
【００５１】
範囲データ認識手段５９は、複数のオブジェクトの表示範囲内の座標データを制御部１に認識させる機能を備えている。範囲データ認識手段５９では、複数のオブジェクトの表示範囲内の座標データが制御部１により認識される。
【００５２】
オブジェクト一致判断手段６０は、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部１に判断させる機能を備えている。オブジェクト一致判断手段６０では、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かが制御部１により判断される。
【００５３】
振動制御データ算出手段６１は、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データを制御部１に算出させる機能を備えている。
【００５４】
振動制御データ算出手段６１では、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データが制御部１により算出される。詳細には、振動制御データ算出機能では、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度および他のオブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データが制御部１より算出される。
【００５５】
振動制御データ発行手段６２は、振動制御データをコントローラ２５に出力する命令を制御部１に発行させる機能を備えている。振動制御データ発行手段６２では、振動制御データをコントローラ２５に出力する命令が制御部１により発行される。
【００５６】
〔野球ゲームにおける打撃振動制御システムの概要と各種処理フロー〕
ここでは、野球ゲームにおける打撃振動制御システムについて説明する。また、図？に示した打撃振動制御システムのフローについても同時に説明する。
【００５７】
本野球ゲームにおいて、プレイヤが打者キャラクタを操作する場合、図３に示すように、投手キャラクタ７１と、バットを有する打者キャラクタ７２と、基準状態のミートカーソル領域８０とが、テレビジョンモニタ２０に表示される（Ｓ１）。ここで、基準状態のミートカーソル領域８０を規定する初期範囲データはゲームプログラムにおいて予め定められており、このミートカーソル領域８０の初期範囲データが記憶部２から読み出され制御部１に認識される。
【００５８】
このとき、コントローラ２５の投球開始対応ボタン（図示しない）が押されたときにコントローラ２５から発行される信号が制御部１に受け付けられると、投手キャラクタ７１に投球を開始させるためのコマンドがゲームプログラムに基づいて制御部１から発行される。すると、投手キャラクタ７１が投球動作する状態が、投手キャラクタ７２に対応する画像データたとえばポリゴンデータを連続的に移動させることにより、テレビジョンモニタ２０に表示される（Ｓ２）。そして、投手キャラクタ７１の所定の投球動作が終了すると、投手キャラクタ７１からボールをリリースさせるためのコマンドが制御部１に認識される（Ｓ３）。
【００５９】
すると、投手キャラクタ７１からリリースされたボールの速度の大きさデータＶＢおよび位置データの認識を制御部１が開始する（Ｓ４）。ここで、ボールキャラクタ７４の位置データは、ボールの中心点（基準点）Ｂｍ１を示す基準座標データおよびボールの表示範囲内の座標データからなっている。そして、投手キャラクタ７１からリリースされたボールキャラクタ７４が投手キャラクタ７１から打者キャラクタ７２へと移動する状態が、ボールの基準点Ｂｍ１を示す基準座標データに基づいて、テレビジョンモニタ２０に表示される（Ｓ５）。この状態は、ボールキャラクタ７４に対応する画像データを投手キャラクタ７１から打者キャラクタ７２に向けて移動させることにより実現され、このときのボールキャラクタ７４の移動は、ボールの基準点Ｂｍ１を基準にして制御部１に制御される。
【００６０】
投手キャラクタ７１からリリースされたボールキャラクタ７４が投手キャラクタ７１から打者キャラクタ７２へと移動する状態がテレビジョンモニタ２０に表示されているときに、図４に示すように、プレイヤがコントローラ２５を移動させると（たとえば、プレイヤがコントローラ２５を持った状態でプレイヤがコントローラ２５とともに腕をスイングすると：Ｓ６）、コントローラ２５に内蔵された加速度センサ２４が検知した加速度データＧが、コントローラ２５から操作入力部５に連続的に出力され操作入力部５に入力される（Ｓ７）。
【００６１】
すると、操作入力部５に入力された加速度データＧの絶対値が所定の値以上であるか否かが制御部１により判断され（Ｓ８）、加速度データＧの絶対値が所定の値以上であると制御部１に判断された場合（Ｓ８でＹｅｓ）、加速度データＧが制御部１により認識される（Ｓ９）。すると、バットが打者キャラクタ７２とともに移動する状態すなわち打者キャラクタ７２がバットスイングする状態の表示開始コマンドが、制御部１から画像表示部３に発行される。ここで、操作入力部５に入力された加速度データＧの絶対値が所定の値未満であると制御部１に判断された場合（Ｓ８でＮｏ）、加速度データＧが制御部１により認識されない（Ｓ１０）。すなわち、バットは打者キャラクタ７２とともに移動しない（打者キャラクタ７２はバットスイングしない。）
加速度データＧが制御部１により順次認識されると、操作入力部５に連続的に入力される加速度データＧの時間間隔が、時間間隔データｄｔとして制御部１により認識される（Ｓ１１）。すると、図５に示すように、制御部１に認識された加速度データＧが時間間隔データｄｔを用いて制御部１により積分計算され、コントローラ２５の速度の大きさデータＶが制御部１により算出される（Ｓ１２）。また、このコントローラ２５の速度の大きさデータＶが時間間隔データｄｔを用いて制御部１により積分計算され、コントローラ２５の位置データＸが制御部１により算出される（Ｓ１３）。
【００６２】
すると、コントローラ２５の速度の大きさデータＶに画像表示用の修正係数αを乗じる計算が制御部１により実行され、バットの速度の大きさデータＶＢＴ（α・Ｖ）が制御部１により算出される（Ｓ１４）。そして、コントローラ２５の位置データＸを画像表示部３のテレビジョンモニタ２０の位置データＸ’に変換する計算が制御部１により実行される（図６参照：Ｓ１５）。すると、バットが位置データＸ’により規定される位置においてバットの速度の大きさデータＶＢＴにより規定された速度で移動する状態すなわち打者キャラクタ７２とともに移動するバットの移動状態（バットスイング状態）が、バットに対応する画像データたとえばポリゴンデータを画像表示部３のテレビジョンモニタ２０において移動させることによりテレビジョンモニタ２０に連続的に表示される（Ｓ１６）。このとき、バットキャラクタ７３の位置データが制御部１により認識される（Ｓ１７）。ここで、バットキャラクタ７３の位置データは、バットの基準点Ｂｍ２を示す座標データおよびバットの表示範囲内の座標データからなっている。ここでは、バットキャラクタの位置データデータには、バットキャラクタの表示領域におけるミートカーソル領域の位置データが対応している。
【００６３】
このバットキャラクタがテレビジョンモニタ２０に表示された状態は、バットキャラクタ７３がバットの速度の大きさデータＶＢＴにより規定された速度で移動するように、打者キャラクタ７２およびバットキャラクタ７３の画像データたとえばポリゴンデータを、描画時間間隔データにより規定される描画時間間隔でテレビジョンモニタ２０に連続的に移動させることにより実現される。この描画時間間隔データは、速度の大きさデータに応じて制御部１により調整される。たとえば、ゲーム画面におけるバットの基準移動速度の大きさと基準描画時間間隔たとえば０．０２秒とをゲームプログラムにおいて規定しておき、この基準状態を基準にして、バットの移動速度が基準移動速度より速い場合すなわちバットの移動速度の大きさが基準移動速度の大きさより大きい場合は、０．０２秒間隔よりも小さい時間間隔で、ポリゴンデータがテレビジョンモニタ２０に表示される。一方で、バットの移動速度が基準移動速度より遅い場合すなわちバットの移動速度の大きさが基準移動速度の大きさより小さい場合は、０．０２秒間隔よりも大きい時間間隔で、ポリゴンデータがテレビジョンモニタ２０に表示される。このときの描画時間間隔は、基準移動速度に対する、算出されたバットの速度の大きさの割合（比率）を基準時間間隔に乗じることにより算出される。
【００６４】
このようにバットキャラクタがテレビジョンモニタ２０に表示された後、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内の座標データがボールの表示範囲内の座標データに一致したか否かが制御部１により判断される（Ｓ１８）。具体的には、バットでボールを捉えられた否かが制御部１により判断される。そして、図７に示すように、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内（ミートカーソル８０の領域内）の座標データがボールキャラクタ７４の表示範囲内の座標データに一致したと制御部１により判断された場合（Ｓ１８でＹｅｓ）、ボールキャラクタ７４の基準点Ｂｍ１とバットキャラクタの基準点Ｂｍ２との基準点間距離ｌｍが制御部１により算出される（Ｓ１９）。すると、この基準点間距離ｌｍ、ボールの速度の大きさデータにより規定される速度ＶＢ、およびバットの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データＳが制御部１により算出される（Ｓ２０）。すると、この振動制御データＳをコントローラ２５に出力する命令が制御部１から発行される（Ｓ２１）。一方で、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内の座標データがボールの表示範囲内の座標データに一致しないと制御部１により判断された場合（Ｓ１８でＮｏ）、基準点間距離ｌｍの計算は制御部１により実行されない。
【００６５】
〔野球ゲームにおける打撃振動制御システムの各手段における処理内容および補足説明〕
・速度データ算出手段
３軸方向の加速度の大きさからなる加速度データＧが制御部１により認識され、コントローラ２５から操作入力部５に連続的に入力される加速度データＧ（ｇｘ，ｇｙ，ｇｚ，ｔ）の時間間隔が時間間隔データｄｔとして制御部１により認識されると、図５に示すように、コントローラ２５から操作入力部５に連続的に入力された加速度データＧが時間間隔データｄｔを用いて制御部１により積分計算され、コントローラ２５の３軸方向の速度の大きさデータＶ（ｖｘ，ｖｙ，ｖｚ，ｔ）が制御部１により算出される。たとえば、まず時刻ｔ１に制御部１に加速度データＧ１（ｇｘ１，ｇｙ１，ｇｚ１，ｔ１）が認識され、次に時刻ｔ２に制御部１に加速度データＧ２（ｇｘ２，ｇｙ２，ｇｚ２，ｔ２）が認識された場合、∫［Ｇ２（ｇｘ２，ｇｙ２，ｇｚ２，ｔ２）−Ｇ１（ｇｘ１，ｇｙ１，ｇｚ１，ｔ１）]・ｄｔという計算を時刻ｔ２と時刻ｔ１の間で制御部１に実行させることにより、コントローラ２５の速度の大きさデータＶ１（ｖｘ１，ｖｙ１，ｖｚ１，ｔ１）が制御部１により算出される。同様に、時刻ｔ２に続く時刻ｔ３に制御部１に加速度データＧ３（ｇｘ３，ｇｙ３，ｇｚ３，ｔ３）が認識された場合、∫［Ｇ３（ｇｘ３，ｇｙ３，ｇｚ３，ｔ３）−Ｇ２（ｇｘ２，ｇｙ２，ｇｚ２，ｔ２）]・ｄｔという計算を時刻ｔ３と時刻ｔ２との間で制御部１に実行させることにより、コントローラ２５の速度の大きさデータＶ２（ｖｘ２，ｖｙ２，ｖｚ２，ｔ２）が制御部１により算出される。また、時刻ｔ３に続く時刻ｔ４に制御部１に加速度データＧ４（ｇｘ４，ｇｙ４，ｇｚ４，ｔ４）が認識された場合、∫［Ｇ４（ｇｘ４，ｇｙ４，ｇｚ４，ｔ４）−Ｇ３（ｇｘ３，ｇｙ３，ｇｚ３，ｔ３）]・ｄｔという計算を時刻ｔ４と時刻ｔ３の間で制御部１に実行させることにより、コントローラ２５の速度の大きさデータＶ３（ｖｘ３，ｖｙ３，ｖｚ３，ｔ３）が制御部１により算出される。
【００６６】
このように算出されたコントローラ２５の速度の大きさデータＶが時間間隔データｄｔを用いて制御部１によりさらに積分計算されると、コントローラ２５の位置データＸが制御部１により算出される。たとえば、∫［Ｖ２（ｖｘ２，ｖｙ２，ｖｚ２，ｔ２）−Ｖ１（ｖｘ１，ｖｙ１，ｖｚ１，ｔ１）］・ｄｔという計算を時刻ｔ２と時刻ｔ１との間で制御部１に実行させることにより、コントローラ２５の位置データＸ１（ｘ１，ｙ１，ｚ１，ｔ１）が制御部１により算出される。同様に、∫［Ｖ３（ｖｘ３，ｖｙ３，ｖｚ３，ｔ３）−Ｖ２（ｖｘ２，ｖｙ２，ｖｚ２，ｔ２）］・ｄｔという計算を時刻ｔ３と時刻ｔ２との間で制御部１に実行させることにより、コントローラ２５の位置データＸ２（ｘ２，ｙ２，ｚ２，ｔ２）が制御部１により算出される。
【００６７】
コントローラ２５の加速度データＧが制御部１に認識されたときに、上記のような一連の計算を制御部１に実行させることにより、コントローラ２５の加速度データＧに基づいて、各時刻のコントローラ２５の速度の大きさデータおよび位置データを算出することができる。
【００６８】
なお、上記のコントローラ２５の速度の大きさデータＶおよび位置データＸを算出するにあたり、コントローラ２５の加速度データＧが制御部に最初に認識された時刻ｔｓが、計算開始時刻となる。また、修正されたミートカーソル領域８０の範囲データの領域内座標データにより規定される座標がボールの範囲内座標データにより規定されるボールの表示範囲内座標データの少なくとも一つに一致すると制御部１により判断されたとき、すなわちバットでボールが捉えられたときの時刻ｔｅが、計算終了時刻となる。
・オブジェクト移動速度データ算出手段
バットの速度の大きさデータＶＢＴは、コントローラ２５の速度の大きさデータＶに画像表示用の修正係数αを乗じる計算を制御部１に実行させることにより算出される。この処理は、実際に移動させたコントローラ２５の加速度データＧに基づいて算出された速度の大きさデータを、ゲームにおいて用いられるバットの移動速度へと修正するために行われる処理である。たとえば、上記のように算出されたコントローラ２５の速度の大きさデータＶ１，Ｖ２に修正係数α（定数）又はコントローラ２５の速度の大きさデータＶ１，Ｖ２に応じた修正係数すなわちコントローラ２５の速度の大きさデータＶを変数とした修正係数α（Ｖ）を乗じる計算を制御部１に実行させることにより、バットの速度の大きさデータＶＢＴが制御部１により算出される。
・オブジェクト移動状態表示手段
上記のように算出されたコントローラ２５の位置データＸ１，Ｘ２は、図６に示すように、テレビジョンモニタ２０用の位置データＸ’１，Ｘ’２へと変換される。コントローラ２５の位置データＸ１，Ｘ２は３次元実空間（プレイヤがコントローラ２５とともに腕をスイングする空間）における座標であるため、ここでは、コントローラ２５の位置データＸ１，Ｘ２を３次元ゲーム空間におけるテレビジョンモニタ２０用の位置データＸ’１，Ｘ’２に変換する計算が制御部１により実行される。この変換は、３次元実空間から３次元ゲーム空間への写像変換を制御部１に実行させることにより行われる。たとえば、この変換は、ゲームプログラムにおいて予め決定された写像関数ｆを用いて、Ｘ’（ｘ’，ｙ’，ｚ’）＝ｆ・Ｘ（ｘ，ｙ，ｚ）という計算を制御部１に実行させることにより行われる。この３次元ゲーム空間のバットの位置データＸ’１，Ｘ’２により規定される位置において、バットキャラクタ７３がバットの速度の大きさデータにより規定される速度ＶＢＴで移動する状態が、テレビジョンモニタ２０に表示される。
・オブジェクト一致判断手段・振動制御データ算出手段
まず、バットの速度の大きさデータにより規定される速度ＶＢＴで移動するバットの表示範囲内の座標が、ボールの速度の大きさデータにより規定される速度ＶＢで移動するボールの表示範囲内の座標の少なくとも１つに一致したか否かが制御部１により判断される。具体的には、バットキャラクタ７３の所定の領域とボールキャラクタ７４の表示領域との重なる部分が生じたか否かすなわちバットでボールを捉えられた否かが制御部１により判断される。そして、バットの表示範囲内の座標がボールの表示範囲内の座標の少なくとも１つに一致したと制御部１により判断された場合には、図７に示すように、ボールキャラクタ７４の基準点Ｂｍ１とバットキャラクタ７３の基準点Ｂｍ２との基準点間距離ｌｍが制御部１により算出される。すると、バットの速度の大きさデータにより規定される速度ＶＢＴとボールの速度の大きさデータにより規定される速度ＶＢとを合成する計算を制御部１に実行させ、図８に示すように、合成速度ＶＧを規定する合成速度データが制御部１により算出される。
【００６９】
ここでは、ボールのベクトルデータの方向を反転する計算が制御部１に実行される。そして、バットの基準点Ｂｍ２からボールの基準点Ｂｍ１へとバットのベクトルデータの基点を移動する計算を制御部１に実行させる。そして、ボールの基準点Ｂｍ１におけるバットおよびボールのベクトルデータを合成する計算が制御部１に実行される。このようにして、バットにより打ち返されたボールの速度と方向とを規定する合成ベクトルが、制御部１により算出される。なお、各ベクトルは、バットでボールを捉えられたときのボールキャラクタ７４およびバットキャラクタ７３それぞれの速度の大きさおよび移動方向の２点間座標に基づいて、制御部１により算出される。
【００７０】
すると、図９に示すように、基準点間距離ｌｍに対応する第１パラメータγ１が第１対応テーブルに基づいて制御部１により選択される。そして、合成速度ＶＧと第１パラメータγ１との組み合わせに応じて、第２パラメータγ２が第２対応テーブルに基づいて制御部１により選択される。そして、第２パラメータγ２と振動制御データＳとの対応テーブル（ここでは第２対応テーブル）に基づいて、振動制御データＳが制御部１により選択される。ここでは、振動制御データＳが１から７までの値を有している。これら振動制御データＳは、振動モータ２６を振動させるときの程度を示す指標になっており、振動制御データＳの値が大きくなればなるほど振動モータ２６の回転数が大きくなる。この振動制御データＳが制御部１から操作入力部５へと供給されると、操作入力部５において振動制御データＳに対応するモータ用信号に変換され、モータ用信号に対応する回転数で振動モータ２６が回転する。すなわち、コントローラ２５が振動する。
【００７１】
具体的には、基準点間距離ｌｍがゼロの場合はボールをバットの真芯で捉えられたことになる。このため、合成速度ＶＧの大小にかかわらず、コントローラ２５の振動は小さくなる。また、基準点間距離ｌｍがゼロより大きくなればなるほど、ボールをバットの芯で捉えられなかったことになり、合成速度ＶＧの大きさに応じて、コントローラ２５の振動は大きくなる。
【００７２】
〔他の実施形態〕
（ａ）  前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【００７３】
（ｂ）  本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【００７４】
（ｃ）  前記実施形態では、基準点間距離ｌｍおよび合成速度の大きさに応じてコントローラ２５の振動の程度が変化する場合の例を示したが、コントローラ２５の振動の程度は、基準点間距離ｌｍを用いずバットの速度の大きさや合成速度の大きさに応じてのみ変化させるようにしても良い。
【００７５】
（ｄ）  前記実施形態では、合成速度の大きさに応じてコントローラ２５の振動の程度が変化する場合の例を示したが、オブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部１に認識させるオブジェクト硬度認識機能をさらに備えるゲームプログラムによって、移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度とオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラ２５の振動を制御するための振動制御データを制御部１に算出させるようにしても良い。
【００７６】
この場合、たとえば格闘ゲームにおいて、加速度センサ２４および振動モータ２６が内蔵されたコントローラ２５の移動に連動して剣キャラクタを移動させ、剣キャラクタによって相手戦士キャラクタを斬りつけることができたときに、剣キャラクタの速度、剣キャラクタの硬度、および相手戦士の甲冑の硬度に応じたコントローラ用振動制御データが算出される。そして、このコントローラ用振動制御データが制御部１からコントローラ２５の振動機構たとえば振動モータ２６へと出力される。これにより、コントローラ２５を振動させることができる。
【００７７】
（ｅ）  前記実施形態では、合成速度の大きさに応じてコントローラ２５の振動の程度が変化する場合の例を示したが、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示する他オブジェクト移動状態表示機能と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部１に認識させるオブジェクト硬度認識機能とをさらに備えるゲームプログラムによって、移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度と、他のオブジェクトの速度の大きさデータにより規定される速度と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラ２５の振動を制御するための振動制御データを制御部１に算出させるようにしても良い。
【００７８】
この場合、加速度センサ２４および振動モータ２６が内蔵されたコントローラ２５の移動に連動して第１戦士の剣キャラクタを移動させ、第１戦士の剣キャラクタと第２戦士の剣キャラクタとが接触したときに、第１戦士の剣の速度、第２戦士の剣の速度、第１戦士の剣の硬度、および第２戦士の剣の硬度に応じたコントローラ用振動制御データが算出される。そして、このコントローラ用振動制御データが制御部１からコントローラ２５の振動機構たとえば振動モータ２６へと出力される。これにより、コントローラ２５を振動させることができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の一例としての機能ブロック図。
【図３】テレビジョンモニタに表示されるキャラクタを説明するための図。
【図４】コントローラの移動状態とバットの移動状態の対応を説明するための図。
【図５】加速度データ、速度データおよび位置データの関係を説明するための図。
【図６】コントローラの位置データをテレビジョンモニタ用の位置データへと変換するときの写像関係を説明するための図。
【図７】ボールとバットとの基準点間距離の計算方法を説明するための図。
【図８】ボールとバットとの速度の合成方法を説明するための図。
【図９】振動制御データを算出する方法を説明するための図。
【図１０Ａ】打撃振動制御システムを説明するためのフローチャート。
【図１０Ｂ】打撃振動制御システムを説明するためのフローチャート。
【符号の説明】
【００８０】
１  制御部
５  操作入力部
２０  テレビジョンモニタ
２４  加速度センサ
２５  コントローラ
５０  オブジェクト表示手段
５１  加速度データ認識手段
５２  時間間隔データ認識手段
５３  速度データ算出手段
５４  オブジェクト移動速度データ算出手段
５５  他オブジェクト速度データ認識手段
５６  他オブジェクト位置データ認識手段
５７  オブジェクト移動状態表示手段
５８  他オブジェクト移動状態表示手段
５９  範囲データ認識手段
６０  オブジェクト一致判断手段
６１  振動制御データ算出手段
６２  振動制御データ発行手段
７１  投手キャラクタ
７２  打者キャラクタ
７３  バットキャラクタ
７４  ボールキャラクタ
Ｂｍ１  ボールの基準点
Ｂｍ２  バットの基準点
ｄｔ  時間間隔
ｆ  写像関数
Ｇ  コントローラの加速度データ
Ｖ  コントローラの速度の大きさデータ
Ｘ  コントローラの位置データ
ＶＢ  ボールの速度の大きさデータ
ＶＢＴ  バットの速度の大きさデータ
α  修正係数
γ１  第１パラメータ
γ２  第２パラメータ
Ｓ  振動制御データ
ｌｍ  基準点間距離
【図１】
2007167532.tif 000003
【図２】
2007167532.tif 000004
【図３】
2007167532.tif 000005
【図４】
2007167532.tif 000006
【図５】
2007167532.tif 000007
【図６】
2007167532.tif 000008
【図７】
2007167532.tif 000009
【図８】
2007167532.tif 000010
【図９】
2007167532.tif 000011
【図１０Ａ】
2007167532.tif 000012
【図１０Ｂ】
2007167532.tif 000013
【手続補正書】
【提出日】平成19年1月26日(2007.1.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに前記加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動した前記オブジェクトが他のオブジェクトに接触したときに前記コントローラを前記振動機構により振動させるビデオゲームを実現可能なコンピュータに、
複数の前記オブジェクトを、前記オブジェクトに対応する画像データを用いて前記画像表示部に表示するオブジェクト表示機能と、
前記コントローラから連続的に出力される前記加速度データを制御部に認識させる加速度データ認識機能と、
前記コントローラから連続的に出力される前記加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識機能と、
制御部に認識された前記加速度データおよび前記時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出機能と、
前記コントローラの速度の大きさデータに基づいて、前記オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出機能と、
前記画像表示部に表示された複数の前記オブジェクトの少なくとも１つが３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記オブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示するオブジェクト移動状態表示機能と、
３次元ゲーム空間における複数の前記オブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識機能と、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断機能と、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出機能と、
前記振動制御データを前記コントローラに出力する命令を制御部に発行させる振動制御データ発行機能と、
を実現させるためのビデオゲームプログラム。
【請求項２】
前記コンピュータに、
３次元ゲーム空間において前記他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記他のオブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示する他オブジェクト移動状態表示機能、
をさらに実現させ、
前記振動制御データ算出機能では、３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度および前記他のオブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる、
請求項１に記載のビデオゲームプログラム。
【請求項３】
前記コンピュータに、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトに対応する、記憶部に格納された前記オブジェクト用の硬度データにより規定される硬度、および前記他のオブジェクトに対応する、記憶部に格納された前記他のオブジェクト用の硬度データにより規定される硬度、の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能と、
をさらに実現させ、
前記振動制御データ算出機能では、３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度と前記少なくともいずれか一方の硬度とに応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる、
請求項１又は２に記載のビデオゲームプログラム。
【請求項４】
前記コンピュータに、
３次元ゲーム空間において前記他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記他のオブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示する他オブジェクト移動状態表示機能、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトに対応する、記憶部に格納された前記オブジェクト用の硬度データにより規定される硬度および前記他のオブジェクトに対応する、記憶部に格納された前記他のオブジェクト用の硬度データにより規定される硬度、の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能と、
をさらに実現させ、
前記振動制御データ算出機能では、３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度と前記他のオブジェクトの速度の大きさデータにより規定される速度と前記少なくともいずれか一方の硬度とに応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる、
請求項１に記載のビデオゲームプログラム。
【請求項５】
画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに前記加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動した前記オブジェクトが他のオブジェクトに接触したときに前記コントローラを前記振動機構により振動させるビデオゲームを実行可能なゲーム装置であって、
複数の前記オブジェクトを、前記オブジェクトに対応する画像データを用いて前記画像表示部に表示するオブジェクト表示手段と、
前記コントローラから連続的に出力される前記加速度データを制御部に認識させる加速度データ認識手段と、
前記コントローラから連続的に出力される前記加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識手段と、
制御部に認識された前記加速度データおよび前記時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出手段と、
前記コントローラの速度の大きさデータに基づいて、前記オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出手段と、
前記画像表示部に表示された複数の前記オブジェクトの少なくとも１つが３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記オブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示するオブジェクト移動状態表示手段と、
３次元ゲーム空間における複数の前記オブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識手段と、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断手段と、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出手段と、
前記振動制御データを前記コントローラに出力する命令を制御部に発行させる振動制御データ発行手段と、
を備えるゲーム装置。
【請求項６】
画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに前記加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動した前記オブジェクトが他のオブジェクトに接触したときに前記コントローラを前記振動機構により振動させるビデオゲームを制御可能なゲーム制御方法であって、
複数の前記オブジェクトを、前記オブジェクトに対応する画像データを用いて前記画像表示部に表示するオブジェクト表示ステップと、
前記コントローラから連続的に出力される前記加速度データを制御部に認識させる加速度データ認識ステップと、
前記コントローラから連続的に出力される前記加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識ステップと、
制御部に認識された前記加速度データおよび前記時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出ステップと、
前記コントローラの速度の大きさデータに基づいて、前記オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出ステップと、
前記画像表示部に表示された複数の前記オブジェクトの少なくとも１つが３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する状態を、前記オブジェクトに対応する画像データを用いて前記画像表示部に連続的に表示するオブジェクト移動状態表示ステップと、
３次元ゲーム空間における複数の前記オブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識ステップと、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他の前記オブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断ステップと、
３次元ゲーム空間において前記オブジェクトの速度の大きさデータにより規定される速度で移動する前記オブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、前記オブジェクトの速度の大きさデータにより規定される速度に応じて、前記コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出ステップと、
前記振動制御データを前記コントローラに出力する命令を制御部に発行させる振動制御データ発行ステップと、
を備えるゲーム制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオゲームプログラム、特に、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームをコンピュータに実現させるためのビデオゲームプログラムに関する。また、このビデオゲームプログラムにより実現されるビデオゲームを実行可能なビデオゲーム装置、およびこのビデオゲームプログラムにより実現されるビデオゲームをコンピュータにより制御可能なゲーム制御方法に関する。
【背景技術】
【０００２】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力部たとえばコントローラとを有している。コントローラには、入力部たとえば複数の入力釦が配置されている。このようなゲーム装置においては、入力釦を操作することにより、モニタに表示されたオブジェクトを動作させることができるようになっている。
【０００３】
このようなゲーム装置において、対戦ゲームたとえば野球ゲームが実行される場合を考える。野球ゲームでは、コントローラの入力釦を操作することにより、モニタに表示されたオブジェクトたとえば打者キャラクタのバットを動作させることができる（非特許文献１を参照）。この場合、まず、ミートカーソル選択用釦を押すことにより、ミートカーソルが強振用又はミート用のいずれか一方に設定される。そして、十字釦の上下左右の釦を押すと、ミートカーソルが上下左右に移動する。次に、投手キャラクタから投球されたボールがヒッティング面の通過位置に到達したときにバットでボールを捉えることができるようにＸ釦を押すと、打者キャラクタはバットスイングを開始する。すると、モニタに表示されたバットが一定速度で移動を開始する。そして、投球されたボールがヒッティング面に到達したときに、モニタにおいて移動するバットによってボールを捉えることができると投球されたボールはバットにより打ち返される。このとき、バットの芯でボールが捉えられた場合は、コントローラは弱い振動パターンで振動し、バットの芯でボールを捉えられなかった場合は、コントローラは強い振動パターンで振動するようになっている。
【非特許文献１】実況パワフルプロ野球９  決定版、コナミ株式会社、ＰＳ２版
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の野球ゲームでは、バットの芯でボールを捉えることができた場合の振動パターンおよびバットの芯でボールを捉えることができなかった場合の振動パターンのいずれか一方で、コントローラが振動するようになっている。これにより、プレイヤは、実際の野球において打撃時に打者が感じる感覚を、コントローラの振動によって擬似的に体験することができる。しかしながら、実際の野球において打撃時に打者が感じる感覚は、バットの芯でボールを捉えることができたか否かだけでなく、打者のスイング速度の強弱によっても大きく左右される。このような感覚をコントローラによって擬似的に体験できるようにするためには、打者のスイング速度たとえばモニタに表示されたバットの移動速度を評価し、この評価に基づいてコントローラを振動させるデータを作成する必要がある。しかしながら、従来の野球ゲームでは、バットの移動速度すなわち打者のスイング速度を適切に評価することができなかったため、バットでボールが捉えられたときに、コントローラの振動を打者のスイング速度に応じて振動させることが困難であった。
【０００５】
本発明の目的は、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させることができるようにすることにある。
【課題を解決するための手段】
【０００６】
請求項１に係るビデオゲームプログラムは、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）複数のオブジェクトを、オブジェクトに対応する画像データを用いて画像表示部に表示するオブジェクト表示機能。
（２）コントローラから連続的に出力される加速度データを制御部に認識させる加速度データ認識機能。
（３）コントローラから連続的に出力される加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識機能。
（４）制御部に認識された加速度データおよび時間間隔データに基づいて、コントローラの速度の大きさデータを制御部に算出させる速度データ算出機能。
（５）コントローラの速度の大きさデータに基づいて、オブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出機能。
（６）画像表示部に表示された複数のオブジェクトの少なくとも１つが３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、オブジェクトに対応する画像データを用いて画像表示部に連続的に表示するオブジェクト移動状態表示機能。
（７）３次元ゲーム空間における複数のオブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識機能。
（８）３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断機能。
（９）３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出機能。
（１０）振動制御データをコントローラに出力する命令を制御部に発行させる振動制御データ発行機能。
【０００７】
このプログラムによって実現されるゲームでは、オブジェクト表示機能において、複数のオブジェクトが、オブジェクトに対応する画像データを用いて画像表示部に表示される。加速度データ認識機能においては、コントローラから連続的に出力される加速度データが制御部により認識される。時間間隔データ認識機能においては、コントローラから連続的に出力される加速度データの時間間隔が時間間隔データとして制御部により認識される。速度データ算出機能においては、制御部に認識された加速度データおよび時間間隔データに基づいて、コントローラの速度の大きさデータが制御部により算出される。オブジェクト移動速度データ算出機能においては、コントローラの速度の大きさデータに基づいて、オブジェクトの速度の大きさデータが制御部により算出される。オブジェクト移動状態表示機能においては、画像表示部に表示された複数のオブジェクトの少なくとも１つが３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、オブジェクトに対応する画像データを用いて画像表示部に連続的に表示される。範囲データ認識機能においては、３次元ゲーム空間における複数のオブジェクトの表示範囲内の座標データが制御部により認識される。オブジェクト一致判断機能においては、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かが制御部により判断される。振動制御データ算出機能においては、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。振動制御データ発行機能においては、振動制御データをコントローラに出力する命令が制御部により発行される。
【０００８】
このゲームプログラムによって実現される野球ゲームを例にすると、まず、複数のオブジェクトたとえば打者キャラクタ（バットキャラクタを含む）およびボールキャラクタが、各キャラクタに対応する画像データを用いて画像表示部に表示される。また、コントローラから連続的に出力される加速度データが制御部により認識される。そして、コントローラから連続的に出力される加速度データの時間間隔が時間間隔データとして制御部により認識される。そして、制御部に認識された加速度データおよび時間間隔データに基づいて、コントローラの速度の大きさデータが制御部により算出される。そして、コントローラの速度の大きさデータに基づいて、バットキャラクタの速度の大きさデータが制御部により算出される。すると、画像表示部に表示されたバットキャラクタが３次元ゲーム空間においてバットの速度の大きさデータにより規定される速度で移動する状態が、バットキャラクタに対応する画像データを用いて画像表示部に連続的に表示される。また、３次元ゲーム空間におけるバットキャラクタおよびボールキャラクタの表示範囲内の座標データが制御部により認識される。すると、３次元ゲーム空間においてバットの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データがボールキャラクタの表示範囲内の座標データに一致したか否かが制御部により判断される。そして、３次元ゲーム空間においてバットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内の座標データがボールキャラクタの表示範囲内の座標データに一致すると制御部により判断された場合（バットでボールが捉えられた場合）に、バットの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行される。すると、この振動制御データを受け付けた振動機構によって、コントローラが振動させられる。
【０００９】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動してバットキャラクタを移動させることができる。そして、バットキャラクタによってボールキャラクタを捉えることができたときに、バットキャラクタの速度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、バットキャラクタの速度に応じてコントローラを振動させることができるようになる。すなわち、移動したオブジェクト（バット）が他のオブジェクト（ボール）に接触したときに、オブジェクト（バット）の速度に応じてコントローラを振動機構により振動させることができる。
【００１０】
請求項２に係るビデオゲームプログラムでは、請求項１に記載のゲームプログラムにおいて、以下の機能がさらに実現される。
（１１）３次元ゲーム空間において他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示する他オブジェクト移動状態表示機能。
【００１１】
このプログラムによって実現されるゲームでは、他オブジェクト移動状態表示機能において、３次元ゲーム空間において他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示される。すると、振動制御データ算出機能において、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度および他のオブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。
【００１２】
このゲームプログラムによって実現される野球ゲームを例にすると、３次元ゲーム空間においてボールキャラクタがボールキャラクタの速度の大きさデータにより規定される速度で移動する状態が、ボールキャラクタに対応する画像データを用いて画像表示部に連続的に表示される。すると、３次元ゲーム空間において、速度の大きさデータにより規定される速度で移動するバットキャラクタの表示範囲内の座標データが、速度の大きさデータにより規定される速度で移動するボールキャラクタの表示範囲内の座標データに一致すると制御部により判断された場合（バットでボールが捉えられた場合）に、バットキャラクタの速度の大きさデータにより規定される速度およびボールキャラクタの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行され、この振動制御データを受け付けた振動機構によってコントローラが振動させられる。
【００１３】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動してバットキャラクタを移動させることができる。そして、バットキャラクタによってボールキャラクタを捉えることができたときに、バットキャラクタの速度およびボールキャラクタの速度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、バットキャラクタの速度およびボールキャラクタの速度に応じて、コントローラを振動させることができるようになる。すなわち、移動するオブジェクト（バット）が他のオブジェクト（ボール）に接触したときに、オブジェクト（バット）の速度および他のオブジェクト（ボール）の速度に応じて、コントローラを振動機構により振動させることができる。
【００１４】
請求項３に係るビデオゲームプログラムでは、請求項１又は２に記載のゲームプログラムにおいて、以下の機能がさらに実現される。
（１２）３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する、記憶部に格納された前記オブジェクト用の硬度データにより規定される硬度、および他のオブジェクトに対応する、記憶部に格納された他のオブジェクト用の硬度データにより規定される硬度、の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能。
【００１５】
このプログラムによって実現されるゲームでは、オブジェクト硬度認識機能において、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度が制御部により認識される。すると、振動制御データ算出機能において、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。
【００１６】
このゲームプログラムによって実現される格闘ゲームにおいて剣を有する戦士が相手の戦士に斬りかかるような場合を例にすると、３次元ゲーム空間において剣の速度の大きさデータにより規定される速度で移動する剣キャラクタの硬度と相手戦士キャラクタの硬度たとえば相手戦士キャラクタの甲冑の硬度とを制御部に認識させることにより、３次元ゲーム空間において速度の大きさデータにより規定される速度で移動する剣キャラクタの表示範囲内の座標データが相手戦士キャラクタの表示範囲内の座標データに一致すると制御部により判断された場合に、剣キャラクタの速度の大きさデータにより規定される速度と剣キャラクタの硬度および相手戦士キャラクタの甲冑の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行され、この振動制御データを受け付けた振動機構によってコントローラが振動させられる。
【００１７】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動して剣キャラクタを移動させることができる。そして、剣キャラクタによって相手戦士キャラクタを斬りつけることができたときに、剣キャラクタの速度、剣キャラクタの硬度、および相手戦士の甲冑の硬度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、コントローラを振動させることができる。すなわち、移動するオブジェクト（剣）が他のオブジェクト（相手戦士）に接触したときに、オブジェクト（剣）の速度、オブジェクト（剣）の硬度、および他のオブジェクト（相手戦士）の硬度に応じて、コントローラを振動機構により振動させることができる。
【００１８】
請求項４に係るビデオゲームプログラムでは、請求項１に記載のゲームプログラムにおいて、以下の機能がさらに実現される。
（１１）３次元ゲーム空間において他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示する他オブジェクト移動状態表示機能。
（１２）３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する、記憶部に格納されたオブジェクト用の硬度データにより規定される硬度、および他のオブジェクトに対応する、記憶部に格納された他のオブジェクト用の硬度データにより規定される硬度、の少なくともいずれか一方の硬度を制御部に認識させるオブジェクト硬度認識機能。
【００１９】
このプログラムによって実現されるゲームでは、他オブジェクト移動状態表示機能において、３次元ゲーム空間において他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示される。そして、オブジェクト硬度認識機能において、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度が制御部により認識される。すると、振動制御データ算出機能において、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度と、他のオブジェクトの速度の大きさデータにより規定される速度と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。
【００２０】
このゲームプログラムによって実現される格闘ゲームにおいて剣を有する第１戦士と剣を有する第２戦士とが互いに斬りかかるような場合を例にすると、３次元ゲーム空間において速度の大きさデータにより規定される速度で移動する第１戦士の剣キャラクタの硬度と速度の大きさデータにより規定される速度で移動する第２戦士の剣キャラクタの硬度とを制御部に認識させる。これにより、３次元ゲーム空間において速度の大きさデータにより規定される速度で移動する第１戦士の剣キャラクタの表示範囲内の座標データが第２戦士の剣キャラクタの表示範囲内の座標データに一致すると制御部により判断された場合に、第１戦士の剣の速度の大きさデータにより規定される速度と、第２戦士の剣の速度の大きさデータにより規定される速度と、速度の大きさデータにより規定される速度で移動する第１戦士の剣の硬度と、速度の大きさデータにより規定される速度で移動する第２戦士の剣の硬度とに応じて、コントローラの振動を制御するための振動制御データが制御部により算出される。そして、振動制御データをコントローラに出力する命令が制御部により発行され、この振動制御データを受け付けた振動機構によってコントローラが振動させられる。
【００２１】
このゲームプログラムでは、加速度センサおよび振動機構が内蔵されたコントローラの移動に連動して第１戦士の剣キャラクタを移動させることができる。このとき、第１戦士の剣キャラクタはＡＩによって制御され移動させられる。そして、第１戦士と第２戦士とが互いに斬りあい、第１戦士の剣キャラクタと第２戦士の剣キャラクタとが接触したときに、第１戦士の剣の速度、第２戦士の剣の速度、第１戦士の剣の硬度、および第２戦士の剣の硬度に応じたコントローラ用振動制御データが算出され、このコントローラ用振動制御データが制御部からコントローラの振動機構へと出力される。これにより、コントローラを振動させることができる。すなわち、移動するオブジェクト（第１戦士の剣）が移動する他のオブジェクト（第２戦士の剣）に接触したときに、オブジェクト（第１戦士の剣）の速度、他のオブジェクト（第２戦士の剣）の速度、オブジェクト（第１戦士の剣）の硬度、および他のオブジェクト（第２戦士の剣）の硬度に応じて、コントローラを振動機構により振動させることができる。
【００２２】
請求項５に係るビデオゲーム装置は、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームを実行可能なゲーム装置である。このビデオゲーム装置は、複数のオブジェクトを、オブジェクトに対応する画像データを用いて画像表示部に表示するオブジェクト表示手段と、コントローラから連続的に出力される加速度データを制御部に認識させる加速度データ認識手段と、コントローラから連続的に出力される加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識手段と、制御部に認識された加速度データおよび時間間隔データに基づいてコントローラの速度の大きさデータを制御部に算出させる速度データ算出手段と、コントローラの速度の大きさデータに基づいてオブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出手段と、画像表示部に表示された複数のオブジェクトの少なくとも１つが３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動する状態をオブジェクトに対応する画像データを用いて画像表示部に連続的に表示するオブジェクト移動状態表示手段と、３次元ゲーム空間における複数のオブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識手段と、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断手段と、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出手段と、振動制御データをコントローラに出力する命令を制御部に発行させる振動制御データ発行手段と、を備えている。
【００２３】
請求項６に係るビデオゲーム制御方法は、画像表示部に複数のオブジェクトを表示し、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラを振動機構により振動させるビデオゲームを制御可能なゲーム制御方法である。このビデオゲーム制御方法は、複数のオブジェクトをオブジェクトに対応する画像データを用いて画像表示部に表示するオブジェクト表示ステップと、コントローラから連続的に出力される加速度データを制御部に認識させる加速度データ認識ステップと、コントローラから連続的に出力される加速度データの時間間隔を時間間隔データとして制御部に認識させる時間間隔データ認識ステップと、制御部に認識された加速度データおよび時間間隔データに基づいてコントローラの速度の大きさデータを制御部に算出させる速度データ算出ステップと、コントローラの速度の大きさデータに基づいてオブジェクトの速度の大きさデータを制御部に算出させるオブジェクト移動速度データ算出ステップと、画像表示部に表示された複数のオブジェクトの少なくとも１つが３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、オブジェクトに対応する画像データを用いて画像表示部に連続的に表示するオブジェクト移動状態表示ステップと、３次元ゲーム空間における複数のオブジェクトの表示範囲内の座標データを制御部に認識させる範囲データ認識ステップと、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部に判断させるオブジェクト一致判断ステップと、３次元ゲーム空間においてオブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラの振動を制御するための振動制御データを制御部に算出させる振動制御データ算出ステップと、振動制御データをコントローラに出力する命令を制御部に発行させる振動制御データ発行ステップと、を備えている。
【発明の効果】
【００２４】
本発明では、加速度センサおよび振動機構が内蔵されたコントローラが移動したときに加速度センサが検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときに、振動制御データを制御部に算出させることによりコントローラを振動機構により振動させることができる。
【発明を実施するための最良の形態】
【００２５】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００２６】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５と、コントローラ２５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４、操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００２７】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００２８】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ（Random Access Memory）１２とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００２９】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００３０】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００３１】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００３２】
操作入力部５は、主に、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。操作情報インターフェース回路１８には、コントローラ２５が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００３３】
コントローラ２５は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ２５には、加速度センサ２４および振動機構たとえば振動モータ２６が内蔵されている。
【００３４】
加速度センサ２４には、たとえば、ピエゾ抵抗型、静電容量型、および磁気センサ型等がある。このような加速度センサ２４は、コントローラ２５が移動したときに、コントローラ２５の移動に応じて加速度の大きさが測定され出力される。ここで用いられている加速度センサ２４は、３軸加速度センサであり、コントローラ２５の移動に応じて３軸方向の加速度の大きさが測定され出力される。すなわち、コントローラ２５が移動すると、加速度センサ２４から３軸方向の加速度の大きさが加速度データとして、コントローラ２５から操作入力部５へと出力される。この加速度データを制御部１に認識・処理させることにより、３次元空間におけるコントローラ２５の動きを制御部１に認識させることができる。
【００３５】
振動モータ２６には、たとえば、円筒型とボタン型とがある。この振動モータ２６では、制御部１からの振動制御データを操作入力部５において変換したモータ用信号が操作入力部５から入力されたときに、モータ用信号に対応する回転数でモータ回転子が回転する。そして、このモータ回転子の回転数に応じて振動モータ２６が振動する。
【００３６】
また、コントローラ２５には、たとえば、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒからなる十字方向キーが設けられている。上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒでは、例えば、キャラクタ、オブジェクト、およびカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させることができる。上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒが操作されると、各キーに対応する操作信号がコントローラ２５から操作入力部５へと出力され、この操作信号に対応したコマンドが制御部１に認識される。
【００３７】
なお、コントローラ２５の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００３８】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００３９】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路１３を介してＤ／Ａコンバータ１７に供給される。ここで、画像データがＤ／Ａコンバータ１７でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００４０】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００４１】
〔ゲーム装置における各種処理概要〕
本ゲーム機１において実行されるゲームは、たとえば野球ゲームである。本ゲーム機１は、画像表示部３のテレビジョンモニタ２０に複数のオブジェクトを表示し、加速度センサ２４および振動モータ２６が内蔵されたコントローラ２５が移動したときに加速度センサ２４が検知した加速度データに基づいてオブジェクトを移動させ、移動したオブジェクトが他のオブジェクトに接触したときにコントローラ２５を振動モータ２６により振動させるビデオゲームを実現可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
【００４２】
オブジェクト表示手段５０は、複数のオブジェクトを、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に表示する機能を備えている。オブジェクト表示手段５０では、複数のオブジェクトが、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に表示される。
【００４３】
加速度データ認識手段５１は、コントローラ２５から入力部に連続的に入力される加速度データを制御部１に認識させる機能を備えている。加速度データ認識手段５１では、コントローラ２５から入力部に連続的に入力される加速度データが制御部１により認識される。詳細には、加速度データ認識手段５１では、制御部１に認識された加速度データの値が所定の値以上であるか否かを制御部１に判断させ、制御部１に認識された加速度データの値が所定の値以上であると制御部１に判断された場合に、加速度データが制御部１により認識される。この場合、制御部に認識された加速度データが所定の値以上であると制御部により判断された場合に、加速度データが制御部により認識されるようになっているので、プレイヤがコントローラを微妙に移動させてしまったとしても、コントローラの移動に連動してオブジェクトたとえばバットが移動することがないようにすることができる。すなわち、プレイヤが思わずコントローラを移動させてしまったときの誤操作を防止することができる。
【００４４】
時間間隔データ認識手段５２は、コントローラ２５から入力部に連続的に入力される加速度データの時間間隔を時間間隔データとして制御部１に認識させる機能を備えている。時間間隔データ認識手段５２では、コントローラ２５から入力部に連続的に入力される加速度データの時間間隔が時間間隔データとして制御部１により認識される。
【００４５】
速度データ算出手段５３は、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の速度の大きさデータを制御部１に算出させる機能を備えている。速度データ算出手段５３では、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の速度の大きさデータが制御部１により算出される。また、速度データ算出手段５３は、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の位置データを制御部１に算出させる機能を備えている。速度データ算出手段５３では、制御部１に認識された加速度データおよび時間間隔データに基づいて、コントローラ２５の位置データが制御部１により算出される。詳細には、速度データ算出手段５３では、操作入力部５に連続的に入力される加速度データを時間間隔データを用いて制御部１に積分計算させることにより、コントローラ２５の速度の大きさデータが制御部１により算出される。そして、速度の大きさデータを時間間隔データを用いて制御部１に積分計算させることにより、コントローラ２５の位置データが制御部１により算出される。
【００４６】
オブジェクト移動速度データ算出手段５４は、コントローラ２５の速度の大きさデータに基づいて、オブジェクトの速度の大きさデータを制御部１に算出させる機能を備えている。オブジェクト移動速度データ算出手段５４では、コントローラ２５の速度の大きさデータに基づいて、オブジェクトの速度の大きさデータが制御部１により算出される。詳細には、オブジェクト移動速度データ算出手段５４では、コントローラ２５の速度の大きさデータに対応するオブジェクトの速度の大きさデータが制御部１により算出される。より詳細には、オブジェクト移動速度データ算出手段５４では、コントローラ２５の速度の大きさデータに画像表示用の修正係数を乗じる計算が制御部１により実行されることにより、オブジェクトの速度の大きさデータが制御部１により算出される。なお、本実施形態では、コントローラ２５の速度の大きさデータに画像表示用の修正係数を乗じることによりオブジェクトの速度の大きさデータが算出される場合の例を示すが、コントローラ２５の速度の大きさと画像表示部３のテレビジョンモニタ２０におけるオブジェクトの速度の大きさ（速度の大きさに修正係数を乗じた速度）との対応テーブルをゲームプログラムにおいて規定しておき、ゲームプログラムのロード時に記録媒体１０から記憶部２に供給される対応テーブルに基づいて、速度の大きさデータに対応するオブジェクトの移動速度データが制御部１により選択されるようにしても良い。
【００４７】
他オブジェクト速度データ認識手段５５は、他のオブジェクトの速度の大きさデータを制御部１に認識させる機能を備えている。他オブジェクト速度データ認識手段５５では、他のオブジェクトの速度の大きさデータが制御部１により認識される。ここで、他のオブジェクトの速度の大きさデータは、コントローラ２５において他のオブジェクトの速度に関する操作が行われたときに、従来と同様の方法で速度の大きさデータが制御部１により算出される。
【００４８】
他オブジェクト位置データ認識手段５６は、他のオブジェクトの位置データを制御部１に認識させる機能を備えている。他オブジェクト位置データ認識手段５６では、他のオブジェクトの位置データが制御部１により認識される。
【００４９】
オブジェクト移動状態表示手段５７は、画像表示部３のテレビジョンモニタ２０に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示する機能を備えている。オブジェクト移動状態表示手段５７では、画像表示部３のテレビジョンモニタ２０に表示された複数のオブジェクトの少なくとも１つがオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、オブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示される。
【００５０】
他オブジェクト移動状態表示手段５８は、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示する機能を備えている。他オブジェクト移動状態表示手段５８では、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態が、他のオブジェクトに対応する画像データを用いて画像表示部３のテレビジョンモニタ２０に連続的に表示される。
【００５１】
範囲データ認識手段５９は、複数のオブジェクトの表示範囲内の座標データを制御部１に認識させる機能を備えている。範囲データ認識手段５９では、複数のオブジェクトの表示範囲内の座標データが制御部１により認識される。
【００５２】
オブジェクト一致判断手段６０は、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かを制御部１に判断させる機能を備えている。オブジェクト一致判断手段６０では、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致したか否かが制御部１により判断される。
【００５３】
振動制御データ算出手段６１は、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データを制御部１に算出させる機能を備えている。
【００５４】
振動制御データ算出手段６１では、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データが制御部１により算出される。詳細には、振動制御データ算出機能では、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度および他のオブジェクトの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データが制御部１より算出される。
【００５５】
振動制御データ発行手段６２は、振動制御データをコントローラ２５に出力する命令を制御部１に発行させる機能を備えている。振動制御データ発行手段６２では、振動制御データをコントローラ２５に出力する命令が制御部１により発行される。
【００５６】
〔野球ゲームにおける打撃振動制御システムの概要と各種処理フロー〕
ここでは、野球ゲームにおける打撃振動制御システムについて説明する。また、図？に示した打撃振動制御システムのフローについても同時に説明する。
【００５７】
本野球ゲームにおいて、プレイヤが打者キャラクタを操作する場合、図３に示すように、投手キャラクタ７１と、バットを有する打者キャラクタ７２と、基準状態のミートカーソル領域８０とが、テレビジョンモニタ２０に表示される（Ｓ１）。ここで、基準状態のミートカーソル領域８０を規定する初期範囲データはゲームプログラムにおいて予め定められており、このミートカーソル領域８０の初期範囲データが記憶部２から読み出され制御部１に認識される。
【００５８】
このとき、コントローラ２５の投球開始対応ボタン（図示しない）が押されたときにコントローラ２５から発行される信号が制御部１に受け付けられると、投手キャラクタ７１に投球を開始させるためのコマンドがゲームプログラムに基づいて制御部１から発行される。すると、投手キャラクタ７１が投球動作する状態が、投手キャラクタ７２に対応する画像データたとえばポリゴンデータを連続的に移動させることにより、テレビジョンモニタ２０に表示される（Ｓ２）。そして、投手キャラクタ７１の所定の投球動作が終了すると、投手キャラクタ７１からボールをリリースさせるためのコマンドが制御部１に認識される（Ｓ３）。
【００５９】
すると、投手キャラクタ７１からリリースされたボールの速度の大きさデータＶＢおよび位置データの認識を制御部１が開始する（Ｓ４）。ここで、ボールキャラクタ７４の位置データは、ボールの中心点（基準点）Ｂｍ１を示す基準座標データおよびボールの表示範囲内の座標データからなっている。そして、投手キャラクタ７１からリリースされたボールキャラクタ７４が投手キャラクタ７１から打者キャラクタ７２へと移動する状態が、ボールの基準点Ｂｍ１を示す基準座標データに基づいて、テレビジョンモニタ２０に表示される（Ｓ５）。この状態は、ボールキャラクタ７４に対応する画像データを投手キャラクタ７１から打者キャラクタ７２に向けて移動させることにより実現され、このときのボールキャラクタ７４の移動は、ボールの基準点Ｂｍ１を基準にして制御部１に制御される。
【００６０】
投手キャラクタ７１からリリースされたボールキャラクタ７４が投手キャラクタ７１から打者キャラクタ７２へと移動する状態がテレビジョンモニタ２０に表示されているときに、図４に示すように、プレイヤがコントローラ２５を移動させると（たとえば、プレイヤがコントローラ２５を持った状態でプレイヤがコントローラ２５とともに腕をスイングすると：Ｓ６）、コントローラ２５に内蔵された加速度センサ２４が検知した加速度データＧが、コントローラ２５から操作入力部５に連続的に出力され操作入力部５に入力される（Ｓ７）。
【００６１】
すると、操作入力部５に入力された加速度データＧの絶対値が所定の値以上であるか否かが制御部１により判断され（Ｓ８）、加速度データＧの絶対値が所定の値以上であると制御部１に判断された場合（Ｓ８でＹｅｓ）、加速度データＧが制御部１により認識される（Ｓ９）。すると、バットが打者キャラクタ７２とともに移動する状態すなわち打者キャラクタ７２がバットスイングする状態の表示開始コマンドが、制御部１から画像表示部３に発行される。ここで、操作入力部５に入力された加速度データＧの絶対値が所定の値未満であると制御部１に判断された場合（Ｓ８でＮｏ）、加速度データＧが制御部１により認識されない（Ｓ１０）。すなわち、バットは打者キャラクタ７２とともに移動しない（打者キャラクタ７２はバットスイングしない。）
加速度データＧが制御部１により順次認識されると、操作入力部５に連続的に入力される加速度データＧの時間間隔が、時間間隔データｄｔとして制御部１により認識される（Ｓ１１）。すると、図５に示すように、制御部１に認識された加速度データＧが時間間隔データｄｔを用いて制御部１により積分計算され、コントローラ２５の速度の大きさデータＶが制御部１により算出される（Ｓ１２）。また、このコントローラ２５の速度の大きさデータＶが時間間隔データｄｔを用いて制御部１により積分計算され、コントローラ２５の位置データＸが制御部１により算出される（Ｓ１３）。
【００６２】
すると、コントローラ２５の速度の大きさデータＶに画像表示用の修正係数αを乗じる計算が制御部１により実行され、バットの速度の大きさデータＶＢＴ（α・Ｖ）が制御部１により算出される（Ｓ１４）。そして、コントローラ２５の位置データＸを画像表示部３のテレビジョンモニタ２０の位置データＸ’に変換する計算が制御部１により実行される（図６参照：Ｓ１５）。すると、バットが位置データＸ’により規定される位置においてバットの速度の大きさデータＶＢＴにより規定された速度で移動する状態すなわち打者キャラクタ７２とともに移動するバットの移動状態（バットスイング状態）が、バットに対応する画像データたとえばポリゴンデータを画像表示部３のテレビジョンモニタ２０において移動させることによりテレビジョンモニタ２０に連続的に表示される（Ｓ１６）。このとき、バットキャラクタ７３の位置データが制御部１により認識される（Ｓ１７）。ここで、バットキャラクタ７３の位置データは、バットの基準点Ｂｍ２を示す座標データおよびバットの表示範囲内の座標データからなっている。ここでは、バットキャラクタの位置データデータには、バットキャラクタの表示領域におけるミートカーソル領域の位置データが対応している。
【００６３】
このバットキャラクタがテレビジョンモニタ２０に表示された状態は、バットキャラクタ７３がバットの速度の大きさデータＶＢＴにより規定された速度で移動するように、打者キャラクタ７２およびバットキャラクタ７３の画像データたとえばポリゴンデータを、描画時間間隔データにより規定される描画時間間隔でテレビジョンモニタ２０に連続的に移動させることにより実現される。この描画時間間隔データは、速度の大きさデータに応じて制御部１により調整される。たとえば、ゲーム画面におけるバットの基準移動速度の大きさと基準描画時間間隔たとえば０．０２秒とをゲームプログラムにおいて規定しておき、この基準状態を基準にして、バットの移動速度が基準移動速度より速い場合すなわちバットの移動速度の大きさが基準移動速度の大きさより大きい場合は、０．０２秒間隔よりも小さい時間間隔で、ポリゴンデータがテレビジョンモニタ２０に表示される。一方で、バットの移動速度が基準移動速度より遅い場合すなわちバットの移動速度の大きさが基準移動速度の大きさより小さい場合は、０．０２秒間隔よりも大きい時間間隔で、ポリゴンデータがテレビジョンモニタ２０に表示される。このときの描画時間間隔は、基準移動速度に対する、算出されたバットの速度の大きさの割合（比率）を基準時間間隔に乗じることにより算出される。
【００６４】
このようにバットキャラクタがテレビジョンモニタ２０に表示された後、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内の座標データがボールの表示範囲内の座標データに一致したか否かが制御部１により判断される（Ｓ１８）。具体的には、バットでボールを捉えられた否かが制御部１により判断される。そして、図７に示すように、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内（ミートカーソル８０の領域内）の座標データがボールキャラクタ７４の表示範囲内の座標データに一致したと制御部１により判断された場合（Ｓ１８でＹｅｓ）、ボールキャラクタ７４の基準点Ｂｍ１とバットキャラクタの基準点Ｂｍ２との基準点間距離ｌｍが制御部１により算出される（Ｓ１９）。すると、この基準点間距離ｌｍ、ボールの速度の大きさデータにより規定される速度ＶＢ、およびバットの速度の大きさデータにより規定される速度に応じて、コントローラ２５の振動を制御するための振動制御データＳが制御部１により算出される（Ｓ２０）。すると、この振動制御データＳをコントローラ２５に出力する命令が制御部１から発行される（Ｓ２１）。一方で、バットの速度の大きさデータにより規定される速度で移動するバットの表示範囲内の座標データがボールの表示範囲内の座標データに一致しないと制御部１により判断された場合（Ｓ１８でＮｏ）、基準点間距離ｌｍの計算は制御部１により実行されない。
【００６５】
〔野球ゲームにおける打撃振動制御システムの各手段における処理内容および補足説明〕
・速度データ算出手段
３軸方向の加速度の大きさからなる加速度データＧが制御部１により認識され、コントローラ２５から操作入力部５に連続的に入力される加速度データＧ（ｇｘ，ｇｙ，ｇｚ，ｔ）の時間間隔が時間間隔データｄｔとして制御部１により認識されると、図５に示すように、コントローラ２５から操作入力部５に連続的に入力された加速度データＧが時間間隔データｄｔを用いて制御部１により積分計算され、コントローラ２５の３軸方向の速度の大きさデータＶ（ｖｘ，ｖｙ，ｖｚ，ｔ）が制御部１により算出される。たとえば、まず時刻ｔ１に制御部１に加速度データＧ１（ｇｘ１，ｇｙ１，ｇｚ１，ｔ１）が認識され、次に時刻ｔ２に制御部１に加速度データＧ２（ｇｘ２，ｇｙ２，ｇｚ２，ｔ２）が認識された場合、∫［Ｇ２（ｇｘ２，ｇｙ２，ｇｚ２，ｔ２）−Ｇ１（ｇｘ１，ｇｙ１，ｇｚ１，ｔ１）]・ｄｔという計算を時刻ｔ２と時刻ｔ１の間で制御部１に実行させることにより、コントローラ２５の速度の大きさデータＶ１（ｖｘ１，ｖｙ１，ｖｚ１，ｔ１）が制御部１により算出される。同様に、時刻ｔ２に続く時刻ｔ３に制御部１に加速度データＧ３（ｇｘ３，ｇｙ３，ｇｚ３，ｔ３）が認識された場合、∫［Ｇ３（ｇｘ３，ｇｙ３，ｇｚ３，ｔ３）−Ｇ２（ｇｘ２，ｇｙ２，ｇｚ２，ｔ２）]・ｄｔという計算を時刻ｔ３と時刻ｔ２との間で制御部１に実行させることにより、コントローラ２５の速度の大きさデータＶ２（ｖｘ２，ｖｙ２，ｖｚ２，ｔ２）が制御部１により算出される。また、時刻ｔ３に続く時刻ｔ４に制御部１に加速度データＧ４（ｇｘ４，ｇｙ４，ｇｚ４，ｔ４）が認識された場合、∫［Ｇ４（ｇｘ４，ｇｙ４，ｇｚ４，ｔ４）−Ｇ３（ｇｘ３，ｇｙ３，ｇｚ３，ｔ３）]・ｄｔという計算を時刻ｔ４と時刻ｔ３の間で制御部１に実行させることにより、コントローラ２５の速度の大きさデータＶ３（ｖｘ３，ｖｙ３，ｖｚ３，ｔ３）が制御部１により算出される。
【００６６】
このように算出されたコントローラ２５の速度の大きさデータＶが時間間隔データｄｔを用いて制御部１によりさらに積分計算されると、コントローラ２５の位置データＸが制御部１により算出される。たとえば、∫［Ｖ２（ｖｘ２，ｖｙ２，ｖｚ２，ｔ２）−Ｖ１（ｖｘ１，ｖｙ１，ｖｚ１，ｔ１）］・ｄｔという計算を時刻ｔ２と時刻ｔ１との間で制御部１に実行させることにより、コントローラ２５の位置データＸ１（ｘ１，ｙ１，ｚ１，ｔ１）が制御部１により算出される。同様に、∫［Ｖ３（ｖｘ３，ｖｙ３，ｖｚ３，ｔ３）−Ｖ２（ｖｘ２，ｖｙ２，ｖｚ２，ｔ２）］・ｄｔという計算を時刻ｔ３と時刻ｔ２との間で制御部１に実行させることにより、コントローラ２５の位置データＸ２（ｘ２，ｙ２，ｚ２，ｔ２）が制御部１により算出される。
【００６７】
コントローラ２５の加速度データＧが制御部１に認識されたときに、上記のような一連の計算を制御部１に実行させることにより、コントローラ２５の加速度データＧに基づいて、各時刻のコントローラ２５の速度の大きさデータおよび位置データを算出することができる。
【００６８】
なお、上記のコントローラ２５の速度の大きさデータＶおよび位置データＸを算出するにあたり、コントローラ２５の加速度データＧが制御部に最初に認識された時刻ｔｓが、計算開始時刻となる。また、修正されたミートカーソル領域８０の範囲データの領域内座標データにより規定される座標がボールの範囲内座標データにより規定されるボールの表示範囲内座標データの少なくとも一つに一致すると制御部１により判断されたとき、すなわちバットでボールが捉えられたときの時刻ｔｅが、計算終了時刻となる。
・オブジェクト移動速度データ算出手段
バットの速度の大きさデータＶＢＴは、コントローラ２５の速度の大きさデータＶに画像表示用の修正係数αを乗じる計算を制御部１に実行させることにより算出される。この処理は、実際に移動させたコントローラ２５の加速度データＧに基づいて算出された速度の大きさデータを、ゲームにおいて用いられるバットの移動速度へと修正するために行われる処理である。たとえば、上記のように算出されたコントローラ２５の速度の大きさデータＶ１，Ｖ２に修正係数α（定数）又はコントローラ２５の速度の大きさデータＶ１，Ｖ２に応じた修正係数すなわちコントローラ２５の速度の大きさデータＶを変数とした修正係数α（Ｖ）を乗じる計算を制御部１に実行させることにより、バットの速度の大きさデータＶＢＴが制御部１により算出される。
・オブジェクト移動状態表示手段
上記のように算出されたコントローラ２５の位置データＸ１，Ｘ２は、図６に示すように、テレビジョンモニタ２０用の位置データＸ’１，Ｘ’２へと変換される。コントローラ２５の位置データＸ１，Ｘ２は３次元実空間（プレイヤがコントローラ２５とともに腕をスイングする空間）における座標であるため、ここでは、コントローラ２５の位置データＸ１，Ｘ２を３次元ゲーム空間におけるテレビジョンモニタ２０用の位置データＸ’１，Ｘ’２に変換する計算が制御部１により実行される。この変換は、３次元実空間から３次元ゲーム空間への写像変換を制御部１に実行させることにより行われる。たとえば、この変換は、ゲームプログラムにおいて予め決定された写像関数ｆを用いて、Ｘ’（ｘ’，ｙ’，ｚ’）＝ｆ・Ｘ（ｘ，ｙ，ｚ）という計算を制御部１に実行させることにより行われる。この３次元ゲーム空間のバットの位置データＸ’１，Ｘ’２により規定される位置において、バットキャラクタ７３がバットの速度の大きさデータにより規定される速度ＶＢＴで移動する状態が、テレビジョンモニタ２０に表示される。
・オブジェクト一致判断手段・振動制御データ算出手段
まず、バットの速度の大きさデータにより規定される速度ＶＢＴで移動するバットの表示範囲内の座標が、ボールの速度の大きさデータにより規定される速度ＶＢで移動するボールの表示範囲内の座標の少なくとも１つに一致したか否かが制御部１により判断される。具体的には、バットキャラクタ７３の所定の領域とボールキャラクタ７４の表示領域との重なる部分が生じたか否かすなわちバットでボールを捉えられた否かが制御部１により判断される。そして、バットの表示範囲内の座標がボールの表示範囲内の座標の少なくとも１つに一致したと制御部１により判断された場合には、図７に示すように、ボールキャラクタ７４の基準点Ｂｍ１とバットキャラクタ７３の基準点Ｂｍ２との基準点間距離ｌｍが制御部１により算出される。すると、バットの速度の大きさデータにより規定される速度ＶＢＴとボールの速度の大きさデータにより規定される速度ＶＢとを合成する計算を制御部１に実行させ、図８に示すように、合成速度ＶＧを規定する合成速度データが制御部１により算出される。
【００６９】
ここでは、ボールのベクトルデータの方向を反転する計算が制御部１に実行される。そして、バットの基準点Ｂｍ２からボールの基準点Ｂｍ１へとバットのベクトルデータの基点を移動する計算を制御部１に実行させる。そして、ボールの基準点Ｂｍ１におけるバットおよびボールのベクトルデータを合成する計算が制御部１に実行される。このようにして、バットにより打ち返されたボールの速度と方向とを規定する合成ベクトルが、制御部１により算出される。なお、各ベクトルは、バットでボールを捉えられたときのボールキャラクタ７４およびバットキャラクタ７３それぞれの速度の大きさおよび移動方向の２点間座標に基づいて、制御部１により算出される。
【００７０】
すると、図９に示すように、基準点間距離ｌｍに対応する第１パラメータγ１が第１対応テーブルに基づいて制御部１により選択される。そして、合成速度ＶＧと第１パラメータγ１との組み合わせに応じて、第２パラメータγ２が第２対応テーブルに基づいて制御部１により選択される。そして、第２パラメータγ２と振動制御データＳとの対応テーブル（ここでは第２対応テーブル）に基づいて、振動制御データＳが制御部１により選択される。ここでは、振動制御データＳが１から７までの値を有している。これら振動制御データＳは、振動モータ２６を振動させるときの程度を示す指標になっており、振動制御データＳの値が大きくなればなるほど振動モータ２６の回転数が大きくなる。この振動制御データＳが制御部１から操作入力部５へと供給されると、操作入力部５において振動制御データＳに対応するモータ用信号に変換され、モータ用信号に対応する回転数で振動モータ２６が回転する。すなわち、コントローラ２５が振動する。
【００７１】
具体的には、基準点間距離ｌｍがゼロの場合はボールをバットの真芯で捉えられたことになる。このため、合成速度ＶＧの大小にかかわらず、コントローラ２５の振動は小さくなる。また、基準点間距離ｌｍがゼロより大きくなればなるほど、ボールをバットの芯で捉えられなかったことになり、合成速度ＶＧの大きさに応じて、コントローラ２５の振動は大きくなる。
【００７２】
〔他の実施形態〕
（ａ）  前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【００７３】
（ｂ）  本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【００７４】
（ｃ）  前記実施形態では、基準点間距離ｌｍおよび合成速度の大きさに応じてコントローラ２５の振動の程度が変化する場合の例を示したが、コントローラ２５の振動の程度は、基準点間距離ｌｍを用いずバットの速度の大きさや合成速度の大きさに応じてのみ変化させるようにしても良い。
【００７５】
（ｄ）  前記実施形態では、合成速度の大きさに応じてコントローラ２５の振動の程度が変化する場合の例を示したが、オブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部１に認識させるオブジェクト硬度認識機能をさらに備えるゲームプログラムによって、移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度とオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラ２５の振動を制御するための振動制御データを制御部１に算出させるようにしても良い。
【００７６】
この場合、たとえば格闘ゲームにおいて、加速度センサ２４および振動モータ２６が内蔵されたコントローラ２５の移動に連動して剣キャラクタを移動させ、剣キャラクタによって相手戦士キャラクタを斬りつけることができたときに、剣キャラクタの速度、剣キャラクタの硬度、および相手戦士の甲冑の硬度に応じたコントローラ用振動制御データが算出される。そして、このコントローラ用振動制御データが制御部１からコントローラ２５の振動機構たとえば振動モータ２６へと出力される。これにより、コントローラ２５を振動させることができる。
【００７７】
（ｅ）  前記実施形態では、合成速度の大きさに応じてコントローラ２５の振動の程度が変化する場合の例を示したが、他のオブジェクトが他のオブジェクトの速度の大きさデータにより規定される速度で移動する状態を、他のオブジェクトに対応する画像データを用いて画像表示部に連続的に表示する他オブジェクト移動状態表示機能と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度を制御部１に認識させるオブジェクト硬度認識機能とをさらに備えるゲームプログラムによって、移動するオブジェクトの表示範囲内の座標データが他のオブジェクトの表示範囲内の座標データに一致すると制御部１により判断された場合に、オブジェクトの速度の大きさデータにより規定される速度と、他のオブジェクトの速度の大きさデータにより規定される速度と、オブジェクトの速度の大きさデータにより規定される速度で移動するオブジェクトに対応する硬度および他のオブジェクトに対応する硬度の少なくともいずれか一方の硬度とに応じて、コントローラ２５の振動を制御するための振動制御データを制御部１に算出させるようにしても良い。
【００７８】
この場合、加速度センサ２４および振動モータ２６が内蔵されたコントローラ２５の移動に連動して第１戦士の剣キャラクタを移動させ、第１戦士の剣キャラクタと第２戦士の剣キャラクタとが接触したときに、第１戦士の剣の速度、第２戦士の剣の速度、第１戦士の剣の硬度、および第２戦士の剣の硬度に応じたコントローラ用振動制御データが算出される。そして、このコントローラ用振動制御データが制御部１からコントローラ２５の振動機構たとえば振動モータ２６へと出力される。これにより、コントローラ２５を振動させることができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の一例としての機能ブロック図。
【図３】テレビジョンモニタに表示されるキャラクタを説明するための図。
【図４】コントローラの移動状態とバットの移動状態の対応を説明するための図。
【図５】加速度データ、速度データおよび位置データの関係を説明するための図。
【図６】コントローラの位置データをテレビジョンモニタ用の位置データへと変換するときの写像関係を説明するための図。
【図７】ボールとバットとの基準点間距離の計算方法を説明するための図。
【図８】ボールとバットとの速度の合成方法を説明するための図。
【図９】振動制御データを算出する方法を説明するための図。
【図１０Ａ】打撃振動制御システムを説明するためのフローチャート。
【図１０Ｂ】打撃振動制御システムを説明するためのフローチャート。
【符号の説明】
【００８０】
１  制御部
５  操作入力部
２０  テレビジョンモニタ
２４  加速度センサ
２５  コントローラ
５０  オブジェクト表示手段
５１  加速度データ認識手段
５２  時間間隔データ認識手段
５３  速度データ算出手段
５４  オブジェクト移動速度データ算出手段
５５  他オブジェクト速度データ認識手段
５６  他オブジェクト位置データ認識手段
５７  オブジェクト移動状態表示手段
５８  他オブジェクト移動状態表示手段
５９  範囲データ認識手段
６０  オブジェクト一致判断手段
６１  振動制御データ算出手段
６２  振動制御データ発行手段
７１  投手キャラクタ
７２  打者キャラクタ
７３  バットキャラクタ
７４  ボールキャラクタ
Ｂｍ１  ボールの基準点
Ｂｍ２  バットの基準点
ｄｔ  時間間隔
ｆ  写像関数
Ｇ  コントローラの加速度データ
Ｖ  コントローラの速度の大きさデータ
Ｘ  コントローラの位置データ
ＶＢ  ボールの速度の大きさデータ
ＶＢＴ  バットの速度の大きさデータ
α  修正係数
γ１  第１パラメータ
γ２  第２パラメータ
Ｓ  振動制御データ
ｌｍ  基準点間距離