この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
本発明に係るゲーム装置(コンピュータ)の代表例として、以下では、携帯型のゲーム装置100について説明する。ゲーム装置100は、撮像手段(もしくは、撮像部)および表示手段(もしくは、表示部)を利用可能である。また、本発明に係るゲームプログラムの一例として、コンピュータであるゲーム装置100で実行されるゲームプログラムについて説明する。なお、本発明に係るコンピュータは、ゲーム装置に限定されることはなく、各種アプリケーションを実行可能なパーソナルコンピュータとして実現してもよい。さらに、本発明に係るゲームプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
<用語>
本明細書において「利用可能な」とは、撮像手段(もしくは、撮像部)および表示手段(もしくは、表示部)などのデバイスがコンピュータ(典型的には、ゲーム装置100)と有線または無線で接続されており、データ通信が可能であることを意味する。このとき、撮像手段(もしくは、撮像部)および表示手段(もしくは、表示部)などのデバイスは、ゲーム装置100と一体構成されてもよいし、別体であってもよい。
<外観>
図1および図2は、この発明の実施の形態に従うゲーム装置100の外観図である。
図1および図2を参照して、本実施の形態に従うゲーム装置100は、折り畳み型の携帯ゲーム装置である。図1は、開いた状態(開状態)のゲーム装置100を示し、図2は、閉じた状態(閉状態)のゲーム装置100を示す。ゲーム装置100は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
ゲーム装置100は、第1ハウジング11および第2ハウジング21を有する。第1ハウジング11と第2ハウジング21とは、開閉可能(折り畳み可能)に連結されている。図1に示す例では、第1ハウジング11および第2ハウジング21は、それぞれ長方形の板状に形成され、互いの長辺部分でヒンジによって回転可能に連結されている。
通常、ユーザがゲーム装置100を使用する場合には、ゲーム装置100は開状態におかれる。一方、ユーザがゲーム装置100を使用しない場合には、ゲーム装置100は閉状態におかれる。ゲーム装置100では、第1ハウジング11と第2ハウジング21とのなす角度を、閉位置(略0度)と開位置(略180度)との間に必要に応じて維持することもできる。すなわち、第1ハウジング11を第2ハウジング21に対して任意の角度で静止させることができる。この際、第1ハウジング11と第2ハウジング21との連結部分に発生する摩擦力などを用いることができる。摩擦力に加えて、あるいは摩擦力に代えて、第1ハウジング11と第2ハウジング21との連結部にラッチ機構を採用してもよい。
第1ハウジング11には、表示部(表示手段)として、第1LCD(Liquid Crystal Display:液晶表示装置)12が設けられる。第1LCD12は長方形状であり、その長辺方向が第1ハウジング11の長辺方向に一致するように配置される。なお、本実施の形態では、表示部(表示手段)としてLCDを採用した場合を示すが、たとえばEL(Electro Luminescence:電界発光)を利用した表示装置といった、他の適切な表示装置を採用してもよい。また、表示部(表示手段)の解像度は、実行されるアプリケーションなどに応じて適切に設計することができる。
第1ハウジング11には、入力部(入力手段)として、ゲーム装置100に対する各種操作を行なうためのボタン14A〜14Kが設けられる。ボタン14A〜14Kのうち、方向入力ボタン14A、操作ボタン14B、操作ボタン14C、操作ボタン14D、操作ボタン14E、電源ボタン14F、スタートボタン14G、およびセレクトボタン14Hは、第1ハウジング11と第2ハウジング21とを折り畳んだときに内側となる、第1ハウジング11の内側主面上に設けられる。
すなわち、図1に示す配置例では、方向入力ボタン14Aおよび電源ボタン14Fは、第1ハウジング11の内側主面中央付近に設けられる第1LCD12に対して、左右一方側(図1では紙面左側)の主面上に設けられる。ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、第1LCD12に対して左右他方側(図1では紙面右側)となる第1ハウジング11の内側主面上に設けられる。
Lボタン14Iは、第1ハウジング11の紙面上側面の左端部に設けられ、Rボタン14Jは、第1ハウジング11の紙面上側面の右端部に設けられる。また、音量ボタン14Kは、第1ハウジング11の左側面に設けられる。
方向入力ボタン14A、Lボタン14I、およびRボタン14Jは、たとえば選択操作等に用いられる。ボタン14B〜14Eは、たとえば決定操作やキャンセル操作等に用いられる。電源ボタン14Fは、ゲーム装置100の電源をオン/オフするために用いられる。音量ボタン14Kは、ゲーム装置100に搭載されるスピーカの音量を調整するために用いられる。
ゲーム装置100は、ボタン14A〜14Kとは別の入力部(入力手段)として、タッチパネル13をさらに有している。タッチパネル13は、第1LCD12の画面上を覆うように装着され、ユーザによる入力操作が行なわれた場合に、その座標を検出する。すなわち、タッチパネル13は、第1LCD12の表示面と対応付けて配置される。
タッチパネル13としては、たとえば抵抗膜方式のタッチパネルを採用することができるが、抵抗膜方式に限らず、各種の押圧式のタッチパネルを採用することができる。また、タッチパネル13の解像度(検出精度)は、第1LCD12の解像度(表示精度)と同程度であることが好ましい。ただし、必ずしもタッチパネル13の解像度と第1LCD12の解像度とが一致している必要はない。
第1ハウジング11の紙面右側の側面には、タッチペン27の挿入口(図1では、破線で示している)が設けられている。この挿入口には、タッチパネル13に対する入力操作を行なうために用いられるタッチペン27を収納することができる。なお、タッチパネル13に対する入力操作は、通常、タッチペン27を用いて行われるが、タッチペン27に代えて、ユーザの指などでタッチパネル13に対する入力操作を行なうことも可能である。
第1ハウジング11の紙面右側の側面には、さらに、メモリカード28を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置100とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、このコネクタに着脱自在に装着される。メモリカード28は、他の情報処理装置やゲーム装置から取得されたゲームプログラムや画像データの読出し、ならびに、ゲーム装置100によって撮影および/または画像処理された画像データの記憶(保存)などに用いられる。メモリカード28は、たとえばSD(Secure
Digital)カードなどの不揮発性記憶媒体からなる。
第1ハウジング11の紙面上側の側面には、メモリカード29を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置100とメモリカード29とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード29は、このコネクタに着脱自在に装着される。メモリカード29は、ゲームプログラムなどを記憶する。
第1ハウジング11と第2ハウジング21との連結部の紙面左側には、3つのLED15A〜15Cが取り付けられる。ゲーム装置100は、後述するように、他の機器との間で無線通信を行なうことが可能であり、第1LED15Aは、ゲーム装置100の電源がオンである場合に点灯する。第2LED15Bは、ゲーム装置100の電池の状態(充電中や残量低下など)に応じて点灯する。第3LED15Cは、無線通信の状態に応じて点灯する。したがって、3つのLED15A〜15Cによって、ゲーム装置100の電源のオン/オフ状況、電池状況、無線通信状況をユーザに通知することができる。
第2ハウジング21には、表示部(表示手段)として、第2LCD22が設けられる。第2LCD22は長方形状であり、その長辺方向が第2ハウジング21の長辺方向に一致するように配置される。なお、第1LCD12と同様、LCDに代えて、他の適切な表示装置を採用してもよい。ゲーム装置100では、入力手段(入力部)としてのタッチパネルが第1LCD12の画面上を覆うように装着されている構成を採用しているが、さらに別のタッチパネルを第2LCD22の画面上に装着してもよい。
第2ハウジング21には、さらに、撮像手段(撮像装置)として、2つのカメラ(内側カメラ23および外側カメラ25)が設けられる。図1に示されるように、内側カメラ23は、第2ハウジング21の連結部付近の内側主面に取り付けられる。一方、図2に示さるように、外側カメラ25は、内側カメラ23が取り付けられる内側主面とは反対側の面、すなわち第2ハウジング21の外側主面(ゲーム装置100が閉状態となった場合に外側となる面に相当する)に取り付けられる。なお、図1においては、外側カメラ25を破線で示している。
このような配置位置によって、内側カメラ23は、第2ハウジング21の内側主面が向く方向を撮像することが可能である。すなわち、内側カメラ23は、ゲーム装置100を把持してプレイするユーザ自身を撮像するように適合されている。一方、外側カメラ25は、内側カメラ23の撮像方向の逆方向、すなわち第2ハウジング21の外側主面が向く方向を撮像することが可能である。
ゲーム装置100の連結部の内部には、音声入力装置として、マイク(図3に示すマイク43)が収納されている。そして、ゲーム装置100の連結部付近の内側主面には、マイク43がゲーム装置100の周囲の音を検知するためのマイク用孔16が設けられる。なお、マイク43を収納する位置およびマイク用孔16の位置は、ゲーム装置100の連結部である必要はなく、たとえば、マイク43を第1ハウジング11内に収納し、マイク用孔16を第1ハウジング11上のマイク43の収納位置に対応する位置に設けてもよい。
第2ハウジング21の外側主面には、外側カメラ25と近接した位置に、第4LED26(図2)が設けられる。第4LED26は、外側カメラ25による撮像状態に応じて点灯する。すなわち、第4LED26は、ゲーム装置100により撮像が行われていることを被写界に存在する人やその周囲の人に通知する。より具体的には、第4LED26は、外側カメラ25によって撮像が行われている間点灯する。また、外側カメラ25によって動画が取得されている(撮像された画像データが連続的に記憶されている)間は、第4LED26を点滅させてもよい。なお、点灯によって発せられた光が撮像される画面に映り込むことを防ぐために、カメラによる撮影が指示された後、当該指示によってカメラによって取得された画像データのメモリなどへの記憶が完了するまでの間は、第4LED26を消灯状態にしてもよい。
第2ハウジング21の内側主面の中央付近に設けられる第2LCD22に対して、左右両側の主面に音抜き孔24がそれぞれ設けられる。音抜き孔24と連通する第2ハウジング21内部には、音声出力装置として、スピーカ(図3に示すスピーカ45)が収納されている。すなわち、音抜き孔24は、スピーカ45で発せられた音をゲーム装置100の外部へ導く。
以上に説明したように、第1ハウジング11には、ゲーム装置100に対する操作入力を行なうための入力部(タッチパネル13およびボタン14A〜14K)と、各種画像を表示するための表示手段である第1LCD12とが設けられる。また、第2ハウジング21には、画像データを取得するため内側カメラ23および外側カメラ25と、各種画像を表示するための表示手段である第2LCD22とが設けられる。
<ゲーム装置の内部構成>
図3は、この発明の実施の形態に従うゲーム装置100の内部構成の一例を示すブロック図である。
図3を参照して、ゲーム装置100は、CPU31と、メインメモリ32と、メモリ制御回路33と、保存用データメモリ34と、プリセットデータ用メモリ35と、メモリカードインターフェース(メモリカードI/F)36および37と、無線通信モジュール38と、ローカル通信モジュール39と、リアルタイムクロック(RTC)40と、電源回路41と、インターフェース回路(I/F回路)42等との電子部品を有している。これらの電子部品は、電子回路基板上に実装されて、第1ハウジング11(あるいは、第2ハウジング21)内に収納される。
CPU31は、各種プログラムを実行する演算処理部である。CPU31は、ゲーム装置100内部のメモリ(典型的には、保存用データメモリ34)、メモリカード28、メモリカード29のいずれかに格納されているゲームプログラムをメインメモリ32に展開して実行する。CPU31のゲームプログラムの実行により、後述する本実施の形態に従う各種処理が提供される。後述するように、本実施の形態に従うゲームプログラムは、典型的に、ネットワーク接続された配信サーバ装置などから、有線または無線の通信回線を通じて、ゲーム装置100に供給される。このゲーム装置100に供給されたゲームプログラムは、保存用データメモリ34に格納される。
また、CPU31は、もっぱら第1LCD12および第2LCD22での表示を制御するための不図示のVRAM(Video Random Access Memory)を有する。このVRAMには、後述する各種画像を表示するための画像データなどが一時的に記憶される。なお、このVRAMには、メインメモリ32に記憶されているデータが転送され、もしくは保存用データメモリ34に格納されているファイル(データ)などが直接的に読出されて、その内容が書込まれる。
図4は、この発明の実施の形態に従うゲーム装置100へのゲームプログラムの提供形態を示す図である。
図4を参照して、本実施の形態に従うゲームプログラムを配信する典型的なシステムは、インターネットなどのネットワークNWに接続された配信サーバ装置SRVと、ゲーム装置100のネットワークNWへの無線通信を仲介するアクセスポイントAPとを含む。配信サーバ装置SRVは、本実施の形態に従うゲームプログラムを含む複数のゲームプログラムをダウンロード可能な状態に保持しており、ゲーム装置100などからのアクセスに応じて、所定の手続きを経た後に、要求されたゲームプログラムの送信(ダウンロード)を開始する。
アクセスポイントAPは、ネットワークNWに有線接続されるとともに、無線通信モジュール38(図3)との間で無線接続を確立する。ゲーム装置100は、このアクセスポイントAPを介して、配信サーバ装置SRVへアクセスを行なう。そして、上述のように、配信サーバ装置SRVから配信されるゲームプログラムを受信すると、ゲーム装置100のCPU31は、その受信したゲームプログラムを保存用データメモリ34などに格納する。このゲーム装置100の保存用データメモリ34に一旦格納されたゲームプログラムは、原則として、ゲーム装置100の外部へ移動することが禁止される。そのため、ゲーム装置100内に一旦取り込まれたゲームプログラムは、当該ゲーム装置100においてのみ実行されることになるので、当該ゲーム装置100の持ち主の使用実績や使用形態に応じて、各種設定やパラメータなどを当該ゲーム装置100独自にカスタマイズもしくはアレンジするようなことも可能となる。
なお、図4に示すようなネットワーク配信の構成に代えて、ゲームプログラムを格納したメモリカード28やメモリカード29を販売することで、ゲームプログラムを提供してもよい。この場合、本発明に係るゲームプログラムを格納する記憶媒体としては、メモリカード28やメモリカード29といった半導体記憶装置に限らず、CD−ROMやDVDなどの光学式記憶媒体でもよい。
再度図3を参照して、CPU31には、メインメモリ32、メモリ制御回路33、およびプリセットデータ用メモリ35が接続される。また、メモリ制御回路33には、保存用データメモリ34が接続される。
メインメモリ32は、CPU31のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ32は、各種処理に用いられるデータを一時的に記憶したり、保存用データメモリ34、メモリカード28、メモリカード29などから読出したゲームプログラムを展開して一時的に記憶したりする。本実施の形態では、メインメモリ32として、たとえばPSRAM(Pseudo-SRAM)を用いる。
保存用データメモリ34は、CPU31によって実行されるゲームプログラムや内側カメラ23および外側カメラ25によって撮像される画像データなどを記憶する記憶手段である。保存用データメモリ34は、たとえば、NAND型フラッシュメモリなどの不揮発性記憶媒体からなる。メモリ制御回路33は、CPU31から指示に従って、保存用データメモリ34からのデータ読出し、および保存用データメモリ34へのデータ書込みを制御する回路である。
プリセットデータ用メモリ35は、ゲーム装置100において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶する記憶手段である。プリセットデータ用メモリ35としては、SPI(Serial Peripheral Interface)バスによってCPU31
と接続されるフラッシュメモリを採用することができる。
メモリカードI/F36および37は、それぞれCPU31に接続される。メモリカードI/F36は、コネクタに装着されたメモリカード28に対するデータの読出しおよび書込みを、CPU31の指示に応じて行なう。また、メモリカードI/F37は、コネクタに装着されたメモリカード29に対するデータの読出しおよび書込みを、CPU31の指示に応じて行なう。
本実施の形態では、内側カメラ23および外側カメラ25によって取得された画像データや他の装置から取得された画像データは、メモリカードI/F36を介してメモリカード28へ書込まれ、メモリカード28に記憶された画像データは、メモリカードI/F36を介してメモリカード28から読出されて保存用データメモリ34へファイルとして書込まれる。また、メモリカード29に格納された各種プログラムは、メモリカードI/F37を介してメモリカード29から読出されてメインメモリ32へ書込まれる。
無線通信モジュール38は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール39は、所定の通信方式により同種のゲーム装置との間で無線通信を行なう機能を有する。無線通信モジュール38およびローカル通信モジュール39は、CPU31に接続される。CPU31は、無線通信モジュール38を用いてインターネットなどのネットワーク回線を介して他の機器との間でデータを送受信したり、ローカル通信モジュール39を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
さらに、CPU31には、RTC40および電源回路41が接続される。RTC40は、時間をカウントしてCPU31に出力する。たとえば、CPU31は、RTC40によって計時された時間に基づいて、現在時刻(日付)等を計算することもできる。電源回路41は、ゲーム装置100が有する電源(典型的には電池であり、第1ハウジング11に収納される)から供給される電力を制御し、ゲーム装置100の各部品に電力を供給する。
ゲーム装置100は、さらに、CPU31に接続されたI/F回路42を有している。I/F回路42には、マイク43、アンプ44、タッチパネル13が接続される。I/F回路42は、マイク43ならびにアンプ44(および、スピーカ45)の制御を行なう音声制御回路と、タッチパネル13の制御を行なうタッチパネル制御回路とを含む。
マイク43は、ゲーム装置100に向かって発声されたユーザの音声などを検知して、検知した音声を示す音声信号をI/F回路42に出力する。アンプ44は、I/F回路42からの音声信号を増幅してスピーカ45から出力させる。すなわち、I/F回路42に含まれる音声制御回路は、マイク43で検知された音声信号に対するA/D変換を行なって、その結果をCPU31へ出力するとともに、CPU31などで生成された信号に対するD/A変換を行なって、その結果をアンプ44へ出力する。さらに、音声制御回路は、音声信号を記憶に適した所定形式の音声データに変換する。
また、I/F回路42に含まれるタッチパネル制御回路は、タッチパネル13からの検出信号に応じて、タッチ位置データを生成してCPU31に出力する。たとえば、タッチ位置データは、タッチパネル13の入力面に対して入力が行われた位置を示す座標値(以下、「入力座標」とも称する。)を含む。なお、タッチパネル制御回路は、タッチパネル13からの信号の読出し、および、タッチ位置データの生成を所定周期でサイクリックに実行する。CPU31は、I/F回路42(タッチパネル制御回路)を介して、タッチ位置データを取得することにより、ユーザによるタッチパネル13に対する入力操作が行われた入力座標を検出することができる。
ボタン14は、上述のボタン14A〜14Kを総称的に示すものであり、CPU31に接続される。ボタン14からCPU31へは、ボタン14A〜14Kについての入力状態(押下されたか否か)を示す操作データがそれぞれ出力される。CPU31は、ボタン14から操作データを取得することによって、ボタン14に対するユーザ操作に応じた処理を実行する。
内側カメラ23および外側カメラ25は、それぞれCPU31に接続される。内側カメラ23および外側カメラ25は、CPU31の指示に応じて撮像を行ない、撮像によって取得した画像データをCPU31に出力する。内側カメラ23および外側カメラ25の各々は、CCD(Charge Coupled Device)やCIS(CMOS Image Sensor)といった撮像素子と、撮像素子で取得された画像データを読出すための周辺回路とを含む。たとえば、CPU31は、内側カメラ23および外側カメラ25のいずれか一方に対して撮像を指示し、当該撮像の指示を受けたカメラが取得した画像データをCPU31に出力する。
また、第1LCD12および第2LCD22は、いずれもCPU31に接続される。第1LCD12および第2LCD22は、CPU31からの指示に従ってそれぞれ画像を表示する。ある形態として、CPU31は、第1LCD12および第2LCD22の一方に、内側カメラ23または外側カメラ25で取得された画像を表示するとともに、第1LCD12および第2LCD22の他方に、ユーザからの操作の受付けおよび/またはユーザに対する操作説明のための画面(画像)を表示させる。
<アプリケーションの概要>
本実施の形態に従うゲームプログラムを実行することで提供されるアプリケーションの概要について説明する。本実施の形態に従うゲーム装置100では、ゲーム処理およびゲーム終了後の表示処理を含むアプリケーションが提供される。ゲーム処理としては、撮像部(典型的には、内側カメラ23)を用いて主としてユーザの顔や手などを撮像し、この撮像によって得られた画像データに含まれるユーザ画像に基づいてゲームが進行される。ここで、ユーザ画像とは、少なくとも、撮像部により取得された画像データのうち、ユーザが被写体として写っている領域を含む画像を意味する。より具体的には、ユーザ画像を特定するために、取得された撮像データに対して人体認識処理(典型的には、後述する肌色領域検出処理および/または顔認識処理)が実行される。そして、この認識結果(ユーザ画像)に基づいて、ゲーム進行に応じた所定の条件が満足されるか否かが順次判断され、この判断結果に基づいてゲームをどのように進行するかが決定される。また、後述するように、撮像部により取得された画像データに含まれるユーザ画像に加えて、マイク43により収集されるユーザの音声データに基づいて、ゲームを進行する場合もある。なお、本明細書において「ゲーム」とは、所定のシナリオに沿った一連のゲームである場合、および複数のミニゲームの集合体である場合を含む。
本実施の形態に従うゲーム装置100では、このような一連のゲームの進行中に、ゲームを進行するための条件判定結果に関連して、あるいはそれとは独立して、撮像部によってユーザがプレイしている姿が適宜撮像される。このような撮像によって得られた画像データに基づく画像が、ゲームが進行中ではないとき(典型的には、一連のゲームが終了した後)に、表示部(典型的には、第2LCD22)に表示される。ユーザおよびその周囲にいる人は、この表示されるユーザのプレイ中の表情などを見て楽しむことができる。
図5は、この発明の実施の形態に従うゲーム装置100をプレイ中のユーザの様子を示す模式図である。図5に示すように、典型的には、ゲーム装置100は机などの上に載置され、すなわち内側カメラ23の撮像範囲を固定した上で、ユーザ自身がその頭部、胴体部、手などをゲーム演出に応じて動かす。これにより、ゲーム装置100における認識結果(すなわち、取得される画像データに含まれるユーザ画像)が変化し、この変化する認識結果に基づいてゲーム進行の条件が満足されるか否かが逐次判断される。
図6は、この発明の実施の形態に従うゲーム装置100で実行される処理内容の一例を時間的に説明するための図である。図6を参照して、本実施の形態に従うゲーム装置100では、ゲーム進行が開始されると、撮像部(内側カメラ23)による画像データの取得、および取得された画像データに基づく人体認識処理の実行が所定周期で繰返し実行される。そして、この周期的に取得(更新)される認識結果に基づいて、ゲームが進行する。すなわち、認識結果が条件1,2,…を順次満足することで、順次ゲームが進行する。なお、所定時間内にすべての条件(あるいは、ゲームの成功条件)が満足されない場合には、当該ゲームは「失敗」という判断がなされる場合もある。なお、本明細書においては、ゲーム進行に関して予め用意されているすべての条件が満足された状態を、当該ゲームの「成功」と称することもある。
このゲーム進行と並行して、撮像部によりユーザのプレイしている姿が撮像される。なお、人体認識処理を行なうために取得された画像データは、基本的には、保存されることなく破棄される。一方、ユーザのプレイしている姿を写した画像データについては、メインメモリ32などに保存される。そのため、その処理の差を明瞭化する観点から、ユーザのプレイしている姿を写した画像データを格納(保存)する処理については「キャプチャー」とも称する。
なお、人体認識処理およびキャプチャーのいずれについても、撮像部により取得される画像データを共通に使用するが、それぞれの処理において画像データを使用するタイミングが異なる場合がある。すなわち、人体認識処理では、一定周期で画像データに対して処理がなされるのに対して、キャプチャーでは、予め定められた条件の成立といったイベント的なタイミングで画像データが格納される。
図6に示すように、典型的には、ゲーム進行中に認識結果が条件1,2,…をそれぞれ満足するタイミングで画像データがそれぞれキャプチャーされる。すなわち、撮像部(内側カメラ23)により取得された画像データに含まれるユーザ画像に基づいて、ゲームが成功したか否かが判断されるとともに、少なくとも、ゲームが成功したと判断されたときに撮像部により取得される画像データが保存される。なお、図6には、ゲーム進行に用いられる条件と、キャプチャーの実行タイミングを決定する条件とを同一とした場合を例示するが、両者を必ずしも一致させる必要はなく、ゲームのシナリオなどに応じて、互いに独立した条件を設定してもよい。
その後、一連のゲームが終了すると、ゲームのプレイ中にキャプチャーされた画像データ1,2,…が表示(リプレイ)される。このゲーム終了後には、ゲームの内容に対応させて、種々の態様で画像データが表示される。
本実施の形態に従うゲーム装置100では、典型的に、以下に示する3種類のゲームが提供される。以下、これらのゲームの内容およびゲーム終了後に表示される画像の表示態様の一例について説明する。なお、これらのゲームは、ユーザ指示に従って、その一部もしくは全部が選択的に実行される。また、表示されるタイミングとしては、ゲーム終了後でなくとも、ユーザが指定した任意のタイミングで画像データをリプレイできるようにしてもよい。
<第1ゲーム>
まず、図7〜図10を参照して、本実施の形態に従うゲーム装置100で提供される第1ゲームおよび第1ゲーム終了後の画像の表示態様について説明する。この第1ゲームのプレイ中においては、ゲーム開始からゲーム終了までの間、第1ゲームが「成功」したと決定するための条件を含む複数の異なる条件が満足される毎に、ユーザがプレイしている姿がそれぞれキャプチャーされる。そして、第1ゲーム終了後に、これらのキャプチャーされた複数枚の画像データがキャプチャーされた時間順に沿って、あるいはランダムな順序で(連続的に)切換えて表示される。したがって、第1ゲーム終了後には、第1ゲームのプレイ中におけるユーザの姿が、動画像ライクな態様で表示される。すなわち、記憶された画像データに基づく画像表示として、第1ゲームでは、複数枚の画像データを所定時間で切換える動画像ライクな画像が表示される。なお、画像データの表示順序を本来の撮像順序とは異なるものに入れ替えることで、より楽しい画像表示を提供することができる。また、その表示速度(画像データの切換速度)を実際の撮像間隔より短くすることで、より動きのある画像表示を行なうことができる。
図7〜図9は、この発明の実施の形態に従う第1ゲームのシーンの一例を示す図である。図10は、この発明の実施の形態に従う第1ゲーム終了後の画像の表示例を示す図である。
本実施の形態に従う第1ゲームは、内側カメラ23によって取得された画像データに対する認識結果が予め定められた判定領域の大きさを超えるように、ユーザがゲーム装置100(内側カメラ23)に顔を近付けるゲームである。
まず、第1ゲームの開始がユーザにより指示されると、図7に示すような画面が第1LCD12および第2LCD22に表示される。なお、図7〜図9には、説明の便宜上、第1LCD12および第2LCD22にそれぞれ表示される画像全体(スクリーンショット)を一体的に並べて描いている。以後の図においても同様である。
より具体的には、図7に示すシーンにおいては、第1LCD12にユーザにどのような動きをすべきかを通知する通知画像INFが表示される。すなわち、図7に示す例では、ユーザに顔を近付けることを通知する「ちかよってみて!」とのメッセージを示す画像が第1LCD12に表示される。一方、第2LCD22には、ゲーム演出上の画像オブジェクト(図7に示す例では、人間の口元の画像)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの顔の範囲を示す認識表示RECが反映される。この認識表示RECは、原則として、後述する肌色領域検出処理の処理周期毎に逐次更新される。
図7には、内側カメラ23により取得された画像データにおいて、ユーザが相対的に下側の位置にのみ写っている状態を示している。そのため、撮像されたユーザの顔の位置に対応する認識表示RECが第2LCD22の下側にのみ反映されている。
その後、ユーザがゲーム装置100に顔を近付けて、内側カメラ23により取得される画像データ内におけるユーザの写っている範囲が拡大すると、図8に示すような画面に遷移する。この図8に示す状態では、図7に比較してより拡大した人間の口元の画像オブジェクトが表示されるとともに、より広い範囲の認識表示RECが反映される。
さらに、ユーザがゲーム装置100に顔をさらに近付けて、内側カメラ23により取得される画像データ内におけるユーザの写っている範囲がさらに拡大すると、図9に示すような画面に遷移する。この図9には、第1ゲームが「成功」した状態を示す。この第1ゲームが「成功」した状態では、図8に比較してより拡大した人間の口元の画像オブジェクトが表示されるとともに、歯の間から小鳥が顔を出している状態の画像オブジェクトが表示される。
以上のような、図7〜図9に示す一連のゲームにおいて、ユーザは、第2LCD22に表示されるゲーム演出および認識表示RECを参照しながら、ゲーム装置100との相対位置をゲーム進行に応じて変化させる。第1ゲームのプレイ中には、このようなユーザのゲーム中における姿が複数回にわたってキャプチャーされる。そして、第1ゲーム終了後、これらのキャプチャーされた複数の画像データが順次表示される。この画像データが表示される様子の一例を図10に示す。
図10(a)には、第1ゲームをプレイしたユーザの顔が図10(b)に比較して、より小さく写っている。これは、上述の図8に示すような状態に対応するものであり、ユーザの顔がゲーム装置100に対して相対的に遠い位置にある場合を示す。一方、図10(b)には、図10(a)に比較して、ユーザの顔がより大きな範囲に映っている。これは、上述の図9に示すような状態に対応するものであり、ユーザの顔がゲーム装置100に対して相対的に近い位置にある場合を示す。
このような画像を連続的に切換えて表示することで、ユーザが第1ゲームをプレイしている姿を動画像ライクに表示することができる。言い換えれば、ユーザが第1ゲームをプレイしている状態をリプレイ表示することができる。
なお、図10には、典型的に2枚の画像データが順次切換えられる例について示すが、第1ゲーム中により多くの画像データを取得しておき、これらを順次切換えて表示するようにしてもよい。
<第2ゲーム>
次に、図11〜図13を参照して、本実施の形態に従うゲーム装置100で提供される第2ゲームおよび第2ゲーム終了後の画像の表示態様について説明する。この第2ゲームは、典型的に複数のミニゲームから構成され、各ミニゲームのプレイ中においては、所定の条件が満足されたタイミングでユーザがプレイしている姿が少なくとも1枚キャプチャーされる。そして、一連のミニゲームの終了、すなわち第2ゲーム終了後に、これらのキャプチャーされたそれぞれの画像データに対して、対応するミニゲームに関連するオブジェクト、あるいは対応するミニゲームとは異なる意味をもつオブジェクトを重ねて表示する。したがって、第2ゲーム終了後には、第2ゲームのプレイ中におけるあるタイミング(典型的には、当該ミニゲームが「成功」したタイミング周辺)におけるユーザの姿が、ゲーム演出に対応するオブジェクトとともに表現され、あるいは、ゲーム演出とは独立した(無関係な)オブジェクトとともに表現される。なお、複数のミニゲームにおいてそれぞれキャプチャーされた画像データは、所定時間毎に切換えて表示、すなわち、いわゆるスライドショーのように表示されることが好ましい。
なお、第2ゲームの開始がユーザにより指示された場合に、予め用意された複数のミニゲームのうち、いずれのミニゲームを実行するかについてランダムに決定するようにしてもよい。
図11〜図13は、この発明の実施の形態に従う第2ゲームのゲーム中およびゲーム終了後のシーンの一例を示す図である。
(1)第1ミニゲーム
図11(a)に示す第2ゲームに含まれる第1ミニゲームでは、第2LCD22の予め定められた位置に「メガネ」のオブジェクトOBJ10が表示されており、ユーザは、認識される自身の目の位置がオブジェクトOBJ10と一致するように、ゲーム装置100(内側カメラ23)に対する自身の相対位置を調整する。
図11(a)に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像オブジェクト(オブジェクトOBJ10)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの顔の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。また、人体認識されたユーザの瞳に位置に「目」を示す画像オブジェクトが表示される。
ユーザが、ゲーム装置100に対する自身の相対位置を調整し、内側カメラ23により取得される画像データ内における人体認識されたユーザの瞳の位置が、オブジェクトOBJ10の配置位置と一致したと判断されると、第1ミニゲームは「成功」となる。このように、人体認識の結果に基づいて、ゲーム演出に応じて表示されるオブジェクトの位置に関連付けられた成功条件が満足されるか否かが判断される。
図11(b)を参照して、第2ゲーム終了後、図11(a)に示す第1ミニゲームのプレイ中にキャプチャーされた画像データが第2LCD22に表示される。この表示される画像には、典型的に、第1ミニゲームのプレイ中に表示された「メガネ」のオブジェクトOBJ10#が重ねられる。なお、図11(b)に示す例では、対応する第1ミニゲームにおいて表示された「メガネ」と同じ「メガネ」のオブジェクトが重ねて表示されるが、別の形態の「メガネ」を重ねて表示するようにしてもよい。あるいは、「メガネ」とは全く異なる画像オブジェクトを重ねて表示するようにしてもよい。
なお、第1LCD12には、複数のミニゲームのそれぞれにおいてキャプチャーされた画像データの表示(スライドショー)を制御するためのボタン画像などが表示される。より具体的には、第1LCD12には、順序通知画像202、停止ボタン画像204、戻るボタン画像206、進むボタン画像208、および、おわるボタン画像210が表示される。第1LCD12の上にはタッチパネル13が設けられており、ユーザが第1LCD12上のいずれかの位置をタッチすると、タッチパネル13によりタッチされた座標が検出される。そして、検出された座標に上述のいずれかのボタン画像が表示されている場合には、以下に説明するような、対応するボタン画像に割当てられた処理が実行される。
順序通知画像202は、現在表示中の画像データがいずれのミニゲームにおいてキャプチャーされたものであるかを通知する。図11(b)に示す例では、先に5つのミニゲームがプレイされた場合を示すとともに、現在表示されている画像データが第1番目のミニゲームにおいてキャプチャーされたことが示される。停止ボタン画像204は、画像データの表示切り替え(スライドショー)の停止指示を受付ける。なお、スライドショーが停止状態の場合には、停止ボタン画像204に代えて、スライドショーの再開指示を受付けるための再生ボタン画像が表示される。戻るボタン画像206は、一連の画像データのうち、表示される画像データを現在表示中のものから1つ戻すための指示を受付ける。また、進むボタン画像208、一連の画像データのうち、表示される画像データを現在表示中のものから1つ進めるための指示を受付ける。終わるボタン画像210は、画像データの表示の終了指示を受付ける。
(2)第2ミニゲーム
次に、図12(a)に示す第2ゲームに含まれる第2ミニゲームでは、第2LCD22に「蚊」を示すオブジェクトOBJ11が移動表示され、ユーザは、認識される自身の手の動きによってオブジェクトOBJ11が「つぶされる」ように、手をたたく。
図12(a)に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像(オブジェクトOBJ11)が時間的に位置を変えて表示されるとともに、ユーザに手をたたくことを促すオブジェクトOBJ12が表示される。さらに、第2LCD22には、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの手および顔の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。一方、第1LCD12には、ユーザに手をたたくことを通知する「たたけ!」とのメッセージを示す通知画像INFが表示される。
ユーザがゲーム装置100に対する自身の相対位置を調整した上で手をたたき、内側カメラ23により取得される画像データに対する人体認識処理によって、オブジェクトOBJ11の位置でユーザが手をたたいたと認識されると、第2ミニゲームは「成功」となり、「蚊」が画面下側に落ちるような演出がなされる。
図12(b)を参照して、第2ゲーム終了後、図12(a)に示す第2ミニゲームのプレイ中にキャプチャーされた画像データが第2LCD22に表示される。この表示される画像には、第2ミニゲームのプレイ中に表示された「蚊」のオブジェクトOBJ11とは独立した、異なる意味をもつオブジェクトOBJ13が重ねられる。すなわち、ユーザによる「蚊」をたたく動きを、ユーザの可愛らしい(lovelyな)表現に置き換えて表示がなされる。
なお、第1LCD12には、上述の図11(b)と同様に、複数のミニゲームのそれぞれにおいてキャプチャーされた画像データの表示(スライドショー)を制御するためのボタン画像などが表示される。
図12に示すように、第2ミニゲームの終了後の、第2ミニゲームのプレイ中にキャプチャーされた画像データに基づく画像の表示中には、第2ミニゲームの進行中に表示したオブジェクトの位置に当該オブジェクトとは別のオブジェクトに入れ替えて画像表示がなされる。特に、図12に示す例では、第2ミニゲームの進行中に表示されたオブジェクト(図12(a)に示す例では「蚊」)とは関連しないオブジェクト(図12(b)に示す例では「ハートマーク」など)が、第2ミニゲームのプレイ中にキャプチャーされた画像データとともに表示される。
(3)第3ミニゲーム
次に、図13(a)に示す第2ゲームに含まれる第3ミニゲームでは、2人のユーザでのプレイが可能である。すなわち、図13(a)に示す第3ミニゲームでは、第2LCD22に2つの「トーテムポール」のオブジェクトOBJ14およびOBJ15が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたそれぞれのユーザの範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。これらの「トーテムポール」のオブジェクトOBJ14およびOBJ15には、その一部に円状の切り抜き部が設けられており、それぞれのユーザは、認識される自身の顔の位置が対応する切り抜き部と一致するように、ゲーム装置100(内側カメラ23)に対する相対位置を調整する。
また、第1LCD12には、ユーザに自身の顔を所定位置に一致させることを通知する「あわせて!」とのメッセージを示す通知画像INFが表示される。
両ユーザが、ゲーム装置100に対する自身の相対位置を調整し、内側カメラ23により取得される画像データ内における人体認識された顔の位置が、対応するオブジェクトOBJ14およびOBJ15の切り抜き部と一致したと判断されると、第3ミニゲームは「成功」となる。
図13(b)を参照して、第2ゲーム終了後、図13(a)に示す第3ミニゲームのプレイ中にキャプチャーされた画像データが第2LCD22に表示される。この表示される画像には、第3ミニゲームのプレイ中に表示された「トーテムポール」のオブジェクトOBJ14およびOBJ15とは独立した、異なる意味をもつオブジェクトOBJ16が重ねられる。すなわち、両ユーザが「トーテムポール」に設けられたそれぞれの切り抜き部に位置した姿を、大きな「鼻」から両ユーザが飛び出ている表現に置き換えて表示がなされる。
なお、第1LCD12には、上述の図11(b)と同様に、複数のミニゲームのそれぞれにおいてキャプチャーされた画像データの表示(スライドショー)を制御するためのボタン画像などが表示される。
上述のように、第2ゲーム(に含まれるミニゲーム)のプレイ中にキャプチャーされたユーザの姿に、対応するミニゲームのゲーム演出に対応するオブジェクト、あるいは対応するミニゲームのゲーム演出とは独立した(異なる意味をもつ)オブジェクトが重ねて表現される。これにより、ユーザがミニゲームをプレイした姿を利用したより楽しい画像で楽しむことができる。
図13に示すように、第3ミニゲームの終了後の、第3ミニゲームのプレイ中にキャプチャーされた画像データに基づく画像の表示中には、第3ミニゲームの進行中に表示したオブジェクトとは別のオブジェクトに入れ替えて画像表示がなされる。特に、図13に示す例では、第3ミニゲームの進行中に表示されたオブジェクト(図13(a)に示す例では「トーテムポール」)とは関連しないオブジェクト(図13(b)に示す例では「鼻」など)が、第3ミニゲームのプレイ中にキャプチャーされた画像データとともに表示される。
<第3ゲーム>
次に、図14〜図19を参照して、本実施の形態に従うゲーム装置100で提供される第3ゲームおよび第3ゲーム終了後の画像の表示態様について説明する。第3ゲームは、一連の複数のミニゲームから構成され、各ミニゲームのプレイ中においては、所定の条件が満足されたタイミングでユーザがプレイしている姿が少なくとも1枚キャプチャーされる。そして、一連のミニゲームの終了、すなわち第3ゲーム終了後に、これらのキャプチャーされたそれぞれの画像データに対して、特定の意味をもつオブジェクトを重ねて表示することで、予め用意されたシナリオに沿った漫画ライクな表現が提供される。なお、この漫画ライクな画像データは、所定時間毎に順次切換えて表示される。
図14〜図18は、この発明の実施の形態に従う第3ゲームのシーンの一例を示す図である。図19および図20は、この発明の実施の形態に従う第3ゲーム終了後の画像の表示例を示す図である。なお、以下の説明では、第3ゲームが5つのミニゲームから構成され、それぞれのミニゲームにおいてキャプチャーされた合計5つの画像データを用いて「5コマ漫画」が表示される場合について例示する。
(1)第4ミニゲーム
図14に示す第3ゲームに含まれる第4ミニゲームでは、第2LCD22の予め定められた位置に、人間の頭部および背中を表わすオブジェクトOBJ17が表示されており、ユーザは、認識される自身の動きによってオブジェクトOBJ17の「肩」に相当する部分を「たたく」ように、手を動かす。
図14に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像(オブジェクトOBJ17)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの手の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。
ユーザがゲーム装置100に対する手の相対位置を調整した上で、手を上下させ、内側カメラ23により取得される画像データに対する人体認識処理によって、ユーザがオブジェクトOBJ17の所定位置(「肩」に対応する位置)を「たたいた」と所定回数にわたって判断されると、第4ミニゲームは「成功」となる。なお、ゲーム進行中において、「肩」を「たたいた」と判断されると、そのことを示すオブジェクトOBJ18が表示される。さらに、第2LCD22には、ゲームが「成功」となるために必要な肩を「たたく」残り回数を示すオブジェクトOBJ19も表示される。
(2)第5ミニゲーム
図15に示す第3ゲームに含まれる第5ミニゲームでは、第2LCD22に別れのシーンを表わすオブジェクトOBJ20が表示されており、ユーザは、手を左右に動かして、「バイバイ」の動作を行なう。
図15に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像(オブジェクトOBJ20)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの手の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。
ユーザがゲーム装置100に対する手の相対位置を調整した上で手を左右に動かし、内側カメラ23により取得される画像データに対する人体認識処理によって、ユーザがその手を所定回数にわたって左右に動かしたと認識されると、第5ミニゲームは「成功」となる。なお、ゲーム進行中において、ユーザに手をふることを促すオブジェクトOBJ21が表示される。
(3)第6ミニゲーム
図16に示す第3ゲームに含まれる第6ミニゲームでは、第2LCD22に「鼻」を表わすオブジェクトOBJ22が表示されており、ユーザは、認識される自身の人差し指および中指が「鼻」を表わすオブジェクトOBJ22の「穴」に相当する位置に「差し込まれる」ように、手を動かす。
図16に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像(オブジェクトOBJ22)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの手の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。
ユーザがゲーム装置100に対する手の相対位置を調整した上で手の位置を調整し、内側カメラ23により取得される画像データに対する人体認識処理によって、ユーザの人差し指および中指がオブジェクトOBJ22の「穴」に相当する位置に差し込まれたと認識されると、第6ミニゲームは「成功」となる。
(4)第7ミニゲーム
図17に示す第3ゲームに含まれる第7ミニゲームでは、第2LCD22に「マントを羽織ったキャラクター」を表わすオブジェクトOBJ23が表示されており、ユーザは、内側カメラ23に顔を近付けるとともに、内側カメラ23に近接配置されているマイク用孔16(およびその中に収納されるマイク43)に向けて息を吹きかける。
図17に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像(オブジェクトOBJ23)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの手の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。
ユーザがゲーム装置100に対する自身の顔の相対位置を調整した上で息を吹きかけ、これにより、ユーザの顔の認識領域が所定のしきい値を超え、かつ息を吹きかける際の音圧が所定のしきい値を超えると、第7ミニゲームは「成功」と判断される。なお、ゲーム進行中において、息を吹きかけたと判定されると、その判定に応じて、表示されるオブジェクトOBJ23が「吹き飛ばされる」ような演出がなされる。
(5)第8ミニゲーム
図18に示す第3ゲームに含まれる第8ミニゲームでは、第2LCD22に「泣いている赤ちゃん」を表わすオブジェクトOBJ24が表示されており、ユーザは、顔を両手で覆うような動作および顔から両手を離す動作を繰返す、いわゆる「いないいないばあ」をする。
図18に示すシーンにおいては、第2LCD22に、ゲーム演出上の画像(オブジェクトOBJ24)が表示されるとともに、内側カメラ23により取得された画像データに対する人体認識処理によって得られたユーザの手の範囲を示す認識表示RECが反映される。この認識表示RECは、後述する肌色領域検出処理の処理周期毎に逐次更新される。
ユーザが自身の顔を両手で覆う動作および両手を離す動作を所定回数にわたって繰返したと認識されると、第8ミニゲームは「成功」と判断される。
(6)ゲーム終了後の表示例
上述のような第4〜第8ミニゲーム(第3ゲーム)終了後に、図19および図20に示すような予め用意されたシナリオに沿った漫画ライクな表現が提供される。
第3ゲーム終了後、第2LCD22には、図19(a)に示すような予め用意されたタイトル画面が表示され、続いて、図19(b)に示すような画面が表示される。この図19(b)に示す画面は、ユーザが第3ゲームに含まれる第4ミニゲーム(図14)をプレイ中にキャプチャーされた画像データに、予め用意されたシナリオに沿った画像オブジェクトを重ねたものである。その後、図19(b)に示す画面に引き続いて、図19(c)に示す画面が表示される。この図19(c)に示す画面は、ユーザが第3ゲームに含まれる第5ミニゲーム(図15)をプレイ中にキャプチャーされた画像データに、予め用意されたシナリオに沿った画像オブジェクトを重ねたものである。
以下同様にして、図19(c)に示す画面に引き続いて、第2LCD22には、図20(a)に示す画面、図20(b)に示す画面、図20(c)に示す画面が順次表示される。図20(a)に示す画面、図20(b)に示す画面、および図20(c)に示す画面は、それぞれ第3ゲームに含まれる第6ミニゲーム(図16)、第7ミニゲーム(図17)、および第8ミニゲーム(図18)をユーザがプレイ中にキャプチャーされた画像データに、予め用意されたシナリオに沿ったそれぞれの画像オブジェクトを重ねたものである。
図19および図20に示すように、一連のミニゲームのプレイ中にそれぞれキャプチャーされたユーザの姿に、予め用意されたシナリオに沿ったオブジェクトが重ねて表現される。これにより、第3ゲームをプレイしたユーザを主人公にした漫画ライクな画像で楽しむことができる。
上述の図14〜図18に示すように、第3ゲームにおいては、予め定められた複数の段階(第4〜第8ミニゲーム)において、各段階(ミニゲーム)に対応付けられた成功条件に基づいてゲーム成功をそれぞれ判断することでゲームが進行される。このとき、各ミニゲームでは、それぞれに対応する成功条件に関連付けられたオブジェクトが切換えて表示される。
また、上述の図19および図20に示すように、第3ゲームにおいては、予め定められた複数の段階(第4〜第8ミニゲーム)において、各段階(ミニゲーム)に対応付けられた成功条件に基づいてゲーム成功をそれぞれ判断することでゲームが進行される。この第3ゲームの終了後、ゲーム進行中の複数の段階(ミニゲーム)のそれぞれにおいて取得されて画像記憶部116に記憶された複数の画像データと、各画像データが取得された段階(ミニゲーム)に対応付けられた成功条件に関連付けられたオブジェクトと、を合成した画像が表示される。
<制御構造>
次に、上述のような処理を提供するための制御構造について説明する。
図21は、本実施の形態に従うゲーム装置100の制御構造を示すブロック図である。
図21を参照して、ゲーム装置100は、その制御構造として、音声データバッファ102と、音声認識部104と、判定部110と、画像データバッファ112と、キャプチャーコントローラ114と、画像記憶部116と、人体認識部120と、ゲーム画像コントローラ130と、ゲーム画像DB(Data Base)132と、認識結果反映部134と、
リプレイコントローラ136と、リプレイ画像DB138と、レンダリングエンジン140とを含む。なお、図21に示す制御構造は、典型的には、CPU31がメインメモリ32などのハードウェアを利用してゲームプログラムを実行することが提供される。代替的に、その全部もしくは一部をハードウェア回路によって具現化してもよい。
音声データバッファ102は、マイク43(図3)により取得された音声がI/F回路42(図3)でD/A変換されて得られるデジタル形式の音声信号を所定時間分だけ蓄積する。この音声データバッファ102は、メインメモリ32の一部の領域として提供される。
音声認識部104は、音声データバッファ102に蓄積された音声データに対して、公知の音声認識を行なう。典型的には、音声認識部104は、上述の図17に示す第3ゲームに含まれる第7ミニゲームにおけるユーザが息を吹きかけているか否かを判断する。なお、マイク43により取得された音声が所定の音圧以上であるか否かに基づいて、ユーザが息を吹きかけているか否かを判断してもよい。音声認識部104による認識結果は、判定部110へ送られる。
画像データバッファ112は、カメラ(内側カメラ23および外側カメラ25)より取得される画像データを所定コマ数分蓄積する。なお、上述の各ゲームにおいては、基本的に内側カメラ23が使用されるので、画像データバッファ112には、内側カメラ23で撮像された画像データが随時蓄積される。メインメモリ32の一部の領域として提供される。また、画像データバッファ112は、キャプチャーコントローラ114および人体認識部120と接続される。
キャプチャーコントローラ114は、画像データバッファ112と画像記憶部116との間に配置され、後述する判定部110からのキャプチャー指令に応じて、画像データバッファ112に蓄積されている画像データを画像記憶部116へ出力する。すなわち、ゲームのプレイ中(内側カメラ23が有効化されている間)には、内側カメラ23により撮像される画像データが周期的に画像データバッファ112に書込まれ、これらの画像データのうち、必要なものが選択的に画像記憶部116に格納される。
画像記憶部116は、本実施の形態に従うゲーム終了後に表示される画像データを格納する。この画像記憶部116は、メインメモリ32もしくは保存用データメモリ34の一部の領域として提供される。なお、この画像記憶部116に格納された画像データを、外部からゲーム装置100に装着されるメモリカード28に格納するように構成してもよい。
人体認識部120は、内側カメラ23により取得される画像データに対して人体認識を行なうとともに、その認識結果を判定部110へ出力する。より具体的には、顔認識部122と、色座標変換部124と、肌色領域検出部126とを含む。
顔認識部122は、画像データバッファ112に蓄積される画像データに対して、顔認識処理を実行する。すなわち、顔認識部122は、ユーザ画像として、撮像された画像データの中から人間の顔領域を検出する。このとき、顔認識部122は、顔領域に含まれる顔の特徴点なども抽出する。顔認識部122は、これらの顔認識結果を判定部110へ出力する。より具体的には、顔領域として特定された範囲を示す座標値および瞳などの中心座標などが検出結果として出力される。なお、顔認識部122における顔認識処理については、公知の技術であるので、ここでは詳細な説明は行なわない。
色座標変換部124は、後述する肌色領域検出部126での前処理として、RGB表色系で記述された画像データをHVC表色系に変換する。すなわち、カメラで撮像される画像データでは、各画素の色情報がR(赤)、G(緑)、B(青)の階調値で表現されており、色座標変換部124は、これらの各画素の色情報を色相(Hue)、輝度(Value)、彩度(Chroma)の座標系に変換する。
肌色領域検出部126は、色座標変換部124から出力されるHVC座標系の色情報に基づいて、内側カメラ23により取得される画像データ内の肌色領域を検出する(肌色領域検出処理)。すなわち、肌色領域検出部126は、ユーザ画像として、内側カメラ23により取得される画像データ内の肌色領域を検出する。これにより、肌色領域検出部126は、画像データ内のユーザの領域を示すユーザ領域を検出する。より具体的には、肌色領域検出部126は、各画素について、色相、輝度、および彩度がそれぞれ対応するしきい範囲に含まれているか否かを判断し、いずれのしきい範囲に含まれている画素について「肌色」であると判定する。なお、周辺の照明環境によって、ユーザの肌の部分を撮像して得られる色情報は変動するので、予め、ユーザを1回もしくは複数回にわたって撮像し、これらの撮像によって得られた画像データに基づいて肌色とすべきしきい範囲を動的に決定することが好ましい。肌色領域検出部126は、このように検出した肌色領域(肌色であると判断された各画素の座標値および/または画素の数)を判定部110へ出力する。
判定部110は、音声認識部104および人体認識部120(顔認識部122および肌色領域検出部126)からの認識結果に基づいて、ゲーム進行中に各ゲームに固有に設定された条件が満足されているか否かを逐次判断する。すなわち、判定部110は、認識結果に基づいて、進行中のゲーム演出に応じて表示されるオブジェクトの位置に関連付けられた条件が満足されるか否かを判断する。より具体的には、判定部110は、それぞれのゲームに対応付けて予め複数の条件からなる条件群110aを格納しており、ユーザ指令に応じて選択されるゲームに応じて、対応する条件を選択して、入力される認識結果が当該条件を満足するか否かを判断する。そして、判定部110は、各ゲームが成功であると判断される条件(成功条件)が満足された場合に、ゲームが成功したと決定する。
なお、判定部110は、肌色領域検出部126および/または顔認識部122によりユーザの存在が検出されているときに限って、ゲームが成功したか否かを判断するようにしてもよい。ここで、ユーザの存在が検出されたか否かの判断基準としては、肌色領域検出部126によって所定面積以上の肌色領域が検出されている場合や、顔認識部122により顔領域が検出されている場合などを含む。このような条件を付加することで、ユーザがゲーム装置100の前に存在していないにもかかわらず、ゲームが誤判定によって進行するといった事態を回避できる。
さらに、判定部110は、ゲームが成功であるか否かを決定するための成功条件に加えて、キャプチャーコントローラ114へ対してキャプチャー指令を出力するための条件が満足されるか否かについても判断する。
また、この判定部110による判定結果は、ゲーム画像コントローラ130および認識結果反映部134へ出力される。また、判定部110は、人体認識部120からの認識結果を認識結果反映部134へ出力する。
ゲーム画像コントローラ130およびゲーム画像DB132は、判定部110からの認識結果に基づいて、ゲームを進行する。より具体的には、ゲーム画像DB132には、予め用意された複数のゲームにそれぞれ対応する画像オブジェクトが格納されており、ゲーム画像コントローラ130は、判定部110からの認識結果に基づいて、ゲーム画像DB132から必要な画像オブジェクトをレンダリングエンジン140へ適宜のタイミングで出力する。このように、判定部110、ゲーム画像コントローラ130、およびゲーム画像DB132は、人体認識の結果に基づいてゲームを進行する。
認識結果反映部134は、ゲーム進行中に人体認識部120により検出された肌色領域(ユーザ画像)を、ユーザの顔や手であると認識された領域として表示する(図7などに示す認識表示REC)。認識結果反映部134は、上述の図7などに示すように、検出された肌色領域を「影」として表示する。すなわち、認識結果反映部134は、ゲーム進行中に検出された肌色領域(ユーザ画像)を、内側カメラ23により撮像される画像とは異なる態様で表示する。
リプレイコントローラ136およびリプレイ画像DB138は、上述のゲーム終了後の画像表示(リプレイ動作)を行なう。より具体的には、リプレイ画像DB138には、ゲーム終了後の画像データに重ね合わせる画像オブジェクトが格納されており、リプレイコントローラ136は、ゲーム終了後に、画像記憶部116に格納される画像データを読み出すとともに、必要に応じて、リプレイ画像DB138から対応する画像オブジェクトを読み出して、両者をレンダリングエンジン140へ出力する。なお、図10に示すように、複数の画像データを何らの画像オブジェクトを重ねることなく表示する場合には、リプレイコントローラ136は、画像記憶部116に格納されている画像データのみをレンダリングエンジン140へ出力する。
レンダリングエンジン140は、第1LCD12および第2LCD22における画像表示を制御する。より具体的には、レンダリングエンジン140は、ゲーム進行中においては、ゲーム画像コントローラ130からの画像オブジェクトと、認識結果反映部134からの認識された領域を示す画像とを重ねて表示する。また、レンダリングエンジン140は、ゲーム終了後においては、リプレイコントローラ136からの画像データおよび画像オブジェクトとを重ねて表示する。
図22は、図21に示すレンダリングエンジンにおける処理を概念的に示す図である。なお、図22には、図11(b)に示す第2LCD22における表示を実現する場合の例を示す。
図22を参照して、レンダリングエンジン140では、第1LCD12および第2LCD22に画像を表示するための映像信号は、複数のレイヤーを用いて生成される。より具体的には、レンダリングエンジン140は、少なくとも、画像データIMGを表示するための第1レイヤーLYR1と、画像オブジェクトを表示するための第2レイヤーLYR2とを有する。第1レイヤーLYR1には画像データIMGが展開され、第2レイヤーLYR2にはオブジェクトOBJ10#が展開される。なお、レイヤーLYR1およびLYR2の各々は、第1LCD12または第2LCD22での表示に十分な大きさのメモリ領域をCPU31内のVRAM(図示しない)に形成することで提供される。これらのレイヤーLYR1およびLYR2を合成することで、映像信号が生成される。
このように、第2レイヤーLYR2に必要なオブジェクトを展開することで、ゲームの進行中および画像記憶部116に保存された画像データに基づく画像の表示中に、任意のオブジェクトを切換えて表示させることができる。
<第1ゲームの処理内容および処理手順>
次に、上述の第1ゲーム(図7〜図10)を提供するための処理内容および処理手順について説明する。第1ゲームでは、主として、ゲーム演出に応じて表示されるオブジェクトの位置と、肌色領域検出部126(図22)により検出される肌色領域の位置および大きさとに基づいてゲームが進行される。
図23は、この発明の実施の形態に従う第1ゲームのゲーム進行の条件を説明するための図である。図23を参照して、第1ゲームでは、図7〜図9に示す第2LCD22に表示されるオブジェクトの位置に対応付けて、内側カメラ23により取得される画像データに設定した基準点RP1を中心として、同心円状に区分された複数の判定領域AREA1〜AREA5が設定される。そして、これらの判定領域AREA1〜AREA5に含まれる画素のうち、「肌色」であると検出された画素数(比率)をゲーム進行の条件とする。
より具体的には、第1ゲームでは、ゲーム進行が第1段階から第5段階に区分されており、それぞれ判定領域AREA1〜AREA5に含まれる画素のうち「肌色」であると検出された画素数についての対応する判定領域に含まれる全画素数に対する比率が算出され、算出された比率がそれぞれ対応するしきい値を超えることを条件に、順次段階を進める。これは、第1ゲームでは、ユーザがゲーム装置100に顔を徐々に近付けることが想定されており、このようなユーザの動きによって、「肌色」であると検出された画素が徐々に広がると想定されるためである。
すなわち、第1ゲームの開始後、まず、判定領域AREA1に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA1に含まれる全画素数に対する比率が所定のしきい値Th1を超えると、第2段階に進む。第2段階においては、判定領域AREA2に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA2に含まれる全画素数に対する比率が所定のしきい値Th2を超えるか否かが継続的に判断され、しきい値Th2を超えると、第3段階に進む。
以下、同様にして、第3段階では、判定領域AREA3に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA3に含まれる全画素数に対する比率が所定のしきい値Th3を超えるか否かが継続的に判断され、しきい値Th3を超えると、第4段階に進む。続く第4段階では、判定領域AREA4に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA4に含まれる全画素数に対する比率が所定のしきい値Th4を超えるか否かが継続的に判断され、しきい値Th4を超えると、第5段階に進む。さらに続く、続く第5段階では、判定領域AREA5に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA5に含まれる全画素数に対する比率が所定のしきい値Th5を超えるか否かが継続的に判断され、しきい値Th5を超えると、第1ゲームは「成功」となる。
なお、しきい値Th1〜Th5は、いずれも50%以上に設定することが好ましい。また、上述の説明では、各判定領域について、「肌色」であると検出された画素数の比率で判定する場合について例示したが、「肌色」であると検出された画素の絶対数で判定するようにしてもよい。
上述のように、各段階では、対応する判定領域に含まれる画素に基づいて条件が満足されているか否かの判断がなされる。本来予想されるユーザの動きとは異なった検出結果、たとえば、第1ゲーム開始直後において、内側の判定領域において「肌色」であると検出された画素数が少ないにもかかわらず、より外側の判定領域において「肌色」であると検出された画素数が多いような場合において、いきなり第1ゲームが「成功」といった誤った判断を避けることができる。
また、上述のゲーム進行の段階に応じて、ゲーム演出が変更される。たとえば、第1〜第3段階までは、図7に示すような画像オブジェクトを表示させるとともに、第3段階から第4段階に進んだタイミングで、図8に示すような画像オブジェクトに表示を切換える。さらに、第5段階における条件が満足されて、第1ゲームが「成功」と判断されると、図10に示すような画像オブジェクトに表示を切換える。
本実施の形態に従うそれぞれのゲームにおいては、所定の条件が満足されるタイミングで、ユーザのプレイ中の姿をキャプチャーされる。第1ゲームにおいては、上述の第1〜第5段階における条件が満足されたタイミングで、内側カメラ23により取得される画像データがキャプチャーされる。すなわち、キャプチャーされる画像データは、それぞれゲーム進行の段階が変化するタイミング周辺におけるユーザの姿を含むことになる。
なお、上述の基準点RP1および判定領域AREA1〜AREA5の位置は、ゲーム演出上で表示されるオブジェクトの位置によって適宜変更される。
上述したように、第1ゲームでは、予め定められた複数の段階において、各段階に対応付けられた成功条件に基づいてゲーム成功をそれぞれ判断することでゲームが進行される。第1ゲームの終了後、ゲーム進行中の複数の段階のそれぞれにおいて取得されて画像記憶部116に記憶された複数の画像データが連続的に表示される。
図24は、この発明の実施の形態に従う第1ゲームの処理手順を示すフローチャートである。図24に示すフローチャートは、第1ゲームの開始がユーザにより指示されると実行される。
図24を参照して、まず、ステップS100において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS102において、CPU31は、取得した画像データ内の肌色領域を検出する。さらに続くステップS104において、CPU31は、図23に示す判定領域AREA1に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA1に含まれる全画素数に対する比率がしきい値Th1を超えているか否かを判断する。比率がしきい値Th1を超えていない場合(ステップS104においてNOの場合)には、ステップS100の処理が繰返される。一方、比率がしきい値Th1を超えている場合(ステップS104においてYESの場合)には、処理はステップS106へ進む。
ステップS106において、CPU31は、最も直近に取得された画像データをメインメモリ32もしくは保存用データメモリ34に格納する。すなわち、CPU31は、ユーザのプレイしている姿をキャプチャーする。そして、処理はステップS108へ進む。すなわち、第1ゲームの進行は、第1段階から第2段階へ進む。
ステップS108において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS110において、CPU31は、取得した画像データ内の肌色領域を検出する。さらに続くステップS112において、CPU31は、図23に示す判定領域AREA2に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA2に含まれる全画素数に対する比率がしきい値Th2を超えているか否かを判断する。比率がしきい値Th2を超えていない場合(ステップS112においてNOの場合)には、ステップS108の処理が繰返される。一方、比率がしきい値Th2を超えている場合(ステップS112においてYESの場合)には、処理はステップS114へ進む。
ステップS114において、CPU31は、最も直近に取得された画像データをメインメモリ32もしくは保存用データメモリ34に格納する。すなわち、CPU31は、ユーザのプレイしている姿をキャプチャーする。そして、処理はステップS116へ進む。すなわち、第1ゲームの進行は、第2段階から第3段階へ進む。
ステップS116において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS118において、CPU31は、取得した画像データ内の肌色領域を検出する。さらに続くステップS120において、CPU31は、図23に示す判定領域AREA3に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA3に含まれる全画素数に対する比率がしきい値Th3を超えているか否かを判断する。比率がしきい値Th3を超えていない場合(ステップS120においてNOの場合)には、ステップS116の処理が繰返される。一方、比率がしきい値Th3を超えている場合(ステップS120においてYESの場合)には、処理はステップS122へ進む。
ステップS122において、CPU31は、最も直近に取得された画像データをメインメモリ32もしくは保存用データメモリ34に格納する。すなわち、CPU31は、ユーザのプレイしている姿をキャプチャーする。さらに続くステップS124において、CPU31は、図7に示す画像オブジェクトから図8に示す画像オブジェクトに、表示する画像オブジェクトを切換える。そして、処理はステップS126へ進む。すなわち、第1ゲームの進行は、第3段階から第4段階へ進む。
ステップS126において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS128において、CPU31は、取得した画像データ内の肌色領域を検出する。さらに続くステップS130において、CPU31は、図23に示す判定領域AREA4に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA4に含まれる全画素数に対する比率がしきい値Th4を超えているか否かを判断する。比率がしきい値Th4を超えていない場合(ステップS130においてNOの場合)には、ステップS126の処理が繰返される。一方、比率がしきい値Th4を超えている場合(ステップS130においてYESの場合)には、処理はステップS132へ進む。
ステップS132において、CPU31は、最も直近に取得された画像データをメインメモリ32もしくは保存用データメモリ34に格納する。すなわち、CPU31は、ユーザのプレイしている姿をキャプチャーする。そして、処理はステップS134へ進む。すなわち、第1ゲームの進行は、第4段階から第5段階へ進む。
ステップS134において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS136において、CPU31は、取得した画像データ内の肌色領域を検出する。さらに続くステップS138において、CPU31は、図23に示す判定領域AREA5に含まれる画素のうち「肌色」であると検出された画素数の判定領域AREA5に含まれる全画素数に対する比率がしきい値Th5を超えているか否かを判断する。比率がしきい値Th5を超えていない場合(ステップS138においてNOの場合)には、ステップS134以下の処理が繰返される。一方、比率がしきい値Th5を超えている場合(ステップS138においてYESの場合)には、処理はステップS140へ進む。
ステップS140において、CPU31は、最も直近に取得された画像データをメインメモリ32もしくは保存用データメモリ34に格納する。すなわち、CPU31は、ユーザのプレイしている姿をキャプチャーする。さらに続くステップS142において、CPU31は、図8に示す画像オブジェクトから図9に示す画像オブジェクトに、表示する画像オブジェクトを切換える。そして、処理はステップS144へ進む。すなわち、第1ゲームは「成功」と判断され、第1ゲームの進行は終了する。
なお、上述のステップS100〜S142までの一連の処理が、予め定められた時間内に終了しない場合には、第1ゲームが「失敗」に終わったと判断してもよい。この場合には、ステップS144以降の処理に代えて、第1ゲームが「失敗」であることを示す画面が表示される。
ステップS144において、CPU31は、キャプチャーした複数の画像データをメインメモリ32もしくは保存用データメモリ34から読出して、所定の順序で第2LCD22に順次切換えて表示する。すなわち、CPU31は、ゲームプレイ中のユーザの姿をリプレイ表示する。なお、この画像データの表示順は、キャプチャーされた時間順であってもよいし、あるいはキャプチャーされた時間順とは独立したランダムな順序であってもよい。
続くステップS146において、CPU31は、ユーザにより終了が指示されたか否かを判断する。ユーザにより終了が指示されていない場合(ステップS146においてNOの場合)には、ステップS144の処理が繰返される。一方、ユーザにより終了が指示された場合(ステップS146においてYESの場合)には、第1ゲームについての処理は終了する。
<第2ゲームの処理内容および処理手順>
上述したように、本実施の形態に従う第2ゲームは、複数のミニゲームを含む。各ミニゲームでは、ゲーム進行と並行して、ユーザのプレイ中の姿がキャプチャーされる。そして、一連のミニゲームが終了すると、各ミニゲームにおいてキャプチャーされた画像データに、さまざまなオブジェクトを重ねて表示する。
(1)全体処理
図25は、この発明の実施の形態に従う第2ゲームの処理手順を示すフローチャートである。図25に示すフローチャートは、第2ゲームの開始がユーザにより指示されると実行される。
図25を参照して、まず、ステップS20において、CPU31は、ミニゲームを実行する。この実行されるミニゲームにおいては、ゲーム進行および画像データのキャプチャーが並列的に実行される。続くステップS30において、CPU31は、予め用意されているすべてのミニゲームの実行が完了したか否かを判断する。すべてのミニゲームの実行が完了していない場合(ステップS30においてNOの場合)には、ステップS20の処理が繰返される。すなわち、予め用意されているミニゲームの数だけ、ステップS20の処理が繰返される。すべてのミニゲームの実行が完了している場合(ステップS30においてYESの場合)、すなわち第2ゲーム終了後には、処理はステップS32以下のリプレイ処理に移行する。
ステップS32において、CPU31は、先のミニゲームにおいてそれぞれキャプチャーされた画像データのうち、1つの画像データを読出す。続くステップS34において、CPU31は、読出した画像データに応じたオブジェクトを読出す。さらに続くステップS36において、CPU31は、ステップS32において読出した画像データにステップS34において読出したオブジェクトを重ねて表示する。所定時間の経過後、処理はステップS38へ進む。
ステップS38において、CPU31は、ユーザにより終了が指示されたか否かを判断する。ユーザにより終了が指示されていない場合(ステップS38においてNOの場合)には、ステップS32の処理が繰返される。一方、ユーザにより終了が指示された場合(ステップS38においてYESの場合)には、第2ゲームについての処理は終了する。
次に、上述の第2ゲームに含まれる第1〜第3ミニゲーム(図11〜図13)を提供するための処理内容および処理手順について説明する。
(2)第1ミニゲーム
第2ゲームに含まれる第1ミニゲームでは、主として、ゲーム演出に応じて表示されるオブジェクトの位置と、顔認識部122(図22)により検出される顔特徴量の位置とに基づいてゲームが進行される。より具体的には、顔認識部122により認識される顔特徴量のうち、「瞳」のそれぞれの中心座標に基づいて、ゲーム進行に係る条件が満足されるか否かが判断される。
図26は、この発明の実施の形態に従う第2ゲームに含まれる第1ミニゲームのゲーム進行の条件を説明するための図である。図26を参照して、第1ミニゲームでは、図11(a)に示す第2LCD22に表示される「メガネ」のオブジェクトOBJ10の中心点に対応付けて、内側カメラ23により取得される画像データに基準点RP2が設定される。そして、この基準点RP2を中心として、左右対称に判定領域DTLおよびDTRが設定される。これらの判定領域DTLおよびDTRは、「メガネ」のオブジェクトOBJ10のレンズの部分に対応するように設定される。なお、図26には、判定領域DTLおよびDTRを矩形状としたが、これに限らず円状や楕円状であってもよい。さらに、これらの判定領域DTLおよびDTRのそれぞれに認識された「瞳」の中心座標の値が含まれる度合いをゲーム進行の条件とする。
より具体的には、第1ミニゲームでは、判定周期毎に、認識された「瞳」の中心座標DEPがそれぞれ判定領域DTLおよびDTRに含まれているか否かが判定され、含まれていれば所定の点数を加算し、含まれていなければ所定の点数を減算する。この結果、累積点が所定のしきい値を超えた時点で、第1ミニゲームは「成功」となる。
また、第2ゲームに含まれる第1ミニゲームでは、初期値(典型的には、ゼロ)から「成功」と判定されるしきい値までの間に複数の中間的なしきい値が予め設定されており、累積点がこれらの中間的なしきい値をはじめて超えるタイミングで、ユーザのプレイ中の姿をキャプチャーされる。典型的には、Th11,Th12,Th13,Th14,Th15(但し、Th11<Th12<Th13<Th14<Th15)の5つのしきい値が予め設定されており、累積値がそれぞれのしきい値をはじめて超えるタイミングで画像データがキャプチャーされるとともに、累積値がしきい値Th5を超えると、第1ミニゲームは「成功」となる。したがって、キャプチャーされる画像データは、累積値がそれぞれしきい値を超えるタイミングにおけるユーザの姿を含むことになる。
なお、上述の基準点RP2の位置ならびに判定領域DTLおよびDTRの位置および大きさは、ゲーム演出上で表示されるオブジェクトの種類および位置によって適宜変更される。
図27は、この発明の実施の形態に従う第2ゲームに含まれる第1ミニゲームの処理手順を示すフローチャートである。
図27を参照して、まず、ステップS200において、CPU31は、累積値Sを初期化(累積値Sに「ゼロ」をセット)する。続くステップS202において、CPU31は、しきい値ThSを初期化(しきい値ThSに最も小さいしきい値であるTh11をセット)する。
ステップS204において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS206において、CPU31は、取得した画像データ内における左右それぞれの「瞳」の中心座標を認識する。さらに続くステップS208において、認識した左右それぞれの「瞳」の中心座標が判定領域DTLおよびDTR(図26)に含まれているか否かを判断する。左右それぞれの「瞳」の中心座標が判定領域DTLおよびDTRに含まれている場合(ステップS208においてYESの場合)には、累積値Sに一定値αを加算する(ステップS210)。一方、左右それぞれの「瞳」の中心座標が判定領域DTLおよびDTRに含まれていない場合(ステップS208においてNOの場合)には、累積値Sから一定値βを減算する(ステップS212)。その後、処理はステップS214へ進む。
ステップS214において、CPU31は、累積値Sがしきい値ThSを超えているか否かを判断する。累積値Sがしきい値ThSを超えていない場合(ステップS214においてNOの場合)には、ステップS202以下の処理が繰返される。一方、累積値Sがしきい値ThSを超えている場合(ステップS214においてYESの場合)には、処理はステップS216へ進む。
ステップS216において、CPU31は、最も直近に取得された画像データをメインメモリ32もしくは保存用データメモリ34に格納する。すなわち、CPU31は、ユーザのプレイしている姿をキャプチャーする。続くステップS218において、CPU31は、現在のしきい値ThSに最も大きなしきい値であるしきい値Th15がセットされているか否かを判断する。現在のしきい値ThSにしきい値Th15がセットされていない場合(ステップS218においてNOの場合)には、CPU31は、しきい値ThSに現在セットされているしきい値の次に大きなしきい値をセットし(ステップS220)、ステップS202以下の処理を繰返す。
一方、現在のしきい値ThSにしきい値Th15がセットされている場合(ステップS218においてYESの場合)には、第1ミニゲームは「成功」と判断され、第1ミニゲームの進行は終了する。
なお、上述のステップS200〜S220までの一連の処理が、予め定められた時間内に終了しない場合には、第1ミニゲームが「失敗」に終わったと判断してもよい。また、累積値Sの最低値(たとえば、「ゼロ」)を定めておくことが好ましい。
(3)第2ミニゲーム
第2ゲームに含まれる第2ミニゲームでは、主として、ゲーム演出に応じて表示されるオブジェクトの位置と、肌色領域検出部126(図22)により検出される肌色領域の位置および大きさとに基づいてゲームが進行される。
図28は、この発明の実施の形態に従う第2ゲームに含まれる第2ミニゲームのゲーム進行の条件を説明するための図である。図28を参照して、第2ミニゲームでは、図12(a)に示す第2LCD22に表示される「蚊」のオブジェクトOBJ11の中心点に対応付けて、内側カメラ23により取得される画像データに基準点RP3が設定される。この基準点RP3を中心として、基準点RP3を含む判定領域DT31が設定されるとともに、この判定領域DT31より広い範囲に、基準点RP3を含む判定領域DT32が設定される。さらに、基準点RP3を始点として、上下左右および斜め方向の計8方向に判定線DL1〜DL8が設定される。そして、これらの判定領域DT31およびDT31ならびに判定線DL1〜DL8に含まれる画素のうち、「肌色」であると検出された画素数(比率)をゲーム進行の条件とする。
より具体的には、第2ミニゲームでは、以下の(i)〜(iii)の条件がすべて満足された場合に、ゲームが「成功」と判断される。
(i)判定領域DT32に含まれる画素のうち「肌色」であると検出された画素数の判定領域DT32に含まれる全画素数に対する比率が所定のしきい値Th32を超えること
(ii)判定線DL1〜DL8上の画素のうち「肌色」であると検出された画素数の判定線DL1〜DL8上の全画素数に対する比率がいずれも所定のしきい値Th33を超えること
(iii)判定領域DT31に含まれる画素のうち「肌色」であると検出された画素数の判定領域DT31に含まれる全画素数に対する比率が所定のしきい値Th31を超えないこと
上述の(i)および(ii)については、表示される「蚊」のオブジェクトOBJ11の近傍にユーザの「手」があることを判断するための条件である。また、(iii)については、ユーザの顔などを「手」として誤認識することを回避するための条件である。
また、第2ゲームに含まれる第2ミニゲームでは、画像データが周期的に取得され、直近のものから所定枚数分だけ蓄積される。そして、第2ミニゲームが「成功」したタイミングにおいて、その画像データの取得(更新)が停止される。そのため、第2ミニゲームが「成功」したタイミングから、所定期間前の間におけるユーザのプレイ中の姿をキャプチャーすることができる。
なお、上述の基準点RP3の位置ならびに判定領域DT31およびDT32の大きさは、ゲーム演出上で表示されるオブジェクトの位置および数によって適宜変更される。
図29は、この発明の実施の形態に従う第2ゲームに含まれる第2ミニゲームの処理手順を示すフローチャートである。
図29を参照して、まず、ステップS240において、CPU31は、内側カメラ23により撮像される画像データを取得する。続くステップS242において、CPU31は、メインメモリ32もしくは保存用データメモリ34に既に規定数の画像データが格納済であるか否かを判断する。規定数の画像データが格納済ではない場合(ステップS242においてNOの場合)には、処理はステップS246へ進む。既に規定数の画像データが格納済である場合(ステップS242においてYESの場合)には、CPU31は、格納済の画像データのうち、最も古く取得された画像データを削除し(ステップS244)、新たに取得した画像データをメインメモリ32もしくは保存用データメモリ34に格納する(ステップS246)。そして、処理はステップS248へ進む。
ステップS248において、CPU31は、取得した画像データ内の肌色領域を検出する。続くステップS250において、CPU31は、上述の判定条件(i)〜(iii)がすべて満足されているか否かを判断する。上述の判定条件(i)〜(iii)のいずれかが満足されていない場合(ステップS250においてNOの場合)には、ステップS240以下の処理が繰返される。上述の判定条件(i)〜(iii)がすべて満足されていない場合(ステップS250においてYESの場合)には、第2ミニゲームは「成功」と判断され、第2ミニゲームの進行は終了する。
(4)第3ミニゲーム
第2ゲームに含まれる第3ミニゲームでは、主として、ゲーム演出に応じて表示されるオブジェクトの位置と、顔認識部122(図22)により検出される顔領域の位置とに基づいてゲームが進行される。
図30は、この発明の実施の形態に従う第2ゲームに含まれる第3ミニゲームのゲーム進行の条件を説明するための図である。図30を参照して、第3ミニゲームでは、図13(a)に示す第2LCD22に表示される「トーテムポール」のオブジェクトOBJ14およびOBJ15の切抜き部に対応付けて、内側カメラ23により取得される画像データにそれぞれ基準点RP41およびRP42が設定される。基準点RP41を中心として、基準点RP41を含む判定領域DT41が設定されるとともに、基準点RP42を中心として、基準点RP42を含む判定領域DT42が設定される。そして、これらの判定領域DT41およびDT42に、それぞれ認識された顔領域DFA1およびDFA2が含まれているか否かが判定され、含まれていれば所定の点数を加算し、含まれていなければ所定の点数を減算する。この結果、累積点が所定のしきい値を超えた時点で、第3ミニゲームは「成功」となる。
すなわち、「トーテムポール」のオブジェクトOBJ14およびOBJ15の切抜き部のいずれにも、ユーザの顔が位置していると判断できる場合に、第3ミニゲームは「成功」と判断される。
また、第2ゲームに含まれる第3ミニゲームでは、画像データが周期的に取得され、直近のものから所定枚数分だけ蓄積される。そして、第3ミニゲームが「成功」したタイミングにおいて、その画像データの取得(更新)が停止される。そのため、第3ミニゲームが「成功」したタイミングから、所定期間前の間におけるユーザのプレイ中の姿をキャプチャーすることができる。
なお、上述の基準点RP41およびRP42の位置ならびに判定領域DT41およびDT42の大きさは、ゲーム演出上で表示されるオブジェクトの位置および数によって適宜変更される。
第2ゲームに含まれる第3ミニゲームの処理手順については、上述の図27に示す第1ミニゲームの処理手順と同様であるので、詳細な説明は繰返さない。
<第3ゲームの処理内容および処理手順>
上述したように、本実施の形態に従う第3ゲームは、一連に実行される複数のミニゲームを含む。各ミニゲームでは、ゲーム進行と並行して、所定の条件が満足されたタイミングでユーザがプレイしている姿が少なくとも1枚キャプチャーされる。そして、一連のミニゲームが終了すると、これらのキャプチャーされたそれぞれの画像データに対して、特定の意味をもつオブジェクトを重ねて表示することで、予め用意されたシナリオに沿った漫画ライクな表現が提供される。
なお、本実施の形態に従うゲーム装置100では、複数のシナリオが予め用意されており、第3ゲームの実行毎に選択された1つのシナリオに沿って、複数のミニゲームが所定の順序で実行される。
なお、各ミニゲームにおいては、人体認識処理(肌色領域検出処理および顔認識処理)の結果に基づいてゲーム進行の条件が満足されるか否かが判断される。これらのゲーム進行の条件については、上述の第2ゲームに含まれる各ミニゲームにおける条件と同一もしくは類似であるので、詳細な説明は繰返さない。
図31は、この発明の実施の形態に従う第3ゲームの処理手順を示すフローチャートである。図31に示すフローチャートは、第3ゲームの開始がユーザにより指示されると実行される。
図31を参照して、まず、ステップS300において、CPU31は、予め用意されている複数のシナリオのうち、ランダムに1つのシナリオを選択する。続くステップS302において、CPU31は、ステップS300において選択されたシナリオに沿った実行すべき複数のミニゲームの特定、およびそれらの実行順を決定する。そして、処理はステップS304へ進む。
ステップS304において、CPU31は、第1番目に設定されたミニゲームを実行する。CPU31は、人体認識処理(肌色領域検出処理および顔認識処理)の結果に基づいてミニゲームを進行する。続くステップS306において、CPU31は、第1番目のミニゲームが「成功」したか否かを判断する。第1番目のミニゲームが「成功」した場合(ステップS306においてYESの場合)には、CPU31は、第1番目のミニゲームにおける画像データをキャプチャーする(ステップS308)。一方、第1番目のミニゲームが「成功」しなかった場合(ステップS306においてNOの場合)には、CPU31は、第1番目のミニゲームが「失敗」に終わったことを示すフラグをセットする(ステップS310)。
以下、第2番目〜第5番目のミニゲームの各々について、ステップS304〜S310と同様の処理が繰返し実行される。一連のミニゲームが終了すると、処理はステップS312へ進む。
ステップS312において、CPU31は、選択されたシナリオに対応するタイトル画像を読出して表示する(図19(a)参照)。続くステップS314において、CPU31は、第1番目のミニゲームにおいて取得した画像データおよび対応する画像オブジェクトを読出して表示する(図19(b)参照)。なお、対応のミニゲームについて、当該ミニゲームが「失敗」に終わったことを示すフラグがセットされている場合には、CPU31は、ゲーム失敗であったことを示す画像を表示する。
続くステップS316において、CPU31は、第2番目のミニゲームにおいて取得した画像データおよび対応する画像オブジェクトを読出して表示する(図19(c)参照)。以下同様にして、ステップS318〜S322において、CPU31は、第3番目〜第5番目のミニゲームにおいてそれぞれ取得した画像データおよび対応する画像オブジェクトを順次読出して表示する(図20(a)〜(c)参照)。
続くステップS324において、CPU31は、ユーザにより終了が指示されたか否かを判断する。ユーザにより終了が指示されていない場合(ステップS324においてNOの場合)には、ステップS312以下の処理が繰返される。一方、ユーザにより終了が指示された場合(ステップS324においてYESの場合)には、第3ゲームについての処理は終了する。
なお、上述したように、ゲーム中に所定の条件が満たされたときに撮像を行なうことで取得した複数の画像データをすべて表示するようにしてもよいし、あるいは、ゲーム中に撮像される複数の画像データを逐次取得しておき、ゲーム終了後などに、取得した複数の画像データのうち所定の条件を満たすものを抽出して表示してもよい。
また、上述の実施の形態においては、撮像部により取得された画像データが含む情報量をそのまま利用して表示するようにしたが、取得した画像データの1画素あたりの情報量を低減して画像表示をおこなってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。