図1を参照して、この発明の一実施例である情報処理装置として機能するゲーム装置10は、上側ハウジング12および下側ハウジング14を含み、上側ハウジング12と下側ハウジング14とは、開閉可能(折り畳み可能)に連結されている。図1の例では、上側ハウジング12および下側ハウジング14は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回動可能に連結されている。つまり、この実施例のゲーム装置10は、折り畳み型の携帯ゲーム装置であり、図1には、当該ゲーム装置10を開いた状態(開状態)で示してある。ゲーム装置10は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
通常、ユーザは、開状態でゲーム装置10を使用する。また、ユーザは、ゲーム装置10を使用しない場合には閉状態で保管する。ただし、ゲーム装置10は、上記閉状態および開状態のみでなく、上側ハウジング12と下側ハウジング14とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング12を下側ハウジング14に対して任意の角度で静止させることができる。
なお、ゲーム装置10は、後述するカメラ(32,34)を搭載しており、当該カメラ(32,34)によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
図1に示すように、上側ハウジング12には第1LCD16が設けられ、下側ハウジング14には第2LCD18が設けられる。第1LCD16および第2LCD18は、横長形状であり、それぞれの長辺方向が上側ハウジング12および下側ハウジング14の長辺方向と一致するように配置される。たとえば、第1LCD16および第2LCD18の解像度は、256(横)×192(縦)画素(ドット)に設定される。
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるよう
にしてもよい。また、ゲーム装置10は、任意の解像度の表示装置を利用することができる。
図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の内部に収められる。
方向入力ボタン(十字キー)20aは、ディジタルジョイスティックとして機能し、プレイヤオブジェクトの移動方向を指示したり、カーソルを移動させたりするなどに用いられる。各操作ボタン20b−20eは、プッシュボタンであり、たとえば、プレイヤオブジェクトに任意の動作をさせたり、決定やキャンセルを実行したりする等に用いられる。電源ボタン20fは、プッシュボタンであり、ゲーム装置10の主電源をオン/オフするために用いられる。スタートボタン20gは、プッシュボタンであり、ゲームを中断(ポーズ)したり、開始(再開)したりするために用いられる。セレクトボタン20hは、プッシュボタンであり、ゲームモードやメニューの選択等に用いられる。
図1においては、操作ボタン20i−20kを省略したが、図2(A)に示すように、操作ボタン(Lボタン)20iは、下側ハウジング14の上側面の左端部に設けられ、操作ボタン(Rボタン)20jは、下側ハウジング14の上側面の右端部に設けられる。また、図2(B)に示すように、音量ボタン20kは、下側ハウジング14の左側面に設けられる。
なお、図2(A)は、ゲーム装置10を折り畳んだ状態で、上面(上ハウジング12)側から見た図であり、図2(B)は、同じくゲーム装置10を折り畳んだ状態で、左側面から見た図である。
Lボタン20iおよびRボタン20jは、プッシュボタンであり、操作ボタン20b−20eと同様の操作に用いたり、それらの操作ボタン20b−20eの補助的な操作に用いたりすることができる。また、この実施例では、Lボタン20iおよびRボタン20jは、撮影指示の操作(シャッター操作)を行うために用いることもできる。音量ボタン20kは、2つのプッシュボタンを用いて構成され、図示しない2つのスピーカ(右スピーカおよび左スピーカ)から出力される音の大きさを調整するために用いられる。この実施例では、音量ボタン20kには、2つの押圧部を含む操作部が設けられ、各押圧部に対応して上記のプッシュボタンが設けられる。したがって、一方の押圧部を押すと音量が大きくされ、他方の押圧部を押すと音量が小さくされる。たとえば、押圧部を押し続けると、音量が次第に大きくされたり、次第に小さくされたりする。
図1に戻って、ゲーム装置10は、操作ボタン20a−20kとは別の入力装置として、さらにタッチパネル22を備えている。タッチパネル22は、第2LCD18の画面上を覆うように装着されている。この実施例では、タッチパネル22は、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル22は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、この実施例では、タッチパネル22として、たとえば第2LCD18の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル22の解像度と第2LCD18の解像度とが一致している必要はない。
また、下側ハウジング14の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル22に対する操作を行うために用いられるタッチペン24を収納することができる。通常、タッチパネル22に対する入力は、タッチペン24を用いて行われるが、タッチペン24に限らずユーザの指でタッチパネル22を操作することも可能である。したがって、たとえば、タッチペン24を用いない場合には、タッチペン24
の挿入口および収納部を設ける必要はない。
また、下側ハウジング14の右側面には、メモリカード26を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード26とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード26は、たとえばSDカードであり、コネクタに着脱自在に装着される。このメモリカード26は、たとえば、ゲーム装置10によって撮像された画像を記憶(保存)したり、他の装置で生成(撮像)ないし記憶された画像をゲーム装置10に読み込んだりするために用いられる。
さらに、下側ハウジング14の上側面には、メモリカード28を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置10とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、情報処理プログラムおよび必要なデータなどを記録した記録媒体であり、下側ハウジング14に設けられた挿入口に着脱自在に装着される。
また、上側ハウジング12と下側ハウジング14との連結部(ヒンジ)の左端部分には、インジケータ30が設けられる。このインジケータ30は、3つのLED30a,30b,30cによって構成される。ここで、ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED30aは、無線通信が確立している場合に点灯する。第2LED30bは、ゲーム装置10の充電中に点灯する。第3LED30cは、ゲーム装置10の主電源がオンである場合に点灯する。したがって、インジケータ30(LED30a−30c)によって、ゲーム装置10の通信確立状況、充電状況、および主電源のオン/オフ状況をユーザに通知することができる。
上述したように、上側ハウジング12には、第1LCD16が設けられる。この実施例では、第2LCD18を覆うように、タッチパネル22を設けているが、第1LCD16を覆うように、タッチパネル22を設けてもよい。または、第1LCD16および第2LCD18のそれぞれを覆うように、2つのタッチパネル22を設けるようにしてもよい。たとえば、第1LCD16には、各操作ボタン20a−20kやタッチパネル22の役割ないし操作方法をユーザに教えるための操作説明画面やゲーム画面が表示される。
また、上側ハウジング12には、2つのカメラ(内側カメラ32および外側カメラ34)が設けられる。図1に示すように、内側カメラ32は、上側ハウジング12と下側ハウジング14との連結部付近であり、第1LCD16が設けられる側の面に、この第1LCD16の表示面とその撮影面とが平行または面一になるように取り付けられる。一方、外側カメラ34は、図2(A)に示すように、内側カメラ32が取り付けられる面とは反対側の面、すなわち、上側ハウジング12の外側の面(ゲーム装置10が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング12の背面)に取り付けられる。ただし、図1においては、外側カメラ34を破線で示してある。
したがって、内側カメラ32は、上側ハウジング12の内側の面が向く方向を撮像することが可能であり、外側カメラ34は、内側カメラ32の撮像方向の逆方向、すなわち、上側ハウジング12の外側の面が向く方向を撮像することが可能である。このように、この実施例では、内側カメラ32および外側カメラ34の撮像方向が互いに逆方向となるように、それら2つのカメラ32,34が設けられる。たとえば、ゲーム装置10を把持したユーザは、このゲーム装置10側からユーザの方を見た景色(たとえば、当該ユーザを含む)を内側カメラ32で撮像することができるとともに、ゲーム装置10側からユーザとは反対側の方向を見た景色を外側カメラ34で撮像することができる。
なお、上記連結部付近の内側の面には、音声入力装置としてマイク84(図3参照)が収納されている。そして、上記連結部付近の内側の面には、マイク84がゲーム装置10外部の音を検知できるように、そのマイク84用の孔36が形成される。マイク84を収納する位置およびマイク84用の孔36の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング14にマイク84を収納し、マイク84の収納位置に対応させて下側ハウジング14にマイク84用の孔36を設けるようにしてもよい。
また、上側ハウジング12の外側の面には、外側カメラ34の近傍に第4LED38(図1では、破線で示す)が取り付けられる。第4LED38は、内側カメラ32または外側カメラ34によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ32または外側カメラ34によって動画が撮影される場合には、第4LED38は、撮影の間点灯し続ける。つまり、第4LED38を点灯することによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
また、上側ハウジング12には、第1LCD16の両側に、音抜き孔40が形成される。この音抜き孔40に対応する位置であり、上側ハウジング12の内部には、上述したスピーカが収納されている。音抜き孔40は、スピーカからの音をゲーム装置10の外部に放出するための孔である。
以上に説明したように、上側ハウジング12には、画像を撮像するための構成である内側カメラ32および外側カメラ34と、主として、撮影された画像(撮影画像)およびゲーム画面を表示するための表示手段である第1LCD16とが設けられる。一方、下側ハウジング14には、ゲーム装置10に対する操作入力を行うための入力装置(操作ボタン20(20a−20k)およびタッチパネル22)と、主として、操作画面およびゲーム画面を表示するための表示手段である第2LCD18とが設けられる。したがって、ゲーム装置10は、2つの画面(16,18)および2系統の操作部(20,22)を備えている。
図3は、この実施例のゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU50、メインメモリ52、メモリ制御回路54、保存用データメモリ56、プリセットデータ用メモリ58、メモリカードインターフェース(メモリカードI/F)60、メモリカードI/F62、無線通信モジュール64、ローカル通信モジュール66、リアルタイムクロック(RTC)68、電源回路70、およびインターフェース回路(I/F回路)72、第1GPU(Graphics Processing Unit)74、第2GPU76、第1VRAM(Video RAM)78、第2VRAM80、およびLCDコントローラ82等の電子部品を備えている。これらの電子部品(回路コンポーネント)は、電子回路基板上に実装されて、下側ハウジング14(または上側ハウジング12でもよい)内に収納される。
CPU50は、所定のプログラムを実行するための情報処理手段である。この実施例では、所定のプログラムは、ゲーム装置10内のメモリ(たとえば保存用データメモリ56)やメモリカード26および/または28に記憶されており、CPU50は、当該所定のプログラムを実行することによって、後述する情報処理を実行する。
なお、CPU50によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶していてもよいし、メモリカード26および/または28から取得してもよいし、他の機器と通信することによって当該他の機器から取得してもよい。
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と接続されるフラッシュメモリを用いることができる。
メモリカードI/F60および62は、それぞれCPU50に接続される。メモリカードI/F60は、コネクタに装着されたメモリカード26に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。また、メモリカードI/F62は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。この実施例では、内側カメラ32および外側カメラ34によって撮像された画像に対応する画像データや他の装置から受信された画像データがメモリカード26に書き込まれたり、メモリカード26に記憶された画像データがメモリカード26から読み出されて保存用データメモリ56に記憶されたり、他の装置へ送信されたりする。また、メモリカード28に記憶された各種プログラムが、CPU50によって読み出されて実行されたりする。
なお、ゲームプログラムなどの情報処理プログラムは、メモリカード28等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、情報処理プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。さらに、情報処理プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
無線通信モジュール64は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール66は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール64およびローカル通信モジュール66は、CPU50に接続される。CPU50は、無線通信モジュール64を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール66を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
また、CPU50には、RTC68および電源回路70が接続される。RTC68は、時間をカウントしてCPU50に出力する。たとえば、CPU50は、RTC68によって計時された時間に基づいて、日付および現在時刻等を計算することもできる。電源回路70は、ゲーム装置10が有する電源(典型的には電池であり、下側ハウジング14に収納される)から供給される電力を制御し、ゲーム装置10の各回路コンポーネントに電力を供給する。
また、ゲーム装置10は、マイク84およびアンプ86を備えている。マイク84およ
びアンプ86は、それぞれI/F回路72に接続される。マイク84は、ゲーム装置10に向かって発声ないし発生されたユーザの音声ないし音(拍手や手拍子など)を検知して、当該音声ないし音を示す音声信号をI/F回路72に出力する。アンプ86は、I/F回路72から与えられる音声信号を増幅してスピーカ(図示せず)に与える。I/F回路72は、CPU50に接続される。
また、タッチパネル22は、I/F回路72に接続される。I/F回路72は、マイク84およびアンプ86(スピーカ)の制御を行う音声制御回路と、タッチパネル22の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル22からの信号に基づいて所定の形式のタッチ位置データを生成してCPU50に出力する。たとえば、タッチ位置データは、タッチパネル22の入力面に対して入力が行われた位置の座標を示すデータである。
なお、タッチパネル制御回路は、タッチパネル22からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU50は、I/F回路72を介して、タッチ位置データを取得することにより、タッチパネル22に対して入力が行われた位置を知ることができる。
操作ボタン20は、上記の各操作ボタン20a−20kによって構成され、CPU50に接続される。操作ボタン20からCPU50へは、各操作ボタン20a−20kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU50は、操作ボタン20からの操作データを取得し、取得した操作データに応じた処理を実行する。
内側カメラ32および外側カメラ34は、それぞれCPU50に接続される。内側カメラ32および外側カメラ34は、CPU50の指示に応じて画像を撮像し、撮像した画像に対応する画像データをCPU50に出力する。この実施例では、CPU50は、内側カメラ32および外側カメラ34のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラ(32,34)が画像を撮像して画像データをCPU50に送る。
第1GPU74には、第1VRAM78が接続され、第2GPU76には、第2VRAM80が接続される。第1GPU74は、CPU50からの指示に応じて、メインメモリ52に記憶されている表示画像を生成するためのデータに基づいて第1の表示画像を生成し、第1VRAM78に描画する。第2GPU76は、同様にCPU50からの指示に応じて第2の表示画像を生成し、第2VRAM80に描画する。第1VRAM78および第2VRAM80は、LCDコントローラ82に接続されている。
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に出力する。
図4は図1ないし図3に示したゲーム装置10を用いたネットワークシステム500の例を示す図解図である。図4に示すように、ネットワークシステム500は、サーバ502を含み、サーバ502はインターネットまたはLANのようなネットワーク504を介して複数のゲーム装置10と通信可能に接続される。また、サーバ502には、データベース506が直接接続される。ただし、データベース506は、ネットワーク504を介
してサーバ502に接続されてもよい。このサーバ502は、汎用のサーバであり、CPU502aなどのコンポーネントを含む。ただし、ゲーム装置10は、他のゲーム装置10と直接通信することもできる。
たとえば、ユーザは、自身のゲーム装置10を用いて、他のゲーム装置10のユーザに送信するためのメッセージを作成し、作成したメッセージに対応するメッセージデータをサーバ502に送信(アップロード)する。また、ユーザは、自身のゲーム装置10を用いて、サーバ502にアクセスし、自身宛のメッセージがあるか否かを問い合わせて、自身宛のメッセージが有る場合には、当該メッセージに対応するメッセージデータを受信(ダウンロード)する。
ゲーム装置10は、他のゲーム装置10に送信したメッセージデータの送信数および他のゲーム装置10から受信したメッセージデータの受信数を、他のゲーム装置10(のユーザ)毎に管理し、その送信数および受信数に応じて、自身のユーザと他のゲーム装置10のユーザとの親密さの度合い(親密度)を表現する。ただし、ゲーム装置10自身のユーザから他のゲーム装置10のユーザへの好意と、当該他のゲーム装置10のユーザから当該ゲーム装置10自身のユーザへの好意とが識別可能に表現される。
以下、この明細書において、ゲーム装置10自身のユーザを「第1ユーザ」と言い、当該ゲーム装置10の通信対象(通信相手)として登録された他のゲーム装置10のユーザを「第2ユーザ」と言うことにする。
具体的に示すと、この実施例の情報処理が開始されると、図5に示すメニュー画面100が第2LCD18に表示される。メニュー画面100の中央には、この実施例のメッセージデータに従うメッセージの表示領域102が設けられる。図5に示すメニュー画面100では、表示領域102に、3つのメッセージ1020、1022、1024が表示される。図示は省略するが、何らメッセージデータが保存(作成および受信)されていない場合には、表示領域102にはメッセージは表示されない。または、表示するメッセージが無い旨のメッセージが表示される。
この実施例では、メッセージは、文字、図形、写真および音声の少なくとも1つを含む。ただし、文字は、ひらがな、片仮名、漢字、ローマ字および数字(算用数字、アラビア数字など)のみならず、絵文字、記号および符号も含む。また、文字に代えて画像(絵や図形など)が描画されることがあり、文字と画像との両方が描画されることもある。また、この実施例では、他のゲーム装置10に送信すること、および他のゲーム装置10から受信することを前提とするため、「メッセージ」の語を用いているが、他のゲーム装置10に送信しない場合には、作成した「メッセージ」は「メモ」や「日記」に相当する。
図5に示すメニュー画面100では、メッセージ1020,1024には、手書きの文字が記載されている。また、メッセージ1022には、手書きの文字が記載され、さらに、3枚の写真および音声が添付されている。写真が添付される場合には、写真のサムネイル画像が手書きの文字に重なって、または手書きの文字の近傍に表示される。ただし、写真のデータ(写真データ)は、ゲーム装置10のカメラ32,34で撮影した画像(撮影画像)またはゲーム装置10に装着されたSDカードのようなメモリカード26から取り込んだ画像である。ただし、受信したメッセージデータに含まれる写真データは、通信対象とし登録された他のゲーム装置10のカメラ32,34で撮影した撮影画像または通信対象として登録された他のゲーム装置10に装着されたメモリカード26から取り込んだ画像である。図5に示すメニュー画面100では、サムネイル画像1022a、1022b、1022cが表示される。また、音声が添付される場合には、音声(スピーカ)を示すボタン画像が手書きの文字に重なって表示される。図5に示すメニュー画面100では
、ボタン画像1022dが表示される。
なお、図示は省略するが、サムネイル画像1022a、1022b、1022cが指示(タッチ)されると、第1LCD16に対応する画像が表示される。また、音声についてのボタン画像1022dが指示(タッチ)されると、対応する音声がスピーカから出力される。
また、図5に示すように、メニュー画面100には、メッセージの表示領域102の上方に、ボタン画像104およびボタン画像106が表示され、ボタン画像104とボタン画像106との間に、表示領域108が設けられる。ボタン画像104は、前月のメッセージを表示領域102に表示するために用いられる。ただし、ボタン画像104の指示(タッチ)に代えて、Lボタン20iを操作(オン)するようにしてもよい。ボタン画像106は、次月のメッセージを表示領域102に表示するために用いられる。ただし、ボタン画像106のタッチに代えて、Rボタン20jをオンするようにしてもよい。表示領域108には、西暦の年数が表示される。
さらに、図5に示すように、表示領域102の左右の端部には、ボタン画像110およびボタン画像112が表示される。ボタン画像110は表示領域102に表示されたメッセージ(1020-1024など)を右方向に移動させ、メッセージ1020よりも左側
に存在するメッセージを表示領域102に表示させるために用いられる。また、ボタン画像112は表示領域102に表示されたメッセージ(1020-1024など)を左方向
に移動させ、メッセージ1024よりも右側に存在するメッセージを表示領域102に表示させるために用いられる。つまり、ボタン画像110またはボタン画像112がオンされることにより、当月に作成および送受信されたメッセージ(1020-1024など)
が表示領域102に選択的に表示される。ただし、当月に作成および送受信されたメッセージが3つ未満である場合には、ボタン画像110およびボタン画像112をオンしても、メッセージや移動されない。もしくは、かかる場合には、ボタン画像110およびボタン画像112はグレーアウトで表示され、不能化される。
さらにまた、図5に示すように、メニュー画面100には、メッセージの表示領域102の下方に、ボタン画像114、ボタン画像116、およびボタン画像118が表示される。ボタン画像114は、第1ユーザと、1または複数の第2ユーザとの関係(この実施例では、「親密度」)を示す画面(後述する関係図表示画面300(図7参照))を表示するために用いられる。ボタン画像116は、新規のメッセージ(メッセージデータ)を作成するために用いられる。ボタン画像118は、メッセージ(メッセージデータ)の削除、第2ユーザについてのグループ編集、メッセージデータのメモリカード26への移動の可否、メッセージデータの転送や編集の可否などを設定するために用いられる。
図5に示すメニュー画面100において、ボタン画像116がオンされると、図6に示すメッセージ作成画面200が第2LCD18に表示される。図6に示すメッセージ作成画面200には、手書きの文字や画像(以下、「文字等」という)を描画(入力)するための描画領域(入力領域)202が設けられる。たとえば、ユーザは、タッチペン24を用いて、描画領域202に文字等を描画することができる。
また、メッセージ作成画面200には、描画領域202の上方に、ボタン画像204、ボタン画像206、ボタン画像208、ボタン画像210、ボタン画像212、ボタン画像214およびボタン画像216が表示される。さらに、メッセージ作成画面200(描画領域202)の右下端部に、ボタン画像218が表示される。
ボタン画像204は、作成したメッセージに対応するメッセージデータをメモリカード
26、メインメモリ52、または保存用データメモリ56に保存するために用いられる。ボタン画像206は、文字等を描画領域202に描画するモードを選択するために用いられる。ボタン画像208は、描画領域202に描画した文字等を消去するモードを選択するために用いられる。つまり、ボタン画像206がオンされた場合に、第1ユーザが描画領域202上にタッチペン24を押しあてて操作すると、文字等が描画されるが、ボタン画像208がオンされた場合に、第1ユーザが描画領域202に描画された文字等をタッチペン24でなぞると、描画された文字等のうち、タッチペン24でなぞられた部分が消去されるのである。
また、ボタン画像210は、作成中のメッセージに写真を含める場合に、撮影モード(撮影処理)に移行するために用いられる。ボタン画像210がオンされると、撮影モードに移行され、外側カメラ34(または、内側カメラ32)が起動される。このとき、第1LCD16(または、第2LCD18)がビューファインダとして機能し、外側カメラ34によって取り込まれるスルー画像が表示される。そして、ユーザがシャッターボタン(Lボタン20iまたはRボタン20j)をオンすると、シャッターボタンがオンされたときの静止画像(撮影画像)に対応する撮影画像データが、手書きの文字等のデータに関連付けて、メモリカード26、メインメモリ52、または保存用データメモリ56に保存される。
ただし、外側カメラ34の解像度は、第1LCD16の解像度と同じまたはほぼ同じに設定されている。
さらに、ボタン画像212は、作成中のメッセージに音声を含める場合に、録音モード(録音処理)に移行するために用いられる。ボタン画像212がオンされると、録音モードに移行され、マイク84からの入力が有効にされる。したがって、第1ユーザがマイク84を通して音声を入力すると、対応する音声データが、手書きの文字等のデータに関連付けて、メモリカード26、メインメモリ52、または保存用デーメモリ56に保存される。
ただし、データ量が膨大になるのを防止するために、第1ユーザは、最大で20秒程度の音声を入力することができる。
さらにまた、ボタン画像214は、作成中のメッセージ(メッセージデータ)についてのオプションを設定するために用いられる。オプションは、本願発明の本質的な内容でなく、開発者やプログラマが任意に設定する事項であるため、その詳細についての説明は省略することにする。
ボタン画像216は、下方向へのスクロールのために用いられる。したがって、ボタン画像216がオンされると、描画領域202の表示内容が上方向に移動し、次のページが表示される。また、ボタン画像218は、上方向へのスクロールのために用いられる。したがって、ボタン画像218がオンされると、描画領域202の表示内容が下方向に移動し、前のページが表示される。つまり、第1ユーザは、ボタン画像216およびボタン画像218をオンすることにより、前のページに描画された内容を確認したり、文字等を描画するための次のページを表示したりするのである。
また、図5に示したメニュー画面100において、ボタン画像114がオンされると、図7に示すような関係図表示画面300が第2LCD18に表示される。関係図表示画面300では、第1ユーザについての画像(ユーザ画像)302がほぼ中央に表示される。ユーザ画像302(ユーザ画像306a、308a、312a、314aも同じ)は、第1ユーザが登録した自身の画像(この実施例では、顔画像)ないし予めゲーム装置10の
メモリ(メモリカード26、メモリカード28、メインメモリ52、または保存用データメモリ56)に記憶されている画像(アバター)である。詳細な説明は省略するが、ユーザ画像302は、第1ユーザがサーバ502に自身のプロフィールを登録する際に設定される。他のユーザ画像306a、308a、312a、314aについても同様であり、第2ユーザがサーバ502に自身のプロフィールを登録する際にそれぞれ設定される。
関係図表示画面300には、第1ユーザのユーザ画像302の左側に、第2ユーザのユーザ画像を表示するための表示領域304、308、312が設けられるとともに、ユーザ画像302の右側に、第2ユーザのユーザ画像を表示するための表示領域306、310、314が設けられる。図7に示す関係図表示画面300の例では、表示領域306、308、312および314に、第2ユーザのユーザ画像306a、308a、312aおよび314aが表示されている。詳細な説明は省略するが、第2ユーザを登録するときに、当該第2ユーザについてのユーザ画像(306a、308a、312a、314a)を表示する位置が、第1ユーザによって決定される。また、表示領域304および310では、第2ユーザが登録されていないため、第2ユーザが登録されていない旨を示す画像(未登録画像)304a、310aが表示されている。
また、図7に示す関係図表示画面300では、第1ユーザのユーザ画像302と、各第2ユーザのユーザ画像(306a、308a、312a、314a)との間に、矢印(320、322、324、326)が表示される。具体的には、ユーザ画像302とユーザ画像306aとの間に、矢印320が表示される。また、ユーザ画像302とユーザ画像308aとの間に、矢印322が表示される。さらに、ユーザ画像302とユーザ画像312aとの間に、矢印324が表示される。さらにまた、ユーザ画像302とユーザ画像314aとの間に、矢印326が表示される。
ここで、第1ユーザのユーザ画像302と各第2ユーザのユーザ画像(306a、308a、312a、314a)との間に表示される矢印(320−326)の表示態様は、第1ユーザと第2ユーザとの間におけるメッセージ(メッセージデータ)の送信度合いおよび受信度合いに応じて変化される。ただし、送信度合いは、メッセージが第1ユーザのゲーム装置10から第2ユーザのゲーム装置10に送信された度合いであり、受信度合いは、第2ユーザのゲーム装置10からのメッセージが第1ユーザのゲーム装置10で受信された度合いである。具体的には、送信度合いはメッセージ(メッセージデータ)の送信数であり、受信度合いはメッセージ(メッセージデータ)の受信数である。
図8(A)−図8(D)に示す例では、第1ユーザから第2ユーザに送信したメッセージの送信数および第1ユーザが第2ユーザから受信したメッセージの受信数に基づいて、ユーザ画像の図柄、矢印の太さおよび矢印の色が変化される。ただし、図8(A)−図8(D)からも分かるように、第1ユーザのユーザ画像と第2ユーザのユーザ画像との間には、双方向を指示する1つの矢印が表示され、当該矢印の太さおよび当該矢印の色が異なる場合には、太さおよび色が次第に変化するように表現される。
なお、図8(A)−図8(D)では、簡単のため、ユーザ画像は、人の顔を模した顔画像のみを示してある。
この実施例では、矢印の太さは、3種類(「太い」、「中」、「細い」)に分類されている。また、この実施例では、矢印の色は、3種類(「赤色」、「橙色」、「黄色」)に分類されている。ただし、図面においては、色を表現することができないため、モノクロで表現してある。具体的には、「赤色」を「黒色」で表現し、「橙色」を「灰色」で表現し、「黄色」を「白色」で表現してある。
ここで、矢印の設定方法について説明する。第1ユーザが、第2ユーザに送信したメッセージの送信数が10以下である場合には、第2ユーザのユーザ画像側において矢印の太さは「細い」に設定される。また、この場合には、第2ユーザのユーザ画像側において矢印の色は「黄色」に設定される。
また、第1ユーザが、第2ユーザに送信したメッセージの送信数が11以上30以下である場合には、第2ユーザのユーザ画像側において矢印の太さは「中」に設定される。また、この場合には、第2ユーザのユーザ画像側において矢印の色は「橙色」に設定される。
さらに、第1ユーザが、第2ユーザに送信したメッセージの送信数が31以上であり、かつ、当該第2ユーザに最後に送信したメッセージの送信時刻(最新の送信時刻)が現在時刻から1週間以内である場合には、第2ユーザのユーザ画像側において矢印の太さは「太い」に設定される。また、この場合には、第2ユーザのユーザ画像側において矢印の色は「赤色」に設定される。
第1ユーザが、第2ユーザから受信したメッセージの受信数が10以下である場合には、第1ユーザのユーザ画像側において矢印の太さは「細い」に設定される。また、この場合には、第1ユーザのユーザ画像側において矢印の色は「黄色」に設定される。
また、第1ユーザが、第2ユーザから受信したメッセージの受信数が11以上30以下である場合には、第1ユーザのユーザ画像側において矢印の太さは「中」に設定される。また、この場合には、第1ユーザのユーザ画像側において矢印の色は「橙色」に設定される。
さらに、第1ユーザが、第2ユーザから受信したメッセージの受信数が31以上であり、かつ、当該第2ユーザから最後に受信したメッセージの受信時刻(最新の受信時刻)が現在時刻から1週間以内である場合には、第1ユーザのユーザ画像側において矢印の太さは「太い」に設定される。この場合には、第1ユーザのユーザ画像側において矢印の色は「赤色」に設定される。
ただし、この実施例では、送信度合いおよび受信度合いの両方が所定条件を満たす場合には、矢印が特殊な態様で表示される。また、通常、ユーザ画像は、第1ユーザまたは第2ユーザがプロフィールを登録するときに決定した図柄(通常図柄)であるが、送信度合いおよび受信度合いの両方が所定条件を満たす場合には、ユーザ画像も特殊な態様で表示される。
この実施例では、送信度合いが所定条件を満たす場合とは、上述したように、第2ユーザのユーザ画像側において矢印の太さが「太い」となり、色が「赤色」に設定される条件を満たす場合、すなわち、第1ユーザから第2ユーザに送信されたメッセージの送信数が31以上であり、かつ当該第2ユーザに最後に送信したメッセージの送信時刻(最新の送信時刻)が現在時刻から1週間以内であることである。また、受信度合いが所定条件を満たす場合とは、上述したように、第1ユーザのユーザ画像側において矢印の太さが「太い」となり、色が「赤色」に設定される条件を満たす場合、すなわち、第1ユーザが第2ユーザからのメッセージを受信した受信数が31以上であり、かつ当該第2ユーザから最後に受信したメッセージの受信時刻(最新の受信時刻)が現在時刻から1週間以内であることである。送信度合いおよび受信度合いの両方が所定条件を満たす場合には、第1ユーザと第2ユーザは相互に31通以上のメッセージを送受信しており、第1ユーザから第2ユーザへの最新の送信および第1ユーザの第2ユーザからの最新の受信がいずれも1週間以内に行われたことになり、第1ユーザと第2ユーザとの親密度が高いと言える。
たとえば、図8(A)に示すように、第1ユーザが第2ユーザに送信したメッセージの送信数が10以下であり、第1ユーザが第2ユーザから受信したメッセージの受信数が10以下である場合には、第1ユーザのユーザ画像および第2ユーザのユーザ画像はいずれも通常図柄で表示される。この場合、第1ユーザのユーザ画像側および第2ユーザのユーザ画像側では、矢印の太さは「細い」に設定される。また、矢印の色は、いずれのユーザ画像側においても「黄色」に設定される。
また、図8(B)に示すように、第1ユーザが第2ユーザに送信したメッセージの送信数が11以上30以下であり、第1ユーザが第2ユーザから受信したメッセージの受信数が10以下である場合には、第1ユーザのユーザ画像および第2ユーザのユーザ画像はいずれも通常図柄で表示される。この場合、第2ユーザのユーザ画像側では、矢印の太さは「中」に設定され、第1ユーザのユーザ画像側では、矢印の太さは「細い」に設定される。このとき、矢印の色は、第2ユーザのユーザ画像側で「橙色」に設定され、第1ユーザのユーザ画像側で「黄色」に設定される。この実施例では、図8(B)からも分かるように、矢印の太さおよび矢印の色が当該矢印内において異なる場合には、矢印の太さおよび色が滑らかに変化するように表現される。以下、同様である。
さらに、図8(C)に示すように、第1ユーザが第2ユーザに送信したメッセージの送信数が31以上であり、かつ最後に送信したメッセージの送信時刻が現在時刻から1週間以内であり、第1ユーザが第2ユーザから受信したメッセージの受信数が31以上であるが、最後に受信したメッセージの受信時刻が現在時刻から1週間以内でない場合には、第1ユーザのユーザ画像および第2ユーザのユーザ画像はいずれも通常図柄で表示される。この場合、第2ユーザのユーザ画像側では、矢印の太さは「太い」に設定され、第1ユーザのユーザ画像側では、矢印の太さは「中」に設定される。このとき、矢印の色は、第2ユーザのユーザ画像側で「赤色」に設定され、第1ユーザのユーザ画像側で「橙色」に設定される。
さらにまた、図8(D)に示すように、第1ユーザが第2ユーザに送信したメッセージの送信度合いが所定条件を満たし、かつ第1ユーザが第2ユーザから受信したメッセージの受信度合いが所定条件を満たす場合には、第1ユーザのユーザ画像および第2ユーザのユーザ画像は特殊な態様の図柄に変更される。この実施例では、特殊な態様の図柄とは、赤ら顔の図柄であり、通常図柄において左右の頬に相当する位置に赤色が付された横長の楕円が表示される。ゲーム装置10のメモリに予め記憶されている通常図柄の画像がユーザ画像として使用されている場合には、同じくメモリに予め記憶されている赤ら顔の図柄に変更される。また、第1ユーザや第2ユーザが自身の顔画像をユーザ画像として使用している場合には、左右の頬に相当する位置に赤色が付された横長の楕円が表示(上書き)される。あるいは、自身の顔画像を登録するときに、通常時の顔および照れ顔の2種類の顔を登録しておき、通常時の顔を照れ顔に切り替えるようにしてもよい。
なお、赤ら顔の図柄を表示することに代えて、ユーザ画像またはその近傍に装飾を施してもよい。つまり、ユーザ画像の表示態様が特殊な表示態様に設定された場合に、他の場合と比較して、ユーザ画像が強調されれば、その手法は特に限定される必要はない。
また、第1ユーザが第2ユーザに送信したメッセージの送信度合いが所定条件を満たし、かつ第1ユーザが第2ユーザから受信したメッセージの受信度合いが所定条件を満たす場合には、第1ユーザのユーザ画像側および第2ユーザのユーザ画像側の両方で、矢印の太さは「太い」に設定される。このとき、矢印の色は、第1ユーザのユーザ画像側および第2ユーザのユーザ画像側の両方で特殊な色(たとえば、「金色」)に設定される。図面の都合上、図8(D)においては、特殊な色であることを示すために、矢印に横縞の模様
を付してある(図7も同じ)。
なお、矢印の色を特殊な色に設定することに代えて、矢印またはその近傍に装飾を施すようにしてもよい。つまり、矢印の表示態様が特殊な表示態様に設定された場合に、他の場合と比較して、矢印が強調されれば、その手法は特に限定される必要はない。
図7に戻って、関係図表示画面300の上端部には、ボタン画像340、ボタン画像342、ボタン画像344、ボタン画像346、およびボタン画像348が表示される。ボタン画像340は、図5に示したメニュー画面100に戻るために用いられる。ボタン画像342は、サーバ502に自身宛のメッセージが有るか否かを問い合わせるために用いられる。ボタン画像344、346、348は、第2ユーザを登録しているグループを選択するために用いられる。この実施例では、第2ユーザは、3つのグループのいずれかに分類され、したがって、ボタン画像344、346、348がオンされると、対応するグループに分類されている第2ユーザについてのユーザ画像が表示領域304−314に表示される。このとき、上述したように、各第2ユーザとの間におけるメッセージの送信度合いおよび受信度合いに基づいて、矢印の太さおよび矢印の色が設定され、設定された矢印が表示される。ただし、この実施例では、各グループには、最大で6人の第2ユーザを登録することができる。また、ユーザ画像は、いずれかの第2ユーザが指示(タッチ)された場合に、当該第2ユーザとの間で、送信度合いおよび受信度合いの両方が所定条件を満たす場合に、特殊な表示態様に変更される。これは、関係図表示画面300では、一度に複数のユーザ画像が表示されるため、いずれの第2ユーザとの関係において、ユーザ画像が変化されたかを第1ユーザが理解できるようにするためである。
さらに、関係図表示画面300の中央下部には、ボタン画像350が表示される。ボタン画像350は、サーバ502やネットワーク504を介さずに、ローカル通信モジュール66を介して直接他のゲーム装置10との間で通信(メッセージの送受信)を行うために用いられる。
図9は図3に示したゲーム装置10のメインメモリ52のメモリマップ520の例を示す図解図である。図9に示すように、メインメモリ52は、プログラム記憶領域522およびデータ記憶領域524を含む。プログラム記憶領域522には、この実施例の情報処理プログラムが記憶され、情報処理プログラムは、メイン処理プログラム522a、画像生成プログラム522b、画像表示プログラム522c、メッセージ作成プログラム522d、再生プログラム522e、通信プログラム522f、送信数カウントプログラム522g、受信数カウントプログラム522hおよび矢印設定プログラム522iなどによって構成される。
メイン処理プログラム522aは、この実施例の情報処理のメインルーチンを処理するためのプログラムである。画像生成プログラム522bは、後述する画像データ524eを用いて、第1LCD16および第2LCD18に各種の画面(100,200,300など)を表示するための表示画像データを生成するためのプログラムである。画像表示プログラム522cは、画像生成プログラム522bに従って生成された表示画像データを第1LCD16および第2LCD18に表示するためのプログラムである。
メッセージ作成プログラム522dは、手書きの文字等、写真および音声の少なくとも1つを含むメッセージに対応するメッセージデータを作成するためのプログラムである。したがって、メッセージ作成プログラム522dは、手書きの文字等を描画する手書きプログラムのみならず、写真を撮影するための撮影プログラムや音声を録音するための録音プログラムを含む。再生プログラム522eは、メッセージ作成プログラム522dに従って作成されたメッセージデータに含まれる手書きの文字等の描画データ、写真データお
よび音声データを再生したり、他のゲーム装置10から受信したメッセージデータに含まれる手書きの文字等の描画データ、写真データおよび音声データを再生したりするためのプログラムである。
通信プログラム522fは、他のゲーム装置10やコンピュータ(サーバ502など)と、直接またはネットワーク504を介して通信するためのプログラムである。送信数カウントプログラム522gは、通信対象の1または複数の他のゲーム装置10へのメッセージの送信数を、当該他のゲーム装置10(第2ユーザ)毎にカウントするためのプログラムである。受信数カウントプログラム522hは、通信対象の1または複数の他のゲーム装置10からのメッセージの受信数を、当該他のゲーム装置10(第2ユーザ)毎にカウントするためのプログラムである。
矢印設定プログラム522iは、送信数カウントプログラム522gに従うカウント結果および受信数カウントプログラム522hに従うカウント結果に基づいて、第1ユーザのユーザ画像と1または複数の第2ユーザのユーザ画像の図柄、第1ユーザのユーザ画像と1または複数の第2ユーザのユーザ画像の各々との間に表示される矢印の太さおよび矢印の色を設定するためのプログラムである。
なお、図示は省略するが、プログラム記憶領域522には、バックアッププログラムなども記憶される。バックアッププログラムは、メインメモリ52に記憶されたデータを、保存用データメモリ56やメモリカード26にセーブするためのプログラムである。
データ記憶領域524には、送受信データバッファ524aおよび操作データバッファ524bが設けられる。送受信データバッファ524aには、送信するメッセージデータまたは受信したメッセージデータが記憶(一時記憶)される。操作データバッファ524bには、操作ボタン20から入力される操作データおよびタッチパネル22から入力される座標データが時系列に従って記憶(一時記憶)される。
また、データ記憶領域524には、プロフィールデータ524c、ユーザIDデータ524d、画像データ524e、メッセージデータ524f、送信メッセージ管理データ524g、送受信管理データ524h、矢印設定データ524iおよび図柄設定データ524jなどが記憶される。
プロフィールデータ524cは、第1ユーザおよび1または複数の第2ユーザについてのプロフィールについてのデータである。詳細な説明は省略するが、プロフィールとしては、ユーザ名、ユーザ画像、音声(自己紹介やあいさつの音声)および誕生日などが該当する。詳細な説明は省略するが、第1ユーザのプロフィールデータは、第1ユーザの操作に従って作成され、サーバ502に対して後述するユーザIDの発行の要求を行うときに、サーバ502に送信(アップロード)される。また、第2ユーザのプロフィールデータは、通信対象として登録されるときに、サーバ502から受信(ダウンロード)される。
ユーザIDデータ524dは、ゲーム装置10自身に割り当てられる識別情報および通信対象として登録された他のゲーム装置10に割り当てられる識別情報についてのデータである。ただし、ユーザIDは、ゲーム装置10に対してではなく、ゲーム装置10のユーザに対して割り当てるようにしてもよい。また、この実施例では、ゲーム装置10からの発行要求に応じて、サーバ502が発行要求のあったゲーム装置10についてのユーザIDを発行する。また、図示は省略するが、他のゲーム装置10(第2ユーザ)は、通信対象として登録される際に、グループに分類されるため、他のゲーム装置10のユーザIDは、グループ単位で管理(記憶)される。また、サーバ502がユーザIDを発行することに代えて、IPアドレス等を用いるようにしてもよい。
画像データ524eは、ポリゴンデータやテクスチャデータのようなデータおよび複数種類(この実施例では、6種類)の矢印についてのデータなどである。この実施例では、各種の矢印についてのデータが予め記憶されており、矢印の太さおよび矢印の色が設定されると、表示画像データが生成されるときに、対応する矢印の画像データ(矢印データ)が読み出される。ただし、矢印データは、予め記憶しておくのではなく、設定された太さおよび色に応じて、ポリゴンデータおよびテクスチャデータを用いてリアルタイムに生成するようにしてもよい。
なお、矢印の種類は、図8(A)−図8(D)に示した4種類に加えて、次の2種類の矢印データが予め記憶されている。具体的には、1つ目が、両方の太さが「中」に設定され、両方の色が「橙色」に設定された矢印である。2つ目が、一方の太さが「細い」に設定され、他方の太さが「太い」に設定され、当該一方の色が「黄色」に設定され、当該他方の色が「赤色」に設定された矢印である。図示は省略するが、2つ目の矢印では、一方と他方とで太さおよび色が異なるため、太さおよび色が次第に変化するように表現される。以上の6種類の矢印を回転または反転させて表示することで、全てのパターンをカバーすることができる。
メッセージデータ524fは、作成したメッセージデータおよび受信したメッセージデータである。図示は省略するが、メッセージデータには、サーバ502によって付与(通知)された識別情報(メッセージID)が付加されている。
送信メッセージ管理データ524gは、他のゲーム装置10に送信したメッセージデータが当該他のゲーム装置10によって受信されたか否かを管理するためのデータである。この実施例では、他のゲーム装置10にメッセージデータを送信したときに、送信数をカウントするのではなく、当該他のゲーム装置10よってメッセージデータが受信されたときに、送信数をカウントするようにしてあるため、送信メッセージ管理データ524gを設けてある。
図10(A)に示すように、送信メッセージ管理データ524gに従う送信メッセージ管理テーブルは、メッセージIDに対応して、受信済みフラグが記載される。
上述したように、メッセージIDは、メッセージデータについての識別情報であり、サーバ502にメッセージデータを送信したときにサーバ502によって付与されるとともに、発行されたメッセージIDは当該メッセージデータを送信したゲーム装置10に通知される。図10(A)では、メッセージIDを1文字のアルファベットで示してあるが、単なる一例であり、これに限定される必要は無い。たとえば、メッセージIDは、数字で示したり、アルファベットと数字とで示したり、人間が解読できない情報で示したりしてよい。
受信済みフラグは、対応するメッセージIDの示すメッセージデータが、宛先のゲーム装置10(第2ユーザ)によって受信されたか否かを判断するためのフラグである。たとえば、対応するメッセージデータが宛先のゲーム装置10によって受信された場合には、受信済みフラグはオン(成立)され、対応するメッセージデータが宛先のゲーム装置10によって受信されていない場合には、受信済みフラグはオフ(不成立)される。
図9に戻って、送受信管理データ524hは、第2ユーザ毎に、送信したメッセージ(メッセージデータ)の送信数、最後にメッセージを送信した日時(最新の送信時刻)、受信したメッセージの受信数、および最後にメッセージを受信した日時(最新の受信時刻)を管理するためのデータである。図10(B)に示すように、送受信管理データ524h
に従う送受信管理テーブルでは、通信対象のユーザIDに対応して、送信数、最新の送信時刻、受信数および最新の受信時刻が記載される。
上述したように、通信対象のユーザIDは、通信対象として登録された他のゲーム装置10または当該他のゲーム装置10の第2ユーザに割り当てられた識別情報である。図10(B)では、ユーザIDを4文字のアルファベットで示してあるが、単なる一例であり、これに限定される必要はない。たとえば、ユーザIDは、数字で示したり、アルファベットと数字とで示したりしてよい。
送信数は、対応する通信対象のユーザIDが示すゲーム装置10に送信されたメッセージデータの数を示す。最新の送信時刻は、対応する通信対象のユーザIDが示すゲーム装置10に最後にメッセージデータを送信した送信時刻を示す。この実施例では、最新の送信時刻(後述する、「最新の受信時刻」も同じ)は、12桁の数字で表される。先頭(左端)から順に、西暦の年数が2桁の数字で示され、月日が4桁の数字で示され、時刻(時、分、秒)が6桁の数字で示される。したがって、たとえば、最新の送信時刻として「091016211436」が記載されている場合には、メッセージが最後に送信された年日付および時刻は、2009年10月16日21時14分36秒である。
受信数は、対応する第2ユーザのユーザIDが示すゲーム装置10から受信したメッセージデータの数を示す。最新の受信時刻は、対応する通信対象のユーザIDが示すゲーム装置10から最後にメッセージデータを受信した受信時刻を示す。上述したように、この実施例では、最新の受信時刻は、12桁の数字で示される。
図9に戻って、矢印設定データ524iは、関係図表示画面300を表示する際に、ユーザ画像間に表示される矢印の種類を決定(矢印データを選択)するためのデータである。図示は省略するが、矢印設定データ524iは、通信対象として登録されている他のゲーム装置10(ユーザID)毎に記憶されており、各ユーザIDに対応して、自身のユーザ画像側および各ユーザIDが示すユーザのユーザ画像側の双方について、矢印の太さおよび矢印の色についての情報(データ)が記憶されるのである。ただし、この実施例では、矢印の太さと色とは1対1で対応しているため、いずれか一方の情報のみが記憶されてもよい。この矢印設定データ524iは、上述した送受信管理データ524hに基づいて生成(更新)される。ただし、通信対象として登録されている他のゲーム装置10であっても、メッセージデータの送信および受信が一度も行われていない他のゲーム装置10については、そのユーザIDに対応して、NULLデータが記憶される。
図柄設定データ524jは、矢印設定データ524iが示す矢印の太さが、矢印の双方向について「太い」に設定されている場合の通信対象のゲーム装置10についてのユーザIDを記載したデータである。この図柄設定データ524jに従って、上述したように、ユーザ画像の図柄が赤ら顔に変更される。
なお、図示は省略するが、データ記憶領域524には、効果音やBGMを出力するための音データが記憶されたり、情報処理に必要なフラグやカウンタ(タイマ)が設けられたりする。
図11−図15は、図3に示したゲーム装置10のCPU50の全体処理を示すフロー図である。図11に示すように、CPU50は、全体処理を開始すると、ステップS1で、図5に示したメニュー画面100を第2LCD18に表示する。次のステップS3では、新しいメッセージの作成指示が有るかどうかを判断する。つまり、CPU50は、ボタン画像116がオンされたかどうかを判断する。具体的には、CPU50は、操作データバッファ524bに記憶されている座標データが、第2LCD18に表示されたボタン画
像116が描画された位置を指示しているかどうかを判断するのである。以下、ボタン画像がオンされたかどうかを判断する場合について同様である。
ステップS3で“YES”であれば、つまり新しいメッセージの作成指示が有れば、ステップS5で、図6に示したメッセージ作成画面200を第2LCD18に表示する。図示は省略するが、ユーザが手書きの文字等を描画したり、写真を撮影したり、音声を入力したりして、メッセージを作成し、ボタン画像204をオンすると、作成したメッセージに対応するメッセージデータの保存が指示される。これに応じて、CPU50は、ステップS7で、作成したメッセージに対応するメッセージデータをメインメモリ52に保存して、ステップS1に戻る。
また、ステップS3で“NO”であれば、つまり新しいメッセージの作成指示が無ければ、ステップS9で、関係図の表示指示が有るかどうかを判断する。つまり、CPU50は、ボタン画像114がオンされたかどうかを判断する。ステップS9で“NO”であれば、つまり関係図の表示指示が無ければ、そのままステップS1に戻る。
なお、図11では、ステップS9で“NO”であれば、そのままステップS1に戻るようにしてあるが、上述したように、ボタン画像104やボタン画像106がオンされると、前月または次月に送信または受信されたメッセージが表示領域102に表示される。また、ボタン画像110やボタン画像112がオンされた場合には、表示領域102に表示されたメッセージ(1020−1024)が左または右に移動される。さらに、ボタン画像118がオンされると、図示しない各種の設定画面が表示され、上述したように、メッセージ(メッセージデータ)の削除、第2ユーザについてのグループ編集、メッセージデータのメモリカード26への移動の可否、メッセージデータの転送や編集の可否などが設定される。
ステップS9で“YES”であれば、つまり関係図の表示指示が有れば、ステップS11で、自身(第1ユーザ)のユーザIDを発行済みであるかどうかを判断する。つまり、CPU50は、ユーザIDデータ524dに、自身のユーザIDが登録されているかどうかを判断する。ステップS11で“YES”であれば、つまり自身のユーザIDを発行済みであれば、そのまま図12に示すステップS21に進む。
一方、ステップS11で“NO”であれば、つまり自身のユーザIDを発行していない場合には、ステップS13で、サーバ502に接続し、ステップS15で、第1ユーザのプロフィールデータをサーバ502に送信し、ステップS17で、自身のユーザIDの発行をサーバ502に要求する。これに応じて、サーバ502で、ユーザIDが発行されると、ステップS19で、サーバ502から自身のユーザIDを受信し、メインメモリ52に保存して、ステップS21に進む。
図12に示すステップS21では、後述する関係図表示処理(図16−図19参照)を実行して、ステップS23で、第2ユーザのユーザ画像を選択したかどうかを判断する。ここでは、CPU50は、いずれかの第2ユーザのユーザ画像がオン(タッチ)されたかどうかを判断する。ただし、ユーザ画像がオンされたかどうかの判断手法は、ボタン画像がオンされたかどうかの判断手法と同様であるため、重複した説明は省略する。
ステップS23で“NO”であれば、つまり第2ユーザのユーザ画像が選択されていなければ、ステップS25で、メッセージの受信指示が有るかどうかを判断する。ここでは、CPU50は、ボタン画像342がオンされたかどうかを判断する。ステップS25で“YES”であれば、つまりメッセージデータの受信指示が有れば、図13に示すステップS51に進む。一方、ステップS25で“NO”であれば、つまりメッセージデータの
受信指示が無ければ、図15に示すステップS73に進む。
また、ステップS23で“YES”であれば、つまり第2ユーザのユーザ画像が選択されると、ステップS27で、図柄設定データ524jを参照して、ゲーム装置10自身のユーザ画像と選択された第2ユーザのユーザ画像とが親密度の高い図柄に設定されているかどうかを判断する。ステップS27で“NO”であれば、つまりゲーム装置10自身のユーザ画像と選択された第2ユーザのユーザ画像とが親密度の高い図柄に設定されていない場合には、そのままステップS31に進む。一方、ステップS27で“YES”であれば、つまりゲーム装置10自身のユーザ画像と選択された第2ユーザのユーザ画像とが親密度の高い図柄に設定されている場合には、ステップS29で、親密度が高い場合の図柄を表示して、ステップS31に進む。この実施例では、ステップS29では、赤ら顔の図柄で、第1ユーザのユーザ画像および第2ユーザのユーザ画像が表示される。ただし、後述するように、他の第2ユーザのユーザ画像を選択した際に、直前まで親密度が高い場合の図柄が表示され、今回ステップS27で“NO”と判断された場合には、第1ユーザのユーザ画像および当該他の第2ユーザのユーザ画像は通常図柄で表示される。
ステップS31では、選択した第2ユーザのユーザ画像に対応する第2ユーザのプロフィールを第1LCD16に表示する。次のステップS33では、メッセージの送信指示があるかどうかを判断する。図7では省略したが、いずれかの第2ユーザのユーザ画像が選択されると、当該ユーザ画像の前面に、送信指示のためのボタン画像が表示される。CPU50は、この送信指示のためのボタン画像がオンされたかどうかを判断しているのである。ただし、ユーザ画像の前面に送信指示のためのボタン画像を表示することに代えて、ユーザ画像を送信指示のためのボタン画像に置き換えてもよい。
ステップS33で“NO”であれば、つまりメッセージデータの送信指示が無ければ、ステップS35で、他の第2ユーザのユーザ画像を選択したかどうかを判断する。ステップS35で“NO”であれば、つまり他の第2ユーザのユーザ画像を選択していなければ、そのままステップS33に戻る。一方、ステップS35で“YES”であれば、つまり他の第2ユーザのユーザ画像を選択すれば、ステップS27に戻る。つまり、CPU50は、他の第2ユーザの選択に応じて、ユーザ画像の図柄やプロフィールの表示を変更するのである。
一方、ステップS33で“YES”であれば、つまりメッセージデータの送信指示が有れば、ステップS37で、全メッセージを一覧表示(図示せず)する。ただし、全メッセージの一覧表示画面は、図5のメニュー画面100のようにしてもよい。そして、図13に示すように、次のステップS39では、送信するメッセージデータが選択されたかどうかを判断する。ステップ39で“NO”であれば、つまり送信するメッセージデータが選択されていなければ、そのままステップS39に戻り、メッセージデータが選択されるのを待機する。一方、ステップS39で“YES”であれば、つまり送信するメッセージデータが選択されれば、ステップS41で、選択されたメッセージに対応するメッセージデータに宛先を付与して、サーバ502にアップロードする。ただし、CPU50は、ステップS23またはステップS35で選択されたと判断された第2ユーザのユーザ画像に対応するユーザIDを宛先としてメッセージデータに付与する。
続くステップS43では、現在時刻を取得する。ここでは、CPU50は、RTC68から西暦、月日および時刻を取得する。次のステップS45では、最新の送信時刻を現在時刻で更新する。つまり、CPU50は、送受信管理データ524hが示す送受信管理テーブルにおいて、メッセージデータの宛先のユーザIDに対応する最新の送信時刻を、ステップS43で取得した西暦、月日および時刻を用いて更新する。
続いて、ステップS47では、ステップS41で送信したメッセージデータのメッセージIDを、サーバ502から受信する。メッセージデータがアップロードされると、サーバ502によって、当該メッセージデータにメッセージIDが付与され、その結果をサーバ502から受信するのである。次のステップS49では、ステップS41で送信したメッセージデータに対応付けてメッセージIDを記憶する。また、このとき、CPU50は、送信メッセージ管理データ524gが示す送信メッセージ管理テーブルにメッセージIDを追加するとともに、当該メッセージIDに対応する受信済みフラグをオフに設定する。
次に、ステップS51で、第1ユーザ宛のメッセージの有無をサーバ502に問い合わせる。つまり、CPU50は、ゲーム装置10自身に割り当てられたユーザIDを宛先とするメッセージが有るかどうかをサーバ502に問い合わせるのである。続くステップS53では、第1ユーザ宛のメッセージデータが有るかどうかを判断する。つまり、CPU50は、第1ユーザ宛のメッセージデータが有る旨の通知がサーバ502から届いたかどうかを判断する。
ステップS53で“NO”であれば、つまり第1ユーザ宛のメッセージデータが無ければ、そのまま図12に示したステップS21に戻る。一方、ステップS53で“YES”であれば、つまり第1ユーザ宛のメッセージデータが有れば、図14に示すステップS55で、第1ユーザ宛のメッセージデータをサーバ502からダウンロードし、データ記憶領域524に保存する。そして、ステップS57で、サーバ502に受信完了を通知する。
続くステップS59では、現在時刻を取得し、ステップS61では、最新の受信時刻を現在時刻で更新する。このステップS59およびS61の処理は、上述したステップS43およびS45の処理と同様であるため、重複した説明は省略する。次のステップS63では、メッセージデータの送信者についての受信数を1加算する。ここでは、CPU50は、送受信管理データ524hが示す送受信管理テーブルにおいて、メッセージデータの送信者についてのユーザIDに対応する受信数を1加算する。
次に、ステップS65では、送信したメッセージデータのうち、受信済みになっていないメッセージデータが送信先の第2ユーザ(通信対象としての他のゲーム装置10)によって受信されたか否かをサーバ502に問い合わせる。ここでは、CPU50は、送信メッセージ管理データ524gが示す送信メッセージ管理テーブルにおいて、受信済みフラグがオフである全てのメッセージのメッセージIDをサーバ502に送信し、これらのメッセージIDが示すメッセージデータがデータベース506に残っているかどうかを問い合わせるのである。次のステップS67では、新たに受信されたメッセージデータが有るかどうかを判断する。ここでは、CPU50は、サーバ502に送信したメッセージIDが付与されているメッセージデータのうちデータベース506に残っているメッセージデータのメッセージIDをサーバ502から取得し、サーバ502から取得した1または複数のメッセージIDと、受信済みフラグがオフである1または複数のメッセージIDとが相違するかどうかを判断するのである。
サーバ502から取得した1または複数のメッセージIDに含まれていないメッセージID(説明の便宜上、「対象メッセージID」)が、受信済みフラグがオフである1または複数のメッセージIDに存在する場合には、1または複数の対象メッセージIDが示すメッセージデータが送信先の第2ユーザによって新たに受信されたと判断される。しかし、サーバ502から取得した1または複数のメッセージIDに含まれていないメッセージIDと、受信済みフラグがオフである1または複数のメッセージIDとがすべて一致する場合には、送信先の第2ユーザによって新たに受信されたメッセージデータが無いと判断
される。
ステップS67で“NO”であれば、つまり新たに受信されたメッセージデータが無い場合には、そのままステップS21に戻る。一方、ステップS67で“YES”であれば、つまり新たに受信されたメッセージデータが有る場合には、ステップS69で、当該メッセージデータの受信済みフラグをオンする。つまり、CPU50は、送信メッセージ管理テーブルにおいて、新たに受信されたことが分かったメッセージデータについての受信済みフラグをオンする。そして、ステップS71では、送受信管理テーブルにおいて、新たに受信されたことが分かったメッセージデータに付与された宛先のユーザIDに対応する送信数を1加算してから、ステップS21に戻る。なお、新たに受信されたメッセージデータが複数ある場合には、それに応じた数だけ対応するユーザIDの送信数を加算する。
なお、この実施例では、通信対象としての他のゲーム装置10でメッセージが受信された場合に、送信数を加算するようにしてあるが、メッセージを送信した時点で送信数を加算するようにしてもよい。
上述したように、ステップS25で、メッセージの受信指示が無いことが判断され、“NO”となると、図15に示すステップS73で、未登録の画像を選択したかどうかを判断する。たとえば、図7に示す関係図表示画面300においては、未登録の画像304aまたは未登録の画像310aがオンされたかどうかを判断するのである。ステップS73で“NO”であれば、つまり未登録の画像を選択していなければ、そのままステップS21に戻る。一方、ステップS73で“YES”であれば、つまり未登録の画像を選択すれば、ステップS75で、今回登録する通信対象のゲーム装置10(第2ユーザ)のユーザIDの入力が終了したかどうかを判断する。ここでは、第1ユーザによって通信対象の他のゲーム装置10(第2ユーザ)のユーザIDが入力され、CPU50は、通信対象の他のゲーム装置10(第2ユーザ)についてのユーザIDの入力が終了したかどうかを判断しているのである。
ステップS75で“NO”であれば、つまり通信対象の他のゲーム装置10のユーザIDの入力を終了していなければ、そのまま同じステップS75に戻る。一方、ステップS75で“YES”であれば、つまり通信対象の他のゲーム装置10のユーザIDの入力を終了すれば、ステップS77で、入力したユーザIDが示す他のゲーム装置10の第2ユーザのプロフィールデータをサーバ502に問い合わせる。次のステップS79では、当該第2ユーザのプロフィールデータをサーバ502から受信し、メインメモリ52のデータ記憶領域524に保存する。そして、ステップS81で、選択された未登録の画像を登録済みのユーザ画像に変更して、ステップS21に戻る。詳細な説明は省略するが、ステップS81では、CPU50は、受信したプロフィールデータに含まれる画像データ(通常画像または顔画像の画像データ)を用いてユーザ画像を表示する。
図16ないし図19は、図12に示したステップS21の関係図表示処理のフロー図である。図16に示すように、CPU50は、関係図表示処理を開始すると、ステップS101で、第1ユーザのユーザ画像を配置する。ここでは、CPU50の指示の下、第2GPU76が第2VRAM80の所定位置に、第1ユーザのユーザ画像を配置する。この実施例では、所定位置は、第2LCD18に関係図表示画面300を表示する際に、画面の略中央に相当する位置であり、予め決定されている。以下、ユーザ画像を配置する場合には、予め決定されている位置に配置される点について同様である。
次のステップS103では、変数nに初期値を設定する(n=1)。この変数nは、1または複数の通信対象のゲーム装置10(第2ユーザ)を個別に識別するために設定され
る。詳細な説明は省略するが、関係図表示画面300は、グループ単位で表示されるため、厳密に言うと、変数nは、選択されたグループにおける1または複数の第2ユーザを個別に識別するために設けられる。
続いて、ステップS105では、変数nが最大数(この実施例では、6)を超えたかどうかを判断する。ステップS105で“YES”であれば、つまり変数nが最大数を超えていれば、すべての第2ユーザのユーザ画像について矢印の表示設定を終了したと判断して、ステップS107で、関係図の画像を生成する。ここでは、第2ユーザのユーザ画像の画像データを所定位置に配置したり、表示設定(矢印設定データ524i)に従う種類の矢印データをその表示設定に従った向きで配置したりして、関係図表示画面300についての表示画像データを生成する。ただし、「矢印データを表示設定に従った向きで配置する」とは、第1ユーザのユーザ画像側において設定された矢印の太さおよび色と、第2ユーザのユーザ画像側において設定された矢印の太さおよび色とが、正しくなるように、矢印データが配置されることを意味する。ただし、矢印データが配置される位置および角度は、第2ユーザのユーザ画像の画像データが配置される位置に応じて予め決定されており、矢印データの向きが、表示設定に従って決定されるのである。そして、ステップS109で、関係図の画像を第2LCD18に表示して、図11−図15に示した全体処理にリターンする。
一方、ステップS105で“NO”であれば、つまり変数nが最大数以下であれば、ステップS111で、n番目の第2ユーザを選択する。具体的には、n番目の第2ユーザのユーザIDを特定する。第2ユーザを選択する順番としては、たとえば、第2ユーザは、ユーザ画像の表示領域(304−314)に付された番号の若い順に選択される。これは一例であり、第2ユーザ(通信対象の他のゲーム装置10)は、通信対象として登録された順番で選択されてもよい。次のステップS113では、送受信管理データ524hが示す送受信管理テーブルを参照して、選択した第2ユーザのユーザIDに対応する、メッセージデータの送信数、最新の送信時刻、メッセージの受信数、および最新の受信時刻を取得する。
次に、ステップS115では、現在時刻を取得する。そして、図17に示すステップS117で、最新の送信時刻が現在時刻から1週間以内であるかどうかを判断する。具体的には、CPU50は、現在時刻(西暦、月日、時刻を示す12桁の数)から、ステップS113で取得した最新の送信時刻(西暦、月日、時刻を示す12桁の数)を減算し、その
結果が1週間以内(「000007000000」以下)であるかどうかを判断するのである。
なお、この減算処理は、ある部分(たとえば、秒を表す下2桁)においては60進法であり、またある部分(たとえば、年を表す上2桁)においては10進法で行われる。
ステップS117で“NO”であれば、つまり最新の送信時刻が現在時刻から1週間を超えている場合には、そのままステップS125に進む。一方、ステップS117で“YES”であれば、つまり最新の送信時刻が現在時刻から1週間以内である場合には、ステップS119で、ステップS113で取得したメッセージデータの送信数が31以上であるかどうかを判断する。ステップS119で“NO”であれば、つまりメッセージデータの送信数が31未満であれば、そのままステップS125に進む。
一方、ステップS119で“YES”であれば、つまりメッセージデータの送信数が31以上であれば、送信頻度が高いと判断して、ステップS121で、選択した第2ユーザのユーザ画像側の矢印の太さを「太い」に設定し、ステップS123で、選択した第2ユーザのユーザ画像側の矢印の色を「赤色」に設定して、図18に示すステップS135に
進む。
また、ステップS125では、ステップS113で取得したメッセージデータの送信数が11以上であるかどうかを判断する。ステップS125で“YES”であれば、つまりメッセージデータの送信数が11以上であれば、送信頻度が中程度であると判断して、ステップS127で、選択した第2ユーザのユーザ画像側の矢印の太さを「中」に設定し、ステップS129で、選択した第2ユーザのユーザ画像側の矢印の色を「橙色」に設定して、ステップS135に進む。
一方、ステップS125で“NO”であれば、つまりメッセージの送信数が11未満であれば、送信頻度が低いと判断して、ステップS131で、選択した第2ユーザのユーザ画像側の矢印の太さを「細い」に設定し、ステップS133で、選択した第2ユーザのユーザ画像の矢印の色を「黄色」に設定して、ステップS135に進む。
図18に示すように、ステップS135では、ステップS113で取得した最新の受信時刻が現在時刻から1週間以内であるかどうかを判断する。この判断手法は、ステップS117において説明した場合と同様であるため、重複した説明は省略する。ステップS135で“NO”であれば、つまり最新の受信時刻が現在時刻から1週間を超えている場合には、そのままステップS143に進む。
一方、ステップS135で“YES”であれば、つまり最新の受信時刻が現在時刻から1週間以内であれば、ステップS137で、ステップS113で取得したメッセージの受信数が31以上であるかどうかを判断する。ステップS137で“NO”であれば、つまりメッセージの受信数が31未満であれば、ステップS143に進む。
一方、ステップS137で“YES”であれば、つまりメッセージデータの受信数が31以上であれば、受信頻度が高いと判断して、ステップS139で、第1ユーザのユーザ画像側の矢印の太さを「太い」に設定し、ステップS141で、第1ユーザのユーザ画像側の矢印の色を「赤色」に設定して、図19に示すステップS153に進む。
また、ステップS143では、ステップS113で取得したメッセージデータの受信数が11以上であるかどうかを判断する。ステップS143で“YES”であれば、つまりメッセージデータの受信数が11以上であれば、受信頻度が中程度であると判断して、ステップS145で、第1ユーザのユーザ画像側の矢印の太さを「中」に設定し、ステップS147で、第1ユーザのユーザ画像側の矢印の色を「橙色」に設定して、ステップS153に進む。
一方、ステップS143で“NO”であれば、つまりメッセージデータの受信数が11未満であれば、受信頻度が低いと判断して、ステップS149で、第1ユーザのユーザ画像側の矢印の太さを「細い」に設定し、ステップS151で、第1ユーザのユーザ画像側の矢印の色を「黄色」に設定して、ステップS153に進む。
図19に示すように、ステップS153では、第1ユーザおよび選択した第2ユーザのユーザ画像側の両方で、矢印の太さが「太い」に設定されたかどうかを判断する。ステップS153で“NO”であれば、つまり第1ユーザおよび選択した第2ユーザのユーザ画像側の少なくとも一方で、矢印の太さが「太い」に設定されていない場合には、図16に示したステップS105にそのまま戻る。
一方、ステップS153で“YES”であれば、つまり第1ユーザおよび選択した第2ユーザのユーザ画像側の両方で、矢印の太さが「太い」に設定されている場合には、ステ
ップS155で、第1ユーザ側および選択された第2ユーザのユーザ画像側の矢印の色を金色に設定(変更)する。そして、次のステップS157で、第1ユーザおよび選択された第2ユーザのユーザ画像を親密度が高い場合の図柄に設定して、つまり図柄設定データ524jに当該選択された第2ユーザのゲーム装置10のユーザIDを登録して、ステップS105に戻る。
図20および図21は、サーバ502のCPU502aの全体処理を示すフロー図である。図20に示すように、CPU502aは、全体処理を開始すると、ステップS201で、メッセージデータがアップロードされたかどうかを判断する。ステップS201で“NO”であれば、つまりメッセージデータがアップロードされていなければ、そのままステップS209に進む。
なお、図示は省略するが、ゲーム装置10との通信状態が確立されると、CPU502aは全体処理を開始する。また、通信状態が確立された後では、ゲーム装置10からのリクエスト(問合せ)が有る度に、CPU502aは全体処理を開始する。さらに、CPU502aの処理能力にもよるが、複数のゲーム装置10との通信状態が確立されると、各ゲーム装置10との間で全体処理が個別に実行される。
一方、ステップS201で“YES”であれば、つまりメッセージデータがアップロードされれば、ステップS203で、アップロードされたメッセージデータをデータベース506に記憶する。続くステップS205では、アップロードされたメッセージデータにメッセージIDを付与する。このとき、ステップS203でデータベース506に記憶したメッセージデータにメッセージIDが付加される。または、ステップS203でデータベース506に記憶したメッセージデータに対応してメッセージIDが記憶される。そして、ステップS207では、当該メッセージデータをアップロードしたゲーム装置10にメッセージIDを通知して、ステップS209に進む。
ステップS209では、メッセージデータの受信問合せかどうかを判断する。ステップS209で“NO”であれば、つまりメッセージデータの受信問合せでなければ、図21に示すステップS221にそのまま進む。一方、ステップS209で“YES”であれば、つまりメッセージデータの受信問合せであれば、ステップS211で、問い合わせのあったゲーム装置10のユーザID宛のメッセージデータをデータベース506から検索(検出)する。そして、ステップS213で、メッセージデータが有るかどうかを判断する。つまり、CPU502aは、問合せのあったゲーム装置10のユーザID宛のメッセージデータがデータベース506に記憶されているかどうかを判断するのである。
ステップS213で“NO”であれば、つまりメッセージデータが無ければ、そのままステップS221に進む。一方、ステップS213で“YES”であれば、つまりメッセージデータが有れば、ステップS215で、問合せのあったゲーム装置10に、メッセージデータが有る旨を通知し、図21に示すステップS217で、問合せのあったゲーム装置10のユーザID宛のメッセージデータを、当該ゲーム装置10に送信する。そして、ステップS219で、送信したメッセージデータをデータベース506から削除して、ステップS221に進む。
ステップS221では、受信確認の問合せかどうかを判断する。ステップS221で“NO”であれば、つまり受信確認の問合せでなければ、そのまま全体処理を終了する。一方、ステップS221で“YES”であれば、つまり受信確認の問合せがあれば、ステップS223で、問合せにおいてゲーム装置10から送信された全てのメッセージIDにつき、当該メッセージIDが付加されたメッセージデータをデータベース506から検索(検出)する。次のステップS225では、検出されたすべてのメッセージデータの各々に
付加されたメッセージIDを、問合せのあったゲーム装置10に通知して、全体処理を終了する。
この実施例によれば、ユーザ画像間に表示される双方向を指示する矢印の太さおよび色をメッセージデータの送信数および受信数に応じて変化させるので、送信度合いと受信度合いとのそれぞれを容易かつ視覚的に分かり易く示すことができる。したがって、送信度合いおよび受信度合いから表される、一方のユーザから他方のユーザへの好意および他方のユーザから一方のユーザへの好意のそれぞれの度合いを容易に知ることができる。さらには、ユーザ同士の親密度を容易に知ることができる。
他の実施例のゲーム装置10では、ユーザ画像間に配置する矢印を、一方から他方を指示する矢印と、他方から一方を指示する矢印との2つに分けて表示するようにした以外は、上述の実施例と同じであるため、重複した説明は省略する。
図22(A)−図22(D)には、他の実施例のユーザ画像およびユーザ画像間に表示される矢印の例が示される。図22(A)は、第1ユーザから第2ユーザに送信したメッセージの送信数が10以下であり、第1ユーザが第2ユーザから受信したメッセージの受信数が10以下である場合における、ユーザ画像および矢印の表示態様を示す。具体的には、第1ユーザのユーザ画像および第2ユーザのユーザ画像は、通常図柄で表示される。第1ユーザのユーザ画像側から第2ユーザのユーザ画像側を指示する矢印の太さは「細い」に設定され、その矢印の色は「黄色」に設定される。また、第2ユーザのユーザ画像側から第1ユーザのユーザ画像側を指示する矢印の太さは「細い」に設定され、その矢印の色は「黄色」に設定される。
また、図22(B)は、第1ユーザが第2ユーザに送信したメッセージの送信数が11以上30以下であり、第1ユーザが第2ユーザから受信したメッセージの受信数が10以下である場合における、ユーザ画像および矢印の表示態様を示す。具体的には、第1ユーザのユーザ画像および第2ユーザのユーザ画像は、通常図柄で表示される。第1ユーザのユーザ画像側から第2ユーザのユーザ画像側を指示する矢印の太さは「中」に設定され、その矢印の色は「橙色」に設定される。また、第2ユーザのユーザ画像側から第1ユーザのユーザ画像側を指示する矢印の太さは「細い」に設定され、その矢印の色は「黄色」に設定される。
さらに、図22(C)は、第1ユーザが第2ユーザに送信したメッセージの送信数が31以上であり、かつ最新の送信時刻が現在時刻から1週間以内であり、第1ユーザが第2ユーザから受信したメッセージの受信数が31以上であるが、最新の受信時刻が現在時刻から1週間を超えている場合における、ユーザ画像および矢印の表示態様を示す。具体的には、第1ユーザのユーザ画像および第2ユーザのユーザ画像は、通常図柄で表示される。第1ユーザのユーザ画像側から第2ユーザのユーザ画像側を指示する矢印の太さは「太い」に設定され、その矢印の色は「赤色」に設定される。また、第2ユーザのユーザ画像側から第1ユーザのユーザ画像側を指示する矢印の太さは「中」に設定され、その矢印の色は「橙色」に設定される。
さらにまた、図22(D)は、第1ユーザが第2ユーザに送信したメッセージの送信度合いが所定条件を満たす場合であり、第1ユーザが第2ユーザから受信したメッセージの受信度合いが所定条件を満たす場合における、ユーザ画像および矢印の表示態様を示す。具体的には、第1ユーザのユーザ画像および第2ユーザのユーザ画像は、親密度が高い場合の図柄で表示される。親密度が高い場合の図柄は、上述の実施例と同様に、赤ら顔の図柄である。第1ユーザのユーザ画像側から第2ユーザのユーザ画像側を指示する矢印の太さは「太い」に設定され、その矢印の色は特殊な色(たとえば、金色)に設定される。図
面の都合上、図22(D)においては、特殊な色であることを示すために、矢印に横縞の模様を付してある。同様に、第2ユーザのユーザ画像側から第1ユーザのユーザ画像側を指示する矢印の太さは「太い」に設定され、その矢印の色は「金色」に設定される。
なお、所定条件は、上述の実施例で示した所定条件と同じであるため、重複した説明は省略する。
具体的なCPU50の処理については、上述の実施例における関係図表示処理の一部が異なる以外は同じであるため、重複した説明は省略することとし、異なる内容についてのみ説明することにする。
図23−図25には、関係図表示処理の一部についてフロー図が示される。この他の実施例における関係図表示処理のフロー図では、上述の実施例の関係図表示処理と同じ処理については同じ参照符号を付してある。図23に示すように、ステップS119で“YES”であれば、つまり送信度合いが高い場合には、ステップS121´で、選択した第2ユーザのユーザ画像向きの矢印の太さを「太い」に設定し、ステップS123´で、選択した第2ユーザのユーザ画像向きの矢印の色を「赤色」に設定して、図24に示すステップS135に進む。
また、ステップS125で“YES”であれば、つまり送信度合いが中程度である場合には、ステップS127´で、選択した第2ユーザのユーザ画像向きの矢印の太さを「中」に設定し、ステップS129´で、選択した第2ユーザのユーザ画像向きの矢印の色を「橙色」に設定して、図24に示すステップS135に進む。
さらに、ステップS125で“NO”であれば、つまり送信度合いが低い場合には、ステップS131´で、選択した第2ユーザのユーザ画像向きの矢印の太さを「細い」に設定し、ステップS133´で、選択した第2ユーザのユーザ画像向きの矢印の色を「黄色」に設定して、図24に示すステップS135に進む。
図24に示すように、ステップS137で“YES”であれば、つまり受信度合いが高い場合には、ステップS139´で、第1ユーザのユーザ画像向きの矢印の太さを「太い」に設定し、ステップS141´で、第1ユーザのユーザ画像向きの矢印の色を「赤色」に設定して、図25に示すステップS153に進む。
また、ステップS143で“YES”であれば、つまり受信度合いが中程度である場合には、ステップS145´で、第1ユーザのユーザ画像向きの矢印の太さを「中」に設定し、ステップS147´で、第1ユーザのユーザ画像向きの矢印の色を「橙色」に設定して、ステップS153に進む。
さらに、ステップS143で“NO”であれば、つまり受信度合いが低い場合には、ステップS149´で、第1ユーザのユーザ画像向きの矢印の太さを「細い」に設定し、ステップS151´で、第1ユーザのユーザ画像向きの矢印の色を「黄色」に設定して、ステップS153に進む。
図25に示すように、ステップS153で“YES”であれば、つまり第1ユーザのユーザ画像向きの矢印および選択した第2ユーザのユーザ画像向きの矢印の両方で、矢印の太さが「太い」に設定されている場合には、ステップS155´で、第1ユーザのユーザ画像向きの矢印および第2ユーザのユーザ画像向きの矢印の両方の色を「金色」に設定(変更)して、ステップS157に進む。
他の実施例においても、上述の実施例と同様に、一方のユーザから他方のユーザへの好意および他方のユーザから一方のユーザへの好意を容易に知ることができ、さらには、ユーザ間の親密度を容易に知ることができる。
なお、上述の実施例では、ユーザ画像間に、双方向を指示する1つの矢印を表示し、矢印の太さおよび色が異なる場合には、その太さ(形状)および色が滑らかに変化するように表示したり、一方から他方を指示する矢印と他方から一方を指示する矢印との2つの矢印を表示したりしたが、これらに限定される必要はない。たとえば、図26(A)に示すように、異なる太さおよび色の矢印を中央で連結して、双方向を指示する1つの矢印を表示するようにしてもよい。
また、上述の実施例では、ユーザ画像間に、矢印を表示するようにしたが、これに限定される必要はない。たとえば、矢印に代えてペンを模した図形を表示してもよい。メッセージデータの送信数や受信数に応じて、ペンの太さや色を変更する点は、上述の実施例と同様である。また、たとえば、図26(B)に示すように、指マークを表示したり、図26(C)に示すように、不等号の記号を表示したり、図26(D)に示すように、三角形の図形を表示したりしてもよい。さらには、図26(E)に示すように、四角枠の内部を移動体が、P1からP2の方向に、または、P2からP1の方向に移動するように表示してもよい。たとえば、指マーク、不等号、三角形、移動体の色、個数、または大きさ(幅)を変化させることにより、メッセージデータの送信数および受信数の大小を表現することができる。
さらに、上述の実施例では、矢印の太さおよび矢印の色によって、メッセージデータの送信数(送信度合い)および受信数(受信度合い)を表現するようにしたが、いずれか一方の違い、すなわち、矢印の色のみ、または矢印の太さのみを変化させることによって、それらを表現するようにしてもよい。
さらにまた、上述の実施例では、メッセージデータの送信数(送信度合い)および受信数(受信度合い)に応じて矢印の色を変化するようにしたが、単一色(黒色を含む)で色の濃さ(輝度)を変化させるようにしてもよい。たとえば、メッセージデータの送信数や受信数が多い程、矢印の色が濃く(暗く)され、メッセージデータの送信数や受信数が少ない程、矢印の色が薄く(明るく)される。逆に、メッセージデータの送信数や受信数が多い程、矢印の色が薄く(明るく)され、メッセージデータの送信数や受信数が少ない程、矢印の色が濃く(暗く)されてもよい。
また、上述の実施例では、送信度合いおよび受信度合いの両方が所定条件を満たす場合にのみ、親密度が高い場合の図柄にユーザ画像を変更するようにしたが、これに限定される必要はない。たとえば、メッセージデータの送信数および受信数に応じて、ユーザ画像の色、ユーザ画像の大きさ、または、ユーザ画像の顔の表情などの表示態様を、段階的にまたは連続的に変更するようにしてもよい。
さらに、上述の実施例では、矢印の太さおよび矢印の色を3種類で分類するようにしたが、さらに多くの種類で分類してもよい。かかる場合には、第1ユーザと各第2ユーザとの間における親密度や好意の度合いを、各第2ユーザにおける相対的な差で知ることもできる。ただし、矢印の太さおよび矢印の色を2種類で分類しても、メッセージデータの送信数(送信度合い)や受信数(受信度合い)の違いを表現することはできる。
さらにまた、この実施例では、第1ユーザと第2ユーザとの間における送信数および受信数に応じた矢印を表示するようにしたが、第2ユーザ間における送信数および受信数に応じた矢印も表示するようにしてもよい。かかる場合には、メッセージデータをサーバに
アップロードする際に、第1ユーザと第2ユーザとの間における送信数および受信数をサーバにアップロードし、サーバにメッセージデータの有無を問合せたり、サーバにメッセージデータの受信確認を行ったりする際に、ゲーム装置自身(第1ユーザ)が通信対象として登録している他のゲーム装置(第2ユーザ)間の送信数および受信数をダウンロードするようにすればよい。
また、上述の実施例では、メッセージデータの送信数および受信数が所定数以上であり、かつ最新の送信時刻および最新の受信時刻が1週間以内である場合に、矢印の太さが「太い」に設定されるようにしたが、いずれか一方を満たす場合に、矢印の太さが「太い」に設定されるようにしてもよい。
さらに、上述の実施例では、メッセージデータの送信度合いおよび受信度合いの両方が所定条件を満たす場合に、ユーザ画像を赤ら顔の図柄に変更するとともに、矢印の色を金色に設定するようにしたが、これに限定される必要はない。たとえば、送信度合いについての所定条件を、送信数が10未満であり、かつ最新の送信時刻が3週間以上であると設定し、受信度合いについても所定条件を、受信数が10未満であり、かつ最新の受信時刻が3週間以上であると設定する。そして、送信度合いおよび受信度合いの両方が所定条件を満たす場合には、ユーザ画像および矢印が上述の実施例とは異なる特殊な態様で表示される。たとえば、ユーザ画像を泣き顔の図柄に変更し、矢印の色を灰色に設定する。つまり、送信度合いおよび受信度合いが低い場合には、双方向の好意の度合いないし親密度が低いことを示す態様で、ユーザ画像および矢印が表示されるのである。
さらにまた、上述の実施例では、メッセージデータの送信数および受信数に基づいて、ユーザ画像および矢印の表示態様を変化させるようにしたが、メッセージデータを送信するデータ量(累計値を意味する)およびメッセージデータを受信するデータ量に応じて、ユーザ画像および矢印の表示態様を変化させるようにしてもよい。これは、単に「こんにちは」のような短文のメッセージについてのメッセージデータを送信または受信する場合と、長文のメッセージや写真や音声が含まれるメッセージについてのメッセージデータを送信または受信する場合とでは、好意の度合いや親密度が異なると考えられるからである。また、メッセージデータの送信数および受信数に加え、メッセージデータを送信するデータ量およびメッセージデータを受信するデータ量に応じて、矢印の表示態様を変化させるようにしてもよい。
また、上述の実施例では、メッセージデータに、宛先のユーザIDを付与してサーバにアップロードし、宛先のゲーム装置がサーバにアクセスして、自身宛のメッセージデータをダウンロードするようにしたが、これに限定される必要はない。たとえば、電子メールの方式でメッセージデータを送受信してもよいし、近距離無線やPtoP(ピア・ツー・ピア)によってゲーム装置間で直接通信を行ってメッセージデータを送受信してもよい。さらには、一度に複数の宛先を指定して、同時に複数の他のゲーム装置に、メッセージデータを送信するようにしてもよい。
さらに、上述の実施例では、メッセージデータの送信数および受信数を各ゲーム装置でカウントするようにしたが、これに限定される必要はない。たとえば、サーバのCPUが、メッセージデータの送信数および受信数をゲーム装置毎にカウントし、サーバないしサーバがアクセス可能なデータベースでゲーム装置毎のメッセージデータの送信数および受信数を管理するようにしてよい。
さらにまた、この実施例では、送信手段(50,64,S41)、送信度合い検出手段(50,S71)、受信手段(50,64,S55)、受信度合い検出手段(50,S63)、および指標表示手段(50,S21)を備える情報処理装置(ゲーム装置)を構成
するようにしたが、これに限定される必要はない。情報処理装置(ゲーム装置)は、上記の各手段を別々のコンピュータで構成したり、上記の各手段のうちのいずれか2つ以上の手段を備える複数のコンピュータで構成したりしたシステム(以下、「クライアントシステム」という)であってもよい。また、クライアントシステムは、上記のすべての手段を1つのコンピュータで構成するようにしてもよい。
さらにまた、上述の実施例では、関係図表示画面を用いてユーザ間の関係を2次元で表現しているが、3次元で表現するようにしてもよい。たとえば、時間の要素を追加することができる。簡単に説明すると、時間の要素に対応して、矢印に厚みが付与される。そして、最新送信時刻や最新受信時刻が現在時刻から1週間以内である場合には、矢印の厚み
を大きくする。一方、最新送信時刻や最新受信時刻が現在時刻から1週間を超える場合には、厚みを小さくする。これは一例であり、限定されるべきではない。たとえば、最新送信時刻や最新受信時刻をより多くの閾値で判別して、矢印の厚みを3段階以上で変化させたり、矢印の厚みを段階的では無く連続的(線形的)に変化させたりしてもよい。
または、関係図を構成するユーザの図柄や矢印を3次元空間に配置し、最新送信時刻や最新受信時刻などの時間的概念に応じて、図柄の配置位置をZ方向(奥行き方向)に移動させたり、それに応じて矢印の向きもZ方向に伸ばしたりすることもできる。
また、上述の実施例では、3つのグループに分けて、各グループに6人のユーザを登録できるようにしてあるが、これに限定される必要はない。分類するグループおよび登録する人数は、実施例の場合よりも多くても少なくてもよい。
さらに、上述の実施例では、メッセージデータを送受信し、その送信数および受信数をカウントするようにしたが、送受信されるデータは、他のテキストデータ、キャラクタやアイテム等の画像データ、音声以外の音(音楽)データなどであってもよい。また、上述の実施例では、メッセージデータを作成するようにしてあるが、予め記憶されているデータや外部メモリ(メモリカード26やメモリカード28)から読み込んだデータを送受信するようにしてもよい。
さらにまた、上述の実施例では、ゲーム装置のRTCから時刻を取得するようにしてあるが、サーバから時刻を取得するようにしてもよい。かかる場合には、ゲーム装置間における時刻の誤差を吸収することができると考えられる。
また、上述の実施例では、ユーザ画像と矢印とを用いて好意の度合いないし親密度を表現するようにしたが、それらをまとめた1つの指標によって、好意の度合いないし親密度を表現するようにしてもよい。また、ユーザ画像の図柄の表示態様を変化させる際には、顔画像の一部を変化させるのではなく、全く異なる図柄に変更したり、全く異なる図柄を追加したり(たとえば、「!」などの記号を表示)するようにしてもよい。
さらに、この実施例では、携帯型のゲーム装置を用いる場合について説明したが、据置型のゲーム装置やパーソナルコンピュータ、PDA、携帯電話などの他の情報処理装置を用いることもできる。したがって、LCDやCRT(据置型のゲーム装置の場合には、テレビジョン受像機のモニタ)のような表示器は、情報処理装置と一体的に設けられてよく、情報処理装置とは別個独立に設けられて、接続するようにしてもよい。
なお、ゲーム装置の構成は上述の実施例のものに限定される必要はない。たとえば、カメラは1つでもよい。また、タッチパネルは無くてもよい。さらに、タッチパネルを2つのLCD上に設けてもよい。