説明

ゲームプログラム、携帯型ゲーム装置、ゲームシステム、及びゲーム方法

【課題】ユーザが撮像した画像を用いて興趣性の高いゲームを実現する。
【解決手段】ゲーム装置の情報処理部は、外側カメラにより撮像された画像の中から切り出すパズル領域を設定するステップ(S10)と、ステージに応じてパズル領域における分割数を設定するステップ(S20)と、ランダムなパズルピース配置である1次元配列データを生成するステップ(S30)と、ゲーム装置の傾きに基づいて選択されたパズルピースの1次元配列データを更新することによりゲーム処理を実行するステップ(S60)と、仮想カメラの傾きに基づいて算出されたパズルピースのテクスチャ座標を1次元配列データに基づいて入れ替えて表示するステップ(S70)とを含むプログラムを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像した画像を用いたゲームに関し、より具体的には、撮像した画像の所定領域を小領域(パズルピース)に分割して、分割された小領域をランダムに配置して、ユーザが小領域を入れ替えて元の状態に戻すゲームに関する。
【背景技術】
【0002】
専用のゲーム装置又は汎用のコンピュータにおいて、静止画を複数のパズルピースに分割して、分割された複数のパズルピースをランダムに配置して、ユーザが画像を参照して、正しい配置に並べ替える、いわゆるパズルゲームが実行される。このようなパズルゲームにおいて、予め撮像された動画データを用いることが、例えば、特許文献1に開示されている。この文献に記載されたパズルゲーム装置は、パズルピースに同じ時間軸の画像を表示して、ユーザが動画を参照して、パズルピースを正しい配置に並べ替える。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−185454号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示されたパズルゲーム装置においてパズルゲームに用いられる画像は、動画であっても、予め撮像された動画に過ぎない。このため、動画を予め撮像して記憶させておかなければならないことに加えて、ユーザにとってはパズルピースに表示される動画の変化が少ないため興趣性が低い。さらに、このようなパズルゲームにおいて、ユーザは、十字のカーソルボタン若しくは矢印ボタン(ゲーム装置の場合)又はマウス(コンピュータの場合)を用いて、正しい配置に入れ替えるパズルピースを選択する。このような操作は、ユーザが慣れているために操作性が高い一方、興趣性が低い。このように、特許文献1に開示されたパズルゲーム装置では、ユーザの興趣性を向上させたパズルゲームを提供することができない。
【0005】
それ故、本発明の目的は、ユーザが撮像した画像を用いて、表示される画像に興趣性を高めることのできるゲーム技術を提供することである。
【0006】
また、本発明の別の目的は、選択操作に興趣性を高めることのできるゲーム技術を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上述の課題を解決するために、以下の構成を採用した。
【0008】
本発明の第1の局面に係るゲームプログラムは、撮像手段と表示手段とを備えた携帯型ゲーム装置のコンピュータを、取得手段、画像分割手段、配置手段、保持手段、画像更新手段、表示制御手段、変更手段、判定手段、及びゲーム処理手段として機能させる。取得手段は、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する。画像分割手段は、取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する。配置手段は、画像分割手段により分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する。保持手段は、配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する。画像更新手段は、逐次取得された撮像画像データを用いて、保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する。表示制御手段は、画像更新手段により更新された画像を表示手段に表示させる。変更手段は、表示手段に表示された画像を見たユーザの操作により、保持手段に保持される小領域の配置状態を変更する。判定手段は、変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する。ゲーム処理手段は、判定手段による判定結果に応じて所定のゲーム処理を行なう。
【0009】
この構成によると、撮像画像データが逐次取得されて、この逐次取得された撮像画像を用いて、小領域に表示される画像がそれぞれ逐次更新される。小領域の配置状態は、保持手段により保持されており、その初期値は、撮像された撮像画像とは異なるランダムな配置とすることにより、複数の小領域によりパズルゲームを構成することができる。このように表示された画像(複数の小領域に表示される逐次撮像された画像)を見た、元の画像に戻そうとするユーザの操作により、保持手段に保持される小領域の配置状態が変更される。保持手段に保持される小領域の配置状態が、配置手段によりランダムに配置される前の状態(すなわち撮像された状態)に戻ったり(ゲーム成功)、途中まで戻ったりすると(時間切れの場合でゲーム失敗)、ゲームを終了する等のゲーム処理が行われる。このようにして、携帯型のゲーム装置でユーザが現在撮像している画像を用いて、パズルゲームを実現することができる。この場合において、表示される画像は、逐次更新されるために、ユーザの興趣性を向上させることができる。
【0010】
好ましくは、ゲームはパズルゲームであって、ゲーム処理手段は、小領域であるパズルピースの配置状態が、配置手段により配置される前の状態に戻ると、パズルゲームを成功させる処理を実行するように構成することができる。この場合において、保持手段は、パズルゲームが成功されるまで、ユーザの操作によるパズルピースの配置状態の変更を反映させた配列データを保持することにより、複数のパズルピースの配置状態を保持するように構成することができる。この場合において、配列データは、1次元配列データであるように構成することができる。
【0011】
この構成によると、逐次撮像された画像が、複数の小領域であるパズルピースに表示されるパズルゲームを実現することができる。ユーザがパズルピースを入れ替えるように操作することにより、パズルピースの配置状態の変更を反映させた配列データが保持される。このようなパズルピースの入れ替え操作が、ランダムに配置される前の状態(撮像された状態であってパズルピースが正しく配置された状態であってゲームが成功した状態)まで継続され、パズルゲームを進めることができる。このとき、配列データを1次元配列データで保持すると、パズルピースの数が多くなっても、少ないデータ量で、複数のパズルピースの配置状態を保持することができる。
【0012】
好ましくは、このプログラムは、コンピュータを、撮像手段による撮像方向の変化を検出する検出手段、及び検出手段により検出された撮像方向の変化に基づいて、所定領域の表示態様を変化させる領域変化手段としてさらに機能させるように構成することができる。
【0013】
この構成によると、撮像手段を備えた携帯型ゲーム装置をユーザが傾けると、撮像手段により撮像方向の変化が検出される。撮像方向が変化すると、所定領域の表示態様が変化して、例えば、パズルピースに表示される画像が変化する。このため、ユーザの興趣性を向上させることができる。なお、撮像方向の変化を検出する方法は、撮像画像データに基づく方法、加速度を検出するセンサを用いた方法、角加速度(及び角速度)を検出するセンサ(ジャイロセンサ)を用いた方法等があり、特に限定されない。
【0014】
好ましくは、このプログラムは、コンピュータを、ユーザの操作に応じて、所定領域が領域変化手段によって表示態様が変化される前の状態となるように当該所定領域を設定する所定領域設定手段としてさらに機能させるように構成することができる。
【0015】
この構成によると、携帯型ゲーム装置をユーザが傾けてパズルピースに表示される画像を変化させてパズルゲームを楽しんでいるときに、携帯型ゲーム装置を傾け過ぎるとユーザの興趣性の向上よりも、操作及び/又はパズルゲームの困難性が発現することがある。このような場合には、ユーザのリセット操作等により、所定領域が設定されて、パズルゲームを最初の状態(表示態様が変化される前の状態であってパズルピースが正常に配置された状態)からやり直すことができる。ユーザの興趣性を向上しつつ、操作に不慣れなユーザ又は習熟度の低いユーザであっても、パズルゲームを容易に楽しむことができる。
【0016】
好ましくは、領域変化手段は、撮像方向が変化する方向の逆方向に移動して表示されるように、所定領域の表示態様を変化させるように構成することができる。また、領域変化手段は、撮像方向が変化する方向の逆方向が大きく表示されるように、所定領域の表示態様を変化させるように構成することができる。
【0017】
この構成によると、例えば四辺形の表示手段が設けられた筐体の裏面に撮像手段が設けられている携帯型ゲーム装置(ゲーム装置を傾けると撮像方向が変化するゲーム装置)を、ユーザが左方向に向けると、撮像方向が左方向に向けられる。このときには、撮像手段の視野内の左に存在する対象物よりも右に存在する対象物とゲーム装置との距離が相対的に短くなる。このようなゲーム装置の傾きに対応させて、表示手段に表示される画像は、撮像方向が向けられた方向の逆方向に移動して表示されたり、撮像方向が向けられた方向の逆方向が大きく表示されたりして、ユーザの興趣性を向上させることができる。
【0018】
好ましくは、画像更新手段は、取得手段によって取得された最新の撮像画像における小領域の画像を、複数の小領域に対応する仮想3次元空間内の複数のポリゴンのそれぞれにテクスチャとして貼り付けて、当該ポリゴンを仮想カメラで撮影することにより、小領域に表示される画像をそれぞれ更新するように構成することができる。この場合において、領域変化手段は、仮想カメラの位置及び姿勢の少なくとも一方を、検出手段により検出された撮像方向の変化に基づいて変化させることにより、撮像画像における所定領域の範囲を変化させるように構成することができる。
【0019】
この構成によると、3次元仮想空間において、ポリゴンの輪郭に基づいてパズルピースが分割され、それらのポリゴンに最新の撮像画像がテクスチャとして貼り付けられ、仮想カメラを用いて描画される。この場合において、仮想カメラの相対位置及び相対姿勢の少なくとも一方が撮像方向の変化に基づいて変化されるので、ゲーム装置の傾きに対応して、パズルの全体に対応する所定領域の表示態様が変化する。このため、ユーザの興趣性を向上させることができるゲーム装置を、仮想カメラを用いて実現することができる。
【0020】
好ましくは、このプログラムは、コンピュータを、検出手段により検出された撮像方向の変化に対応して、表示手段により表示された複数の小領域のいずれかを選択する選択手段としてさらに機能させるように構成することができる。
【0021】
この構成によると、携帯型ゲーム装置をユーザが傾けると、撮像方向が変化する。例えば、この撮像方向にあるパズルピースを、入れ替え対象のピースとして選択するようにすると、ゲーム装置を傾けることにより入れ替え対象のピースを選択することができる。このように入れ替え対象のピースを選択するためにゲーム装置を傾けると、所定領域の表示態様が変化する。このため、所定領域の表示態様が変化している状態で、複数のパズルピースの中から入れ替え対象のピースをユーザが選択することになる。このように動作するので、ユーザの興趣性を向上させたゲーム装置を実現することができる。
【0022】
好ましくは、選択手段は、表示手段の中央部に表示された小領域よりも周辺部に表示された小領域を容易に選択可能な条件下で、複数の小領域のいずれかを選択するように構成することができる。
【0023】
この構成によると、ゲーム装置を傾けることにより入れ替え対象のパズルピースを選択する場合に、周辺部に表示された小領域が容易に選択できるような条件となる。このため、周辺部のパズルピースを選択するときにゲーム装置を大きく傾ける必要がなくなり、容易にパズルピースを選択することができるようになるので、操作性が向上する。
【0024】
好ましくは、このプログラムは、コンピュータを、取得手段により逐次取得された所定領域外の画像と、画像更新手段により更新された所定領域内の画像とを合成した合成画像を生成する合成画像生成手段としてさらに機能させるように構成することができる。この場合において、画像分割手段は、撮像画像よりも小さい所定領域内の画像を複数の小領域に分割するように構成することができる。表示制御手段は、合成画像生成手段により合成された合成画像を表示手段に表示させるように構成することができる。
【0025】
この構成によると、撮像画像は、所定領域内の画像(パズル領域)とその周辺領域の画像とで構成され、周辺領域の画像がパズルゲームのヒントとなり、習熟度の低いユーザであってもパズルゲームを終了させることができる。
【0026】
好ましくは、このプログラムは、コンピュータを、ユーザの習熟度に応じて、小領域の数を設定する小領域数設定手段としてさらに機能させるように構成することができる。
【0027】
この構成によると、習熟度の高いユーザはパズルピースの数を多くして、習熟度の低いユーザはパズルピースの数を少なくして、習熟度に応じてユーザを楽しませることができる。
【0028】
本発明の第2の局面に係るゲーム装置は、撮像画像を撮像する撮像手段と、撮像画像を3次元仮想空間に表示する表示手段と、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、画像分割手段により分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する配置手段と、配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、逐次取得された撮像画像データを用いて、保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、画像更新手段により更新された画像を表示手段に表示させる表示制御手段と、表示手段に表示された画像を見たユーザの操作により、保持手段に保持される小領域の配置状態を変更する変更手段と、変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む。
【0029】
本発明の第3の局面に係るゲームシステムは、撮像画像を撮像する撮像手段と、撮像画像を3次元仮想空間に表示する表示手段と、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、画像分割手段により分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する配置手段と、配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、逐次取得された撮像画像データを用いて、保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、画像更新手段により更新された画像を表示手段に表示させる表示制御手段と、表示手段に表示された画像を見たユーザの操作により、保持手段に保持される小領域の配置状態を変更する変更手段と、変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む。
【0030】
本発明の第4の局面に係るゲーム方法は、撮像画像を撮像する撮像ステップと、撮像画像を3次元仮想空間に表示する表示ステップと、撮像ステップにて撮像された撮像画像を示す撮像画像データを逐次取得する取得ステップと、取得ステップにて取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割ステップと、画像分割ステップにて分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する配置ステップと、配置ステップによる配置状態を初期値として、複数の小領域の配置状態を保持する保持ステップと、逐次取得された撮像画像データを用いて、保持ステップにて配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新ステップと、画像更新ステップにて更新された画像を表示ステップにて表示させる表示制御ステップと、表示ステップにて表示された画像を見たユーザの操作により、保持ステップにて保持される小領域の配置状態を変更する変更ステップと、変更ステップにて変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定ステップと、判定ステップによる判定結果に応じて所定のゲーム処理を行なうゲーム処理ステップとを含む。
【0031】
本発明の第2の局面に係るゲーム装置、第3の局面に係るゲームシステム及び第4の局面に係るゲーム方法によると、第1の局面に係るゲームプログラムと同様の作用効果を発現する。
【発明の効果】
【0032】
本発明によれば、ユーザが自由にパズル対象の動画を設定して、パズルが現実世界に存在するように表示するので、興趣性を向上させることができる。また、ゲーム装置を傾けてパズルピースを選択する場合には、興趣性をさらに向上させることができる。
【図面の簡単な説明】
【0033】
【図1】開状態におけるゲーム装置10の正面図
【図2】開状態におけるゲーム装置10の側面図
【図3】閉状態におけるゲーム装置10の左側面図、正面図、右側面図及び背面図
【図4】上側ハウジング21の内側面からスクリーンカバー27を分離した状態を示す図
【図5】図1に示す上側ハウジング21のA−A’線断面図
【図6A】3D調整スイッチ25のスライダ25aが最下点(第3の位置)に存在する様子を示す図
【図6B】3D調整スイッチ25のスライダ25aが最下点よりも上方位置(第1の位置)に存在する様子を示す図
【図6C】3D調整スイッチ25のスライダ25aが最上点(第2の位置)に存在する様子を示す図
【図7】ゲーム装置10の内部構成を示すブロック図
【図8】ゲーム装置10のメインメモリ32のメモリマップを示す図
【図9】図8のピース配置記憶テーブルの構造を示す図
【図10】ピースの配列データを示す図
【図11】本実施形態に係るパズルゲーム処理の詳細を示すメインフローチャート
【図12】図11のゲーム処理(ステップS60)の詳細を示すフローチャート
【図13】図11の表示処理(ステップS70)の詳細を示すフローチャート
【図14】ゲーム装置を傾けた場合のパズルの見え方を示す概念図
【図15】ゲーム装置を傾けた場合のパズルピースの選択状態を示す概念図(その1)
【図16】ゲーム装置を傾けた場合のパズルピースの選択状態を示す概念図(その2)
【図17A】ゲーム開始時に所定領域が設定されたときに上側LCD22に表示される画像例を示す図
【図17B】領域が小領域に分割されたときに上側LCD22に表示される画像例を示す図
【図17C】小領域がランダムに配置されたときに上側LCD22に表示される画像例を示す図
【図17D】第5番目の小領域が選択候補であるときに上側LCD22に表示される画像例を示す図
【図17E】第5番目の小領域が選択確定したときに上側LCD22に表示される画像例を示す図
【図17F】ゲーム装置を傾けて第4番目の小領域が選択候補であるときに上側LCD22に表示される画像例を示す図
【図17G】図17Fの状態で第4番目の小領域が交換確定したときに上側LCD22に表示される画像例を示す図
【図17H】図17Fの状態で第4番目の小領域と第5番目の小領域とが交換されたときに上側LCD22に表示される画像例を示す図
【図18A】ゲームが進行したときに上側LCD22に表示される画像例を示す図
【図18B】ゲーム装置を傾けて第2番目の小領域が選択候補であるときに上側LCD22に表示される画像例を示す図
【図18C】図18Bの状態で第2番目の小領域が選択確定したときに上側LCD22に表示される画像例を示す図
【図18D】ゲーム装置の傾きを戻したときに上側LCD22に表示される画像例を示す図
【図18E】ゲーム装置を傾けて第8番目の小領域が選択候補であるときに上側LCD22に表示される画像例を示す図
【図18F】図18Eの状態で第8番目の小領域が交換確定したときに上側LCD22に表示される画像例を示す図
【図18G】図18Fの状態で第2番目の小領域と第8番目の小領域とが交換されたときに上側LCD22に表示される画像例を示す図
【図18H】ゲーム終了時に上側LCD22に表示される画像例を示す図
【発明を実施するための形態】
【0034】
(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1〜図3は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、図1〜図3に示すように折り畳み可能に構成されている。図1及び図2は、開いた状態(開状態)におけるゲーム装置10を示し、図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。図1は、開状態におけるゲーム装置10の正面図であり、図2は、開状態におけるゲーム装置10の右側面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、又は、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【0035】
まず、図1〜図3を参照して、ゲーム装置10の外観構成について説明する。図1〜図3に示されるように、ゲーム装置10は、下側ハウジング11及び上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。本実施形態では、各ハウジング11及び21はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【0036】
図1及び図2に示されるように、下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向に突起する突起部11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部21Aが設けられる。下側ハウジング11の突起部11Aと上側ハウジング21の突起部21Aとが連結されることにより、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。
【0037】
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1〜図3に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3)、アナログスティック15、LED16A〜16B、挿入口17、及び、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
【0038】
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。下側LCD12は下側ハウジング11の中央に配置される。下側LCD12は、下側ハウジング11の内側面(主面)に設けられ、下側ハウジング11に設けられた開口部から当該下側LCD12の画面が露出される。ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、例えば、256dot×192dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0039】
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1及び図3(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
【0040】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14B、ボタン14C、ボタン14D、ボタン14Eは、十字状に配置される。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0041】
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面の下側LCD12より左側領域の上部領域に設けられる。図1に示すように、十字ボタン14Aは下側LCD12より左側領域の下部領域に設けられるので、アナログスティック15は、十字ボタン14Aの上方に設けられる。また、アナログスティック15、及び、十字ボタン14Aは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック15を上部領域に設けたことにより、下側ハウジング11を把持する左手の親指が自然と位置するところにアナログスティック15が配され、十字ボタン14Aは、左手の親指を少し下にずらした位置に配される。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右及び斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【0042】
十字状に配置される、ボタン14B、ボタン14C、ボタン14D、ボタン14Eの4つのボタンは、下側ハウジング11を把持する右手の親指が自然と位置するところに配置される。また、これらの4つのボタンと、アナログスティック15とは、下側LCD12を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの4つのボタンを使用して方向指示入力をすることも可能である。
【0043】
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図7参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。
【0044】
図3(a)は閉状態におけるゲーム装置10の左側面図であり、図3(b)は閉状態におけるゲーム装置10の正面図であり、図3(c)は閉状態におけるゲーム装置10の右側面図であり、図3(d)は閉状態におけるゲーム装置10の背面図である。図3(b)及び(d)に示されるように、下側ハウジング11の上側面には、Lボタン14G及びRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。後述のように、Lボタン14G及びRボタン14Hは、撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
【0045】
図3(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタ及びそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
【0046】
また、図3(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタ及びその挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
【0047】
また、図1及び図3(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第1LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図3(c)参照)。
【0048】
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
【0049】
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1〜図3に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23a及び外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、及び、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
【0050】
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。また、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。
【0051】
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21に設けられた開口部から当該上側LCD22の画面が露出される。また、図2及び図4に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。図4は、上側ハウジング21の内側面からスクリーンカバー27を分解した状態を示す分解図である。当該スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、例えば、640dot×200dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0052】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。又は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目及び右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
【0053】
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23a及び23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。また、これらの撮像部はいずれも、上側LCD22の表示面(内側面)の法線方向と180度反対の方向に設計される。すなわち、外側撮像部(左)23aの撮像方向及び外側撮像部(右)23bの撮像方向は、平行である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(23a及び23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(23a及び23b)で撮像した画像を合成して又は補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部23は、外側撮像部(左)23a及び外側撮像部(右)23bの2つの撮像部で構成される。外側撮像部(左)23a及び外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0054】
図1の破線及び図3(b)の実線で示されるように、外側撮像部23を構成する外側撮像部(左)23a及び外側撮像部(右)23bは、上側LCD22の画面の横方向と平行に並べられて配置される。すなわち、2つの撮像部を結んだ直線が上側LCD22の画面の横方向と平行になるように、外側撮像部(左)23a及び外側撮像部(右)23bが配置される。図1の破線で示す23a及び23bは、上側ハウジング21の内側面とは反対側の外側面に存在する外側撮像部(左)23a及び外側撮像部(右)23bをそれぞれ表している。図1に示すように、ユーザが上側LCD22の画面を正面から視認した場合に、外側撮像部(左)23aは左側に外側撮像部(右)23bは右側にそれぞれ位置している。外側撮像部23をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部(左)23aは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部(右)23bは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部(左)23a及び外側撮像部(右)23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側撮像部(左)23a及び外側撮像部(右)23bの間隔は、この範囲に限らない。
【0055】
なお、本実施例においては、外側撮像部(左)23a及び外側撮像部(右)23はハウジングに固定されており、撮像方向を変更することはできない。
【0056】
また、外側撮像部(左)23a及び外側撮像部(右)23bは、上側LCD22(上側ハウジング21)の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部(左)23a及び外側撮像部(右)23bは、上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部(左)23a及び外側撮像部(右)23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部(左)23a及び外側撮像部(右)23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。
【0057】
このように、外側撮像部23の2つの撮像部(23a及び23b)が、上側LCD22の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。従って、外側撮像部23を上側LCD22の画面の裏側に配置する場合と比べて、上側ハウジング21を薄く構成することが可能となる。
【0058】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0059】
図1に示すように、内側撮像部24は、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。具体的には、図1及び図3(b)に示されるように、内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部(外側撮像部(左)23a及び外側撮像部(右)23b)の中間の裏側の位置に配置される。すなわち、上側ハウジング21の外側面に設けられた外側撮像部23の左右の撮像部を上側ハウジング21の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部24が設けられる。図3(b)で示される破線24は、上側ハウジング21の内側面に存在する内側撮像部24を表している。
【0060】
このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側撮像部23の左右の撮像部と内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。
【0061】
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。図1〜図3に示されるように、3D調整スイッチ25は、上側ハウジング21の内側面及び右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。また、3D調整スイッチ25の操作部は、内側面及び右側面の両方に突出しており、どちらからも視認及び操作することができる。なお、3D調整スイッチ25以外のスイッチは全て下側ハウジング11に設けられる。
【0062】
図5は、図1に示す上側ハウジング21のA−A’線断面図である。図5に示すように、上側ハウジング21の内側面の右端部には、凹部21Cが形成され、当該凹部21Cに3D調整スイッチ25が設けられる。3D調整スイッチ25は、図1及び図2に示されるように、上側ハウジング21の正面及び右側面から視認可能に配置される。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。
【0063】
図6Aから図6Cは、3D調整スイッチ25のスライダ25aがスライドする様子を示す図である。図6Aは、3D調整スイッチ25のスライダ25aが最下点(第3の位置)に存在する様子を示す図である。図6Bは、3D調整スイッチ25のスライダ25aが最下点よりも上方位置(第1の位置)に存在する様子を示す図である。図6Cは、3D調整スイッチ25のスライダ25aが最上点(第2の位置)に存在する様子を示す図である。
【0064】
図6Aに示すように、3D調整スイッチ25のスライダ25aが最下点位置(第3の位置)に存在する場合、上側LCD22は平面表示モードに設定され、上側LCD22の画面には平面画像が表示される(なお、上側LCD22を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい)。一方、図6Bに示す位置(最下点より上側の位置(第1の位置))から図6Cに示す位置(最上点の位置(第2の位置))までの間にスライダ25aが存在する場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。スライダ25aが第1の位置から第2の位置の間に存在する場合、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右目用画像及び左目用画像の横方向の位置のずれ量が調整される。なお、立体表示モードにおける立体画像の見え方の調整については後述する。3D調整スイッチ25のスライダ25aは、第3の位置で固定されるように構成されており、第1の位置と第2の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ25aは、第3の位置において、3D調整スイッチ25を形成する側面から図6Aに示す横方向に突出した凸部(図示せず)によって固定されて、所定以上の力が上方に加わらないと第3の位置よりも上方にスライドしないように構成されている。第3の位置から第1の位置にスライダ25aが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第3の位置と第1の位置とを同じ位置としてもよい。また、第3の位置を第1の位置と第2の位置の間としてもよい。その場合、スライダを第3の位置から第1の位置の方向に動かした場合と、第2の方向に動かした場合とで、右目用画像及び左目用画像の横方向の位置のずれ量の調整する方向が逆になる。
【0065】
なお、本実施例のゲーム装置が実行するプログラムには、立体写真を表示するためのプログラムと、立体的なCG画像を表示するためのプログラムがある。後者のプログラムでは、左目用の仮想カメラと右目用の仮想カメラで仮想空間を撮影して、左目用画像と右目用画像を生成する。本実施例のゲーム装置は、このようなプログラムの実行時において、3D調整スイッチ25のスライダ25aの位置に応じて、2つの仮想カメラの間隔を変更することにより、立体感を調整する。
【0066】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき(すなわち、3D調整スイッチが上記第1の位置から上記第2の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき)に限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
【0067】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
【0068】
(ゲーム装置10の内部構成)
次に、図7を参照して、ゲーム装置10の内部の電気的構成について説明する。図7は、ゲーム装置10の内部構成を示すブロック図である。図7に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、及びインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(又は上側ハウジング21でもよい)内に収納される。
【0069】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、後述するパズルゲーム処理(図11)を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。なお、本実施形態においては、VRAM313には、下側LCD12用記憶領域と、上側LCD22用記憶領域(以下、テクスチャ用VRAMと記載)とがある。
【0070】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及び、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
【0071】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記パズルゲーム処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0072】
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0073】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0074】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36及びローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0075】
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出することができる。
【0076】
また、情報処理部31には、RTC38及び電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0077】
また、情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42及びスピーカ43が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。また、タッチパネル13はI/F回路41に接続される。I/F回路41は、マイク42及びスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、及び、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
【0078】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
【0079】
下側LCD12及び上側LCD22は情報処理部31に接続される。下側LCD12及び上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、操作用の画像を下側LCD12に表示させ、各撮像部23及び24のいずれかから取得した画像を上側LCD22に表示させる。すなわち、情報処理部31は、上側LCD22に外側撮像部23で撮像した右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を表示させたり、内側撮像部24で撮像した平面画像を上側LCD22に表示させたりする。
【0080】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された(外側撮像部23で撮像された)右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像及び左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
【0081】
外側撮像部23及び内側撮像部24は、情報処理部31に接続される。外側撮像部23及び内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。本実施形態では、情報処理部31は外側撮像部23及び内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。具体的には、本実施形態では、ユーザによるタッチパネル13を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23又は内側撮像部24に対して撮像指示を行う。
【0082】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0083】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。本実施形態では、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
【0084】
(パズルゲーム処理の詳細)
次に、図8から図11を参照して、本実施形態に係るパズルゲーム処理の詳細について説明する。まず、パズルゲーム処理の際にメインメモリ32に記憶される主なデータについて説明する。図8は、ゲーム装置10のメインメモリ32のメモリマップを示す図である。図8に示されるように、メインメモリ32には、データ記憶領域70が設けられる。データ記憶領域70には、カメラ選択データ71、左目用画像位置データ72、右目用画像位置データ73、加速度データ74、表示モードデータ75、操作データ76、ピース配置記憶テーブル77等が記憶される。これらのデータの他、メインメモリ32には、上記撮像処理を実行するプログラムやタッチパネル13へのタッチ位置を示すデータ、下側LCD12に表示されるカメラ選択のための画像を示すデータ、ゲーム処理のためのデータ(例えば、選択確定ピース情報、ステージ情報)等が記憶される。なお、以下においては、「撮像部」を「カメラ」という文言で代用して記載する場合がある。
【0085】
カメラ選択データ71は、現在選択されている撮像部を示すデータである。カメラ選択データ71は、現在選択されている撮像部が外側撮像部23か内側撮像部24かを示すデータである。
【0086】
左目用画像位置データ72は、外側撮像部(左)23aによって撮像された左目用画像の上側LCD22上の表示位置を示すデータであり、左目用画像の画像中心の座標値を示すデータである。右目用画像位置データ73は、外側撮像部(右)23bによって撮像された右目用画像の上側LCD22上の表示位置を示すデータであり、右目用画像の画像中心の座標値を示すデータである。
【0087】
加速度データ74は、加速度センサ39によって検出された最新の加速度を示すデータである。具体的には、加速度データ74は、加速度センサ39によって検出されたx軸方向、y軸方向、及びz軸方向の加速度の値を示す。加速度センサ39は所定時間に1回の割合で加速度を検出し、情報処理部31(CPU311)に送信する。情報処理部31は、加速度センサ39が加速度を検出するたびにメインメモリ32の加速度データ74を更新する。
【0088】
表示モードデータ75は、上側LCD22の表示モードが立体表示モードか平面表示モードかを示すデータである。
【0089】
操作データ76は、各操作ボタン14A〜E、G〜H、及び、アナログスティック15に対して行われた操作を示すデータである。
【0090】
ピース配置記憶テーブル77は、パズルゲーム処理で使用されるパズルピースの配置状態等を記憶する。ここで、パズルゲームでは、複数のパズルピースが用いられ、それぞれのパズルピースが仮想3次元空間内にポリゴンとして配置される。図9にこのピース配置記憶テーブル77の構造を示す。このピース配置記憶テーブル77は、横3列、縦3段の9ピース用のテーブルである。このピース配置記憶テーブル77は、ピース位置記憶フィールド、保持配列データ記憶フィールド、(X(1)、Y(1))〜(X(4)、Y(4))の4点の座標データが記憶されるテクスチャ座標データ記憶フィールドとで構成される。
【0091】
ピース位置は、例えば、3段×3列のマトリクスにおいて、上段左ピースの位置を「1」として、上段中央ピースの位置を「2」、上段右ピースの位置を「3」、中段左ピースの位置を「4」として、中段中央ピースの位置を「5」、中段右ピースの位置を「6」、下段左ピースの位置を「7」として、下段中央ピースの位置を「8」、下段右ピースの位置を「9」として設定される。このように、ピース位置は、パズル領域を構成するマトリクスにおいて左上から右下に付された位置を示す。
【0092】
保持配列データは、1次元配列データであって、ピース位置の昇順(ピース位置の数字の昇順)に、配置されている現在のピースを示すピース番号(ランダムに並べ替える前に付与された番号)が保持される。例えば図10(a)に示すように、ランダムに並べ替えられる前であると、ピース位置の昇順にピース番号が並べられた「123456789」という1次元配列データが保持される。また、図10(b)に示すように、全てのパズルピースがランダムに配置されると、ピース位置の昇順にピース番号が並べられた「769548321」という1次元配列データが保持される。この図10(b)に示す場合は、どのパズルピースも正しい位置に配置されていないランダムな状態である。
【0093】
テクスチャ座標データは、仮想カメラの傾きに基づいて、パズルピース1個ずつ算出される。なお、後述するように、このような9個のパズルピースのテクスチャ座標データを算出してから、1次元配列データに従ってテクスチャ座標データを入れ替えることにより、ランダムに配置されたパズルピースを表示する。また、仮想カメラの傾きの算出方法は限定されるものではないが、ここでは、外側撮像部23により撮像された画像データの差分に基づいて算出している。さらに詳細には、差分に基づいて算出された移動量を用いて、仮想カメラの傾きを算出している。
【0094】
次に、パズルゲーム処理の詳細について、図11から図13を参照して説明する。図11は、本実施形態に係るパズルゲーム処理の詳細を示すメインフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10の情報処理部31(CPU311)は、図示しないROMに記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。次に、データ保存用内部メモリ35に記憶されたパズルゲーム処理プログラムがメインメモリ32に読み込まれ、情報処理部31のCPU311によって当該プログラムの実行が開始される。
【0095】
図12に示すフローチャートは、図11のゲーム処理(ステップS60)における詳細なフローチャートである。図13に示すフローチャートは、図11の表示処理(ステップS70)における詳細なフローチャートである。なお、図12に示すステップS10〜ステップS80の処理ループは、1フレーム(例えば1/30秒。フレーム時間という。)毎に繰り返し実行される。
【0096】
また、以下においては、外側撮像部23が選択され、立体表示モードが選択された場合の処理について説明する。このように処理すると、パズルピースに表示される動画像が立体的に表示されることによりユーザの興趣性がさらに向上する点で好ましい。しかしながら、立体表示モードにおける左目用処理及び右目用処理は原則的に同じ処理であるので、以下においては、説明の繰り返しを避けるために左目用処理(右目用処理であってもよい)について説明する。これは平面表示モードでの処理を説明することになる。このように、本発明の適用は立体表示モードにも平面表示モードにも限定されるものではない。ユーザの興趣性がさらに向上する点で、立体表示モードがより好ましい。立体表示モードでは、以下に説明する左目用処理に加えてこの左目用処理と原則的に同じ処理である右目用処理を実行するようにしたり、左目用処理の結果を用いて右目用データを作成したりすることにより、立体表示モードでのパズルゲーム処理が実行される。
【0097】
さらに、以下においては、上側LCD22にパズルゲームが表示されるゲーム装置10を説明するが、下側LCD12にパズルゲームが表示されても構わない。この場合において、下側LCD12に表示されたパズルピースをタッチペン28で指定することにより、入れ替え対象のパズルピースを選択するようにしても構わない。
【0098】
まず、図11を参照して、パズルゲーム処理のメインルーチンについて説明する。ステップS10にて、情報処理部31は、外側撮像部23により撮像された撮像画像の中から切り出すパズル領域(所定領域)を設定する。このとき、上側LCD22の表示領域よりも小さい領域がパズル領域として設定される。このように設定することにより、パズル領域の周囲の撮像画像を上側LCD22に表示させることができるので、パズルゲームのヒントをユーザに与えることができる。なお、外側撮像部23により撮像された撮像画像が上側LCD22の表示領域全体に表示されるようになっておらず、一部領域に表示されるようになっている場合には、パズル領域が、撮像画像が表示される一部領域よりも小さい領域として設定される。
【0099】
ステップS20にて、情報処理部31は、ステージに応じてパズル領域における分割数Mを設定する。このとき、ステージが高い(このユーザの習熟度が高い)と、分割数を大きな値に設定し、ステージが低い(このユーザの習熟度が低い)と、分割数を小さな値に設定する。なお、分割数Mに限らず、パズル領域の大きさは同じであるとする。このとき、情報処理部31は、パズル領域を分割して得られた複数のパズルピースに対応する複数のポリゴンと仮想カメラを仮想3次元空間内に配置する。ここで、ポリゴンと仮想カメラとの位置関係は予め定められているとする。
【0100】
ステップS30にて、情報処理部31は、パズルピースの1次元配列データを生成する。このとき、撮像画像と同じにならないようにランダムにパズルピースが並べられた1次元配列データが生成される。なお、全てのパズルピ−スが同じ位置にない(完全にランダムな)1次元配列データを生成することが好ましいが、パズル数Mが大きいと、このステップS30における処理時間が長くなる場合がある。このため、一定時間を超えるまでに、全てのパズルピ−スが同じ位置にない1次元配列データを生成することができなかった場合(完全なランダムにならなかった場合)には、その時間が経過するまでの最もランダムなデータを1次元配列データとして生成するようにしたり、その時間が経過したときのデータを1次元配列データとして生成するようにしたりしても構わない。
【0101】
ステップS40にて、情報処理部31は、ユーザにより、ゲームのリセットが要求されたか否かを判定する。例えばリセット用に割り当てられたボタンが操作されるとゲームのリセットが要求されたと判定する。ゲームのリセットが要求されたと判定されると(ステップS40にてYES)、処理はステップS10へ戻される。もしそうでないと(ステップS40にてNO)、この処理はステップS50へ移される。すなわち、ゲーム途中においてリセット処理が要求されると、ステップS10の処理が実行されて、仮想カメラとパズル領域との相対的な位置関係が初期化され、パズル領域が再度設定される。
【0102】
ステップS50にて、情報処理部31は、カメラ画像データを取得する。具体的には、情報処理部31は、現在選択されているカメラによって撮像された画像を示す画像データを取得し、VRAM313に格納する。ここでは、外側撮像部23が選択されているため、情報処理部31は、外側撮像部23によって撮像された画像を示す画像データを取得する。
【0103】
ステップS60にて、情報処理部31は、ユーザがゲーム装置10を傾けてパズルピースを選択するゲーム処理を実行する。なお、このステップS60のゲーム処理はサブルーチン化されており、その詳細については、後述する。
【0104】
ステップS70にて、情報処理部31は、上側LCD22に画像を表示する表示処理を実行する。なお、このステップS70の表示処理はサブルーチン化されており、その詳細については、後述する。
【0105】
ステップS80にて、情報処理部31は、ステージが更新されたか否かを判定する。全てのパズルピースが正しい位置へ入れ替えられると、ステージが更新されたと判定される。ステージが更新されたと判定されると(ステップS80にてYES)、処理はS10へ移される。もしそうでないと(ステップS80にてNO)、この処理は、ステップS40へ移される。
【0106】
なお、この図11に示すフローチャートによると、パズルゲームが無限に実行される表現となっているが、実際には、例えば電源ボタン14Fがオフ操作されることにより、このパズルゲームは終了される。
【0107】
次に、図12を参照して、ゲーム処理のサブルーチンについて説明する。ステップS601にて、情報処理部31は、外側撮像部23により撮像された画像を示すカメラ撮像データに基づいて、リセット時(パズル領域設定時)からの外側撮像部23の傾き角を算出する。このとき、情報処理部31は、1フレーム前のカメラ撮像データと現在のフレームのカメラ撮像データとの差分に基づいて外側撮像部23の移動量を算出して、それに基づいて傾き角を算出している。なお、このとき、左右方向及び上下(前後)方向の傾きが算出される。
【0108】
ステップS602にて、情報処理部31は、算出したカメラ傾き角に基づいて、仮想カメラの左右傾き角A及び上下傾き角Bを決定する。
【0109】
ステップS603にて、情報処理部31は、左右最大傾き角AAに対する左右傾き角Aの比率C(=A/AA)を算出する。ステップS604にて、情報処理部31は、上下最大傾き角BBに対する上下傾き角Bの比率D(=B/BB)を算出する。なお、比率C及び比率Dが1を超える場合には、比率C及び比率Dは1に設定される。
【0110】
ステップS605にて、情報処理部31は、比率C及び比率Dを用いて、M個のパズルピースの中から1個のパズルピースを選択する。このとき、上側LCD22には、選択カーソル(十字マーク)がパズルピースの表示に重畳されて表示される。ここで、ゲーム装置10を大きく傾けても選択カーソルがパズルピース領域外に移動しないで、必ず1個のパズルピースを選択することができる。さらに、このパズルピースの選択においては、中央側のパズルピースよりも端側のパズルピースが選択しやすくなっている。このような処理の詳細については、後述する。
【0111】
ステップS606にて、情報処理部31は、該当するパズルピースを選択状態で上側LCD22に表示する。このとき、上側LCD22において、選択されたパズルピースに選択カーソルが表示されるとともに、選択されたパズルピースのパズル枠が強調されて太く表示されたりパズル枠の色が変更されて表示されたり、そのパズルピースが浮き出て見えるように表示されたりする。
【0112】
ステップS607にて、情報処理部31は、選択ボタンが押下されたか否かを判定する。このとき、情報処理部31は、ユーザにより例えば操作ボタン14Bが押下されると、選択ボタンが押下されたと判定する。選択ボタンが押下されたと判定されると(ステップS607にてYES)、処理はステップS608へ移される。もしそうでないと(ステップS607にてNO)、この処理は終了する(メインルーチンへ戻る)。
【0113】
ステップS608にて、情報処理部31は、選択確定ピースがあるか否かを判定する。このとき、情報処理部31は、メインメモリ32のデータ記憶領域70に、選択確定ピース情報として、選択確定ピース番号を示す選択確定ピース番号データとピース位置を示すピース位置データとが記憶されていると選択確定ピースがあると判定し、選択確定ピース番号データとピース位置データとが記憶されていないと選択確定ピースがあると判定しない。選択確定ピースがあると判定されると(ステップS608にてYES)、処理はステップS609へ移される。もしそうでないと(ステップS608にてNO)、この処理はステップS612へ移される。
【0114】
ステップS609にて、情報処理部31は、該当のパズルピース(今回選択されたパズルピース)と、保持されていた選択確定ピースとを入れ替える。このとき、情報処理部31は、保持配列データとしてデータ記憶領域70に記憶している1次元配列データを更新する。例えば、上段中央のパズルピースと上段右のパズルピースとが入れ替えられると、「7→6→9→5→4→8→3→2→1」と並べられている状態を示す「769548321」から「7→9→6→5→4→8→3→2→1」と並べられている状態を示す「796548321」へ、1次元配列データが更新される。また、このとき、情報処理部31は、メインメモリ32のデータ記憶領域70に記憶されていた選択確定ピース番号データとピース位置データとを消去する。
【0115】
ステップS610にて、情報処理部31は、このゲームが成功したか否かを判定する。このとき、情報処理部31は、保持配列データとして記憶している1次元配列データが正規の順番である「123456789」になると、ゲームが成功したと判定する。すなわち、撮像画像と同じにならないようにランダムにパズルピースが並べられたとき(ステップS30)よりも以前の配置状態に戻った場合にゲームが成功したと判定される。ゲームが成功したと判定されると(ステップS610にてYES)、処理はS611へ移される。もしそうでないと(ステップS610にてNO)、この処理は終了する(メインルーチンへ戻る)。
【0116】
ステップS611にて、情報処理部31は、ステージ情報を更新する。その後、この処理は終了する(メインルーチンへ戻る)。
【0117】
ステップS612にて、情報処理部31は、該当のパズルピース(今回選択されたパズルピース)を選択確定ピースとして保持する。このとき、情報処理部31は、該当のパズルピースの番号および位置をそれぞれ選択確定ピース番号データおよびピース位置データとしてメインメモリ32のデータ記憶領域70に記憶させる。その後、この処理は終了する(メインルーチンへ戻る)。
【0118】
次に、図13を参照して、上側LCD22の表示処理のサブルーチンについて説明する。ステップS701にて、情報処理部31は、カメラ撮像データをテクスチャ用VRAMへ転送する。
【0119】
ステップS702にて、情報処理部31は、変数Nに1を代入する。ステップS703にて、情報処理部31は、仮想カメラの傾き(S602にて決定してデータ記憶領域70に記憶)に基づいて、N個目のパズルピース(ピース位置が「N」のパズルピース)のテクスチャ座標を算出する。このとき、ランダムに並べ替える前の状態でテクスチャ座標を算出する。算出したテクスチャ座標は、ピース配置記憶テーブル77のテクスチャ座標データ記憶フィールドに記憶される。
【0120】
ステップS704にて、情報処理部31は、変数NがMと等しいか否かを判定する。N(変数)=M(パズルの分割数、ピース数)であると(ステップS704にてYES)、処理はステップS705へ移される。もしそうでないと(ステップS704にてNO)、この処理はステップS708へ移される。
【0121】
ステップS705にて、情報処理部31は、ピース配置記憶テーブル77の保持配列データ記憶フィールドに保持された1次元配列データに基づいて、テクスチャ座標を入れ替える。ここで、情報処理部31は、入れ替えたテクスチャ座標に基づいて、各パズルピースのポリゴンにテクスチャを貼り付けてパズルピース画像を生成する。ステップS706にて、情報処理部31は、パズルピース画像と、カメラ画像(パズル領域の外側の画像)とを合成する。ステップS707にて、情報処理部31は、合成画像を上側LCD22へ表示する。その後、この処理は終了する(メインルーチンへ戻る)。
【0122】
ステップS708にて、情報処理部31は、変数Nに1を加算する。その後、この処理はステップS703へ移されて、全てのパズルピースについてテクスチャ座標を算出するまで、S703の処理を繰り返す。
【0123】
以上のような構造及びフローチャートに基づく、本実施形態に係るゲーム装置10の動作について、図14から図16の概念図、図17及び図18の画面表示例を参照して説明する。なお、上述した図11から図13に示すプログラムが、フレーム時間(サイクルタイム)で周期的に動作することにより、以下に説明するように、ゲーム装置10が動作する。
【0124】
(パズル領域の設定)
ユーザが、外側撮像部23を選択して、平面表示モードを選択して、上述したプログラムが実行されるように設定する。ユーザが、例えば、樹木と時計台と太陽と雲と家とを含む範囲を外側撮像部23で撮影している状態で、リセット用に割り当てられたボタンが操作されると、撮像画像の中から上側LCD22に表示されている撮像領域よりも小さいパズル領域が設定される(ステップS10)。パズル領域における分割数Mが設定され(ここではM=9)、パズルピースの1次元配列データが生成される(ステップS20、S30)。
【0125】
(ゲーム装置を傾けた場合に表示される画像)
このように、パズル領域が設定された状態で、ユーザがゲーム装置10を左右に傾けた場合に上側LCD22に表示される画像について、図14を用いて説明する。なお、ユーザがゲーム装置10を上下に傾けた場合は、図14を90度回転させた図で説明できるので、ここでは説明しない。この図14から図18においては、発明の理解のために、強調して表わされている部分を含む場合がある。
【0126】
図14(a)は、ステップS10にてパズル領域を設定したときの、仮想カメラと、パズルピースに対応するポリゴンと、上側LCD22における表示画像との相対的な位置関係を示す。
【0127】
図14(a)に示すように、上側LCD22に表示されている外側撮像部23の撮像範囲よりも狭いパズル領域(所定領域)が9個のパズルピース(小領域)に分割される。この図14(a)に示す状態から、ゲーム装置10の外側撮像部23を左方向に向けると(ゲーム装置10の構造上、ゲーム装置10を左方向に向けることに等しい)、図14(b)に示す状態になる。このとき、外側撮像部23により撮像された画像を示すカメラ撮像データが取得されて(ステップS50)、このカメラ撮像データに基づき、図14(a)の状態からのカメラの傾き角が算出され(ステップS601)、仮想カメラの左右傾き角Aが決定される(ステップS602)。
【0128】
外側撮像部23により撮像された画像を示すカメラ撮像データがテクスチャ用VRAMへ転送されて(ステップS701)、9個のパズルピースのテクスチャ座標が算出される(ステップS703)。具体的には、パズルピースに対応するポリゴンの各頂点の座標をスクリーン平面に投影することによって、パズルピースの各頂点に対するテクスチャ座標が得られる。1次元配列データに基づいてテクスチャ座標が入れ替えられて(ステップS705)、パズルピース画像とカメラ画像(パズル領域の外側)とが合成されて(ステップS706)、合成画像が上側LCD23に表示される(ステップS707)。
【0129】
このように、図14(a)で示す状態から図14(b)に示す状態に、ユーザがゲーム装置10を左方向に向けると、外側撮像部23の撮像方向が左方向に向けられる。仮想カメラの傾きに基づいて9個のパズルピースのテクスチャ座標が算出される。図14(b)に示すように、図14(a)では長方形のパズル領域が、右側にずれて表示されるとともに、右側のパズルピースが大きく表示される。これは、外側撮像部23の視野内の左に存在する対象物よりも右に存在する対象物とゲーム装置10との距離が相対的に短くなったためであり、パズル領域は、外側撮像部23が向けられた方向の逆方向に移動して表示されたり、逆方向が大きく表示されたりする。この場合には、上側LCD22の表示範囲外にパズル領域の一部が表示されることになり、上側LCD22には、パズル領域の一部が表示されない。
【0130】
図14(b)に示す状態から、ユーザがカメラ装置10をさらに左方向に傾けると、図14(c)に示す状態になる。パズル領域は、外側撮像部23が向けられた方向の逆方向にさらに移動して表示されたり、逆方向がさらに大きく表示されたりする。ただし、この場合には、上側LCD22の表示範囲外にパズル領域が表示されることになり、上側LCD22には、パズル領域の一部しか表示されない。
【0131】
(ゲーム装置を傾けた場合に表示される選択マーク)
本実施形態に係るゲーム装置10においては、パズルピースを選択するためにゲーム装置10を傾けると、外側撮像部23による撮像方向が傾く。パズル領域が設定された状態で、ユーザがパズルピースを選択するためにゲーム装置10を左右に傾けた場合に、上側LCD22に表示される選択カーソル(十字マーク)について、図15を用いて説明する。なお、ユーザがゲーム装置10を上下に傾けた場合は、図14と同じように、図15を90度回転させた図で説明できるので、ここでは説明しない。分割数Mは異なるものの(図14はM=9、図15はM=25)、図15(a)は図14(a)に、図15(b)は図14(b)に、図15(c)は図14(c)に、それぞれ対応する。
【0132】
図15(a)に示す状態から、ゲーム装置10を左方向に向けると、図15(b)に示す状態になる。パズルピースを選択するための選択カーソルは、ゲーム装置10を傾けていない図15(a)の状態では、上側LCD22のほぼ中央に表示される。ゲーム装置10を傾けても、上側LCD22のほぼ中央に選択カーソルが表示されるとすると、図15(b)の選択カーソル(白塗り十字マーク)の位置に表示され、左から2列目のパズルピースを選択する。ところが、本実施形態に係るゲーム装置10においては、中央部よりも端部のパズルピースが選択しやすいように設定されている。このため、図15(b)に示す選択カーソル(白塗り十字マーク)の位置よりもさらに外側の選択カーソル(黒塗り十字マーク)の位置に選択カーソルが表示され、左端のパズルピースを選択することができる。すなわち、ゲーム装置10を少し傾けただけで、外側のパズルピースを選択することができる。
【0133】
図15(b)に示す状態から、ユーザがカメラ装置10をさらに左方向に傾けると、図15(c)に示す状態になる。パズルピースを選択するための選択カーソルは、ゲーム装置10を傾けていない図15(a)又はゲーム装置10を傾けた図15(b)の状態では、上側LCD22のほぼ中央に表示される。ゲーム装置10をさらに大きく傾けても、上側LCD22のほぼ中央に選択カーソルが表示されるとすると、図15(c)の選択カーソル(白塗り十字マーク)の位置に表示され、選択できるパズルピースは存在しない。ところが、本実施形態に係るゲーム装置10においては、必ず1個のパズルピースが選択できるように設定されている。このため、図15(c)に示す選択カーソル(白塗り十字マーク)の位置ではなく、左端のパズルピースを選択している状態で選択カーソル(黒塗り十字マーク)が表示され、左端のパズルピースを選択することができる。すなわち、パズルピースが上側LCD22に表示されている限りにおいて、必ず1個のパズルピース(大きく傾けると最も外側のパズルピース)を選択することができる。
【0134】
このように、中央部よりも端部のパズルピースが選択しやすいように設定されていたり、必ず1個のパズルピースが選択できるように設定されていたりする。このような本実施形態に係るゲーム装置10の動作を、図16を参照して、さらに詳しく説明する。図16におけるパズルピース数Mは、図15のパズルピース数Mと同じく、25である。
【0135】
(パズルピースの選択動作)
ユーザがパズルピースを選択するためにゲーム装置10を傾けると、カメラの傾き角が算出され(ステップS601)、仮想カメラの左右傾き角A及び上下傾き角Bが決定される(ステップS602)。左右最大傾き角AAに対する左右傾き角Aの比率C(=A/AA)が算出され、上下最大傾き角BBに対する上下傾き角Bの比率D(=B/BB)が算出される(ステップS603、ステップS604)。このように算出された比率C及び比率Dを用いて、M個のパズルピースの中から1個のパズルピースが選択される(ステップS605)。
【0136】
図16に示すように、横5列の場合、例えば、左右最大傾き角AAを30度に設定して、比率C=0.2及び0.6にしきい値を設定する。なお、ユーザがゲーム装置10を上下に傾けた場合は、図16を90度回転させた図で説明できるので、ここでは説明しない。この図16に示すように、比率Cの最大値は1であるので、ゲーム装置10を、0度から6度(しきい値0.2)までの間で傾けると中央のパズルピースが選択され、6度から18度(しきい値0.6)までの間で傾けると中央から1つ外側のパズルピースが選択され、18度より大きく傾けると表示されている最も外側のパズルピースが選択される。
【0137】
なお、端のパズルピースへいくにしたがってしきい値の間隔を大きくするようにしてもよい。例えば、比率C=0.1及び0.4にしきい値を設定する。この場合、このゲーム装置10においては、少し傾けただけでも、より端側のパズルピースを選択できるとともに、必ず1個のパズルピースを選択することができる。このため、パズルピースの選択操作を容易に行うことができる。
【0138】
(ゲームの進行動作)
以上のような選択動作により、ユーザにより2個のパズルピースが選択されて、選択されたパズルピースが入れ替えられてゲームが進行する。このゲームの進行動作を、図17及び図18を参照して、以下に説明する。なお、図17はゲームの開始から1回目のパズルピースの入れ替えまでを、図18はパズルピースの最後の入れ替えからゲーム終了までを示す。
【0139】
図17Aに示すように、樹木と時計台と太陽と雲と家とを含む範囲を外側撮像部23で撮影している状態でゲームが開始されて、撮像画像の中から切り出すパズル領域が設定される(ステップS10)。ステージに応じてパズル領域における分割数Mが9に設定される。このとき、図17Bに示すように、撮像画像は9個のパズルピースに分解されることになる。なお、上側LCD22にこの図17Bのように表示されるか否かは限定されない。表示されない場合には、図17Aに示す状態から図17Cに示す状態になる。ここで、このときの1次元配列データは、「123456789」である。
【0140】
パズルピースがランダムに配置された、1次元配列データが生成される(ステップS30)。このときの1次元配列データは、「769548321」とする。この1次元配列データに基づいて、算出されていたテクスチャ座標が入れ替えられて(ステップS705)、上側LCD22に表示される。このときの上側LCD22の表示例を図17Cに示す。なお、図17Aから図17Cまでは、ゲーム装置10の傾きに変化はない(又はほぼ傾いていない)とする。
【0141】
パズルゲームを始めたユーザは、まず、真ん中(中段中央)のパズルピース(ピース位置が「5」)と、中段左のパズルピース(ピース位置が「4」)とを入れ替えるとする。これら2個のパズルピースを入れ替えると、ピース位置が「4」のパズルピースを正しく配置できるとともに、ピース位置が「5」のパズルピースを正しく配置できる。このため、ユーザはまずピース位置が「5」のパズルピースを選択する。図17Dに示すように、ゲーム装置10を傾けないと、中段中央のパズルピースに選択カーソルが重畳されて表示される(分割数は異なるが図15(a)参照)。この状態でユーザが選択ボタンを押下する(ステップS607にてYES)。このときには、選択確定ピースがないので(ステップS608にてNO)、中段中央のパズルピースが選択確定ピースとして保持される。このとき、図17Eに示すように、中段中央のパズルピースの枠が太く表示されたり色が変更されて表示されたり、中段中央のパズルピースが浮き出るように表示されたりする(ステップS612)。
【0142】
次に、ユーザはピース位置が「4」のパズルピースを選択する。図17Eに示す状態から、ゲーム装置10を左方向に傾けると、中段中央のパズルピースが選択確定の状態で、図17Fに示すように中段左のパズルピースに選択カーソルが重畳されて表示される(分割数は異なるが図15(b)参照)。この状態でユーザが選択ボタンを押下する(ステップS607にてYES)。このときには、選択確定ピースがあるので(ステップS608にてYES)、中段中央のパズルピースと中段左のパズルピースとが入れ替えて表示されるように、1次元配列データが更新される。このとき、図17Gに示すように、中段中央のパズルピースと中段左のパズルピースとが入れ替えられる(ステップS705)。
【0143】
この結果、図17Hに示すように、ピース位置が「4」及びピース位置が「5」のパズルピースが正しい位置に配置される。なお、このときの1次元配列データは、「769458321」である。
【0144】
このようにしてゲームが進行して、図18Aに示す状態になったとする。この図18Aに示す状態は、上段中央のパズルピース(ピース位置が「2」)と、下段中央のパズルピース(ピース位置が「8」)とを入れ替えると、パズルゲームが成功する状態である。すなわち、これら2個のパズルピースを入れ替えると、全てのパズルピースを正しい位置に配置できる。
【0145】
このため、ユーザはまずピース位置が「2」のパズルピースを選択する。図18Bに示すように、ゲーム装置10を上方向に傾けると、上段中央のパズルピースに選択カーソルが重畳されて表示される。この状態でユーザが選択ボタンを押下する(ステップS607にてYES)。このときには、選択確定ピースがないので(ステップS608にてNO)、上段中央のパズルピースが選択確定ピースとして保持される。このとき、図18Cに示すように、上段中央のパズルピースの枠が太く表示されたり色が変更されて表示されたり、上段中央のパズルピースが浮き出るように表示されたりする(ステップS612)。
【0146】
次に、ユーザはピース位置が「8」のパズルピースを選択する。ゲーム装置10を傾けていない図18Dに示す状態から、ゲーム装置10を下方向に傾けると、図18Eに示すように下段中央のパズルピースに選択カーソルが重畳されて表示される。この状態でユーザが選択ボタンを押下する(ステップS607にてYES)。このときには、選択確定ピースがあるので(ステップS608にてYES)、上段中央のパズルピースと下段中央のパズルピースとが入れ替えて表示されるように、1次元配列データが更新される。このとき、図18Fに示すように、上段中央のパズルピースと下段中央のパズルピースとが入れ替えられる(ステップS705)。
【0147】
この結果、図18Gに示すように、ピース位置が「2」及びピース位置が「8」のパズルピースが正しい位置に配置される。なお、このときの1次元配列データは、「123456789」である。すなわち、全てのパズルピースの位置が正しいと判定されて(ステップS610にてYES)、ステージが更新される(ステップS611)。このときの上側LCD22の表示例を図18Hに示す。この図18Hは、図17Bと同じである。
【0148】
以上のように、本実施形態に係るゲーム装置10によると、外側撮像部23で撮像した風景(背景)を用いて、パズルゲームを実現することができる。この場合において、ユーザがパズルピースを選択するためにゲーム装置10を傾けると(左右方向及び/又は上下方向)、パズルピースに表示される画像が変化されるとともに、十字カーソルが移動して少なくとも1個のパズルピースが選択できる。このため、単なる動画ではなく、リアルタイムで撮像された動画を用いたパズルゲームであって、ゲーム装置10を傾けてパズルピースを選択することのできるパズルゲームを実現することができる。
【0149】
(変形例)
上記したステップS601においては、1フレーム前のカメラ撮像データと現在のフレームのカメラ撮像データとの差分に基づいて外側撮像部23の移動量を算出して、それに基づいて傾き角を算出していたが、本発明はこれに限定されない。例えば、1フレーム前のカメラ撮像データと現在のフレームのカメラ撮像データとの差分に基づいて(移動量を求めることなく)外側撮像部23の傾き角を直接算出するようにしても構わない。また、加速度センサ39による検出結果である加速度データ74又はジャイロセンサによる検出結果を用いて外側撮像部23の傾き角を検出するようにしても構わない。
【0150】
また、上記したステップS605においては、比率C及び比率Dを用いて、M個のパズルピースの中から1個のパズルピースを選択するようにしていたが、本発明はこれに限定されない。例えば、外側撮像部23の傾きに基づいて、仮想空間における視線ベクトルを算出して、その視線ベクトルと交点を有するパズルピースを選択するようにしても構わない。さらに、この場合において、交点が存在しない場合には、最も近いパズルピースを選択するようにしても構わない。さらに、この場合において、上側LCD22の中央部に表示されたパズルピースよりも周辺部に表示されたパズルピースを容易に選択するように設定することが好ましい。このとき、視線ベクトルの角度を実際の角度の2倍の角度に変更して、交点を求めるようにすることにより、周辺部に表示されたパズルピースを容易に選択することができる。
【0151】
また、上記したステップS703においては、正しい配置の9個のパズルピースのテクスチャ座標データを算出してから、1次元配列データに従ってテクスチャ座標データを入れ替えることにより、ランダムなパズルピースの配置を表示するようにしていたが、本発明はこれに限定されない。例えば、テクスチャ座標データを算出する処理とテクスチャ座標データを入れ替る処理とを逆にしても構わない。
【0152】
また、上記したステップS20においては、ステージに応じて、パズル領域の分割数M(パズルピースの数)を設定していたが、例えば、パズルゲームにおけるステージではなく、ゲームの難易度に応じて、パズル領域の分割数Mを設定しておくようにしても構わない。
【0153】
また、予め定められた時間内に、全てのパズルピースを正しい位置に配置できない場合には、パズルゲームを終了させるようにしても構わない。
【0154】
また、本発明は、本実施形態に係るゲーム装置に限らず、任意の携帯型電子機器(例えば、PDA(Personal Digital Assistant)又は携帯電話)、パーソナルコンピュータ、カメラ等に適用することが可能である。
【0155】
また、本実施形態に係るゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによるパズルゲーム処理が行われた。これに限定されず、パズルゲーム処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。
【0156】
また、上述した処理を1台のゲーム装置(情報処理装置)だけで処理するのではなく、互いに通信可能に接続された複数の情報処理装置で分担して処理するようにしても構わない。
【符号の説明】
【0157】
10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
311 CPU
312 GPU
32 メインメモリ

【特許請求の範囲】
【請求項1】
撮像手段と表示手段とを備えた携帯型ゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段、
前記取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段、
前記画像分割手段により分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置手段、
前記配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段、
前記逐次取得された撮像画像データを用いて、前記保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段、
前記画像更新手段により更新された画像を前記表示手段に表示させる表示制御手段、
前記表示手段に表示された画像を見たユーザの操作により、前記保持手段に保持される小領域の配置状態を変更する変更手段、
前記変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段、及び、
前記判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段として機能させるゲームプログラム。
【請求項2】
前記ゲームはパズルゲームであって、
前記ゲーム処理手段は、小領域であるパズルピースの配置状態が、前記配置手段により配置される前の状態に戻ると、前記パズルゲームを成功させる処理を実行し、
前記保持手段は、前記パズルゲームが成功されるまで、前記ユーザの操作による前記パズルピースの配置状態の変更を反映させた配列データを保持することにより、複数のパズルピースの配置状態を保持する、請求項1に記載のゲームプログラム。
【請求項3】
前記配列データは、1次元配列データである、請求項2に記載のゲームプログラム。
【請求項4】
前記撮像手段による撮像方向の変化を検出する検出手段、及び
前記検出手段により検出された撮像方向の変化に基づいて、前記所定領域の表示態様を変化させる領域変化手段として前記コンピュータをさらに機能させる、請求項1〜請求項3のいずれかに記載のゲームプログラム。
【請求項5】
ユーザの操作に応じて、前記所定領域が前記領域変化手段によって表示態様が変化される前の状態となるように当該所定領域を設定する所定領域設定手段として前記コンピュータをさらに機能させる、請求項4に記載のゲームプログラム。
【請求項6】
前記領域変化手段は、前記撮像方向が変化する方向の逆方向に移動して表示されるように、前記所定領域の表示態様を変化させる、請求項4に記載のゲームプログラム。
【請求項7】
前記領域変化手段は、前記撮像方向が変化する方向の逆方向が大きく表示されるように、前記所定領域の表示態様を変化させる、請求項4に記載のゲームプログラム。
【請求項8】
前記画像更新手段は、前記取得手段によって取得された最新の撮像画像における小領域の画像を、前記複数の小領域に対応する仮想3次元空間内の複数のポリゴンのそれぞれにテクスチャとして貼り付けて、当該ポリゴンを前記仮想カメラで撮影することにより、前記小領域に表示される画像をそれぞれ更新し、
前記領域変化手段は、前記仮想カメラの位置及び姿勢の少なくとも一方を、前記検出手段により検出された撮像方向の変化に基づいて変化させることにより、前記撮像画像における前記所定領域の範囲を変化させる、請求項4〜請求項7のいずれかに記載のゲームプログラム。
【請求項9】
前記画像更新手段は、前記取得手段によって取得された最新の撮像画像における小領域の画像を、前記複数の小領域に対応する仮想3次元空間内の複数のポリゴンのそれぞれにテクスチャとして貼り付けて、当該ポリゴンを前記仮想カメラで撮影することにより、前記小領域に表示される画像をそれぞれ更新する、請求項1〜請求項3のいずれかに記載のゲームプログラム。
【請求項10】
前記検出手段により検出された撮像方向の変化に対応して、前記表示手段により表示された複数の小領域のいずれかを選択する選択手段として前記コンピュータをさらに機能させる、請求項4〜請求項9のいずれかに記載のゲームプログラム。
【請求項11】
前記選択手段は、前記表示手段の中央部に表示された小領域よりも周辺部に表示された小領域を容易に選択可能な条件下で、前記複数の小領域のいずれかを選択する、請求項10に記載のゲームプログラム。
【請求項12】
前記取得手段により逐次取得された前記所定領域外の画像と、前記画像更新手段により更新された所定領域内の画像とを合成した合成画像を生成する合成画像生成手段として前記コンピュータをさらに機能させ、
前記画像分割手段は、前記撮像画像よりも小さい所定領域内の画像を複数の小領域に分割し、
前記表示制御手段は、前記合成画像生成手段により合成された合成画像を前記表示手段に表示させる、請求項1〜請求項11のいずれかに記載のゲームプログラム。
【請求項13】
ユーザの習熟度に応じて、前記小領域の数を設定する小領域数設定手段として前記コンピュータをさらに機能させる、請求項1〜請求項12のいずれかに記載のゲームプログラム。
【請求項14】
撮像画像を撮像する撮像手段と、
撮像画像を3次元仮想空間に表示する表示手段と、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、
前記取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、
前記画像分割手段により分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置手段と、
前記配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、
前記逐次取得された撮像画像データを用いて、前記保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、
前記画像更新手段により更新された画像を前記表示手段に表示させる表示制御手段と、
前記表示手段に表示された画像を見たユーザの操作により、前記保持手段に保持される小領域の配置状態を変更する変更手段と、
前記変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、
前記判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む、携帯型ゲーム装置。
【請求項15】
撮像画像を撮像する撮像手段と、
撮像画像を3次元仮想空間に表示する表示手段と、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、
前記取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、
前記画像分割手段により分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置手段と、
前記配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、
前記逐次取得された撮像画像データを用いて、前記保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、
前記画像更新手段により更新された画像を前記表示手段に表示させる表示制御手段と、
前記表示手段に表示された画像を見たユーザの操作により、前記保持手段に保持される小領域の配置状態を変更する変更手段と、
前記変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、
前記判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む、ゲームシステム。
【請求項16】
撮像画像を撮像する撮像ステップと、
撮像画像を3次元仮想空間に表示する表示ステップと、
前記撮像ステップにて撮像された撮像画像を示す撮像画像データを逐次取得する取得ステップと、
前記取得ステップにて取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割ステップと、
前記画像分割ステップにて分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置ステップと、
前記配置ステップによる配置状態を初期値として、複数の小領域の配置状態を保持する保持ステップと、
前記逐次取得された撮像画像データを用いて、前記保持ステップにて配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新ステップと、
前記画像更新ステップにて更新された画像を前記表示ステップにて表示させる表示制御ステップと、
前記表示ステップにて表示された画像を見たユーザの操作により、前記保持ステップにて保持される小領域の配置状態を変更する変更ステップと、
前記変更ステップにて変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定ステップと、
前記判定ステップによる判定結果に応じて所定のゲーム処理を行なうゲーム処理ステップとを含む、ゲーム方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図17C】
image rotate

【図17D】
image rotate

【図17E】
image rotate

【図17F】
image rotate

【図17G】
image rotate

【図17H】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図18C】
image rotate

【図18D】
image rotate

【図18E】
image rotate

【図18F】
image rotate

【図18G】
image rotate

【図18H】
image rotate