この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
本発明に係るコンピュータまたは情報処理装置の代表例として、以下では、携帯型のゲーム装置100について説明する。ゲーム装置100は、撮像手段(もしくは、撮像部)、入力操作が行なわれた座標を検出可能な入力手段(もしくは、入力部)、および表示手段(もしくは、表示部)を利用可能である。また、本発明に係るプログラムの一例として、ゲーム装置100で実行されるプログラムについて説明する。なお、本発明に係る情報処理装置は、ゲーム装置に限定されることはなく、各種アプリケーションを実行可能なパーソナルコンピュータとして実現してもよい。さらに、本発明に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
<用語>
本明細書において「利用可能な」とは、撮像手段(もしくは、撮像部)、入力手段(もしくは、入力部)、および表示手段(もしくは、表示部)などのデバイスがコンピュータと有線または無線で接続されており、データ通信が可能であることを意味する。このとき、撮像手段(もしくは、撮像部)、入力手段(もしくは、入力部)、および表示手段(もしくは、表示部)などのデバイスは、コンピュータと一体構成されてもよいし、別体であってもよい。
なお、入力操作が行なわれた座標を検出可能な入力手段(もしくは、入力部)の典型例としては、後述するような携帯型の装置にはタッチパネルを採用することが好ましい。代替的に、マウス、トラックボール、ペンタブレットなどを採用してもよい。あるいは、表示手段(例えば、表示モニタ)の表示面に対して遠隔から座標指示可能なポインタ(典型的には、Wii(登録商標)のコントローラなど)などを採用してもよい。
本明細書において、撮像手段(もしくは、撮像部)から画像データを取得することを「撮像」と記し、撮像した画像データを記憶(保存)することを「撮影」あるいは「キャプチャー」と称す。
本明細書において、撮像手段(もしくは、撮像部)により取得された画像と、入力手段(もしくは、入力部)に対する入力操作の軌跡(描画入力)に応じた画像とを区別するために、それぞれ「カメラ画像」および「手書き画像」とも称す。
本明細書では、内部命令もしくは内部操作に対応付けられ、入力手段(もしくは、入力部)による選択(タッチ操作)に応じて、当該対応付けられた指示を受付けるために表示される画像を「指示画像」とも称す。また、表示手段(もしくは、表示部)に表示され、ユーザに対して何らかのメッセージを通知するための画像を「通知画像」とも称す。
<外観>
図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の内側主面が向く方向を撮像することが可能であり、外側カメラ25は、内側カメラ23の撮像方向の逆方向、すなわち第2ハウジング21の外側主面が向く方向を撮像することが可能である。
このように、本実施の形態に従うゲーム装置100では、内側カメラ23および外側カメラ25の撮像方向が互いに逆方向となるように設けられる。したがって、ユーザは、ゲーム装置100を把持した状態で、内側カメラ23によってユーザ自身を撮像することができるとともに、外側カメラ25によって自身が見ている景色を撮像することもできる。なお、いずれのカメラを撮像に用いるかについては、ゲーム装置100で実行されるプログラム上でユーザが選択することが可能である。
ゲーム装置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とが設けられる。
第1LCD12および/または第2LCD22は、必要に応じて、内側カメラ23または外側カメラ25により取得される画像をリアルタイムに表示するために用いられる。すなわち、第1LCD12および/または第2LCD22は、内側カメラ23または外側カメラ25で撮像を行なう場合の「ファインダー」として機能する。なお、第1LCD12および/または第2LCD22に表示される、内側カメラ23または外側カメラ25によって逐次取得される画像、すなわちリアルタイムで更新される画像を「Live画像」とも称す。
<ゲーム装置の内部構成>
図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の他方に、ユーザからの操作の受付けおよび/またはユーザに対する操作説明のための画面(画像)を表示させる。
<提供される対話式アプリケーションの概要>
まず、図5を参照して、本実施の形態に従うプログラムを実行することで提供される対話式アプリケーションの概要について説明する。なお、本実施の形態に従う対話式アプリケーションでは、ユーザから見て、第1ハウジング11および第2ハウジング21が左右見開きとなるように把持された場合に適合された画像表示がなされる。
図5は、この発明の実施の形態に従う対話式アプリケーションの概要を示す状態遷移図である。図5を参照して、まず、CPU31が本実施の形態に従うプログラムを実行すると、初期状態として状態ST2になる。なお、ゲーム装置100は、装置内部、メモリカード28、およびメモリカード29に格納されたプログラムを選択的に実行可能である。そこで、ゲーム装置100では、電源が投入されると、まず、起動対象のプログラム(アプリケーション)を選択するためのランチャプログラムが実行される。ユーザは、このランチャプログラムの実行により第1LCD12および第2LCD22に表示されるランチャ画面上で、所望のプログラムを選択して起動する。
図6は、この発明の実施の形態に従うタイトルメニュー(初回起動時)の一例を示す図である。図7は、この発明の実施の形態に従うタイトルメニュー(2回目以降)の一例を示す図である。なお、図6および図7には、説明の便宜上、第1LCD12および第2LCD22にそれぞれ表示される画像全体(スクリーンショット)を一体的に並べて描いている。また、図6および図7には、ユーザから見て右側に第1LCD12が位置し、左側に第2LCD22が位置するように把持された場合の状態を示すが、ゲーム装置100では、ユーザから見た第1LCD12および第2LCD22の相対関係を反転(180度回転)することができる。すなわち、後述するように、ユーザの利き手に応じて、ユーザから見ていずれの向きに第1LCD12および第2LCD22を位置させるかを切替えることができる。そのため、ユーザの使用形態によっては、第1LCD12の表示内容と第2LCD22の表示内容とが入れ替わる場合もある。以下に示す第1LCD12および第2LCD22にそれぞれ表示されるその他の画像全体(スクリーンショット)についても同様である。
なお、本実施の形態に従うゲーム装置100では、タッチパネル13が第1LCD12側にのみ設けられている関係上、第1LCD12の表示内容と第2LCD22の表示内容とが入れ替わらない場合もある。たとえば、ユーザによるタッチ操作が入力される場面では、第1LCD12および第2LCD22の各々においてその表示内容が反転する。また、第1LCD12および第2LCD22にまたがって画像表示がされているような場面では、画像全体を反転したうえで、各LCDの表示内容が入れ替わる。
図6を参照して、本実施の形態に従うプログラムによれば、ゲーム装置100の持ち主のユーザ(以下、単に「持ち主」とも称する。)による使用と、ゲーム装置100の持ち主ではない不特定ユーザ(以下、「ゲスト」とも称する。)による使用とが区別されて、対話式アプリケーション(以下、単に「アプリケーション」とも称する。)が進行する。なお、ゲストとしては、持ち主の家族や友達などが想定される。
すなわち、図6に示すタイトルメニューに対するユーザ操作に応じて、持ち主モード(第1モード)およびゲストモード(第2モード)の一方が設定され、この設定されたモードに従って、選択されたアプリケーション(あるいは、ゲーム)が進行する。より具体的には、タイトルメニュー上に表示される「持ち主」画像102がタッチペン27やユーザ自身の指など(以下、単に「タッチペン27等」とも称する。)によりタッチされると、持ち主モードが設定される。そして、ユーザ操作に応じて、状態ST4〜ST14に示す状態内で遷移する。一方、タイトルメニュー上に表示される「ご家族・お友達」画像106がタッチペン27等によりタッチされると、ゲストモードが設定される。そして、ユーザ操作に応じて、状態ST20〜ST36に示す状態内で遷移する。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、ユーザ操作に応じて持ち主モード(第1モード)およびゲストモード(第2モード)のいずれかを設定する設定手段、およびユーザ操作に応じて対話式アプリケーションを進行する進行手段として機能する。
なお、画像102および106は、第1LCD12に表示される。これは、本実施の形態においては、第1LCD12にのみ入力手段であるタッチパネル13が設けられているからである。そして、ユーザが、この第1LCD12上の画像102または106が表示される位置を、タッチペン27等を用いてタッチすることで、対応する指示が受付けられる。
持ち主モードが設定された場合には、その後のアプリケーションの実行により得られた結果(典型的には、成績や各ユーザが手書きした画像など)は、当該持ち主に関連付けて記憶される。一方、ゲストモードが設定された場合に、その後のアプリケーションの実行により得られた結果は、いずれかのゲストに関連付けて記憶される。なお、ゲスト用のアカウントは、複数用意されることが好ましい。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、保存用データメモリ34と共同して、対話式アプリケーションの実行により得られる結果を記憶する記憶手段として機能する。
特に、持ち主モードにおいて得られた結果は、持ち主モードにおいて先行して得られている結果とともに、予め登録された持ち主に関連付けて記憶される。これは、持ち主が同じアプリケーションを繰り返しプレイした結果の履歴を時系列に表示したりするためである。言い換えれば、持ち主モードでのプレイは、特定ユーザ(ゲーム装置100の持ち主)によるものであるとみなすことができるので、当該特定ユーザに関する結果を一貫して記憶および管理することができる。
一方、ゲストモードにおいて得られた結果は、ゲストモードにおいて先行して得られている結果とは独立して、いずれかのゲストのアカウントに関連付けて記憶される。すなわち、ゲストモードにおいてアプリケーションがプレイされた結果は、その都度、いずれかのゲストのアカウントに関連付けて記憶されるが、ゲストのアカウントの間に関連性はなく、また各ゲストのアカウントには、1回のプレイ結果のみが記憶される。
上述した持ち主のアカウントには、持ち主を示す識別情報(以下、「持ち主識別情報」とも称す。)が先に登録される。すなわち、図6に示すタイトルメニュー(状態ST2)において画像102がタッチペン27等によりタッチされた場合に、持ち主識別情報が登録されていない場合には、図5に示すように、持ち主の「利き手」を確認する処理(状態ST16)の実行後、持ち主識別情報を登録する処理(状態ST18)に遷移する。この状態ST18において登録される持ち主識別情報には、持ち主を示す顔画像(顔写真または自画像)、持ち主のサイン(署名)、持ち主の生年月日などが含まれる。後述するように、本実施の形態に従うアプリケーションでは、カメラによる撮影が許される状況であるか否かに応じて、顔画像として、持ち主の顔写真および自画像の一方を登録できるようになっている。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、記憶手段に持ち主識別情報(第1識別情報)が記憶されていない場合に、当該持ち主識別情報(第1識別情報)の入力を受付ける第1識別情報入力手段として機能する。さらに、CPU31は、本実施の形態に従うプログラムを実行することで、ユーザ情報に関連付けて画像を記憶する記憶手段、撮像手段による撮影が許される状況であるか否かを判断する判断手段として機能する。
すなわち、本実施の形態に従うゲーム装置100では、記憶手段に持ち主識別情報(第1識別情報)が記憶されているときには、新たな第1識別情報の入力を要求することなく、アプリケーションを開始する一方、記憶手段に持ち主識別情報(第1識別情報)が記憶されていないときには、第1識別情報が入力されたことを条件に、対話式アプリケーションが開始される。
図6には、本実施の形態に従うアプリケーションを初めて起動した場合や、登録されている持ち主識別情報を初期化(消去)した後に表示されるタイトルメニューの一例を示す。この場合には、持ち主識別情報が登録されていないので、タイトルメニューの「持ち主」画像102内には、持ち主を示す顔画像に代えて、デフォルトの画像104が表示されている。その後、持ち主識別情報の登録処理において、持ち主の顔写真が取得されると、図7(A)に示すようなタイトルメニューが表示される。図7(A)に示すタイトルメニューでは、「持ち主」画像102内に登録された持ち主を示す顔写真104Aが表示される。
一方、持ち主識別情報の登録処理において、カメラによる撮影に代えて、持ち主が手書きで自画像を描いた場合には、図7(B)に示すようなタイトルメニューが表示される。図7(B)に示すタイトルメニューでは、「持ち主」画像102内に登録された持ち主の自画像104Bが表示される。
また、図6および図7に示されるタイトルメニューにおいて、「持ち主」画像102がタッチペン27等によりタッチされると、図8に示すような持ち主のメインメニューが表示される。一方、図6および図7に示されるタイトルメニューにおいて、「ご家族・お友達」画像106がタッチペン27等によりタッチされると、現在のゲストの「利き手」を確認する処理(状態ST20)を実行した後、図9に示すようなゲストのメインメニューが表示される。
図8は、この発明の実施の形態に従う持ち主のメインメニューの一例を示す図である。図9は、この発明の実施の形態に従うゲストのメインメニューの一例を示す図である。
図8に示す持ち主のメインメニューには、持ち主識別情報の一部である、持ち主のサイン画像202および持ち主の顔画像(顔写真または自画像)204が表示されるとともに、持ち主がアプリケーションを実行することで得られた結果の一部が表示される。より具体的には、後述するチェックゲームの結果である「脳年齢」の値を示す画像206が表示されるとともに、後述するトレーニングゲームのプレイ実績を示す「ハンコ」の取得状態208が表示される。「ハンコ」の取得状態は、ユーザのプレイ実績に応じた履歴情報に相当する。
図8に示す持ち主のメインメニューには、さらに、「トレーニング」画像210と、「お題」画像212と、「脳年齢チェック」画像214と、「その他」画像216とが表示される。「トレーニング」画像210がタッチペン27等によりタッチされると、後述するトレーニングゲームが開始される(状態ST6)。このトレーニングゲームの結果は、持ち主に対応付けて記憶される。また、「お題」画像212がタッチペン27等によりタッチされると、後述する連想ゲームが開始される(状態ST8)。この連想ゲームの結果は、持ち主に対応付けて記憶されるとともに、第1LCD12および/または第2LCD22に表示される(状態ST10)。また、「脳年齢チェック」画像214がタッチペン27等によりタッチされると、後述するチェックゲームが開始される(状態ST12)。このチェックゲームの結果は、持ち主に対応付けて記憶されるとともに、第1LCD12および/または第2LCD22に表示される(状態ST14)。なお、「その他」画像216がタッチペン27等によりタッチされると、ゲーム以外の各種処理が実行される。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、持ち主モードにおける結果データを持ち主識別情報(第1識別情報)と対応付けて表示させる第1表示制御手段として機能する。
一方、図9に示すゲストのメインメニューには、通知画像302が表示されるとともに、「トレーニング」画像310と、「お題」画像312と、「脳年齢チェック」画像314とが表示される。
通知画像302には、ゲストによるトレーニングゲームの結果は記憶されない一方で、連想ゲームおよびチェックゲームの結果は記憶されることをユーザに通知するためのメッセージが示されている。
「トレーニング」画像310がタッチペン27等によりタッチされると、後述するトレーニングゲームが開始される(状態ST24)。このトレーニングゲームの結果は、表示されるのみで記憶されない。なお、ゲストに提供されるトレーニングゲームの内容(シナリオ)自体は、持ち主に提供されるトレーニングゲームの内容と実質的に同一である。また、「お題」画像312がタッチペン27等によりタッチされると、後述する連想ゲームが開始される(状態ST26)。この連想ゲームの結果は、予め用意された複数のゲストアカウントのうちいずれかに対応付けて記憶される。この際、実際にゲームをプレイしたゲストを示す識別情報(以下、「ゲスト識別情報」とも称す。)が登録される(状態ST28)。この状態ST28において登録されるゲスト識別情報には、ゲストのサインなどが含まれる。そして、連想ゲームの結果は、登録されたゲスト(ゲスト識別情報)に対応付けて記憶されるとともに、第1LCD12および/または第2LCD22に表示される(状態ST30)。また、「脳年齢チェック」画像314がタッチペン27等によりタッチされると、後述するチェックゲームが開始される(状態ST32)。このチェックゲームの結果は、予め用意された複数のゲストアカウントのうちいずれかに対応付けて記憶される。この際、実際にゲームをプレイしたゲストのユーザを特定するためのゲスト識別情報が登録される(状態ST34)。この状態ST34において登録されるゲスト識別情報には、ゲストを示す顔画像(顔写真または自画像)などが含まれる。なお、ゲストを示す顔画像についても、上述した持ち主を示す顔画像の登録と同様に、カメラによる撮影が許される状況であるか否かに応じて、顔写真および自画像の一方を選択して登録できる。そして、チェックゲームの結果は、登録されたゲスト(ゲスト識別情報)に対応付けて記憶されるとともに、第1LCD12および/または第2LCD22に表示される(状態ST36)。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、ゲストモード(第2モード)が設定された場合に、対話式アプリケーションの実行毎に、当該対話式アプリケーションを実行したユーザを示すゲスト識別情報(第2識別情報)の入力を受付ける第2識別情報入力手段、およびゲストモードにおける結果データをゲスト識別情報(第2識別情報)と対応付けて表示させる第2表示制御手段として機能する。
<データ構造>
図10は、この発明の実施の形態に従うアプリケーションで使用されるファイル構造を示す図である。
図10を参照して、ゲーム装置100は、持ち主_顔画像ファイル402と、持ち主_サイン画像ファイル404と、持ち主_設定ファイル406と、トレーニングデータファイル408と、持ち主_お題ファイル430と、ゲスト_顔画像ファイル442と、ゲスト_サイン画像ファイル452と、ゲスト_脳年齢ファイル444と、ゲスト_お題ファイル454とを記憶する。なお、これらのファイルは、原則的に、保存用データメモリ34またはプリセットデータ用メモリ35に格納される。
持ち主_顔画像ファイル402、持ち主_サイン画像ファイル404、および持ち主_設定ファイル406には、持ち主識別情報の内容が格納される。より具体的には、持ち主_顔画像ファイル402には、持ち主の顔画像(顔写真または自画像)を示す画像データが格納される。持ち主_サイン画像ファイル404には、持ち主が手書きしたサインを示す画像データが格納される。持ち主_設定ファイル406には、持ち主の利き手設定および生年月日が格納される。
トレーニングデータファイル408には、後述するトレーニングゲームおよびチェックゲームの結果が格納される。より具体的には、トレーニングデータファイル408には、N日分に亘るチェックゲームの結果を示す持ち主_脳年齢データ410が格納される。すなわち、持ち主_脳年齢データ410は、チェックゲームのN日分に亘る結果であるデータ群に相当する。なお、チェックゲームの結果は、典型的に「20」才といった値と、当該チェックゲームがプレイされた時間情報(プレイの日時)を含む。さらに、トレーニングデータファイル408には、予め用意されているトレーニングゲームA,B,…にそれぞれ対応付けて、持ち主_トレーニング成績データ420Aおよび持ち主_トレーニングA時間データ422A,持ち主_トレーニング成績データ420Bおよび持ち主_トレーニングA時間データ422B,…が格納される。たとえば、持ち主_トレーニング成績データ420Aには、トレーニングAの成績(典型的には、計算ゲームの完了に要した所要時間や正答率など)が格納される。持ち主_トレーニングA時間データ422Aには、トレーニングAのプレイに要した総時間が格納される。
持ち主_お題ファイル430には、後述する連想ゲームについて予め用意されている「お題」(お題1,2,…)に対応付けられた画像データ(カメラ画像もしくは手書き画像)または音声データが格納される。なお、持ち主_お題ファイル430は、連想ゲームがプレイされた場合に生成されるので、未だプレイされていない「お題」については、持ち主_お題ファイル430は生成されない。なお、予め用意されているすべての「お題」に対応付けて、nullのファイルを予め生成しておき、連想ゲームのプレイの結果に応じて、対象のファイルを更新するようにしてもよい。
ゲスト_顔画像ファイル442およびゲスト_サイン画像ファイル452には、ゲスト識別情報の内容が格納される。なお、ゲスト_顔画像ファイル442については、ゲスト1〜ゲスト7の計7人分が用意されており、ゲスト_サイン画像ファイル452については、予め用意されている「お題」(お題1,2,…)の各々について、所定人数分(たとえば、5人分)が用意されている。後述するように、ゲスト_顔画像ファイル442は、持ち主以外のユーザがチェックゲームをプレイした結果を記憶する際に、当該ゲストとの関連付けに用いられるものであり、ゲスト_サイン画像ファイル452は、持ち主以外のユーザが連想ゲームをプレイした結果を記憶する際に、当該ゲストとの関連付けに用いられるものである。すなわち、実際に同一のユーザがチェックゲームおよび連想ゲームをプレイした場合の結果は、それぞれ独立したゲストの結果として取扱われる。
より具体的には、ゲスト_顔画像ファイル442の各々には、ゲストの顔画像(顔写真または自画像)を示す画像データが格納される。ゲスト_サイン画像ファイル452の各々には、ゲストが手書きしたサインを示す画像データが格納される。なお、ゲストには、持ち主のような利き手設定や生年月日は登録されない。
ゲスト_脳年齢ファイル444には、ゲスト1〜7のアカウントに対応付けて、7人分のチェックゲームの結果が格納される。なお、各ゲストの結果は、原則的に、1回のチェックゲームによって得られた値である。また、ゲスト1〜7のアカウントに対応付けられた各々の結果は、互いに独立したものとして取扱われる。
ゲスト_お題ファイル454には、後述する連想ゲームについて予め用意されている「お題」(お題1,2,…)に対応付けられた画像データ(カメラ画像もしくは手書き画像)または音声データが格納される。ゲスト_サイン画像ファイル452は、ゲスト_お題ファイル454の各々と1対1に関連付けて生成される。そのため、同一のユーザが異なる「お題」をプレイした場合には、各プレイの結果について、それぞれ独立のゲスト_サイン画像ファイル452が生成されることになる。すなわち、ゲスト_お題ファイル454およびゲスト_サイン画像ファイル452は、いずれも、各「お題」について所定回数分(たとえば、5人分)だけ独立して記憶することが可能になっている。
なお、1つの「お題」に対して複数の画像データ(カメラ画像もしくは手書き画像)または音声データをユーザに入力させる場合、もしくは複数の「お題」を連続してプレイさせるような場合には、これらの結果生成される複数のゲスト_お題ファイル454に、同じゲスト_サイン画像ファイル452と対応付けるようにしてもよい(すなわち、n対1)。このような場合には、連続したプレイの最初に入力されたゲスト_サイン画像ファイル452を用いてもよい。
なお、ゲスト_脳年齢ファイル444に格納されるゲスト1〜7の「脳年齢」の値は、ゲスト_顔画像ファイル442に顔画像が格納されるゲスト1〜7と関連付けられる。そのため、7人を超えるゲストがチェックゲームをプレイした場合には、いずれかのゲストの結果を消去しなければならない。このとき、たとえば、ゲスト1が消去対象となった場合には、「ゲスト1_脳年齢ファイル」およびゲスト_脳年齢ファイル444に格納される「ゲスト1の脳年齢の値」が共に消去(もしくは、上書き)される。
同様に、各「お題」についてのゲスト_お題ファイル454は、ゲスト_サイン画像ファイル452と1対1に関連付けられる。そのため、所定人数(たとえば、5人)を超えるゲストが連想ゲームをプレイした場合には、いずれかのゲストの結果を消去しなければならない。このとき、たとえば、ゲスト8が消去対象となった場合には、「ゲスト8_お題1ファイル」および、それに対応付けられる「ゲスト8_サイン画像ファイル」が共に消去(もしくは、上書き)される。
また、本実施の形態では、対話式アプリケーションとして、チェックゲーム、トレーニングゲーム、お題の3つが用意されており、これらの対話式アプリケーション毎に独立して、結果データが持ち主もしくはゲストに関連付けて記憶される。
<利き手確認処理>
上述したように、本実施の形態に従うアプリケーションでは、主として、ユーザから見て、第1ハウジング11および第2ハウジング21が左右見開きとなるように把持された状態で使用される。ここで、ゲーム装置100においては、入力手段であるタッチパネル13が第1ハウジング11上に設けられている。そのため、ユーザの利き手(右利きであるか左利きであるか)に応じて、ユーザに対するタッチパネル13の相対的な位置を切替えることが好ましい。すなわち、右利きのユーザにとってみれば、タッチパネル13が向かって右側に位置することが好ましく、左利きのユーザによってみれば、タッチパネル13が向かって左側に位置することが好ましい。そこで、本実施の形態に従うアプリケーションは、持ち主については、持ち主識別情報の登録直前においてその利き手を確認し(図5の状態ST16)、ゲストについては、新たなゲストの使用が開始されるとみなされるタイミング(一例として、メインメニューの表示直前)においてその利き手を確認する(図5の状態ST20)。
図11は、この発明の実施の形態に従う利き手を確認する画面表示例を示す図である。図12は、この発明の実施の形態に従うゲーム装置100の使用形態を示す図である。
持ち主モードが選択された場合であって、持ち主識別情報(図10に示す持ち主_顔画像ファイル402と、持ち主_サイン画像ファイル404と、持ち主_設定ファイル406)が登録されていないとき(典型的には、アプリケーションの初回起動時)に、図11に示すような利き手を確認する画面が表示される。また、ゲストモードが選択された場合にも、図11に示すような利き手を確認する画面が表示される。
図11に示す画面には、ユーザの利き手の入力を促す通知画像124とともに、右利きの選択を受付けるための「右」画像122と、左利きの選択を受付けるための「左」画像120とが表示される。
「右」画像122および「左」画像120の一方がタッチペン27等によりタッチされると、図12に示すような使用形態に応じた画面表示に切替わる。図12(A)は、ユーザが右利きである場合(「右」画像122が選択された場合)の使用形態を示し、図12(B)は、ユーザが左利きである場合(「左」画像120が選択された場合)の使用形態を示す。
図12(A)を参照して、典型的に、右利きのユーザは、左手の人指し指を第2ハウジング21に当接させてゲーム装置100を把持することができる。そして、右利きのユーザは、右手もしくは右手で操作されるタッチペン27で、第1ハウジング11に設けられるタッチパネル13に対して入力操作を行なう。
一方、図12(B)を参照して、典型的に、左利きのユーザは、右手の人指し指を第1ハウジング21に当接させてゲーム装置100を把持することができる。そして、左利きのユーザは、左手もしくは左手で操作されるタッチペン27で、第1ハウジング11に設けられるタッチパネル13に対して入力操作を行なう。すなわち、左利きのユーザがゲーム装置100を把持する向きは、右利きのユーザがゲーム装置100を把持する向きから180度回転した向きに相当する。
ゲーム装置100を上述のような形態で使用することで、ユーザがいずれの利き手であっても、第2ハウジング21に設けられた第2LCD22の表示内容の視認が入力操作によっては妨げられない。
上述したように、タッチパネル13は第1ハウジング11に設けられるので、ユーザの入力操作を受付けるためのボタンなどを表わす指示画像BTNは、右利きおよび左利きのいずれであっても、第1LCD12に表示される。但し、その表示方向は、ゲーム装置100の把持方向と同様に、ユーザの利き手に応じて180度回転させる必要がある。
また、上述したようにゲーム装置100は、カメラ(内側カメラ23および外側カメラ25)を搭載している。内側カメラ23は、ユーザがゲーム装置100を把持した状態において、その被写界にユーザの顔部が含まれるように配置される。そのため、持ち主識別情報やゲスト識別情報として、この内側カメラ23により取得されるユーザの顔写真が使用される。このようなカメラの撮像によって得られたカメラ画像IMGは、多くの場合、第2ハウジング21に設けられた第2LCD22に表示される。このようなカメラ画像IMGについても、ユーザの利き手に応じて180度回転させる必要がある。
すなわち、図12(A)と図12(B)とを比較するとわかるように、少なくとも、指示画像BTNおよびカメラ画像IMGは、ユーザの利き手に応じて180度回転された上で表示される。
<利き手に応じた撮像/表示処理>
上述したように、ユーザの利き手に応じて、ユーザが把持するゲーム装置100の把持方向は180度回転することになる。このとき、第2ハウジング21の連結部に配置される内側カメラ23と第2LCD22との相対関係は変化しない。そのため、図12(A)および図12(B)のいずれにも対応してカメラ画像IMGを表示させるために、ゲーム装置100の把持方向にかかわらず、内側カメラ23の撮像によって得られる画像データを一定方向に読出して第2LCD22に表示するようにしてもよい。
しかしながら、このような方式を採用すると、内側カメラ23を用いて撮影した画像データの向きは、ゲーム装置100の把持方向に応じて180度回転することになる。そのため、このように撮影された画像データを表示(再生)や編集する際には、撮影時のゲーム装置100の把持方向に応じた回転補正を行なう必要が生じる。そのため、撮影された画像データの表示操作や編集操作における処理が煩雑化し得る。
そこで、本実施の形態に従うゲーム装置100では、ゲーム装置100の把持方向にかかわらず、被写体(典型的には、ゲーム装置100を把持するユーザ自身)が一定方向を向くように画像データを必要に応じて180度回転した上で記憶する。より具体的には、右利きのユーザがゲーム装置100を把持した状態で内側カメラ23によって撮像される画像データに現れるユーザの顔と、左利きのユーザがゲーム装置100を把持した状態で内側カメラ23によって撮像される画像に現れるユーザの顔とが同じ方向を向くように、内側カメラ23からの画像データの読出し方向を切替える。
図13は、この発明の実施の形態に従う内側カメラの撮像/表示処理の概要を説明するための図である。図14は、この発明の実施の形態に従う表示処理を説明するための図である。なお、図13および図14には、ユーザが右利きである場合の使用形態を基準にしているが、ユーザが左利きである場合の使用形態を基準としてもよい。
図13(A)を参照して、右利きのユーザがゲーム装置100を把持している場合には、内側カメラ23の撮像素子23Aに被写体(ゲーム装置100を把持するユーザ自身)の像がその頭部を紙面上側として入射するものとする。そして、この撮像素子23Aからは、紙面左上端を開始点とし、紙面右下端を終了点として、像を示す画像データが順次読出される。
このような構成下において、左利きのユーザがゲーム装置100を把持している場合には、図13(B)に示すように、内側カメラ23の撮像素子23Aに被写体(ゲーム装置100のユーザ自身)の像がその頭部を紙面下側として入射することになる。この場合には、この撮像素子23Aからは、紙面右下端を開始点とし、紙面左上端を終了点として、像を示す画像データが順次読出される。
上述のような撮像素子23Aからの読出し方向を切替えることで、メインメモリ32や保存用データメモリ34に記憶される画像データSIMG上では、ゲーム装置100の把持方向にかかわらず、ゲーム装置100のユーザ自身は常に同じ向きで現れるようになる。
さらに、これらの画像データSIMGを第1LCD12および/または第2LCD22に表示する際には、読出された画像データSIMGが必要に応じて180度回転した上で表示される。たとえば、図13(A)に示すように、右利きのユーザがゲーム装置100を把持している場合には、読出された画像データSIMGがそのままの向きで表示されるとすると、図13(B)に示すように、左利きのユーザがゲーム装置100を把持している場合には、読出された画像データSIMGが180度回転された向きで表示される。すなわち、右利きに設定されている場合には、読出された画像データSIMGが同じ向きをもつカメラ画像DIMGとして表示され、一方、左利きに設定されている場合には、読出された画像データSIMGが180度回転した向きをもつカメラ画像DIMGとして表示される。
また、ユーザの入力操作を受付けるためのボタンなどを表わす指示画像についても、必要に応じて180度回転した上で表示される。以下、図14を参照して、カメラ画像および指示画像の表示処理について説明する。
図14(A)は右利きが設定されている場合の処理を示し、図14(B)は左利きが設定されている場合の処理を示す。
図14に示すように、ゲーム装置100では、第1LCD12および第2LCD22に画像を表示するための映像信号は、複数のレイヤーを用いて生成される。より具体的には、第1LCD12の表示制御を行なうための映像信号は、カメラ画像を反映するレイヤーLYR1−1および指示画像を反映するLYR2−1により生成される。同様に、第2LCD22の表示制御を行なうための映像信号は、カメラ画像を反映するレイヤーLYR1−2および指示画像を反映するLYR2−2により生成される。なお、レイヤーLYR1−1〜2−2の各々は、第1LCD12または第2LCD22での表示に十分な大きさのメモリ領域をCPU31内のVRAM(図示しない)に形成することで提供される。
なお、このようなカメラ画像および指示画像に異なるレイヤーを設けたのは、カメラ画像は、比較的短い周期で更新する必要がある一方、指示画像は、原則として、何らかのイベントが発生しなければ更新する必要がないためである。すなわち、必要な更新周期に応じて、画像処理(たとえば、ポリゴン処理など)に要するマシンリソースを効率的に割当てるためである。なお、十分に画像処理能力があるハードウェアを用いる場合などにおいては、単一のレイヤーで描画処理を実現してもよい。
一例として、第1LCD12に指示画像を表示するとともに、第2LCD22にカメラ画像を表示する場合の処理例について説明する。
図14(A)を参照して、右利きに設定されている場合には、メモリから読出された画像データSIMGは、そのままの向きでレイヤーLYR1−2に相当する領域に書込まれる。また、指示画像データもそのままの向きでレイヤーLYR2−1に相当する領域に書込まれる。なお、この例では、レイヤーLYR1−1およびLYR2−2に相当する領域には何らのデータも書込まれない。
一方、図14(B)を参照して、左利きに設定されている場合には、メモリから読出された画像データSIMGは、180度回転させた向きでレイヤーLYR1−2に相当する領域に書込まれる。また、指示画像データについても、右利きが設定されていた場合に比較して180度回転させた向きでレイヤーLYR2−1に相当する領域に書込まれる。
なお、カメラ画像の周辺にフレーム画像(縁取り)を表示してもよい。この場合には、予め保存用データメモリ34などに格納されているフレーム画像データがレイヤーLYR2−2に相当する領域に書込まれる。フレーム画像データについても、左利きが設定されている場合には、右利きが設定されていた場合に比較して180度回転させた向きでレイヤーLYR2−2に相当する領域に書込まれる。
図15は、この発明の実施の形態に従う利き手に応じた撮像/表示処理を提供するためのブロック図である。
図15を参照して、ゲーム装置100は、その制御構造として、内側カメラ23と、制御部50と、バッファメモリ54と、カメラ画像表示制御部56と、モード設定部58と、位置入力部60と、指示画像生成部62と、指示画像表示制御部64と、レイヤーメモリ68と、描画部70,72とを含む。これらの制御ブロックのうち、バッファメモリ54およびレイヤーメモリ68は、メインメモリ32(図3)の所定領域が確保されることで提供される。制御部50、カメラ画像表示制御部56、モード設定部58、指示画像生成部62、指示画像表示制御部64、描画部70,72は、CPU31がプログラムを実行することで提供される。また、位置入力部60は、主としてタッチパネル13(図3)により提供される。
内側カメラ23は、被写体からの光を受光する撮像素子23Aと、撮像素子23Aで受光された像に応じた画像データを所定順序で読出す読出回路23Bとを含む。読出回路23Bは、撮像素子23Aにより撮像された像を示す画像データを出力する。このとき、読出回路23Bは、制御部50から指示されている読出し方向に従って撮像素子23Aで取得される画像データを読出す。この読出し方向の切替えによって、読出回路23Bから出力される画像データの向きを必要に応じて180度回転させることができる。この読出回路23Bから出力される画像データはバッファメモリ54に書込まれる。なお、位置入力部60により受付けられた所定位置への指示は、第1LCD12上に表示されるシャッタボタンなどがユーザによるタッチ操作などを含む。
バッファメモリ54は、撮像素子23Aで取得された画像データを一時的に記憶する記憶部であり、カメラ画像表示制御部56およびメモリ制御回路33と接続される。
カメラ画像表示制御部56は、内側カメラ23によって取得された画像データ(カメラ画像)を、第1LCD12および/または第2LCD22の少なくとも一方に表示させる。より具体的には、カメラ画像表示制御部56は、制御部50からの指示に応答して、バッファメモリ54に格納される画像データをレイヤーメモリ68内の対応するレイヤーに書込む。このとき、カメラ画像表示制御部56は、制御部50から指示された向きで画像データを書込む。この書込み向きの切替えによって、第1LCD12および/または第2LCD22に表示されるカメラ画像の向きを必要に応じて180度回転させることができる。
制御部50は、位置入力部60により受付けられた所定位置への指示に応じて、メモリ制御回路33に対してキャプチャー指示(シャッタ指示)を出力する。メモリ制御回路33は、制御部50からのキャプチャー指示に応答して、バッファメモリ54に記憶されている画像データを不揮発性記憶媒体である保存用データメモリ34にファイルとして格納する。
指示画像生成部62は、アプリケーションの進行に応じて、ユーザの入力操作を受付けるための指示画像データを生成し、指示画像表示制御部64へ出力する。指示画像表示制御部64は、指示画像を第1LCD12の所定領域に表示させる。より具体的には、カメラ画像表示制御部56は、制御部50からの指示に応答して、指示画像生成部62で生成される指示画像データをレイヤーメモリ68に保持される対応するレイヤーに書込む。このとき、指示画像表示制御部64は、制御部50から指示された向きで指示画像データを書込む。この書込み向きの切替えによって、第2LCD22に表示される指示画像の向きを必要に応じて180度回転させることができる。
モード設定部58は、位置入力部60などからのユーザ指示に応じて、右利きモードおよび左利きモードのいずれかを設定する。このモード設定部58により設定されたモードは、制御部50へ通知される。
位置入力部60は、第1LCD12上における位置の指示に応答して、その位置の指示を制御部50へ送出する。
制御部50は、モード設定部58によって設定されるモードに応じて、読出回路23B、カメラ画像表示制御部56、および指示画像表示制御部64を統括的に制御する。さらに、制御部50は、メモリ制御回路33に対しても、ユーザ操作に応じた指示を与える。すなわち、制御部50は、左利きモードが設定されている場合において、右利きモードが設定されている場合に比較して180度回転した向きのカメラ画像データが出力されるように読出回路23Bを制御し、読出回路23Bから出力されたカメラ画像データ(すなわち、バッファメモリ54に記憶されている画像データ)をさらに180度回転させた向きで表示するようにカメラ画像表示制御部56を制御する。さらに、制御部50は、左利きモードが設定されている場合において、指示画像を右利きモードが設定されている場合に比較して180度回転した向きで表示するように指示画像表示制御部64を制御する。
<持ち主識別情報登録処理>
次に、図5に示す状態遷移図のうち、持ち主識別情報を登録する処理(状態ST18)について説明する。
タイトルメニュー上に表示される「持ち主」画像102(図6)がタッチペン27等によりタッチされた場合に、持ち主識別情報が登録されていないときには、上述した持ち主についての利き手確認処理の後、持ち主識別情報を登録する処理(図5の状態ST18)に遷移する。この持ち主識別情報の登録処理では、持ち主の「脳年齢」の初回値、持ち主の顔画像(顔写真または自画像)、持ち主の署名、持ち主の生年月日などが登録される。
すなわち、図10に示す、持ち主_顔画像ファイル402、持ち主_サイン画像ファイル404、および持ち主_設定ファイル406が作成される。
図16は、この発明の実施の形態に従う持ち主識別情報登録処理の処理手順を示すフローチャートである。図17は、この発明の実施の形態に従う顔画像取得サブルーチンの処理手順を示すフローチャートである。図18は、この発明の実施の形態に従うサイン画像取得サブルーチンの処理手順を示すフローチャートである。図19〜図27は、この発明の実施の形態に従う持ち主識別情報登録処理に係る画面表示例を示す図である。
図16を参照して、本実施の形態に従う持ち主識別情報登録処理の概要について説明する。ステップS2において、CPU31は、チェックゲームを実行する。より具体的には、CPU31は、予め用意されている複数のチェックゲームのうち、1つもしくは複数を選択して実行する。このチェックゲームの一例を図19に示す。図19には、チェックゲームの一例として計算ゲームが示されている。より具体的には、CPU31は、問題を表わす画像データ(バックグラウンドデータもしくはオブジェクトデータ)を保存用データメモリ34などからランダムに読出して、第2LCD22に順次表示する。図19に示す例では、第2LCD22には、“3×2=”,“2×9=”,“21×33=”といった問題が縦方向に整列表示されている。ユーザがタッチペン27等により第1LCD12上で問題に対する答えを描くと、CPU31は、タッチパネル13により検出されたタッチ軌跡に応じた画像を第1LCD12に表示する。同時に、CPU31は、当該タッチ軌跡に対して文字認識処理を行なう。さらに、CPU31は、この認識結果を対象の問題の正解と照合し、正解と一致すれば正解マーク“○”を第2LCD22の問題の画像に重ねて表示する。正解と一致しなければ、所定時間に亘って訂正入力を受付け、それでも正解と一致しなければ、次の問題に移る。次の問題に移る場合には、CPU31は、第2LCD22に表示されている画像の全体が画面上部に移動するようなエフェクトを行なうとともに、新たな問題を表わす画像データを保存用データメモリ34からランダムに読出す。そして、第2LCD22の最下段に新たに読出した問題を表示する。
このように以降の問題についても同様の処理が行なわれ、全ての問題が完了すると、本計算ゲームは終了する。なお、チェックゲームとしては、上述した計算ゲームの他に各種のゲームを複数回実行するようにしてもよい。さらに、ユーザの発声をマイク43で取得して音声認識処理し、その認識結果を利用するゲームをチェックゲームに含めることもできる。この場合には、先に、ユーザの発声が許される状況であるか否かの選択を受付けるようにしてもよい。さらに、チェックゲームの開始前に、ユーザのプレイ操作を支援するために、チェックゲームについての説明を表示してもよい。
再度、図16を参照して、ステップS4において、CPU31は、チェックゲームに要した所要時間や正解/不正解の数などの結果(成績)に基づいて、所定の評価基準に従って、ユーザ(この場合には、持ち主)の「脳年齢」の初回値を算出する。続くステップS6において、CPU31は、算出した「脳年齢」の初回値を持ち主に関連付けて記憶する。すなわち、CPU31は、「脳年齢」の初回値を現在の時間情報(日時データ)とともに、持ち主_脳年齢データ410に格納する。
なお、「脳年齢」の初回値を現在の時間情報(日時データ)とともに、持ち主_脳年齢データ410に格納するタイミングとしては、後述する取得された持ち主の「脳年齢」の表示(ステップS20)と同時に行なってもよい。
ステップS8において、CPU31は、顔画像取得サブルーチンを実行して、持ち主の顔画像を取得する。
ここで、図17を参照して、顔画像取得サブルーチンの処理について説明する。なお、図17に示す顔画像取得サブルーチンは、既に登録されている持ち主識別情報の内容を変更する場合、および後述するゲスト顔画像を登録する場合にも実行される。
まず、CPU31は、カメラによる撮像が許される状況であるか否かを判断する(ステップS100)。より具体的には、CPU31は、撮像が許される状況であるか否かの選択を促す通知画像を第1LCD12および第2LCD22に表示する。図20には、ステップS100において第1LCD12および第2LCD22に表示される画面例を示す。図20に示す画面には、ユーザに撮像が許される状況であるか否かの選択を促す通知画像130とともに、撮像が許される状況であることの指示を受付けるための「撮れる」画像132と、撮像が許される状況であることの指示を受付けるための「撮れない」画像134とが表示される。
「撮れる」画像132がタッチペン27等によりタッチされると、CPU31は、カメラによる撮像が許される状況であると判断する(ステップS100においてYES)。そして、処理はステップS102へ進む。一方、「撮れない」画像134がタッチペン27等によりタッチされると、CPU31は、カメラによる撮像が許される状況ではないと判断する(ステップS100においてNOの場合)。そして、処理はステップS112へ進む。
上述のようなユーザ操作に基づいて、カメラによる撮像が許される状況であるか否かを判断する構成に代えて、自動的に判断してもよい。たとえば、カメラが受光している光量を検出して、一定値以下の場合には撮像できないとしてもよいし、あるいは、撮像装置が顔認識機能を有している場合、当該機能によって顔認識ができない場合は撮像できないとしてもよい。
ステップS102において、CPU31は、内側カメラ23で取得されるLive画像を表示する。続くステップS104において、CPU31は、ユーザからキャプチャー指示(シャッタ指示)が与えられたか否かを判断する。図21には、ステップS102およびS104において第1LCD12および第2LCD22に表示される画面例を示す。図21に示す画面には、内側カメラ23で取得されるLive画像136が表示されるとともに、キャプチャー指示を受付けるための「準備できました」画像138が表示される。
「準備できました」画像138がタッチペン27等によりタッチされると、CPU31は、キャプチャー指示が与えられたと判断する(ステップS104においてYES)。そして、処理はステップS106へ進む。一方、「準備できました」画像138がタッチペン27等によりタッチされない限り、CPU31は、キャプチャー指示が与えられていないと判断する(ステップS104においてNO)。そのため、「準備できました」画像138がタッチペン27等によりタッチされるまで、ステップS102およびS104の処理が繰返される。
ステップS106において、CPU31は、キャプチャー指示が与えられてから内側カメラ23で取得される画像データがキャプチャーされるまでの期間に亘って、キャプチャーのタイミングをユーザに通知する。図22には、ステップS106において第1LCD12および第2LCD22に表示される画面例を示す。図22に示す画面には、内側カメラ23で取得されるLive画像136が表示されるとともに、内側カメラ23によるキャプチャーが行なわれるまでの残り時間を示す通知画像140が表示される。なお、この通知画像140は、キャプチャーが行なわれるまでの残り時間に応じて、“3”,“2”,“1”というように、時間的にその表示内容が更新される。これは、タッチパネル13に対するタッチ操作に起因する「手ブレ」の発生を抑制するためである。すなわち、ユーザは、表示される通知画像140に従って、ゲーム装置100をしっかり把持することで、キャプチャーされるタイミングでの手ブレの発生を抑制できる。
続くステップS108において、CPU31は、キャプチャーされたカメラ画像をユーザに表示し、CPU31は、キャプチャーされたカメラ画像に対して撮り直しの必要があるか否かを判断する(ステップS110)。より具体的には、CPU31は、撮り直しの必要があるか否かの選択を促す通知画像を第1LCD12および第2LCD22に表示する。図23には、ステップS108およびS110において第1LCD12および第2LCD22に表示される画面例を示す。図23に示す画面には、内側カメラ23によりキャプチャーされた顔写真142が表示されるとともに、撮り直しの必要のないことの指示を受付けるための「これでいい」画像144と、撮り直しの必要があることの指示を受付けるための「撮り直す」画像146とが表示される。
「これでいい」画像144がタッチペン27等によりタッチされると、CPU31は、撮り直しの必要がないと判断する(ステップS110においてNO)。そして、処理はステップS120へ進む。一方、「撮り直す」画像146がタッチペン27等によりタッチされると、CPU31は、撮り直しの必要があると判断する(ステップS110においてYESの場合)。そして、処理はステップS102へ戻る。
これに対して、ステップS112において、CPU31は、顔写真に代えて自画像の入力が可能であるか否かを判断する。より具体的には、CPU31は、自画像を入力できるか否かの選択を促す通知画像を第1LCD12および第2LCD22に表示する。図24には、ステップS112において第1LCD12および第2LCD22に表示される画面例を示す。図24に示す画面には、自画像を入力できるか否かの選択を促す通知画像150とともに、顔写真に代えて自画像の入力が可能であることの指示を受付けるための「はい」画像152と、顔写真に代えて自画像の入力が可能ではないことの指示を受付けるための「いいえ」画像154とが表示される。
「はい」画像152がタッチペン27等によりタッチされると、CPU31は、顔写真に代えて自画像の入力が可能であると判断する(ステップS112においてYES)。そして、処理はステップS114へ進む。一方、「いいえ」画像154がタッチペン27等によりタッチされると、CPU31は、顔写真に代えての自画像の入力が可能ではないと判断する(ステップS112においてNOの場合)。そして、処理はステップS100へ戻る。
ステップS114において、CPU31は、ユーザによる自画像の入力を受付ける画面を表示する。より具体的には、CPU31は、タッチパネル13に対するタッチペン27等による一連の入力操作を受付けるための手書き入力画面を表示する。続くステップS116において、CPU31は、一連の入力操作の軌跡(タッチ軌跡)に応じた手書き画像(自画像)を表示する。さらに続くステップS118において、CPU31は、一連の入力操作が終了したか否かを判断する。
図25には、ステップS114〜S118において第1LCD12および第2LCD22に表示される画面例を示す。図25に示す画面には、自画像の入力を促す通知画像156とともに、手書き入力領域158と、入力された内容の取消指示を受付けるための「書き直し」画像160と、一連の入力操作の終了指示を受付けるための「決定」画像162とが表示される。なお、既に自画像が登録されている場合には、当該自画像が手書き入力領域158に初期値として表示される。ユーザがタッチペン27等により第1LCD12上で手書き入力を行なうと、CPU31は、タッチパネル13により検出されたタッチ軌跡に応じた画像(自画像)を第1LCD12にリアルタイムに表示する。なお、タッチパネル13により検出された画像データは、メインメモリ32の所定領域に順次書込まれる。このメインメモリ32に書込まれた画像データは、「書き直し」画像160が選択されることによって、リセット(消去)される。さらに、「決定」画像162がタッチペン27等によりタッチされると、CPU31は、一連の入力操作が終了したと判断する(ステップS118においてYES)。そして、処理はステップS120へ進む。一方、「決定」画像162がタッチペン27等によりタッチされない限り、CPU31は、一連の入力操作が継続していると判断する(ステップS118においてNO)。そのため、「決定」画像162がタッチペン27等によりタッチされるまで、ステップS116およびS118の処理が繰返される。
ステップS120において、CPU31は、現在のモードが持ち主モードであるか否かを判断する。本顔画像取得サブルーチンは、後述するチェックゲーム時にも共通して実行される。このチェックゲームにおいては、持ち主識別情報登録処理と同様の「持ち主モード」に加えて、「ゲストモード」が用意される。ステップS120は、これらの「持ち主モード」および「ゲストモード」のうち選択されているモードに応じて、処理の内容を切換えるためのステップである。ここで説明している、持ち主識別情報登録処理においては、必ず「持ち主モード」が設定されているので、ステップS120においては、「YES」となる。
現在のモードが持ち主モードである場合(ステップS120においてYESの場合)には、処理はステップS122へ進む。一方、現在のモードがゲストモードである場合(ステップS120においてNOの場合)には、処理はステップS130へ進む。
ステップS122において、持ち主識別情報として顔画像が登録済であるか否かを判断する。すなわち、CPU31は、何らかのデータを格納する持ち主_顔画像ファイル402(図10)が存在するか否かを判断する。
持ち主識別情報として顔画像が登録済でない場合(ステップS122においてNOの場合)には、CPU31は、先行のステップにおいて取得した顔画像(顔写真もしくは自画像)から持ち主_顔画像ファイル402を作成する(ステップS124)。そして、処理はリターンする。一方、持ち主識別情報として顔画像が登録済である場合(ステップS122においてYESの場合)には、CPU31は、先行のステップにおいて取得した顔画像(顔写真もしくは自画像)で既に作成されている持ち主_顔画像ファイル402を上書きする(ステップS126)。そして、処理はリターンする。
一方、ステップS130において、CPU31は、ゲスト_顔画像ファイル442(図10)に空きがあるか否かを判断する。すなわち、CPU31は、先行のステップにおいて取得した顔画像(顔写真もしくは自画像)を記憶する領域が存在するか否かを判断する。ゲスト_顔画像ファイル442に空きがある場合(ステップS130においてYESの場合)には、処理はステップS132へ進む。一方、ゲスト_顔画像ファイル442に空きがない場合(ステップS130においてNOの場合)には、処理はステップS134へ進む。
ステップS132において、先行のステップにおいて取得した顔画像(顔写真もしくは自画像)からゲスト_顔画像ファイル442を作成する。そして、処理はリターンする。
ステップS134において、CPU31は、既に記憶されているゲスト_顔画像ファイル442を一覧表示する。すなわち、CPU31は、消去対象のゲスト_顔画像ファイル442の選択をユーザに促す。続くステップS136において、CPU31は、今回の処理において取得された顔画像が選択されたか否かを判断する。今回の処理において取得された顔画像が選択された場合(ステップS136においてYESの場合)には、処理はリターンする。すなわち、今回の画像画像取得サブルーチンにおいて取得された顔画像は、保存されることなく破棄される。一方、今回の処理において取得された顔画像が選択されていない場合(ステップS136においてNOの場合)には、処理はステップS138へ進む。
ステップS138において、CPU31は、先行のステップにおいて取得した顔画像(顔写真もしくは自画像)で選択されたゲスト_顔画像ファイル442を上書きする。そして、処理はリターンする。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、用意されている不特定ユーザのアカウントすべてに関連付けてゲストモード(第2モード)における結果データが記憶済みの場合であって、かつ新たにゲストモードが設定されて対話式アプリケーションが実行された場合に、記憶済のゲストモードにおける結果データおよび最新の対話式アプリケーションの実行により得られたゲストモードにおける結果データ第2結果データのうち、消去すべきものの選択を受付ける選択手段、および選択手段により選択されたゲストモードにおける結果データを消去する消去手段として機能する。
なお、ステップS134においては、ゲスト_顔画像ファイル442に空きがない場合に、消去対象のゲスト_顔画像ファイル442をユーザに選択させる構成について例示したが、ゲスト_顔画像ファイル442に空きがない場合には、最も古く作成されたゲスト_顔画像ファイル442を自動的に消去するようにしてもよい。
再度図16を参照して、続くステップS10において、CPU31は、サイン画像取得サブルーチンを実行して、持ち主のサイン画像を取得する。
図18を参照して、まず、CPU31は、ユーザによるサイン画像の入力を受付ける画面を表示する(ステップS150)。より具体的には、CPU31は、タッチパネル13に対するタッチペン27等による一連の入力操作を受付けるための手書き入力画面を表示する。続くステップS152において、CPU31は、一連の入力操作の軌跡(タッチ軌跡)に応じた手書き画像(サイン画像)を表示する。さらに続くステップS154において、CPU31は、一連の入力操作が終了したか否かを判断する。
図26には、ステップS150〜S154において第1LCD12および第2LCD22に表示される画面例を示す。図26に示す画面には、サインの入力を促す通知画像170とともに、手書き入力領域164と、入力された内容の取消指示を受付けるための「書き直し」画像166と、一連の入力操作の終了指示を受付けるための「決定」画像168とが表示される。なお、既にサイン画像が登録されている場合には、当該登録されているサイン画像が手書き表示領域172に表示される。ユーザがタッチペン27等により第1LCD12上で手書き入力を行なうと、CPU31は、タッチパネル13により検出されたタッチ軌跡に応じた手書き画像(サイン画像)を第1LCD12にリアルタイムに表示する。なお、タッチパネル13により検出された手書き画像は、メインメモリ32の所定領域に順次書込まれる。このメインメモリ32に書込まれた画像データは、「書き直し」画像166が選択されることによって、リセット(消去)される。さらに、「決定」画像168がタッチペン27等によりタッチされると、CPU31は、一連の入力操作が終了したと判断する(ステップS154においてYES)。そして、処理はステップS156へ進む。一方、「決定」画像168がタッチペン27等によりタッチされない限り、CPU31は、一連の入力操作が継続していると判断する(ステップS154においてNO)。そのため、「決定」画像168がタッチペン27等によりタッチされるまで、ステップS152およびS154の処理が繰返される。
ステップS156において、持ち主識別情報としてサイン画像が登録済であるか否かを判断する。すなわち、CPU31は、何らかのデータを格納する持ち主_サイン画像ファイル404(図10)が存在するか否かを判断する。持ち主識別情報としてサイン画像が登録済でない場合(ステップS156においてNOの場合)には、CPU31は、ステップS152において取得したサイン画像から持ち主_サイン画像ファイル404を作成する(ステップS158)。そして、処理はリターンする。一方、持ち主識別情報としてサイン画像が登録済である場合(ステップS156においてYESの場合)には、CPU31は、ステップS152において取得したサイン画像で既に作成されている持ち主_サイン画像ファイル404を上書きする(ステップS160)。そして、処理はリターンする。
再度図16を参照して、ステップS12において、CPU31は、ユーザによる生年月日の入力を受付ける画面を表示する。続くステップS14において、CPU31は、ユーザがタッチペン27等により入力する軌跡に対して文字認識処理を行なう。さらに続くステップS16において、CPU31は、認識結果を持ち主の生年月日として表示する。さらに続くステップS18において、CPU31は、入力された全体内容に対して修正の必要があるか否かを判断する。
図27には、ステップS12〜S18において第1LCD12および第2LCD22に表示される画面例を示す。図27に示す画面には、入力された全体内容に対して修正の必要があるか否かの入力を促す通知画像184とともに、先に取得されている顔画像176およびサイン画像174、生年月日の入力領域178と、入力された全体内容に対する修正指示を受付けるための「修正」画像180と、入力された全体内容に対する承認を受付けるための「決定」画像182とが表示される。ユーザがタッチペン27等により第1LCD12上で、生年月日の入力領域178に対応する位置に対して手書き入力を行なうと、CPU31は、タッチパネル13により検出された軌跡に対する認識結果を、対応する領域(「年」,「月」,「日」)に表示する。さらに、「修正」画像180がタッチペン27等によりタッチされると、CPU31は、入力された全体内容に対して修正の必要があると判断する(ステップS18においてYES)。そして、処理はステップS8へ戻る。一方、「決定」画像182がタッチペン27等によりタッチされると、CPU31は、入力された全体内容に対して修正の必要がないと判断する(ステップS18においてNO)。そして、CPU31は、持ち主_設定ファイル406(図10)を作成する。その後、処理はステップS20へ進む。
ステップS20において、CPU31は、ステップS4において取得された持ち主の「脳年齢」が表示される。このとき、他の持ち主識別情報である持ち主の顔画像が併せて表示される。以上により、持ち主識別情報登録処理は終了する。
<トレーニングゲーム>
次に、図5に示す状態遷移図のうち、持ち主モードでのトレーニングゲーム(状態ST6)およびゲストモードでのトレーニングゲーム(状態ST24)について説明する。
図28は、この発明の実施の形態に従う持ち主モードでのトレーニングゲームのメニュー画面の一例を示す図である。図29は、この発明の実施の形態に従うゲストモードでのトレーニングゲームのメニュー画面の一例を示す図である。
図8に示す持ち主のメインメニューにおいて、「トレーニング」画像210がタッチペン27等によりタッチされると、第1LCD12および第2LCD22には、図28に示すトレーニングゲームのメニューが表示される。そして、持ち主モードでのトレーニングゲームが開始される。また、図9に示すゲストのメインメニューにおいて、「トレーニング」画像310がタッチペン27等によりタッチされると、第1LCD12および第2LCD22には、図29に示すトレーニングゲームのメニューが表示される。そして、ゲストモードでのトレーニングゲームが開始される。
図28に示す持ち主モードでのトレーニングゲームのメニューには、図8に示す持ち主のメインメニューと同様に、持ち主のサイン画像202、持ち主の顔画像204、持ち主の「脳年齢」の値を示す画像206、および持ち主の「ハンコ」の取得状態208が表示される。さらに、このメニューには、持ち主がプレイ可能なトレーニングゲームを示す指示画像220が一覧表示される。ここで、持ち主がプレイ可能な複数のトレーニングゲーム(シナリオ)のうち一部は、トレーニングゲームの結果である「ハンコ」の取得状態208に応じて、そのプレイが許可される。すなわち、持ち主がトレーニングゲームを数多くプレイする程、ユーザがプレイ可能なトレーニングゲームの種類は増加する。
一方、図29に示すゲストモードでのトレーニングゲームのメニューには、トレーニングメニューの選択を促す通知画像320とともに、ゲストがプレイ可能なトレーニングゲームを示す指示画像220が一覧表示される。ここで、ゲストがプレイ可能なトレーニングゲームの種類は、図28に示す持ち主がプレイ可能なトレーニングゲームの種類と同一の設定される。そのため、持ち主が取得している「ハンコ」の数が多い程、ゲストによりプレイ可能なトレーニングゲームの種類も多くなる。但し、ゲストによるトレーニングゲームのプレイ実績は、持ち主の「ハンコ」には反映されない。すなわち、持ち主によるトレーニングゲームのプレイの結果(実績)は、持ち主に関連付けて記憶されるが、ゲストによるトレーニングゲームのプレイの結果(実績)は記憶されない。
なお、本実施の形態に従うアプリケーションにおいて用意されているトレーニングゲームの典型例としては、図19に示すような計算ゲームなどが含まれる。このような計算ゲームの他に、記憶ゲームや書取ゲームといった各種の対話型のトレーニングゲームが用意されている。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、持ち主モード(第1モード)の設定時における対話式アプリケーションについてのユーザのプレイ実績に応じて履歴情報を更新する更新手段、および当該履歴情報に基づいて、複数のシナリオのうち、持ち主モード(第1モード)およびゲストモード(第2モード)において進行を許可するシナリオを決定する決定手段として機能する。なお、本実施の形態においては、ゲーム内要素としてのゲームの種類が、ユーザのプレイ状況(プレイ回数、プレイ時間、プレイ成績など)に応じて、ユーザによるプレイ可能になる(あるいは、プレイ禁止が解除される)構成について例示した。このような構成に加えて、ゲーム内要素として、使用可能なキャラクターやアイテムがユーザのプレイ状況に応じて、ユーザにより使用可能になる構成であってもよい。
以下、本実施の形態に従うトレーニングゲームの処理手順について図30を参照して説明する。図30は、この発明の実施の形態に従うトレーニングゲームの処理手順を示すフローチャートである。なお、図30に示す処理手順は、図8に示す持ち主のメインメニューにおいて「トレーニング」画像210が選択された場合、もしくは図9に示すゲストのメインメニューにおいて「トレーニング」画像310が選択された場合に実行される。
図30を参照して、まず、ステップS50において、CPU31は、持ち主_トレーニング成績データ420(図10)を参照して、プレイ可能なトレーニングゲームの種類を決定する。続くステップS52において、CPU31は、決定したプレイ可能なトレーニングゲームの各々に対応する指示画像を保存用データメモリ34から読出して、第1LCD12に表示する。
続くステップS54において、CPU31は、表示されている指示画像のうちいずれがタッチペン27等によりタッチされたか否かを判断する。表示されている指示画像のいずれについてもタッチされていない場合(ステップS54においてNOの場合)には、ステップS54の処理が繰返される。一方、表示されている指示画像のうちいずれがタッチされた場合(ステップS54においてYESの場合)には、処理はステップS56へ進む。
ステップS56において、CPU31は、選択されたトレーニングゲームを特定する。さらに続くステップS58において、CPU31は、現在のモードが持ち主モードであるか否かを判断する。現在のモードが持ち主モードである場合(ステップS58においてYESの場合)には、処理はステップS60へ進む。一方、現在のモードがゲストモードである場合(ステップS58においてNOの場合)には、処理はステップS64へ進む。
ステップS60において、CPU31は、選択されたトレーニングゲームにそれぞれ対応する持ち主_トレーニング時間データ422(図10)を参照して、それぞれの持ち主_トレーニング時間データ422に格納されている各トレーニングのプレイに要した総時間を合計することで、前回のプレイに要した所要時間を取得する。なお、選択されたトレーニングゲームについての持ち主_トレーニング成績データ420が未だ存在しない場合には、所与のデフォルト値が前回のプレイに要した所要時間として設定される。続くステップS62において、CPU31は、選択されたトレーニングゲームのスタートを受付ける画面を表示する。この画面上には、ステップS60において取得される、前回のプレイに要した所要時間が、トレーニングのプレイの予想される所要時間として表示される。そして、処理はステップS68へ進む。
一方、ステップS64において、CPU31は、選択されたトレーニングゲームの内容などを説明する画面を表示する。続くステップS66において、CPU31は、選択されたトレーニングゲームのスタートを受付ける画面を表示する。この画面上には、所与のデフォルト値がトレーニングのプレイの予想される所要時間として表示される。そして、処理はステップS68へ進む。
ステップS68において、CPU31は、ユーザによりトレーニングゲームのスタートが指示されたか否かを判断する。すなわち、CPU31は、表示されるスタートの入力を受付けるための指示画像がタッチペン27等によりタッチされたか否かを判断する。ユーザによりトレーニングゲームのスタートが指示された場合(ステップS68においてYESの場合)には、処理はステップS70へ進む。ユーザによりトレーニングゲームのスタートが指示されていない場合(ステップS68においてNOの場合)には、ステップS68の処理が繰返される。
ステップS70において、CPU31は、選択されたトレーニングゲームを実行する。続くステップS72において、CPU31は、トレーニングゲームの実行により得られた結果(プレイに要した所要時間や正解/不正解の数)を表示する。さらに続くステップS74において、CPU31は、現在のモードが持ち主モードであるか否かを判断する。現在のモードが持ち主モードである場合(ステップS74においてYESの場合)には、処理はステップS76へ進む。一方、現在のモードがゲストモードである場合(ステップS74においてNOの場合)には、本トレーニングゲームは終了する。
ステップS76において、CPU31は、トレーニングゲームの実行により得られた結果に基づいて、実行されたトレーニングゲームに対応する、持ち主_トレーニング成績データ420および持ち主_トレーニング時間データ422の内容を更新する。続くステップS78において、CPU31は、更新後の持ち主_トレーニング成績データ420の内容に基づいて、「ハンコ」の取得状態を表示する。その後、本トレーニングゲームは終了する。
<チェックゲーム>
次に、図5に示す状態遷移図のうち、持ち主モードでのチェックゲーム(状態ST12)および結果出力(状態ST14)、ならびにゲストモードでのチェックゲーム(状態ST32)、ゲスト識別情報登録(顔画像)(状態ST34)および結果出力(状態ST36)について説明する。
本実施の形態に従うチェックゲームの処理手順について図31を参照して説明する。図31は、この発明の実施の形態に従うチェックゲームの処理手順を示すフローチャートである。図32〜図35は、この発明の実施の形態に従うチェックゲームに係る画面表示例を示す図である。
なお、図31に示す処理手順は、図8に示す持ち主のメインメニューにおいて「脳年齢チェック」画像214が選択された場合、もしくは図9に示すゲストのメインメニューにおいて「脳年齢チェック」画像314が選択された場合に実行される。
図31を参照して、まず、ステップS200において、CPU31は、ユーザの発声が許される状況であるか否かを判断する。これは、ユーザの発声をマイク43で取得して音声認識処理し、その認識結果を利用するゲームが実行可能であるか否かを判断するためである。より具体的には、CPU31は、ユーザの発声が許される状況であるか否かの選択を促す画像を第1LCD12および第2LCD22に表示する。
続くステップS202において、CPU31は、ステップS200における判断結果に応じて、予め用意されている複数のチェックゲームの中から実行すべきチェックゲームを選択する。本実施の形態に従うアプリケーションにおいて用意されているチェックゲームは、上述のトレーニングゲームと実質的に同じものが用いられる。そのため、本実施の形態に従うチェックゲームには、図19に示すような計算ゲームなどが含まれる。このような計算ゲームの他に、記憶ゲームや書取ゲームといった各種の対話型のチェックゲームが用意されている。なお、選択されるチェックゲームの数は、複数であることが好ましいが、1つであってもよい。そして、処理はステップS204へ進む。
ステップS204において、CPU31は、選択されたチェックゲームの種類に応じて、所与のデフォルト値に基づいて、チェックゲーム全体のプレイの予想される所要時間を表示する。なお、前回プレイ時間データが存在した場合はその時間が表示されるようにしてもよい。続くステップS206において、CPU31は、現在のモードが持ち主モードであるか否かを判断する。現在のモードが持ち主モードである場合(ステップS206においてYESの場合)には、処理はステップS208へ進む。一方、現在のモードがゲストモードである場合(ステップS206においてNOの場合)には、処理はステップS212へ進む。
ステップS208において、CPU31は、選択されたチェックゲームに相当する持ち主_トレーニング時間データ422(図10)を参照して、選択されたチェックゲームの前回のプレイに要した所要時間を取得する。なお、選択されたチェックゲームについての持ち主_トレーニング時間データ422が未だ存在しない場合には、所与のデフォルト値が前回のプレイに要した所要時間として設定される。続くステップS210において、CPU31は、チェックゲームのスタートを受付ける画面を表示する。この画面上には、ステップS208において取得される前回のプレイに要した所要時間が、チェックゲームのプレイの予想される所要時間として表示される。
図32には、ステップS210において第1LCD12および第2LCD22に表示される画面例を示す。図32に示す画面には、チェックゲームが開始できる状態であることをユーザに通知する通知画像230とともに、ステップS208において取得される前回のプレイに要した所要時間234が表示される。図32に示す画面には、さらに、チェックゲームのスタートを受付ける「脳年齢チェックスタート」画像232が表示される。「脳年齢チェックスタート」画像232がタッチペン27等によりタッチされると、処理はステップS216へ進む。
再度図31を参照して、ステップS212において、CPU31は、選択したチェックゲーム個別のプレイの予想される所要時間(所与のデフォルト値)を表示する。さらに続くステップS214において、CPU31は、選択されたチェックゲームのスタートを受付ける画面を表示する。この画面上には、ステップS212において取得される所要時間が表示される。なお、選択したチェックゲーム個別のプレイの予想される所要時間の表示前に、ユーザのプレイ操作を支援するために、チェックゲームについての説明を表示してもよい。
図33には、ステップS214において第1LCD12および第2LCD22に表示される画面例を示す。図33に示す画面には、チェックゲームが開始できる状態であることをユーザに通知する画像330とともに、ステップS212において取得されるプレイの予想される所要時間334が表示される。図33に示す画面には、さらに、チェックゲームのスタートを受付ける「脳年齢チェックスタート」画像332が表示される。「脳年齢チェックスタート」画像332がタッチペン27等によりタッチされると、処理はステップS216へ進む。
再度図31を参照して、ステップS216において、CPU31は、選択されたチェックゲームを実行する。続くステップS218において、CPU31は、ステップS202において選択されたチェックゲームがすべて実行されたか否かを判断する。選択されたチェックゲームのうち未実行のものが存在する場合(ステップS218においてNOの場合)には、ステップS206〜S216の処理が繰返される。一方、選択されたチェックゲームがすべて実行されている場合(ステップS218においてYESの場合)には、処理はステップS220へ進む。
ステップS220において、CPU31は、チェックゲームに要した所要時間や正解/不正解の数などの結果(成績)に基づいて、所定の評価基準に従って、ユーザの「脳年齢」を算出する。続くステップS222において、CPU31は、現在のモードが持ち主モードであるか否かを判断する。現在のモードが持ち主モードである場合(ステップS222においてYESの場合)には、処理はステップS224へ進む。一方、現在のモードがゲストモードである場合(ステップS222においてNOの場合)には、処理はステップS240へ進む。
ステップS224において、CPU31は、算出した「脳年齢」を持ち主に関連付けて記憶する。すなわち、CPU31は、算出した「脳年齢」の値を時間情報とともに、持ち主_脳年齢データ410(図10)に書込む。持ち主_脳年齢データ410には、N日分の「脳年齢」の値が格納されるようにしてあり、これを超える「脳年齢」の値が記憶される場合には、最も古い「脳年齢」の値が消去される。続くステップS226において、CPU31は、算出した「脳年齢」の値を示す画像を表示する。さらに続くステップS228において、CPU31は、持ち主_脳年齢データ410を参照して、持ち主の「脳年齢」の値の履歴を示す画像を表示する。より具体的には、CPU31は、持ち主の「脳年齢」の時間的変化をグラフ表示する。
図34には、ステップS228において第1LCD12および第2LCD22に表示される画面例を示す。図34に示す画面には、持ち主の「脳年齢」の時間的変化をグラフ表示する画像250が表示される。その後、処理はステップS230へ進む。
再度図31を参照して、ステップS230において、CPU31は、既に記憶されているゲスト_脳年齢ファイル444が存在するか否かを判断する。既に記憶されているゲスト_脳年齢ファイル444が存在する場合(ステップS230においてYESの場合)には、処理はステップS232へ進む。一方、既に記憶されているゲスト脳年齢データが存在しない場合(ステップS230においてNOの場合)には、処理はステップS234へ進む。
ステップS232において、CPU31は、今回の持ち主について算出した「脳年齢」の値と、既に記憶されているゲストの「脳年齢」の値とを比較表示する。図35には、ステップS232において第1LCD12および第2LCD22に表示される画面例を示す。図35に示す画面には、今回の持ち主について算出した「脳年齢」の値244が持ち主の顔画像242と対応付けて表示されるとともに、既に記憶されているゲストについての「脳年齢」の値248が当該ゲストの顔画像246と対応付けて表示される。すなわち、「脳年齢」の値と顔画像とが1つのグループとして表示される。このように、持ち主とゲストとの間で、同じチェックゲームをプレイした結果が同一画面上に比較表示される。そして、処理はステップS236へ進む。
なお、図35には、持ち主および1人のゲストの「脳年齢」の値が比較表示される例を示すが、より多くのゲストの「脳年齢」が既に記憶されている場合には、より効率的に画像が配置される。たとえば、持ち主およびゲストを含めて「脳年齢」の値が既に記憶されている人数(今回のプレイ結果を含む)が4人以下であれば、第1LCD12および第2LCD22の各々に2人分ずつ横方向に整列配置される。これに対して、持ち主およびゲストを含めて「脳年齢」の値が既に記憶されている人数が4人を越えていれば、第1LCD12および第2LCD22の各々に2行×2列の4人分ずつ整列配置される。
このように、CPU31は、本実施の形態に従うプログラムを実行することで、持ち主モード(第1モード)における結果データと、ゲストモード(第2モード)における結果データとを共に表示させる第3表示制御手段として機能する。
再度図31を参照して、ステップS234において、CPU31は、持ち主だけではなく、ゲストにもチェックゲームをプレイしてもらうように促す画面を表示する。たとえば、「周りの人にやらせましょう」といったメッセージを表示する。そして、処理はステップS236へ進む。
ステップS236において、CPU31は、持ち主のサイン、持ち主の顔画像、持ち主の「脳年齢」の値といった持ち主識別情報と対応付けて、持ち主の「ハンコ」の取得状態を表示する。そして、チェックゲームは終了する。
一方、ステップS240において、CPU31は、図17に示す顔画像取得サブルーチンを実行して、ゲストの顔画像を取得する。これは、実際にチェックゲームをプレイしたゲストに関連付けて、その「脳年齢」の値を記憶するためである。続くステップS242において、CPU31は、算出した「脳年齢」をゲストに関連付けて記憶する。すなわち、CPU31は、先行して実行した顔画像取得サブルーチンにおいて作成もしくは更新したゲスト_顔画像ファイル442に関連付けられたゲスト脳年齢ファイル444に、算出した「脳年齢」の値を書込む。さらに続くステップS244において、CPU31は、持ち主_脳年齢データ410およびゲスト_脳年齢ファイル444を参照して、持ち主およびゲストを含めて、既に合計2個以上(今回のプレイ結果を含む)の「脳年齢」の値が記憶されているか否かを判断する。
既に記憶されている「脳年齢」の値が2個未満であれば(ステップS244においてNO)、チェックゲームは終了する。一方、既に合計2個より多くの「脳年齢」の値が記憶されていれば(ステップS244においてYES)、処理はステップS246へ進む。
ステップS246において、CPU31は、今回のゲストについて算出した「脳年齢」の値と、既に記憶されている持ち主もしくはゲストの「脳年齢」の値とを比較表示する。この比較表示の画面例は、上述した図35と同様である。そして、チェックゲームは終了する。
<連想ゲーム>
次に、図5に示す状態遷移図のうち、持ち主モードでの連想ゲーム(状態ST8)および結果出力(状態ST10)、ならびにゲストモードでの連想ゲーム(状態ST26)、ゲスト識別情報登録(サイン)(状態ST28)、および結果出力(状態ST30)について説明する。
本実施の形態に従う連想ゲームは、「お題」として提示された言葉から連想する「写真」や「音声」を収集したり、手書きの「絵」を描いたりするものである。すなわち、何らかの「お題」が提示されると、ユーザがその「お題」に最も相応しいと考える「写真」を内側カメラ23または外側カメラ25を用いて撮像する。あるいは、ユーザがその「お題」に最も相応しいと考える「音声」をマイク43を用いて収集する。あるいは、ユーザがその「お題」に最も相応しいと考える「絵」をタッチペン27等などを用いて手書きする。その後、持ち主およびゲストを含めた複数のユーザの間で、各ユーザの作品が一覧表示される。なお、「お題」に応じて、「写真」,「音声」,「絵」のいずれの入力が要求されるかは予め定められているものとする。
以下、本実施の形態に従う連想ゲームの処理手順について図36および図37を参照して説明する。図36は、この発明の実施の形態に従う持ち主モードでの連想ゲームの処理手順を示すフローチャートである。図37は、この発明の実施の形態に従うゲストモードでの連想ゲームの処理手順を示すフローチャートである。図38〜図43は、この発明の実施の形態に従う連想ゲームに係る画面表示例を示す図である。
なお、図36に示す処理手順は、図8に示す持ち主のメインメニューにおいて「お題」画像212が選択された場合に実行される。また、図37に示す処理手順は、図9に示すゲストのメインメニューにおいて「お題」画像312が選択された場合に実行される。
(1.持ち主モードでの連想ゲーム)
図36を参照して、まず、ステップS300において、CPU31は、予め用意されている「お題」を一覧表示する。より具体的には、CPU31は、予め用意されている「お題」の各々に対応する指示画像を保存用データメモリ34から読出して、第1LCD12に表示する。なお、「お題」を段階的に表示してもよい。すなわち、先に複数のカテゴリーの一覧が表示され、いずれかのカテゴリーが選択されると、当該選択されたカテゴリーに含まれる「お題」が一覧表示されてもよい。続くステップS302において、CPU31は、一覧表示される「お題」が選択されたか否かを判断する。
図38には、ステップS300およびS302において第1LCD12および第2LCD22に表示される画面例を示す。図38に示す画面には、「お題」の選択を促す通知画像260とともに、選択可能な「お題」を示す指示画像262が一覧表示される。なお、選択可能な「お題」は、持ち主モードとゲストモードとの間で共通である。この一覧表示される「お題」を示す指示画像262のいずれかがタッチペン27等によりタッチされると、CPU31は、「お題」が選択されたと判断する(ステップS302においてYES)。そして、続くステップS304において、CPU31は選択された「お題」を特定する。さらに、処理はステップS306へ進む。一方、一覧表示される「お題」を示す指示画像262のいずれもタッチされなければ、CPU31は、「お題」が選択されていないと判断する(ステップS302においてNO)。ステップS302の処理が繰返される。
ステップS306において、CPU31は、選択された「お題」について、お題ファイルが既に登録されているか否かを判断する。すなわち、CPU31は、選択された「お題」に対応する持ち主_お題ファイル430が作成済であるか否かを判断する。お題ファイルが既に登録されている場合(ステップS306においてYESの場合)には、処理はステップS308へ進む。一方、お題ファイルが既に登録されていない場合(ステップS306においてNOの場合)には、処理はステップS310へ進む。
ステップS308において、CPU31は、選択された「お題」について既に登録されているお題ファイルの消去が許されるか否かを判断する。より具体的には、CPU31は、既に登録されているお題ファイルの消去可否の選択を促す画像を第1LCD12および第2LCD22に表示する。選択された「お題」について既に登録されているお題ファイルの消去が許されない場合(ステップS308においてNOの場合)には、処理はステップS300へ戻る。一方、選択された「お題」について既に登録されているお題ファイルの消去が許される場合(ステップS308においてYESの場合)には、処理はステップS310へ進む。
ステップS310において、CPU31は、選択された「お題」に要求される入力種別を判断する。選択された「お題」が「写真」を要求する場合(ステップS310において「写真」)には、処理はステップS320へ進む。また、選択された「お題」が手書きの「絵」を要求する場合(ステップS310において「手書き」)には、処理はステップS340へ進む。また、選択された「お題」が手書きの「音声」を要求する場合(ステップS310において「音声」)には、処理はステップS360へ進む。
ステップS320において、CPU31は、カメラによる撮像が許される状況であるか否かを判断する。より具体的には、CPU31は、撮像が許される状況であるか否かの選択を促す画像を第1LCD12および第2LCD22に表示する。カメラによる撮像が許される状況である場合(ステップS320においてYESの場合)には、処理はステップS322へ進む。一方、カメラによる撮像が許される状況ではない場合(ステップS320においてNOの場合)には、処理はステップS300へ戻る。
ステップS322において、CPU31は、選択された「お題」とともに、内側カメラ23または外側カメラ25で取得されるLive画像を表示する。続くステップS324において、CPU10は、ユーザからキャプチャー指示(シャッタ指令)が与えられたか否かを判断する。キャプチャー指示が与えられた場合(ステップS324においてYESの場合)には、処理はステップS326へ進む。一方、キャプチャー指示が与えられていない場合(ステップS324においてNOの場合)には、ステップS322およびS324の処理が繰返される。
ステップS326において、CPU31は、内側カメラ23または外側カメラ25で取得される画像データをキャプチャーする。続くステップS328において、CPU31は、キャプチャーされたカメラ画像をユーザに表示する。さらに続くステップS330において、CPU31は、キャプチャーされたカメラ画像に対して撮り直しの必要があるか否かを判断する。より具体的には、CPU31は、撮り直しの必要があるか否かの選択を促す画像を第1LCD12および第2LCD22に表示する。キャプチャーされたカメラ画像に対して撮り直しの必要がある場合(ステップS330においてYESの場合)には、処理はステップS322へ戻る。一方、キャプチャーされたカメラ画像に対して撮り直しの必要がない場合(ステップS330においてNOの場合)には、処理はステップS380へ進む。
ステップS340において、CPU31は、選択された「お題」とともに、ユーザによる手書き入力を受付ける画面を表示する。続くステップS342において、CPU31は、一連の入力操作の軌跡(タッチ軌跡)に応じた画像(手書きの絵)を表示する。さらに続くステップS344において、CPU31は、一連の入力操作が終了したか否かを判断する。
図39には、ステップS340〜S344において第1LCD12および第2LCD22に表示される画面例を示す。図39に示す画面には、「お題」を示す画像270とともに、手書き入力領域272が表示される。図39に示す画面には、さらに、一連の入力操作の終了を指示する「決定」画像274が表示される。ユーザがタッチペン27等により第1LCD12上で手書き入力を行なうと、CPU31は、タッチパネル13により検出されたタッチ軌跡に応じた画像(手書きの絵)を手書き入力領域272にリアルタイムに表示する。なお、タッチパネル13により検出された画像データは、メインメモリ32の所定領域に順次書込まれる。その後、「決定」画像274がタッチペン27等によりタッチされると、CPU31は、一連の入力操作が終了したと判断する(ステップS344においてYES)。そして、処理はステップS380へ進む。一方、「決定」画像274がタッチペン27等によりタッチされない限り、CPU31は、一連の入力操作が継続していると判断する(ステップS344においてNO)。そのため、「決定」画像274がタッチペン27等によりタッチされるまで、ステップS342の処理が繰返される。
再度図36を参照して、ステップS360において、CPU31は、マイクによる録音が許される状況であるか否かを判断する。より具体的には、CPU31は、録音が許される状況であるか否かの選択を促す画像を第1LCD12および第2LCD22に表示する。マイクによる録音が許される状況である場合(ステップS360においてYESの場合)には、処理はステップS362へ進む。一方、マイクによる録音が許される状況ではない場合(ステップS360においてNOの場合)には、処理はステップS300へ戻る。
ステップS362において、CPU31は、選択された「お題」とともに、録音開始指示を受付ける画像を表示する。続くステップS364において、CPU10は、ユーザから録音開始指示が与えられたか否かを判断する。録音開始指示が与えられた場合(ステップS364においてYESの場合)には、処理はステップS366へ進む。一方、録音開始指示が与えられていない場合(ステップS364においてNOの場合)には、ステップS364の処理が繰返される。
ステップS366において、CPU31は、所定期間に亘ってマイク43で収集される音声を格納する。続くステップS368において、CPU31は、録音された音声データを再生してスピーカ45から録音された音声を出力する。続くステップS370において、CPU31は、録音された音声を再度再生する必要があるか否かを判断する。より具体的には、CPU31は、録音された音声を再度再生する必要があるか否かの選択を促す画像を第1LCD12および第2LCD22に表示する。録音された音声を再度再生する必要がある場合(ステップS370においてYESの場合)には、処理はステップS368へ戻る。一方、録音された音声を再度再生する必要がない場合(ステップS370においてNOの場合)には、処理はステップS372へ進む。
ステップS372において、CPU31は、録音された音声に対して録り直しの必要があるか否かを判断する。より具体的には、CPU31は、録り直しの必要があるか否かの選択を促す画像を第1LCD12および第2LCD22に表示する。録音された音声に対して録り直しの必要がある場合(ステップS372においてYESの場合)には、処理はステップS364へ戻る。一方、録音された音声に対して録り直しの必要がない場合(ステップS372においてNOの場合)には、処理はステップS380へ進む。
ステップS380において、CPU31は、取得した画像データ(写真もしくは手書きの絵)または音声データから持ち主_お題ファイル430として新規作成(あるいは、既に作成されている持ち主_お題ファイル430を上書き)する。続くステップS382において、新規作成もしくは更新された持ち主_お題ファイル430の内容を表示もしくは再生する。
さらに続くステップS384において、CPU31は、同じ「お題」について、既に記憶されているゲスト_お題ファイル454が存在するか否かを判断する。既に記憶されているゲスト_お題ファイル454が存在する場合(ステップS384においてYESの場合)には、処理はステップS386へ進む。一方、既に記憶されているゲスト_お題ファイル454が存在しない場合(ステップS384においてNOの場合)には、ステップS388へ進む。
ステップS386において、CPU31は、今回の持ち主が作成した持ち主_お題ファイル430と、既に記憶されているゲスト_お題ファイル454とを比較表示する。図40には、ステップS384において第1LCD12および第2LCD22に表示される画面例を示す。なお、図40には、持ち主_お題ファイル430の内容が「手書きの絵」である場合について例示する。音声および写真についても、図40と同様である。図40に示す画面には、持ち主が作成した持ち主_お題ファイル430に含まれる画像282が持ち主_サイン画像ファイル452に含まれる画像284と対応付けて表示されるとともに、あるゲストによって生成されたゲスト_お題ファイル454に含まれる画像286が当該ゲストのゲスト_サイン画像ファイル452に含まれる画像288と対応付けて表示される。ここで、今回の連想ゲームのプレイにおいて作成されたお題ファイルの内容については、新たに追加されたことを示す「追加」画像290が重ね合わせて表示される。このように、持ち主とゲストとの間で、同じ連想ゲームをプレイした結果が同一画面上に比較表示される。そして、連想ゲーム処理は終了する。
再度図36を参照して、ステップS388において、CPU31は、持ち主だけではなく、ゲストにも連想ゲームをプレイしてもらうように促す画面を表示する。図41には、ステップS388において第1LCD12および第2LCD22に表示される画面例を示す。図41に示す画面には、選択可能な「お題」を示す指示画像262が一覧表示されるとともに、ゲストにも連想ゲームをプレイしてもらうように促す通知画像292を表示する。そして、連想ゲーム処理は終了する。
(2.ゲストモードでの連想ゲーム)
次に、図37を参照してゲストモードでの連想ゲームの処理について説明する。なお、図37に示すフローチャートに含まれるステップのうち、図36と同じステップについては、同一の参照符号を付し、その説明は繰返さない。
図37を参照して、まず、ステップS300において、CPU31は、予め用意されている「お題」を一覧表示する。より具体的には、CPU31は、予め用意されている「お題」の各々に対応する指示画像を保存用データメモリ34から読出して、第1LCD12に表示する。続くステップS302において、CPU31は、一覧表示される「お題」が選択されたか否かを判断する。「お題」が選択された場合(ステップS302においてYESの場合)には、処理はステップS304へ進む。一方、「お題」が選択されていない場合(ステップS302においてNOの場合)には、ステップS302の処理が繰返される。
ステップS304において、CPU31は、選択された「お題」を特定する。続くステップS310において、CPU31は、選択された「お題」に要求される入力形態を判断する。
選択された「お題」が「写真」を要求する場合(ステップS310において「写真」)には、図36に示すステップS320〜S330と同様の処理が実行される。そして、処理はステップS381へ進む。
また、選択された「お題」が手書きの「絵」を要求する場合(ステップS310において「手書き」)には、図36に示すステップS340〜S344と同様の処理が実行される。そして、処理はステップS381へ進む。
また、選択された「お題」が手書きの「音声」を要求する場合(ステップS310において「音声」)には、図36に示すステップS360〜S372と同様の処理が実行される。そして、処理はステップS381へ進む。
ステップS381において、CPU31は、図18と同様のサイン画像取得サブルーチンを実行して、ゲストのサイン画像を取得する。続くステップS383において、CPU31は、今回の連想ゲームにおいて作成された画像データ(写真もしくは手書きの絵)または音声データを、入力されたゲストのサインと対応付けて表示する。その後、処理はステップS390へ進む。
ステップS390において、CPU31は、ゲスト_顔画像ファイル442に空きがあるか否かを判断する。すなわち、CPU31は、今回の連想ゲームにおいて作成された画像データ(写真もしくは手書きの絵)または音声データを記憶する領域が存在するか否かを判断する。ゲスト_お題ファイル454に空きがある場合(ステップS390においてYESの場合)には、処理はステップS392へ進む。一方、ゲスト_顔画像ファイル442に空きがない場合(ステップS390においてNOの場合)には、処理はステップS394へ進む。
ステップS392において、CPU31は、今回の連想ゲームにおいて作成された画像データ(写真もしくは手書きの絵)または音声データからゲスト_お題ファイル454を作成し、かつ入力されたゲストのサイン画像からゲスト_サインファイルを作成する。そして、処理はステップS385へ進む。
ステップS394において、CPU31は、既に記憶されているゲスト_お題ファイル454にそれぞれ関連付けられている、ゲスト_サイン画像ファイル452に含まれるサイン画像を一覧表示する。すなわち、CPU31は、消去対象のゲスト_お題ファイル454の選択をユーザに促す。
図42および図43には、ステップS394において第1LCD12および第2LCD22に表示される画面例を示す。なお、図42および図43には、ゲストお題ファイルが「手書きの絵」である場合について例示する。音声および写真についても、図42および図43と同様である。図42に示す画面には、消去対象のゲスト_お題ファイル454の選択を促す通知画像338とともに、選択可能なゲスト_お題ファイル454に関連付けられたゲスト_サイン画像ファイル452に含まれるサイン画像336が一覧表示される。この一覧表示されるサイン画像336のいずれかがタッチペン27等によりタッチされると、図43に示すように、当該タッチされたサイン画像344に関連付けて記憶されているゲスト_お題ファイル454に含まれる画像342が表示される。図43に示す画面には、さらにタッチされたサイン画像344に対応するゲスト_サイン画像ファイル452、および関連付けられたゲスト_お題ファイル454の消去を許可する「これらを消す」画像346が表示される。
なお、1つの「お題」に対して複数の画像データ(カメラ画像もしくは手書き画像)または音声データをユーザに入力された場合には、同じサイン画像に対応付けて、これらを表示するようにしてもよい。
「これらを消す」画像346がタッチペン27等によりタッチされると、CPU31は、消去対象がされたと判断する。そして、処理はステップS396へ進む。ステップS396において、CPU31は、今回の連想ゲームのプレイにおいて作成された画像データ(写真もしくは手書きの絵)または音声データが選択されたか否かを判断する。今回の連想ゲームのプレイにおいて作成された画像データ(写真もしくは手書きの絵)または音声データが選択された場合(ステップS396においてYESの場合)には、処理はステップS385へ進む。すなわち、今回の連想ゲームのプレイにおいて生成された画像データ(写真もしくは手書きの絵)または音声データは、保存されることなく破棄される。
一方、今回の連想ゲームのプレイにおいて作成された画像データ(写真もしくは手書きの絵)または音声データが選択されてはいない場合(ステップS396においてNOの場合)には、処理はステップS398へ進む。ステップS398において、CPU31は、今回の連想ゲームのプレイにおいて作成された画像データ(写真もしくは手書きの絵)または音声データで選択されたゲスト_お題ファイル454を上書きし、かつ入力されたゲストのサイン画像で対応するゲスト_サイン画像ファイル452を上書きする。そして、処理はステップS385へ進む。
ステップS385において、CPU31は、同じ「お題」について、既に記憶されている持ち主_お題ファイル430および/またはゲスト_お題ファイル454が存在するか否かを判断する。既に記憶されている持ち主_お題ファイル430および/またはゲスト_お題ファイル454が存在する場合(ステップS385においてYESの場合)には、処理はステップS387へ進む。一方、既に記憶されている持ち主_お題ファイル430および/またはゲスト_お題ファイル454が存在しない場合(ステップS385においてNOの場合)には、ステップS389へ進む。
ステップS387において、CPU31は、今回の連想ゲームのプレイにおいてゲストが作成したゲスト_お題ファイル454に含まれる内容と、既に記憶されている持ち主_お題ファイル430および/またはゲスト_お題ファイル454の内容とを比較表示する。そして、連想ゲーム処理は終了する。
ステップS389において、CPU31は、ゲストだけではなく、持ち主にも連想ゲームをプレイしてもらうように促す画面を表示する。そして、連想ゲーム処理は終了する。
<その他>
図5に示す状態遷移図には図示していないが、図8に示す持ち主のメインメニューにおいて、「その他」画像216がタッチペン27等によりタッチされると、付加的な機能が提供される。具体的な一例として、本実施の形態に従うアプリケーションでは、(1)記念写真作成、(2)グラフ、(3)お題アルバム、(4)脳年齢比較、(5)顔写真撮り直し、(6)サイン書き直し、(7)利き手確認、(8)持ち主データ消去、(9)ご家族・お友達データ消去、(10)全データ消去、といった機能が選択的に実行可能である。以下、(1)〜(10)の各機能について説明する。
(1)記念写真作成の機能については後述する。
(2)グラフの機能が選択されると、図34に示すような持ち主の「脳年齢」のグラフが表示される。すなわち、チェックゲームの実行とは独立して、「脳年齢」のグラフが表示される。
(3)お題アルバムの機能が選択されると、選択された「お題」について、持ち主および/またはゲストが入力した画像などが一覧表示される。
(4)脳年齢比較の機能が選択されると、図35に示すような持ち主およびゲストの間で「脳年齢」を比較する画面が表示される。すなわち、チェックゲームの実行とは独立して、「脳年齢」を比較する画面が表示される。なお、この場合には、過去に実行されたチェックゲームの進行に従って生成された、持ち主_脳年齢データ410およびゲスト_脳年齢ファイル444に基づいて表示がなされる。
(5)顔写真撮り直しの機能が選択されると、図20〜図25に示すような、顔画像を取得するための画面が表示され、持ち主のユーザによる顔写真の再撮影または自画像の再描画が可能となる。再取得された顔画像(顔写真または自画像)は、持ち主_設定ファイル406に反映される。
(6)サイン書き直しの機能が選択されると、図26に示すような、サインの入力を受付ける画面が表示され、持ち主のユーザによるサイン画像の再設定が可能となる。なお、このとき、既に登録されている持ち主のユーザのサインが表示される。再設定されたサイン画像は、持ち主_設定ファイル406に反映される。
(7)利き手確認の機能が選択されると、図11に示すような、利き手を確認する画面が表示され、持ち主のユーザによる利き手の再設定が可能となる。再選択された利き手の設定は、持ち主_設定ファイル406に反映される。
(8)持ち主データ消去の機能が選択されると、持ち主に関するデータの全部もしくは一部が消去される。一部を消去する場合には、たとえば、持ち主識別情報(持ち主_顔画像ファイル402、持ち主_サイン画像ファイル404、および持ち主_設定ファイル406)、トレーニングゲームの結果(持ち主_トレーニング成績データ420)、チェックゲームの結果(持ち主_脳年齢データ410)、および連想ゲームの結果(持ち主_お題ファイル430)のうち、ユーザ選択に応じたものが選択的に消去される。
(9)ご家族・お友達データ消去の機能が選択されると、たとえば図42に示すような消去対象のゲストを選択するような画面が表示される。そして、いずれかのゲストが選択されると、図43に示すようなユーザの確認を求める画面の表示後、対象のゲストに関するデータが選択的に消去される。なお、ゲストに関するすべてのデータを一括して消去するような機能を備えていてもよい。
(10)全データ消去の機能が選択されると、ユーザの確認を経た後、ゲーム装置100に記憶されている持ち主およびゲストのすべてに関するデータが消去される。
<記念写真機能>
上述の記念写真作成機能は、上述のチェックゲームおよび連想ゲームの実行によって得られた結果一覧を出力する機能である。なお、「出力」とは、表示画面に画像を表示すること、画像を示すファイルを新たに作成すること、画像データを外部へ送信することなどを含む。なお、以下の説明では、典型的な「出力」処理として、画像を示すファイル(たとえば、JPEG方式)を新たに作成する場合について例示する。
図44は、この発明の実施の形態に従う記念写真機能の処理手順を示すフローチャートである。図45および図46は、この発明の実施の形態に従う記念写真機能によって作成される出力例を示す図である。なお、図44に示す処理手順は、図9に示す持ち主のメインメニューにおいて、「その他」画像216が選択された後に表示される「記念写真作成」画像(図示しない)が選択された場合に実行される。
図44を参照して、ステップS400において、CPU31は、記念写真の作成対象が、チェックゲームおよび連想ゲームのうちいずれであるかを判断する。すなわち、CPU31は、チェックゲームおよび連想ゲームのうちいずれの記念写真を作成すべきかの選択を促す画像を表示する。記念写真の作成対象がチェックゲームの場合(ステップS400において「チェックゲーム」の場合)には、処理はステップS410へ進む。一方、記念写真の作成対象が連想ゲームの場合(ステップS400において「連想ゲーム」の場合)には、処理はステップS420へ進む。
ステップS410において、CPU31は、ファイル作成の実行が許されるか否かを判断する。より具体的には、CPU31は、ファイル作成の実行許否の入力を促す画像を表示する。ファイル作成の実行が許された場合(ステップS410においてYESの場合)には、処理はステップS412へ進む。一方、ファイルの作成の実行が取消された場合(ステップS410においてNOの場合)には、記念写真機能の処理は終了する。
ステップS412において、CPU31は、記憶されている持ち主および/またはゲストの脳年齢データと、それぞれの脳年齢データに関連付けられている顔画像データを取得する。続くステップS414において、CPU31は、取得した脳年齢の値を示す画像を生成画像データおよび脳年齢の値を示す画像をレイアウトして出力画像を生成する。その後、処理はステップS430へ進む。
図45には、ステップS414において生成される出力画像の一例を示す。図45に示す出力画像では、脳年齢一覧のタイトルとともに、持ち主および/またはゲストの脳年齢の値が、それぞれに対応する顔画像とが対応付けて一覧表示される。図45に示す出力画像では、8人分の脳年齢が一覧表示される。
ステップS420において、CPU31は、ファイル作成の実行が許されるか否かを判断する。より具体的には、CPU31は、ファイル作成の実行許否の入力を促す画像を表示する。ファイル作成の実行が許された場合(ステップS420においてYESの場合)には、処理はステップS422へ進む。一方、ファイルの作成の実行が取消された場合(ステップS420においてNOの場合)には、記念写真機能の処理は終了する。
ステップS422において、CPU31は、記念写真の作成対象がいずれの「お題」であるのかを判断する。より具体的には、CPU31は、図38と同様に、選択可能な「お題」を示す画像を一覧表示し、ユーザによってタッチされた画像に対応する「お題」を特定する。続くステップS424において、選択された「お題」について、記憶されている持ち主および/またはゲストのお題ファイルを取得するとともに、それぞれのお題ファイルに関連付けられているサイン画像データを取得する。続くステップS426において、CPU31は、取得した脳年齢データを示す画像を生成する。さらに続くステップS428において、CPU31は、お題ファイルおよびサイン画像データをレイアウトして出力画像を生成する。その後、処理はステップS430へ進む。
図46には、ステップS428において生成される出力画像の一例を示す。図46に示す出力画像では、お題の内容とともに、持ち主および/またはゲストのお題ファイルの内容が、それぞれに対応するサイン画像とが対応付けて一覧表示される。図46に示す出力画像では、6人分のお題ファイルの内容が一覧表示される。
ステップS430において、CPU31は、出力先のメモリ(たとえば、保存用データメモリ34もしくはメモリカード28の容量)に出力画像を記憶するだけの容量を確保できるか否かを判断する。出力画像を記憶するだけの容量を確保できない場合(ステップS430においてNOの場合)には、処理はステップS432へ進む。一方、出力画像を記憶するだけの容量を確保できる場合(ステップS430においてYESの場合)には、処理はステップS434へ進む。
ステップS432において、CPU31は、出力先の容量不足を通知するための画像を表示する。そして、記念写真機能の処理は終了する。
ステップS434において、CPU31は、出力先に出力画像をファイルとして格納する。そして、記念写真機能の処理は終了する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11 第1ハウジング、12 第1LCD、13 タッチパネル、14A〜14K ボタン、15A 第1LED、15B 第2LED、15C 第3LED、16 マイク用孔、21 第2ハウジング、22 第2LCD、23 内側カメラ、23A 撮像素子、23B 読出回路、24 音抜き孔、25 外側カメラ、26 第4LED、27 タッチペン、28,29 メモリカード、32 メインメモリ、33 メモリ制御回路、34 保存用データメモリ、35 プリセットデータ用メモリ、36,37 メモリカードI/F、38 無線通信モジュール、39 ローカル通信モジュール、41 電源回路、42 インターフェース回路(I/F回路)、43 マイク、44 アンプ、45 スピーカ、50 制御部、54 バッファメモリ、56 カメラ画像表示制御部、58 モード設定部、60 位置入力部、62 指示画像生成部、64 指示画像表示制御部、68 レイヤーメモリ、70,72 描画部、100 ゲーム装置、AP アクセスポイント、NW ネットワーク、SRV 配信サーバ装置。