JP5004518B2 - ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法 - Google Patents

ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法 Download PDF

Info

Publication number
JP5004518B2
JP5004518B2 JP2006172820A JP2006172820A JP5004518B2 JP 5004518 B2 JP5004518 B2 JP 5004518B2 JP 2006172820 A JP2006172820 A JP 2006172820A JP 2006172820 A JP2006172820 A JP 2006172820A JP 5004518 B2 JP5004518 B2 JP 5004518B2
Authority
JP
Japan
Prior art keywords
game
screen
coordinate
data
pixel
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
JP2006172820A
Other languages
English (en)
Other versions
JP2008000345A (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 JP2006172820A priority Critical patent/JP5004518B2/ja
Publication of JP2008000345A publication Critical patent/JP2008000345A/ja
Application granted granted Critical
Publication of JP5004518B2 publication Critical patent/JP5004518B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ゲーム装置ゲームプログラム、ゲームシステム、およびゲーム処理方法に関し、より特定的には、入力装置からの出力に応じて得られる所定の座標系に基づいた座標情報を用いて操作されるゲーム装置、ゲームシステム、ゲーム処理方法、および当該ゲーム装置で実行されるゲームプログラムに関する。
従来、振動ユニットを備えたタッチパネルによって操作される装置が開示されている(例えば、特許文献1参照)。上記特許文献1に記載されたタッチパネル式入力装置は、透明なタッチパネルが液晶表示ユニット(LCD)の上部に配設されている。入力装置は、LCDに表示する文字または図形の表示制御を行うLCD表示制御部と、タッチパネルに所定の押下操作が行われたとき押下検出および押下位置検出を行うタッチパネル検出部を備えている。また、上記入力装置にはタッチパネルに対してタッチ操作する指先に対して振動を伝える振動ユニットが設けられており、振動ユニットが振動ユニット制御部によって駆動制御される。そして、タッチパネル検出部、LCD表示制御部、および振動ユニット駆動部は、CPUによって制御される。上記入力装置は、タッチパネル検出部によって検出された位置が、LCD表示制御部によって表示された文字・図形等の領域内であるときに、振動ユニットを振動させる。
特開2000−137576号公報
しかしながら、上記特許文献1で開示されたタッチパネル式入力装置は、LCDに表示されている図形等の位置がタッチ操作されることに応じて振動を発生させるものであるが、これは視覚的な情報を振動によって補うものであって、振動によって利用者に与える刺激をあくまで補助的に利用するものである。
それ故に、本発明の目的は、視覚以外の感覚を利用した新しい感覚のゲーム装置およびゲームプログラムを提供することである。
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
第1の発明は、表示装置(2)の画面上の位置に対応する座標を指示するためのデータ(Da1、Da2)を出力することが可能な入力装置(7)から取得されるデータを用いてゲーム処理を行うゲーム装置(3)である。入力装置は、触覚刺激を発生する触覚刺激発生手段(704)を備えている。ゲーム装置は、座標取得手段(S54)、オブジェクト設定手段(S51)、表示制御手段(S52、S53、S59〜S61)、判定手段(S55)、および触覚刺激制御手段(S56、S57)を備える。座標取得手段は、入力装置から出力されたデータを用いて画面上の位置に対応する座標(Db1)を取得する。オブジェクト設定手段は、仮想ゲーム世界に所定のオブジェクト(OBJ)を設定する。表示制御手段は、オブジェクトを非表示にして仮想ゲーム世界を表示装置に表示する(図13、図14)。判定手段は、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトと重なる位置であるか否かを判定する。触覚刺激制御手段は、判定手段が座標取得手段で取得された座標がオブジェクトと重なる位置であると判定したとき、触覚刺激発生手段に触覚刺激を発生させる。なお、入力装置としては、撮像装置が撮像した撮像対象の画像を解析して表示装置の画面に対する座標を指定するためのデータが出力可能なデバイス、画面を覆うように設置されたタッチパネル、マウス、トラックパッド、トラックボール等で実現される。
第2の発明は、上記第1の発明において、触覚刺激発生手段は、触覚刺激として振動を発生させる振動発生手段である。
第3の発明は、上記第1または第2の発明において、表示条件検出手段(S58)を、さらに備える。表示条件検出手段は、オブジェクトを表示装置に表示するために予め設定された所定の条件に対して、その条件を満たしていることを検出する。表示制御手段は、表示条件検出手段が条件を満たしていると検出したとき、オブジェクトを表示した仮想ゲーム世界を表示装置に表示する(図15)。
第4の発明は、上記第2の発明において、入力装置は、押下可能なキーとそのキーの押下に応じた信号を出力するスイッチとからなる操作部(72)を、さらに備える。表示条件検出手段は、所定の操作部が押下されたことを示す信号が入力しているとき、条件が満たされていると検出する。
第5の発明は、上記第1または第2の発明において、判定手段は、仮想ゲーム世界を表示装置に表示する処理において、座標取得手段で取得された座標と重なる画素に関してバッファリングされる値を用いてオブジェクトを示す位置であるか否かを判定する。ここで、表示処理においてバッファリングされる値とは、例えば、フレームバッファにバッファリングされるRGB値(色情報)、αバッファにバッファリングされるα値(透明度情報)、ZバッファにバッファリングされるZ値(深度情報)等を示している。
第6の発明は、上記第5の発明において、オブジェクト設定手段は、仮想ゲーム世界の背景色と異なった色(文字色)のオブジェクトをその仮想ゲーム世界の背景上に設定する。判定手段は、座標取得手段で取得された座標によって示される位置の画素に対して、その画素の色がオブジェクトの色か否かを判定し、オブジェクトの色であると判定したとき、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトを示す位置であると判定する。。表示制御手段は、判定手段による判定の後、オブジェクトを背景色で塗りつぶして仮想ゲーム世界を表示装置に表示する。
第7の発明は、上記第1または第2の発明において、入力装置は、ゲーム装置および表示装置と物理的に分離して別設される。
第8の発明は、上記第7の発明において、入力装置は、本体に固設され、その本体を基準に所定方向の周辺を撮像する撮像部(74)を含む。座標取得手段は、撮像部によって撮像した撮像画像自体または撮像画像に所定の演算を行った結果を示すデータを用いて、所定の撮像対象のその撮像画像内における位置に基づいて画面上の座標を算出する。
第9の発明は、表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置である。入力装置は、音声を発生させる音声発生手段(706)を備えている。ゲーム装置は、座標取得手段、オブジェクト設定手段、表示制御手段、判定手段、および音声制御手段を備える。座標取得手段は、入力装置から出力されたデータを用いて画面上の座標を取得する。オブジェクト設定手段は、仮想ゲーム世界に所定のオブジェクトを設定する。表示制御手段は、オブジェクトを非表示にして仮想ゲーム世界を表示装置に表示する。判定手段は、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトと重なる位置であるか否かを判定する。音声制御手段は、判定手段が座標取得手段で取得された座標がオブジェクトと重なる位置であると判定したとき、音声発生手段から所定の音声を発生させる。
第10の発明は、上記第9の発明において、表示条件検出手段を、さらに備える。表示条件検出手段は、オブジェクトを表示装置に表示するために予め設定された所定の条件に対して、その条件を満たしていることを検出する。表示制御手段は、表示条件検出手段が条件を満たしていると検出したとき、オブジェクトを表示した仮想ゲーム世界を表示装置に表示する。
第11の発明は、上記第8の発明において、入力装置は、ゲーム装置および表示装置と物理的に分離して別設される。
第12の発明は、表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置である。入力装置は、振動モータおよび/またはスピーカを備えている。ゲーム装置は、座標取得手段、オブジェクト設定手段、表示制御手段、判定手段、および制御手段を備える。座標取得手段は、入力装置から出力されたデータを用いて画面上の位置に対応する座標を取得する。オブジェクト設定手段は、仮想ゲーム世界に所定のオブジェクトを設定する。表示制御手段は、オブジェクトを非表示にして仮想ゲーム世界を表示装置に表示する。判定手段は、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトと重なる位置であるか否かを判定する。制御手段は、判定手段が座標取得手段で取得された座標がオブジェクトと重なる位置であると判定したとき、振動モータおよび/またはスピーカを作動させて振動および/または音声を発生させる。
第13の発明は、表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置のコンピュータ(30)で実行されるゲームプログラムである。入力装置は、触覚刺激を発生する触覚刺激発生手段を備えている。ゲームプログラムは、座標取得手段、オブジェクト設定手段、表示制御手段、判定手段、および触覚刺激制御手段としてコンピュータを機能させる。座標取得手段は、入力装置から出力されたデータを用いて画面上の位置に対応する座標を取得する。オブジェクト設定手段は、仮想ゲーム世界に所定のオブジェクトを設定する。表示制御手段は、オブジェクトを非表示にして仮想ゲーム世界を表示装置に表示する。判定手段は、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトと重なる位置であるか否かを判定する。触覚刺激制御手段は、判定手段が座標取得手段で取得された座標がオブジェクトと重なる位置であると判定したとき、触覚刺激発生手段を作動させて触覚刺激を発生させる。
第14の発明は、上記第13の発明において、表示条件検出手段として、さらにコンピュータを機能させる。表示条件検出手段は、オブジェクトを表示装置に表示するために予め設定された所定の条件に対して、その条件を満たしていることを検出する。表示制御手段は、表示条件検出手段が条件を満たしていると検出したとき、オブジェクトを表示にした仮想ゲーム世界を表示装置に表示する。
第15の発明は、上記第14の発明において、入力装置は、押下可能なキーとそのキーの押下に応じた信号を出力するスイッチとからなる操作部を、さらに備える。表示条件検出手段は、所定の操作部が押下されたことを示す信号が入力しているとき、条件が満たされていると検出する。
第16の発明は、上記第13の発明において、判定手段は、仮想ゲーム世界を表示装置に表示する処理において、座標取得手段で取得された座標と重なる画素に関してバッファリングされる値を用いてオブジェクトを示す位置であるか否かを判定する。
第17の発明は、上記第16の発明において、オブジェクト設定手段は、仮想ゲーム世界の背景色と異なった色のオブジェクトをその仮想ゲーム世界の背景上に設定する。判定手段は、座標取得手段で取得された座標によって示される位置の画素に対して、その画素の色がオブジェクトの色か否かを判定し、オブジェクトの色であると判定したとき、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトを示す位置であると判定する。表示制御手段は、判定手段による判定の後、オブジェクトを背景色で塗りつぶして仮想ゲーム世界を表示装置に表示する。
第18の発明は、上記第13の発明において、入力装置は、本体に固設され、その本体を基準に所定方向の周辺を撮像する撮像部を含む。座標取得手段は、撮像部によって撮像した撮像画像自体または撮像画像に所定の演算を行った結果を示すデータを用いて、所定の撮像対象のその撮像画像内における位置に基づいて画面上の座標を算出する。
第19の発明は、表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置のコンピュータで実行されるゲームプログラムである。入力装置は、音声を発生させる音声発生手段を備えている。ゲームプログラムは、座標取得手段、オブジェクト設定手段、表示制御手段、判定手段、および音声制御手段としてコンピュータを機能させる。座標取得手段は、入力装置から出力されたデータを用いて画面上の座標を取得する。オブジェクト設定手段は、仮想ゲーム世界に所定のオブジェクトを設定する。表示制御手段は、オブジェクトを非表示にして仮想ゲーム世界を表示装置に表示する。判定手段は、座標取得手段で取得された座標によって指示される仮想ゲーム世界における位置が、非表示のオブジェクトと重なる位置であるか否かを判定する。音声制御手段は、判定手段が座標取得手段で取得された座標がオブジェクトと重なる位置であると判定したとき、音声発生手段から所定の音声を発生させる。
第20の発明は、上記第19の発明において、表示条件検出手段として、さらにコンピュータを機能させる。表示条件検出手段は、オブジェクトを表示装置に表示するために予め設定された所定の条件に対して、その条件を満たしていることを検出する。表示制御手段は、表示条件検出手段が条件を満たしていると検出したとき、オブジェクトを表示にした仮想ゲーム世界を表示装置に表示する。
上記第1の発明によれば、オブジェクトが表示装置の画面で視認できない状態であっても、触覚刺激によって非表示のオブジェクトを感知することができ、視覚とは異なった触覚刺激を利用した新しいゲームが可能となる。
上記第2の発明によれば、オブジェクトが表示装置の画面で視認できない状態であっても、振動によって非表示のオブジェクトを感知することができ、視覚とは異なった触覚を利用した新しいゲームが可能となる。
上記第3の発明によれば、所定の表示条件を満たすことによって非表示のオブジェクトが表示画面に表示されるため、プレイヤは自身の感知結果を確認することができる。
上記第4の発明によれば、プレイヤが所定の操作部を押下することによって非表示のオブジェクトが表示画面に表示されるため、容易にオブジェクトの隠蔽を解除することができる。
上記第5の発明によれば、表示処理の際にバッファリングされる値(例えば、RGB値、α値、Z値)を利用して、取得された座標がオブジェクト上であるか区別されるため、表示するオブジェクトに特別なデータを用意する必要がない。
上記第6の発明によれば、表示処理の際にフレームバッファにバッファリングされる色情報を利用して、取得された座標がオブジェクト上であるか区別されるため、表示するオブジェクトに特別なデータを用意する必要がない。
上記第7の発明によれば、表示画面およびゲーム装置とは別体の入力装置で操作可能であり、当該入力装置に加えられる振動の有無に応じて遠隔のオブジェクトを感知することができる。
上記第8の発明によれば、入力装置に固設された撮像部で撮像された撮像画像または撮像画像から得られる情報を用いて、撮像対象に対する当該入力装置の方向や位置を算出できるため、入力装置方向や位置に応じた表示画面の位置(例えば、入力装置で表示画面を指し示す位置)を用いたゲーム操作が可能となる。
上記第9の発明によれば、オブジェクトが表示装置の画面で視認できない状態であっても、音声によって非表示のオブジェクトを感知することができ、視覚とは異なった聴覚を利用した新しいゲームが可能となる。
また、本発明のゲームプログラムによれば、コンピュータで実行されることによって、上述したゲーム装置と同様の効果を得ることができる。
図1を参照して、本発明の一実施形態に係るゲームシステム1について説明する。なお、図1は、当該ゲームシステム1を説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明のゲームシステム1について説明する。
図1において、当該ゲームシステム1は、家庭用テレビジョン受像機等のスピーカ2aを備えたディスプレイ(以下、モニタと記載する)2に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)3および当該ゲーム装置3に操作情報を与えるコントローラ7によって構成される。ゲーム装置3は、接続端子を介して通信ユニット6が接続される。通信ユニット6は、コントローラ7から無線送信されるデータを受信し、ゲーム装置3からコントローラ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の表示画面から隠蔽された文字等のオブジェクトやキャラクタを探すためのカーソルを移動させたり、当該隠蔽されたオブジェクトやキャラクタをモニタ2に表示させる指示を行ったり、ゲーム空間に登場するプレイヤオブジェクトを操作したりするための操作手段である。コントローラ7は、複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって例えば赤外光を出力する。また、コントローラ7は、ゲーム装置3の通信ユニット6から無線送信された送信データを通信部75で受信して、当該送信データに応じた音や振動を発生させることもできる。
次に、図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へ出力する。また、通信ユニット6は、コントローラI/F36を介してCPU30から出力された送信データをコントローラ7の通信部75へ送信する。ビデオ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つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜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上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5のスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。
図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。また、図示しない無線モジュール753(図7参照)およびアンテナ754によって、コントローラ7がワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子703が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の回転を良好な感度でゲーム装置3等が判定することができる。
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置3から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置3から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。
次に、図7を参照して、コントローラ7の内部構成について説明する。なお、図7は、コントローラ7の構成を示すブロック図である。
図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。後述により明らかとなるが、この撮像情報演算部74から出力される処理結果データに基づいて、コントローラ7の位置や動きに応じた信号を得ることができる。
コントローラ7は、3軸(X、Y、Z軸)の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向(または他の対になった方向)のそれぞれに沿った直線加速度のみを検知する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は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角に変換するものであってもよい。加速度センサ701でそれぞれ検知された加速度を示すデータは通信部75に出力される。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置3からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置3から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置3から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの加速度信号(X、Y、およびZ軸方向加速度データ;以下、単に加速度データと記載する)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を通信ユニット6へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から通信ユニット6への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(Bluetooth;登録商標)で構成される通信部75の送信間隔は例えば5msである。マイコン751は、通信ユニット6への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データが無線モジュール753で電波信号に変調されてコントローラ7から送信される。そして、ゲーム装置3の通信ユニット6でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
次に、図8〜図11を参照して、ゲーム装置3が行う具体的な処理を説明する前に、本ゲーム装置3で行うゲームの概要について説明する。図8および図9は、プレイヤがコントローラ7を操作して当該ゲームをプレイしている一例である。図10は、プレイヤがコントローラ7を右手で把持した状態をコントローラ7の前面側から見た一例である。図11は、プレイヤがコントローラ7を右手で把持した状態をコントローラ7の左側面側から見た一例である。
図8〜図11に示すように、プレイヤがゲームをプレイするためには、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がモニタ2の表示画面と対向するように一方の手(例えば右手)でコントローラ7を把持する。そして、プレイヤの親指をコントローラ7の上面(例えば、操作ボタン72d付近)に添え、プレイヤの人差し指をコントローラ7下面の凹部(例えば、操作ボタン72i付近)に添えたとき、コントローラ7の前面に設けられている撮像情報演算部74の光入射口がプレイヤの前方方向に露出する。一方、モニタ2の表示画面近傍には、2つのマーカ8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力し、撮像情報演算部74の撮像対象となる。マーカ8Lおよび8Rは、モニタ2に一体的に設けられても良いし、モニタ2とは別体で設けられてモニタ2の近く(モニタ2の上や下など)に載置されて使用されるものであってもよい。なお、このようなコントローラ7に対する把持状態は、プレイヤの左手であっても同様に行えることは言うまでもない。
このように、コントローラ7は、プレイヤが片手で把持した状態で操作部72を容易に操作することができる。さらに、プレイヤがコントローラ7を片手で把持したとき、当該コントローラ7の前面に設けられている撮像情報演算部74の光入射口が露出するため、上述した2つのマーカ8Lおよび8Rからの赤外光を容易に当該光入射口から取り入れることができる。つまり、プレイヤは、撮像情報演算部74の機能を阻害することなくコントローラ7を片手で把持することができる。ここで、コントローラ7が縦長形状であり、当該長手方向の端部前面に撮像情報演算部74の光入射口が配設されているため、撮像情報演算部74を利用してプレイヤがコントローラ7で指し示すような操作に好適である。
ここで、図12に示すように、マーカ8Lおよび8Rは、それぞれ視野角θ1を有している。また、撮像素子743は、視野角θ2を有している。例えば、マーカ8Lおよび8Rの視野角θ1は共に34°(半値角)であり、撮像素子743の視野角θ2は41°である。そして、撮像素子743の視野角θ2の中にマーカ8Lおよび8Rが共に存在し、マーカ8Lの視野角θ1の中でかつマーカ8Rの視野角θ1の中に撮像素子743が存在するとき、ゲーム装置3は、2つのマーカ8Lおよび8Rによる高輝度点に関する位置データを用いてコントローラ7の位置を算出する。
プレイヤがその前面がモニタ2に向くようにコントローラ7を把持することによって、撮像情報演算部74には2つのマーカ8Lおよび8Rが出力した赤外光が入射する。そして、赤外線フィルタ741およびレンズ742を介して、入射した赤外光を撮像素子743が撮像し、当該撮像画像を画像処理回路744が処理する。ここで、撮像情報演算部74では、マーカ8Lおよび8Rから出力される赤外線成分を検出することで、上記撮像画像における当該マーカ8Lおよび8Rの位置情報(対象画像の位置)や面積、直径、幅等のサイズ情報を取得する。具体的には、画像処理回路744は、撮像素子743が撮像した画像データを解析して、まず面積情報からマーカ8Lおよび8Rからの赤外光ではあり得ない画像を除外し、さらに輝度が高い点をマーカ8Lおよび8Rそれぞれの位置として判別する。そして、撮像情報演算部74は、判別されたそれらの輝点の重心位置等の位置情報を取得し、上記処理結果データとして出力する。ここで、上記処理結果データである位置情報は、撮像画像における所定の基準点(例えば、撮像画像の中央や左上隅)を原点とした座標値として出力するものでもよく、所定のタイミングにおける輝点位置を基準点として、当該基準位置からの現在の輝点位置の差をベクトルとして出力するものでもよい。つまり、上記対象画像の位置情報は、撮像素子743が撮像した撮像画像に対して所定の基準点を設定した場合に、当該基準点に対する差として用いられるパラメータである。このような位置情報をゲーム装置3へ送信することによって、ゲーム装置3では、基準からの上記位置情報の差に基づいて、マーカ8Lおよび8Rに対する撮像情報演算部74、すなわちコントローラ7の動き、姿勢、位置等に応じた信号の変化量を得ることができる。具体的には、コントローラ7が動かされることによって、通信部75から送信される画像内の高輝度点の位置が変化するため、高輝度点の位置の変化に対応させた方向入力や座標入力を行うことで、3次元空間に対してコントローラ7の移動方向に沿った方向入力や座標入力を行うことができる。なお、後述するゲーム処理動作例では、撮像情報演算部74が撮像画像におけるマーカ8Lおよび8Rの対象画像それぞれの重心位置の座標を少なくとも取得し、上記処理結果データとして出力する例を用いる。
このように、コントローラ7の撮像情報演算部74によって、固定的に設置されたマーカ(実施例では、2つのマーカ8Lおよび8Rからの赤外光)を撮像することによって、ゲーム装置3におけるゲーム処理において、コントローラ7から出力されるデータを処理してコントローラ7の動き、姿勢、位置等に対応した操作が可能となり、ボタンを押下するような操作ボタンや操作キーとは異なった直感的な操作入力となる。また、上述したように上記マーカ8Lおよび8Rは、モニタ2の表示画面近傍に設置されているため、マーカ8Lおよび8Rに対する位置をモニタ2の表示画面に対するコントローラ7の動き、姿勢、位置等に換算することも容易に行うことができる。つまり、コントローラ7の動き、姿勢、位置等による処理結果データは、モニタ2の表示画面に直接作用する操作入力として用いることができ、例えば、表示画面に対してコントローラ7で指し示した位置を算出することができる。したがって、プレイヤがコントローラ7を把持した手をモニタ2の表示画面に対して動かすことによって、プレイヤの手の運動が表示画面に直接的に作用する操作入力を備えることができ、コントローラ7が表示画面に対して座標指定するためのデータを出力可能なポインティングデバイスとして機能する。
本発明を適用して実現するゲームの一例として、隠蔽された文字を当てる文字当てゲームがある。例えば、図8に示すように、プレイヤがコントローラ7で指し示した表示画面上の位置にカーソルが表示される。そして、隠蔽された文字と上記カーソルとが重ならないとき、コントローラ7に振動は与えられない。なお、隠蔽された文字とは、プレイヤがモニタ2の表示画面からは視認できない文字を示しており、文字の位置をわかりやすくするために図面では隠蔽された数字の「8」を破線で示している。一方、図9に示すように、隠蔽された文字と上記カーソルとが重なるとき、コントローラ7に振動が与えられる。このようにプレイヤがコントローラ7で指し示す位置に表示されるカーソルでモニタ2の表示画面内を振動の有無によって探索することによって、隠蔽されている文字の形状を推定することができる。以下、図13〜図15を参照して、モニタ2に表示される詳細な画像の例について説明する。
図13は、モニタ2に表示されるカーソルCおよびモニタ2に隠蔽されるオブジェクトOBJの一例であり、その際のコントローラ7の状態を示している。なお、図13においても、プレイヤが視認できない隠蔽された文字を破線で示しており、プレイヤはモニタ2においてカーソルCのみが視認できる状態である。図13に示すように、カーソルCが隠蔽されたオブジェクトOBJと重ならない状態で配置されているとき、コントローラ7に振動が与えられない。
図14も、モニタ2に表示されるカーソルCおよびモニタ2の表示から隠蔽されるオブジェクトOBJの一例であり、その際のコントローラ7の状態を示している。なお、図14においても、プレイヤが視認できない隠蔽された文字を破線で示しており、プレイヤはモニタ2においてカーソルCのみが視認できる状態である。図14に示すように、カーソルCが隠蔽されたオブジェクトOBJと重なった状態で配置されているとき、コントローラ7に振動が与えられる。
図15は、モニタ2に表示されるカーソルCおよび隠蔽状態が解除されて表示されたオブジェクトOBJの一例である。例えば、オブジェクトOBJの隠蔽状態は、所定の操作部72(例えば、操作ボタン72d)が押下されたとき、ゲーム開始後に所定時間が経過したとき、隠蔽された文字をプレイヤが答える操作を行って正解であったとき等、所定の条件を満たしたことに応じて解除され、モニタ2にプレイヤが視認できる状態でオブジェクトOBJが表示される。図15においては、プレイヤが視認できる状態で表示されたオブジェクトOBJを塗りつぶし領域で示している。
次に、ゲームシステム1において行われるゲーム処理の詳細を説明する。まず、図16を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図16は、ゲーム装置3のメインメモリ33に記憶されるゲームプログラムおよびデータの一例を示す図である。
図16に示すように、メインメモリ33には、ゲームプログラムGP、操作情報Da、およびゲーム情報Db等が記憶される。なお、メインメモリ33には、図16に示す情報に含まれるデータの他、ゲームに登場するオブジェクトやキャラクタに関する他のデータ等、ゲーム処理に必要なデータが記憶される。
ゲームプログラムGPは、CPU30が処理に必要なプログラムを光ディスク4から読み出して適宜記憶するものであり、ゲーム処理(後述するステップ51〜ステップ62)を定義するプログラムである。このゲームプログラムGPの実行開始によってゲーム処理が開始される。
操作情報Daは、コントローラ7から送信データとして送信されてくる一連の操作情報であり、最新の操作情報に更新される。操作情報Daには、上述の処理結果データに相当する第1座標データDa1および第2座標データDa2が含まれる。第1座標データDa1は、撮像素子743が撮像した撮像画像に対して、2つのマーカ8Lおよび8Rのうちの一方の画像の位置(撮像画像内における位置)を表す座標のデータである。第2座標データDa2は、他方のマーカの画像の位置(撮像画像内における位置)を表す座標のデータである。例えば、マーカの画像の位置は、撮像画像におけるXY座標系によって表される。
また、操作情報Daには、撮像画像から得られる処理結果データの一例の座標データ(第1座標データDa1および第2座標データDa2)の他、操作部72から得られるキーデータDa3および加速度センサ701から得られる加速度データDa4等が含まれる。なお、ゲーム装置3に備える通信ユニット6は、コントローラ7から所定間隔例えば5msごとに送信される操作情報Daを受信し、通信ユニット6に備える図示しないバッファに蓄えられる。その後、ゲーム処理間隔である例えば1フレーム毎(1/60秒)に読み出され、その最新の情報がメインメモリ33に記憶される。
ゲーム情報Dbは、カーソル位置データDb1および画像データDb2等が含まれる。カーソル位置データDb1は、表示画面に表示されるゲーム画像上においてカーソルCが表示される位置を示す座標データであり、第1座標データDa1および第2座標データDa2に基づいて算出される。例えば、カーソル位置データDb1は、第1座標データDa1から第2座標データDa2への方向を示す方向データ(例えば、第1座標データDa1の位置を始点とし第2座標データDa2の位置を終点とするベクトルデータ)や第1座標データDa1と第2座標データDa2との中点を示す中点座標データに基づいて算出される。ここで、2つのマーカ(マーカ8Lおよび8R)の画像を1つの対象画像としてみた場合、中点座標データは、対象画像の位置を示すことになる。画像データDb2は、背景画像データDb21、文字画像データDb22、およびカーソル画像データDb23等を含んでいる。背景画像データDb21は、表示画面に表示する背景を生成するためのデータである。文字画像データDb22は、表示画面に表示(オブジェクトOBJ)または隠蔽される文字画像を生成するためのデータであって、画像データであってもよいし、文字画像を生成するための文字コードとフォントのような文字データであってもよい。背景画像データDb21は、表示画面に表示するカーソルCを生成するためのデータである。
次に、図17を参照して、ゲーム装置3において行われるゲーム処理の詳細を説明する。なお、図17は、ゲーム装置3において実行されるゲーム処理を示すフローチャートである。なお、図17に示すフローチャートにおいては、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図17では、CPU30が実行する各ステップを「S」と略称する。
ゲーム装置3の電源が投入されると、ゲーム装置3のCPU30は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ33等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリ33に読み込まれ、CPU30によって当該ゲームプログラムの実行が開始される。図17に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。
図17において、CPU30は、ゲーム処理の初期設定を行い(ステップ51)、処理を次のステップに進める。例えば、CPU30は、隠蔽してプレイヤに探索させる文字を決定して、当該文字に応じた文字画像データDb22等を準備する。
次に、CPU30は、背景画像データDb21を参照して、ゲーム画像の背景を背景色(例えば、黒)で塗りつぶした画像データを生成し、GPU32が用いる画像処理専用のメモリやメインメモリ33の一部の記憶領域、すなわちグラフィックスイメージを保持するメモリ領域(以下、フレームバッファと記載する)に書き込む(ステップ52)。そして、CPU30は、文字画像データDb22を参照して、プレイヤに探索させる文字(オブジェクトOBJ;図13〜図15参照)を上記背景色とは異なった文字色(例えば、白)で描画した画像データを生成し、上記フレームバッファに書き込んで(ステップ5)、処理を次のステップに進める。この際、文字画像データDb22が画像データであれば、当該画像を描画すればよいし、文字コードとフォントのような文字データの場合には、当該文字から文字画像を生成し、描画を行う。
次に、CPU30は、コントローラ7から受信した操作情報に基づいて、カーソル位置を取得して(ステップ54)、処理を次のステップに進める。以下、コントローラ7から受信した操作情報に基づいてカーソル位置を算出する方法例について説明する。
上記ステップ54において、CPU30は、コントローラ7から受信した操作情報を操作情報Daとしてメインメモリ33に記憶する。ここで、ステップ54で取得される操作情報には、少なくともマーカ8Lおよび8Rの撮像画像内における位置を示す座標データ(第1座標データDa1および第2座標データDa2)の他、コントローラ7の操作部72がどのように操作されたか示すデータ(キーデータDa3)が含まれている。ここでは、通信部75は、所定の時間間隔(例えば5ms間隔)で操作情報をゲーム装置3へ送信する。そして、CPU30は、1フレーム毎に操作情報を利用するものとする。したがって、図17に示すステップ52〜ステップ62の処理ループは、1フレーム毎に繰り返し実行される。
また、上記ステップ54において、第1座標データDa1と第2座標データDa2との中点を示す中点座標データ、および第1座標データDa1から第2座標データDa2への方向データ(例えば、第1座標データDa1の位置を始点とし第2座標データDa2の位置を終点とするベクトル)を算出する。ここで、中点データは、撮像画像内における対象画像(マーカ8Lおよび8R)の位置を示している。中点データと所定の基準位置との差によって、コントローラ7の位置の変化による画像位置の変化を算出することができる。
ここで、マーカ8Lおよび8Rと、モニタ2の表示画面と、コントローラ7との位置関係について考える。例えば、モニタ2の上面に2つのマーカ8Lおよび8Rを設置し(図8および図9参照)、上面が上方向を向いたコントローラ7を用いてプレイヤがモニタ2の表示画面の中央を指し示した場合(撮像情報演算部74の撮像画像の中央に表示画面中央が撮像されている状態)を考える。このとき、撮像情報演算部74の撮像画像において、対象画像の中点(マーカ8Lおよび8Rの中点)位置と指し示した位置(表示画面中央)とが一致しない。具体的には、上記撮像画像における対象画像の位置は、撮像画像の中心から上方の位置となる。このような位置に対象画像が位置する場合に、表示画面中央を指し示しているという基準位置の設定を行う。一方、コントローラ7の移動に対応して、撮像画像中の対象画像の位置も移動する(移動方向は逆方向となる)ので、撮像画像中の対象画像の位置の移動に対応させて表示画面を指し示す位置を移動させる処理を行うことによって、コントローラ7で指し示された表示画面基準の位置を算出することができる。ここで、基準位置の設定は、予めプレイヤが表示画面の所定位置を指し示し、そのときの対象画像の位置を当該所定位置と対応させて記憶しておくようにしてもよいし、対象画像と表示画面との位置関係が固定的であれば、予め設定されていても良い。また、マーカ8Lおよび8Rが、モニタ2とは別体で設けられてモニタ2の近く(モニタ2の上や下など)に載置されて使用されるものである場合には、ゲーム開始前に、マーカ8Lおよび8Rをモニタに対してどの位置に載置しているかをプレイヤに入力させ(例えば、モニタ2の上に載置したか下に載置したか等の選択肢から選択させ)、光ディスク4やゲーム装置3の内蔵不揮発メモリなどに、モニタの上に載置した場合の基準位置データと、モニタの下に載置した場合の基準位置データをそれぞれ記憶しておいて、それらを選択して使用してもよい。このような表示画面に対する位置座標は、中点データからモニタ2の表示画面基準の座標を算出する関数を用いた線形変換で算出される。この関数は、ある撮像画像から算出される中点座標の値を、当該撮像画像が撮像される時のコントローラ7によって指し示される表示画面上の位置を表す座標に変換するものである。この関数によって、中点座標から表示画面を基準とした指し示し位置を算出することができる。
しかしながら、上面が上方向以外(例えば、右方向)を向いたコントローラ7を用いてプレイヤがモニタ2の表示画面の中央を指し示した場合、つまりプレイヤがコントローラ7をひねったり傾けたりしながら操作を行った場合には、上記撮像画像における対象画像の位置は撮像画像の中心から上方以外(例えば、左方)の方向に移動した位置となる。つまり、コントローラ7の傾きによって、コントローラ7の移動方向と、表示画面基準の指し示し位置の移動方向が一致しないことになる。そこで、方向データに基づいて、中点データを補正する。具体的には、中点データを、コントローラ7の上面が上方向を向いた状態であるとした場合における中点座標に補正する。より具体的には、上記基準位置の設定の際には方向データの基準も設定され、算出された中点データを、方向データと当該基準方向との角度差に応じた量だけ、撮像画像の中心を軸として中点データが示す座標を回転移動させて補正する。そして、補正された中点データを用いて上述したように表示画面を基準とした指し示し位置を算出する。
そして、CPU30は、算出した表示画面を基準とした指し示し位置を、対応するゲーム画像における位置にさらに変換して、カーソル位置座標を算出してカーソル位置データDb1として格納する。ここで、指し示し位置に対応するゲーム画像における位置とは、モニタ2の表示画面上における位置に表示されるゲーム画像における位置(例えば、透視投影される位置)等である。
ここで、上記表示画面を基準とした指し示し位置の算出処理の本質的な原理は、コントローラ7の移動による対象画像の位置の変化によって、指し示された2次元座標の所定の基準位置からの変位を算出し、座標を設定するというものである。したがって、表示画面を基準とした指し示し位置座標は、他の2次元座標の入力としても幅広く用いることができる。例えば、指し示し位置座標をワールド座標系におけるx座標およびy座標の値として直接的に用いることができる。この場合、モニタ2の表示画面とは無関係に、対象画像の移動をワールド座標系におけるx座標およびy座標の基準位置からの移動に対応付ける算出処理を行えばよい。また、本実施例のように2次元のゲーム画像をモニタ2に表示する場合などは、表示画面を基準とした指し示し位置座標をそのまま2次元のゲーム座標系におけるx座標およびy座標の値として直接的に用いることができる。
図17に戻り、CPU30は、上記ステップ54で取得したカーソル位置座標に対応してフレームバッファに書き込まれている画素の色を取得し、当該色が文字色か否かを判断する(ステップ55)。そして、CPU30は、カーソル位置座標に対応する画素が背景色である場合、処理を次のステップ56に進める。一方、CPU30は、カーソル位置座標に対応する画素が文字色である場合、処理を次のステップ57に進める。
ステップ56において、CPU30は、コントローラ7に振動を与えないようにコントローラ7に内蔵されたバイブレータ704の作動を停止させる振動データを、通信ユニット6から通信部75へ送信する。そして、通信部75のマイコン751は、受信した振動データに応じて、バイブレータ704の作動をオフする。なお、既にバイブレータ704の作動が停止している場合、マイコン751は、バイブレータ704の作動停止状態を継続する。そして、CPU30は、次のステップ58に処理を進める。
一方、ステップ57において、CPU30は、コントローラ7に振動を与えるようにコントローラ7に内蔵されたバイブレータ704の作動を開始させる振動データを、通信ユニット6から通信部75へ送信する。そして、通信部75のマイコン751は、受信した振動データに応じて、バイブレータ704の作動をオンする。なお、既にバイブレータ704が作動中の場合、マイコン751は、バイブレータ704の作動を継続する。そして、CPU30は、次のステップ58に処理を進める。
ステップ58において、CPU30は、文字の隠蔽を解除するか否かを判断する。例えば、CPU30は、キーデータDa3等を参照して、隠蔽された文字の表示を指示する所定の操作部72(例えば、操作ボタン72d)が押下されているとき、ゲーム開始後に所定時間が経過したとき、隠蔽された文字をプレイヤが答える操作を行って正解であったとき等、所定の条件を満たしたことに応じて、文字の隠蔽を解除する。そして、CPU30は、文字の隠蔽を解除しない場合、文字色で描画された文字を背景色で塗りつぶした画像データを生成して、上記フレームバッファに書き込んで(ステップ59)、処理を次のステップ60に進める。一方、CPU30は、文字の隠蔽を解除する場合、そのまま処理を次のステップ60に進める。したがって、文字を隠蔽する場合、上記ステップ59で上記フレームバッファにゲーム画像が背景色で塗りつぶされた画像データが書き込まれる。また、文字を表示する場合、上記ステップ59が実行されないため、上記フレームバッファには文字が文字色で描画された画像データが書き込まれた状態となる。
ステップ60において、CPU30は、カーソル位置データDb1およびカーソル画像データDb23を参照して、例えば上記背景色とは異なったカーソル色(例えば、黄)で描画したカーソルC(図13〜図15参照)を、上記ステップ54で取得したカーソル位置座標に配置した画像データを生成し、上記フレームバッファに書き込んで、処理を次のステップに進める。
次に、CPU30は、フレームバッファに書き込まれた画像データに応じて、モニタ2にゲーム画像を表示する処理を行い(ステップ61)、処理を次のステップに進める。具体的には、GPU32が、フレームバッファに書き込まれた画像データを用いてモニタ2に表示すべきゲーム画像データを生成し、メモリコントローラ31およびビデオI/F37を介してモニタ2に出力する。
次に、CPU30は、ゲームを終了するか否かを判断する(ステップ62)。ゲームを終了する条件としては、例えば、ゲームオーバーとなる条件が満たされたことや、プレイヤがゲームを終了する操作を行ったこと等がある。CPU30は、ゲームを終了しない場合に上記ステップ52に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。
なお、上述したゲーム例では、隠蔽された文字を当てる文字当てゲームを用いたが、隠蔽する文字としては、図13〜図15等で示した数字の他に、ひらがな、カタカナ、アルファベット、漢字等の様々な文字を用いることができる。また、隠蔽された複数の文字(例えば、2桁の数字)を当てる文字当てゲームを実現できることは言うまでもない。
また、上述したゲーム処理例では、カーソル位置に対応するフレームバッファに書き込まれた値として、ゲーム画像の色(背景色または文字色)に基づいて、コントローラ7で指し示した位置が文字部分か否かを判定している。これによって、隠蔽するオブジェクトに特別なデータ(例えば、当たり判定データ等)を用意する必要がなく、表示に関連するデータを用いてゲームを実現することができる。このような効果を期待しない場合、コントローラ7で指し示した位置との当たりを判定するためのデータを隠蔽する文字に設定し、当該当たり判定データに基づいて、コントローラ7で指し示した位置が文字部分か否かを判定してもかまわない。この場合、一度描画を行うことなく、内部的な当たり判定データを参照して判定を行うことができる。
また、本発明を適用して他のゲームを実現することもできる。例えば、ゲーム空間にオブジェクトを配置して、敵と戦うようなゲームにおいて、敵オブジェクトEや他のオブジェクトを隠蔽して、隠蔽されたものを探索することも可能である。例えば、図18に示すようにコントローラ7の振動有無に応じて隠蔽された敵オブジェクトEを探索することもできる。
図18において、敵オブジェクトEは、仮想3次元空間に設定されたゲームフィールド上に配置されているが、プレイヤがモニタ2の表示画面からは視認できない状態(例えば、透明)である。なお、図18においては、敵オブジェクトEの位置をわかりやすくするために、視認できない敵オブジェクトEを破線で示している。
例えば、モニタ2には、仮想カメラから見た仮想3次元ゲーム空間の様子がゲーム画像として表示される。そして、敵オブジェクトEは、仮想3次元ゲーム空間に設定されたゲームフィールド上に、所定の配置座標に基づいた位置に配置されるが、その描画モデルを透明等に設定することによってプレイヤからは視認できない状態となる。
そして、プレイヤがコントローラ7でモニタ2の表示画面内を指し示すことによって上述したカーソル位置座標が得られたとき、そのカーソル位置座標と重なる位置に敵オブジェクトEの描画モデルが配置されているときにコントローラ7を振動させる(図18の状態)。ここで、カーソル位置座標と重なる位置とは、カーソル位置座標を仮想3次元ゲーム空間内に透視投影した直線上にある位置を示しており、当該直線と敵オブジェクトEの描画モデルとが交差または接触するときに、カーソル位置座標と重なる位置に敵オブジェクトEの描画モデルが配置されているとする。または、敵オブジェクトEをカーソル位置座標の存在する2次元座標系に投影した場合に、当該2次元座標系においてカーソル位置座標と敵オブジェクトEとの座標が重なるときにカーソル位置座標と重なる位置に敵オブジェクトEの描画モデルが配置されているとしてもよい。また、この場合、敵オブジェクトEのモデルが実際に投影される領域だけでなく、例えば敵オブジェクトの形状は推測せず、位置だけを推測するようなゲームの場合には、投影される位置を含む所定形状の領域を当たり範囲とし、当該当たり範囲にカーソル位置が含まれるか否かで重なりを判定するようにしてもよい。そして、プレイヤが操作するプレイヤキャラクタが敵オブジェクトEに対して所定の接触行為(例えば、攻撃)等を行ったとき、描画モデルが不透明となって敵オブジェクトEが視認可能な状態に変化する。
このように、プレイヤが視認できない状態でゲームフィールド上に配置されているオブジェクトを、コントローラ7に生じる振動の有無に応じて探索することも可能となる。なお、敵オブジェクトEを示す透明な描画モデルを用いて、カーソル位置座標との当たり判定を行ったが、他の態様で当たり判定を行ってもかまわない。例えば、上記描画モデルと類似する簡易モデル(例えば、基本立体の種別とその大きさとによって描画モデルを簡素化したモデル)やコリジョンを用いて、敵オブジェクトEとカーソル位置座標との当たり判定を行ってもかまわない。
ここで、隠蔽したオブジェクトの検出は、背景との区別が可能であれば、様々な態様が可能となる。例えば、上述した文字を示すオブジェクトを隠蔽する場合は、フレームバッファにバッファリングされた色情報を用いて背景との区別を行っている。他の例として、画像の深度情報を示すZバッファにバッファリングされたZ値や、画像の透明度を示すαバッファにバッファリングされたα値を用いて背景との区別を行ってもかまわない。このように、オブジェクトを表示するためにバッファリングされる値(色、α値、Z値等)を利用して、当該オブジェクトと背景との区別を行うことによって、隠蔽するオブジェクトに特別なデータを用意する必要がなく、本発明を実現することができる。
また、敵オブジェクトEを透明な描画モデルで仮想3次元ゲーム空間に配置することによって、プレイヤが敵オブジェクトEを視認できない状態にしたが、他の態様で視認できない状態にしてもかまわない。例えば、他のオブジェクトの背後に配置することによって、プレイヤが敵オブジェクトEを視認できない状態してもかまわない。具体的には、仮想3次元ゲーム空間において、霧中や水中等に配置されて視認できないオブジェクトや、暗闇の中に配置されて視認できないオブジェクトや、木や壁等の影に配置されたオブジェクトを探索する際にも同様に本発明を実現できる。また、仮想3次元ゲーム空間において、地中に埋もれたオブジェクト(宝物等)を探索する際にも同様に本発明を実現できる。なお、これらのオブジェクトは、一時的にプレイヤが視認できない状態で配置されるが、全て何らかの表示条件が満たされたときに視認可能となるオブジェクトであり、プレイヤが最終的に探索結果を確認できるものであることが好ましい。例えば、時間経過やプレイヤの操作によって視認可能となる環境に変化する(霧が薄くなる、明るくなる、ライトを当てる等)、オブジェクトが視認可能となる位置に移動する(他のオブジェクトの影から出る、プレイヤキャラクタに近づく、水中から出る等)、オブジェクトが視認可能となる状態にプレイヤが変化させる(オブジェクトを掘り当てる、オブジェクトに近づく、オブジェクトを攻撃する等)こと等の条件に応じて、オブジェクトが視認できない状態から視認可能な状態となる。
また、上述した実施例では、コントローラ7に生じる振動の有無に応じて、隠蔽されたオブジェクトを探索する例を示したが、他の刺激をプレイヤに与えて探索するゲームに適用してもかまわない。例えば、振動の代わりにコントローラ7に設けられたスピーカ706から音を発生させてもかまわない。つまり、コントローラ7を用いて指定した位置と隠蔽されたオブジェクトとが重なるとき、スピーカ706から所定の音が再生される。
また、振動に替えて、触覚に対する刺激を発生する様々なデバイスをコントローラ7に搭載し、ゲームに利用するようにしてもよい。例えば、電気刺激を発生するデバイスを搭載したり、ペルチエ素子等を用いて熱を発生するデバイスを搭載したりしてもよく、また、触感ディスプレイのように触感の変化によって刺激を与えるようなデバイスを搭載してもよい。
また、隠蔽されたオブジェクトの種類に応じて、コントローラ7に与えられる振動や音を変化させてもかまわない。例えば、コントローラ7を用いて指定した位置と隠蔽されたオブジェクトとが重なっているとき、当該オブジェクトの種類に応じてバイブレータ704の作動をON/OFFする周期を変えたり、スピーカ706から再生する音声の種類を変えたりすることによって、コントローラ7に生じる振動の種類や音声の種類が変化する。これによって、プレイヤが振動や音によって、隠蔽されたオブジェクトの有無だけでなくその種類を想像することが可能となり、さらにゲームの楽しみが広がる。
このように、オブジェクトが視認できない状態のゲーム画像に対して、当該オブジェクトの存在をコントローラ7に与えられる振動や音によって感知することができ、振動や音の感覚を利用した新しいゲームが可能となる。また、所定の条件を満たすことによって、オブジェクトが視認可能となるため、プレイヤが推測した感知結果を確認することができる。
なお、上述した説明では、表示画面上の位置に対応する座標を指定するためのデータ出力する入力装置の一例として、コントローラ7に設けられた撮像素子743で撮像対象を撮像した画像データを解析することによって、モニタ2の表示画面に対して座標指定する態様を用いた。この態様は、表示画面近傍に撮像対象となる2つのマーカを設置し、撮像手段およびその撮像方向を自在に変更可能なハウジングを備えたデバイスが撮像画像中の2つのマーカを検出し、当該撮像画像におけるマーカの位置に基づいて当該デバイスが指定する座標位置を導出するものである。しかしながら、他の態様で上記入力装置を構成してもかまわない。
例えば、表示画面近傍に設置する撮像対象は、上述した電気的なマーカ(LEDモジュール)の他に、光を反射する部材や特定色や特定形状を有する物理的なマーカでもかまわない。また、モニタ2の表示画面に撮像対象を表示してもかまわない。また、コントローラ7が備える撮像手段でラスタスキャン型モニタの走査線を読み取ることによって、当該モニタ自体を撮像対象にしてもかまわない。また、磁気発生装置を設け、当該磁気発生装置から生じる磁気を利用して座標指定してもかまわない。この場合、コントローラ7には、上記磁気を検出するための磁気センサを設けることになる。
また、上述した説明では、2つのマーカ8Lおよび8Rからの赤外光を、コントローラ7の撮像情報演算部74の撮像対象としたが、他のものを撮像対象にしてもかまわない。例えば、1つまたは3つ以上のマーカをモニタ2の近傍に設置し、それらのマーカからの赤外光を撮像情報演算部74の撮像対象としてもかまわない。例えば、所定の長さを有する1つのマーカをモニタ2の近傍に設置しても、本発明を同様に実現することができる。また、モニタ2の表示画面自体や他の発光体(室内灯等)を撮像情報演算部74の撮像対象としてもかまわない。撮像対象とモニタ2の表示画面との配置関係に基づいて、当該表示画面に対するコントローラ7の位置を演算すれば、様々な発光体を撮像情報演算部74の撮像対象として用いることができる。
また、コントローラ7側にマーカ等の撮像対象を設けて、撮像手段をモニタ2側に設けてもかまわない。さらに他の例では、コントローラ7の前面から光を放射する機構を設けてもかまわない。この場合、コントローラ7およびモニタ2とは別の場所にモニタ2の表示画面を撮像する撮像装置を設置し、モニタ2の表示画面にコントローラ7から放射された光が反射した位置を当該撮像装置が撮像した画像から解析することによって、同様に表示画面に対して座標指定するためのデータを出力可能な入力装置を構成することができる。
また、上記入力装置としては、画面上の位置を指定するポインティングデバイスでもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、表示画面を覆うように設置されたタッチパネルである。また、ポインティングデバイスとして、例えば、マウス、トラックパッド、トラックボールなどで実現してもかまわない。
また、上述した説明では、コントローラ7とゲーム装置3とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置3とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置3の接続端子に接続する。
また、コントローラ7から無線送信される送信データを受信する受信手段として、ゲーム装置3の接続端子に接続された通信ユニット6を用いて説明したが、ゲーム装置3の本体内部に設けられた通信モジュールによって当該通信手段を構成してもかまわない。この場合、通信モジュールが受信した送信データは、所定のバスを介してCPU30に出力される。また、コントローラ7へ送信する振動データやサウンドデータは、所定バスを介して通信モジュールから送信される。
また、撮像素子743で撮像した画像データを解析してマーカ8Lおよび8Rからの赤外光の位置座標やそれらの重心座標等を取得し、それらを処理結果データとしてコントローラ7内で生成してゲーム装置3へ送信する態様を説明したが、他の処理段階のデータをコントローラ7からゲーム装置3へ送信してもかまわない。例えば、撮像素子743が撮像した画像データをコントローラ7からゲーム装置3へ送信し、CPU30において上記解析処理を行って処理結果データを取得してもかまわない。この場合、コントローラ7に設けられた画像処理回路744が不要となる。また、上記画像データの解析途中のデータをコントローラ7からゲーム装置3へ送信してもかまわない。例えば、画像データから得られる輝度、位置、および面積等を示すデータをコントローラ7からゲーム装置3へ送信し、CPU30において残りの解析処理を行って処理結果データを取得してもかまわない。
また、上述したコントローラ7の形状や、それらに設けられている操作部72の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、コントローラ7における撮像情報演算部74の位置(撮像情報演算部74の光入射口)は、ハウジング71の前面でなくてもよく、ハウジング71の外部から光を取り入れることができれば他の面に設けられてもかまわない。
本発明に係るゲーム装置およびゲームプログラムは、振動や音の感覚を利用した新しいゲームが可能となり、入力装置からの出力に応じて得られる所定の座標系に基づいた座標情報を用いて隠されたオブジェクトを探索するゲーム等の用途に適用できる。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置3の機能ブロック図 図1のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面前方から見た斜視図 図3のコントローラ7の上筐体を外した状態を示す斜視図 図3のコントローラ7の下筐体を外した状態を示す斜視図 図3のコントローラ7の構成を示すブロック図 プレイヤがコントローラ7を操作して当該ゲームをプレイしている一例を示す図 プレイヤがコントローラ7を操作して当該ゲームをプレイしている一例を示す図 プレイヤがコントローラ7を右手で把持した状態をコントローラ7の前面側から見た一例を示す図 プレイヤがコントローラ7を右手で把持した状態をコントローラ7の左側面側から見た一例を示す図 マーカ8Lおよび8Rと撮像情報演算部74との視野角を説明するための図 モニタ2に表示されるカーソルCおよびモニタ2の表示から隠蔽されるオブジェクトOBJおよびその際のコントローラ7の状態を示す一例を示す図 モニタ2に表示されるカーソルCおよびモニタ2の表示から隠蔽されるオブジェクトOBJおよびその際のコントローラ7の状態を示す一例を示す図 モニタ2に表示されるカーソルCおよび隠蔽状態が解除されて表示されたオブジェクトOBJの一例を示す図 ゲーム装置3のメインメモリ33に記憶されるゲームプログラムおよびデータの一例を示す図 ゲーム装置3において実行されるゲーム処理を示すフローチャート コントローラ7の振動有無に応じて隠蔽された敵オブジェクトEを探索する一例を示す図
符号の説明
1…ゲームシステム
2…モニタ
2a、706…スピーカ
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…バイブレータ
707…サウンドIC
708…アンプ
8…マーカ

Claims (22)

  1. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置であって、
    前記入力装置は、触覚刺激を発生する触覚刺激発生手段を備えており、
    前記入力装置から出力されたデータを用いて前記画面上の位置に対応する座標を取得する座標取得手段と、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定手段と、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御手段と、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得手段で取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定手段と、
    前記判定手段が前記座標取得手段で取得された座標が前記画素と重なる位置であると判定したとき、前記触覚刺激発生手段に触覚刺激を発生させる触覚刺激制御手段とを備える、ゲーム装置。
  2. 前記触覚刺激発生手段は、前記触覚刺激として振動を発生させる振動発生手段である、請求項1に記載のゲーム装置。
  3. 前記オブジェクトを前記表示装置に表示するために予め設定された所定の条件に対して、当該条件を満たしていることを検出する表示条件検出手段を、さらに備え、
    前記表示制御手段は、前記表示条件検出手段が前記条件を満たしていると検出したとき、前記オブジェクトを表示した仮想ゲーム世界を前記表示装置に表示する、請求項1または2に記載のゲーム装置。
  4. 前記入力装置は、押下可能なキーと当該キーの押下に応じた信号を出力するスイッチとからなる操作部を、さらに備え、
    前記表示条件検出手段は、所定の前記操作部が押下されたことを示す信号が入力しているとき、前記条件が満たされていると検出する、請求項3に記載のゲーム装置。
  5. 前記判定手段は、仮想ゲーム世界を前記表示装置に表示する処理において、前記座標取得手段で取得された座標と重なる画素に関してバッファリングされる値を用いて前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を示す位置であるか否かを判定する、請求項1または2に記載のゲーム装置。
  6. 前記オブジェクト設定手段は、仮想ゲーム世界の背景色と異なった色の前記オブジェクトを当該仮想ゲーム世界の背景上に設定し、
    前記判定手段は、前記座標取得手段で取得された座標によって示される位置の画素に対して、当該画素の色が前記オブジェクトの色か否かを判定し、前記オブジェクトの色であると判定したとき、前記座標取得手段で取得された座標によって指示される位置が、前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を示す位置であると判定し、
    前記表示制御手段は、前記判定手段による判定の後、前記オブジェクトを前記背景色で塗りつぶして仮想ゲーム世界を前記表示装置に表示する、請求項5に記載のゲーム装置。
  7. 前記入力装置は、前記ゲーム装置および前記表示装置と物理的に分離して別設される、請求項1または2に記載のゲーム装置。
  8. 前記入力装置は、本体に固設され、当該本体を基準に所定方向の周辺を撮像する撮像部を含み、
    前記座標取得手段は、前記撮像部によって撮像した撮像画像自体または撮像画像に所定の演算を行った結果を示すデータを用いて、所定の撮像対象の当該撮像画像内における位置に基づいて前記画面上の座標を算出する、請求項7に記載のゲーム装置。
  9. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置であって、
    前記入力装置は、音声を発生させる音声発生手段を備えており、
    前記入力装置から出力されたデータを用いて前記画面上の座標を取得する座標取得手段と、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定手段と、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御手段と、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得手段で取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定手段と、
    前記判定手段が前記座標取得手段で取得された座標が前記画素と重なる位置であると判定したとき、前記音声発生手段から所定の音声を発生させる音声制御手段とを備える、ゲーム装置。
  10. 前記オブジェクトを前記表示装置に表示するために予め設定された所定の条件に対して、当該条件を満たしていることを検出する表示条件検出手段を、さらに備え、
    前記表示制御手段は、前記表示条件検出手段が前記条件を満たしていると検出したとき、前記オブジェクトを表示した仮想ゲーム世界を前記表示装置に表示する、請求項9に記載のゲーム装置。
  11. 前記入力装置は、前記ゲーム装置および前記表示装置と物理的に分離して別設される、請求項9に記載のゲーム装置。
  12. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置であって、
    前記入力装置は、振動モータおよび/またはスピーカを備えており、
    前記入力装置から出力されたデータを用いて前記画面上の位置に対応する座標を取得する座標取得手段と、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定手段と、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御手段と、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得手段で取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定手段と、
    前記判定手段が前記座標取得手段で取得された座標が前記画素と重なる位置であると判定したとき、前記振動モータおよび/またはスピーカを作動させて振動および/または音声を発生させる制御手段とを備える、ゲーム装置。
  13. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置のコンピュータで実行されるゲームプログラムであって、
    前記入力装置は、触覚刺激を発生する触覚刺激発生手段を備えており、
    前記コンピュータを、
    前記入力装置から出力されたデータを用いて前記画面上の位置に対応する座標を取得する座標取得手段と、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定手段と、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御手段と、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得手段で取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定手段と、
    前記判定手段が前記座標取得手段で取得された座標が前記画素と重なる位置であると判定したとき、前記触覚刺激発生手段に触覚刺激を発生させる触覚刺激制御手段として機能させる、ゲームプログラム。
  14. 前記オブジェクトを前記表示装置に表示するために予め設定された所定の条件に対して、当該条件を満たしていることを検出する表示条件検出手段として、さらに前記コンピュータを機能させ、
    前記表示制御手段は、前記表示条件検出手段が前記条件を満たしていると検出したとき、前記オブジェクトを表示にした仮想ゲーム世界を前記表示装置に表示する、請求項13に記載のゲームプログラム。
  15. 前記入力装置は、押下可能なキーと当該キーの押下に応じた信号を出力するスイッチとからなる操作部を、さらに備え、
    前記表示条件検出手段は、所定の前記操作部が押下されたことを示す信号が入力しているとき、前記条件が満たされていると検出する、請求項14に記載のゲームプログラム。
  16. 前記判定手段は、仮想ゲーム世界を前記表示装置に表示する処理において、前記座標取得手段で取得された座標と重なる画素に関してバッファリングされる値を用いて前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を示す位置であるか否かを判定する、請求項13に記載のゲームプログラム。
  17. 前記オブジェクト設定手段は、仮想ゲーム世界の背景色と異なった色の前記オブジェクトを当該仮想ゲーム世界の背景上に設定し、
    前記判定手段は、前記座標取得手段で取得された座標によって示される位置の画素に対して、当該画素の色が前記オブジェクトの色か否かを判定し、前記オブジェクトの色であると判定したとき、前記座標取得手段で取得された座標によって指示される位置が、前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を示す位置であると判定し、
    前記表示制御手段は、前記判定手段による判定の後、前記オブジェクトを前記背景色で塗りつぶして仮想ゲーム世界を前記表示装置に表示する、請求項16に記載のゲームプログラム。
  18. 前記入力装置は、本体に固設され、当該本体を基準に所定方向の周辺を撮像する撮像部を含み、
    前記座標取得手段は、前記撮像部によって撮像した撮像画像自体または撮像画像に所定の演算を行った結果を示すデータを用いて、所定の撮像対象の当該撮像画像内における位置に基づいて前記画面上の座標を算出する、請求項13に記載のゲームプログラム。
  19. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム装置のコンピュータで実行されるゲームプログラムであって、
    前記入力装置は、音声を発生させる音声発生手段を備えており、
    前記コンピュータを、
    前記入力装置から出力されたデータを用いて前記画面上の座標を取得する座標取得手段と、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定手段と、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御手段と、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得手段で取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定手段と、
    前記判定手段が前記座標取得手段で取得された座標が前記画素と重なる位置であると判定したとき、前記音声発生手段から所定の音声を発生させる音声制御手段として機能させる、ゲームプログラム。
  20. 前記オブジェクトを前記表示装置に表示するために予め設定された所定の条件に対して、当該条件を満たしていることを検出する表示条件検出手段として、さらに前記コンピュータを機能させ、
    前記表示制御手段は、前記表示条件検出手段が前記条件を満たしていると検出したとき、前記オブジェクトを表示した仮想ゲーム世界を前記表示装置に表示する、請求項19に記載のゲームプログラム。
  21. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲームシステムであって、
    前記入力装置は、触覚刺激を発生する触覚刺激発生手段および/または音声を発生させる音声発生手段を備えており、
    前記入力装置から出力されたデータを用いて前記画面上の位置に対応する座標を取得する座標取得手段と、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定手段と、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御手段と、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得手段で取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定手段と、
    前記判定手段が前記座標取得手段で取得された座標が前記画素と重なる位置であると判定したとき、前記触覚刺激発生手段に触覚刺激を発生させるおよび/または前記音声発生手段から所定の音声を発生させる制御手段とを備える、ゲームシステム。
  22. 表示装置の画面上の位置に対応する座標を指示するためのデータを出力することが可能な入力装置から取得されるデータを用いてゲーム処理を行うゲーム処理方法であって、
    前記入力装置は、触覚刺激を発生する触覚刺激発生手段および/または音声を発生させる音声発生手段を備えており、
    前記入力装置から出力されたデータを用いて前記画面上の位置に対応する座標を取得する座標取得ステップと、
    仮想ゲーム世界に所定のオブジェクトを設定するオブジェクト設定ステップと、
    前記オブジェクトを非表示にして仮想ゲーム世界を前記表示装置に表示する表示制御ステップと、
    前記オブジェクトが前記画面で見えるように表示される場合の当該画面上の画素を設定し、前記座標取得ステップにおいて取得された座標によって指示される位置が、当該画素と重なる位置であるか否かを判定する判定ステップと、
    前記座標取得ステップにおいて取得された座標が前記画素と重なる位置であると前記判定ステップにおいて判定されたとき、前記触覚刺激発生手段に触覚刺激を発生させるおよび/または前記音声発生手段から所定の音声を発生させる制御ステップとを含む、ゲーム処理方法。
JP2006172820A 2006-06-22 2006-06-22 ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法 Active JP5004518B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006172820A JP5004518B2 (ja) 2006-06-22 2006-06-22 ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006172820A JP5004518B2 (ja) 2006-06-22 2006-06-22 ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法

Publications (2)

Publication Number Publication Date
JP2008000345A JP2008000345A (ja) 2008-01-10
JP5004518B2 true JP5004518B2 (ja) 2012-08-22

Family

ID=39005199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006172820A Active JP5004518B2 (ja) 2006-06-22 2006-06-22 ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法

Country Status (1)

Country Link
JP (1) JP5004518B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5453006B2 (ja) * 2009-07-21 2014-03-26 株式会社ソニー・コンピュータエンタテインメント ゲーム装置
WO2011010414A1 (ja) * 2009-07-21 2011-01-27 株式会社ソニー・コンピュータエンタテインメント ゲーム装置
JP5777332B2 (ja) * 2010-12-21 2015-09-09 任天堂株式会社 ゲーム装置、ゲームプログラム、ゲームシステム及びゲーム方法
JP2015179358A (ja) * 2014-03-19 2015-10-08 国立大学法人電気通信大学 入力支援プログラム、入力支援方法および情報処理装置
US10073523B2 (en) * 2014-12-23 2018-09-11 Immersion Corporation Position control of a user input element associated with a haptic output device
JP6402349B2 (ja) * 2015-04-30 2018-10-10 株式会社コナミデジタルエンタテインメント ゲーム装置及びプログラム
JP6834614B2 (ja) * 2016-07-12 2021-02-24 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP6588421B2 (ja) 2016-12-28 2019-10-09 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および、情報処理方法
JP6521460B2 (ja) 2016-12-28 2019-05-29 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および、情報処理方法
JP6893417B2 (ja) 2017-01-05 2021-06-23 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置、および、情報処理方法
JP6670768B2 (ja) 2017-01-05 2020-03-25 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置、および、情報処理方法
JP6715192B2 (ja) 2017-01-06 2020-07-01 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置およびゲーム制御方法
JP6650890B2 (ja) 2017-01-06 2020-02-19 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置およびゲーム制御方法
JP6776132B2 (ja) 2017-01-10 2020-10-28 任天堂株式会社 ゲームシステム、ゲームプログラム、ゲーム装置およびゲーム方法
JP6670258B2 (ja) 2017-01-10 2020-03-18 任天堂株式会社 ゲームシステム、ゲームプログラム、ゲーム装置およびゲーム方法
KR20190136606A (ko) * 2018-05-31 2019-12-10 주식회사 피닉스다트 엔터테인먼트 요소가 적용되는 게임을 제공하기 위한 다트 게임 장치, 방법 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램
JP7223893B2 (ja) * 2022-02-25 2023-02-16 株式会社あかつき ゲームシステム、情報処理方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002298145A (ja) * 2001-04-02 2002-10-11 Nikon Gijutsu Kobo:Kk 位置検出装置及び姿勢検出装置
JP2002306849A (ja) * 2001-04-13 2002-10-22 Artoon:Kk 電子ゲーム装置
JP5008234B2 (ja) * 2001-08-27 2012-08-22 任天堂株式会社 ゲーム装置、プログラム、ゲーム処理方法およびゲームシステム
JP2006247248A (ja) * 2005-03-14 2006-09-21 Atlus Co Ltd ゲームプログラム

Also Published As

Publication number Publication date
JP2008000345A (ja) 2008-01-10

Similar Documents

Publication Publication Date Title
JP5004518B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法
JP5330640B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP4884867B2 (ja) 情報処理装置および情報処理プログラム
JP4989105B2 (ja) ゲームコントローラ
JP4262726B2 (ja) ゲームコントローラおよびゲームシステム
KR101169813B1 (ko) 게임 시스템 및 게임 프로그램을 저장한 저장 매체
JP5522902B2 (ja) 情報処理プログラムおよび情報処理装置
JP4798705B2 (ja) 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム
JP5074346B2 (ja) ゲームコントローラおよびゲームシステム
JP5390093B2 (ja) ゲームプログラムおよびゲーム装置
JP4919887B2 (ja) 画像処理プログラムおよび画像処理装置
US20080311989A1 (en) Game controller and game system
JP4895352B2 (ja) 対象選択プログラム、対象選択装置、対象選択システム、および対象選択方法
EP2161690A1 (en) Computer readable recording medium recording image processing program and image processing apparatus
JP4240510B2 (ja) ゲームコントローラおよびゲームシステム
JP5358168B2 (ja) ゲーム装置およびゲームプログラム
JP5498690B2 (ja) ゲームプログラムおよびゲーム装置
JP5259965B2 (ja) 情報処理プログラム、および、情報処理装置
JP5392986B2 (ja) ゲームシステムおよびゲームプログラム
JP2010142404A (ja) ゲームプログラムおよびゲーム装置
JP5013511B2 (ja) ゲームプログラムおよびゲーム装置
JP5945297B2 (ja) ゲームプログラムおよびゲーム装置
JP5116159B2 (ja) 情報処理システム、情報処理方法、および情報処理プログラム
JP2011183205A (ja) ゲームシステムおよびゲームプログラム
JP5331259B2 (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

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120425

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: 20120517

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: 20120522

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5004518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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