ゲームプログラム、ゲーム装置、およびゲーム制御方法
【構成】 ゲーム装置10はCPU(50)を含み、CPU(50)は通信処理を実行することにより、他のゲーム装置10からキャラクタ情報データを取得する。また、CPU50は、カメラ34によってQRコードを撮像した撮像データからキャラクタ情報データを算出し、取得する。CPU(50)は、キャラクタ情報データに基づいてキャラクタを生成し、生成したキャラクタを第2LCD18に表示する。
【効果】 QRコードからもキャラクタを取得するので、通信できない環境であっても、新規なキャラクタを取得することができる。
【効果】 QRコードからもキャラクタを取得するので、通信できない環境であっても、新規なキャラクタを取得することができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラム、ゲーム装置およびゲーム制御方法に関し、特にたとえば、キャラクタを生成する、ゲームプログラム、ゲーム装置およびゲーム制御方法に関する。
【背景技術】
【0002】
この種の背景技術の一例が、特許文献1に開示されている。この特許文献1のゲームシステムでは、複数のゲーム装置間でキャラクタデータを転送し、各ゲーム装置では受信したキャラクタデータを使用して、新規のキャラクタを取得していた。
【特許文献1】特開2008−125678号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、特許文献1のゲームシステムでは、通信によりキャラクタデータを転送するため、ゲーム装置が通信を行う環境に置かれていることが必須の条件となる。このため、通信を行う環境を整えることができないユーザは、新規のキャラクタを取得する手段がなかった。
【0004】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、ゲーム装置およびゲーム制御方法を提供することである。
【0005】
また、この発明の他の目的は、より多くのユーザが新規のキャラクタを取得できる、ゲームプログラム、ゲーム装置およびゲーム制御方法を提供することである。
【課題を解決するための手段】
【0006】
第1の発明は、通信手段、撮像手段および表示手段を備えるゲーム装置のコンピュータで実行されるゲームプログラムである。このゲームプログラムは、コンピュータを、キャラクタデータ受信手段、コードデータ取得手段、キャラクタデータ算出手段、第1キャラクタ生成手段、およびゲーム処理手段として機能させる。キャラクタデータ受信手段は、コンピュータに接続可能な所定のコンピュータから、通信手段を経由してキャラクタデータを受信する。コードデータ取得手段は、撮像手段によって所定の画像を撮像することによりコードデータを取得する。キャラクタデータ算出手段は、コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出する。第1キャラクタ生成手段は、キャラクタデータ受信手段によって受信されたキャラクタデータまたはキャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成する。そして、ゲーム処理手段は、第1キャラクタ生成手段によって生成されたキャラクタを表示手段に表示してゲーム処理を実行する。
【0007】
第1の発明によれば、撮像手段によって所定の画像を撮像することにより取得されたコードデータからキャラクタを取得できるので、つまり通信しなくてもキャラクタを取得できるので、より多くのユーザないしプレイヤに新規なキャラクタを取得させることができる。
【0008】
第2の発明は、第1の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタデータ記憶手段としてさらに機能させる。キャラクタデータ記憶手段は、キャラクタデータ受信手段によって受信されたキャラクタデータまたはキャラクタデータ算出手段によって算出されたキャラクタデータを、キャラクタデータ記憶領域に記憶する。第1キャラクタ生成手段は、キャラクタデータ記憶手段によってキャラクタデータ記憶領域に記憶された所定のキャラクタデータに対応するキャラクタを生成する。
【0009】
第2の発明によれば、受信したり算出したりしたキャラクタデータを記憶しておくので、複数のキャラクタデータを記憶しておき、それぞれに対応するキャラクタを生成することができる。
【0010】
第3の発明は、第2の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタ選択手段、およびキャラクタデータ送信手段としてさらに機能させる。キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択する。キャラクタデータ送信手段は、通信手段を用いて、所定のコンピュータに、キャラクタ選択手段によって選択された所定のキャラクタデータを送信する。
【0011】
第3の発明によれば、キャラクタデータを所定のコンピュータに送信することができる。
【0012】
第4の発明は、第2または第3の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタ選択手段、コードデータ算出手段、およびコードデータ出力手段としてさらに機能させる。キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択する。コードデータ算出手段は、キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出する。そして、コードデータ出力手段は、コードデータ算出手段によって算出されたコードデータを、表示手段に出力する。したがって、コードデータに対応する所定の画像が表示手段に表示される。
【0013】
第4の発明によれば、コードデータに対応する所定の画像が表示されるので、他のゲーム装置に所定の画像を撮像させることにより、当該他のゲーム装置にキャラクタを提供することができる。
【0014】
第5の発明は、第2ないし第4の発明に従属し、ゲームプログラムは、コンピュータを、第2キャラクタ生成手段およびキャラクタ表示手段としてさらに機能させる。第2キャラクタ生成手段は、キャラクタ記憶領域に記憶された少なくとも1つのキャラクタデータに対応するキャラクタを生成する。キャラクタ表示手段は、第2キャラクタ生成手段によって生成されたキャラクタを表示手段に表示する。したがって、キャラクタ選択手段は、キャラクタ表示手段によって表示手段に表示されたキャラクタから所望のキャラクタをユーザに選択させ、当該ユーザに選択させた当該所望のキャラクタに対応するキャラクタデータを所定のキャラクタデータとして選択する。
【0015】
第5の発明によれば、キャラクタを生成および表示してユーザに選択させるので、簡単に選択することできる。
【0016】
第6の発明は、第4の発明に従属し、コードデータ算出手段は、キャラクタ選択手段によって選択された所定のキャラクタデータを暗号化する暗号化手段を含む。また、コードデータ算出手段は、暗号化手段によって暗号化された所定のキャラクタデータから、コードデータを算出する。
【0017】
第6の発明によれば、所定のキャラクタデータを暗号化するので、意図しない電子機器やコンピュータによってキャラクタが生成されたり、表示されたりすることを防止することができる。
【0018】
第7の発明は、第1の発明に従属し、キャラクタデータ算出手段は、暗号化されたキャラクタデータを復号する復号手段を含む。キャラクタデータ算出手段は、コードデータ取得手段によって取得されたコードデータから、暗号化されたキャラクタデータを算出し、当該暗号化されたキャラクタデータを復号手段によって復号した後のキャラクタデータを算出する。
【0019】
第7の発明によれば、暗号化されたキャラクタデータを復号するので、キャラクを生成したり、表示したりすることができる。
【0020】
第8の発明は、第2の発明に従属し、コンピュータには、所定の外部記憶媒体を接続可能である。たとえば、SDカードのような汎用のメモリカードが装着される。ゲームプログラムは、コンピュータを、キャラクタデータ読出手段としてさらに機能させる。キャラクタデータ読出手段は、所定の外部記憶媒体からキャラクタデータを読み出す。キャラクタデータ記憶手段は、キャラクタデータ読出手段によって読み出されたキャラクタデータをさらに記憶する。
【0021】
第8の発明によれば、所定の外部記憶媒体からキャラクタデータを読み出して、これを記憶するので、かかる場合にも、通信によらずに、キャラクタを取得することができる。
【0022】
第9の発明は、第1の発明に従属し、キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含む。また、コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備える。キャラクタ生成手段は、所定のキャラクタデータに含まれる各パーツパラメータに対応するパーツ画像をパーツ画像記憶手段から読み出し、読み出したパーツ画像を用いてキャラクタを生成する。
【0023】
第9の発明によれば、キャラクタデータはパーツパラメータを含み、パーツ画像についてはコンピュータに記憶しておくので、送受信するキャラクタデータのデータ量を少なくすることができる。つまり、通信負荷を軽減できる。
【0024】
第10の発明は、第1の発明に従属し、キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含む。また、コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備える。キャラクタ生成手段は、所定のキャラクタデータに含まれるパーツパラメータに対応してパーツ画像をパーツ画像記憶手段から読み出して、読み出したパーツ画像を組み合わせることにより、キャラクタを生成する。キャラクタデータ記憶手段は、キャラクタ生成手段によって生成されたキャラクタに対応するキャラクタデータもキャラクタ記憶領域に記憶する。
【0025】
第10の発明においても、第9の発明と同様に、通信負荷を軽減することができる。また、生成したキャラクタを記憶するので、一旦生成したキャラクタについては、次回以降生成処理を実行する必要がない。つまり、生成による負荷を軽減することもできる。
【0026】
第11の発明は、第2の発明に従属し、ゲームプログラムは、コンピュータを、さらにキャラクタ作成手段として機能させる。キャラクタ作成手段は、ユーザの操作に応じてキャラクタを作成する。キャラクタデータ記憶手段は、キャラクタ作成手段によって作成されたキャラクタに対応するキャラクタデータをキャラクタデータ記憶領域にさらに記憶する。
【0027】
第11の発明によれば、ユーザがキャラクタを作成できるので、作成することの楽しみもある。
【0028】
第12の発明は、第11の発明に従属し、キャラクタ作成手段は、予め用意されたパーツを用いてキャラクタを作成する。
【0029】
第12の発明によれば、予め用意されたパーツを用いてキャラクタを作成するので、キャラクタの作成が簡単である。
【0030】
第13の発明は、第11または第12の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタデータ送信手段としてさらに機能させる。キャラクタデータ送信手段は、通信手段を用いて、キャラクタ作成手段によって作成されたキャラクタデータを送信する。
【0031】
第13の発明によれば、作成したキャラクタを他人に渡すことができる。したがって、他人が作成したキャラクタを受信することにより、新しいキャラクタを取得することもできる。
【0032】
第14の発明は、第11または第12の発明に従属し、ゲームプログラムは、コンピュータを、コードデータ生成手段およびコードデータ表示手段としてさらに機能させる。コードデータ生成手段は、キャラクタ作成手段によって作成されたキャラクタデータからコードデータを生成する。コードデータ表示手段は、コードデータ生成手段によって生成されたコードデータを表示手段に表示する。
【0033】
第14の発明によれば、作成したキャラクタを通信によらずに、他人に提供することが可能である。また、他人が作成したキャラクタを通信によらずに、取得することも可能である。これによって、新しいキャラクタを取得することもできる。
【0034】
第15の発明は、第2の発明に従属し、キャラクタデータ記憶手段は、キャラクタデータ受信手段によってキャラクタデータを受信した際に、当該キャラクタデータをキャラクタ記憶領域とは異なるキャラクタ一時記憶領域に記憶する。つまり、たとえば特定されていないコンピュータから送信されたキャラクタデータを受信した場合には、当該キャラクタデータをキャラクタ一時記憶領域に記憶することにより、いきなりキャラクタ記憶領域に記憶しないようにしてある。
【0035】
第15の発明によれば、特定されたコンピュータから取得したキャラクタデータと、特定されていないコンピュータから取得したキャラクタデータとを区別して記憶することができる。
【0036】
第16の発明は、第15の発明に従属し、ゲームプログラムは、コンピュータを、一時キャラクタ選択手段およびキャラクタデータ移動手段としてさらに機能させる。一時キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ一時記憶領域に記憶されているキャラクタデータのうち、所定のキャラクタデータを選択する。キャラクタデータ移動手段は、一時キャラクタ選択手段によって選択された所定のキャラクタデータを、キャラクタ一時記憶領域からキャラクタ記憶領域へ移動させる。つまり、たとえば特定されていないコンピュータから取得したキャラクタデータは、ユーザの操作に従ってキャラクタ記憶領域に移動される。また、たとえば、移動しないキャラクタデータは削除される。
【0037】
第16の発明によれば、特定されていないコンピュータから取得したキャラクタデータについては、選択的にキャラクタ記憶領域に記憶されるので、ユーザが必要と考えるものだけを移動し、不要なものを削除することができる。
【0038】
第17の発明は、第16の発明に従属し、一時キャラクタ選択手段は、キャラクタ一時生成手段およびキャラクタ一時表示手段を含む。キャラクタ一時生成手段は、キャラクタデータ記憶手段によってキャラクタ一時記憶領域に記憶した少なくとも1つのキャラクタデータに対応するキャラクタを生成する。キャラクタ一時表示手段は、キャラクタ一時生成手段によって生成されたキャラクタを表示手段に表示する。また、一時キャラクタ選択手段は、キャラクタ一時表示手段によって表示されたキャラクタから所定のキャラクタをユーザに選択させる。
【0039】
第17の発明によれば、特定されていないコンピュータからのキャラクタデータに対応するキャラクタを生成および表示するので、ユーザはキャラクタを見て、キャラクタ記憶領域に移動させるかどうかを判断することができる。つまり、移動させるかどうかの判断や削除するかどうかの判断が簡単である。
【0040】
第18の発明は、第2の発明に従属し、ゲームプログラムは、コンピュータを、状態判定手段および複写手段としてさらに機能させる。状態判定手段は、キャラクタ選択手段によって選択された所定のキャラクタデータを送信可能な状態かどうかを判定する。たとえば、取得したキャラクタデータを他の所定のコンピュータに送信することが禁止されているかどうかが判定される。複写手段は、状態判定手段によって所定のキャラクタデータの送信可能な状態であると判定されたとき、当該所定のキャラクタデータをキャラクタ記憶領域から送信可能領域に複写する。
【0041】
第18の発明によれば、送信可能なキャラクタデータのみを送信可能に設定することができる。
【0042】
第19の発明は、第1の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタ選択手段、コードデータ算出手段、および出力手段としてさらに機能させる。キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ記憶領域に記憶したキャラクタデータのうち、所定のキャラクタデータを選択する。コードデータ算出手段は、キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出する。出力手段は、少なくとも、コードデータ算出手段によって算出されたコードデータを、たとえば表示手段やコンピュータに接続された外部記憶媒体に出力する。
【0043】
第19の発明によれば、コードデータを出力するので、他のコンピュータにキャラクタデータを提供することができる。
【0044】
第20の発明は、第19の発明に従属し、出力手段は、コードデータに対応する画像データを出力する。したがって、たとえば、ゲーム装置の表示手段に、コードデータに対応する所定の画像が表示される。
【0045】
第20の発明によれば、表示手段に表示された所定の画像を撮像させることにより、他のコンピュータにキャラクタデータを提供することができる。
【0046】
第21の発明は、第1の発明に従属し、コードデータ取得手段によって取得されたコードデータは、2次元コードデータである。たとえば、2次元コードデータに対応する所定の画像は、QRコードである。キャラクタデータ算出手段は、コードデータ取得手段によって取得された2次元コードデータから、キャラクタデータを算出する。
【0047】
第21の発明によれば、2次元コードデータを用いるので、それに対応する所定の画像を比較的小さくすることができる。したがって、雑誌のみならず、比較的小さなカードにもその画像を印刷することができる。したがって、印刷物を入手したユーザは、新規のキャラクタを取得することができる。
【0048】
第22の発明は、通信手段、撮像手段および表示手段を備えるゲーム装置であって、接続可能な所定のコンピュータから、通信手段を経由してキャラクタデータを受信するキャラクタデータ受信手段、撮像手段によって所定の画像を撮像することによりコードデータを取得するコードデータ取得手段、コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出するキャラクタデータ算出手段、キャラクタデータ受信手段によって受信されたキャラクタデータまたはキャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成するキャラクタ生成手段、およびキャラクタ生成手段によって生成されたキャラクタを表示手段に表示してゲーム処理を実行するゲーム処理手段を備える、ゲーム装置である。
【0049】
第23の発明は、通信手段、撮像手段および表示手段を備えるゲーム装置のゲーム制御方法であって、(a)接続可能な所定のコンピュータから、通信手段を経由してキャラクタデータを受信し、(b)撮像手段によって所定の画像を撮像することによりコードデータを取得し、(c)ステップ(b)によって取得されたコードデータから、キャラクタデータを算出し、(d)ステップ(a)によって受信されたキャラクタデータまたはステップ(c)によって算出されたキャラクタデータに対応するキャラクタを生成し、そして(e)ステップ(d)によって生成されたキャラクタを表示手段に表示してゲーム処理を実行する、ゲーム制御方法である。
【0050】
第22の発明および第23の発明においても、第1の発明と同様に、より多くのユーザに新規のキャラクタを取得させることができる。
【発明の効果】
【0051】
この発明によれば、コードデータに対応する画像からゲームデータを取得するので、書籍やカードのような印刷物に表示された画像からもゲームデータを取得できるので、より多くのユーザが新規のキャラクタを取得することができる。
【0052】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0053】
【図1】図1はこの発明のゲーム装置の外観構成の一実施例を示す図解図である。
【図2】図2は図1に示すゲーム装置を折り畳んだ状態の上面図および左側面図を示す図解図である。
【図3】図3は図1および図2に示すゲーム装置の電気的な構成を示すブロック図である。
【図4】図4はキャラクタ情報データに対応するキャラクタ情報の例を示す図解図である。
【図5】図5は図1−図3に示すゲーム装置の第2LCDに表示される画面の例を示す図解図である。
【図6】図6はこの実施例のキャラクタを取得可能なQRコードの例およびQRコードから得られるキャラクタデータのデータ構造を示す図解図である。
【図7】図7は図3に示すメインメモリのメモリマップの例を示す図解図である。
【図8】図8は図3に示す保存用データメモリのメモリマップの例を示す図解図である。
【図9】図9は方法(1)の場合に、2つのゲーム装置間で実行されるキャラクタ送受信処理を示すフロー図である。
【図10】図10は方法(2)の場合に、2つのゲーム装置間で実行されるキャラクタ送受信処理を示すフロー図である。
【図11】図11は図3に示すCPUの登録処理を示すフロー図である。
【図12】図12は図3に示すCPUのキャラクタ取得処理(1)を示すフロー図である。
【図13】図13は図3に示すCPUのコード出力処理(1)を示すフロー図である。
【図14】図14は図3に示すCPUのコード出力処理(2)を示すフロー図である。
【図15】図15は図3に示すCPUのキャラクタ取得処理(2)を示すフロー図である。
【発明を実施するための形態】
【0054】
図1を参照して、この発明の実施例のゲーム装置10は、上側ハウジング12および下側ハウジング14を含み、上側ハウジング12と下側ハウジング14とは、開閉可能(折り畳み可能)に連結されている。図1の例では、上側ハウジング12および下側ハウジング14は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回動可能に連結されている。つまり、この実施例のゲーム装置10は、折り畳み式の携帯型のゲーム装置であり、図1には、当該ゲーム装置10を開いた状態(開状態)で示してある。ゲーム装置10は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【0055】
通常、ユーザは、開状態でゲーム装置10を使用する。また、ユーザは、ゲーム装置10を使用しない場合には閉状態で保管する。ただし、ゲーム装置10は、上記閉状態および開状態のみでなく、上側ハウジング12と下側ハウジング14とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング12を下側ハウジング14に対して任意の角度で静止させることができる。
【0056】
なお、ゲーム装置10は、後述するカメラ(32,34)を搭載しており、当該カメラ(32,34)によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
【0057】
図1に示すように、上側ハウジング12には第1LCD16が設けられ、下側ハウジング14には第2LCD18が設けられる。第1LCD16および第2LCD18は、横長形状であり、それぞれの長辺方向が上側ハウジング12および下側ハウジング14の長辺方向と一致するように配置される。たとえば、第1LCD16および第2LCD18の解像度は、256(横)×192(縦)画素(ドット)に設定される。
【0058】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。また、ゲーム装置10は、任意の解像度の表示装置を利用することができる。
【0059】
図1および図2に示すように、下側ハウジング14には、入力装置として、各操作ボタン20a−20kが設けられる。この各操作ボタン20a−20kのうち、方向入力ボタン20a、操作ボタン20b、操作ボタン20c、操作ボタン20d、操作ボタン20e、電源ボタン20f、スタートボタン20g、およびセレクトボタン20hは、下側ハウジング14の第2LCD18が設けられる側の面(内側の面)に配置される。具体的には、方向入力ボタン20aおよび電源ボタン20fは、第2LCD18の左側に配置され、操作ボタン20b−20e,20gおよび20hは、第2LCD18の右側に配置される。また、上側ハウジング12と下側ハウジング14とを折り畳んだときには、操作ボタン20a−20hはゲーム装置10の内部に収められる。
【0060】
方向入力ボタン(十字キー)20aは、ディジタルジョイスティックとして機能し、プレイヤオブジェクトの移動方向を指示したり、カーソルを移動させたりするなどに用いられる。各操作ボタン20b−20eは、プッシュボタンであり、たとえば、プレイヤオブジェクトに任意の動作をさせたり、決定やキャンセルを実行したりする等に用いられる。電源ボタン20fは、プッシュボタンであり、ゲーム装置10の主電源をオン/オフするために用いられる。スタートボタン20gは、プッシュボタンであり、ゲームを中断(ポーズ)したり、開始(再開)したりするために用いられる。セレクトボタン20hは、プッシュボタンであり、ゲームモードやメニューの選択等に用いられる。
【0061】
図1においては、操作ボタン20i−20kを省略したが、図2(A)に示すように、操作ボタン(Lボタン)20iは、下側ハウジング14の上側面の左端部に設けられ、操作ボタン(Rボタン)20jは、下側ハウジング14の上側面の右端部に設けられる。また、図2(B)に示すように、音量ボタン20kは、下側ハウジング14の左側面に設けられる。
【0062】
なお、図2(A)は、ゲーム装置10を折り畳んだ状態で、上面(上ハウジング12)側から見た図であり、図2(B)は、同じくゲーム装置10を折り畳んだ状態で、左側面から見た図である。
【0063】
Lボタン20iおよびRボタン20jは、プッシュボタンであり、操作ボタン20b−20eと同様の操作に用いたり、それらの操作ボタン20b−20eの補助的な操作に用いたりすることができる。また、この実施例では、Lボタン20iおよびRボタン20jは、撮影指示の操作(シャッター操作)を行うために用いることもできる。音量ボタン20kは、2つのプッシュボタンを用いて構成され、図示しない2つのスピーカ(右スピーカおよび左スピーカ)から出力される音の大きさを調整するために用いられる。この実施例では、音量ボタン20kには、2つの押圧部を含む操作部が設けられ、各押圧部に対応して上記のプッシュボタンが設けられる。したがって、一方の押圧部を押すと音量が大きくされ、他方の押圧部を押すと音量が小さくされる。たとえば、押圧部を押し続けると、音量が次第に大きくされたり、次第に小さくされたりする。
【0064】
図1に戻って、ゲーム装置10は、操作ボタン20a−20kとは別の入力装置として、さらにタッチパネル22を備えている。タッチパネル22は、第2LCD18の画面上を覆うように装着されている。この実施例では、タッチパネル22は、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル22は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、この実施例では、タッチパネル22として、たとえば第2LCD18の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル22の解像度と第2LCD18の解像度とが一致している必要はない。
【0065】
また、下側ハウジング14の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル22に対する操作を行うために用いられるタッチペン24を収納することができる。通常、タッチパネル22に対する入力は、タッチペン24を用いて行われるが、タッチペン24に限らずユーザの指でタッチパネル22を操作することも可能である。したがって、たとえば、タッチペン24を用いない場合には、タッチペン24の挿入口および収納部を設ける必要はない。
【0066】
また、下側ハウジング14の右側面には、メモリカード26を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード26とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード26は、たとえばSDカードであり、コネクタに着脱自在に装着される。このメモリカード26は、たとえば、ゲーム装置10によって撮像された画像を記憶(保存)したり、他の装置で生成(撮像)ないし記憶された画像をゲーム装置10に読み込んだりするために用いられる。
【0067】
さらに、下側ハウジング14の上側面には、メモリカード28を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置10とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、情報処理プログラムおよび必要なデータなどを記録した記録媒体であり、下側ハウジング14に設けられた挿入口に着脱自在に装着される。
【0068】
また、上側ハウジング12と下側ハウジング14との連結部(ヒンジ)の左端部分には、インジケータ30が設けられる。このインジケータ30は、3つのLED30a,30b,30cによって構成される。ここで、ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED30aは、無線通信が確立している場合に点灯する。第2LED30bは、ゲーム装置10の充電中に点灯する。第3LED30cは、ゲーム装置10の主電源がオンである場合に点灯する。したがって、インジケータ30(LED30a−30c)によって、ゲーム装置10の通信確立状況、充電状況、および主電源のオン/オフ状況をユーザに通知することができる。
【0069】
図示は省略するが、ヒンジの内部には、ゲーム装置10の開閉に応じて切り替えられるスイッチ(開閉スイッチ42:図3参照)が設けられる。たとえば、ゲーム装置10を開いている状態では、開閉スイッチ42はオンされる。一方、ゲーム装置10を閉じている(折り畳んでいる)状態では、開閉スイッチ42はオフされる。ただし、ゲーム装置10が開いている状態であるか閉じている状態であるかが分かればよいため、開閉スイッチ42のオンとオフとは逆であっても構わない。
【0070】
上述したように、上側ハウジング12には、第1LCD16が設けられる。この実施例では、第2LCD18を覆うように、タッチパネル22を設けているが、第1LCD16を覆うように、タッチパネル22を設けてもよい。または、第1LCD16および第2LCD18のそれぞれを覆うように、2つのタッチパネル22を設けるようにしてもよい。たとえば、第2LCD18には、各操作ボタン20a−20kやタッチパネル22の役割ないし操作方法をユーザに教えるための操作説明画面やゲーム画面が表示される。
【0071】
また、上側ハウジング12には、2つのカメラ(内側カメラ32および外側カメラ34)が設けられる。図1に示すように、内側カメラ32は、上側ハウジング12と下側ハウジング14との連結部付近であり、第1LCD16が設けられる側の面に、この第1LCD16の表示面とその撮影面とが平行または面一になるように取り付けられる。一方、外側カメラ34は、図2(A)に示すように、内側カメラ32が取り付けられる面とは反対側の面、すなわち、上側ハウジング12の外側の面(ゲーム装置10が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング12の背面)に取り付けられる。ただし、図1においては、外側カメラ34を破線で示してある。
【0072】
したがって、内側カメラ32は、上側ハウジング12の内側の面が向く方向を撮像することが可能であり、外側カメラ34は、内側カメラ32の撮像方向の逆方向、すなわち、上側ハウジング12の外側の面が向く方向を撮像することが可能である。このように、この実施例では、内側カメラ32および外側カメラ34の撮像方向が互いに逆方向となるように、それら2つのカメラ32,34が設けられる。たとえば、ゲーム装置10を把持したユーザは、このゲーム装置10側からユーザの方を見た景色(たとえば、当該ユーザを含む)を内側カメラ32で撮像することができるとともに、ゲーム装置10側からユーザとは反対側の方向を見た景色を外側カメラ34で撮像することができる。
【0073】
なお、上記連結部付近の内側の面には、音声入力装置としてマイク84(図3参照)が収納されている。そして、上記連結部付近の内側の面には、マイク84がゲーム装置10外部の音を検知できるように、そのマイク84用の孔36が形成される。マイク84を収納する位置およびマイク84用の孔36の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング14にマイク84を収納し、マイク84の収納位置に対応させて下側ハウジング14にマイク84用の孔36を設けるようにしてもよい。
【0074】
また、上側ハウジング12の外側の面には、外側カメラ34の近傍に第4LED38(図1では、破線で示す)が取り付けられる。第4LED38は、内側カメラ32または外側カメラ34によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ32または外側カメラ34によって動画が撮影される場合には、第4LED38は、撮影の間点灯し続ける。つまり、第4LED38を点灯することによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
【0075】
また、上側ハウジング12には、第1LCD16の両側に、音抜き孔40が形成される。この音抜き孔40に対応する位置であり、上側ハウジング12の内部には、上述したスピーカが収納されている。音抜き孔40は、スピーカからの音をゲーム装置10の外部に放出するための孔である。
【0076】
以上に説明したように、上側ハウジング12には、画像を撮像するための構成である内側カメラ32および外側カメラ34と、主として、撮影された画像(撮影画像)およびゲーム画面を表示するための表示手段である第1LCD16とが設けられる。一方、下側ハウジング14には、ゲーム装置10に対する操作入力を行うための入力装置(操作ボタン20(20a−20k)およびタッチパネル22)と、主として、操作画面およびゲーム画面を表示するための表示手段である第2LCD18とが設けられる。したがって、ゲーム装置10は、2つの画面(16,18)および2系統の操作部(20,22)を備えている。
【0077】
図3は、この実施例のゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU50、メインメモリ52、メモリ制御回路54、保存用データメモリ56、プリセットデータ用メモリ58、メモリカードインターフェース(メモリカードI/F)60、メモリカードI/F62、無線通信モジュール64、ローカル通信モジュール66、マイコン68、電源回路70、インターフェース回路(I/F回路)72、第1GPU(Graphics Processing Unit)74、第2GPU76、第1VRAM(Video RAM)78、第2VRAM80、およびLCDコントローラ82等の電子部品を備えている。これらの電子部品(回路コンポーネント)は、電子回路基板上に実装されて、下側ハウジング14(または上側ハウジング12でもよい)内に収納される。
【0078】
CPU50は、所定のプログラムを実行するための情報処理手段である。この実施例では、所定のプログラムは、ゲーム装置10内のメモリ(たとえば保存用データメモリ56)やメモリカード26および/または28に記憶されており、CPU50は、当該所定のプログラムを実行することによって、後述する情報処理を実行する。
【0079】
なお、CPU50によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶していてもよいし、メモリカード26および/または28から取得してもよいし、他の機器と通信することによって当該他の機器から取得してもよい。
【0080】
CPU50には、メインメモリ52、メモリ制御回路54、およびプリセットデータ用メモリ58が接続される。また、メモリ制御回路54には、保存用データメモリ56が接続される。メインメモリ52は、CPU50のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ52は、上記情報処理に用いられる各種データを記憶(一時記憶)したり、外部(メモリカード26および28や他の機器等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ52として、たとえばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ56は、CPU50によって実行されるプログラムや内側カメラ32および外側カメラ34によって撮像された画像のデータ等を記憶(保存)するための記憶手段である。この保存用データメモリ56は、不揮発性の記憶媒体によって構成されており、たとえば、NAND型フラッシュメモリを用いることができる。メモリ制御回路54は、CPU50の指示に従って、保存用データメモリ56に対するデータの読み出しおよび書き込みを制御する。プリセットデータ用メモリ58は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ58としては、SPI(Serial Peripheral Interface)バスによってCPU50と接続されるフラッシュメモリを用いることができる。
【0081】
メモリカードI/F60および62は、それぞれCPU50に接続される。メモリカードI/F60は、コネクタに装着されたメモリカード26に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。また、メモリカードI/F62は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。この実施例では、内側カメラ32および外側カメラ34によって撮像された画像に対応する画像データや他の装置から受信された画像データがメモリカード26に書き込まれたり、メモリカード26に記憶された画像データがメモリカード26から読み出されて保存用データメモリ56に記憶されたり、他の装置へ送信されたりする。また、メモリカード28に記憶された各種プログラムが、CPU50によって読み出されて実行されたりする。
【0082】
なお、ゲームプログラムなどの情報処理プログラムは、メモリカード28等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、情報処理プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。さらに、情報処理プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0083】
無線通信モジュール64は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール66は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール64およびローカル通信モジュール66は、CPU50に接続される。CPU50は、無線通信モジュール64を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール66を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0084】
また、CPU50には、マイコン68が接続される。マイコン68は、メモリ68aおよびRTC68bを含む。メモリ68aは、たとえばRAMであり、マイコン68による制御のためのプログラムやデータが記憶される。RTC68bは、時間をカウントする。マイコン68では、RTC68bによって計時された時間に基づいて、日付および現在時刻等を計算することもできる。
【0085】
マイコン68には、電源スイッチ20f、開閉スイッチ42、電源回路70、および加速度センサ88が接続される。電源スイッチ20fからは、オンの信号がマイコン68に与えられる。ゲーム装置10の主電源がオフされている状態で、電源スイッチ20fがオンされると、マイコン68のBootROMとしても機能するメモリ68aが起動され、後述するように、ゲーム装置10の開閉状態に応じて電源制御が行なわれる。一方、ゲーム装置10の主電源がオンされている状態で、電源スイッチ20fがオンされると、マイコン68は電源回路70に全回路コンポーネント(マイコン68を除く)への電力供給の停止を指示する。ここで、電源回路70は、ゲーム装置10が有する電源(典型的には電池であり、下側ハウジング14に収納される)から供給される電力を制御し、ゲーム装置10の各回路コンポーネントに電力を供給する。
【0086】
また、開閉スイッチ42からは、オンまたはオフの信号がマイコン68に与えられる。開閉スイッチ42がオンされている状態(ゲーム装置10本体が開かれている状態)で、ゲーム装置10の主電源がオンされている場合には、マイコン68の制御の下、電源回路70からゲーム装置10の全回路コンポーネントに電力を供給するモード(以下、「通常モード」という)が設定される。通常モードでは、ゲーム装置10は任意のアプリケーションを実行可能であり、ユーザないしプレイヤ(以下、単に「プレイヤ」という)が使用している状態(使用状態)である。
【0087】
また、ゲーム装置10の主電源がオンされている状態で、開閉スイッチ42がオフされている場合(ゲーム装置10本体が閉じられている状態)には、電源回路70からゲーム装置10の一部のコンポーネントに電力を供給するモード(以下、「スリープモード」という)が設定される。スリープモードでは、ゲーム装置10は任意のアプリケーションを実行不能であり、プレイヤは使用していない状態(不使用状態)である。この実施例では、一部のコンポーネントは、CPU50、無線通信モジュール64およびマイコン68である。ただし、スリープモード(スリープ状態)では、CPU50は、基本的にクロックを停止した状態(不能化された状態)であるため、ほとんど電力を消費しない。また、スリープモードでは、CPU50への電力の供給を停止しても良い。したがって、上述したように、この実施例では、スリープモードにおいては、CPU50によって、アプリケーションが実行されることはない。
【0088】
ただし、スリープ状態において、無線通信モジュール64によって通信を実行する場合には、無線通信モジュール64からの制御信号によってCPU50を起動する。つまり、無線通信モジュール64によってCPU50のクロックが動作され、その後、無線通信モジュール64からCPU50に通信の開始指示が与えられる。以下、同じ。そして、CPU50からマイコン68に指示して、メモリ制御回路54および保存用データメモリ56への電力の供給が開始される。したがって、通信により他のゲーム装置10等に保存用データメモリ56に記憶されたデータを送信したり、他のゲーム装置10等から受信したデータを保存用データメモリ56に記憶したりすることができる。
【0089】
また、スリープ状態において、マイコン68から歩数データを出力する場合には、マイコン68からの制御信号によってCPU50を起動する。つまり、マイコン68によってCPU50のクロックが動作され、歩数データの出力が通知される。また、マイコン68は、電源回路70を制御して、メモリ制御回路54および保存用データメモリ56への電力の供給を開始する。したがって、マイコン68から出力される歩数データが保存用データメモリ56に記憶される。
【0090】
さらに、ゲーム装置10が開かれるなどして、スリープ状態が解除(非スリープ状態)にされると、開閉スイッチ42からオフの信号がマイコン68に入力される。したがって、マイコン68は、CPU50を起動して、CPU50にスリープの解除を通知する。これに応じて、CPU50は、マイコン68にスリープの解除を指示する。つまり、CPU50の指示の下、マイコン68は、電源回路70を制御して、全回路コンポーネントへの電源の供給を開始する。したがって、ゲーム装置10は、通常モードへ移行し、使用状態になる。
【0091】
また、上述したように、マイコン68には、加速度センサ88が接続される。たとえば、加速度センサ88は、3軸の加速度センサであり、下側ハウジング14(上側ハウジング12でもよい)の内部に設けられる。ゲーム装置10の第1LCD16(第2LCD18)の面に対して垂直な方向の加速度、および第1LCD16(第2LCD18)の面に対して平行であり、互いに直交する2方向(縦方向および横方向)の加速度を検出する。加速度センサ88は、検出した加速度についての信号(加速度信号)をマイコン68に出力する。マイコン68は、加速度信号に基づいて、ゲーム装置10の向きを検出したり、ゲーム装置10の振動の大きさを検出したりすることができる。したがって、たとえば、マイコン68および加速度センサ88を歩数計として機能させることができる。加速度センサ88を用いた歩数計は既に周知であるため、その詳細な内容については省略するが、加速度の大きさに応じて歩数が測定される。
【0092】
また、ゲーム装置10は、マイク84およびアンプ86を備えている。マイク84およびアンプ86は、それぞれI/F回路72に接続される。マイク84は、ゲーム装置10に向かって発声ないし発生されたユーザの音声ないし音(拍手や手拍子など)を検知して、当該音声ないし音を示す音声信号をI/F回路72に出力する。アンプ86は、I/F回路72から与えられる音声信号を増幅してスピーカ(図示せず)に与える。I/F回路72は、CPU50に接続される。
【0093】
また、タッチパネル22は、I/F回路72に接続される。I/F回路72は、マイク84およびアンプ86(スピーカ)の制御を行う音声制御回路と、タッチパネル22の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル22からの信号に基づいて所定の形式のタッチ位置データを生成してCPU50に出力する。たとえば、タッチ位置データは、タッチパネル22の入力面に対して入力が行われた位置の座標を示すデータである。
【0094】
なお、タッチパネル制御回路は、タッチパネル22からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU50は、I/F回路72を介して、タッチ位置データを取得することにより、タッチパネル22に対して入力が行われた位置を知ることができる。
【0095】
操作ボタン20は、上記の各操作ボタン20a−20k(電源スイッチ20fを除く。以下、同じ。)によって構成され、CPU50に接続される。操作ボタン20からCPU50へは、各操作ボタン20a−20kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU50は、操作ボタン20からの操作データを取得し、取得した操作データに応じた処理を実行する。
【0096】
内側カメラ32および外側カメラ34は、それぞれCPU50に接続される。内側カメラ32および外側カメラ34は、CPU50の指示に応じて画像を撮像し、撮像した画像に対応する画像データをCPU50に出力する。この実施例では、CPU50は、内側カメラ32および外側カメラ34のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラ(32,34)が画像を撮像して画像データをCPU50に送る。
【0097】
第1GPU74には、第1VRAM78が接続され、第2GPU76には、第2VRAM80が接続される。第1GPU74は、CPU50からの指示に応じて、メインメモリ52に記憶されている表示画像を生成するためのデータに基づいて第1の表示画像を生成し、第1VRAM78に描画する。第2GPU76は、同様にCPU50からの指示に応じて第2の表示画像を生成し、第2VRAM80に描画する。第1VRAM78および第2VRAM80は、LCDコントローラ82に接続されている。
【0098】
LCDコントローラ82は、レジスタ82aを含む。レジスタ82aは、CPU50からの指示に応じて、「0」または「1」の値を記憶する。LCDコントローラ82は、レジスタ82aの値が「0」である場合には、第1VRAM78に描画された第1の表示画像を第2LCD18に出力し、第2VRAM80に描画された第2の表示画像を第1LCD16に出力する。また、レジスタ82aの値が「1」である場合には、第1VRAM78に描画された第1の表示画像を第1LCD16に出力し、第2VRAM80に描画された第2の表示画像を第2LCD18に出力する。
【0099】
たとえば、このようなゲーム装置10は、スリープモードに設定された状態では、すれ違い通信処理を実行する。ここで、すれ違い通信処理について簡単に説明する。スリープモードでは、無線通信モジュール64は、一定時間(たとえば、30ms)毎に、他のゲーム装置10に接続要求を示す信号(接続要求信号)を送信(ブロードキャスト)するとともに、他のゲーム装置10からの接続要求信号の受信を試みる。つまり、通信処理が間欠的に実行される。これによって、通信相手となる他のゲーム装置10がサーチ(スキャン)される。ただし、接続要求信号は、その送信元であるゲーム装置10の識別情報を含む。
【0100】
このとき、ゲーム装置10は、接続要求信号を受信すると、これに応答して、接続要求信号の送信元のゲーム装置10に、接続許可信号を送信する。ただし、接続許可信号は、その送信元であるゲーム装置10の識別情報を含む。これによって、2つのゲーム装置10で互いに他の存在を認識して、通信状態を確立する。
【0101】
ただし、接続要求信号に応答して接続許可信号を送信したゲーム装置10では、無線通信モジュール64が、CPU50を起動し、CPU50からの指示に従って、マイコン68の制御の下、電源回路70からメモリ制御回路54および保存用データメモリ56に電力の供給が開始される。また、同様に、接続許可信号を受信したゲーム装置10では、無線通信モジュール64が、CPU50を起動し、CPU50からの指示に従って、マイコン68の制御の下、電源回路70からメモリ制御回路54および保存用データメモリ56に電力の供給が開始される。
【0102】
通信状態を確立すると、2つのゲーム装置10の間で、予め設定(決定)されている、ゲームデータやメッセージデータなどのデータが送信または受信或いは送受信される。
【0103】
詳細な説明は省略するが、すれ違い通信を終了すると、各ゲーム装置10は、スリープ状態に戻る。
【0104】
したがって、プレイヤは、スリープ状態でゲーム装置10を持ち歩くと、何ら操作することなく、他のゲーム装置10との間で通信(すれ違い通信)が実行され、当該他のゲーム装置10からゲームデータやメッセージデータなどのデータを得ることができる。
【0105】
なお、ここでは、他のゲーム装置10との間ですれ違い通信処理を実行する場合について説明したが、所定のアクセスポイントとの間ですれ違い通信処理を実行するようにしてもよい。かかる場合には、アクセスポイントから送信されるゲームデータやメッセージデータなどを得ることが可能である。
【0106】
また、詳細な説明は省略するが、すれ違い通信が実行される場合、通信状態を確立した2つのゲーム装置10のうち、接続要求信号を送信したゲーム装置10が親機として機能し、接続要求信号に応答して接続許可信号を送信したゲーム装置10が子機として機能する。
【0107】
また、上述したように、スリープモードにおいては、ゲーム装置10は、歩数計としても機能し、上述のように、プレイヤが当該ゲーム装置10を持ち歩いている場合に、当該プレイヤの歩数がカウントされる。カウントされた歩数は、必要に応じて、ゲーム装置10で実行されるゲームプログラムなどの情報処理プログラムの処理に反映される。
【0108】
このような構成のゲーム装置10には、キャラクタを作成したり、他のゲーム装置10との間でキャラクタを交換したり、アクセスポイントからキャラクタを受信したり、カメラ32、34の撮影画像に基づいてキャラクタを取得したり、キャラクタの元となるデータ(後述するキャラクタ情報データ)を生成および出力したりする、似顔絵ゲームのプログラム(アプリケーションプログラム)が予め記憶されている。
【0109】
たとえば、キャラクタは、人間を模したキャラクタである。キャラクタを作成する場合について簡単に説明すると、まず、プレイヤは、作成するキャラクタの性別を決定する。次に、プレイヤは、顔と体型とを設定する。顔の設定は、パーツ単位で行われる。たとえば、顔の形、目、鼻、口、髭、黒子、髪型の各パーツについて、それぞれ複数種類の画像(パーツ画像)が用意されており、プレイヤは、所望のパーツを選択する。ただし、パーツ画像は、プレイヤの操作によって、位置、大きさ(長さ、太さなど)、形状および色を変更可能である。ただし、各パーツ(パーツ画像)が最初に配置される位置は予め決定されている。さらには、メガネ(サングラス)を装着させることも可能である。このメガネも上述の各パーツと同様に扱われ、位置や色を変更することもできる。顔が設定されると、続いて、体型が設定される。具体的には、身長と体の幅が設定される。これらは予め最大値と最小値とが決定されており、その間で設定することができる。
【0110】
顔と体型とが設定されると、作成するキャラクタのプロフィールが設定される。具体的には、キャラクタの名前(キャラクタ名)、ニックネーム、誕生日、血液型、好きな色、および作成者の名称が設定される。ただし、好きな色は、キャラクタの上着の色に反映される。
【0111】
さらに、作成するキャラクタのプロフィールが設定されると、作成するキャラクタに関する付加的な情報(付加情報)を設定する。具体的には、付加情報は、作成中のキャラクタをお気に入りとして登録するかどうかの情報、作成者のID(ゲーム装置10の識別情報)、キャラクタのバージョン、コピー許可フラグおよび送信許可フラグなどである。
【0112】
なお、図示は省略するが、性別、顔のパーツ、体型およびプロフィールのそれぞれを選択(決定)するための画面が第2LCD18に表示され、プレイヤの操作に従ってそれぞれ選択される。
【0113】
キャラクタが作成されると、当該キャラクタの情報(図4に示すキャラクタ情報)についてのデータ(キャラクタ情報データ)が保存用データメモリ56のキャラクタ本登録記憶領域5640(図8参照)に記憶される。ただし、作成(描画)されたキャラクタの画像(キャラクタ画像)についてのデータ(キャラクタ画像データ)は、メインメモリ52に記憶される(図7参照)。
【0114】
ここで、図4に示すように、キャラクタ情報データに対応するキャラクタ情報は、性別、誕生日、好きな色、お気に入りフラグ、キャラクタ名(ニックネーム)、身長および体型、キャラクタのID、各パーツとその関連情報、作成者名、作成者のID、キャラクタのバージョン、コピー許可フラグ、送信許可フラグ、NGワードチェック結果フラグおよび使用フォントのリージョンを含む。
【0115】
性別は、キャラクタに設定した性別である。誕生日は、キャラクタに設定した誕生日である。好きな色は、プレイヤの好きな色であり、この色がキャラクタの服の色に設定される。お気に入りフラグは、キャラクタの所有者または作成者が当該キャラクタを気に入っているか否かを判別するためのフラグであり、所有者または作成者によって設定される。キャラクタ名(ニックネーム)は、キャラクタに付けられた名称である。身長および体型は、キャラクタに設定された身長および体型である。キャラクタのIDは、キャラクタに付された固有の識別情報であり、当該キャラクタが作成されたときに、ゲーム装置10(CPU50)によって自動的に付される。各パーツとその関連情報は、キャラクタの各パーツの識別情報、すなわち顔の形、目、鼻、口、髭、黒子、髪型およびメガネの識別情報(画像の識別情報)と、各パーツの関連情報である。ただし、関連情報は、各パーツについての大きさ、配置位置、傾きおよび比率の変化についての情報である。
【0116】
作成者名は、キャラクタを作成したプレイヤの名称である。作成者のIDは、作成者についての識別情報であり、キャラクタが作成されたときに、ゲーム装置10(CPU50)によって自動的に付される。この実施例では、作成者のIDとして、ゲーム装置10についてのMACアドレスが付される。キャラクタのバージョンは、キャラクタがオリジナルであるか、何度か変更されているかを判別するための世代管理の情報である。
【0117】
コピー許可フラグは、キャラクタを受信したゲーム装置10において、当該キャラクタの複製を作って良いかどうかを判別するためのフラグである。送信許可フラグは、当該キャラクタを自動的に他のゲーム装置10に送信して良いかどうかを判別するためのフラグである。ただし、この実施例では送信許可フラグが送信不可を示す場合には、通信によりキャラクタを送信することが禁止されるのみならず、他のゲーム装置10が当該キャラクタを取得可能な状態にすることも禁止される。したがって、送信不可である場合には、後述するように、暗号化されたキャラクタ情報データを変換したQRコードを画面表示したり、QRコードの画像データ(コード画像データ)をメモリカード26、28に出力したりすることもできない。コピー許可フラグおよび送信許可フラグは、キャラクタの作成者の指示に従って設定(オンまたはオフ)される。
【0118】
NGワードチェック結果フラグは、キャラクタ名や作成者名に、NGワードが含まれているかどうかを判別するためのフラグである。詳細な説明は省略するが、NGワードは、予めゲーム装置10の保存用データメモリ56やメモリカード26、28に記憶されている。したがって、たとえば、キャラクタ名や作成者名が、NGワードと一致する場合またはNGワードを含む場合に、NGワードチェック結果フラグがオンされる。一方、キャラクタ名や作成者名が、NGワードと不一致である場合またはNGワードを含まない場合には、NGワードチェック結果フラグがオフされる。NGワードチェック結果フラグがオンである場合には、当該キャラクタについてのキャラクタ情報データ(暗号化されている場合も含む)を他のゲーム装置10などに送信できないようにしたり、キャラクタ名や作者名を非表示したり、他の表記(NGワード以外で予め設定された表記)に変更したりする。
【0119】
使用フォントのリージョンは、キャラクタを表示したりするアプリケーションプログラム(この実施例では、似顔絵ゲームのプログラム)が、どのリージョンのフォントを使用すれば良いかを判別可能にした情報である。たとえば、リージョンが「0」であれば、日本、アメリカ、ヨーロッパのそれぞれの言語についてのフォントを使用可能である。また、リージョンが「1」であれば、中国語のフォントを使用可能である。さらに、リージョンが「2」であれば、韓国語のフォントを使用可能である。さらにまた、リージョンが「3」であれば、台湾語のフォントを使用可能である。
【0120】
また、ゲーム装置10は、他のゲーム装置10との間でキャラクタを送受信することにより、キャラクタを交換する。これによって、ゲーム装置10は、他のゲーム装置10からの新規なキャラクタを取得する。ただし、キャラクタを交換する方法としては、特定された他のプレイヤ(ゲーム装置10)との間で、プレイヤの操作に従って、送信するキャラクタの選択およびキャラクタを交換する方法(1)と、プレイヤの操作に従って、送信するキャラクタの選択のみを行い、特定されていない他のプレイヤ(ゲーム装置10)との間で、プレイヤの操作によらないでキャラクタを交換する方法(2)とがある。方法(1)または方法(2)のいずれを実行するかは、プレイヤの操作によって、図示しないメニュー画面が表示され、当該メニュー画面で選択される。
【0121】
方法(1)が選択されると、つまり、ゲーム装置10で、キャラクタを交換することが指示されると、通信処理を開始して、キャラクタを交換する他のゲーム装置10との間で通信状態を確立する。詳細な説明は省略するが、通信相手のゲーム装置10をサーチする処理は、上述したすれ違い通信処理の場合と同様である。ただし、この場合、通信相手のゲーム装置10のプレイヤは近傍に存在するため、当該プレイヤは特定されているのである。
【0122】
ゲーム装置10が他のゲーム装置10との間で通信状態を確立すると、プレイヤは、他のゲーム装置10(プレイヤ)に送信するキャラクタを選択する。このとき、図5(A)に示すようなキャラクタ選択画面100が第2LCD18に表示される。図5(A)に示すキャラクタ選択画面100には、プレイヤが所有するすべてのキャラクタ102、102、102、…が表示される。ここで、プレイヤが所有するキャラクタとは、ゲーム装置10の保存用データメモリ56に記憶されたすべてのキャラクタ情報データのそれぞれに対応するキャラクタを意味する。したがって、プレイヤが所有するキャラクタは、後述するように、本登録されたキャラクタと本登録されていないキャラクタとを含む。
【0123】
ただし、キャラクタ選択画面100には、キャラクタの顔画像のみが表示される。ここで、顔画像は、キャラクタ情報データが示すキャラクタ情報に含まれ、各パーツとその関連情報とに基づいて生成される。つまり、各パーツとその関連情報に基づいて、パーツ画像が選択されるとともに、その大きさ(形状)、配置位置、傾斜および比率の変化が決定され、キャラクタの顔画像についてのデータが生成される。以下、キャラクタの顔画像を生成する場合について同様である。
【0124】
なお、本登録されたキャラクタのみを送信可能にする場合には、キャラクタ選択画面100には、本登録されたキャラクタのみが表示される。
【0125】
また、図5(A)には、ボタン画像110およびボタン画像112が設けられる。したがって、プレイヤが多数のキャラクタを所有しており、一度にすべてのキャラクタの顔画像を表示することができない場合には、ボタン画像110またはボタン画像112をオンすることにより、画面を左または右にスクロールすることにより、他のキャラクタの顔画像を表示することができる。
【0126】
このキャラクタ選択画面100において、プレイヤによって選択されたキャラクタについてのキャラクタ情報データの複製が送受信データバッファ524b(図7参照)に記憶(一時記憶)される。ただし、送信許可フラグが送信不可の状態に設定されているキャラクタについては、他のゲーム装置10に送信することができない。したがって、送信するキャラクタとして選択することができない。図示は省略するが、送信するキャラクタとして選択することができないキャラクタが指示された場合には、送信することができない旨と他のキャラクタを選択すべき旨のメッセージが表示される。他の実施例としては、送信許可フラグが送信不可の状態に設定されているキャラクタについては、キャラクタ選択画面100に表示しないようにしてもよい。以下、キャラクタ選択画面100を表示する場合について同じ。
【0127】
そして、送受信データバッファ524bに記憶されたキャラクタ情報データが通信相手のゲーム装置10(他のゲーム装置10)に送信される。
【0128】
なお、方法(1)では、ゲーム装置10と他のゲーム装置10との通信状態を確立した後に、キャラクタを選択するようにしてあるが、通信処理を開始する前に、キャラクタを選択しておいてもよい。
【0129】
また、プレイヤの操作に従って他のゲーム装置10と通信状態を確立したときに、通信相手となる他のゲーム装置10から送信されたキャラクタ情報データを受信し、送受信データバッファ524bに一旦記憶した後、受信したキャラクタ情報データに基づいてキャラクタを生成し、図5(B)に示すような、受信キャラクタ表示画面200を第2LCD18に表示する。具体的には、キャラクタ情報データが示すキャラクタ情報に含まれる、好きな色と、身長および体型と、各パーツとその関連情報とに基づいて、キャラクタの画像データ(キャラクタ画像データ)が生成される。まず、上述したように、キャラクタの顔画像が生成される。また、身長および体型に基づいて、キャラクタの胴体の長さおよび太さが設定される。さらに、衣服の色が好きな色で表現される。したがって、キャラクタ画像データが生成される。以下、キャラクタを生成する場合について同様である。そして、生成されたキャラクタ画像データに対応するキャラクタ202が、ゲーム装置10の第2LCD18に表示される。
【0130】
また、図5(B)に示すように、受信キャラクタ表示画面200には、ボタン画像210およびボタン画像212が表示される。たとえば、ボタン画像210がオンされると、受信したキャラクタ202が保存(本登録)される。一方、ボタン画像212がオンされると、受信したキャラクタ202が保存されない。したがって、プレイヤが、ボタン画像210をオンすると、つまり受信したキャラクタ202を保存することが決定されると、当該キャラクタ202に対応するキャラクタ画像データは、保存用データメモリ56のキャラクタ本登録記憶領域5640に記憶される。一方、プレイヤが、ボタン画像212をオンすると、つまり受信したキャラクタ202を保存しないことが決定されると、当該キャラクタ202に対応するキャラクタ情報データは消去される。
【0131】
なお、この実施例では、受信したキャラクタを保存しない場合には、当該キャラクタ202に対応するキャラクタ情報データを消去するようにしたが、保存用データメモリ56のキャラクタ一時記憶領域5642に記憶するようにしてもよい。
【0132】
たとえば、この方法(1)では、ゲーム装置10のローカル通信モジュール66を用いて、同種のゲーム装置10との間で通信処理を実行する。ただし、通信相手となる他のゲーム装置10をサーチする方法は、上述したすれ違い通信の場合と同様である。
【0133】
また、この方法(1)では、近距離無線によって他のゲーム装置10との間で通信処理を開始し、キャラクタ情報データを送受信するようにしてあるが、無線通信モジュール64を用いることにより、インターネットを介して他のゲーム装置10との間でキャラクタ情報データを送受信するようにしてもよい。つまり、近距離無線通信限定される必要はない。
【0134】
ただし、通信処理では、2つのゲーム装置10のうちの一方が親機として機能し、他方が子機として機能するため、親機が先にデータ送信を実行する場合と、子機が先にデータ送信を実行する場合とで、上記のキャラクタ情報データを送信する処理と、キャラクタ情報データを受信する処理とが入れ替わる。
【0135】
図示は省略するが、第1LCD16には、ゲーム装置10に本登録されているキャラクタがすべて表示される。したがって、受信したキャラクタ202が本登録されると、つまり当該キャラクタ202のキャラクタ情報データがキャラクタ本登録記憶領域5640に記憶されると、当該キャラクタ202は、既に表示されたキャラクタに追加されるように、表示される。
【0136】
方法(2)が選択された場合には、ゲーム装置10がスリープモードに設定されると、すれ違い通信処理が間欠的に実行され、ゲーム装置10は通信可能な他のゲーム装置10を探索する。通信可能な他のゲーム装置10を検出すると、当該他のゲーム装置10との間でキャラクタ情報データを送受信し、キャラクタ情報データ(キャラクタ)を交換する。ここでは、ゲーム装置10は、予め保存用データメモリ56の送信データ記憶領域5644(図8参照)に記憶されているキャラクタ情報データを、当該他のゲーム装置10に送信する。つまり、ゲーム装置10では、予めキャラクタが選択され、選択されたキャラクタに対応するキャラクタ情報データが、保存用データメモリ56の送信データ記憶領域5644に記憶されているのである。ただし、選択されたキャラクタに対応するキャラクタ情報データの複製が、送信記憶領域5644に記憶される。つまり、キャラクタ情報データが複写される。
【0137】
ただし、キャラクタを選択する場合には、図5(A)に示したようなキャラクタ選択画面100が第2LCD18に表示される点は、方法(1)の場合と同じである。
【0138】
また、この実施例では、すれ違い通信の場合には、プレイヤが作成したキャラクタに対応するキャラクタ情報データのみが送信可能である。したがって、すれ違い通信では、キャラクタ情報データを送信するとき、送信許可フラグが送信許可を示すとともに、キャラクタ情報データに含まれる作成者のIDとして設定されたMACアドレスと、ゲーム装置10についてのMACアドレスとが比較され、一致する場合にのみ、当該キャラクタ情報データが送信される。
【0139】
また、すれ違い通信処理によって受信されたキャラクタ情報データに基づくキャラクタは、スリープモードから通常モードに移行されたときに、第2LCD18に表示される。ここでは、図示は省略するが、図5(B)に示したような受信キャラクタ表示画面200と同様の画面(登録画面)が第2LCD18に表示される。ただし、すれ違い通信では、受信したキャラクタ情報データは、保存用データメモリ56のキャラクタ一時記憶領域5642に記憶される。したがって、この実施例では、登録画面では、すれ違い通信により受信したキャラクタ(キャラクタ情報データ)を本登録するか否かが決定される。
【0140】
ここで、登録画面(図示せず)には、キャラクタを本登録することを決定するためのボタン画像と本登録しないことを決定するためのボタン画像とが表示される。ただし、すれ違い通信では、複数のキャラクタ(キャラクタ情報データ)を受信している場合があるため、かかる場合には、複数のキャラクタが表示されるとともに、複数のキャラクタのそれぞれについて本登録するか否かが決定可能にされている。
【0141】
ここで、すれ違い通信より受信したキャラクタを本登録することが決定されると、当該キャラクタに対応するキャラクタ情報データがキャラクタ本登録記憶領域5640に記憶される。一方、すれ違い通信より受信したキャラクタを本登録しないことが決定されると、当該キャラクタに対応するキャラクタ情報データはキャラクタ一時記憶領域5642に記憶されたままである。これらの決定は、今回のすれ違い通信により受信されたすべてのキャラクタ(キャラクタ情報データ)について実行される。
【0142】
詳細な説明は省略するが、たとえば、すれ違い通信処理においては、受信されたキャラクタ情報データには、受信したときにタイムスタンプされる。また、スリープモードを開始するときと終了(通常モードに移行)するときとの日時がそれぞれ記憶されている。したがって、日時を参照することにより、登録画面を表示する際に、直前のスリープモードにおいて受信されたキャラクタ情報データに基づくキャラクタが生成および表示される。
【0143】
また、詳細な説明は省略するが、キャラクタ本登録記憶領域5640に記憶されたキャラクタ情報データに従うキャラクタを使用して、或るゲームについてのゲーム処理を実行することができる。たとえば、プレイヤキャラクタやノンプレイヤキャラクタとして使用することができる。
【0144】
さらに、この実施例では、キャラクタ本登録記憶領域5640に記憶可能なキャラクタ情報データ(キャラクタ)の数(最大数)と、キャラクタ一時記憶領域5642に記憶されるキャラクタ情報データ(キャラクタ)の最大数とは予め決定されている。キャラクタ本登録記憶領域5640では、たとえば、最大で100体のキャラクタについてのキャラクタ情報データを記憶することができ、その登録および削除は、プレイヤによって操作される。一方、キャラクタ一時記憶領域5642では、たとえば、最大で1000体のキャラクタについてのキャラクタ情報データを記憶することができ、すれ違い通信よって、受信したキャラクタ情報データが自動的に記憶され、その最大数を超えると、古い順にキャラクタ情報データがキャラクタ一時記憶領域5642から自動的に削除(消去)される。
【0145】
このように、ゲーム装置10では、他のゲーム装置10などと通信することにより、キャラクタ情報データを交換することにより、受信したキャラクタ情報データに基づいて新しいキャラクタを取得することができる。しかし、通信環境に置くことができないゲーム装置10では、新しいキャラクタを取得することができない。そこで、この実施例では、通信以外の方法によって、新規のキャラクタを取得できるようにしてある。
【0146】
たとえば、ゲーム装置10のカメラ34(または32)を用いて、QRコード(株式会社デンソーウェーブの登録商標)を撮像することにより、キャラクタを取得できるようにしてある。
【0147】
図6(A)−図6(E)には、QRコードの例(例1−例5)が示される。ただし、これらは単なる例示であり、実際に何らかの情報(ここでは、キャラクタ)が得られるものではない。
【0148】
図6(A)に示すQRコードの例1では、その中央部に、キャラクタの総称が記載されるとともに、QRコードの下側(外側)にキャラクタ名が記載される。。したがって、このQRコードの例1を見たプレイヤは、ゲーム装置10で使用されるキャラクタについてのキャラクタ情報データを取得できることを知ることができるとともに、取得できるキャラクタの種類を知ることもできる。このように、キャラクタの総称およびキャラク名を提示(教示)することにより、プレイヤが所望のキャラクタを取得できるようにしてある。
【0149】
図6(B)に示すQRコードの例2では、その中央部に、キャラクタの顔画像が表示される。したがって、このQRコードの例2を見たプレイヤは、ゲーム装置10で使用されるキャラクタを取得できることを知ることができるとともに、取得できるキャラクタの種類も知ることができる。たとえば、キャラクタの数が相当数存在するような場合には、このように、顔画像を表示して、キャラクタの種類を提示(教示)することにより、プレイヤが同種類のキャラクタを重複的に取得することを防止することができる。
【0150】
図6(C)のQRコードの例3は、図6(A)のQRコードの例1と同様に、キャラクタの総称を記載するものであるが、その総称は、QRコードの外側に記載される。ただし、図6(C)では、キャラクタ名が表示されておらず、具体的なキャラクタの内容(種類)が不明であるため、どのようなキャラクタを得ることができるのかという期待感と楽しさとがある。
【0151】
図6(D)のQRコードの例4は、図6(B)のQRコードの例2と同様に、キャラクタの種類を提示するものであるが、キャラクタ名が、QRコードの外側に記載される。ただし、キャラクタ名に代えて、キャラクタの顔画像をQRコードの外側に表示するようにしてもよい。
【0152】
図6(E)に示すQRコードの例5では、図6(C)とは異なり、その中央部に、キャラクタの総称が記載される。したがって、このQRコードの例5を見たプレイヤは、ゲーム装置10で使用されるキャラクタについてのキャラクタ情報データを取得できることを知ることができる。
【0153】
なお、図6(A)、図6(C)および図6(E)では、キャラクタの総称を記載するようにしてあるが、キャラクタの総称を示すロゴ、アニメのタイトルやゲームタイトル(ゲームソフト)の名称を記載するようにしてもよい。
【0154】
たとえば、このようなQRコードは、上述したようなキャラクタ情報についてのキャラクタ情報データを暗号化するとともに、暗号化されたキャラクタ情報データを2次元の情報にコード化したものである。
【0155】
なお、キャラクタ情報データを暗号化する方式は、任意の方式を採用することができる。採用した暗号化の方式に応じて、後述する復号プログラム522gおよび暗号プログラム522hが決定される。
【0156】
上述したようなQRコードは、雑誌やカードに印刷されたり、所定のホームページやインターネットサイトの画面に表示されたりする。したがって、プレイヤが、QRコードの読み取りを指示すると、ゲーム装置10では、外側カメラ34が起動され、QRコードの読み取りが開始される。このとき、外側カメラ34は、オートフォーカスを実行するとともに、スルー画像を第1LCD16に表示する。そして、合焦状態になったときに、外側カメラ34で撮像している静止画像(QRコードの画像)が取り込まれる。その後、ゲーム装置10では、QRコードの画像データから暗号化されたキャラクタ情報データが算出(復号)される。さらに、ゲーム装置10では、暗号化されたキャラクタ情報データを復号する。そして、上述したように、キャラクタ情報データに基づいてキャラクタを生成し、図5(B)に示した受信したキャラクタ表示画面200と同様の画面(図示せず)を表示する。プレイヤが、QRコードから得たキャラクタを記憶するかどうかを決定する点は、方法(1)において受信したキャラクタを記憶するかどうかを決定する場合と同じである。プレイヤが、QRコードから得たキャラクタを記憶することを決定すると、当該キャラクタに対応するキャラクタ情報データがキャラクタ本登録記憶領域5640に記憶される。一方、プレイヤが、QRコードから得たキャラクタを記憶しないことを決定すると、当該キャラクタに対応するキャラクタ情報データは削除される。ただし、削除せずに、キャラクタ一時記憶領域5642に記憶するようにしてもよい。
【0157】
また、ゲーム装置10では、キャラクタデータからQRコードについての画像データ(コード画像データ)を生成し、QRコードを画面表示したり、コード画像データをメモリカード26またはメモリカード28に出力したりすることもできる。
【0158】
前者の場合には、プレイヤがQRコードの画面表示を指示すると、図5(A)に示したようなキャラクタ選択画面100が第2LCD18に表示される。プレイヤは、キャラクタ選択画面100を用いて、所望のキャラクタを選択する。すると、当該キャラクタについてのキャラクタ情報データが読み出され、暗号化される。次に、暗号化されたキャラクタ情報データがQRコードの画像データ(コード画像データ)に変換される。このコード画像データは、保存用データメモリ56のコード画像データ記憶領域5646(図8参照)に記憶される。その後、コード画像データに対応するQRコードが、たとえば、第1LCD16に表示される。かかる場合には、画像データが第1LCD16に出力されるのである。
【0159】
この場合、第1LCD16に表示されたQRコードを撮像させることにより、他のゲーム装置10にキャラクタを提供することができる。逆に、他のゲーム装置10の第1LCD16に表示されたQRコードを撮像することにより、上述したように、キャラクタの提供を受けることができる。したがって、たとえば、無線通信が禁止されているような場所においても、キャラクタを交換することができ、新しいキャラクタを取得することができる。
【0160】
後者の場合には、プレイヤが、QRコードのメモリカードへの出力を指示すると、図5(A)に示したようなキャラクタ選択画面100が第2LCD18に表示される。プレイヤは、キャラクタ選択画面100を用いて、所望のキャラクタを選択する。すると、前者の場合と同様に、当該キャラクタについてのキャラクタ情報データが読み出され、暗号化される。次に、暗号化されたキャラクタ情報データがコード画像データに変換される。このコード画像データは、保存用データメモリ56のコード画像データ記憶領域5646に記憶される。その後、コード画像データは、指定されたメモリカード26またはメモリカード28に出力される。
【0161】
この場合には、たとえば、郵送するなどにより、メモリカード26、28をプレイヤ間で交換し、各プレイヤが、メモリカード26、28に記憶された画像データに対応するQRコードをコンピュータの画面に表示し、それをゲーム装置10で撮像することにより、キャラクタを交換することができる。
【0162】
なお、この実施例では、コード画像データをメモリカード26、28に出力するようにしてあるが、これに限定される必要はない。たとえば、コード画像データを添付ファイルとして、電子メールやメッセージデータを、所定の宛先に送信したり、ネットワーク上の所定のサーバにアップロードしたりすることも可能である。たとえば、所定のサーバにアップロードするような場合には、新しいキャラクタ(キャラクタ情報データ)をその所定のサーバからダウンロードすることも可能である。
【0163】
また、アプリケーションプログラムが実行されることにより、メモリカード26およびメモリカード28に記憶されているキャラクタ情報データの複製を記憶することにより、新しいキャラクタを取得することも可能である。かかる場合には、ゲーム装置10の保存用データメモリ56に記憶されたアプリケーションプログラムが実行され、または、ゲーム装置10に装着されたメモリカード26およびメモリカード28に記憶されたアプリケーションプログラムが実行される。実行中のアプリケーションからの指示に従って表示されたキャラクタについてのキャラクタ情報データの複製が、プレイヤの指示に従って、メモリカード26およびメモリカード28から取得され、保存用データメモリ56のキャラクタ本登録記憶領域5640に記憶される。
【0164】
たとえば、新しいゲームソフトを販売する際に、特典(おまけ)として、或るキャラクタについてのキャラクタ画像データを、そのゲームプログラムとともに、メモリカード26、28に記憶しておき、これを購入したプレイヤに提供する場合などが該当する。
【0165】
図7は図3に示したメインメモリ52のメモリマップ520の例を示す図解図である。図7に示すように、メインメモリ52は、プログラム記憶領域522およびデータ記憶領域524を含む。プログラム記憶領域522には、ゲームプログラムが記憶され、ゲームプログラムは、メイン処理プログラム522a、画像生成プログラム522b、画像表示プログラム522c、通信プログラム522d、撮像プログラム522e、送信設定プログラム522f、復号プログラム522g、暗号化プログラム522h、およびコード出力プログラム522iなどによって構成される。
【0166】
メイン処理プログラム522aは、この実施例の仮想ゲーム(似顔絵作成ゲーム)のメインルーチンを処理するためのプログラムである。画像生成プログラム522bは、後述する画像データ524cを用いて、画面(100、200など)を表示するためのゲーム画像データを生成する。画像表示プログラム522cは、画像生成プログラム522bに従って生成されたゲーム画像データを、画面として第1LCD16または第2LCD18あるいはそれらの両方に表示する。
【0167】
通信プログラム522dは、他のゲーム装置10またはコンピュータ或いはアクセスポイントと通信するためのプログラムである。撮像プログラム522eは、撮像処理(通常の撮像処理とQRコードの撮像処理)を実行するためのプログラムである。
【0168】
具体的には、通常の撮像処理が選択(指示)されると、撮像プログラム522eが実行され、内側カメラ32または外側カメラ34が起動され、第1LCD16(または第2LCD18)にスルー画像が表示される。そして、プレイヤがシャッターボタン(Lボタン20iまたはRボタン20j)をオンすると、シャッターボタンがオンされたときの静止画像が取り込まれ、この静止画像に対応する撮像画像データ524eが一旦メインメモリ52のデータ記憶領域524に記憶される。この撮像画像データ524eは、その後、プレイヤの操作によって、似顔絵作成ゲームの処理に使用されたり、メモリカード26、28や保存用データメモリ56に記憶されたり、削除(消去)されたりする。
【0169】
また、QRコードの撮像処理が指示されると、撮像プログラム522eが実行され、外側カメラ34が起動され、オートフォーカス処理が実行されるとともに、第1LCD18(第1LCD16でも可)にスルー画像が表示される。そして、合焦状態になると、そのときの静止画像(QRコードの画像)が取り込まれ、この静止画像に対応する撮像画像データ524eが一旦メインメモリ52のデータ記憶領域524に記憶される。この撮像画像データ524eから暗号化キャラクタ情報データが算出される。その後、後述する復号プログラム522gに従って、暗号化キャラクタ情報データが復号され、キャラクタ情報データが取得される。
【0170】
送信設定プログラム522fは、プレイヤの指示に従って選択されたキャラクタを送信可能に設定するためのプログラムである。具体的には、プレイヤが選択したキャラクタについてのキャラクタ情報データを、保存用データメモリ56の送信データ記憶領域5644(図8参照)に記憶する。復号プログラム522gは、暗号化されたキャラクタ情報データを復号するためのプログラムである。暗号化プログラムは、キャラクタ情報データを暗号化するためのプログラムである。コード出力プログラムは、暗号化されたキャラクタ情報データを含むキャラクタデータをQRコードに変換し、変換したQRコードについての画像データ(コード画像データ)を出力するためのプログラムである。上述したように、コード画像データが、ゲーム装置10の第1LCD16(または第2LCD18)に出力される。したがって、QRコードが画面表示される。また、コード画像データが、ゲーム装置10に装着されたメモリカード26、28に出力(送信)される。
【0171】
図示は省略するが、ゲームプログラムには、音出力プログラムおよびバックアッププログラムなども含まれる。音出力プログラムは、図示しない音データを用いて、キャラクタの音声ないし擬声音、効果音、音楽(BGM)のような、ゲームに必要な音を出力するためのプログラムである。バックアッププログラムは、プレイヤの指示や所定のイベントに従って、ゲームデータ(途中データ、結果データ)をメモリカード26、28や保存用データメモリ56に記憶(セーブ)するためのプログラムである。
【0172】
データ記憶領域524には、操作情報バッファ524aおよび送受信データバッファ524bが設けられる。操作情報バッファ524aは、操作ボタン20からの操作データやタッチパネル22からのタッチ位置データを時系列に従って記憶(一時記憶)する。操作データやタッチ位置データは、CPU50の処理で使用された後に消去される。送受信データバッファ524bは、すれ違い通信以外の通信でデータを送受信する際に、送信するデータや受信したデータを記憶(一時記憶)する。たとえば、送信するデータは、他のゲーム装置10等で受信されたことが確認された場合や一定時間が経過した場合に消去される。また、受信したデータは、メモリカード26、28または保存用データメモリ56に移動された場合やCPU50の処理に使用された場合に消去される。
【0173】
また、データ記憶領域524には、画像データ524c、キャラクタ画像データ524d、撮像画像データ524eおよびコード画像データ524fが記憶される。画像データ524cは、ゲーム画像データを生成するためのポリゴンデータやテクスチャデータなどのデータおよび上述した各パーツについての複数種類のパーツ画像のデータである。キャラクタ画像データ524dは、キャラクタ情報データに従って生成されたキャラクタの画像データである。撮像画像データ524eは、撮像プログラム522eに従って撮像された静止画像(QRコードの画像)についての画像データである。コード画像データ524fは、上述したQRコードについての画像データである。
【0174】
図示は省略するが、データ記憶領域には、音データなどの他のデータが記憶され、また、ゲーム装置10の処理に必要なタイマ(カウンタ)やレジスタも設けられる。
【0175】
図8は図3に示した保存用データメモリ56のメモリマップ560を示す図解図である。保存用データメモリ56は、プログラム記憶領域562およびデータ記憶領域564を含む。プログラム記憶領域562は、プログラム記憶領域562には、ゲームプログラムなどのアプリケーションプログラムがインストール(記憶)される。データ記憶領域564は、さらに、キャラクタ本登録記憶領域5640、キャラクタ一時記憶領域5642、送信データ記憶領域5644、コード画像データ記憶領域5646および暗号化キャラクタ情報データ記憶領域5648などを含む。
【0176】
キャラクタ本登録記憶領域5640は、ゲーム装置10に本登録されたキャラクタについてのキャラクタ情報データを記憶する。たとえば、キャラクタ本登録記憶領域5640に記憶可能なキャラクタ情報データの数は予め決定されている。この実施例では、最大で100体のキャラクタについてのキャラクタ情報データを記憶することができる。このキャラクタ本登録記憶領域5640に記憶されているキャラクタ情報データは、プレイヤの操作のみによって、削除(消去)される。
【0177】
キャラクタ一時記憶領域5642は、ゲーム装置10に一時的(仮に)登録されたキャラクタについてのキャラクタ情報データを記憶する。つまり、プレイヤによって本登録することや削除することが決定されていないキャラクタについてのキャラクタ情報データが記憶されているのである。ただし、このキャラクタ情報データは、他のゲーム装置10等から受信したものである。このキャラクタ一時記憶領域5642に記憶可能なキャラクタ情報データの数も予め決定されている。この実施例では、最大で1000体のキャラクタについてのキャラクタ情報データを記憶することができる。このキャラクタ一時記憶領域5642に記憶されているキャラクタ情報データは、プレイヤの操作のみによって、本登録記憶領域5640に移動されるが、新しいキャラクタ情報データを記憶する際に、最大数を超える場合には、最も古いキャラクタ情報データが自動的に削除される。ただし、プレイヤの操作によって削除されることもある。
【0178】
送信データ記憶領域5644は、すれ違い通信処理において、他のゲーム装置10に送信することが設定されたキャラクタのキャラクタ情報データを記憶する。この実施例では、プレイヤが選択したキャラクタについてのキャラクタ情報データの複製が、送信データ記憶領域5644に記憶される。また、送信データ記憶領域5644に記憶されたキャラクタ情報データの複製が他のゲーム装置10等に送信されるため、複数のゲーム装置10等との間でキャラクタ情報データを交換することができる。
【0179】
コード画像データ記憶領域5646は、QRコードを画面表示したり、コード画像データをメモリカード26、28に出力したりする際に生成されるコード画像データを記憶する。暗号化キャラクタ情報データ記憶領域5468は、コード出力処理において、暗号化されたキャラクタ情報データを記憶する。
【0180】
なお、上述したように、交換することにより得たキャラクタ画像データは、キャラクタ一時記憶領域5642に記憶される。
【0181】
図9は、方法(1)が選択された場合に、2つのゲーム装置10の間でキャラクタ情報データが送受信される処理(キャラクタ送受信処理(1))を示す。ただし、説明の便宜上、キャラクタ情報データを送信する側のゲーム装置10をゲーム装置Aとし、キャラクタ情報データを受信する側のゲーム装置10をゲーム装置Bとする。また、この実施例では、キャラクタ情報データを交換するため、一方のゲーム装置10がゲーム装置Aとなり、他方のゲーム装置10がゲーム装置Bとなり、キャラクタ送受信処理(1)が実行された後に、一方のゲーム装置10がゲーム装置Bとなり、他方のゲーム装置10がゲーム装置Aとなり、キャラクタ送受信処理(1)が実行される。ただし、通信相手をサーチする処理については、この送受信処理(1)が開始される前に実行されているもとする。これらのことは、後述する方法(2)の場合についても同じである。
【0182】
なお、キャラクタ情報データを交換しない場合には、送信側のゲーム装置10をゲーム装置Aとし、受信側のゲーム装置10をゲーム装置Bとすることにより、キャラクタ送受信処理(1)を一度実行すればよい。
【0183】
図9に示すように、キャラクタ送受信処理(1)を開始すると、ゲーム装置AのCPU50は、ステップS1で、所有するキャラクタを生成する。つまり、キャラクタ本登録記憶領域5640およびキャラクタ一時記憶領域5642に記憶されるすべてのキャラクタ情報データの各々についてのキャラクタを生成する。以下、所有するキャラクタを生成する場合について同じ。
【0184】
次のステップS3では、図5(A)に示したようなキャラクタ選択画面100を第2LCD18に表示する。続くステップS5では、キャラクタが選択されたかどうかを判断する。
【0185】
ステップS5で“NO”であれば、つまりキャラクタが選択されていなければ、同じステップS5に戻る。一方、ステップS5で“YES”であれば、つまりキャラクタが選択されれば、ステップS7で、送信可能かどうかを判断する。ここでは、CPU50は、選択されたキャラクタのキャラクタ情報データを参照して、送信許可フラグが送信可能な状態を示すかどうかを判断する。
【0186】
なお、ステップS7では、送信許可フラグのみに基づいて送信可能かどうかを判断するようにしてあるが、さらに、NGワードチェック結果フラグに基づいて送信可能かどうかを判断するようにしてもよい。また、すれ違い通信(方法(2))の場合と同様に、自分が作成したキャラクタのみを送信可能にする場合には、作成者のID(MACアドレス)とゲーム装置10についてのMACアドレスとが一致するかどうかを判断するようにしてもよい。これらのことは、後述するコード出力処理(1)およびコード出力処理(2)についても同じである(図13、図14参照)。
【0187】
ステップS7で“NO”であれば、つまり送信不能であれば、ステップS5に戻る。ただし、このとき、キャラクタを選択できない旨と別のキャラクタを選択するべき旨のメッセージが画面表示される。一方、ステップS7で“YES”であれば、つまり送信可能であれば、ステップS9で、選択されたキャラクタについてのキャラクタ情報データを通信相手の他のゲーム装置10(ここでは、ゲーム装置B)に送信する。
【0188】
すると、ゲーム装置BのCPU50は、ステップS11で、キャラクタ情報データを受信し、ステップS13で、当該キャラクタ情報データからキャラクタを生成し、つまりキャラクタの画像を描画し、ステップS15で、生成したキャラクタを表示する。つまり、図5(B)に示した受信キャラクタ表示画面200が第2LCD18に表示される。
【0189】
次のステップS17では、保存するかどうかを判断する。つまり、CPU50は、ボタン画像210がオンされたか、またはボタン画像212がオンされたかを判断する。ステップS17で“NO”であれば、つまり保存しない場合には、ステップS19で、当該キャラクタ情報データを削除して、キャラクタ送受信処理(1)を終了する。一方、ステップS17で“YES”であれば、つまり保存する場合には、ステップS21で、当該キャラクタ情報データを本登録記憶領域5640に記憶して、キャラクタ送受信処理(1)を終了する。厳密に言うと、受信されたキャラクタ情報データは、送受信データバッファ524bに一時記憶されているため、ステップS21では、この一時記憶されているキャラクタ情報データが、キャラクタ本登録記憶領域5640に移動(記憶)される。
【0190】
図示は省略するが、受信したキャラクタ情報データが保存された場合には、その後、既にゲーム装置10に本登録され、第1LCD16に表示されているキャラクタに追加されるように、受信したキャラクタ情報データについてのキャラクタが表示される。このことは、後述するキャラクタ取得処理(1)およびキャラクタ取得処理(2)についても同様である。
【0191】
なお、図9に示すキャラクタ送受信処理(1)では、キャラクタ情報データを送信する際に、当該キャラクタ情報データ(キャラクタ)を送信可能かどうかを判断するようにしたが、ステップS1で、所有するキャラクタを生成する際に、送信可能かどうかを判断し、送信不可のキャラクタについては、ステップS3で、キャラクタ選択画面に表示しないようにしてもよい。
【0192】
図10は、上述した方法(2)が選択された場合に、2つのゲーム装置10間で実行されるキャラクタ送受信処理(2)を示すフロー図である。図10に示すように、キャラクタ送受信処理(2)を開始すると、ゲーム装置AのCPU50は、ステップS31で、送信データ記憶領域564に記憶されたキャラクタ情報データが送信可能かどうかを判断する。ここでは、CPU50は、キャラクタ情報データが示すキャラクタ情報に含まれる送信許可フラグを参照して、送信可能な状態であるかどうかを判断する。また、CPU50は、作成者のIDを参照して、ゲーム装置10のMACアドレスと一致するかどうかに基づいて、このゲーム装置10で作成されたキャラクタであるかどうかを判断する。
【0193】
なお、上述したように、さらにNGワードチェック結果フラグを参照して、送信可能かどうかを判断するようにしてもよい。
【0194】
また、図10に示す例では、キャラクタ情報データを送信する際に、送信可能かどうかを判断するようにしたが、送信対象を選択するためのキャラクタ選択画面100を表示する際に、送信可能でないキャラクタを表示しないようにしてもよい。
【0195】
ステップS31で“NO”であれば、つまり送信可能でなければ、そのまま送受信処理(2)を終了する。一方、ステップS31で“YES”であれば、つまり送信可能であれば、ステップS33で、送信データ記憶領域5644に記憶されたキャラクタ情報データをゲーム装置Bに送信する。すると、ゲーム装置BのCPU50は、ステップS34で、キャラクタ情報データを受信し、ステップS37で、当該キャラクタ情報データをキャラクタ一時記憶領域5642に記憶して、キャラクタ送受信処理を終了する。
【0196】
なお、上述したように、方法(2)の場合に、送受信されたキャラクタ情報データに基づくキャラクタは、スリープモードから通常モードに移行したときに、生成および表示される。
【0197】
図11は、すれ違い通信処理によって受信されたキャラクタ情報データを本登録するための登録処理のフロー図である。この登録処理は、スリープモードから通常モードに移行したときに、スリープ中にキャラクタ情報データを受信していた場合に実行される。
【0198】
図11に示すように、CPU50は、登録処理を開始すると、ステップS41で、キャラクタ一時記憶領域5642に記憶されたキャラクタ情報データからキャラクタを生成する。ここでは、直前のスリープモードにおいて受信されたすべてのキャラクタ情報データに基づくキャラクタが生成される。次のステップS43では、ステップS41で生成したキャラクタを表示する。
【0199】
続いて、ステップS45では、キャラクタ本登録記憶領域5640への移動が指示されたかどうかを判断する。ステップS45で“NO”であれば、つまりキャラクタ本登録記憶領域5640への移動が指示されていなければ、そのままステップS49に進む。一方、ステップS45で“YES”であれば、つまりキャラクタ本登録記憶領域5640への移動が指示されれば、ステップS47で、当該キャラクタ情報データをキャラクタ一時記憶領域5642からキャラクタ本登録記憶領域5640に移動して、ステップS49に進む。つまり、ステップS47では、CPU50は、当該キャラクタ情報データの複製をキャラクタ本登録記憶領域5640に記憶した後、当該キャラクタ情報データをキャラクタ一時記憶領域5642から消去する。
【0200】
ステップS49では、終了かどうかを判断する。つまり、CPU50は、直前のスリープモードにおけるすれ違い通信より受信したすべてのキャラクタ情報データについて登録処理(S45およびS47)を終了したり、プレイヤによって登録終了の指示が入力されたりしたかどうかを判断する。ステップS49で“NO”であれば、つまり終了でなければ、ステップS45に戻る。一方、ステップS49で“YES”であれば、つまり終了であれば、登録処理を終了する。
【0201】
なお、この実施例では、図11に示す登録処理では、直前のスリープモードにおいて受信されたキャラクタ情報データのみを本登録するかどうかの対象にしたが、キャラクタ一時記憶領域5642に記憶されているすべてのキャラクタ情報データを本登録するかどうかの対象にしてもよい。このようにすれば、一旦本登録しないことが選択されたキャラクタ情報データについても、後に本登録することができる。ただし、かかる場合には、登録処理を、スリープモードから通常モードに移行したときだけでなく、プレイヤの指示に従って実行するようにしてもよい。
【0202】
図12は、キャラクタ取得処理(1)を示すフロー図である。図12に示すように、CPU50は、キャラクタ取得処理(1)を開始すると、ステップS61で、QRコードを撮像する。QRコードの撮像処理については上述したとおりである。次のステップS63では、撮像したQRコードから、暗号化されたキャラクタ情報データを抽出する。つまり、CPU50は、QRコードを撮像した撮像画像を解読して、暗号化されたキャラクタ情報データに変換する。続いて、ステップS65では、暗号化されたキャラクタ情報データを復号し、ステップS67で、復号したキャラクタ情報データからキャラクタを生成し、ステップS69で、キャラクタを表示する。つまり、図5(B)に示したような受信キャラタ表示画面200と同様の登録画面(図示せず)が第2LCD18に表示される。
【0203】
続くステップS71では、QRコードから取得したキャラクタ情報データを保存するかどうかを判断する。つまり、プレイヤによって保存することが指示(決定)されたか、保存しないことが指示されたかを判断する。ステップS71で“NO”であれば、つまりQRコードから取得したキャラクタ情報データを保存しない場合には、ステップS73で、当該キャラクタ情報データをキャラクタ本登録記憶領域5640に記憶して、キャラクタ取得処理(1)を終了する。
【0204】
図13はコード出力処理(1)を示すフロー図である。図13に示すように、CPU50は、コード出力処理(1)を開始すると、ステップS81で、所有するキャラクタを生成する。次のステップS83では、図5(A)に示したようなキャラクタ選択画面100を第2LCD18に表示する。続くステップS85では、キャラクタが選択されたかどうかを判断する。
【0205】
ステップS85で“NO”であれば、同じステップS85に戻る。一方、ステップS85で“YES”であれば、ステップS87で、送信可能(出力可能)かどうか判断する。つまり、CPU50は、選択されたキャラクタについてのキャラクタ情報データを参照し、送信許可フラグが送信可能な状態であるかどうかを判断する。
【0206】
ただし、上述したように、さらに、作成者のIDやNGワードチェック結果フラグに基づいて、送信可能(出力可能)かどうかを判断してもよい。
【0207】
ステップS87で“NO”であれば、つまり送信不能であれば、そのままステップS85に戻る。図示は省略するが、このとき、キャラクタを選択できない旨と他のキャラクタを選択すべき旨のメッセージが画面表示される。これは、後述するコード出力処理(2)についても同じである。一方、ステップS87で“YES”であれば、つまり送信可能であれば、ステップS89で、選択されたキャラクタについてのキャラクタ情報データを暗号化する。図示は省略するが、このとき、暗号化されたキャラクタ情報データは、暗号化キャラクタ情報データ記憶領域5648に記憶される。
【0208】
次のステップS91では、暗号化されたキャラクタ情報データを用いて、QRコードの画像データ(コード画像データ)を生成する。続くステップS93では、生成したコード画像データをコード画像データ記憶領域5646に記憶する。そして、ステップS95で、QRコードを表示して、コード出力処理(1)を終了する。たとえば、ステップS95では、コード画像データ記憶領域5646に記憶されたコード画像データを用いて、ゲーム装置10の第1LCD16にQRコードが表示される。
【0209】
なお、図13では、キャラクタを選択した際に、送信可能(出力可能)かどうかを判断するようにしたが、所有するキャラクタを生成する際に、出力可能かどうかを判断して、出力不可のキャラクタについてはキャラクタ選択画面に表示せずに、選択できないようにしておいてもよい。このことは、コード出力処理(2)についても同じである。
【0210】
図14はコード出力処理(2)を示すフロー図である。図14に示すように、CPU50は、コード出力処理(2)を開始すると、ステップS101で、所有するキャラクタを生成する。次のステップS103では、図5(A)に示したようなキャラクタ選択画面100を第2LCD18に表示する。続くステップS105では、キャラクタが選択されたかどうかを判断する。
【0211】
ステップS105で“NO”であれば、同じステップS105に戻る。一方、ステップS105で“YES”であれば、ステップS107で、送信可能(出力可能)かどうかを判断する。ステップS107で“NO”であれば、そのままステップS105に戻る。一方、ステップS107で“YES”であれば、ステップS109で、選択されたキャラクタについてのキャラクタ情報データを暗号化する。このとき、暗号化されたキャラクタ情報データは、暗号化キャラクタ情報データ記憶領域5468に記憶される。
【0212】
次のステップS111では、暗号化されたキャラクタ情報データを用いてQRコードのコード画像データを生成する。続くステップS113では、生成したコード画像データをコード画像データ記憶領域5646に記憶する。そして、ステップS115で、QRコードの画像データを出力して、コード出力処理(2)を終了する。たとえば、ステップS115では、ゲーム装置10に装着されたメモリカード26、28にQRコードのコード画像データが出力される(書き込まれる)。
【0213】
なお、この実施例では、QRコードの出力方法ないし出力先の違いに応じて異なる出力処理を実行するようにしてあるが、コード画像データを生成するまでは同じ処理であるため、コード画像データを生成した後に、QRコードを表示するか、または、そのコード画像データをメモリカード26、28に出力するかを選択するようにして、コード出力処理を1つにまとめることも可能である。
【0214】
図15はキャラクタ取得処理(2)を示すフロー図である。図15に示すように、CPU50は、キャラクタ取得処理(2)を開始すると、ステップS121で、アプリケーションの指示により、キャラクタ情報データからキャラクタを生成する。詳細な説明は省略するが、ここでは、CPU50は、メモリカード26、28に記憶されているキャラクタ情報データからキャラクタを生成する。次のステップS123では、生成したキャラクタを表示する。ここでは、図5(B)に示した受信キャラクタ表示画面200と同様の登録画面(図示せず)が表示される。この登録画面は、QRコードからキャラクタを取得する場合と同様の画面である。したがって、重複した説明は省略する。
【0215】
続いて、ステップS125では、保存するかどうかを判断する。ステップS125で“NO”であれば、つまり保存しない場合には、そのままキャラクタ取得処理(2)を終了する。一方、ステップS125で“YES”であれば、つまり保存する場合には、ステップS127で、キャラクタ情報データの複製をメモリカード26、28から読み出して、キャラクタ本登録記憶領域5640に記憶して、キャラクタ取得処理(2)を終了する。
【0216】
この実施例によれば、通信によらないで、キャラクタを取得することができるため、通信環境を整えることができないプレイヤであっても、たとえば、QRコードが印刷された書籍やカードなどの印刷物或いはQRコードの画像データが記憶されたメモリカードを入手することにより、キャラクタを収集することができる。つまり、より多くのユーザが新規のキャラクタを取得することができる。
【0217】
なお、この実施例では、QRコードを用いるようにしてあるが、バーコードなどの他の情報を用いるようにしてもよい。
【0218】
また、この実施例では、スリープモードが設定されているときに、すれ違い通信処理を実行するようにしたが、電源をオンしている状態で、プレイヤがゲーム装置を使用していないときに、すれ違い通信処理を実行するようにしてもよい。
【0219】
さらに、この実施例では、キャラクタ画像データをメインメモリに記憶するようにしたが、対応するキャラクタ情報データに関連付けて同じ記憶領域(5640、5642)に記憶するようにしてもよい。かかる場合には、一度生成したキャラクタ(キャラクタ画像データ)を用いることにより、次回以降のキャラクタの生成や表示の処理負荷を軽減することができる。
【0220】
さらにまた、ゲーム装置の構成は実施例のものに限定される必要はない。たとえば、カメラは、1つでもよく、無くてもよい。また、タッチパネルを2つのLCD上に設けてもよい。
【0221】
また、この実施例では、携帯ゲーム装置同士が通信する場合について説明したが、この実施例の似顔絵ゲームのプログラムを記憶するものであれば、携帯電話機、PDAなど、持ち運びが容易な他の携帯情報端末にも適用可能である。同様に、この実施例の似顔絵ゲームのプログラムを記憶する、据置型のゲーム装置や汎用のコンピュータにも適用可能である。つまり、通信相手は、所定の電子機器ないし所定のコンピュータである。
【符号の説明】
【0222】
10 …ゲーム装置
12,14 …ハウジング
16,18 …LCD
20 …操作ボタン
22 …タッチパネル
24 …タッチペン
26,28 …メモリカード
32,34 …カメラ
50 …CPU
52 …メインメモリ
54 …メモリ制御回路
56 …保存用データメモリ
58 …プリセットデータ用メモリ
60,62 …メモリカードI/F
64 …無線通信モジュール
66 …ローカル通信モジュール
68 …マイコン
68a …メモリ
68b …RTC
70 …電源回路
72 …I/F回路
74,76 …GPU
78,80 …VRAM
82 …LCDコントローラ
84 …マイク
88 …加速度センサ
【技術分野】
【0001】
この発明はゲームプログラム、ゲーム装置およびゲーム制御方法に関し、特にたとえば、キャラクタを生成する、ゲームプログラム、ゲーム装置およびゲーム制御方法に関する。
【背景技術】
【0002】
この種の背景技術の一例が、特許文献1に開示されている。この特許文献1のゲームシステムでは、複数のゲーム装置間でキャラクタデータを転送し、各ゲーム装置では受信したキャラクタデータを使用して、新規のキャラクタを取得していた。
【特許文献1】特開2008−125678号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、特許文献1のゲームシステムでは、通信によりキャラクタデータを転送するため、ゲーム装置が通信を行う環境に置かれていることが必須の条件となる。このため、通信を行う環境を整えることができないユーザは、新規のキャラクタを取得する手段がなかった。
【0004】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、ゲーム装置およびゲーム制御方法を提供することである。
【0005】
また、この発明の他の目的は、より多くのユーザが新規のキャラクタを取得できる、ゲームプログラム、ゲーム装置およびゲーム制御方法を提供することである。
【課題を解決するための手段】
【0006】
第1の発明は、通信手段、撮像手段および表示手段を備えるゲーム装置のコンピュータで実行されるゲームプログラムである。このゲームプログラムは、コンピュータを、キャラクタデータ受信手段、コードデータ取得手段、キャラクタデータ算出手段、第1キャラクタ生成手段、およびゲーム処理手段として機能させる。キャラクタデータ受信手段は、コンピュータに接続可能な所定のコンピュータから、通信手段を経由してキャラクタデータを受信する。コードデータ取得手段は、撮像手段によって所定の画像を撮像することによりコードデータを取得する。キャラクタデータ算出手段は、コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出する。第1キャラクタ生成手段は、キャラクタデータ受信手段によって受信されたキャラクタデータまたはキャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成する。そして、ゲーム処理手段は、第1キャラクタ生成手段によって生成されたキャラクタを表示手段に表示してゲーム処理を実行する。
【0007】
第1の発明によれば、撮像手段によって所定の画像を撮像することにより取得されたコードデータからキャラクタを取得できるので、つまり通信しなくてもキャラクタを取得できるので、より多くのユーザないしプレイヤに新規なキャラクタを取得させることができる。
【0008】
第2の発明は、第1の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタデータ記憶手段としてさらに機能させる。キャラクタデータ記憶手段は、キャラクタデータ受信手段によって受信されたキャラクタデータまたはキャラクタデータ算出手段によって算出されたキャラクタデータを、キャラクタデータ記憶領域に記憶する。第1キャラクタ生成手段は、キャラクタデータ記憶手段によってキャラクタデータ記憶領域に記憶された所定のキャラクタデータに対応するキャラクタを生成する。
【0009】
第2の発明によれば、受信したり算出したりしたキャラクタデータを記憶しておくので、複数のキャラクタデータを記憶しておき、それぞれに対応するキャラクタを生成することができる。
【0010】
第3の発明は、第2の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタ選択手段、およびキャラクタデータ送信手段としてさらに機能させる。キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択する。キャラクタデータ送信手段は、通信手段を用いて、所定のコンピュータに、キャラクタ選択手段によって選択された所定のキャラクタデータを送信する。
【0011】
第3の発明によれば、キャラクタデータを所定のコンピュータに送信することができる。
【0012】
第4の発明は、第2または第3の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタ選択手段、コードデータ算出手段、およびコードデータ出力手段としてさらに機能させる。キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択する。コードデータ算出手段は、キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出する。そして、コードデータ出力手段は、コードデータ算出手段によって算出されたコードデータを、表示手段に出力する。したがって、コードデータに対応する所定の画像が表示手段に表示される。
【0013】
第4の発明によれば、コードデータに対応する所定の画像が表示されるので、他のゲーム装置に所定の画像を撮像させることにより、当該他のゲーム装置にキャラクタを提供することができる。
【0014】
第5の発明は、第2ないし第4の発明に従属し、ゲームプログラムは、コンピュータを、第2キャラクタ生成手段およびキャラクタ表示手段としてさらに機能させる。第2キャラクタ生成手段は、キャラクタ記憶領域に記憶された少なくとも1つのキャラクタデータに対応するキャラクタを生成する。キャラクタ表示手段は、第2キャラクタ生成手段によって生成されたキャラクタを表示手段に表示する。したがって、キャラクタ選択手段は、キャラクタ表示手段によって表示手段に表示されたキャラクタから所望のキャラクタをユーザに選択させ、当該ユーザに選択させた当該所望のキャラクタに対応するキャラクタデータを所定のキャラクタデータとして選択する。
【0015】
第5の発明によれば、キャラクタを生成および表示してユーザに選択させるので、簡単に選択することできる。
【0016】
第6の発明は、第4の発明に従属し、コードデータ算出手段は、キャラクタ選択手段によって選択された所定のキャラクタデータを暗号化する暗号化手段を含む。また、コードデータ算出手段は、暗号化手段によって暗号化された所定のキャラクタデータから、コードデータを算出する。
【0017】
第6の発明によれば、所定のキャラクタデータを暗号化するので、意図しない電子機器やコンピュータによってキャラクタが生成されたり、表示されたりすることを防止することができる。
【0018】
第7の発明は、第1の発明に従属し、キャラクタデータ算出手段は、暗号化されたキャラクタデータを復号する復号手段を含む。キャラクタデータ算出手段は、コードデータ取得手段によって取得されたコードデータから、暗号化されたキャラクタデータを算出し、当該暗号化されたキャラクタデータを復号手段によって復号した後のキャラクタデータを算出する。
【0019】
第7の発明によれば、暗号化されたキャラクタデータを復号するので、キャラクを生成したり、表示したりすることができる。
【0020】
第8の発明は、第2の発明に従属し、コンピュータには、所定の外部記憶媒体を接続可能である。たとえば、SDカードのような汎用のメモリカードが装着される。ゲームプログラムは、コンピュータを、キャラクタデータ読出手段としてさらに機能させる。キャラクタデータ読出手段は、所定の外部記憶媒体からキャラクタデータを読み出す。キャラクタデータ記憶手段は、キャラクタデータ読出手段によって読み出されたキャラクタデータをさらに記憶する。
【0021】
第8の発明によれば、所定の外部記憶媒体からキャラクタデータを読み出して、これを記憶するので、かかる場合にも、通信によらずに、キャラクタを取得することができる。
【0022】
第9の発明は、第1の発明に従属し、キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含む。また、コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備える。キャラクタ生成手段は、所定のキャラクタデータに含まれる各パーツパラメータに対応するパーツ画像をパーツ画像記憶手段から読み出し、読み出したパーツ画像を用いてキャラクタを生成する。
【0023】
第9の発明によれば、キャラクタデータはパーツパラメータを含み、パーツ画像についてはコンピュータに記憶しておくので、送受信するキャラクタデータのデータ量を少なくすることができる。つまり、通信負荷を軽減できる。
【0024】
第10の発明は、第1の発明に従属し、キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含む。また、コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備える。キャラクタ生成手段は、所定のキャラクタデータに含まれるパーツパラメータに対応してパーツ画像をパーツ画像記憶手段から読み出して、読み出したパーツ画像を組み合わせることにより、キャラクタを生成する。キャラクタデータ記憶手段は、キャラクタ生成手段によって生成されたキャラクタに対応するキャラクタデータもキャラクタ記憶領域に記憶する。
【0025】
第10の発明においても、第9の発明と同様に、通信負荷を軽減することができる。また、生成したキャラクタを記憶するので、一旦生成したキャラクタについては、次回以降生成処理を実行する必要がない。つまり、生成による負荷を軽減することもできる。
【0026】
第11の発明は、第2の発明に従属し、ゲームプログラムは、コンピュータを、さらにキャラクタ作成手段として機能させる。キャラクタ作成手段は、ユーザの操作に応じてキャラクタを作成する。キャラクタデータ記憶手段は、キャラクタ作成手段によって作成されたキャラクタに対応するキャラクタデータをキャラクタデータ記憶領域にさらに記憶する。
【0027】
第11の発明によれば、ユーザがキャラクタを作成できるので、作成することの楽しみもある。
【0028】
第12の発明は、第11の発明に従属し、キャラクタ作成手段は、予め用意されたパーツを用いてキャラクタを作成する。
【0029】
第12の発明によれば、予め用意されたパーツを用いてキャラクタを作成するので、キャラクタの作成が簡単である。
【0030】
第13の発明は、第11または第12の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタデータ送信手段としてさらに機能させる。キャラクタデータ送信手段は、通信手段を用いて、キャラクタ作成手段によって作成されたキャラクタデータを送信する。
【0031】
第13の発明によれば、作成したキャラクタを他人に渡すことができる。したがって、他人が作成したキャラクタを受信することにより、新しいキャラクタを取得することもできる。
【0032】
第14の発明は、第11または第12の発明に従属し、ゲームプログラムは、コンピュータを、コードデータ生成手段およびコードデータ表示手段としてさらに機能させる。コードデータ生成手段は、キャラクタ作成手段によって作成されたキャラクタデータからコードデータを生成する。コードデータ表示手段は、コードデータ生成手段によって生成されたコードデータを表示手段に表示する。
【0033】
第14の発明によれば、作成したキャラクタを通信によらずに、他人に提供することが可能である。また、他人が作成したキャラクタを通信によらずに、取得することも可能である。これによって、新しいキャラクタを取得することもできる。
【0034】
第15の発明は、第2の発明に従属し、キャラクタデータ記憶手段は、キャラクタデータ受信手段によってキャラクタデータを受信した際に、当該キャラクタデータをキャラクタ記憶領域とは異なるキャラクタ一時記憶領域に記憶する。つまり、たとえば特定されていないコンピュータから送信されたキャラクタデータを受信した場合には、当該キャラクタデータをキャラクタ一時記憶領域に記憶することにより、いきなりキャラクタ記憶領域に記憶しないようにしてある。
【0035】
第15の発明によれば、特定されたコンピュータから取得したキャラクタデータと、特定されていないコンピュータから取得したキャラクタデータとを区別して記憶することができる。
【0036】
第16の発明は、第15の発明に従属し、ゲームプログラムは、コンピュータを、一時キャラクタ選択手段およびキャラクタデータ移動手段としてさらに機能させる。一時キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ一時記憶領域に記憶されているキャラクタデータのうち、所定のキャラクタデータを選択する。キャラクタデータ移動手段は、一時キャラクタ選択手段によって選択された所定のキャラクタデータを、キャラクタ一時記憶領域からキャラクタ記憶領域へ移動させる。つまり、たとえば特定されていないコンピュータから取得したキャラクタデータは、ユーザの操作に従ってキャラクタ記憶領域に移動される。また、たとえば、移動しないキャラクタデータは削除される。
【0037】
第16の発明によれば、特定されていないコンピュータから取得したキャラクタデータについては、選択的にキャラクタ記憶領域に記憶されるので、ユーザが必要と考えるものだけを移動し、不要なものを削除することができる。
【0038】
第17の発明は、第16の発明に従属し、一時キャラクタ選択手段は、キャラクタ一時生成手段およびキャラクタ一時表示手段を含む。キャラクタ一時生成手段は、キャラクタデータ記憶手段によってキャラクタ一時記憶領域に記憶した少なくとも1つのキャラクタデータに対応するキャラクタを生成する。キャラクタ一時表示手段は、キャラクタ一時生成手段によって生成されたキャラクタを表示手段に表示する。また、一時キャラクタ選択手段は、キャラクタ一時表示手段によって表示されたキャラクタから所定のキャラクタをユーザに選択させる。
【0039】
第17の発明によれば、特定されていないコンピュータからのキャラクタデータに対応するキャラクタを生成および表示するので、ユーザはキャラクタを見て、キャラクタ記憶領域に移動させるかどうかを判断することができる。つまり、移動させるかどうかの判断や削除するかどうかの判断が簡単である。
【0040】
第18の発明は、第2の発明に従属し、ゲームプログラムは、コンピュータを、状態判定手段および複写手段としてさらに機能させる。状態判定手段は、キャラクタ選択手段によって選択された所定のキャラクタデータを送信可能な状態かどうかを判定する。たとえば、取得したキャラクタデータを他の所定のコンピュータに送信することが禁止されているかどうかが判定される。複写手段は、状態判定手段によって所定のキャラクタデータの送信可能な状態であると判定されたとき、当該所定のキャラクタデータをキャラクタ記憶領域から送信可能領域に複写する。
【0041】
第18の発明によれば、送信可能なキャラクタデータのみを送信可能に設定することができる。
【0042】
第19の発明は、第1の発明に従属し、ゲームプログラムは、コンピュータを、キャラクタ選択手段、コードデータ算出手段、および出力手段としてさらに機能させる。キャラクタ選択手段は、ユーザの操作に応じて、キャラクタ記憶領域に記憶したキャラクタデータのうち、所定のキャラクタデータを選択する。コードデータ算出手段は、キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出する。出力手段は、少なくとも、コードデータ算出手段によって算出されたコードデータを、たとえば表示手段やコンピュータに接続された外部記憶媒体に出力する。
【0043】
第19の発明によれば、コードデータを出力するので、他のコンピュータにキャラクタデータを提供することができる。
【0044】
第20の発明は、第19の発明に従属し、出力手段は、コードデータに対応する画像データを出力する。したがって、たとえば、ゲーム装置の表示手段に、コードデータに対応する所定の画像が表示される。
【0045】
第20の発明によれば、表示手段に表示された所定の画像を撮像させることにより、他のコンピュータにキャラクタデータを提供することができる。
【0046】
第21の発明は、第1の発明に従属し、コードデータ取得手段によって取得されたコードデータは、2次元コードデータである。たとえば、2次元コードデータに対応する所定の画像は、QRコードである。キャラクタデータ算出手段は、コードデータ取得手段によって取得された2次元コードデータから、キャラクタデータを算出する。
【0047】
第21の発明によれば、2次元コードデータを用いるので、それに対応する所定の画像を比較的小さくすることができる。したがって、雑誌のみならず、比較的小さなカードにもその画像を印刷することができる。したがって、印刷物を入手したユーザは、新規のキャラクタを取得することができる。
【0048】
第22の発明は、通信手段、撮像手段および表示手段を備えるゲーム装置であって、接続可能な所定のコンピュータから、通信手段を経由してキャラクタデータを受信するキャラクタデータ受信手段、撮像手段によって所定の画像を撮像することによりコードデータを取得するコードデータ取得手段、コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出するキャラクタデータ算出手段、キャラクタデータ受信手段によって受信されたキャラクタデータまたはキャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成するキャラクタ生成手段、およびキャラクタ生成手段によって生成されたキャラクタを表示手段に表示してゲーム処理を実行するゲーム処理手段を備える、ゲーム装置である。
【0049】
第23の発明は、通信手段、撮像手段および表示手段を備えるゲーム装置のゲーム制御方法であって、(a)接続可能な所定のコンピュータから、通信手段を経由してキャラクタデータを受信し、(b)撮像手段によって所定の画像を撮像することによりコードデータを取得し、(c)ステップ(b)によって取得されたコードデータから、キャラクタデータを算出し、(d)ステップ(a)によって受信されたキャラクタデータまたはステップ(c)によって算出されたキャラクタデータに対応するキャラクタを生成し、そして(e)ステップ(d)によって生成されたキャラクタを表示手段に表示してゲーム処理を実行する、ゲーム制御方法である。
【0050】
第22の発明および第23の発明においても、第1の発明と同様に、より多くのユーザに新規のキャラクタを取得させることができる。
【発明の効果】
【0051】
この発明によれば、コードデータに対応する画像からゲームデータを取得するので、書籍やカードのような印刷物に表示された画像からもゲームデータを取得できるので、より多くのユーザが新規のキャラクタを取得することができる。
【0052】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0053】
【図1】図1はこの発明のゲーム装置の外観構成の一実施例を示す図解図である。
【図2】図2は図1に示すゲーム装置を折り畳んだ状態の上面図および左側面図を示す図解図である。
【図3】図3は図1および図2に示すゲーム装置の電気的な構成を示すブロック図である。
【図4】図4はキャラクタ情報データに対応するキャラクタ情報の例を示す図解図である。
【図5】図5は図1−図3に示すゲーム装置の第2LCDに表示される画面の例を示す図解図である。
【図6】図6はこの実施例のキャラクタを取得可能なQRコードの例およびQRコードから得られるキャラクタデータのデータ構造を示す図解図である。
【図7】図7は図3に示すメインメモリのメモリマップの例を示す図解図である。
【図8】図8は図3に示す保存用データメモリのメモリマップの例を示す図解図である。
【図9】図9は方法(1)の場合に、2つのゲーム装置間で実行されるキャラクタ送受信処理を示すフロー図である。
【図10】図10は方法(2)の場合に、2つのゲーム装置間で実行されるキャラクタ送受信処理を示すフロー図である。
【図11】図11は図3に示すCPUの登録処理を示すフロー図である。
【図12】図12は図3に示すCPUのキャラクタ取得処理(1)を示すフロー図である。
【図13】図13は図3に示すCPUのコード出力処理(1)を示すフロー図である。
【図14】図14は図3に示すCPUのコード出力処理(2)を示すフロー図である。
【図15】図15は図3に示すCPUのキャラクタ取得処理(2)を示すフロー図である。
【発明を実施するための形態】
【0054】
図1を参照して、この発明の実施例のゲーム装置10は、上側ハウジング12および下側ハウジング14を含み、上側ハウジング12と下側ハウジング14とは、開閉可能(折り畳み可能)に連結されている。図1の例では、上側ハウジング12および下側ハウジング14は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回動可能に連結されている。つまり、この実施例のゲーム装置10は、折り畳み式の携帯型のゲーム装置であり、図1には、当該ゲーム装置10を開いた状態(開状態)で示してある。ゲーム装置10は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【0055】
通常、ユーザは、開状態でゲーム装置10を使用する。また、ユーザは、ゲーム装置10を使用しない場合には閉状態で保管する。ただし、ゲーム装置10は、上記閉状態および開状態のみでなく、上側ハウジング12と下側ハウジング14とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング12を下側ハウジング14に対して任意の角度で静止させることができる。
【0056】
なお、ゲーム装置10は、後述するカメラ(32,34)を搭載しており、当該カメラ(32,34)によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
【0057】
図1に示すように、上側ハウジング12には第1LCD16が設けられ、下側ハウジング14には第2LCD18が設けられる。第1LCD16および第2LCD18は、横長形状であり、それぞれの長辺方向が上側ハウジング12および下側ハウジング14の長辺方向と一致するように配置される。たとえば、第1LCD16および第2LCD18の解像度は、256(横)×192(縦)画素(ドット)に設定される。
【0058】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。また、ゲーム装置10は、任意の解像度の表示装置を利用することができる。
【0059】
図1および図2に示すように、下側ハウジング14には、入力装置として、各操作ボタン20a−20kが設けられる。この各操作ボタン20a−20kのうち、方向入力ボタン20a、操作ボタン20b、操作ボタン20c、操作ボタン20d、操作ボタン20e、電源ボタン20f、スタートボタン20g、およびセレクトボタン20hは、下側ハウジング14の第2LCD18が設けられる側の面(内側の面)に配置される。具体的には、方向入力ボタン20aおよび電源ボタン20fは、第2LCD18の左側に配置され、操作ボタン20b−20e,20gおよび20hは、第2LCD18の右側に配置される。また、上側ハウジング12と下側ハウジング14とを折り畳んだときには、操作ボタン20a−20hはゲーム装置10の内部に収められる。
【0060】
方向入力ボタン(十字キー)20aは、ディジタルジョイスティックとして機能し、プレイヤオブジェクトの移動方向を指示したり、カーソルを移動させたりするなどに用いられる。各操作ボタン20b−20eは、プッシュボタンであり、たとえば、プレイヤオブジェクトに任意の動作をさせたり、決定やキャンセルを実行したりする等に用いられる。電源ボタン20fは、プッシュボタンであり、ゲーム装置10の主電源をオン/オフするために用いられる。スタートボタン20gは、プッシュボタンであり、ゲームを中断(ポーズ)したり、開始(再開)したりするために用いられる。セレクトボタン20hは、プッシュボタンであり、ゲームモードやメニューの選択等に用いられる。
【0061】
図1においては、操作ボタン20i−20kを省略したが、図2(A)に示すように、操作ボタン(Lボタン)20iは、下側ハウジング14の上側面の左端部に設けられ、操作ボタン(Rボタン)20jは、下側ハウジング14の上側面の右端部に設けられる。また、図2(B)に示すように、音量ボタン20kは、下側ハウジング14の左側面に設けられる。
【0062】
なお、図2(A)は、ゲーム装置10を折り畳んだ状態で、上面(上ハウジング12)側から見た図であり、図2(B)は、同じくゲーム装置10を折り畳んだ状態で、左側面から見た図である。
【0063】
Lボタン20iおよびRボタン20jは、プッシュボタンであり、操作ボタン20b−20eと同様の操作に用いたり、それらの操作ボタン20b−20eの補助的な操作に用いたりすることができる。また、この実施例では、Lボタン20iおよびRボタン20jは、撮影指示の操作(シャッター操作)を行うために用いることもできる。音量ボタン20kは、2つのプッシュボタンを用いて構成され、図示しない2つのスピーカ(右スピーカおよび左スピーカ)から出力される音の大きさを調整するために用いられる。この実施例では、音量ボタン20kには、2つの押圧部を含む操作部が設けられ、各押圧部に対応して上記のプッシュボタンが設けられる。したがって、一方の押圧部を押すと音量が大きくされ、他方の押圧部を押すと音量が小さくされる。たとえば、押圧部を押し続けると、音量が次第に大きくされたり、次第に小さくされたりする。
【0064】
図1に戻って、ゲーム装置10は、操作ボタン20a−20kとは別の入力装置として、さらにタッチパネル22を備えている。タッチパネル22は、第2LCD18の画面上を覆うように装着されている。この実施例では、タッチパネル22は、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル22は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、この実施例では、タッチパネル22として、たとえば第2LCD18の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル22の解像度と第2LCD18の解像度とが一致している必要はない。
【0065】
また、下側ハウジング14の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル22に対する操作を行うために用いられるタッチペン24を収納することができる。通常、タッチパネル22に対する入力は、タッチペン24を用いて行われるが、タッチペン24に限らずユーザの指でタッチパネル22を操作することも可能である。したがって、たとえば、タッチペン24を用いない場合には、タッチペン24の挿入口および収納部を設ける必要はない。
【0066】
また、下側ハウジング14の右側面には、メモリカード26を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード26とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード26は、たとえばSDカードであり、コネクタに着脱自在に装着される。このメモリカード26は、たとえば、ゲーム装置10によって撮像された画像を記憶(保存)したり、他の装置で生成(撮像)ないし記憶された画像をゲーム装置10に読み込んだりするために用いられる。
【0067】
さらに、下側ハウジング14の上側面には、メモリカード28を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置10とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、情報処理プログラムおよび必要なデータなどを記録した記録媒体であり、下側ハウジング14に設けられた挿入口に着脱自在に装着される。
【0068】
また、上側ハウジング12と下側ハウジング14との連結部(ヒンジ)の左端部分には、インジケータ30が設けられる。このインジケータ30は、3つのLED30a,30b,30cによって構成される。ここで、ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED30aは、無線通信が確立している場合に点灯する。第2LED30bは、ゲーム装置10の充電中に点灯する。第3LED30cは、ゲーム装置10の主電源がオンである場合に点灯する。したがって、インジケータ30(LED30a−30c)によって、ゲーム装置10の通信確立状況、充電状況、および主電源のオン/オフ状況をユーザに通知することができる。
【0069】
図示は省略するが、ヒンジの内部には、ゲーム装置10の開閉に応じて切り替えられるスイッチ(開閉スイッチ42:図3参照)が設けられる。たとえば、ゲーム装置10を開いている状態では、開閉スイッチ42はオンされる。一方、ゲーム装置10を閉じている(折り畳んでいる)状態では、開閉スイッチ42はオフされる。ただし、ゲーム装置10が開いている状態であるか閉じている状態であるかが分かればよいため、開閉スイッチ42のオンとオフとは逆であっても構わない。
【0070】
上述したように、上側ハウジング12には、第1LCD16が設けられる。この実施例では、第2LCD18を覆うように、タッチパネル22を設けているが、第1LCD16を覆うように、タッチパネル22を設けてもよい。または、第1LCD16および第2LCD18のそれぞれを覆うように、2つのタッチパネル22を設けるようにしてもよい。たとえば、第2LCD18には、各操作ボタン20a−20kやタッチパネル22の役割ないし操作方法をユーザに教えるための操作説明画面やゲーム画面が表示される。
【0071】
また、上側ハウジング12には、2つのカメラ(内側カメラ32および外側カメラ34)が設けられる。図1に示すように、内側カメラ32は、上側ハウジング12と下側ハウジング14との連結部付近であり、第1LCD16が設けられる側の面に、この第1LCD16の表示面とその撮影面とが平行または面一になるように取り付けられる。一方、外側カメラ34は、図2(A)に示すように、内側カメラ32が取り付けられる面とは反対側の面、すなわち、上側ハウジング12の外側の面(ゲーム装置10が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング12の背面)に取り付けられる。ただし、図1においては、外側カメラ34を破線で示してある。
【0072】
したがって、内側カメラ32は、上側ハウジング12の内側の面が向く方向を撮像することが可能であり、外側カメラ34は、内側カメラ32の撮像方向の逆方向、すなわち、上側ハウジング12の外側の面が向く方向を撮像することが可能である。このように、この実施例では、内側カメラ32および外側カメラ34の撮像方向が互いに逆方向となるように、それら2つのカメラ32,34が設けられる。たとえば、ゲーム装置10を把持したユーザは、このゲーム装置10側からユーザの方を見た景色(たとえば、当該ユーザを含む)を内側カメラ32で撮像することができるとともに、ゲーム装置10側からユーザとは反対側の方向を見た景色を外側カメラ34で撮像することができる。
【0073】
なお、上記連結部付近の内側の面には、音声入力装置としてマイク84(図3参照)が収納されている。そして、上記連結部付近の内側の面には、マイク84がゲーム装置10外部の音を検知できるように、そのマイク84用の孔36が形成される。マイク84を収納する位置およびマイク84用の孔36の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング14にマイク84を収納し、マイク84の収納位置に対応させて下側ハウジング14にマイク84用の孔36を設けるようにしてもよい。
【0074】
また、上側ハウジング12の外側の面には、外側カメラ34の近傍に第4LED38(図1では、破線で示す)が取り付けられる。第4LED38は、内側カメラ32または外側カメラ34によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ32または外側カメラ34によって動画が撮影される場合には、第4LED38は、撮影の間点灯し続ける。つまり、第4LED38を点灯することによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
【0075】
また、上側ハウジング12には、第1LCD16の両側に、音抜き孔40が形成される。この音抜き孔40に対応する位置であり、上側ハウジング12の内部には、上述したスピーカが収納されている。音抜き孔40は、スピーカからの音をゲーム装置10の外部に放出するための孔である。
【0076】
以上に説明したように、上側ハウジング12には、画像を撮像するための構成である内側カメラ32および外側カメラ34と、主として、撮影された画像(撮影画像)およびゲーム画面を表示するための表示手段である第1LCD16とが設けられる。一方、下側ハウジング14には、ゲーム装置10に対する操作入力を行うための入力装置(操作ボタン20(20a−20k)およびタッチパネル22)と、主として、操作画面およびゲーム画面を表示するための表示手段である第2LCD18とが設けられる。したがって、ゲーム装置10は、2つの画面(16,18)および2系統の操作部(20,22)を備えている。
【0077】
図3は、この実施例のゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU50、メインメモリ52、メモリ制御回路54、保存用データメモリ56、プリセットデータ用メモリ58、メモリカードインターフェース(メモリカードI/F)60、メモリカードI/F62、無線通信モジュール64、ローカル通信モジュール66、マイコン68、電源回路70、インターフェース回路(I/F回路)72、第1GPU(Graphics Processing Unit)74、第2GPU76、第1VRAM(Video RAM)78、第2VRAM80、およびLCDコントローラ82等の電子部品を備えている。これらの電子部品(回路コンポーネント)は、電子回路基板上に実装されて、下側ハウジング14(または上側ハウジング12でもよい)内に収納される。
【0078】
CPU50は、所定のプログラムを実行するための情報処理手段である。この実施例では、所定のプログラムは、ゲーム装置10内のメモリ(たとえば保存用データメモリ56)やメモリカード26および/または28に記憶されており、CPU50は、当該所定のプログラムを実行することによって、後述する情報処理を実行する。
【0079】
なお、CPU50によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶していてもよいし、メモリカード26および/または28から取得してもよいし、他の機器と通信することによって当該他の機器から取得してもよい。
【0080】
CPU50には、メインメモリ52、メモリ制御回路54、およびプリセットデータ用メモリ58が接続される。また、メモリ制御回路54には、保存用データメモリ56が接続される。メインメモリ52は、CPU50のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ52は、上記情報処理に用いられる各種データを記憶(一時記憶)したり、外部(メモリカード26および28や他の機器等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ52として、たとえばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ56は、CPU50によって実行されるプログラムや内側カメラ32および外側カメラ34によって撮像された画像のデータ等を記憶(保存)するための記憶手段である。この保存用データメモリ56は、不揮発性の記憶媒体によって構成されており、たとえば、NAND型フラッシュメモリを用いることができる。メモリ制御回路54は、CPU50の指示に従って、保存用データメモリ56に対するデータの読み出しおよび書き込みを制御する。プリセットデータ用メモリ58は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ58としては、SPI(Serial Peripheral Interface)バスによってCPU50と接続されるフラッシュメモリを用いることができる。
【0081】
メモリカードI/F60および62は、それぞれCPU50に接続される。メモリカードI/F60は、コネクタに装着されたメモリカード26に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。また、メモリカードI/F62は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。この実施例では、内側カメラ32および外側カメラ34によって撮像された画像に対応する画像データや他の装置から受信された画像データがメモリカード26に書き込まれたり、メモリカード26に記憶された画像データがメモリカード26から読み出されて保存用データメモリ56に記憶されたり、他の装置へ送信されたりする。また、メモリカード28に記憶された各種プログラムが、CPU50によって読み出されて実行されたりする。
【0082】
なお、ゲームプログラムなどの情報処理プログラムは、メモリカード28等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、情報処理プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。さらに、情報処理プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0083】
無線通信モジュール64は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール66は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール64およびローカル通信モジュール66は、CPU50に接続される。CPU50は、無線通信モジュール64を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール66を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0084】
また、CPU50には、マイコン68が接続される。マイコン68は、メモリ68aおよびRTC68bを含む。メモリ68aは、たとえばRAMであり、マイコン68による制御のためのプログラムやデータが記憶される。RTC68bは、時間をカウントする。マイコン68では、RTC68bによって計時された時間に基づいて、日付および現在時刻等を計算することもできる。
【0085】
マイコン68には、電源スイッチ20f、開閉スイッチ42、電源回路70、および加速度センサ88が接続される。電源スイッチ20fからは、オンの信号がマイコン68に与えられる。ゲーム装置10の主電源がオフされている状態で、電源スイッチ20fがオンされると、マイコン68のBootROMとしても機能するメモリ68aが起動され、後述するように、ゲーム装置10の開閉状態に応じて電源制御が行なわれる。一方、ゲーム装置10の主電源がオンされている状態で、電源スイッチ20fがオンされると、マイコン68は電源回路70に全回路コンポーネント(マイコン68を除く)への電力供給の停止を指示する。ここで、電源回路70は、ゲーム装置10が有する電源(典型的には電池であり、下側ハウジング14に収納される)から供給される電力を制御し、ゲーム装置10の各回路コンポーネントに電力を供給する。
【0086】
また、開閉スイッチ42からは、オンまたはオフの信号がマイコン68に与えられる。開閉スイッチ42がオンされている状態(ゲーム装置10本体が開かれている状態)で、ゲーム装置10の主電源がオンされている場合には、マイコン68の制御の下、電源回路70からゲーム装置10の全回路コンポーネントに電力を供給するモード(以下、「通常モード」という)が設定される。通常モードでは、ゲーム装置10は任意のアプリケーションを実行可能であり、ユーザないしプレイヤ(以下、単に「プレイヤ」という)が使用している状態(使用状態)である。
【0087】
また、ゲーム装置10の主電源がオンされている状態で、開閉スイッチ42がオフされている場合(ゲーム装置10本体が閉じられている状態)には、電源回路70からゲーム装置10の一部のコンポーネントに電力を供給するモード(以下、「スリープモード」という)が設定される。スリープモードでは、ゲーム装置10は任意のアプリケーションを実行不能であり、プレイヤは使用していない状態(不使用状態)である。この実施例では、一部のコンポーネントは、CPU50、無線通信モジュール64およびマイコン68である。ただし、スリープモード(スリープ状態)では、CPU50は、基本的にクロックを停止した状態(不能化された状態)であるため、ほとんど電力を消費しない。また、スリープモードでは、CPU50への電力の供給を停止しても良い。したがって、上述したように、この実施例では、スリープモードにおいては、CPU50によって、アプリケーションが実行されることはない。
【0088】
ただし、スリープ状態において、無線通信モジュール64によって通信を実行する場合には、無線通信モジュール64からの制御信号によってCPU50を起動する。つまり、無線通信モジュール64によってCPU50のクロックが動作され、その後、無線通信モジュール64からCPU50に通信の開始指示が与えられる。以下、同じ。そして、CPU50からマイコン68に指示して、メモリ制御回路54および保存用データメモリ56への電力の供給が開始される。したがって、通信により他のゲーム装置10等に保存用データメモリ56に記憶されたデータを送信したり、他のゲーム装置10等から受信したデータを保存用データメモリ56に記憶したりすることができる。
【0089】
また、スリープ状態において、マイコン68から歩数データを出力する場合には、マイコン68からの制御信号によってCPU50を起動する。つまり、マイコン68によってCPU50のクロックが動作され、歩数データの出力が通知される。また、マイコン68は、電源回路70を制御して、メモリ制御回路54および保存用データメモリ56への電力の供給を開始する。したがって、マイコン68から出力される歩数データが保存用データメモリ56に記憶される。
【0090】
さらに、ゲーム装置10が開かれるなどして、スリープ状態が解除(非スリープ状態)にされると、開閉スイッチ42からオフの信号がマイコン68に入力される。したがって、マイコン68は、CPU50を起動して、CPU50にスリープの解除を通知する。これに応じて、CPU50は、マイコン68にスリープの解除を指示する。つまり、CPU50の指示の下、マイコン68は、電源回路70を制御して、全回路コンポーネントへの電源の供給を開始する。したがって、ゲーム装置10は、通常モードへ移行し、使用状態になる。
【0091】
また、上述したように、マイコン68には、加速度センサ88が接続される。たとえば、加速度センサ88は、3軸の加速度センサであり、下側ハウジング14(上側ハウジング12でもよい)の内部に設けられる。ゲーム装置10の第1LCD16(第2LCD18)の面に対して垂直な方向の加速度、および第1LCD16(第2LCD18)の面に対して平行であり、互いに直交する2方向(縦方向および横方向)の加速度を検出する。加速度センサ88は、検出した加速度についての信号(加速度信号)をマイコン68に出力する。マイコン68は、加速度信号に基づいて、ゲーム装置10の向きを検出したり、ゲーム装置10の振動の大きさを検出したりすることができる。したがって、たとえば、マイコン68および加速度センサ88を歩数計として機能させることができる。加速度センサ88を用いた歩数計は既に周知であるため、その詳細な内容については省略するが、加速度の大きさに応じて歩数が測定される。
【0092】
また、ゲーム装置10は、マイク84およびアンプ86を備えている。マイク84およびアンプ86は、それぞれI/F回路72に接続される。マイク84は、ゲーム装置10に向かって発声ないし発生されたユーザの音声ないし音(拍手や手拍子など)を検知して、当該音声ないし音を示す音声信号をI/F回路72に出力する。アンプ86は、I/F回路72から与えられる音声信号を増幅してスピーカ(図示せず)に与える。I/F回路72は、CPU50に接続される。
【0093】
また、タッチパネル22は、I/F回路72に接続される。I/F回路72は、マイク84およびアンプ86(スピーカ)の制御を行う音声制御回路と、タッチパネル22の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル22からの信号に基づいて所定の形式のタッチ位置データを生成してCPU50に出力する。たとえば、タッチ位置データは、タッチパネル22の入力面に対して入力が行われた位置の座標を示すデータである。
【0094】
なお、タッチパネル制御回路は、タッチパネル22からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU50は、I/F回路72を介して、タッチ位置データを取得することにより、タッチパネル22に対して入力が行われた位置を知ることができる。
【0095】
操作ボタン20は、上記の各操作ボタン20a−20k(電源スイッチ20fを除く。以下、同じ。)によって構成され、CPU50に接続される。操作ボタン20からCPU50へは、各操作ボタン20a−20kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU50は、操作ボタン20からの操作データを取得し、取得した操作データに応じた処理を実行する。
【0096】
内側カメラ32および外側カメラ34は、それぞれCPU50に接続される。内側カメラ32および外側カメラ34は、CPU50の指示に応じて画像を撮像し、撮像した画像に対応する画像データをCPU50に出力する。この実施例では、CPU50は、内側カメラ32および外側カメラ34のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラ(32,34)が画像を撮像して画像データをCPU50に送る。
【0097】
第1GPU74には、第1VRAM78が接続され、第2GPU76には、第2VRAM80が接続される。第1GPU74は、CPU50からの指示に応じて、メインメモリ52に記憶されている表示画像を生成するためのデータに基づいて第1の表示画像を生成し、第1VRAM78に描画する。第2GPU76は、同様にCPU50からの指示に応じて第2の表示画像を生成し、第2VRAM80に描画する。第1VRAM78および第2VRAM80は、LCDコントローラ82に接続されている。
【0098】
LCDコントローラ82は、レジスタ82aを含む。レジスタ82aは、CPU50からの指示に応じて、「0」または「1」の値を記憶する。LCDコントローラ82は、レジスタ82aの値が「0」である場合には、第1VRAM78に描画された第1の表示画像を第2LCD18に出力し、第2VRAM80に描画された第2の表示画像を第1LCD16に出力する。また、レジスタ82aの値が「1」である場合には、第1VRAM78に描画された第1の表示画像を第1LCD16に出力し、第2VRAM80に描画された第2の表示画像を第2LCD18に出力する。
【0099】
たとえば、このようなゲーム装置10は、スリープモードに設定された状態では、すれ違い通信処理を実行する。ここで、すれ違い通信処理について簡単に説明する。スリープモードでは、無線通信モジュール64は、一定時間(たとえば、30ms)毎に、他のゲーム装置10に接続要求を示す信号(接続要求信号)を送信(ブロードキャスト)するとともに、他のゲーム装置10からの接続要求信号の受信を試みる。つまり、通信処理が間欠的に実行される。これによって、通信相手となる他のゲーム装置10がサーチ(スキャン)される。ただし、接続要求信号は、その送信元であるゲーム装置10の識別情報を含む。
【0100】
このとき、ゲーム装置10は、接続要求信号を受信すると、これに応答して、接続要求信号の送信元のゲーム装置10に、接続許可信号を送信する。ただし、接続許可信号は、その送信元であるゲーム装置10の識別情報を含む。これによって、2つのゲーム装置10で互いに他の存在を認識して、通信状態を確立する。
【0101】
ただし、接続要求信号に応答して接続許可信号を送信したゲーム装置10では、無線通信モジュール64が、CPU50を起動し、CPU50からの指示に従って、マイコン68の制御の下、電源回路70からメモリ制御回路54および保存用データメモリ56に電力の供給が開始される。また、同様に、接続許可信号を受信したゲーム装置10では、無線通信モジュール64が、CPU50を起動し、CPU50からの指示に従って、マイコン68の制御の下、電源回路70からメモリ制御回路54および保存用データメモリ56に電力の供給が開始される。
【0102】
通信状態を確立すると、2つのゲーム装置10の間で、予め設定(決定)されている、ゲームデータやメッセージデータなどのデータが送信または受信或いは送受信される。
【0103】
詳細な説明は省略するが、すれ違い通信を終了すると、各ゲーム装置10は、スリープ状態に戻る。
【0104】
したがって、プレイヤは、スリープ状態でゲーム装置10を持ち歩くと、何ら操作することなく、他のゲーム装置10との間で通信(すれ違い通信)が実行され、当該他のゲーム装置10からゲームデータやメッセージデータなどのデータを得ることができる。
【0105】
なお、ここでは、他のゲーム装置10との間ですれ違い通信処理を実行する場合について説明したが、所定のアクセスポイントとの間ですれ違い通信処理を実行するようにしてもよい。かかる場合には、アクセスポイントから送信されるゲームデータやメッセージデータなどを得ることが可能である。
【0106】
また、詳細な説明は省略するが、すれ違い通信が実行される場合、通信状態を確立した2つのゲーム装置10のうち、接続要求信号を送信したゲーム装置10が親機として機能し、接続要求信号に応答して接続許可信号を送信したゲーム装置10が子機として機能する。
【0107】
また、上述したように、スリープモードにおいては、ゲーム装置10は、歩数計としても機能し、上述のように、プレイヤが当該ゲーム装置10を持ち歩いている場合に、当該プレイヤの歩数がカウントされる。カウントされた歩数は、必要に応じて、ゲーム装置10で実行されるゲームプログラムなどの情報処理プログラムの処理に反映される。
【0108】
このような構成のゲーム装置10には、キャラクタを作成したり、他のゲーム装置10との間でキャラクタを交換したり、アクセスポイントからキャラクタを受信したり、カメラ32、34の撮影画像に基づいてキャラクタを取得したり、キャラクタの元となるデータ(後述するキャラクタ情報データ)を生成および出力したりする、似顔絵ゲームのプログラム(アプリケーションプログラム)が予め記憶されている。
【0109】
たとえば、キャラクタは、人間を模したキャラクタである。キャラクタを作成する場合について簡単に説明すると、まず、プレイヤは、作成するキャラクタの性別を決定する。次に、プレイヤは、顔と体型とを設定する。顔の設定は、パーツ単位で行われる。たとえば、顔の形、目、鼻、口、髭、黒子、髪型の各パーツについて、それぞれ複数種類の画像(パーツ画像)が用意されており、プレイヤは、所望のパーツを選択する。ただし、パーツ画像は、プレイヤの操作によって、位置、大きさ(長さ、太さなど)、形状および色を変更可能である。ただし、各パーツ(パーツ画像)が最初に配置される位置は予め決定されている。さらには、メガネ(サングラス)を装着させることも可能である。このメガネも上述の各パーツと同様に扱われ、位置や色を変更することもできる。顔が設定されると、続いて、体型が設定される。具体的には、身長と体の幅が設定される。これらは予め最大値と最小値とが決定されており、その間で設定することができる。
【0110】
顔と体型とが設定されると、作成するキャラクタのプロフィールが設定される。具体的には、キャラクタの名前(キャラクタ名)、ニックネーム、誕生日、血液型、好きな色、および作成者の名称が設定される。ただし、好きな色は、キャラクタの上着の色に反映される。
【0111】
さらに、作成するキャラクタのプロフィールが設定されると、作成するキャラクタに関する付加的な情報(付加情報)を設定する。具体的には、付加情報は、作成中のキャラクタをお気に入りとして登録するかどうかの情報、作成者のID(ゲーム装置10の識別情報)、キャラクタのバージョン、コピー許可フラグおよび送信許可フラグなどである。
【0112】
なお、図示は省略するが、性別、顔のパーツ、体型およびプロフィールのそれぞれを選択(決定)するための画面が第2LCD18に表示され、プレイヤの操作に従ってそれぞれ選択される。
【0113】
キャラクタが作成されると、当該キャラクタの情報(図4に示すキャラクタ情報)についてのデータ(キャラクタ情報データ)が保存用データメモリ56のキャラクタ本登録記憶領域5640(図8参照)に記憶される。ただし、作成(描画)されたキャラクタの画像(キャラクタ画像)についてのデータ(キャラクタ画像データ)は、メインメモリ52に記憶される(図7参照)。
【0114】
ここで、図4に示すように、キャラクタ情報データに対応するキャラクタ情報は、性別、誕生日、好きな色、お気に入りフラグ、キャラクタ名(ニックネーム)、身長および体型、キャラクタのID、各パーツとその関連情報、作成者名、作成者のID、キャラクタのバージョン、コピー許可フラグ、送信許可フラグ、NGワードチェック結果フラグおよび使用フォントのリージョンを含む。
【0115】
性別は、キャラクタに設定した性別である。誕生日は、キャラクタに設定した誕生日である。好きな色は、プレイヤの好きな色であり、この色がキャラクタの服の色に設定される。お気に入りフラグは、キャラクタの所有者または作成者が当該キャラクタを気に入っているか否かを判別するためのフラグであり、所有者または作成者によって設定される。キャラクタ名(ニックネーム)は、キャラクタに付けられた名称である。身長および体型は、キャラクタに設定された身長および体型である。キャラクタのIDは、キャラクタに付された固有の識別情報であり、当該キャラクタが作成されたときに、ゲーム装置10(CPU50)によって自動的に付される。各パーツとその関連情報は、キャラクタの各パーツの識別情報、すなわち顔の形、目、鼻、口、髭、黒子、髪型およびメガネの識別情報(画像の識別情報)と、各パーツの関連情報である。ただし、関連情報は、各パーツについての大きさ、配置位置、傾きおよび比率の変化についての情報である。
【0116】
作成者名は、キャラクタを作成したプレイヤの名称である。作成者のIDは、作成者についての識別情報であり、キャラクタが作成されたときに、ゲーム装置10(CPU50)によって自動的に付される。この実施例では、作成者のIDとして、ゲーム装置10についてのMACアドレスが付される。キャラクタのバージョンは、キャラクタがオリジナルであるか、何度か変更されているかを判別するための世代管理の情報である。
【0117】
コピー許可フラグは、キャラクタを受信したゲーム装置10において、当該キャラクタの複製を作って良いかどうかを判別するためのフラグである。送信許可フラグは、当該キャラクタを自動的に他のゲーム装置10に送信して良いかどうかを判別するためのフラグである。ただし、この実施例では送信許可フラグが送信不可を示す場合には、通信によりキャラクタを送信することが禁止されるのみならず、他のゲーム装置10が当該キャラクタを取得可能な状態にすることも禁止される。したがって、送信不可である場合には、後述するように、暗号化されたキャラクタ情報データを変換したQRコードを画面表示したり、QRコードの画像データ(コード画像データ)をメモリカード26、28に出力したりすることもできない。コピー許可フラグおよび送信許可フラグは、キャラクタの作成者の指示に従って設定(オンまたはオフ)される。
【0118】
NGワードチェック結果フラグは、キャラクタ名や作成者名に、NGワードが含まれているかどうかを判別するためのフラグである。詳細な説明は省略するが、NGワードは、予めゲーム装置10の保存用データメモリ56やメモリカード26、28に記憶されている。したがって、たとえば、キャラクタ名や作成者名が、NGワードと一致する場合またはNGワードを含む場合に、NGワードチェック結果フラグがオンされる。一方、キャラクタ名や作成者名が、NGワードと不一致である場合またはNGワードを含まない場合には、NGワードチェック結果フラグがオフされる。NGワードチェック結果フラグがオンである場合には、当該キャラクタについてのキャラクタ情報データ(暗号化されている場合も含む)を他のゲーム装置10などに送信できないようにしたり、キャラクタ名や作者名を非表示したり、他の表記(NGワード以外で予め設定された表記)に変更したりする。
【0119】
使用フォントのリージョンは、キャラクタを表示したりするアプリケーションプログラム(この実施例では、似顔絵ゲームのプログラム)が、どのリージョンのフォントを使用すれば良いかを判別可能にした情報である。たとえば、リージョンが「0」であれば、日本、アメリカ、ヨーロッパのそれぞれの言語についてのフォントを使用可能である。また、リージョンが「1」であれば、中国語のフォントを使用可能である。さらに、リージョンが「2」であれば、韓国語のフォントを使用可能である。さらにまた、リージョンが「3」であれば、台湾語のフォントを使用可能である。
【0120】
また、ゲーム装置10は、他のゲーム装置10との間でキャラクタを送受信することにより、キャラクタを交換する。これによって、ゲーム装置10は、他のゲーム装置10からの新規なキャラクタを取得する。ただし、キャラクタを交換する方法としては、特定された他のプレイヤ(ゲーム装置10)との間で、プレイヤの操作に従って、送信するキャラクタの選択およびキャラクタを交換する方法(1)と、プレイヤの操作に従って、送信するキャラクタの選択のみを行い、特定されていない他のプレイヤ(ゲーム装置10)との間で、プレイヤの操作によらないでキャラクタを交換する方法(2)とがある。方法(1)または方法(2)のいずれを実行するかは、プレイヤの操作によって、図示しないメニュー画面が表示され、当該メニュー画面で選択される。
【0121】
方法(1)が選択されると、つまり、ゲーム装置10で、キャラクタを交換することが指示されると、通信処理を開始して、キャラクタを交換する他のゲーム装置10との間で通信状態を確立する。詳細な説明は省略するが、通信相手のゲーム装置10をサーチする処理は、上述したすれ違い通信処理の場合と同様である。ただし、この場合、通信相手のゲーム装置10のプレイヤは近傍に存在するため、当該プレイヤは特定されているのである。
【0122】
ゲーム装置10が他のゲーム装置10との間で通信状態を確立すると、プレイヤは、他のゲーム装置10(プレイヤ)に送信するキャラクタを選択する。このとき、図5(A)に示すようなキャラクタ選択画面100が第2LCD18に表示される。図5(A)に示すキャラクタ選択画面100には、プレイヤが所有するすべてのキャラクタ102、102、102、…が表示される。ここで、プレイヤが所有するキャラクタとは、ゲーム装置10の保存用データメモリ56に記憶されたすべてのキャラクタ情報データのそれぞれに対応するキャラクタを意味する。したがって、プレイヤが所有するキャラクタは、後述するように、本登録されたキャラクタと本登録されていないキャラクタとを含む。
【0123】
ただし、キャラクタ選択画面100には、キャラクタの顔画像のみが表示される。ここで、顔画像は、キャラクタ情報データが示すキャラクタ情報に含まれ、各パーツとその関連情報とに基づいて生成される。つまり、各パーツとその関連情報に基づいて、パーツ画像が選択されるとともに、その大きさ(形状)、配置位置、傾斜および比率の変化が決定され、キャラクタの顔画像についてのデータが生成される。以下、キャラクタの顔画像を生成する場合について同様である。
【0124】
なお、本登録されたキャラクタのみを送信可能にする場合には、キャラクタ選択画面100には、本登録されたキャラクタのみが表示される。
【0125】
また、図5(A)には、ボタン画像110およびボタン画像112が設けられる。したがって、プレイヤが多数のキャラクタを所有しており、一度にすべてのキャラクタの顔画像を表示することができない場合には、ボタン画像110またはボタン画像112をオンすることにより、画面を左または右にスクロールすることにより、他のキャラクタの顔画像を表示することができる。
【0126】
このキャラクタ選択画面100において、プレイヤによって選択されたキャラクタについてのキャラクタ情報データの複製が送受信データバッファ524b(図7参照)に記憶(一時記憶)される。ただし、送信許可フラグが送信不可の状態に設定されているキャラクタについては、他のゲーム装置10に送信することができない。したがって、送信するキャラクタとして選択することができない。図示は省略するが、送信するキャラクタとして選択することができないキャラクタが指示された場合には、送信することができない旨と他のキャラクタを選択すべき旨のメッセージが表示される。他の実施例としては、送信許可フラグが送信不可の状態に設定されているキャラクタについては、キャラクタ選択画面100に表示しないようにしてもよい。以下、キャラクタ選択画面100を表示する場合について同じ。
【0127】
そして、送受信データバッファ524bに記憶されたキャラクタ情報データが通信相手のゲーム装置10(他のゲーム装置10)に送信される。
【0128】
なお、方法(1)では、ゲーム装置10と他のゲーム装置10との通信状態を確立した後に、キャラクタを選択するようにしてあるが、通信処理を開始する前に、キャラクタを選択しておいてもよい。
【0129】
また、プレイヤの操作に従って他のゲーム装置10と通信状態を確立したときに、通信相手となる他のゲーム装置10から送信されたキャラクタ情報データを受信し、送受信データバッファ524bに一旦記憶した後、受信したキャラクタ情報データに基づいてキャラクタを生成し、図5(B)に示すような、受信キャラクタ表示画面200を第2LCD18に表示する。具体的には、キャラクタ情報データが示すキャラクタ情報に含まれる、好きな色と、身長および体型と、各パーツとその関連情報とに基づいて、キャラクタの画像データ(キャラクタ画像データ)が生成される。まず、上述したように、キャラクタの顔画像が生成される。また、身長および体型に基づいて、キャラクタの胴体の長さおよび太さが設定される。さらに、衣服の色が好きな色で表現される。したがって、キャラクタ画像データが生成される。以下、キャラクタを生成する場合について同様である。そして、生成されたキャラクタ画像データに対応するキャラクタ202が、ゲーム装置10の第2LCD18に表示される。
【0130】
また、図5(B)に示すように、受信キャラクタ表示画面200には、ボタン画像210およびボタン画像212が表示される。たとえば、ボタン画像210がオンされると、受信したキャラクタ202が保存(本登録)される。一方、ボタン画像212がオンされると、受信したキャラクタ202が保存されない。したがって、プレイヤが、ボタン画像210をオンすると、つまり受信したキャラクタ202を保存することが決定されると、当該キャラクタ202に対応するキャラクタ画像データは、保存用データメモリ56のキャラクタ本登録記憶領域5640に記憶される。一方、プレイヤが、ボタン画像212をオンすると、つまり受信したキャラクタ202を保存しないことが決定されると、当該キャラクタ202に対応するキャラクタ情報データは消去される。
【0131】
なお、この実施例では、受信したキャラクタを保存しない場合には、当該キャラクタ202に対応するキャラクタ情報データを消去するようにしたが、保存用データメモリ56のキャラクタ一時記憶領域5642に記憶するようにしてもよい。
【0132】
たとえば、この方法(1)では、ゲーム装置10のローカル通信モジュール66を用いて、同種のゲーム装置10との間で通信処理を実行する。ただし、通信相手となる他のゲーム装置10をサーチする方法は、上述したすれ違い通信の場合と同様である。
【0133】
また、この方法(1)では、近距離無線によって他のゲーム装置10との間で通信処理を開始し、キャラクタ情報データを送受信するようにしてあるが、無線通信モジュール64を用いることにより、インターネットを介して他のゲーム装置10との間でキャラクタ情報データを送受信するようにしてもよい。つまり、近距離無線通信限定される必要はない。
【0134】
ただし、通信処理では、2つのゲーム装置10のうちの一方が親機として機能し、他方が子機として機能するため、親機が先にデータ送信を実行する場合と、子機が先にデータ送信を実行する場合とで、上記のキャラクタ情報データを送信する処理と、キャラクタ情報データを受信する処理とが入れ替わる。
【0135】
図示は省略するが、第1LCD16には、ゲーム装置10に本登録されているキャラクタがすべて表示される。したがって、受信したキャラクタ202が本登録されると、つまり当該キャラクタ202のキャラクタ情報データがキャラクタ本登録記憶領域5640に記憶されると、当該キャラクタ202は、既に表示されたキャラクタに追加されるように、表示される。
【0136】
方法(2)が選択された場合には、ゲーム装置10がスリープモードに設定されると、すれ違い通信処理が間欠的に実行され、ゲーム装置10は通信可能な他のゲーム装置10を探索する。通信可能な他のゲーム装置10を検出すると、当該他のゲーム装置10との間でキャラクタ情報データを送受信し、キャラクタ情報データ(キャラクタ)を交換する。ここでは、ゲーム装置10は、予め保存用データメモリ56の送信データ記憶領域5644(図8参照)に記憶されているキャラクタ情報データを、当該他のゲーム装置10に送信する。つまり、ゲーム装置10では、予めキャラクタが選択され、選択されたキャラクタに対応するキャラクタ情報データが、保存用データメモリ56の送信データ記憶領域5644に記憶されているのである。ただし、選択されたキャラクタに対応するキャラクタ情報データの複製が、送信記憶領域5644に記憶される。つまり、キャラクタ情報データが複写される。
【0137】
ただし、キャラクタを選択する場合には、図5(A)に示したようなキャラクタ選択画面100が第2LCD18に表示される点は、方法(1)の場合と同じである。
【0138】
また、この実施例では、すれ違い通信の場合には、プレイヤが作成したキャラクタに対応するキャラクタ情報データのみが送信可能である。したがって、すれ違い通信では、キャラクタ情報データを送信するとき、送信許可フラグが送信許可を示すとともに、キャラクタ情報データに含まれる作成者のIDとして設定されたMACアドレスと、ゲーム装置10についてのMACアドレスとが比較され、一致する場合にのみ、当該キャラクタ情報データが送信される。
【0139】
また、すれ違い通信処理によって受信されたキャラクタ情報データに基づくキャラクタは、スリープモードから通常モードに移行されたときに、第2LCD18に表示される。ここでは、図示は省略するが、図5(B)に示したような受信キャラクタ表示画面200と同様の画面(登録画面)が第2LCD18に表示される。ただし、すれ違い通信では、受信したキャラクタ情報データは、保存用データメモリ56のキャラクタ一時記憶領域5642に記憶される。したがって、この実施例では、登録画面では、すれ違い通信により受信したキャラクタ(キャラクタ情報データ)を本登録するか否かが決定される。
【0140】
ここで、登録画面(図示せず)には、キャラクタを本登録することを決定するためのボタン画像と本登録しないことを決定するためのボタン画像とが表示される。ただし、すれ違い通信では、複数のキャラクタ(キャラクタ情報データ)を受信している場合があるため、かかる場合には、複数のキャラクタが表示されるとともに、複数のキャラクタのそれぞれについて本登録するか否かが決定可能にされている。
【0141】
ここで、すれ違い通信より受信したキャラクタを本登録することが決定されると、当該キャラクタに対応するキャラクタ情報データがキャラクタ本登録記憶領域5640に記憶される。一方、すれ違い通信より受信したキャラクタを本登録しないことが決定されると、当該キャラクタに対応するキャラクタ情報データはキャラクタ一時記憶領域5642に記憶されたままである。これらの決定は、今回のすれ違い通信により受信されたすべてのキャラクタ(キャラクタ情報データ)について実行される。
【0142】
詳細な説明は省略するが、たとえば、すれ違い通信処理においては、受信されたキャラクタ情報データには、受信したときにタイムスタンプされる。また、スリープモードを開始するときと終了(通常モードに移行)するときとの日時がそれぞれ記憶されている。したがって、日時を参照することにより、登録画面を表示する際に、直前のスリープモードにおいて受信されたキャラクタ情報データに基づくキャラクタが生成および表示される。
【0143】
また、詳細な説明は省略するが、キャラクタ本登録記憶領域5640に記憶されたキャラクタ情報データに従うキャラクタを使用して、或るゲームについてのゲーム処理を実行することができる。たとえば、プレイヤキャラクタやノンプレイヤキャラクタとして使用することができる。
【0144】
さらに、この実施例では、キャラクタ本登録記憶領域5640に記憶可能なキャラクタ情報データ(キャラクタ)の数(最大数)と、キャラクタ一時記憶領域5642に記憶されるキャラクタ情報データ(キャラクタ)の最大数とは予め決定されている。キャラクタ本登録記憶領域5640では、たとえば、最大で100体のキャラクタについてのキャラクタ情報データを記憶することができ、その登録および削除は、プレイヤによって操作される。一方、キャラクタ一時記憶領域5642では、たとえば、最大で1000体のキャラクタについてのキャラクタ情報データを記憶することができ、すれ違い通信よって、受信したキャラクタ情報データが自動的に記憶され、その最大数を超えると、古い順にキャラクタ情報データがキャラクタ一時記憶領域5642から自動的に削除(消去)される。
【0145】
このように、ゲーム装置10では、他のゲーム装置10などと通信することにより、キャラクタ情報データを交換することにより、受信したキャラクタ情報データに基づいて新しいキャラクタを取得することができる。しかし、通信環境に置くことができないゲーム装置10では、新しいキャラクタを取得することができない。そこで、この実施例では、通信以外の方法によって、新規のキャラクタを取得できるようにしてある。
【0146】
たとえば、ゲーム装置10のカメラ34(または32)を用いて、QRコード(株式会社デンソーウェーブの登録商標)を撮像することにより、キャラクタを取得できるようにしてある。
【0147】
図6(A)−図6(E)には、QRコードの例(例1−例5)が示される。ただし、これらは単なる例示であり、実際に何らかの情報(ここでは、キャラクタ)が得られるものではない。
【0148】
図6(A)に示すQRコードの例1では、その中央部に、キャラクタの総称が記載されるとともに、QRコードの下側(外側)にキャラクタ名が記載される。。したがって、このQRコードの例1を見たプレイヤは、ゲーム装置10で使用されるキャラクタについてのキャラクタ情報データを取得できることを知ることができるとともに、取得できるキャラクタの種類を知ることもできる。このように、キャラクタの総称およびキャラク名を提示(教示)することにより、プレイヤが所望のキャラクタを取得できるようにしてある。
【0149】
図6(B)に示すQRコードの例2では、その中央部に、キャラクタの顔画像が表示される。したがって、このQRコードの例2を見たプレイヤは、ゲーム装置10で使用されるキャラクタを取得できることを知ることができるとともに、取得できるキャラクタの種類も知ることができる。たとえば、キャラクタの数が相当数存在するような場合には、このように、顔画像を表示して、キャラクタの種類を提示(教示)することにより、プレイヤが同種類のキャラクタを重複的に取得することを防止することができる。
【0150】
図6(C)のQRコードの例3は、図6(A)のQRコードの例1と同様に、キャラクタの総称を記載するものであるが、その総称は、QRコードの外側に記載される。ただし、図6(C)では、キャラクタ名が表示されておらず、具体的なキャラクタの内容(種類)が不明であるため、どのようなキャラクタを得ることができるのかという期待感と楽しさとがある。
【0151】
図6(D)のQRコードの例4は、図6(B)のQRコードの例2と同様に、キャラクタの種類を提示するものであるが、キャラクタ名が、QRコードの外側に記載される。ただし、キャラクタ名に代えて、キャラクタの顔画像をQRコードの外側に表示するようにしてもよい。
【0152】
図6(E)に示すQRコードの例5では、図6(C)とは異なり、その中央部に、キャラクタの総称が記載される。したがって、このQRコードの例5を見たプレイヤは、ゲーム装置10で使用されるキャラクタについてのキャラクタ情報データを取得できることを知ることができる。
【0153】
なお、図6(A)、図6(C)および図6(E)では、キャラクタの総称を記載するようにしてあるが、キャラクタの総称を示すロゴ、アニメのタイトルやゲームタイトル(ゲームソフト)の名称を記載するようにしてもよい。
【0154】
たとえば、このようなQRコードは、上述したようなキャラクタ情報についてのキャラクタ情報データを暗号化するとともに、暗号化されたキャラクタ情報データを2次元の情報にコード化したものである。
【0155】
なお、キャラクタ情報データを暗号化する方式は、任意の方式を採用することができる。採用した暗号化の方式に応じて、後述する復号プログラム522gおよび暗号プログラム522hが決定される。
【0156】
上述したようなQRコードは、雑誌やカードに印刷されたり、所定のホームページやインターネットサイトの画面に表示されたりする。したがって、プレイヤが、QRコードの読み取りを指示すると、ゲーム装置10では、外側カメラ34が起動され、QRコードの読み取りが開始される。このとき、外側カメラ34は、オートフォーカスを実行するとともに、スルー画像を第1LCD16に表示する。そして、合焦状態になったときに、外側カメラ34で撮像している静止画像(QRコードの画像)が取り込まれる。その後、ゲーム装置10では、QRコードの画像データから暗号化されたキャラクタ情報データが算出(復号)される。さらに、ゲーム装置10では、暗号化されたキャラクタ情報データを復号する。そして、上述したように、キャラクタ情報データに基づいてキャラクタを生成し、図5(B)に示した受信したキャラクタ表示画面200と同様の画面(図示せず)を表示する。プレイヤが、QRコードから得たキャラクタを記憶するかどうかを決定する点は、方法(1)において受信したキャラクタを記憶するかどうかを決定する場合と同じである。プレイヤが、QRコードから得たキャラクタを記憶することを決定すると、当該キャラクタに対応するキャラクタ情報データがキャラクタ本登録記憶領域5640に記憶される。一方、プレイヤが、QRコードから得たキャラクタを記憶しないことを決定すると、当該キャラクタに対応するキャラクタ情報データは削除される。ただし、削除せずに、キャラクタ一時記憶領域5642に記憶するようにしてもよい。
【0157】
また、ゲーム装置10では、キャラクタデータからQRコードについての画像データ(コード画像データ)を生成し、QRコードを画面表示したり、コード画像データをメモリカード26またはメモリカード28に出力したりすることもできる。
【0158】
前者の場合には、プレイヤがQRコードの画面表示を指示すると、図5(A)に示したようなキャラクタ選択画面100が第2LCD18に表示される。プレイヤは、キャラクタ選択画面100を用いて、所望のキャラクタを選択する。すると、当該キャラクタについてのキャラクタ情報データが読み出され、暗号化される。次に、暗号化されたキャラクタ情報データがQRコードの画像データ(コード画像データ)に変換される。このコード画像データは、保存用データメモリ56のコード画像データ記憶領域5646(図8参照)に記憶される。その後、コード画像データに対応するQRコードが、たとえば、第1LCD16に表示される。かかる場合には、画像データが第1LCD16に出力されるのである。
【0159】
この場合、第1LCD16に表示されたQRコードを撮像させることにより、他のゲーム装置10にキャラクタを提供することができる。逆に、他のゲーム装置10の第1LCD16に表示されたQRコードを撮像することにより、上述したように、キャラクタの提供を受けることができる。したがって、たとえば、無線通信が禁止されているような場所においても、キャラクタを交換することができ、新しいキャラクタを取得することができる。
【0160】
後者の場合には、プレイヤが、QRコードのメモリカードへの出力を指示すると、図5(A)に示したようなキャラクタ選択画面100が第2LCD18に表示される。プレイヤは、キャラクタ選択画面100を用いて、所望のキャラクタを選択する。すると、前者の場合と同様に、当該キャラクタについてのキャラクタ情報データが読み出され、暗号化される。次に、暗号化されたキャラクタ情報データがコード画像データに変換される。このコード画像データは、保存用データメモリ56のコード画像データ記憶領域5646に記憶される。その後、コード画像データは、指定されたメモリカード26またはメモリカード28に出力される。
【0161】
この場合には、たとえば、郵送するなどにより、メモリカード26、28をプレイヤ間で交換し、各プレイヤが、メモリカード26、28に記憶された画像データに対応するQRコードをコンピュータの画面に表示し、それをゲーム装置10で撮像することにより、キャラクタを交換することができる。
【0162】
なお、この実施例では、コード画像データをメモリカード26、28に出力するようにしてあるが、これに限定される必要はない。たとえば、コード画像データを添付ファイルとして、電子メールやメッセージデータを、所定の宛先に送信したり、ネットワーク上の所定のサーバにアップロードしたりすることも可能である。たとえば、所定のサーバにアップロードするような場合には、新しいキャラクタ(キャラクタ情報データ)をその所定のサーバからダウンロードすることも可能である。
【0163】
また、アプリケーションプログラムが実行されることにより、メモリカード26およびメモリカード28に記憶されているキャラクタ情報データの複製を記憶することにより、新しいキャラクタを取得することも可能である。かかる場合には、ゲーム装置10の保存用データメモリ56に記憶されたアプリケーションプログラムが実行され、または、ゲーム装置10に装着されたメモリカード26およびメモリカード28に記憶されたアプリケーションプログラムが実行される。実行中のアプリケーションからの指示に従って表示されたキャラクタについてのキャラクタ情報データの複製が、プレイヤの指示に従って、メモリカード26およびメモリカード28から取得され、保存用データメモリ56のキャラクタ本登録記憶領域5640に記憶される。
【0164】
たとえば、新しいゲームソフトを販売する際に、特典(おまけ)として、或るキャラクタについてのキャラクタ画像データを、そのゲームプログラムとともに、メモリカード26、28に記憶しておき、これを購入したプレイヤに提供する場合などが該当する。
【0165】
図7は図3に示したメインメモリ52のメモリマップ520の例を示す図解図である。図7に示すように、メインメモリ52は、プログラム記憶領域522およびデータ記憶領域524を含む。プログラム記憶領域522には、ゲームプログラムが記憶され、ゲームプログラムは、メイン処理プログラム522a、画像生成プログラム522b、画像表示プログラム522c、通信プログラム522d、撮像プログラム522e、送信設定プログラム522f、復号プログラム522g、暗号化プログラム522h、およびコード出力プログラム522iなどによって構成される。
【0166】
メイン処理プログラム522aは、この実施例の仮想ゲーム(似顔絵作成ゲーム)のメインルーチンを処理するためのプログラムである。画像生成プログラム522bは、後述する画像データ524cを用いて、画面(100、200など)を表示するためのゲーム画像データを生成する。画像表示プログラム522cは、画像生成プログラム522bに従って生成されたゲーム画像データを、画面として第1LCD16または第2LCD18あるいはそれらの両方に表示する。
【0167】
通信プログラム522dは、他のゲーム装置10またはコンピュータ或いはアクセスポイントと通信するためのプログラムである。撮像プログラム522eは、撮像処理(通常の撮像処理とQRコードの撮像処理)を実行するためのプログラムである。
【0168】
具体的には、通常の撮像処理が選択(指示)されると、撮像プログラム522eが実行され、内側カメラ32または外側カメラ34が起動され、第1LCD16(または第2LCD18)にスルー画像が表示される。そして、プレイヤがシャッターボタン(Lボタン20iまたはRボタン20j)をオンすると、シャッターボタンがオンされたときの静止画像が取り込まれ、この静止画像に対応する撮像画像データ524eが一旦メインメモリ52のデータ記憶領域524に記憶される。この撮像画像データ524eは、その後、プレイヤの操作によって、似顔絵作成ゲームの処理に使用されたり、メモリカード26、28や保存用データメモリ56に記憶されたり、削除(消去)されたりする。
【0169】
また、QRコードの撮像処理が指示されると、撮像プログラム522eが実行され、外側カメラ34が起動され、オートフォーカス処理が実行されるとともに、第1LCD18(第1LCD16でも可)にスルー画像が表示される。そして、合焦状態になると、そのときの静止画像(QRコードの画像)が取り込まれ、この静止画像に対応する撮像画像データ524eが一旦メインメモリ52のデータ記憶領域524に記憶される。この撮像画像データ524eから暗号化キャラクタ情報データが算出される。その後、後述する復号プログラム522gに従って、暗号化キャラクタ情報データが復号され、キャラクタ情報データが取得される。
【0170】
送信設定プログラム522fは、プレイヤの指示に従って選択されたキャラクタを送信可能に設定するためのプログラムである。具体的には、プレイヤが選択したキャラクタについてのキャラクタ情報データを、保存用データメモリ56の送信データ記憶領域5644(図8参照)に記憶する。復号プログラム522gは、暗号化されたキャラクタ情報データを復号するためのプログラムである。暗号化プログラムは、キャラクタ情報データを暗号化するためのプログラムである。コード出力プログラムは、暗号化されたキャラクタ情報データを含むキャラクタデータをQRコードに変換し、変換したQRコードについての画像データ(コード画像データ)を出力するためのプログラムである。上述したように、コード画像データが、ゲーム装置10の第1LCD16(または第2LCD18)に出力される。したがって、QRコードが画面表示される。また、コード画像データが、ゲーム装置10に装着されたメモリカード26、28に出力(送信)される。
【0171】
図示は省略するが、ゲームプログラムには、音出力プログラムおよびバックアッププログラムなども含まれる。音出力プログラムは、図示しない音データを用いて、キャラクタの音声ないし擬声音、効果音、音楽(BGM)のような、ゲームに必要な音を出力するためのプログラムである。バックアッププログラムは、プレイヤの指示や所定のイベントに従って、ゲームデータ(途中データ、結果データ)をメモリカード26、28や保存用データメモリ56に記憶(セーブ)するためのプログラムである。
【0172】
データ記憶領域524には、操作情報バッファ524aおよび送受信データバッファ524bが設けられる。操作情報バッファ524aは、操作ボタン20からの操作データやタッチパネル22からのタッチ位置データを時系列に従って記憶(一時記憶)する。操作データやタッチ位置データは、CPU50の処理で使用された後に消去される。送受信データバッファ524bは、すれ違い通信以外の通信でデータを送受信する際に、送信するデータや受信したデータを記憶(一時記憶)する。たとえば、送信するデータは、他のゲーム装置10等で受信されたことが確認された場合や一定時間が経過した場合に消去される。また、受信したデータは、メモリカード26、28または保存用データメモリ56に移動された場合やCPU50の処理に使用された場合に消去される。
【0173】
また、データ記憶領域524には、画像データ524c、キャラクタ画像データ524d、撮像画像データ524eおよびコード画像データ524fが記憶される。画像データ524cは、ゲーム画像データを生成するためのポリゴンデータやテクスチャデータなどのデータおよび上述した各パーツについての複数種類のパーツ画像のデータである。キャラクタ画像データ524dは、キャラクタ情報データに従って生成されたキャラクタの画像データである。撮像画像データ524eは、撮像プログラム522eに従って撮像された静止画像(QRコードの画像)についての画像データである。コード画像データ524fは、上述したQRコードについての画像データである。
【0174】
図示は省略するが、データ記憶領域には、音データなどの他のデータが記憶され、また、ゲーム装置10の処理に必要なタイマ(カウンタ)やレジスタも設けられる。
【0175】
図8は図3に示した保存用データメモリ56のメモリマップ560を示す図解図である。保存用データメモリ56は、プログラム記憶領域562およびデータ記憶領域564を含む。プログラム記憶領域562は、プログラム記憶領域562には、ゲームプログラムなどのアプリケーションプログラムがインストール(記憶)される。データ記憶領域564は、さらに、キャラクタ本登録記憶領域5640、キャラクタ一時記憶領域5642、送信データ記憶領域5644、コード画像データ記憶領域5646および暗号化キャラクタ情報データ記憶領域5648などを含む。
【0176】
キャラクタ本登録記憶領域5640は、ゲーム装置10に本登録されたキャラクタについてのキャラクタ情報データを記憶する。たとえば、キャラクタ本登録記憶領域5640に記憶可能なキャラクタ情報データの数は予め決定されている。この実施例では、最大で100体のキャラクタについてのキャラクタ情報データを記憶することができる。このキャラクタ本登録記憶領域5640に記憶されているキャラクタ情報データは、プレイヤの操作のみによって、削除(消去)される。
【0177】
キャラクタ一時記憶領域5642は、ゲーム装置10に一時的(仮に)登録されたキャラクタについてのキャラクタ情報データを記憶する。つまり、プレイヤによって本登録することや削除することが決定されていないキャラクタについてのキャラクタ情報データが記憶されているのである。ただし、このキャラクタ情報データは、他のゲーム装置10等から受信したものである。このキャラクタ一時記憶領域5642に記憶可能なキャラクタ情報データの数も予め決定されている。この実施例では、最大で1000体のキャラクタについてのキャラクタ情報データを記憶することができる。このキャラクタ一時記憶領域5642に記憶されているキャラクタ情報データは、プレイヤの操作のみによって、本登録記憶領域5640に移動されるが、新しいキャラクタ情報データを記憶する際に、最大数を超える場合には、最も古いキャラクタ情報データが自動的に削除される。ただし、プレイヤの操作によって削除されることもある。
【0178】
送信データ記憶領域5644は、すれ違い通信処理において、他のゲーム装置10に送信することが設定されたキャラクタのキャラクタ情報データを記憶する。この実施例では、プレイヤが選択したキャラクタについてのキャラクタ情報データの複製が、送信データ記憶領域5644に記憶される。また、送信データ記憶領域5644に記憶されたキャラクタ情報データの複製が他のゲーム装置10等に送信されるため、複数のゲーム装置10等との間でキャラクタ情報データを交換することができる。
【0179】
コード画像データ記憶領域5646は、QRコードを画面表示したり、コード画像データをメモリカード26、28に出力したりする際に生成されるコード画像データを記憶する。暗号化キャラクタ情報データ記憶領域5468は、コード出力処理において、暗号化されたキャラクタ情報データを記憶する。
【0180】
なお、上述したように、交換することにより得たキャラクタ画像データは、キャラクタ一時記憶領域5642に記憶される。
【0181】
図9は、方法(1)が選択された場合に、2つのゲーム装置10の間でキャラクタ情報データが送受信される処理(キャラクタ送受信処理(1))を示す。ただし、説明の便宜上、キャラクタ情報データを送信する側のゲーム装置10をゲーム装置Aとし、キャラクタ情報データを受信する側のゲーム装置10をゲーム装置Bとする。また、この実施例では、キャラクタ情報データを交換するため、一方のゲーム装置10がゲーム装置Aとなり、他方のゲーム装置10がゲーム装置Bとなり、キャラクタ送受信処理(1)が実行された後に、一方のゲーム装置10がゲーム装置Bとなり、他方のゲーム装置10がゲーム装置Aとなり、キャラクタ送受信処理(1)が実行される。ただし、通信相手をサーチする処理については、この送受信処理(1)が開始される前に実行されているもとする。これらのことは、後述する方法(2)の場合についても同じである。
【0182】
なお、キャラクタ情報データを交換しない場合には、送信側のゲーム装置10をゲーム装置Aとし、受信側のゲーム装置10をゲーム装置Bとすることにより、キャラクタ送受信処理(1)を一度実行すればよい。
【0183】
図9に示すように、キャラクタ送受信処理(1)を開始すると、ゲーム装置AのCPU50は、ステップS1で、所有するキャラクタを生成する。つまり、キャラクタ本登録記憶領域5640およびキャラクタ一時記憶領域5642に記憶されるすべてのキャラクタ情報データの各々についてのキャラクタを生成する。以下、所有するキャラクタを生成する場合について同じ。
【0184】
次のステップS3では、図5(A)に示したようなキャラクタ選択画面100を第2LCD18に表示する。続くステップS5では、キャラクタが選択されたかどうかを判断する。
【0185】
ステップS5で“NO”であれば、つまりキャラクタが選択されていなければ、同じステップS5に戻る。一方、ステップS5で“YES”であれば、つまりキャラクタが選択されれば、ステップS7で、送信可能かどうかを判断する。ここでは、CPU50は、選択されたキャラクタのキャラクタ情報データを参照して、送信許可フラグが送信可能な状態を示すかどうかを判断する。
【0186】
なお、ステップS7では、送信許可フラグのみに基づいて送信可能かどうかを判断するようにしてあるが、さらに、NGワードチェック結果フラグに基づいて送信可能かどうかを判断するようにしてもよい。また、すれ違い通信(方法(2))の場合と同様に、自分が作成したキャラクタのみを送信可能にする場合には、作成者のID(MACアドレス)とゲーム装置10についてのMACアドレスとが一致するかどうかを判断するようにしてもよい。これらのことは、後述するコード出力処理(1)およびコード出力処理(2)についても同じである(図13、図14参照)。
【0187】
ステップS7で“NO”であれば、つまり送信不能であれば、ステップS5に戻る。ただし、このとき、キャラクタを選択できない旨と別のキャラクタを選択するべき旨のメッセージが画面表示される。一方、ステップS7で“YES”であれば、つまり送信可能であれば、ステップS9で、選択されたキャラクタについてのキャラクタ情報データを通信相手の他のゲーム装置10(ここでは、ゲーム装置B)に送信する。
【0188】
すると、ゲーム装置BのCPU50は、ステップS11で、キャラクタ情報データを受信し、ステップS13で、当該キャラクタ情報データからキャラクタを生成し、つまりキャラクタの画像を描画し、ステップS15で、生成したキャラクタを表示する。つまり、図5(B)に示した受信キャラクタ表示画面200が第2LCD18に表示される。
【0189】
次のステップS17では、保存するかどうかを判断する。つまり、CPU50は、ボタン画像210がオンされたか、またはボタン画像212がオンされたかを判断する。ステップS17で“NO”であれば、つまり保存しない場合には、ステップS19で、当該キャラクタ情報データを削除して、キャラクタ送受信処理(1)を終了する。一方、ステップS17で“YES”であれば、つまり保存する場合には、ステップS21で、当該キャラクタ情報データを本登録記憶領域5640に記憶して、キャラクタ送受信処理(1)を終了する。厳密に言うと、受信されたキャラクタ情報データは、送受信データバッファ524bに一時記憶されているため、ステップS21では、この一時記憶されているキャラクタ情報データが、キャラクタ本登録記憶領域5640に移動(記憶)される。
【0190】
図示は省略するが、受信したキャラクタ情報データが保存された場合には、その後、既にゲーム装置10に本登録され、第1LCD16に表示されているキャラクタに追加されるように、受信したキャラクタ情報データについてのキャラクタが表示される。このことは、後述するキャラクタ取得処理(1)およびキャラクタ取得処理(2)についても同様である。
【0191】
なお、図9に示すキャラクタ送受信処理(1)では、キャラクタ情報データを送信する際に、当該キャラクタ情報データ(キャラクタ)を送信可能かどうかを判断するようにしたが、ステップS1で、所有するキャラクタを生成する際に、送信可能かどうかを判断し、送信不可のキャラクタについては、ステップS3で、キャラクタ選択画面に表示しないようにしてもよい。
【0192】
図10は、上述した方法(2)が選択された場合に、2つのゲーム装置10間で実行されるキャラクタ送受信処理(2)を示すフロー図である。図10に示すように、キャラクタ送受信処理(2)を開始すると、ゲーム装置AのCPU50は、ステップS31で、送信データ記憶領域564に記憶されたキャラクタ情報データが送信可能かどうかを判断する。ここでは、CPU50は、キャラクタ情報データが示すキャラクタ情報に含まれる送信許可フラグを参照して、送信可能な状態であるかどうかを判断する。また、CPU50は、作成者のIDを参照して、ゲーム装置10のMACアドレスと一致するかどうかに基づいて、このゲーム装置10で作成されたキャラクタであるかどうかを判断する。
【0193】
なお、上述したように、さらにNGワードチェック結果フラグを参照して、送信可能かどうかを判断するようにしてもよい。
【0194】
また、図10に示す例では、キャラクタ情報データを送信する際に、送信可能かどうかを判断するようにしたが、送信対象を選択するためのキャラクタ選択画面100を表示する際に、送信可能でないキャラクタを表示しないようにしてもよい。
【0195】
ステップS31で“NO”であれば、つまり送信可能でなければ、そのまま送受信処理(2)を終了する。一方、ステップS31で“YES”であれば、つまり送信可能であれば、ステップS33で、送信データ記憶領域5644に記憶されたキャラクタ情報データをゲーム装置Bに送信する。すると、ゲーム装置BのCPU50は、ステップS34で、キャラクタ情報データを受信し、ステップS37で、当該キャラクタ情報データをキャラクタ一時記憶領域5642に記憶して、キャラクタ送受信処理を終了する。
【0196】
なお、上述したように、方法(2)の場合に、送受信されたキャラクタ情報データに基づくキャラクタは、スリープモードから通常モードに移行したときに、生成および表示される。
【0197】
図11は、すれ違い通信処理によって受信されたキャラクタ情報データを本登録するための登録処理のフロー図である。この登録処理は、スリープモードから通常モードに移行したときに、スリープ中にキャラクタ情報データを受信していた場合に実行される。
【0198】
図11に示すように、CPU50は、登録処理を開始すると、ステップS41で、キャラクタ一時記憶領域5642に記憶されたキャラクタ情報データからキャラクタを生成する。ここでは、直前のスリープモードにおいて受信されたすべてのキャラクタ情報データに基づくキャラクタが生成される。次のステップS43では、ステップS41で生成したキャラクタを表示する。
【0199】
続いて、ステップS45では、キャラクタ本登録記憶領域5640への移動が指示されたかどうかを判断する。ステップS45で“NO”であれば、つまりキャラクタ本登録記憶領域5640への移動が指示されていなければ、そのままステップS49に進む。一方、ステップS45で“YES”であれば、つまりキャラクタ本登録記憶領域5640への移動が指示されれば、ステップS47で、当該キャラクタ情報データをキャラクタ一時記憶領域5642からキャラクタ本登録記憶領域5640に移動して、ステップS49に進む。つまり、ステップS47では、CPU50は、当該キャラクタ情報データの複製をキャラクタ本登録記憶領域5640に記憶した後、当該キャラクタ情報データをキャラクタ一時記憶領域5642から消去する。
【0200】
ステップS49では、終了かどうかを判断する。つまり、CPU50は、直前のスリープモードにおけるすれ違い通信より受信したすべてのキャラクタ情報データについて登録処理(S45およびS47)を終了したり、プレイヤによって登録終了の指示が入力されたりしたかどうかを判断する。ステップS49で“NO”であれば、つまり終了でなければ、ステップS45に戻る。一方、ステップS49で“YES”であれば、つまり終了であれば、登録処理を終了する。
【0201】
なお、この実施例では、図11に示す登録処理では、直前のスリープモードにおいて受信されたキャラクタ情報データのみを本登録するかどうかの対象にしたが、キャラクタ一時記憶領域5642に記憶されているすべてのキャラクタ情報データを本登録するかどうかの対象にしてもよい。このようにすれば、一旦本登録しないことが選択されたキャラクタ情報データについても、後に本登録することができる。ただし、かかる場合には、登録処理を、スリープモードから通常モードに移行したときだけでなく、プレイヤの指示に従って実行するようにしてもよい。
【0202】
図12は、キャラクタ取得処理(1)を示すフロー図である。図12に示すように、CPU50は、キャラクタ取得処理(1)を開始すると、ステップS61で、QRコードを撮像する。QRコードの撮像処理については上述したとおりである。次のステップS63では、撮像したQRコードから、暗号化されたキャラクタ情報データを抽出する。つまり、CPU50は、QRコードを撮像した撮像画像を解読して、暗号化されたキャラクタ情報データに変換する。続いて、ステップS65では、暗号化されたキャラクタ情報データを復号し、ステップS67で、復号したキャラクタ情報データからキャラクタを生成し、ステップS69で、キャラクタを表示する。つまり、図5(B)に示したような受信キャラタ表示画面200と同様の登録画面(図示せず)が第2LCD18に表示される。
【0203】
続くステップS71では、QRコードから取得したキャラクタ情報データを保存するかどうかを判断する。つまり、プレイヤによって保存することが指示(決定)されたか、保存しないことが指示されたかを判断する。ステップS71で“NO”であれば、つまりQRコードから取得したキャラクタ情報データを保存しない場合には、ステップS73で、当該キャラクタ情報データをキャラクタ本登録記憶領域5640に記憶して、キャラクタ取得処理(1)を終了する。
【0204】
図13はコード出力処理(1)を示すフロー図である。図13に示すように、CPU50は、コード出力処理(1)を開始すると、ステップS81で、所有するキャラクタを生成する。次のステップS83では、図5(A)に示したようなキャラクタ選択画面100を第2LCD18に表示する。続くステップS85では、キャラクタが選択されたかどうかを判断する。
【0205】
ステップS85で“NO”であれば、同じステップS85に戻る。一方、ステップS85で“YES”であれば、ステップS87で、送信可能(出力可能)かどうか判断する。つまり、CPU50は、選択されたキャラクタについてのキャラクタ情報データを参照し、送信許可フラグが送信可能な状態であるかどうかを判断する。
【0206】
ただし、上述したように、さらに、作成者のIDやNGワードチェック結果フラグに基づいて、送信可能(出力可能)かどうかを判断してもよい。
【0207】
ステップS87で“NO”であれば、つまり送信不能であれば、そのままステップS85に戻る。図示は省略するが、このとき、キャラクタを選択できない旨と他のキャラクタを選択すべき旨のメッセージが画面表示される。これは、後述するコード出力処理(2)についても同じである。一方、ステップS87で“YES”であれば、つまり送信可能であれば、ステップS89で、選択されたキャラクタについてのキャラクタ情報データを暗号化する。図示は省略するが、このとき、暗号化されたキャラクタ情報データは、暗号化キャラクタ情報データ記憶領域5648に記憶される。
【0208】
次のステップS91では、暗号化されたキャラクタ情報データを用いて、QRコードの画像データ(コード画像データ)を生成する。続くステップS93では、生成したコード画像データをコード画像データ記憶領域5646に記憶する。そして、ステップS95で、QRコードを表示して、コード出力処理(1)を終了する。たとえば、ステップS95では、コード画像データ記憶領域5646に記憶されたコード画像データを用いて、ゲーム装置10の第1LCD16にQRコードが表示される。
【0209】
なお、図13では、キャラクタを選択した際に、送信可能(出力可能)かどうかを判断するようにしたが、所有するキャラクタを生成する際に、出力可能かどうかを判断して、出力不可のキャラクタについてはキャラクタ選択画面に表示せずに、選択できないようにしておいてもよい。このことは、コード出力処理(2)についても同じである。
【0210】
図14はコード出力処理(2)を示すフロー図である。図14に示すように、CPU50は、コード出力処理(2)を開始すると、ステップS101で、所有するキャラクタを生成する。次のステップS103では、図5(A)に示したようなキャラクタ選択画面100を第2LCD18に表示する。続くステップS105では、キャラクタが選択されたかどうかを判断する。
【0211】
ステップS105で“NO”であれば、同じステップS105に戻る。一方、ステップS105で“YES”であれば、ステップS107で、送信可能(出力可能)かどうかを判断する。ステップS107で“NO”であれば、そのままステップS105に戻る。一方、ステップS107で“YES”であれば、ステップS109で、選択されたキャラクタについてのキャラクタ情報データを暗号化する。このとき、暗号化されたキャラクタ情報データは、暗号化キャラクタ情報データ記憶領域5468に記憶される。
【0212】
次のステップS111では、暗号化されたキャラクタ情報データを用いてQRコードのコード画像データを生成する。続くステップS113では、生成したコード画像データをコード画像データ記憶領域5646に記憶する。そして、ステップS115で、QRコードの画像データを出力して、コード出力処理(2)を終了する。たとえば、ステップS115では、ゲーム装置10に装着されたメモリカード26、28にQRコードのコード画像データが出力される(書き込まれる)。
【0213】
なお、この実施例では、QRコードの出力方法ないし出力先の違いに応じて異なる出力処理を実行するようにしてあるが、コード画像データを生成するまでは同じ処理であるため、コード画像データを生成した後に、QRコードを表示するか、または、そのコード画像データをメモリカード26、28に出力するかを選択するようにして、コード出力処理を1つにまとめることも可能である。
【0214】
図15はキャラクタ取得処理(2)を示すフロー図である。図15に示すように、CPU50は、キャラクタ取得処理(2)を開始すると、ステップS121で、アプリケーションの指示により、キャラクタ情報データからキャラクタを生成する。詳細な説明は省略するが、ここでは、CPU50は、メモリカード26、28に記憶されているキャラクタ情報データからキャラクタを生成する。次のステップS123では、生成したキャラクタを表示する。ここでは、図5(B)に示した受信キャラクタ表示画面200と同様の登録画面(図示せず)が表示される。この登録画面は、QRコードからキャラクタを取得する場合と同様の画面である。したがって、重複した説明は省略する。
【0215】
続いて、ステップS125では、保存するかどうかを判断する。ステップS125で“NO”であれば、つまり保存しない場合には、そのままキャラクタ取得処理(2)を終了する。一方、ステップS125で“YES”であれば、つまり保存する場合には、ステップS127で、キャラクタ情報データの複製をメモリカード26、28から読み出して、キャラクタ本登録記憶領域5640に記憶して、キャラクタ取得処理(2)を終了する。
【0216】
この実施例によれば、通信によらないで、キャラクタを取得することができるため、通信環境を整えることができないプレイヤであっても、たとえば、QRコードが印刷された書籍やカードなどの印刷物或いはQRコードの画像データが記憶されたメモリカードを入手することにより、キャラクタを収集することができる。つまり、より多くのユーザが新規のキャラクタを取得することができる。
【0217】
なお、この実施例では、QRコードを用いるようにしてあるが、バーコードなどの他の情報を用いるようにしてもよい。
【0218】
また、この実施例では、スリープモードが設定されているときに、すれ違い通信処理を実行するようにしたが、電源をオンしている状態で、プレイヤがゲーム装置を使用していないときに、すれ違い通信処理を実行するようにしてもよい。
【0219】
さらに、この実施例では、キャラクタ画像データをメインメモリに記憶するようにしたが、対応するキャラクタ情報データに関連付けて同じ記憶領域(5640、5642)に記憶するようにしてもよい。かかる場合には、一度生成したキャラクタ(キャラクタ画像データ)を用いることにより、次回以降のキャラクタの生成や表示の処理負荷を軽減することができる。
【0220】
さらにまた、ゲーム装置の構成は実施例のものに限定される必要はない。たとえば、カメラは、1つでもよく、無くてもよい。また、タッチパネルを2つのLCD上に設けてもよい。
【0221】
また、この実施例では、携帯ゲーム装置同士が通信する場合について説明したが、この実施例の似顔絵ゲームのプログラムを記憶するものであれば、携帯電話機、PDAなど、持ち運びが容易な他の携帯情報端末にも適用可能である。同様に、この実施例の似顔絵ゲームのプログラムを記憶する、据置型のゲーム装置や汎用のコンピュータにも適用可能である。つまり、通信相手は、所定の電子機器ないし所定のコンピュータである。
【符号の説明】
【0222】
10 …ゲーム装置
12,14 …ハウジング
16,18 …LCD
20 …操作ボタン
22 …タッチパネル
24 …タッチペン
26,28 …メモリカード
32,34 …カメラ
50 …CPU
52 …メインメモリ
54 …メモリ制御回路
56 …保存用データメモリ
58 …プリセットデータ用メモリ
60,62 …メモリカードI/F
64 …無線通信モジュール
66 …ローカル通信モジュール
68 …マイコン
68a …メモリ
68b …RTC
70 …電源回路
72 …I/F回路
74,76 …GPU
78,80 …VRAM
82 …LCDコントローラ
84 …マイク
88 …加速度センサ
【特許請求の範囲】
【請求項1】
通信手段、撮像手段および表示手段を備えるゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
前記コンピュータに接続可能な所定のコンピュータから、前記通信手段を経由してキャラクタデータを受信するキャラクタデータ受信手段、
前記撮像手段によって所定の画像を撮像することによりコードデータを取得するコードデータ取得手段、
前記コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出するキャラクタデータ算出手段、
前記キャラクタデータ受信手段によって受信されたキャラクタデータまたは前記キャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成する第1キャラクタ生成手段、および
前記第1キャラクタ生成手段によって生成されたキャラクタを前記表示手段に表示してゲーム処理を実行するゲーム処理手段として機能させる、ゲームプログラム。
【請求項2】
前記コンピュータを、
前記キャラクタデータ受信手段によって受信されたキャラクタデータまたは前記キャラクタデータ算出手段によって算出されたキャラクタデータを、キャラクタデータ記憶領域に記憶するキャラクタデータ記憶手段としてさらに機能させ、
前記第1キャラクタ生成手段は、前記キャラクタデータ記憶手段によって前記キャラクタデータ記憶領域に記憶された所定のキャラクタデータに対応するキャラクタを生成する、請求項1記載のゲームプログラム。
【請求項3】
前記コンピュータを、
ユーザの操作に応じて、前記キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択するキャラクタ選択手段、および
前記通信手段を用いて、前記所定のコンピュータに、前記キャラクタ選択手段によって選択された所定のキャラクタデータを送信するキャラクタデータ送信手段としてさらに機能させる、請求項2記載のゲームプログラム。
【請求項4】
前記コンピュータを、
ユーザの操作に応じて、キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択するキャラクタ選択手段、
前記キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出するコードデータ算出手段、および
前記コードデータ算出手段によって算出されたコードデータを、前記表示手段に出力するコードデータ出力手段としてさらに機能させる、請求項2または3記載のゲームプログラム。
【請求項5】
前記コンピュータを、
前記キャラクタ記憶領域に記憶された少なくとも1つのキャラクタデータに対応するキャラクタを生成する第2キャラクタ生成手段、および
前記第2キャラクタ生成手段によって生成されたキャラクタを前記表示手段に表示するキャラクタ表示手段としてさらに機能させ、
前記キャラクタ選択手段は、前記キャラクタ表示手段によって前記表示手段に表示されたキャラクタから所望のキャラクタを前記ユーザに選択させ、当該ユーザに選択させた当該所望のキャラクタに対応するキャラクタデータを前記所定のキャラクタデータとして選択する、請求項2ないし4のいずれかに記載のゲームプログラム。
【請求項6】
前記コードデータ算出手段は、
前記キャラクタ選択手段によって選択された前記所定のキャラクタデータを暗号化する暗号化手段を含み、
前記暗号化手段によって暗号化された前記所定のキャラクタデータから、前記コードデータを算出する、請求項4記載のゲームプログラム。
【請求項7】
前記キャラクタデータ算出手段は、
暗号化されたキャラクタデータを復号する復号手段を含み、
前記コードデータ取得手段によって取得されたコードデータから、暗号化されたキャラクタデータを算出し、当該暗号化されたキャラクタデータを前記復号手段によって復号した後のキャラクタデータを算出する、請求項1記載のゲームプログラム。
【請求項8】
前記コンピュータには、所定の外部記憶媒体を接続可能であり、
前記コンピュータを、
前記所定の外部記憶媒体からキャラクタデータを読み出すキャラクタデータ読出手段としてさらに機能させ、
前記キャラクタデータ記憶手段は、前記キャラクタデータ読出手段によって読み出されたキャラクタデータをさらに記憶する、請求項2記載のゲームプログラム。
【請求項9】
前記キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含み、
前記コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備え、
前記キャラクタ生成手段は、前記所定のキャラクタデータに含まれる各パーツパラメータに対応するパーツ画像を前記パーツ画像記憶手段から読み出し、読み出したパーツ画像を用いて前記キャラクタを生成する、請求項1記載のゲームプログラム。
【請求項10】
前記キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含み、
前記コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備え、
前記キャラクタ生成手段は、前記所定のキャラクタデータに含まれるパーツパラメータに対応してパーツ画像を前記パーツ画像記憶手段から読み出して、読み出したパーツ画像を組み合わせることにより、キャラクタを生成し、
前記キャラクタデータ記憶手段は、前記キャラクタ生成手段によって生成されたキャラクタに対応するキャラクタデータも前記キャラクタ記憶領域に記憶する、請求項1記載のゲームプログラム。
【請求項11】
前記コンピュータを、
ユーザの操作に応じてキャラクタを作成するキャラクタ作成手段としてさらに機能させ、
前記キャラクタデータ記憶手段は、前記キャラクタ作成手段によって作成されたキャラクタに対応するキャラクタデータを前記キャラクタデータ記憶領域にさらに記憶する、請求項2記載のゲームプログラム。
【請求項12】
前記キャラクタ作成手段は、予め用意されたパーツを用いて前記キャラクタを作成する、請求項11記載のゲームプログラム。
【請求項13】
前記コンピュータを、
前記通信手段を用いて、前記キャラクタ作成手段によって作成されたキャラクタデータを送信するキャラクタデータ送信手段としてさらに機能させる、請求項11または12記載のゲームプログラム。
【請求項14】
前記コンピュータを、
前記キャラクタ作成手段によって作成されたキャラクタデータから前記コードデータを生成するコードデータ生成手段、
前記コードデータ生成手段によって生成されたコードデータを前記表示手段に表示するコードデータ表示手段としてさらに機能させる、請求項11または12記載のゲームプログラム。
【請求項15】
前記キャラクタデータ記憶手段は、前記キャラクタデータ受信手段によって前記キャラクタデータを受信した際に、当該キャラクタデータを前記キャラクタ記憶領域とは異なるキャラクタ一時記憶領域に記憶する、請求項2記載のゲームプログラム。
【請求項16】
前記コンピュータを、
ユーザの操作に応じて、前記キャラクタ一時記憶領域に記憶されているキャラクタデータのうち、所定のキャラクタデータを選択する一時キャラクタ選択手段、および
前記一時キャラクタ選択手段によって選択された所定のキャラクタデータを、前記キャラクタ一時記憶領域から前記キャラクタ記憶領域へ移動させるキャラクタデータ移動手段としてさらに機能させる、請求項15記載のゲームプログラム。
【請求項17】
前記一時キャラクタ選択手段は、
前記キャラクタデータ記憶手段によって前記キャラクタ一時記憶領域に記憶した少なくとも1つのキャラクタデータに対応するキャラクタを生成するキャラクタ一時生成手段、および
前記キャラクタ一時生成手段によって生成されたキャラクタを前記表示手段に表示するキャラクタ一時表示手段を含み、
前記キャラクタ一時表示手段によって表示されたキャラクタから前記所定のキャラクタを前記ユーザに選択させる、請求項16記載のゲームプログラム。
【請求項18】
前記コンピュータを、
前記キャラクタ選択手段によって選択された所定のキャラクタデータを送信可能な状態かどうかを判定する状態判定手段および
前記状態判定手段によって前記所定のキャラクタデータの送信可能な状態であると判定されたとき、当該所定のキャラクタデータを前記キャラクタ記憶領域から送信可能領域に複写する複写手段として機能させる、請求項2記載のゲームプログラム。
【請求項19】
前記コンピュータを、
ユーザの操作に応じて、前記キャラクタ記憶領域に記憶したキャラクタデータのうち、所定のキャラクタデータを選択するキャラクタ選択手段、
前記キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出するコードデータ算出手段、および
少なくとも、前記コードデータ算出手段によって算出されたコードデータを出力する出力手段としてさらに機能させる、請求項1記載のゲームプログラム。
【請求項20】
前記出力手段は、前記コードデータに対応する画像データを出力する、請求項19記載のゲームプログラム。
【請求項21】
前記コードデータ取得手段によって取得されたコードデータは、2次元コードデータであり、
前記キャラクタデータ算出手段は、前記コードデータ取得手段によって取得された前記2次元コードデータから、前記キャラクタデータを算出する、請求項1記載のゲームプログラム。
【請求項22】
通信手段、撮像手段および表示手段を備えるゲーム装置であって、
接続可能な所定のコンピュータから、前記通信手段を経由してキャラクタデータを受信するキャラクタデータ受信手段、
前記撮像手段によって所定の画像を撮像することによりコードデータを取得するコードデータ取得手段、
前記コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出するキャラクタデータ算出手段、
前記キャラクタデータ受信手段によって受信されたキャラクタデータまたは前記キャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成するキャラクタ生成手段、および
前記キャラクタ生成手段によって生成されたキャラクタを前記表示手段に表示してゲーム処理を実行するゲーム処理手段を備える、ゲーム装置。
【請求項23】
通信手段、撮像手段および表示手段を備えるゲーム装置のゲーム制御方法であって、
(a)接続可能な所定のコンピュータから、前記通信手段を経由してキャラクタデータを受信し、
(b)前記撮像手段によって所定の画像を撮像することによりコードデータを取得し、
(c)前記ステップ(b)によって取得されたコードデータから、キャラクタデータを算出し、
(d)前記ステップ(a)によって受信されたキャラクタデータまたは前記ステップ(c)によって算出されたキャラクタデータに対応するキャラクタを生成し、そして
(e)前記ステップ(d)によって生成されたキャラクタを前記表示手段に表示してゲーム処理を実行する、ゲーム制御方法。
【請求項1】
通信手段、撮像手段および表示手段を備えるゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
前記コンピュータに接続可能な所定のコンピュータから、前記通信手段を経由してキャラクタデータを受信するキャラクタデータ受信手段、
前記撮像手段によって所定の画像を撮像することによりコードデータを取得するコードデータ取得手段、
前記コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出するキャラクタデータ算出手段、
前記キャラクタデータ受信手段によって受信されたキャラクタデータまたは前記キャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成する第1キャラクタ生成手段、および
前記第1キャラクタ生成手段によって生成されたキャラクタを前記表示手段に表示してゲーム処理を実行するゲーム処理手段として機能させる、ゲームプログラム。
【請求項2】
前記コンピュータを、
前記キャラクタデータ受信手段によって受信されたキャラクタデータまたは前記キャラクタデータ算出手段によって算出されたキャラクタデータを、キャラクタデータ記憶領域に記憶するキャラクタデータ記憶手段としてさらに機能させ、
前記第1キャラクタ生成手段は、前記キャラクタデータ記憶手段によって前記キャラクタデータ記憶領域に記憶された所定のキャラクタデータに対応するキャラクタを生成する、請求項1記載のゲームプログラム。
【請求項3】
前記コンピュータを、
ユーザの操作に応じて、前記キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択するキャラクタ選択手段、および
前記通信手段を用いて、前記所定のコンピュータに、前記キャラクタ選択手段によって選択された所定のキャラクタデータを送信するキャラクタデータ送信手段としてさらに機能させる、請求項2記載のゲームプログラム。
【請求項4】
前記コンピュータを、
ユーザの操作に応じて、キャラクタ記憶領域に記憶されたキャラクタデータのうち、所定のキャラクタデータを選択するキャラクタ選択手段、
前記キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出するコードデータ算出手段、および
前記コードデータ算出手段によって算出されたコードデータを、前記表示手段に出力するコードデータ出力手段としてさらに機能させる、請求項2または3記載のゲームプログラム。
【請求項5】
前記コンピュータを、
前記キャラクタ記憶領域に記憶された少なくとも1つのキャラクタデータに対応するキャラクタを生成する第2キャラクタ生成手段、および
前記第2キャラクタ生成手段によって生成されたキャラクタを前記表示手段に表示するキャラクタ表示手段としてさらに機能させ、
前記キャラクタ選択手段は、前記キャラクタ表示手段によって前記表示手段に表示されたキャラクタから所望のキャラクタを前記ユーザに選択させ、当該ユーザに選択させた当該所望のキャラクタに対応するキャラクタデータを前記所定のキャラクタデータとして選択する、請求項2ないし4のいずれかに記載のゲームプログラム。
【請求項6】
前記コードデータ算出手段は、
前記キャラクタ選択手段によって選択された前記所定のキャラクタデータを暗号化する暗号化手段を含み、
前記暗号化手段によって暗号化された前記所定のキャラクタデータから、前記コードデータを算出する、請求項4記載のゲームプログラム。
【請求項7】
前記キャラクタデータ算出手段は、
暗号化されたキャラクタデータを復号する復号手段を含み、
前記コードデータ取得手段によって取得されたコードデータから、暗号化されたキャラクタデータを算出し、当該暗号化されたキャラクタデータを前記復号手段によって復号した後のキャラクタデータを算出する、請求項1記載のゲームプログラム。
【請求項8】
前記コンピュータには、所定の外部記憶媒体を接続可能であり、
前記コンピュータを、
前記所定の外部記憶媒体からキャラクタデータを読み出すキャラクタデータ読出手段としてさらに機能させ、
前記キャラクタデータ記憶手段は、前記キャラクタデータ読出手段によって読み出されたキャラクタデータをさらに記憶する、請求項2記載のゲームプログラム。
【請求項9】
前記キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含み、
前記コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備え、
前記キャラクタ生成手段は、前記所定のキャラクタデータに含まれる各パーツパラメータに対応するパーツ画像を前記パーツ画像記憶手段から読み出し、読み出したパーツ画像を用いて前記キャラクタを生成する、請求項1記載のゲームプログラム。
【請求項10】
前記キャラクタデータは、少なくとも、対応するキャラクタを構成するパーツについてのパーツパラメータを含み、
前記コンピュータは、パーツパラメータに対応したパーツ画像を記憶するパーツ画像記憶手段をさらに備え、
前記キャラクタ生成手段は、前記所定のキャラクタデータに含まれるパーツパラメータに対応してパーツ画像を前記パーツ画像記憶手段から読み出して、読み出したパーツ画像を組み合わせることにより、キャラクタを生成し、
前記キャラクタデータ記憶手段は、前記キャラクタ生成手段によって生成されたキャラクタに対応するキャラクタデータも前記キャラクタ記憶領域に記憶する、請求項1記載のゲームプログラム。
【請求項11】
前記コンピュータを、
ユーザの操作に応じてキャラクタを作成するキャラクタ作成手段としてさらに機能させ、
前記キャラクタデータ記憶手段は、前記キャラクタ作成手段によって作成されたキャラクタに対応するキャラクタデータを前記キャラクタデータ記憶領域にさらに記憶する、請求項2記載のゲームプログラム。
【請求項12】
前記キャラクタ作成手段は、予め用意されたパーツを用いて前記キャラクタを作成する、請求項11記載のゲームプログラム。
【請求項13】
前記コンピュータを、
前記通信手段を用いて、前記キャラクタ作成手段によって作成されたキャラクタデータを送信するキャラクタデータ送信手段としてさらに機能させる、請求項11または12記載のゲームプログラム。
【請求項14】
前記コンピュータを、
前記キャラクタ作成手段によって作成されたキャラクタデータから前記コードデータを生成するコードデータ生成手段、
前記コードデータ生成手段によって生成されたコードデータを前記表示手段に表示するコードデータ表示手段としてさらに機能させる、請求項11または12記載のゲームプログラム。
【請求項15】
前記キャラクタデータ記憶手段は、前記キャラクタデータ受信手段によって前記キャラクタデータを受信した際に、当該キャラクタデータを前記キャラクタ記憶領域とは異なるキャラクタ一時記憶領域に記憶する、請求項2記載のゲームプログラム。
【請求項16】
前記コンピュータを、
ユーザの操作に応じて、前記キャラクタ一時記憶領域に記憶されているキャラクタデータのうち、所定のキャラクタデータを選択する一時キャラクタ選択手段、および
前記一時キャラクタ選択手段によって選択された所定のキャラクタデータを、前記キャラクタ一時記憶領域から前記キャラクタ記憶領域へ移動させるキャラクタデータ移動手段としてさらに機能させる、請求項15記載のゲームプログラム。
【請求項17】
前記一時キャラクタ選択手段は、
前記キャラクタデータ記憶手段によって前記キャラクタ一時記憶領域に記憶した少なくとも1つのキャラクタデータに対応するキャラクタを生成するキャラクタ一時生成手段、および
前記キャラクタ一時生成手段によって生成されたキャラクタを前記表示手段に表示するキャラクタ一時表示手段を含み、
前記キャラクタ一時表示手段によって表示されたキャラクタから前記所定のキャラクタを前記ユーザに選択させる、請求項16記載のゲームプログラム。
【請求項18】
前記コンピュータを、
前記キャラクタ選択手段によって選択された所定のキャラクタデータを送信可能な状態かどうかを判定する状態判定手段および
前記状態判定手段によって前記所定のキャラクタデータの送信可能な状態であると判定されたとき、当該所定のキャラクタデータを前記キャラクタ記憶領域から送信可能領域に複写する複写手段として機能させる、請求項2記載のゲームプログラム。
【請求項19】
前記コンピュータを、
ユーザの操作に応じて、前記キャラクタ記憶領域に記憶したキャラクタデータのうち、所定のキャラクタデータを選択するキャラクタ選択手段、
前記キャラクタ選択手段によって選択された所定のキャラクタデータから、コードデータを算出するコードデータ算出手段、および
少なくとも、前記コードデータ算出手段によって算出されたコードデータを出力する出力手段としてさらに機能させる、請求項1記載のゲームプログラム。
【請求項20】
前記出力手段は、前記コードデータに対応する画像データを出力する、請求項19記載のゲームプログラム。
【請求項21】
前記コードデータ取得手段によって取得されたコードデータは、2次元コードデータであり、
前記キャラクタデータ算出手段は、前記コードデータ取得手段によって取得された前記2次元コードデータから、前記キャラクタデータを算出する、請求項1記載のゲームプログラム。
【請求項22】
通信手段、撮像手段および表示手段を備えるゲーム装置であって、
接続可能な所定のコンピュータから、前記通信手段を経由してキャラクタデータを受信するキャラクタデータ受信手段、
前記撮像手段によって所定の画像を撮像することによりコードデータを取得するコードデータ取得手段、
前記コードデータ取得手段によって取得されたコードデータから、キャラクタデータを算出するキャラクタデータ算出手段、
前記キャラクタデータ受信手段によって受信されたキャラクタデータまたは前記キャラクタデータ算出手段によって算出されたキャラクタデータに対応するキャラクタを生成するキャラクタ生成手段、および
前記キャラクタ生成手段によって生成されたキャラクタを前記表示手段に表示してゲーム処理を実行するゲーム処理手段を備える、ゲーム装置。
【請求項23】
通信手段、撮像手段および表示手段を備えるゲーム装置のゲーム制御方法であって、
(a)接続可能な所定のコンピュータから、前記通信手段を経由してキャラクタデータを受信し、
(b)前記撮像手段によって所定の画像を撮像することによりコードデータを取得し、
(c)前記ステップ(b)によって取得されたコードデータから、キャラクタデータを算出し、
(d)前記ステップ(a)によって受信されたキャラクタデータまたは前記ステップ(c)によって算出されたキャラクタデータに対応するキャラクタを生成し、そして
(e)前記ステップ(d)によって生成されたキャラクタを前記表示手段に表示してゲーム処理を実行する、ゲーム制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−255111(P2011−255111A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−134434(P2010−134434)
【出願日】平成22年6月11日(2010.6.11)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願日】平成22年6月11日(2010.6.11)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]