JP5030482B2 - ゲームプログラムおよびゲーム装置 - Google Patents

ゲームプログラムおよびゲーム装置 Download PDF

Info

Publication number
JP5030482B2
JP5030482B2 JP2006169972A JP2006169972A JP5030482B2 JP 5030482 B2 JP5030482 B2 JP 5030482B2 JP 2006169972 A JP2006169972 A JP 2006169972A JP 2006169972 A JP2006169972 A JP 2006169972A JP 5030482 B2 JP5030482 B2 JP 5030482B2
Authority
JP
Japan
Prior art keywords
value
game
input
range
input value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006169972A
Other languages
English (en)
Other versions
JP2008000184A (ja
Inventor
賢太 佐藤
善一 山下
隆行 嶋村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2006169972A priority Critical patent/JP5030482B2/ja
Priority to EP06019757.1A priority patent/EP1870141B1/en
Priority to US11/581,007 priority patent/US8721442B2/en
Publication of JP2008000184A publication Critical patent/JP2008000184A/ja
Application granted granted Critical
Publication of JP5030482B2 publication Critical patent/JP5030482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball

Description

本発明は、ゲームプログラムおよびゲーム装置に関し、より特定的には、入力装置自体の動きに応じてゲーム処理を行うゲームプログラムおよびゲーム装置に関する。
従来から、卓球のラケットや野球のバット等のようなスポーツ用具を振るタイプのゲーム(卓球ゲームや野球ゲーム等)がある。これらのゲームにおいては、スポーツ用具を振る動作を入力するためのコントローラに、スイッチを利用したボタンやレバーを用いていた。また、これとは別に、スポーツ用具の形状をしたコントローラ(入力装置)も開示されている(例えば特許文献1)。特許文献1に示すコントローラは、卓球のラケット型入力装置である。当該ラケット型入力装置は、圧電ブザー素子を含み、当該ラケット型入力装置が変位したときに圧電ブザー素子に生じる電気信号から加速度データを得ている。そして、当該加速度データに基づいて、卓球ゲームにおけるボールの移動を制御している。これにより、当該ラケット型入力装置で振る動作を行うことにより、実際のラケットを振る動作に即したゲーム進行が可能になる。
特開2002−7057号公報
しかしながら、上述したような上記特許文献1に開示された装置においては、以下に示す問題点があった。確かに、上述のラケット型入力装置を振る動作を行うことで、実際の振る動作に即したゲーム進行が可能となる。しかし、プレイヤのラケット型入力装置の握り方や振る際の癖等の要因で、プレイヤは同じ動作を行っているつもりでも、計測して得られる値としては異なる値が得られることがある。その結果、プレイヤとしては同じ動作を行ったつもりでも、ゲーム内においては別の動作が行われたとして処理されることもあった。そのため、入力装置自体を振ることで入力を行うタイプのゲームでは、予め可動範囲が定められているジョイスティック等を用いた入力方法に比べると、プレイヤの入力したい値、つまりプレイヤが目標とする入力値を的確に入力することは困難であった。そのため、プレイヤの思い通りの入力がゲーム内に反映されず、ゲームの興趣を下げてしまうことがあった。
それ故に、本発明の目的は、入力装置自体を動かして入力するときに、プレイヤが目標とする入力値をゲーム内の処理に反映することのできるゲームプログラムおよびゲーム装置を提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第1の発明は、入力装置自体の動きに応じて変化する入力値に基づいたゲーム処理をゲーム装置のコンピュータに実行させるゲームプログラムであって、基準値設定ステップ(S2)と、特定範囲設定ステップ(S4)と、入力値取得ステップ(S5、S6)と、変換ステップ(S7〜S8)と、処理ステップ(S10)とをコンピュータに実行させる。基準値設定ステップは、入力値が取り得る範囲である入力値範囲内の所定値を基準値に設定する。特定範囲設定ステップは、基準値を含む入力値範囲の一部を特定範囲として設定する。入力値取得ステップと、入力装置自体の動きに応じて変化する入力値を取得する。変換ステップと、入力値取得ステップによって取得した入力値が特定範囲に含まれるとき、当該入力値を基準値と同一の値または当該入力値を当該基準値へ近づけた値であるゲームパラメータ値へ変換する。処理ステップと、ゲームパラメータ値を用いたゲーム処理を行う。
第2の発明は、第1の発明において、変換ステップはさらに、入力値取得ステップによって取得した入力値が特定範囲に含まれないとき、当該入力値を当該入力値と同値または当該入力値近傍の値であるゲームパラメータ値へ変換する。
第3の発明は、第1の発明において、変換ステップは、入力値取得ステップによって取得した入力値が特定範囲の境界では、特定範囲内外のゲームパラメータ値は連続性を持った値へ変換する。
第4の発明は、第1の発明において、特定範囲設定ステップは、基準値を中心とした所定の範囲を特定範囲として設定する。
第5の発明は、第1の発明において、変換ステップは、入力範囲内の各入力値とそれぞれの入力値を変換した各ゲームパラメータ値との関係が連続的になるように変換を行う。
第6の発明は、第2の発明において、変換ステップは、入力範囲外の各入力値とそれぞれの入力値を変換した各ゲームパラメータ値との関係が連続的になるように変換を行う。
第7の発明は、第2の発明において、変換ステップで行われる入力範囲外の各入力値に対する変換は、入力値を所定の曲線補間で補完することによる行われる。
第8の発明は、第1の発明において、基準値は、入力値を変換することにより得られるゲームパラメータ値に基づいた所定のゲーム処理の結果が、ゲーム内容に応じた最良の結果となるような所定の値である。
第9の発明は、第8の発明において、基準値設定ステップは、比較値設定ステップ(S23、S26)と、入力中間値算出ステップ(S29)と、シミュレートステップ(S27、S28)と、比較値更新ステップ(S31、S32)とを含む。比較値設定ステップでは、入力値範囲の上限値を第1の比較値、入力値範囲の下限値を第2の比較値として設定する。入力中間値算出ステップでは、第1の比較値と第2の比較値の中間値である入力中間値を算出する。シミュレートステップでは、第1の比較値と第2の比較値に所定の変換を行うことによりそれぞれ得られるゲームパラメータ値で所定のゲーム処理を行った結果である結果値をそれぞれ算出する。比較値更新ステップでは、シミュレートステップによって算出された結果値を比較し、ゲーム内容に応じた最良の結果となるような所定の値との差が大きいほうのゲームパラメータ値へ所定の変換がされた比較値を入力中間値で更新する。また、入力中間値算出ステップとシミュレートステップと比較値更新ステップとは、所定の条件が満たされるまで繰り返され、基準値設定ステップは、所定の条件が満たされたときにおける入力中間値を基準値として設定する。
第10の発明は、第9の発明において、所定の条件とは、第1の比較値と第2の比較値とが一致したとき、および、入力値取得ステップによって入力値が取得されたときのいずれかのときである。
第11の発明は、第8の発明において、基準値設定ステップは、入力値範囲で所定間隔ごとの各値に所定の変換を行うことにより得られる各ゲームパラメータ値で所定のゲーム処理を行った結果である結果値をそれぞれ算出するシミュレートステップを含む。また、シミュレートステップによって算出された結果値のうちゲーム内容に応じた最良の結果となるような結果値が算出されたゲームパラメータ値へと所定の変換がされた入力値範囲の値を基準値として設定する。
第12の発明は、第8の発明において、所定のゲーム処理とは、仮想ゲーム空間内の移動オブジェクトを飛ばす処理である。
第13の発明は、第12の発明において、ゲーム内容に応じた最良の結果となるような所定の値とは、移動オブジェクトの飛んだ位置または飛ぶ軌道を示すための値である。
第14の発明は、入力装置自体の動きに応じて変化する入力値に基づいたゲーム処理を行うゲーム装置(3)であって、基準値設定部(30)と、特定範囲設定部(30)と、入力値取得部(30)と、変換部(30)と、処理部(30)とを備える。基準値設定部は、入力値が取り得る範囲である入力値範囲内の所定値を基準値として設定する。特定範囲設定部は、基準値を含む入力値範囲の一部を特定範囲として設定する。入力値取得部は、入力装置自体の動きに応じて変化する入力値を取得する。変換部は、入力値取得部によって取得した入力値が特定範囲に含まれるとき、当該入力値を基準値と同一の値または当該入力値を当該基準値へ近づけた値であるゲームパラメータ値へ変換する。
処理部は、ゲームパラメータ値を用いたゲーム処理を行う。
上記第1の発明によれば、コントローラ7を振る強さの調整等のような、プレイヤが目標とする入力値の入力が行いにくいデバイス等を用いた入力操作の際に、実際の入力値の内容に関わらず、プレイヤの目標とした入力に基づいた処理をゲーム内に反映させることができる。その結果、思い通りの入力ができないことによりプレイヤにストレスを与えることを防ぐことができ、快適なゲームプレイを提供することができる。
上記第2の発明によれば、変換範囲外についても、入力値が補正されてゲームパラメータとして用いられる。そのため、入力操作にかかる難易度を全体的に下げることができ、プレイヤが快適にゲームを楽しめることを可能とする。
上記第3の発明によれば、変換範囲の境界において、特定範囲内外のゲームパラメータ値は連続性を持った値へ変換することができる。そのため、変換範囲の境界前後の入力値に応じて処理されるゲーム処理に関して、不連続な値であるが故に処理内容が大きく変わってしまうことによる違和感をプレイヤに与えることを防ぐことができる。
上記第4の発明によれば、基準点を中心に変換範囲を設定するため、プレイヤの入力動作と変換される結果(ゲームパラメータ)のバランスが良くなり、違和感のない操作感覚をプレイヤに提供できる。
上記第5の発明によれば、変換範囲内では、ゲームパラメータ値が連続的になるよう変換する。そのため、ゲームの難易度を下げながら、入力操作と当該操作が反映されるゲーム内の反映結果との関係について、より違和感のない操作感覚を提供できる。
上記第6の発明によれば、変換範囲外についてもゲームパラメータ値が連続的になるよう変換するため、入力操作と当該操作が反映されるゲーム内の反映結果との関係についてより違和感のない操作感覚を提供できる。
上記第7の発明によれば、変換範囲外について、入力値が曲線補間を用いて補正された値をゲームパラメータとして用いる。そのため、入力操作にかかる難易度を全体的に下げることができ、プレイヤが快適にゲームを楽しめることを可能とする。
上記第8の発明によれば、例えばゴルフゲームにおけるベストショットのような、ゲーム内容に応じた最良の結果が出せる値を基準値とする。そのため、ゲームの難易度を下げ、更にゲームの爽快感を増すこともでき、ゲームの興趣を高めることが可能となる。
上記第9乃至10の発明によれば、例えばゴルフゲームにおけるベストショットのように、ゲーム内容に応じた最良の結果が出せるゲームパラメータの算出処理について、計算量を減らして処理負荷を軽減することができる。
上記第11の発明によれば、ゲーム内容に応じた最良の結果が出せるゲームパラメータをより正確に算出することが可能となる。
上記第12乃至第13の発明によれば、ゴルフゲームやテニスゲームのような、球を飛ばして楽しむゲームの難易度を下げることができ、プレイヤに快適にゲームを楽しませることができる。
また、本発明のゲーム装置によれば、上述した本発明のゲームプログラムと同様の効果を得ることができる。
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
図1を参照して、本発明の一実施形態に係るゲーム装置について説明する。以下、説明を具体的にするために、当該ゲーム装置を用いたゲームシステム1を一例として説明する。なお、図1は、当該ゲームシステム1を説明するための外観図である。以下、据置型ゲーム装置を一例にして、当該ゲームシステム1について説明する。
図1において、当該ゲームシステム1は、家庭用テレビジョン受像機等のスピーカ2aを備えたディスプレイ(以下、モニタと記載する)2に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)3および当該ゲーム装置3に操作情報を与えるコントローラ7によって構成される。ゲーム装置3は、接続端子を介して受信ユニット6が接続される。受信ユニット6は、コントローラ7から無線送信される送信データを受信し、コントローラ7とゲーム装置3とは無線通信によって接続される。また、ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。ゲーム装置3の上部主面には、当該ゲーム装置3の電源ON/OFFスイッチ、ゲーム処理のリセットスイッチ、およびゲーム装置3上部の蓋を開くOPENスイッチが設けられている。ここで、プレイヤがOPENスイッチを押下することによって上記蓋が開き、光ディスク4の脱着が可能となる。
また、ゲーム装置3には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード5が必要に応じて着脱自在に装着される。ゲーム装置3は、光ディスク4に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ2に表示する。さらに、ゲーム装置3は、外部メモリカード5に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
コントローラ7は、その内部に備える通信部75(後述)から受信ユニット6が接続されたゲーム装置3へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて送信データを無線送信する。コントローラ7は、主にモニタ2に表示されるゲーム空間に登場するプレイヤオブジェクトを操作するための操作手段である。コントローラ7は、複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。マーカ8Lおよび8Rは、コントローラ7の位置を示すためのものである。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力する。
次に、図2を参照して、ゲーム装置3の構成について説明する。なお、図2は、ゲーム装置3の機能ブロック図である。
図2において、ゲーム装置3は、各種プログラムを実行する例えばリスク(RISC)CPU(セントラルプロセッシングユニット)30を備える。CPU30は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ33等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。CPU30には、メモリコントローラ31を介して、GPU(Graphics Processing Unit)32、メインメモリ33、DSP(Digital Signal Processor)34、およびARAM(Audio RAM)35が接続される。また、メモリコントローラ31には、所定のバスを介して、コントローラI/F(インターフェース)36、ビデオI/F37、外部メモリI/F38、オーディオI/F39、およびディスクI/F41が接続され、それぞれ受信ユニット6、モニタ2、外部メモリカード5、スピーカ2a、およびディスクドライブ40が接続されている。
GPU32は、CPU30の命令に基づいて画像処理を行うものあり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU32は、図示しない画像処理専用のメモリやメインメモリ33の一部の記憶領域を用いて画像処理を行う。GPU32は、これらを用いてモニタ2に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ31およびビデオI/F37を介してモニタ2に出力する。
メインメモリ33は、CPU30で使用される記憶領域であって、CPU30の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ33は、CPU30によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ33に記憶されたゲームプログラムや各種データ等がCPU30によって実行される。
DSP34は、ゲームプログラム実行時にCPU30において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのARAM35が接続される。ARAM35は、DSP34が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP34は、ARAM35に記憶されたサウンドデータを読み出し、メモリコントローラ31およびオーディオI/F39を介してモニタ2に備えるスピーカ2aに出力させる。
メモリコントローラ31は、データ転送を統括的に制御するものであり、上述した各種I/Fが接続される。コントローラI/F36は、例えば4つのコントローラI/F36a〜36dで構成され、それらが有するコネクタを介して嵌合可能な外部機器とゲーム装置3とを通信可能に接続する。例えば、受信ユニット6は、上記コネクタと嵌合し、コントローラI/F36を介してゲーム装置3と接続される。上述したように受信ユニット6は、コントローラ7からの送信データを受信し、コントローラI/F36を介して当該送信データをCPU30へ出力する。ビデオI/F37には、モニタ2が接続される。外部メモリI/F38には、外部メモリカード5が接続され、その外部メモリカード5に設けられたバックアップメモリ等とアクセス可能となる。オーディオI/F39にはモニタ2に内蔵されるスピーカ2aが接続され、DSP34がARAM35から読み出したサウンドデータやディスクドライブ40から直接出力されるサウンドデータをスピーカ2aから出力可能に接続される。ディスクI/F41には、ディスクドライブ40が接続される。ディスクドライブ40は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ゲーム装置3のバスやオーディオI/F39に出力する。
図3および図4を参照して、本発明の入力装置の一例であるコントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面後方から見た斜視図である。
図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、矢印で示す4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、リング状に4方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記十字キー72aの代わりに設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。また、少なくとも4つの方向(前後左右)をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、Xボタン、Yボタン、およびBボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、セレクトスイッチ、メニュースイッチ、およびスタートスイッチ等としての機能が割り当てられる。これら操作ボタン72b〜72gは、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの機能が割り当てられるが、本発明の説明とは直接関連しないため詳細な説明を省略する。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7から受信ユニット6へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7を把持したときに当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばAボタンとして機能する操作部であり、シューティングゲームにおけるトリガスイッチや、プレイヤオブジェクトを所定オブジェクトに対して注目させる操作等に用いられる。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えば32ピンのエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
ここで、説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するXYZ軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をZ軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をZ軸正方向とする。また、コントローラ7の上下方向をY軸とし、ハウジング71の上面(十字キー72a等が設けられた面)方向をY軸正方向とする。さらに、コントローラ7の左右方向をX軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をX軸正方向とする。
次に、図5を参照して、コントローラ7の内部構造について説明する。なお、図5(a)は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を示す斜視図である。図5(b)は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を示す斜視図である。ここで、図5(b)に示す基板700は、図5(a)に示す基板700の裏面から見た斜視図となっている。
図5(a)において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、水晶振動子703、無線モジュール753、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751(図6参照)に接続される。加速度センサ701は、コントローラ7が配置された3次元空間における傾きや振動等の算出に用いることができる加速度を検出して出力する。
より詳細には、図6に示すように、コントローラ7は3軸の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向(図3に示すY軸)、左右方向(図3に示すX軸)、および前後方向(図3に示すZ軸)で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、X軸とY軸(または他の対になった軸)のそれぞれに沿った直線加速度のみを検知する2軸の加速度検出手段を使用してもよい。例えば、この3軸または2軸の加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であることが好ましい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて3軸または2軸の加速度センサ701が提供されてもよい。
当業者には公知であるように、加速度センサ701に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その2軸または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
しかしながら、加速度センサ701から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な加速度(重力加速度)が検知されると、加速度センサ701からの出力を用いて、傾斜角度と検知された加速度とを用いた演算によって重力ベクトルに対する対象(コントローラ7)の傾きを判定することができる。このように、加速度センサ701をマイコン751(または他のプロセッサ)と組み合わせて用いることによって、コントローラ7の傾き、姿勢または位置を判定することができる。同様に、加速度センサ701を備えるコントローラ7が例えば後述するようにユーザの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7のさまざまな動きおよび/または位置を算出することができる。他の実施例では、加速度センサ701は、信号をマイコン42に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
また、無線モジュール753およびアンテナ754を有する通信部75によって、コントローラ7がワイヤレスコントローラとして機能する。なお、水晶振動子703は、後述するマイコン751の基本クロックを生成する。
一方、図5(b)において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。そして、操作ボタン72iが撮像情報演算部74の後方の基板700の下主面上に取り付けられていて、それよりさらに後方に、電池705が収容される。電池705とコネクタ73との間の基板700の下主面上には、バイブレータ704が取り付けられる。このバイブレータ704は、例えば振動モータやソレノイドであってよい。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
次に、図6を参照して、コントローラ7の内部構成について説明する。なお、図6は、コントローラ7の構成を示すブロック図である。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。ここで、モニタ2の表示画面近傍に配置されるマーカ8Lおよび8Rは、モニタ2の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ741を設けることによってマーカ8Lおよび8Rの画像をより正確に撮像することができる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データ(マーカ8Lおよび8Rの撮像画像)を処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。この撮像情報演算部74から出力される処理結果データに基づいて、コントローラ7の位置や動きに応じた信号を得ることができ、当該信号に基づいてモニタ2の画面座標系に基づいた入力座標を得ることができる。つまり、コントローラ7は、撮像情報演算部74から出力される処理結果データによってポインティングデバイスとして機能する。
加速度センサ701は、上述したようにコントローラ7の上下方向(Y軸方向)、左右方向(X軸方向)、および前後方向(Z軸方向)の3軸成分に分けてそれぞれ加速度を検知して出力するセンサである。加速度センサ701が検知した3軸成分の加速度を示すデータは、それぞれ通信部75へ出力される。この加速度センサ701から出力される加速度データに基づいて、コントローラ7の動きを判定することができる。なお、加速度センサ701は、特定のアプリケーションで必要なデータに応じて何れか2軸に対してそれぞれ加速度を検出する加速度センサが用いられてもかまわない。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(X、Y、およびZ軸方向加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ)を受信ユニット6へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から受信ユニット6への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、受信ユニット6への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からのX、Y、およびZ軸方向加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置3の受信ユニット6でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、X、Y、およびZ軸方向加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Bluetooth(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
次に、図7〜図9を用いて、本実施形態で想定するゲームの概要について説明する。本実施形態で想定するゲームは、ゴルフゲームである。図7は、本実施形態で想定するゲームの画面の一例である。図7において、モニタ2には、ゴルフクラブ102を構えたプレイヤオブジェクト101と、カップ103、ボール104が表示されている。そして、プレイヤは、コントローラ7をゴルフクラブに見立てて、振る動作(ショットやパットの動作)を行うと、この動きに連動してプレイヤオブジェクト101がゴルフクラブを振る動作が描画される。図8は、ゴルフクラブを振る動作を示す模式図であり、図9は、図8に示した動きに対応する、コントローラ7をゴルフクラブに見立てて振る動作を示す模式図である。
より具体的に説明すると、プレイヤは、クラブの種類を選択し、打つ方向を定めてから、コントローラ7をゴルフクラブのスイングの要領で振る。本実施形態にかかるゲーム装置3は、コントローラ7から得られる加速度データを基にスイング(振り)の強さの値を求める。従来は、このスイングの強さの値(以下、スイングパワーと呼ぶ)をそのままショットパワーとして用いていたが、本実施形態では、後述するような処理によって、当該スイングパワーに補正をかけた値をショットパワーとして用いる。そして、当該ショットパワーと、ゴルフクラブ毎に設定されている初速度やそのときのゲーム内環境(風速など)のパラメータとを掛け合わせることで、ボールの飛距離が決まる。例えば、振りが強すぎると、より遠くまでボールを飛ばせるが、その反面、ボール104がカップ103を通り過ぎてしまいこともある。また、振りが弱すぎると、カップ103までボール104が届かないこともある。そのため、現実のゴルフと同様に、プレイヤは、カップまでの距離に応じてコントローラ7を振る強さを調整する必要がある。
ここで、プレイヤのスイングパワーとゲーム内で処理されるショットパワーとの関係について、図10を用いて説明する。図10のグラフでは、いずれも、縦軸をショットパワー、横軸をスイングパワーとしている。そして、グラフ(A)は、後述の本実施形態にかかる補正処理を行わない場合の上記関係を示すグラフである(つまり、従来における処理)。グラフ(A)では、スイングパワーをそのままショットパワーとして用いるため、スイングパワー=ショットパワーという関係になるようなグラフとなっている。そして、ベストショットパワーとなる点を、点111とする。このベストショットパワーとは、プレイヤがスイング操作を行うときのクラブの種類と打つ方向とゲーム内環境とから、ボール104がカップ103に一番近くに止まるショットパワーのことである。これは、一般的に、カップに近い位置にボールを飛ばすことがプレイヤにとって最良の結果となると考えられるためである。つまり、ベストショットパワーとは、そのときのゲーム内容に応じて、プレイヤにとって最良の結果が出る(つまり、プレイヤにとって最も有利なゲーム展開となる)ようなショットパワーである。そして、ベストショットパワーを点111とすると、当該ベストショットパワーになるようなスイングパワー(以下、ベストスイングパワーと呼ぶ)は一点(点112)だけとなる。
一方、本実施形態では、グラフ(B)に示すように、スイングパワーのうち、ベストスイングパワーとなる点112を中心とした所定の範囲113については、全てベストショットパワーになるような関係となる。つまり、プレイヤのスイングパワーが、多少ベストスイングパワーに及ばない、あるいは強すぎるような場合でも、ゲーム内ではベストショットとして扱うような処理が行われる。処理の詳細は後述するが、本実施形態では、まず、プレイヤのスイング操作前に、ベストスイングパワー(上記点112)を予め算出する。そして、このベストスイングパワーを中心とした所定の範囲113を、変換範囲として設定する。そして、スイングパワーが当該変換範囲内に含まれる値であれば、ベストショットパワー(点111)に変換して、当該ベストショットパワーでボールをショットする処理を行う。換言すれば、上記変換範囲内では、スイングパワーをそのままショットパワーに変換した値を使うのではなく、ベストショットパワーに変換した値を使うことになる。
更に、上記変換範囲外のスイングパワーについては、エルミート補間を行った値をショットパワーとして用いる。ここで、エルミート補間について説明する。エルミート補間とは、隣接する2つの値の他、両地点での変化量を考慮して変化速度を加減しながら補間する補間方法である。本実施形態では、上記グラフ(B)において、上記変換範囲の左側については、まず、変換範囲の左端の点とスイングパワーが0の点とをエルミート補間によって補間する。この補間では、当該左端の点には、右方向に大きさ1のベクトルが係っているものとし、スイングパワーが0の点には、右上45度の方向で大きさ1のベクトルが係っているものとしている。そして、この補間によってできる曲線上の値をショットパワーとする。また、上記変換範囲の右側については、変換範囲の右端の点とスイングパワーの上限値の点とをエルミート補間した曲線上の値をショットパワーとする。この補間においては、当該右端の点には、右方向に大きさ1のベクトルが係っているものとし、スイングパワーが上限値の点には、右上45度の方向で大きさ1のベクトルが係っているものとしている。グラフ(C)は、このようなエルミート補間を行った結果のスイングパワーとショットパワーとの関係を示すグラフである。当該グラフ(C)では、変換範囲の左端の点114とスイングパワーが0の点115とがエルミート補間によって結ばれている。また、変換範囲の右端の点116とスイングパワーが1の点117とがエルミート補間によって結ばれている。そのため、スイングパワーからショットパワーへの変換については、グラフ(A)に比べると、全体的にベストショットパワーに近づいた値に変換されることになる。
このように、本ゲームでは、スイングパワーがベストスイングパワー値の前後にかかる所定範囲内ならば、ベストショットパワー値としてショットを行う処理が行われる。つまり、スイングパワーが、ベストスイングパワー値にある程度近い強さであれば、ベストショットパワーを用いてボールをショットする処理を行う。その結果、プレイヤのスイングの強さが多少ベストパワーに及ばなかったり、強すぎるといった場合でも、カップ103の近くにボール104を止める(あるいは、カップインする)ことができ、ゲームの難易度を下げて、プレイヤが快適にゲームを楽しめるようにすることができる。更に、所定範囲外であっても、上記のエルミート補間による値をショットパワーとして用いるため、同様にゲームの難易度を下げて、より快適にゲームを楽しめるように調整することが可能となる。
次に、ゲーム装置3によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際にメインメモリ33に記憶されるプログラムおよびデータについて説明する。図11は、図2に示したメインメモリ33のメモリマップを示す図解図である。図11において、メインメモリ33は、ゲームプログラム記憶領域330よびデータ記憶領域335を含む。
ゲームプログラム記憶領域330は、CPU30によって実行されるゲームプログラムを記憶し、このゲームプログラムは、ゲームメイン処理プログラム331と、ベストパワー算出プログラム332と、スイングパワー算出プログラム333と、ショット処理プログラム334などによって構成される。
ゲームメイン処理プログラム331は、本実施形態に係る処理全体を制御するためのプログラムである。
ベストパワー算出プログラム332は、カップに一番近い位置にボールを止めることができるスイングパワー、すなわち、上記ベストスイングパワーを算出するためのプログラムである。
スイングパワー算出プログラム333は、プレイヤがコントローラ7を振ったときの加速度データをスイングパワーに変換するためのプログラムである。具体的には、−2G〜+2Gの範囲で得られる加速度データを、0〜1の範囲で示されるスイングパワーに変換するためのプログラムである。
ショット処理プログラム334は、ボールをショットするためのプログラムである。スイングパワーを基に得られるショットパワーに基づいて、ボールを飛ばすための処理を行う。
データ記憶領域335には、加速度データ336、スイングパワー337、ショットパワー338、クラブ初速度339、仮定スイングパワー(大)340、仮定スイングパワー(小)341、ベストスイングパワー342、変換幅343、環境データ344、画像データ345などのデータが記憶されるとともに、ゲーム処理で用いられる各種フラグも記憶される。
加速度データ336は、コントローラ7から送信データとして送信されてくる一連の操作情報に含まれる加速度データであり、得られた加速度データを所定フレーム分(例えば、ゲーム処理間隔である1フレーム(1/60秒)に対して30フレーム分)格納する。加速度データ336には、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したX軸方向加速度336a、Y軸方向加速度336b、およびZ軸方向加速度336cが含まれる。なお、ゲーム装置3に備える受信ユニット6は、コントローラ7から所定間隔例えば5msごとに送信される操作情報に含まれる加速度データ336を受信し、受信ユニット6に備える図示しないバッファに蓄えられる。その後、ゲーム処理間隔である1フレーム毎に読み出されてメインメモリ33に記憶される。−2G〜+2Gの範囲の値をとる。
スイングパワー337は、加速度データ336を上記スイングパワー算出プログラムで変換した値である。この値が、コントローラ7を振った強さを示す値として用いられる。0〜1の範囲の値であり、0.01刻みで表される。
ショットパワー338は、ボールをショットするパワーを示す。後述するような処理でスイングパワーが変換されることで導き出される値である。スイングパワーと同様に、0〜1の範囲の値を取る。上記ショット処理プログラムにおいて、この値に基づいてボールの飛距離が決まることになる。
クラブ初速度339は、各ゴルフクラブ毎に対応する形で予め設定されている値であり、上記スイングパワーが最大(1)の場合にボールに与える初速度を示すデータである。ゴルフクラブの種類に応じて、1番ウッド339a〜パター339nまでのデータがある。
仮定スイングパワー(大)340および仮定スイングパワー(小)341は、後述のベストパワー算出処理でベストパワーを求める際に用いられる変数である。また、ベストスイングパワー342は、ベストパワー算出プログラム332で算出されたベストスイングパワー、つまり、もっともボールがカップに近い位置に飛ばすことのできるスイングパワーを示す。
変換幅343は、上述の、スイングパワーをベストショットパワーへと変換するための所定の範囲を示すためのデータである。ゲームの難易度設定に応じて、この幅は変化する。環境データ344は、仮想ゲーム空間内の自然環境を示すためのデータである。風速344aや傾斜角344b等のデータが含まれている。画像データ345は、プレイヤオブジェクト101やゴルフコース等の、仮想ゲーム空間内に登場する各種オブジェクトの画像データである。
次に、ゲーム装置3において実行されるゲーム処理の流れを図12〜図13を用いて説明する。図12は、ゲーム装置3において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU30は、図示しないブートROMに記憶されている起動プログラムを実行し、メインメモリ33等の各ユニットが初期化される。そして、光ディスク4に格納されたゲームプログラムがメインメモリ33に読み込まれ、当該ゲームプログラムの実行が開始される。その結果、GPU32を介してモニタ2にゲーム画像が表示されることによって、ゲームが開始される。この後、図12に示すフローチャートの処理が実行される。また、本実施形態におけるゲームは上述のようにゴルフゲームであり、当該処理は、ゴルフクラブのショットやパット動作に関する処理であるが、これ以外の当該ゴルフゲームに関する処理(コース選択やショットされたボールの軌道計算等)については、本発明と直接関連しないため、詳細な説明を省略する。
図12において、まず、CPU30は、初期設定処理を行う(ステップS1)。この処理では、ゲームの難易度設定や、プレイヤオブジェクトのパラメータ設定(パワーやテクニック)、風速などの自然環境パラメータの設定、初期クラブの設定、初期方向(ボールを打つ方向)の設定等が行われる。また、仮定スイングパワー(大)340等の各種変数やフラグも初期化される。
次に、CPU30は、ベストパワー算出処理を行う(ステップS2)。本処理は、現在の状態(クラブの種類や方向、風速等)でボールをショットすると仮定したときに、ボールがカップの一番近くに止まるようなショットパワーに対応するスイングパワー(換言すれば、ボールがカップの一番近くに止まるようなショットパワーへと変換されるスイングパワー)、すなわちベストスイングパワーを算出するための処理である。この処理では、スイングパワー=ショットパワーとして、ボールの飛んだ位置を算出する。つまり、上記図10(A)に示したグラフに基づいてボールの飛んだ位置を算出する。算出の方法としては、本処理では、スイングパワーの上限値と下限値とを比較して、2点のうち、よりカップの近くまで飛ばせる値を求める。そして、この値と上記2点の中点とを次の比較対象にして、その比較処理を繰り返していき、ベストスイングパワーになる値を絞り込んでいく処理が行われる。
図13は、上記ステップS2で示したベストパワー算出処理の詳細を示すフローチャートである。図13において、まず、CPU30は、プレイヤがクラブの種類を変更したかどうか(クラブの変更操作の有無)を判定する(ステップS21)。当該判定の結果、クラブの変更があったときは(ステップ21でYES)、CPU30は、クラブに関する各種設定値を、変更されたクラブのものに変更する(ステップS22)。具体的には、変更されたクラブに設定されているクラブ初速度339等をメモリから読み出す。更に、CPU30は、仮定スイングパワー(大)340および仮定スイングパワー(小)341を初期化する(ステップS23)。具体的には、仮定スイングパワー(大)340に「1」を設定し、仮定スイングパワー(小)に「0」を設定する。そして、ステップS24の処理に進む。一方、クラブの変更がなければ(ステップS21でNO)、上記ステップS22、S23の処理は行わずに、そのままステップS24の処理に進む。
次に、CPU30は、ショットする方向に変更があったかどうか(ショット方向の変更操作の有無)を判定する(ステップS24)。その結果、方向が変更されていれば(ステップS24でYES)、それに応じて方向設定を変更する(ステップS25)。更に、上記ステップS23同様に、仮定スイングパワー(大)340および仮定スイングパワー(小)341を初期化する(ステップS26)。そして、ステップS27の処理に進む。一方、クラブの変更がなければ(ステップS24でNO)、上記ステップS25、S26の処理は行わずに、そのままステップS27の処理に進む。
次に、CPU30は、現在の環境(クラブの種類や打つ方向、風速等)で、仮定スイングパワー(大)340の値をスイングパワーとしてボールをショットしたと仮定した場合の、ボールの飛んだ位置を算出する(上述のように、ここでは、上記図10(A)のグラフに示した関係を基に算出される)。更に、当該飛んだ位置からカップまでの距離を算出する(ステップS27)。
続いて、CPU30は、今度は、現在の環境(クラブの種類や打つ方向、風速等)で、仮定スイングパワー(小)341の値をスイングパワーとしてボールをショットしたと仮定した場合の、ボールの飛んだ位置を算出する。更に、当該飛んだ位置からカップまでの距離を算出する(ステップS28)。つまり、例えばクラブ変更後の1度目の処理を考えると、力一杯ボールを打ったとき(スイングパワー=1)のボールの飛んだ位置と現在のボールの位置(スイングパワー=0)とのそれぞれについて、カップまでの距離を算出するわけである。
次に、CPU30は、仮定スイングパワー(大)340と仮定スイングパワー(小)341との中間値を算出し、ベストスイングパワー342とする(ステップS29)。
続いて、CPU30は、上記ステップS27とS28で算出された距離を比較し、仮定スイングパワー(大)340で打ったほうがカップに近い位置にボールを飛ばせるのか否かを判定する(ステップS30)。これは、上述したように、カップに近い位置にボールを飛ばすことがプレイヤにとって最良の結果となると考えられるためである。当該判定の結果、仮定スイングパワー(大)340で打ったほうがカップに近い位置にボールを飛ばせるのであれば(ステップS31でYES)、ベストスイングパワー342の値を仮定スイングパワー(小)341に代入する(ステップS31)。逆に、仮定スイングパワー(小)341で打ったほうがカップに近い位置にボールを飛ばせるのであれば(ステップS31でNO)、ベストスイングパワー342の値を仮定スイングパワー(大)340に代入する(ステップS32)。以上で、ベストパワー算出処理が終了する。上述のように、本処理は1フレーム毎に繰り返されるため、例えば、クラブ変更後の1度目の処理では、スイングパワーが1のときと0のときで、どちらがカップに近いかが比較される。スイングパワーが1のときのほうが、よりカップに近い位置に打てる場合は、次のフレームにおける処理では、スイングパワーが1のときと0.5のときとで、カップまでの距離が比較される。このような処理が繰り返されることで、ベストスイングパワーとなる値が絞り込まれていくことになる。なお、当該ベストパワー算出処理は、後述のスイング動作が開始されるまで繰り返し行われるが、この繰り返しの過程で上記仮定スイングパワー(大)340と仮定スイングパワー(小)341とが同じ値になれば、その時点で当該ベストパワー算出処理は行わないようにしてもよい。仮定スイングパワー(大)340と仮定スイングパワー(小)341とが同じ値になったということは、ベストスイングパワーが算出できたと考えられるからである。
図12に戻り、ステップS2のベストパワー算出処理の次に、CPU30は、プレイヤのスイング動作が開始されたかどうかを判定する(ステップS3)。これは、例えばX軸方向の加速度データの変化などから判定する。その結果、スイング動作が開始していないときは(ステップS3でNO)、ステップS2の処理に戻る。つまり、スイング動作が開始されるまでは、上記ベストパワー算出処理が繰り返されることになる。一方、スイング動作が開始したときは(ステップS3でYES)、ステップS4に処理を進める。
次に、CPU30は、スイングパワーの値のうち、ベストスイングパワーの値を中心とした所定の範囲、すなわち変換範囲を決定する(ステップS4)。当該変換範囲は、ゲームの難易度設定によって変化する。例えば、ゲームの難易度設定で「易しい」という設定を選んでいたときは、変換幅343に−0.3〜+0.3という設定がされる。そして、CPU30は、変換幅343からこの設定を読み出し、当該変換範囲を、ベストスイングパワーの値を中心とした−0.3〜+0.3の範囲に設定する。また、例えば、ゲームの難易度設定で「普通」という設定を選んでいたときは、変換幅343には−0.05〜+0.05という範囲が設定される。そしてCPU30は、同様にこの設定を読み出して、当該変換範囲を、ベストスイングパワーの値を中心とした−0.05〜+0.05の範囲に設定する。図14は、当該難易度設定に応じた変換範囲の一例を示すための図である。図14(A)に示すグラフは、難易度設定「普通」の場合のグラフであり、(B)に示すグラフは、難易度設定「易しい」の場合のグラフである。グラフ(A)に比べ、グラフ(B)のほうが、ベストショットとなる範囲が広いため、ベストショットを出しやすくなっている。
図12に戻り、次に、CPU30は、コントローラ7から加速度データ336を取得する(ステップS5)。続いて、当該加速度データを基にスイングパワーを算出する(ステップS6)。これは、例えば、所定の範囲内において単位時間あたりの加速度データ336の値を見て、一番大きな変化をしているときの値を所定の数式を用いてスイングパワーに変換するような処理が行われる。例えば、過去30フレームの間の加速度を見て、20〜21フレームの加速度の変化が一番激しければ、当該フレームにおける加速度データ(−2G〜+2Gの範囲)を採用してスイングパワー(0〜1の範囲)の値に変換する。もちろん、スイングパワーへ変換する基となる加速度データの取得方法はこれに限るものではない。単純に所定範囲内における加速度データのうちの最大値を用いてもよい。例えば、過去30フレームの間の加速度データの中から最大の値である加速度データをスイングパワーに変換してもよい。
次に、CPU30は、算出したスイングパワーが、上記変換範囲内に含まれているかどうかを判定する(ステップS7)。その結果、変換範囲内に含まれていれば(ステップS7でYES)、上記ベストスイングパワー342の値をショットパワー338として設定する(ステップS8)。つまり、スイングパワーが変換範囲内に含まれていれば、無条件にベストスイングパワーでコントローラ7が振られたとする。一方、変換範囲内に含まれていないときは、上記スイングパワーを上述したようなエルミート補間することで得られる値(図10のグラフ(C)参照)をショットパワー338として設定する(ステップS9)。
次に、CPU30は、ショットパワー338に設定された値に基づいて、ボールをショットする処理を行う(ステップS10)。より具体的には、ショットパワー338の値と、そのとき選択しているクラブのクラブ初速度339と、ボールを打つ方向と、風速などの環境パラメータとに基づいて、ボールの弾道や飛距離等を算出し、ボールが飛んでいく様子を画面に表示するための処理が行われる。その結果、上記スイングパワーが変換範囲内に含まれていれば、無条件にベストショットを打つことができることになる。以上で、本実施形態にかかるゲーム処理は終了する。
このように、本実施形態では、スイングパワーが所定の範囲内の値であるときは、ベストショットとなるような値に変換している。これにより、コントローラ7を振る強さの調整等のような、プレイヤの意図した入力が行いにくいデバイス等を用いた入力操作の際に、実際の入力値の内容に関わらず、プレイヤの意図した入力をゲーム内に反映させることができる。その結果、思い通りの入力ができないことによりプレイヤにストレスを与えることを防ぐことができ、快適なゲームプレイを提供することができる。また、ゴルフゲームやテニスゲーム等の、ボールを打つタイプのスポーツゲームであれば、ベストショットを出しやすくなり、ゲームの難易度を下げることが可能となる。また、例えば、コントローラ7を剣に見立て、これを振って遊ぶタイプのゲーム(剣劇ゲーム)であれば、当該変換範囲内にクリティカルヒットや必殺技の発動を関連づけることで、よりゲームの爽快感を増して、ゲームの興趣を高めることも可能となる。つまり、コントローラ7自体を動かして楽しむタイプのゲーム全般について、コントローラを動かす一連の動作から得られるパラメータの中から、ゲームの内容に応じた最良の結果が出せるようなパラメータを入力しやすくすることができ、ゲームの興趣を高めることが可能となる。
なお、上述したベストパワー算出処理においては、スイングパワーの上限値・下限値と、この2点の中点値とを利用した比較アルゴリズムを用いていた。ベストスイングパワーの算出については、これに限らずに、例えば、スイングパワーとして取り得る値について、総当たりの要領で、カップと最も近くなるスイングパワーを調べるようにしてもよい。計算量は多くなるが、より正確にベストスイングパワーの値を算出することが可能となる。
また、上記ベストショットパワーについて、上述の実施形態では、ボール104がカップ103の一番近くに止まるよう箇所を基準としていた。これに限らず、ベストショットとなる箇所については、プレイヤが指定した箇所にしてもよい。そして、当該プレイヤが指定した箇所を基準としてベストショットパワーを決めてもよい。
また、上述した本実施形態におけるゲームはゴルフゲームであるため、カップに近い位置にボールを飛ばすことのできるパワーを上記ベストショットパワーとしていた。これが、他のゲーム、例えば、野球ゲームの場合であれば、ホームランとなるようなパワーがプレイヤにとって最良の結果となる値と考えられるため、これをベストショットパワーとしてもよい。また、テニスゲームの場合であれば、例えば、相手コート内で、かつ相手プレイヤから最も遠い位置にボールを打てるようなパワーをベストショットパワーとしてもよい。一般的にはこのような位置にボールを打つことが、相手プレイヤが最もボールを打ち返しにくいと考えられるからである。このように、ゲーム内容やゲームの展開に応じて、プレイヤにとって最も有利なゲーム展開となるような値(最良となるような値)をベストショットパワーとすればよい。
また、上記変換範囲外におけるスイングパワーについては、上述の実施形態ではエルミート補間をかけた値をショットパワーとしていたが、補間をかけなくてもよい。例えば、図15に示すように、変換範囲外については、従来と同様にスイングパワー=ショットパワーとなる関係にしてもよい。また、この場合、更に、変換範囲内と変換範囲外とについて、変換後の値(ショットパワー)が連続した値となるようにしてもよい。例えば、図16で示すように、スイングパワーの変換範囲の境界にかかるショットパワーの値についても連続した値となるような値でショットパワーを算出してもよい。
また、上記変換範囲内については、一律にベストスイングパワーの値をショットパワーとして設定していたが、これに限らない。例えば、図17に示すように、変換範囲内においても、本来ベストスイングパワーとなる一点を通る一次関数で表すことのできる値をショットパワーとしてもよい。このとき、当該一次関数については、変換範囲内では変換範囲外に比べてパラメータ変化量が小さくなるような一次関数とすることが好ましい。
また、変換範囲の幅(変換幅343)についても、上述のような難易度設定だけでなく、クラブの種類毎に変化させるようにしてもよい。もちろん、クラブの種類だけに限らず、例えば、ゲーム内において所定のアイテムを使用したときに変換範囲の幅を一時的に広くすることでプレイヤを有利にする、等のような処理を行うようにしてもよい。これにより、ゲームの興趣を更に高めることが可能となる。
また、上記変換範囲外のスイングパワーについて、上述の実施形態では、変換範囲外の両端をエルミート補間することで得られる値を用いていたが、補間の方法はこれに限らず、スプライン補間等、他の曲線補間方法を用いてもよい。いずれにしろ、コントローラを動かす一連の動作から得られるパラメータの中から、ゲームの内容に応じた最良の結果が出せるようなパラメータを入力しやすくすることができ、ゲームの難易度を下げ、また、ゲームの興趣を高めることが可能となる。
本発明にかかるゲーム装置およびゲームプログラムは、プレイヤの目標とする入力値が入力しやすくなり、入力装置自体を振って遊ぶゲーム処理を行うゲーム装置およびゲームプログラムに有用である。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置3の機能ブロック図 図3のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面後方から見た斜視図 図3のコントローラ7の上筐体を外した状態を示す斜視図 図3のコントローラ7の構成を示すブロック図 本実施形態で想定するゲームの画面の一例 ゴルフクラブを振る動作を示す模式図 コントローラ7をゴルフクラブに見立てて振る動作を示す模式図 スイングパワーとショットパワーとの関係を示すグラフ メインメモリ33のメモリマップを示す図解図 本発明の実施形態に係るゲーム処理の流れを示すフローチャート 図12のステップS2で示したベストパワー算出処理の詳細を示したフローチャート 難易度設定による変換範囲の違いを示すための図 変換範囲外についてエルミート補間を行わない例を示すグラフ 変換範囲内と変換範囲外のショットパワーが連続する例を示すグラフ 変換範囲内のショットパワーが一次関数となる例を示す図
符号の説明
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
30…CPU
31…メモリコントローラ
32…GPU
33…メインメモリ
34…DSP
35…ARAM
36…コントローラI/F
37…ビデオI/F
38…外部メモリI/F
39…オーディオI/F
40…ディスクドライブ
41…ディスクI/F
4…光ディスク
5…外部メモリカード
6…受信ユニット
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
705…電池

Claims (16)

  1. 入力装置自体の動きに応じて変化する入力値に基づいたゲーム処理をゲーム装置のコンピュータに実行させるゲームプログラムであって、
    前記入力値が取り得る範囲である入力値範囲内の所定値を基準値に設定する基準値設定手段と、
    前記基準値を含む入力値範囲の一部を特定範囲として設定する特定範囲設定手段と、
    前記入力装置自体の動きに応じて変化する入力値を取得する入力値取得手段と、
    前記入力値取得手段によって取得した入力値が前記特定範囲に含まれるとき、当該入力値を前記基準値と同一の値または当該入力値を当該基準値へ近づけた値であるゲームパラメータ値へ変換する変換手段と、
    前記ゲームパラメータ値を用いたゲーム処理を行う処理手段して前記コンピュータを機能させる、ゲームプログラム。
  2. 前記変換手段はさらに、前記入力値取得手段によって取得した入力値が前記特定範囲に含まれないとき、当該入力値を当該入力値と同値または当該入力値近傍の値であるゲームパラメータ値へ変換する、請求項1に記載のゲームプログラム。
  3. 前記変換手段は、前記入力値取得手段によって取得した入力値が前記特定範囲の境界では、前記特定範囲内外のゲームパラメータ値は連続性を持った値へ変換する、請求項1に記載のゲームプログラム。
  4. 前記特定範囲設定手段は、前記基準値を中心とした所定の範囲を特定範囲として設定する、請求項1に記載のゲームプログラム。
  5. 前記変換手段は、前記入力範囲内の各入力値とそれぞれの入力値を変換した各ゲームパラメータ値との関係が連続的になるように変換を行う、請求項1に記載のゲームプログラム。
  6. 前記変換手段は、前記入力範囲外の各入力値とそれぞれの入力値を変換した各ゲームパラメータ値との関係が連続的になるように変換を行う、請求項2に記載のゲームプログラム。
  7. 前記変換手段で行われる前記入力範囲外の各入力値に対する変換は、前記入力値を所定の曲線補間で補完することによる行われる、請求項2に記載のゲームプログラム。
  8. 前記基準値は、前記入力値を変換することにより得られるゲームパラメータ値に基づいた所定のゲーム処理の結果が、ゲーム内容に応じた最良の結果となるような所定の値である、請求項1に記載のゲームプログラム。
  9. 前記基準値設定手段は、
    前記入力値範囲の上限値を第1の比較値、前記入力値範囲の下限値を第2の比較値として設定する比較値設定手段と、
    前記第1の比較値と前記第2の比較値の中間値である入力中間値を算出する入力中間値算出手段と、
    前記第1の比較値と前記第2の比較値に前記所定の変換を行うことによりそれぞれ得られるゲームパラメータ値で所定のゲーム処理を行った結果である結果値をそれぞれ算出するシミュレート手段と、
    前記シミュレート手段によって算出された結果値を比較し、前記ゲーム内容に応じた最良の結果となるような所定の値との差が大きいほうのゲームパラメータ値へ前記所定の変換がされた前記比較値を前記入力中間値で更新する比較値更新手段とを含み、
    前記入力中間値算出手段とシミュレート手段と比較値更新手段とは、所定の条件が満たされるまで繰り返され、
    前記基準値設定手段は、前記所定の条件が満たされたときにおける前記入力中間値を基準値として設定する、請求項8に記載のゲームプログラム。
  10. 前記所定の条件とは、前記第1の比較値と第2の比較値とが一致したとき、および、入力値取得手段によって入力値が取得されたときのいずれかのときである、請求項9に記載のゲームプログラム。
  11. 前記基準値設定手段は、
    前記入力値範囲で所定間隔ごとの各値に前記所定の変換を行うことにより得られる各ゲームパラメータ値で所定のゲーム処理を行った結果である結果値をそれぞれ算出するシミュレート手段を含み、
    前記シミュレート手段によって算出された結果値のうち前記ゲーム内容に応じた最良の結果となるような結果値が算出されたゲームパラメータ値へ前記所定の変換がされた前記入力値範囲の値を基準値として設定する、請求項8に記載のゲームプログラム。
  12. 前記所定のゲーム処理とは、仮想ゲーム空間内の移動オブジェクトを飛ばす処理である、請求項8に記載のゲームプログラム。
  13. 前記ゲーム内容に応じた最良の結果となるような所定の値とは、前記移動オブジェクトの飛んだ位置または飛ぶ軌道を示すための値である、請求項12に記載のゲームプログラム。
  14. 入力装置自体の動きに応じて変化する入力値に基づいたゲーム処理を行うゲーム装置であって、
    前記入力値が取り得る範囲である入力値範囲内の所定値を基準値として設定する基準値設定部と、
    前記基準値を含む入力値範囲の一部を特定範囲として設定する特定範囲設定部と、
    前記入力装置自体の動きに応じて変化する入力値を取得する入力値取得部と、
    前記入力値取得部によって取得した入力値が前記特定範囲に含まれるとき、当該入力値を前記基準値と同一の値または当該入力値を当該基準値へ近づけた値であるゲームパラメータ値へ変換する変換部と、
    前記ゲームパラメータ値を用いたゲーム処理を行う処理部とを備える、ゲーム装置。
  15. 入力装置自体の動きに応じて変化する入力値に基づいたゲーム処理を行うゲームシステムであって、
    前記入力値が取り得る範囲である入力値範囲内の所定値を基準値として設定する基準値設定手段と、
    前記基準値を含む入力値範囲の一部を特定範囲として設定する特定範囲設定手段と、
    前記入力装置自体の動きに応じて変化する入力値を取得する入力値取得手段と、
    前記入力値取得手段によって取得した入力値が前記特定範囲に含まれるとき、当該入力値を前記基準値と同一の値または当該入力値を当該基準値へ近づけた値であるゲームパラメータ値へ変換する変換手段と、
    前記ゲームパラメータ値を用いたゲーム処理を行う処理手段とを備える、ゲームシステム。
  16. 入力装置自体の動きに応じて変化する入力値に基づいたゲーム処理をゲーム装置のコンピュータに実行させるゲーム処理方法であって、
    前記コンピュータが、前記入力値が取り得る範囲である入力値範囲内の所定値を基準値に設定する基準値設定ステップと、
    前記コンピュータが、前記基準値を含む入力値範囲の一部を特定範囲として設定する特定範囲設定ステップと、
    前記コンピュータが、前記入力装置自体の動きに応じて変化する入力値を取得する入力値取得ステップと、
    前記コンピュータが、前記入力値取得ステップにおいて取得した入力値が前記特定範囲に含まれるとき、当該入力値を前記基準値と同一の値または当該入力値を当該基準値へ近づけた値であるゲームパラメータ値へ変換する変換ステップと、
    前記コンピュータが、前記ゲームパラメータ値を用いたゲーム処理を行う処理ステップとを備える、ゲーム処理方法。
JP2006169972A 2006-06-20 2006-06-20 ゲームプログラムおよびゲーム装置 Active JP5030482B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006169972A JP5030482B2 (ja) 2006-06-20 2006-06-20 ゲームプログラムおよびゲーム装置
EP06019757.1A EP1870141B1 (en) 2006-06-20 2006-09-21 Recording medium recording game program and game apparatus
US11/581,007 US8721442B2 (en) 2006-06-20 2006-10-16 Recording medium recording game program and game apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006169972A JP5030482B2 (ja) 2006-06-20 2006-06-20 ゲームプログラムおよびゲーム装置

Publications (2)

Publication Number Publication Date
JP2008000184A JP2008000184A (ja) 2008-01-10
JP5030482B2 true JP5030482B2 (ja) 2012-09-19

Family

ID=37565008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006169972A Active JP5030482B2 (ja) 2006-06-20 2006-06-20 ゲームプログラムおよびゲーム装置

Country Status (3)

Country Link
US (1) US8721442B2 (ja)
EP (1) EP1870141B1 (ja)
JP (1) JP5030482B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7782297B2 (en) * 2002-07-27 2010-08-24 Sony Computer Entertainment America Inc. Method and apparatus for use in determining an activity level of a user in relation to a system
US8570378B2 (en) 2002-07-27 2013-10-29 Sony Computer Entertainment Inc. Method and apparatus for tracking three-dimensional movements of an object using a depth sensing camera
US8313380B2 (en) 2002-07-27 2012-11-20 Sony Computer Entertainment America Llc Scheme for translating movements of a hand-held controller into inputs for a system
US9393487B2 (en) 2002-07-27 2016-07-19 Sony Interactive Entertainment Inc. Method for mapping movements of a hand-held controller to game commands
US8781151B2 (en) 2006-09-28 2014-07-15 Sony Computer Entertainment Inc. Object detection using video input combined with tilt angle information
US8310656B2 (en) 2006-09-28 2012-11-13 Sony Computer Entertainment America Llc Mapping movements of a hand-held controller to the two-dimensional image plane of a display screen
USRE48417E1 (en) 2006-09-28 2021-02-02 Sony Interactive Entertainment Inc. Object direction using video input combined with tilt angle information
US20080096657A1 (en) * 2006-10-20 2008-04-24 Sony Computer Entertainment America Inc. Method for aiming and shooting using motion sensing controller
JP5427343B2 (ja) 2007-04-20 2014-02-26 任天堂株式会社 ゲームコントローラ
JP5427346B2 (ja) 2007-10-05 2014-02-26 任天堂株式会社 荷重検出プログラム、荷重検出装置、荷重検出システムおよび荷重検出方法
JP5080196B2 (ja) 2007-10-09 2012-11-21 任天堂株式会社 プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP4382844B2 (ja) 2007-10-31 2009-12-16 任天堂株式会社 調整用加重機、および調整用加重方法
JP4286307B2 (ja) * 2007-11-21 2009-06-24 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP5361349B2 (ja) 2008-11-28 2013-12-04 任天堂株式会社 情報処理装置、コンピュータプログラム、情報処理システム、および情報処理方法
JP5806443B2 (ja) 2008-12-26 2015-11-10 任天堂株式会社 生体情報管理システム
JP5271121B2 (ja) 2009-03-09 2013-08-21 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5436909B2 (ja) 2009-03-30 2014-03-05 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP5537083B2 (ja) * 2009-07-31 2014-07-02 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5161182B2 (ja) 2009-09-28 2013-03-13 任天堂株式会社 情報処理プログラム及び情報処理装置
JP5610735B2 (ja) 2009-09-29 2014-10-22 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および、情報処理システム
JP5496591B2 (ja) * 2009-09-30 2014-05-21 任天堂株式会社 情報処理プログラム及び情報処理装置
JP6316385B1 (ja) * 2016-11-16 2018-04-25 株式会社バンダイ 演出出力玩具
JP6759267B2 (ja) * 2018-03-30 2020-09-23 株式会社バンダイナムコエンターテインメント ゲームシステム及びプログラム
US11497997B2 (en) * 2019-12-27 2022-11-15 Bandai Namco Entertainment Inc. Server system, game system, and game execution method
JP2023135285A (ja) * 2022-03-15 2023-09-28 株式会社バンダイナムコアミューズメントラボ ゲーム装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3086827B2 (ja) * 1992-12-28 2000-09-11 株式会社セガ・エンタープライゼス コントロールキー装置
US5734373A (en) 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
JPH1021000A (ja) * 1996-06-28 1998-01-23 Sumitomo Metal Ind Ltd 信号入力装置
US6203432B1 (en) * 1999-05-11 2001-03-20 Madcatz, Inc. System for adjusting the response characteristic of an electronic game input device
TW585797B (en) * 2000-01-14 2004-05-01 Sony Computer Entertainment Inc Computer with pressure-sensitive means, method of computer having a pressure-sensitive means and vibration means, method of using the same and recording medium for the method
US7500917B2 (en) * 2000-02-22 2009-03-10 Creative Kingdoms, Llc Magical wand and interactive play experience
JP2002007057A (ja) * 2000-06-23 2002-01-11 Shinsedai Kk プロセサ用入力装置
JP3821282B2 (ja) * 2002-02-01 2006-09-13 任天堂株式会社 ゲーム装置及びゲームプログラム
JP3865663B2 (ja) * 2002-07-18 2007-01-10 新世代株式会社 ボクシングゲームシステム
US7850526B2 (en) * 2002-07-27 2010-12-14 Sony Computer Entertainment America Inc. System for tracking user manipulations within an environment
US7030856B2 (en) * 2002-10-15 2006-04-18 Sony Corporation Method and system for controlling a display device
JP4202366B2 (ja) * 2006-03-08 2008-12-24 任天堂株式会社 動き判別装置および動き判別プログラム

Also Published As

Publication number Publication date
EP1870141B1 (en) 2020-05-20
US20070293317A1 (en) 2007-12-20
US8721442B2 (en) 2014-05-13
JP2008000184A (ja) 2008-01-10
EP1870141A1 (en) 2007-12-26

Similar Documents

Publication Publication Date Title
JP5030482B2 (ja) ゲームプログラムおよびゲーム装置
JP5188682B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステムおよびゲーム制御方法
JP4151982B2 (ja) 動き判別装置および動き判別プログラム
JP4202366B2 (ja) 動き判別装置および動き判別プログラム
JP4330593B2 (ja) ゲーム装置およびゲームプログラム
EP2302487B1 (en) Storage medium with information processing program and information processing apparatus for detecting swing direction of input device
JP5196515B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
EP1923108B1 (en) Game apparatus and storage medium having game program stored thereon
US20170291103A1 (en) Video game using dual motion sensing controllers
JP4988273B2 (ja) ゲームプログラムおよびゲーム装置
JP5334595B2 (ja) ゲーム装置およびゲームプログラム
US7980951B2 (en) Storage medium having game program stored thereon and game apparatus
JP5294554B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
JP4789984B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法
JP5074343B2 (ja) ゲーム装置およびゲームプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090515

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120625

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120626

R150 Certificate of patent or registration of utility model

Ref document number: 5030482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250