この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
本発明に係る情報処理システムの代表例として、第1装置の典型例である携帯型のゲーム装置10と、第2装置(あるいは、コンピュータ)の典型例である歩数計100とを含む情報処理システムについて例示する。なお、本発明に係る第1装置としては、携帯型のゲーム装置に限定されることはなく、据置型のゲーム装置であってもよい。さらに、第1装置としては、プロセッサによる処理が可能な情報処理装置であればどのような種類のものであってもよく、たとえば、パーソナルコンピュータ、ワークステーション、PDA(Personal Digital Assistance)、携帯電話等であってもよい。
また、本発明に係る第2装置としては、揺動を検知する構成を有する装置であればどのような種類のものであってもよく、たとえば、揺動検知機能を有する携帯電話、揺動検知機能を組込んだアクセサリや靴などであってもよい。
また、本発明に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組込まれてもよい。
<使用形態>
まず、本実施の形態に従う情報処理システムの使用形態について説明する。
図1は、この発明の実施の形態に従う情報処理システムの使用形態を示す図である。図1を参照して、本実施の形態に従う情報処理システムは、ゲーム装置10と、歩数計100とを含む。ゲーム装置10および歩数計100は、互いにデータ通信可能になっている。なお、ゲーム装置10と歩数計100との間のデータ通信機構としては、電波(典型的には、無線LAN)や赤外線(典型的には、IrDA(Infrared Data Association))を用いた無線通信であってもよいし、USB(Universal Serial Bus)やイーサネット(登録商標)を用いた有線通信であってもよい。本実施の形態に従う情報処理システムにおいては、後述するように、赤外線通信(Ir通信)を用いる構成について例示する。
ゲーム装置10は、後述するようなプログラムを実行することで、モンスター等のキャラクタオブジェクト(以下、単に「キャラクタ」とも称す。)を捕獲、育成、交換するゲーム(以下、単に「捕獲/育成ゲーム」とも称す。)を提供する。ユーザが捕獲/育成ゲームをプレイすることで、ゲーム装置10には、当該ユーザが獲得したキャラクタに関するデータが生成および蓄積される。
ゲーム装置10は、このようにユーザがプレイして獲得したキャラクタに関する各種データの全部または一部を歩数計100へ送信することができる。歩数計100は、ゲーム装置10から受信したデータに基づいて、各種の画面表示や音声出力などを行なう。また、歩数計100では、歩数計100に与えられた揺動についての検知結果に基づいて、ゲーム装置10から受信したキャラクタに関するゲーム(以下、単に「歩数ゲーム」とも称す。)を提供することもできる。さらに、歩数計100は、このゲーム進行に伴って、揺動の検知結果に応じた結果情報を生成するととともに、ゲーム装置10から受信したデータを更新(加工)する。そして、歩数計100は、これらの生成されたデータおよび更新されたデータを含む各種データを、ゲーム装置10へ戻すことができる。ゲーム装置10は、歩数計100から戻された各種データに基づいて、保持している対応のデータを更新するとともに、この更新後のデータに基づいて、捕獲/育成ゲームの進行を再開することができる。
より具体的な使用形態としては、ユーザは、ゲーム装置10において捕獲/育成ゲームをプレイすることにより獲得したキャラクタを、ゲーム装置10から歩数計100へ移すことができる。そして、ユーザは、歩数計100を装着して歩行(走るなどの各種運動を含む)することで、歩数計100に移されたキャラクタの育成、新たなキャラクタの捕獲、および新たなアイテムの取得などができる。さらに、ユーザは、歩数計100において育成されたキャラクタや新たに獲得したキャラクタやアイテムなどをゲーム装置10へ戻すことができる。
このように、ユーザにとって見れば、ゲーム装置10の操作を行なうことで、キャラクタを捕獲および育成できるとともに、捕獲したキャラクタを歩数計100に移して「連れて歩く」といった擬似的な感覚を得ることができる。また、ユーザ自身が運動することで、捕獲したキャラクタを「自身で育成する」といった擬似的な感覚も得ることができる。さらに、歩数計100におけるキャラクタの育成度合いや新たなキャラクタまたはアイテムの獲得可能量などを、検知された揺動回数などに依存させることで、ユーザは、キャラクタの育成や新たなキャラクタおよび/またはアイテムの獲得を目指して、楽しくウォーキングなどの運動を行なうことができる。
<ゲーム装置の外部構成>
図2は、この発明の実施の形態に従うゲーム装置10の外観を示す概略図である。
図2を参照して、ゲーム装置10は、表示部としての第1液晶表示器(LCD:Liquid Crystal Display;以下、単に「LCD」とも称す。)12および第2液晶表示器(LCD)14を含む。LCD12およびLCD14は、所定の位置関係をもつようにハウジング16に収納される。図2に示す例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成される。LCD12は、上側ハウジング16aに収納され、LCD14は、下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)方向に並ぶように近接して配置される。
なお、本実施の形態においては、表示部としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイなどを用いてもよい。
図2に示すように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、LCD12の表示面が露出されるように、一方の主面には開口部が設けられる。一方、下側ハウジング16bの平面形状およびサイズについても、上側ハウジング16aと同様に設計され、LCD14の表示面が露出されるように横方向の中央部には開口部が設けられる。
上側ハウジング16aの一方の主面には、LCD12を挟んで両側に、右スピーカ36aおよび左スピーカ36b(図3参照)にそれぞれ対応する音抜き孔20aおよび20bが配置される。また、上側ハウジング16aの他方の主面には、ユーザから見た人物や風景などを撮像するための外側カメラ25が設けられる。
上側ハウジング16aと下側ハウジング16bとの間では、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。たとえば、ゲーム装置10が使用されない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを相対回転させて折り畳んでおけば、LCD12の表示面およびLCD14の表示面が傷付くといった破損を防止することができる。なお、上側ハウジング16aと下側ハウジング16bとを回動可能に連結させる構成に代えて、その中に両者を一体的(固定的)に配置したハウジング16を用いてもよい。
上側ハウジング16aと下側ハウジング16bとの連結部の中央には、マイク(図示せず)と連通するマイク孔20cおよびユーザなどを撮像するための内側カメラ23が設けられる。このマイクにより収集された音声に応じた音声データに基づいて、ゲーム進行を行なうことが可能である。また、内側カメラ23によって撮像された画像データに基づくゲーム進行、および当該画像データの保存なども可能である。
下側ハウジング16bには、操作スイッチ22(22a,22b,22c,22d,22e,22f,22g,22h,22L,22R)が設けられる。
操作スイッチ22は、方向指示スイッチ(十字スイッチ)22aと、スタートスイッチ22bと、セレクトスイッチ22cと、動作スイッチ(Aボタン)22dと、動作スイッチ(Bボタン)22eと、動作スイッチ(Xボタン)22fと、動作スイッチ(Yボタン)22gと、電源スイッチ22hと、動作スイッチ(Lボタン)22Lと、動作スイッチ(Rボタン)22Rとを含む。
方向指示スイッチ22aおよび電源スイッチ22hは、下側ハウジング16bの一方の主面上であって、LCD14の左側に配置される。その他のスイッチ22b〜22gは、下側ハウジング16bの同じの主面上であって、LCD14の右側に配置される。動作スイッチ22Lおよび22Rは、下側ハウジング16bの上端面の左角部および右角部にそれぞれ配置される。なお、動作スイッチ22Lおよび22Rは、下側ハウジング16bの背面に位置しており、図2のような正面視では連結部の背後に隠れているので破線で示されている。
方向指示スイッチ22aは、デジタルジョイスティックとして機能し、4つの押圧部の1つが操作されることによって、ゲーム進行上において操作可能なプレイヤオブジェクト(または、キャラクタオブジェクト)の進行方向(または、移動方向)の指示を受付ける。あるいは、方向指示スイッチ22aは、カーソルの進行方向等の指示を受付ける。また、4つの押圧部の各々に対して特定の役割を割り当てることもでき、この場合には、いずれかの押圧部が操作されると、当該操作された押圧部に対応する役割が指示(指定)される。
スタートスイッチ22bは、プッシュボタンで構成され、ゲームの開始(再開)や一時停止(Pause)の指示を受付ける。セレクトスイッチ22cは、プッシュボタンで構成され、ゲームモードの選択等の指示を受付ける。
動作スイッチ22d(Aボタン)は、プッシュボタンで構成され、プレイヤオブジェクトに対する、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションについての指示を受付ける。たとえば、アクションゲームにおいては、動作スイッチ22dを操作することで、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、動作スイッチ22dを操作することで、アイテムの取得、武器/コマンドの選択および決定等を指示することができる。また、動作スイッチ22e(Bボタン)は、プッシュボタンで構成され、セレクトスイッチ22cで選択したゲームモードの変更や、先に決定されたアクションの取消操作などについての指示を受付ける。
動作スイッチ22f(Xボタン)および動作スイッチ22g(Yボタン)は、いずれもプッシュボタンで構成され、動作スイッチ22d(Aボタン)および動作スイッチ22e(Bボタン)だけでは、ゲーム進行に支障をきたすような場合に、補助的な操作に用いられる。なお、動作スイッチ22f(Xボタン)および動作スイッチ22g(Yボタン)を、動作スイッチ22d(Aボタン)および動作スイッチ22e(Bボタン)と同様の操作を行なうために使用するようにしてもよいし、あるいは、全く使用しないようにしてもよい。
電源スイッチ22hは、ゲーム装置10の電源のON/OFFについての指示を受付ける。また、電源スイッチ22hは、ゲーム装置10で実行中のプログラムを停止して、メインメニューに戻るような操作を行なうために使用してもよい。
動作スイッチ22L(左押しボタン)および動作スイッチ22R(右押しボタン)は、いずれもプッシュボタンで構成され、それぞれ動作スイッチ22d(Aボタン)および動作スイッチ22e(Bボタン)に割り当てられた操作と同様の操作についての指示を受付ける。あるいは、動作スイッチ22L(左押しボタン)および動作スイッチ22R(右押しボタン)を、動作スイッチ22d(Aボタン)および動作スイッチ22e(Bボタン)とは独立した補助的な操作に用いるようにしてもよい。
また、LCD14の上表面には、タッチパネル24が設けられる。タッチパネル24としては、たとえば、抵抗膜方式、光学式(赤外線方式)、および静電容量結合式などの形式のものを用いることができる。タッチパネル24は、ユーザによるLCD14画面上の任意の位置(座標)に対する指示を受付けるためのポインティングデバイスである。ユーザがスティック(スタイラスペン)26または指(以下、これらを「スティック26等」とも称す。)を用いて、タッチパネル24の上表面を押圧したり、撫でたり、触れたりすると(以下、これらの操作を「タッチ操作」とも称す。)、タッチパネル24は、スティック26等によるタッチ操作がなされた位置の座標を検出して、当該検出座標に対応する座標データを出力する。
なお、本実施の形態においては、LCD14(LCD12も同様)の表示面の解像度は、256dot×192dotであるとする。そのため、タッチパネル24の検出精度も表示画面に対応して256dot×192dotとしてあるが、タッチパネル24の検出精度は表示画面の解像度と必ずしも一致させる必要はない。
このように、ゲーム装置10は、2画面分の表示部であるLCD12およびLCD14を有し、いずれか一方(本実施の形態では、LCD14)の上面にタッチパネル24が設けられるので、2つの表示画面と2系統の操作部とを有する構成になっている。
なお、本実施の形態においては、LCD12とLCD14とを縦方向に並べて配置するようにしているが、2つのLCDの配置は適宜に変更され得る。他の実施の形態においては、LCD12とLCD14とを横方向に並べて配置するようにしてもよい。また、本実施の形態においては、2つのLCDを設けるようにしているが、表示部としてのLCDの数は適宜変更され得る。他の実施の形態においては、縦長形状の1つのLCDに対して上下方向に2つの表示領域を規定し、2つのゲーム画面をそれぞれ独立の表示領域として扱うようにしてもよい。あるいは、横長形状の1つのLCDに対して左右方向に2つの表示領域を規定し、2つゲーム画面をそれぞれ独立の表示領域として扱うようにしてもよい。
また、スティック26は、たとえば下側ハウジング16bに設けられる収納部(図2では破線で示す)に収納することができ、必要に応じて取り出される。
下側ハウジング16bの上端面には、カートリッジ28を装着するための挿入口30(図2では、一点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とカートリッジ28とを電気的に接続するためのコネクタ32(図3参照)が設けられる。ゲーム装置10のCPU(Central Processing Unit)34(図3参照)は、コネクタ32を介して、カートリッジ28へアクセス可能となる。
また、下側ハウジング16bの右端面には、メモリカード29を装着するための挿入口30(図2では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード29とを電気的に接続するためのコネクタ33(図3参照)が設けられる。ゲーム装置10のCPU34(図3参照)は、コネクタ33を介して、メモリカード29へアクセス可能となる。
カートリッジ28およびメモリカード29は、いずれもデータを不揮発的に記憶するという点では共通するが、原則として、カートリッジ28はゲーム装置10に専用化されたデバイスである一方、メモリカード29は汎用的なデバイスとなっている。典型的には、メモリカード29は、SD(Secure Digital)カードなどからなる。
なお、図2には図示されていないが、下側ハウジング16bの裏面には、ゲーム装置10を駆動するためのバッテリを収納するためのボックスが設けられる。さらに、下側ハウジング16bの下端面には、ヘッドフォンなどを装着するためのジャックが設けられ、左側面には、ボリュームスイッチが設けられる。
<ゲーム装置の内部構成>
図3は、この発明の実施の形態に従うゲーム装置10の内部構成を示すブロック図である。
図3を参照して、ゲーム装置10は、回路コンポーネントが実装された電子回路基板38を含む。より具体的には、電子回路基板38は、コネクタ32および33と、CPU34と、RAM(Random Access Memory)42と、第1グラフィック処理ユニット(GPU:Graphic Processing Unit;以下、単に「GPU」とも称す。)44と、第2グラフィック処理ユニット(GPU)46と、入出カインターフェース回路(以下、単に「I/F回路」とも称す)48と、LCDコントローラ50と、無線通信部58とを含む。これらの各部は、バス40を介してデータ伝送可能に構成される。さらに、電子回路基板38は、第1ビデオRAM(以下、単に「VRAM」とも称す。)52と、第2ビデオRAM(VRAM)54とを含む。
コネクタ32には、上述したように、カートリッジ28が着脱自在に装着される。なお、カートリッジ28の構成については後述する。また、コネクタ33には、図2に示すようにメモリカード29が着脱自在に装着される。
CPU34は、コネクタ32に接続されるカートリッジ28、コネクタ33に接続されるメモリカード29、図示しないゲーム装置10に内蔵の不揮発性メモリなどかから、プログラム、画像データおよび音声データ等を読出してRAM42にロードする。すなわち、RAM42は、バッファメモリおよび/またはワーキングメモリとして使用される。そして、CPU34は、RAM42にロードしたプログラムを実行することで、情報処理の典型例として、本実施の形態に従う捕獲/育成ゲームなどを提供する。また、CPU34は、ゲーム進行に応じて、生成するデータ(キャラクタオブジェクト、キャラクタオブジェクトに係る各種データ、フラグデータ等)をRAM42に一時的に記憶する。
GPU44およびGPU46の各々は、描画部の一部として機能し、典型的には、シングルチップASIC(Application Specific Integrated Circuit)で構成される。より具体的には、GPU44およびGPU46の各々は、CPU34から与えられるグラフィックスコマンド(作画命令)に従ってLCD12およびLCD14に表示すべき内容を示す画像データを生成する。なお、CPU34は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる)をGPU44およびGPU46にそれぞれ与えてもよい。
VRAM52は、GPU44とLCDコントローラ50との間に接続され、VRAM54は、GPU46とLCDコントローラ50との間に接続される。VRAM52およびVRAM54の各々には、CPU34から書込まれる画像データを記憶する領域と、LCD12または14に与えられる描画データを記憶する領域(描画バッファ)とが設けられる。なお、描画バッファとしては、1画面分の描画データを蓄えるフレームバッファを採用してもよいし、あるいは、1ライン分の描画データを蓄えるラインバッファを採用してもよい。
CPU34は、描画に必要な画像データをそれぞれGPU44およびGPU46を通じてVRAM52およびVRAM54の所定領域にそれぞれ書込む。GPU44は、VRAM52にアクセスしてCPU34によって書込まれた画像データを読出して、対応のLCDに表示すべき内容に応じた描画データを生成し、さらに、その描画データをVRAM52の描画バッファに書込む。同様に、GPU46は、VRAM54にアクセスしてCPU34によって書込まれた画像データを読出して、対応のLCDに表示すべき内容に応じた描画データを生成し、さらに、その描画データをVRAM54の描画バッファに書込む。
LCDコントローラ50は、VRAM52およびVRAM54のそれぞれの描画バッファに記憶されている描画データを、LCD12およびLCD14へ選択的に出力する。より具体的には、LCDコントローラ50は、VRAM52およびVRAM54とLCD12およびLCD14との接続関係を示すデータを記憶するためのレジスタ56を含む。レジスタ56は、たとえば1ビットのフラグを記憶するように構成されており、CPU34の指示に応答して「0」または「1」のいずれかにセットされる。レジスタ56のフラグ値が「0」である場合には、LCDコントローラ50は、VRAM52に記憶されている描画データをLCD12へ出力し、VRAM54に記憶されている描画データをLCD14へ出力する。一方、レジスタ56のフラグ値が「1」である場合には、LCDコントローラ50は、VRAM52に記憶されている描画データをLCD14へ出力し、VRAM54に記憶されている描画データをLCD12へ出力する。このようにレジスタ56のフラグ値を適宜変更することで、LCD12およびLCD14に表示される内容を相互に入れ替えることができる。
なお、本実施の形態においては、RAM42とは独立してVRAM52およびVRAM54を設ける構成について例示したが、RAM42の一部の領域をVRAM52およびVRAM54に相当する領域として用いるようにしてもよい。
I/F回路48には、操作スイッチ22と、タッチパネル24と、内側カメラ23と、外側カメラ25と、右スピーカ36aと、左スピーカ36bとが接続される。
操作スイッチ22は、上述したように、スイッチ22a,22b,22c,22d,22e,22f,22g,22L,22Rを含み、いずれかのスイッチが操作されると、対応する操作信号(操作データ)をI/F回路48を介してCPU34に与える。同様に、タッチパネル24は、ユーザのタッチ操作に応じて検出した座標データを、I/F回路48を介してCPU34に与える。内側カメラ23および外側カメラ25は、撮像により取得した画像データをI/F回路48を介してCPU34に与える。すなわち、操作スイッチ22およびタッチパネル24は、ユーザ操作を受付ける入力手段として機能する。
また、CPU34は、ゲーム音楽(BGM)、効果音、キャラクタオブジェクトの発声音(擬制音)といったゲームに必要な音声データを、ゲーム進行に応じてI/F回路48を介して右スピーカ36aおよび左スピーカ36bへ与える。すると、右スピーカ36aおよび左スピーカ36bからは、与えられた音声データに応じた音が出力される。なお、以下、単に「スピーカ36」とも称す。
無線通信部58は、他のゲーム装置10や通信機器との間で無線によってデータを送受信する。ゲーム装置10は、この無線通信部58を介して図示しないネットワークに接続することが可能であり、ネットワーク上のサーバからプログラムやデータのダウンロード、当該サーバへのデータのアップロード、およびネットワークを通じた他のゲーム装置10との間の通信などが可能である。
<メモリカードの内部構成>
引き続き図3を参照して、カートリッジ28は、コネクタ32と接合されるコネクタ60を含む。コネクタ60には、バス62を介して、ROM64およびマイクロコンピュータ(以下、「マイコン」とも称す。)66が接続される。マイコン66には、バックアップ用メモリ68およびIr通信用回路70が接続される。
マイコン66は、CPU34の制御下で、バックアップ用メモリ68の書込みおよび読出し、ならびにIr通信用回路70を用いた赤外線通信(Ir通信)を制御する。すなわち、CPU34は、マイコン66を介してバックアップ用メモリ68にデータを書込み、バックアップ用メモリ68からデータを読出す。また、CPU34は、マイコン66およびIr通信用回路70を介して、歩数計100との間でデータの送受信を行なう。このように、Ir通信用回路70は、歩数計100との間でデータ通信を行なうための通信手段として機能する。なお、図2には明示されていないが、Ir通信用回路70の通信ポートは、カートリッジ28が挿入部30に装着されたときに露出する部分(たとえば上端面)に設けられる。
ROM64は、ゲーム装置10で実行されるゲームのためのプログラム、画像データ(文字画像、キャラクタオブジェクト画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)およびゲームに必要な音声(音楽)のデータ(音声データ)等を予め記憶する。バックアップ用メモリ68は、そのゲーム進行の途中データやゲームの結果データなどを不揮発的に記憶(セーブ)する。バックアップ用メモリとしては、フラッシュメモリのような不揮発性メモリ、または電池から電源が供給されるSRAMなどが用いられる。
<歩数計の外部構成>
図4は、この発明の実施の形態に従う歩数計100を示す斜視図である。図5は、この発明の実施の形態に従う歩数計100の4面図である。図5(a)は歩数計100の正面図を示し、図5(b)は歩数計100の左側面図を示し、図5(c)は歩数計100の右側面図を示し、図5(d)は歩数計100の裏面図を示す。図6は、この発明の実施の形態に従う歩数計100の側面図である。図6(a)は歩数計100の下側面図を示し、図6(b)は歩数計100の上側面図を示す。
図4および図5(a)を参照して、歩数計100は、円盤形状のハウジング102を有する。ハウジング102は、ユーザのポケット等に簡単に収容可能なサイズに適合されている。ハウジング102の一方の主面(上面)には、操作スイッチ104およびLCD106が設けられる。
操作スイッチ104は、通信開始スイッチ104aと、動作スイッチ104bおよび104cとを含む。通信開始スイッチ104aは、歩数計100とカートリッジ28(すなわち、ゲーム装置10)との間のデータ通信を開始するための指令を受付ける。典型的には、カートリッジ28のIr通信用回路70(図3参照)が通信待機状態にある場合に、ユーザが通信開始スイッチ104aを押下すると、歩数計100とゲーム装置10との間でデータ通信が開始される。また、動作スイッチ104bおよび104cは、歩数計100により提供される各種情報処理に対するユーザの指令を受付ける。
LCD106は、各種画像データを表示するための出力デバイスである。後述するように、LCD106に表示される画像は、主としてゲーム装置10から与えられる。すなわち、LCD106は、画像データに基づく表示が可能なディスプレイである。なお、LCD106は、基本的にドットマトリックス方式の液晶表示器が用いられるが、セグメント方式の液晶表示器やそれらを組合せた方式の液晶表示器を用いてもよい。また、表示部としては、ELディスプレイなどを用いてもよい。
図4、図5(b)〜図5(d)、図6(b)を参照して、ハウジング102の上側面(先端面)には、Ir通信用回路70と光学的に連通した赤外線通信ポート108が設けられる。
図5(c)、図5(d)、図6(a)を参照して、ハウジング102の下側面には、後述するブザー118(図7参照)と連通された音抜き孔120が設けられる。また、歩数計100の動作電源としては、たとえばコイン型リチウム電池が使用される。このコイン型リチウム電池は、ハウジング102の音抜き孔120と近接した位置に設けられた挿入口から装着され、この挿入口に対して、電池蓋122が取り外し可能に設けられる。
<歩数計の内部構成>
図7は、この発明の実施の形態に従う歩数計100の内部構成を示すブロック図である。図7を参照して、歩数計100は、上述した操作スイッチ104およびLCD106に加えて、CPU110と、揺動センサ112と、ROM113と、RAM114と、バックアップ用メモリ115と、Ir通信用回路116と、時計IC117と、ブザー118とを含む。
CPU110は、ROM113に予め記憶されたプログラムを読出してRAM114にロードする。CPU110は、このロードしたプログラムを実行することで、Ir通信用回路116を用いたゲーム装置10との間での赤外線通信、ゲーム装置10から受信したデータに基づくゲーム進行、揺動センサ112による揺動の検知結果(典型的には、歩数計100を装着したユーザの歩数)に基づく情報処理、LCD106上での画像表示および/またはブザー118からの音声出力、といった歩数計100の全体動作を制御する。すなわち、歩数計100のCPU110は、ゲーム装置10から受信したデータに基づいて各種の情報処理を行なう。
揺動センサ112は、歩数計100に与えられた揺動を検知するための揺動検知手段に相当する。揺動センサ112は、典型的には、1つまたは複数の加速度センサにより構成される。より具体的には、揺動センサ112は、互いに異なる2軸に沿って配置された2つの加速度センサを有し、それぞれの加速度センサの検出信号に基づいて、歩数計100を装着したユーザの歩数が検知される。このような構成を採用することで、ユーザがポケットやかばん等に入れた状態で歩数計100を持ち歩いたとしても、当該ユーザの歩数を計測または検出することができる。このように、揺動センサ112は、ユーザが歩数計100を装着した場合に、当該ユーザの歩数を検知するように適合化される。なお、より多くの軸に沿って加速度センサを配置することで、計測誤差を低減することができる。さらに、揺動センサ112の代替の実現例として、バネと振り子とを用いて物理的に揺動を検知する方式を採用してもよい。
CPU110は、揺動センサ112による揺動の検知結果(揺動回数)に基づいて、各種情報処理を行なうことで、LCD106に表示される画像の表示態様を変化させたり、ブザー118から各種の音声を出力したりする。また、CPU110は、揺動センサ112により検知された揺動回数の累積値および/または単位時間あたり(典型的には、1時間あたり)の揺動回数などをバックアップ用メモリ115へ逐次保存する。また、CPU110は、揺動センサ112による揺動の検知結果に応じた結果情報を生成し、この生成した結果情報をバックアップ用メモリ115へ逐次保存する。
Ir通信用回路116は、ゲーム装置10のIr通信用回路70との間で赤外線を用いてデータの送受信を行なう。すなわち、Ir通信用回路116は、ゲーム装置10との間でデータ通信を行なうための通信手段として機能する。Ir通信用回路70およびIr通信用回路116は、共通の通信プロトコルに従って赤外線通信を行なう。このような通信プロトコルは、本情報処理システムに専用化されたものであってもよいし、IrDA方式のような汎用的なものであってもよい。
バックアップ用メモリ115は、ゲーム装置10から受信したキャラクタオブジェクト、キャラクタオブジェクトに係る各種データなどを記憶する。また、バックアップ用メモリ115には、揺動センサ112からの検知結果、および検知結果に基づいて生成された各種データなども記憶される。さらに、バックアップ用メモリ115には、ゲーム装置10から受信した各種データを揺動センサ112による検知結果に応じて変更されたデータなども記憶される。なお、バックアップ用メモリ115としては、フラッシュメモリのような不揮発性メモリ、または電池から電源が供給されるSRAMなどが用いられる。
時計IC117は、時間を計測するための回路である。より具体的には、時計IC117は、予め定められた単位時間(典型的には、1時間)あたりの揺動回数を算出するために、当該単位時間毎にイベントを発生させる。また、時計IC117は、CPU110から計時開始コマンドを受けてからの経過時間を計測することも可能である。
ブザー118は、CPU110からの命令に応じて音声を出力する出力デバイスである。すなわち、ブザー118は、音声データに基づく音声出力が可能な音声発生部である。なお、音声を出力するデバイスとしては、ブザー118に代えて、スピーカを用いてもよい。
なお、ゲーム装置10から送信される画像データに基づく画像表示およびゲーム装置10から送信される音声データに基づく音声出力のいずれか一方だけを行なうようにしてもよい。
<データ構造>
次に、ゲーム装置10および歩数計100においてそれぞれ保持されるデータ構造について説明する。図8は、この発明の実施の形態に従う情報処理システムにおいて取扱われるデータ構造について説明するための図である。
図8を参照して、ゲーム装置10は、カートリッジ28のROM64(図3)から読出したデータとして、ゲームプログラム201と、画像データ202と、音声データ203と、ステージ/コース対応テーブル204と、ワット数/ごほうび対応テーブル205と、歩数/コース対応テーブル206とを保持する。
ゲームプログラム201は、ゲーム装置10のCPU34によって実行されるプログラム自体である。画像データ202は、LCD12および/またはLCD14に画像を表示するためのデータであり、ゲームプログラム201の実行に伴って必要に応じて読出される。同様に、音声データ203は、スピーカ36から音声を出力するためのデータであり、ゲームプログラム201の実行に伴って必要に応じて読出される。
ステージ/コース対応テーブル204は、ゲーム装置10で実行される捕獲/育成ゲームの進行に応じて定まるステージと、歩数計100への送信が許可されるコースとの対応関係を規定したデータである。すなわち、ステージ/コース対応テーブル204には、ゲーム装置10で実行される捕獲/育成ゲームにおいてどのステージまで進んでいれば、どのコースが転送できるかが定義される。ワット数/ごほうび対応テーブル205は、歩数計100によって検知された歩数によって定まるワット数(後述する)と、当該ワット数がゲーム装置10に返送された場合に与えられるアイテムの種類との対応関係を規定したデータである。すなわち、ワット数/ごほうび対応テーブル205には、歩数計100においてワット数がいくらたまっていれば、ゲーム装置10で実行される捕獲/育成ゲームにおいてどのアイテムがもらえるのかが定義される。歩数/コース対応テーブル206は、歩数計100によって検知された歩数(後述する)と、当該歩数がゲーム装置10に返送された場合に選択が許可されるコースの種類との対応関係を規定したデータである。すなわち、歩数/コース対応テーブル206には、歩数計100において獲得した歩数がいくらたまっていれば、ゲーム装置10で実行される捕獲/育成ゲームにおいてどのコースが選択できるのかが定義される。
さらに、ゲーム装置10は、カートリッジ28のバックアップ用メモリ68(図3参照)にセーブデータ207を記憶する。このセーブデータ207は、到達ステージ識別情報207aと、所持アイテムデータ207bと、所持キャラクタデータ207cとを含む。到達ステージ識別情報207aは、ゲーム装置10で実行される捕獲/育成ゲームにおいていずれのステージまで進行しているかを示すデータである。所持アイテムデータ207bは、捕獲/育成ゲームにおいて、ユーザが獲得しているアイテムを示すデータである。なお、所持アイテムデータ207bには、歩数計100から受信されたワット数に応じて与えられるアイテムが追加される。所持キャラクタデータ207cは、捕獲/育成ゲームにおいて、ユーザが獲得しているキャラクタを示すデータである。
さらに、ゲーム装置10は、初期登録処理(後述する)に用いられる識別データ208を保持する。この識別データ208の一部は、カートリッジ28のROM64から読出される。そして、識別データ208の全体は、内蔵のRAM42(図3)に記憶される。より具体的には、識別データ208は、歩数計ID208aと、ゲーム機ID208bと、登録状態フラグ208cと、ソフト国コード208dと、ソフトバージョン208eと、所持キャラクタ国コード208fと、所持キャラクタバージョン208gと、所持キャラクタフラグ208hとを含む。
歩数計ID208aは、通信先の歩数計100を特定するための識別情報を示すデータである。歩数計ID208aの値は、複数の歩数計100の中で特定の歩数計100を識別できるユニーク値が割り当てられる。ゲーム機ID208bは、ゲーム装置10を特定するための識別情報を示すデータである。ゲーム機ID208bの値についても、複数のゲーム装置10の中で特定のゲーム装置10を識別できるユニーク値が割り当てられる。登録状態フラグ208cは、特定の歩数計100との間で初期登録処理が完了したか否かを示すデータである。初期登録処理が未完了であれば、登録状態フラグ208cには「OFF」がセットされる。ソフト国コード208dは、ゲームプログラム201がいずれの国のバージョンであるかを示すデータである。このソフト国コード208dは、文字表示の不具合などを防止するために用いられる。ソフトバージョン208eは、ゲームプログラム201がいずれのバージョンであるかを示すデータである。このソフトバージョン208eは、複数のバージョンの捕獲/育成ゲームが販売されている場合などに、歩数計100の製造後に開発された新たなバージョンの捕獲/育成ゲームなどにも対応できるようにするために用いられる。所持キャラクタ国コード208fは、ゲーム装置10から歩数計100へ送信されるキャラクタがいずれの国のバージョンであるかを示すデータである。同様に、所持キャラクタバージョン208gは、ゲーム装置10から歩数計100へ送信されるキャラクタがいずれのバージョンであるかを示すデータである。これらのソフト国コード208d、ソフトバージョン208e、所持キャラクタ国コード208f、および所持キャラクタバージョン208gについては、ゲーム装置10において実行されるプログラムなどに予め登録されている。所持キャラクタフラグ208hは、ゲーム装置10から歩数計100へキャラクタが送信されている状態であるか否かを示すデータである。歩数計100へキャラクタが送信されていなければ、所持キャラクタフラグ208hには「OFF」がセットされ、歩数計100へキャラクタが送信されていれば、所持キャラクタフラグ208hには「ON」がセットされる。
さらに、ゲーム装置10は、初期登録処理(初回通信時)において、通信先の歩数計100へ送信するデータとして、初期登録データ209を保持する。この初期登録データ209は、内蔵のRAM42(図3参照)に記憶される。より具体的には、初期登録データ209は、各種音声データ209aと、各種画像データ・アイコン209bとを含む。
各種音声データ209aは、歩数計100において音声を出力するためのサウンドデータである。各種画像データ・アイコン209bは、歩数計100のLCD106に画像を表示するためのデータである。典型的には、各種画像データ・アイコン209bは、メニュー画像といったいずれのコースでも用いられる汎用的な画像データと、エラーメッセージなどの共通的に用いられる画像データとを含む。
さらに、ゲーム装置10は、通常の通信時に、通信先の歩数計100へ送信するデータとして、送信対象データ210を保持する。この送信対象データ210は、内蔵のRAM42(図3)に記憶される。より具体的には、送信対象データ210は、キャラクタデータ210aと、コースデータ210bとを含む。キャラクタデータ210aは、ゲーム装置10から歩数計100へ送信する(預ける)キャラクタの属性(名前および画像など)を示すデータである。コースデータ210bは、ゲーム装置10から歩数計100へ送信されるコースの属性(名前および画像など)を示すデータである。このコースデータ210bは、さらに、敵キャラクタデータ(n匹分)210cと、出現アイテムデータ(m個分)210dとを含む。敵キャラクタデータ(n匹分)210cは、対応するコースにおいて敵として出現するキャラクタの属性(名前および画像など)を示すデータであり、出現アイテムデータ(m個分)210dは、対応するコースにおいて出現するアイテムの属性(名前、画像、出現率など)を示すデータである。また、敵キャラクタデータ(n匹分)210cは、後述する歩数計110におけるキャラクタ捕獲モード(図34参照)において、捕獲することが可能な獲得可能キャラクタデータに相当する。なお、敵キャラクタデータ210cおよび出現アイテムデータ210dのnおよびmについては、記憶容量などに応じて適宜決定すればよいが、典型的には、nが「3」に設定され、mが「10」に設定される。
さらに、ゲーム装置10は、捕獲/育成ゲームにおけるプレイの内容の履歴を記憶したレコードデータ211を保持する。このレコードデータ211は、カートリッジ28のバックアップ用メモリ68(図3)などに記憶されており、ユーザによる操作に応じて更新される。
さらに、ゲーム装置10は、内蔵のRAM42などの一部を受信バッファ212として用いる。この受信バッファ212は、後述するように、歩数計100からゲーム装置10へ送信される生成データを一時的に記憶する。CPU34は、この受信バッファ212に記憶される生成データに基づいて、捕獲/育成ゲームに係る処理を実行する。より具体的には、当該生成データに基づいて、所持アイテムデータ207bに新たなアイテムが追加されたり、所持キャラクタデータ207cに新たなキャラクタが追加されたりする。
さらに、カートリッジ28のバックアップ用メモリ68には、待避データ213を格納するための領域が設けられる。この待避データ213には、後述するように、ゲーム装置10から歩数計100へ移されたキャラクタのデータなどが格納される。
一方、歩数計100は、ROM113(図7)から読出したデータとして、歩数計プログラム221と、全言語対応画像222とを保持する。
歩数計プログラム221は、歩数計100のCPU110によって実行されるプログラム自体である。但し、この歩数計プログラム221は、初期登録データ229および受信データ230が記憶済でなければ、その実行が禁止される。全言語対応画像222は、初期登録データ229および/または受信データ230が記憶されていない場合などに、ゲーム装置10から必要なデータを未受信であることをユーザに通知するための画像データである。より具体的には、エラー表示として、いずれの言語を用いるユーザであっても、その意味が理解できるような画像である。
さらに、歩数計100は、初期登録処理(後述する)を行なうことで、通信先のゲーム装置10との間で識別データ228を同期して保持する。そのため、識別データ228は、歩数計100に最初から保持されているとは限らない。この識別データ228は、内蔵のバックアップ用メモリ115(図4参照)に記憶される。識別データ228は、歩数計ID228aと、ゲーム機ID228bと、登録状態フラグ228cと、ソフト国コード228dと、ソフトバージョン228eと、所持キャラクタ国コード228fと、所持キャラクタバージョン228gと、所持キャラクタフラグ228hとを含む。これらのデータについては、上述したゲーム装置10が保持する識別データ208と同様であるので、詳細な説明は繰返さない。
さらに、歩数計100は、ゲーム装置10から受信する、初期登録データ229および受信データ230を保持する。これらのデータは、内蔵のバックアップ用メモリ115(図4参照)に記憶される。初期登録データ229は、各種音声データ229aと、各種画像データ・アイコン229bとを含む。これらのデータについては、上述したゲーム装置10が保持する初期登録データ209と同様であるので、詳細な説明は繰返さない。また、受信データ230は、キャラクタデータ230aと、コースデータ230bとを含む。また、コースデータ230bは、さらに、敵キャラクタデータ(n匹分)230cと、出現アイテムデータ(m個分)230dとを含む。これらのデータについても、上述したゲーム装置10が保持する送信対象データ210と同様であるので、詳細な説明は繰返さない。
さらに、歩数計100は、ゲーム装置10から受信する、レコードデータ231を保持する。これらのデータは、内蔵のバックアップ用メモリ115(図4)に記憶される。このレコードデータ231については、上述したゲーム装置10が保持するレコードデータ211と同様であるので、詳細な説明は繰返さない。
さらに、歩数計100は、揺動センサ112による検知結果に基づいて、生成データ232を出力する。すなわち、CPU110は、ゲーム装置10からの各種データに基づいて歩数計ゲームを実行するとともに、歩数ゲームの処理結果を示す生成データ232をバックアップ用メモリ115に格納する。
生成データ232は、ワット数232aと、歩数232bと、経過日数232cと、キャラクタ所持日数232dと、単位時間あたりの歩数232eと、獲得キャラクタデータ(n匹分)232fと、獲得アイテムデータ(m個分)232gとを含む。これらのデータは、内蔵のバックアップ用メモリ115(図7)に記憶される。
ワット数232aは、直近のゲーム装置10への生成データ232の送信後から現時点までに検知された歩数に基づいて算出される値である。典型的には、232aは、検知された歩数に所定の係数を乗じることで算出される。そのほか、歩数の増加が行われなくても、ボーナス等で所定の条件によってワット数を増加させるなどしてもよい。歩数232bは、ゲーム装置10から送信対象データ210を受信してからの、揺動センサ112により検知された歩数の累積値である。経過日数232cは、ゲーム装置10から送信対象データ210を受信してからの経過時間である。キャラクタ所持日数232dは、ゲーム装置10からキャラクタデータを受信してからの経過時間である。単位時間あたりの歩数232eは、単位時間毎(典型的には、1時間あたり)に揺動センサ112により検知された検知回数(歩数)である。なお、ワット数232a、キャラクタ所持日数232d、および単位時間あたりの歩数232eは、ゲーム装置10へ生成データ232が送信されるとリセット(ゼロクリア)される。一方、歩数232bおよび経過日数232cは、ゲーム装置10へ生成データ232が送信されたとしても、リセットされない。
獲得キャラクタデータ(n匹分)232には、実行される歩数計プログラムにおいて、揺動センサ112により検知された歩数や、ワット数に基づいて、何らかのキャラクタを獲得した場合には、その獲得したキャラクタの属性が記憶される。より具体的には、操作スイッチ104が押下されたとき、歩数やワット数が所定の値を満たしていた場合、敵キャラクタを探す画面に遷移することができる。その画面において、ユーザによる操作スイッチ104の押下などのユーザによる操作および/または乱数によって、ゲーム装置10から受信した敵キャラクタデータ(n匹分)210cのうち1匹を出現させる。そこで、ユーザによる操作スイッチ104の押下などのユーザによる操作および/または乱数により、出現した敵キャラクタを獲得することができ、獲得キャラクタデータ232に獲得した敵キャラクタの情報を追加する。すなわち、獲得キャラクタデータ(n匹分)232は、ゲーム装置10から受信した敵キャラクタデータ(n匹分)230c(210c)の全部または一部を含む。言い換えれば、歩数計100のCPU110は、ゲーム装置10から受信したデータを異なる情報をもつデータに変更する。
同様に、獲得アイテムデータ(m個分)232gには、揺動センサ112により検知された歩数に基づいて、何らかのアイテムを獲得した場合には、その獲得したアイテムの属性が記憶される。すなわち、獲得アイテムデータ(m個分)232gは、ゲーム装置10から受信した出現アイテムデータ(m個分)230d(210d)の全部または一部を含む。言い換えれば、歩数計100のCPU110は、ゲーム装置10から受信したデータを異なる情報をもつデータに変更する。
<全体処理>
次に、本実施の形態に従う情報処理システムにおける処理手順について説明する。
(ゲーム装置)
図9は、この発明の実施の形態に従うゲーム装置10における全体処理手順を示すフローチャートである。なお、図9に示す各ステップは、ゲーム装置10のCPU34がプログラムを実行することで提供される。図10は、図9のステップS102において表示されるゲーム装置10のメインメニュー画面の一例を示す図である。
図9を参照して、ユーザがゲーム装置10に対して所定の操作を行なうことで、本実施の形態に従う捕獲/育成ゲームが開始される。まず、CPU34は、初期化処理を実行する(ステップS100)。この初期化処理においては、RAM42(図3参照)内のデータのリセットやIr通信用回路70(図3)への初期パラメータの設定などが行なわれる。
続いて、CPU34は、LCD12および/またはLCD14に、捕獲/育成ゲームのメインメニュー画面を表示する(ステップS102)。このメインメニュー画面には、典型的には、捕獲/育成ゲーム本編の開始と、歩数計100へのキャラクタの送信と、初期登録処理の実行との3つの処理が選択可能に表示される。すなわち、図10に示すように、ゲーム装置10における捕獲/育成ゲームのメインメニュー画面には、ゲーム開始ボタン180と、キャラクタの送信ボタン182と、初期登録処理の開始ボタン184と、歩数計100からデータを受信するための受信ボタン186とが表示される。ユーザは、このメインメニュー画面に対して、スティック26等でタッチ操作を行なうことで、所望の処理を選択する。
図9に戻って、ステップS104において、CPU34は、捕獲/育成ゲーム本編の開始が指示されたか否かを判断する。捕獲/育成ゲーム本編の開始が指示されていなければ(ステップS104においてNO)、処理はステップS106へ進み、捕獲/育成ゲーム本編の開始が指示されていれば(ステップS104においてYES)、処理はステップS118へ進む。
ステップS106において、CPU34は、歩数計100へのキャラクタの送信が指示されたか否かを判断する。すなわち、CPU34は、ユーザがキャラクタの送信ボタン182(図10参照)を選択したか否かを判断する。歩数計100へのキャラクタの送信が指示されていれば(ステップS106においてYES)、処理はステップS108へ進み、歩数計100へのキャラクタの送信が指示されていなければ(ステップS106においてNO)、処理はステップS110へ進む。
ステップS108において、CPU34は、ゲーム装置10から歩数計100へのデータ送信処理を実行する。このデータ送信処理については、後に詳述する。そして、ゲーム装置10から歩数計100へのデータ送信処理の実行後、ステップS102以下の処理が繰返される。
これに対して、ステップS110において、CPU34は、初期登録処理の実行が指示されたか否かを判断する。すなわち、CPU34は、ユーザがキャラクタの初期登録処理の開始ボタン184(図10参照)を選択したか否かを判断する。初期登録処理の実行が指示されていれば(ステップS110においてYES)、処理はステップS112へ進み、初期登録処理の実行が指示されていなければ(ステップS110においてNO)、処理はステップS113へ進む。
ステップS112において、CPU34は、初期登録処理を実行する。この初期登録処理については後に詳述する。そして、初期登録処理の実行後、ステップS102以下の処理が繰返される。
これに対して、ステップS113において、CPU34は、ユーザが歩数計100からデータを受信するための受信ボタン186(図10参照)を選択したか否かを判断する。歩数計100からのデータ受信が指示されていれば(ステップS113においてYES)、処理はステップS114へ進み、歩数計100からのデータ受信が指示されていなければ(ステップS113においてNO)、ステップS102以下の処理が繰返される。
ステップS114において、CPU34は、いずれかの歩数計100から送信されるデータを受信しているか否かを判断する。いずれかの歩数計100から送信されるデータを受信していれば(ステップS114においてYES)、処理はステップS116へ進み、いずれの歩数計100からもデータを受信していなければ(ステップS114においてNO)、ステップS102以下の処理が繰返される。
ステップS116において、CPU34は、歩数計100からゲーム装置10へのデータ送信処理を実行する。このデータ送信処理については、後に詳述する。そして、歩数計100からゲーム装置10へのデータ送信処理の実行後、ステップS102以下の処理が繰返される。
一方、ステップS118において、CPU34は、カートリッジ28のバックアップ用メモリ68(図3参照)からセーブデータ207(図8参照)を読出す。そして、CPU34は、この読出したセーブデータ207に基づいて、捕獲/育成ゲーム本編の処理を実行する(ステップS120)。より具体的には、CPU34は、読出したセーブデータ207に含まれる到達ステージ識別情報207aに基づいて、カートリッジ28のROM64(図3参照)から対応するステージの画像データや音声データなどを読出す。そして、CPU34は、LCD12および/またはLCD14に捕獲/育成ゲーム本編の内容を表示するとともに、ユーザ操作に応じて、捕獲/育成ゲーム本編を進行する。上述したように、本実施の形態に従う捕獲/育成ゲーム本編においては、ユーザ操作によって、経験値を獲得したり、アイテムを獲得したりすることで、キャラクタが段階的に異なるステージへ順次到達する。
続くステップS122においては、CPU34は、捕獲/育成ゲーム本編においてユーザが操作するキャラクタが新たなステージに到達したか否かを判断する。ユーザが操作するキャラクタが新たなステージに到達していれば(ステップS122においてYES)、処理はステップS124へ進み、ユーザが操作するキャラクタが新たなステージに到達していなければ(ステップS122においてNO)、処理はステップS126へ進む。
ステップS124において、CPU34は、カートリッジ28のバックアップ用メモリ68(図3)に含まれる到達ステージ識別情報207aとして、当該到達したステージを示す値に更新する。すなわち、CPU34は、キャラクタが新たなステージに到達すると、当該到達したステージを示す識別情報を格納する。そして、処理はステップS126へ進む。
ステップS126において、CPU34は、ユーザ操作によってデータセーブが指示されたか否かを判断する。データセーブが指示されていれば(ステップS126においてYES)、処理はステップS128へ進み、データセーブが指示されていなければ(ステップS126においてNO)、処理はステップS130へ進む。
ステップS128において、CPU34は、キャラクタの到達済のステージを示す情報を含む現在の情報を、セーブデータ207としてカートリッジ28のバックアップ用メモリ68(図3)に保存する。そして、ステップS120以下の処理が繰返される。
これに対して、ステップS130において、CPU34は、ゲーム終了が指示されたか否かを判断する。ゲーム終了が指示されていれば(ステップS130においてYES)、処理は終了し、ゲーム終了が指示されていなければ(ステップS130においてNO)、ステップS120以下の処理が繰返される。
(歩数計)
図11は、この発明の実施の形態に従う歩数計100における全体処理手順を示すフローチャートである。なお、図11に示す各ステップは、歩数計100のCPU110がプログラムを実行することで提供される。図12は、図11のステップS212において表示される歩数計100の初期画面の一例を示す図である。
図11を参照して、ユーザが歩数計100に対して電源投入などの操作を行なうことで、本実施の形態に従う歩数計100における歩数ゲームが開始される。まず、CPU110は、登録状態フラグ228c(図8)が「ON」にセットされているか否かを判断する(ステップS200)。すなわち、CPU110は、ゲーム装置10と歩数計100との間で初期登録処理が完了済であるか否かを判断する。登録状態フラグ228cが「ON」にセットされていれば(ステップS200においてYES)、処理はステップS202へ進み、登録状態フラグ228cが「ON」にセットされていなければ(ステップS200においてNO)、処理はステップS210へ進む。
ステップS202において、CPU110は、初期登録データ229として記憶されている各種音声データ229aおよび各種画像データ・アイコン229bを読出してRAM114にロードする。続くステップS204において、CPU110は、受信データ230として記憶されているキャラクタデータ230aおよびコースデータ230bを読出してRAM114にロードする。
これらのデータをロードした後、CPU110は、必要な画像データおよび音声データを用いて、初期画面データを生成する(ステップS206)。続くステップS208において、CPU110は、LCD106に初期画面を表示する。そして、処理はステップS214へ進む。
一方、ステップS210において、CPU110は、全言語対応画像222(図8)として記憶されている画像データのうち、初期画面用のものを読出してRAM114にロードする。続くステップS212において、CPU110は、ロードした画像データに基づいて、LCD106に初期画面を表示する。すなわち、CPU110は、バックアップ用メモリ115にゲーム装置10から受信したデータが記憶されていない場合に、ゲーム装置10からのデータが未受信であることをユーザに通知する。このとき、対応するゲーム装置10から何らの画像データまたはフォントデータを受信していなくとも、ユーザがデータの未受信を把握することができるように、図12に示すような、全言語対応画像に基づく初期画面が表示される。図12に示す初期画面においては、本実施の形態に従う歩数計100の外観が模式的に表現されるとともに、中心部分に配置された通信開始スイッチ104a(図4参照)の押下をユーザに促すような画像が表現される。すなわち、対象のユーザがどのような言語を理解できるかにかかわらず、一見して操作を理解できるような画面表示がなされる。そして、処理はステップS214へ進む。
図11に戻って、ステップS214において、CPU110は、通信開始スイッチ104a(図4,図5参照)が押下されたか否かを判断する。すなわち、CPU110は、ユーザがゲーム装置10との間の通信開始を指示したか否かを判断する。通信開始スイッチ104aが押下されていれば(ステップS214においてYES)、処理はステップS216へ進み、通信開始スイッチ104aが押下されていなければ(ステップS214においてNO)、処理はステップS222へ進む。
ステップS216において、CPU110は、登録状態フラグ228c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ228cが「ON」にセットされていれば(ステップS216においてYES)、処理はステップS218へ進み、登録状態フラグ228cが「ON」にセットされていなければ(ステップS216においてNO)、処理はステップS220へ進む。
ステップS218において、CPU110は、ゲーム装置10との間のデータ送受信処理(後述する)を実行する。このデータ送受信処理は、ゲーム装置10から歩数計100へのデータ送信処理、および歩数計100からゲーム装置10へのデータ送信処理を含む。一方、ステップS220において、CPU110は、初期登録処理(後述する)を実行する。すなわち、ゲーム装置10と歩数計100との間で初期登録処理が完了済である場合には、ステップS218において歩数計100とゲーム装置10との間で各種データの送受信が行なわれ、そうでなければ、ステップS218において歩数計100とゲーム装置10との間で初期登録処理が行なわれる。
一方、ステップS222において、CPU110は、登録状態フラグ228c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ228cが「ON」にセットされていれば(ステップS222においてYES)、処理はステップS224へ進み、登録状態フラグ228cが「ON」にセットされていなければ(ステップS222においてNO)、処理はステップS210へ戻る。すなわち、初期登録処理が完了していなければ、歩数計100において歩数ゲームは開始されず、全言語対応画像に基づく初期画面が継続して表示される。このように、CPU110は、ユーザの通信開始スイッチ104aに対する操作に応答して、ゲーム装置10から受信したデータ(初期登録データ229など)が歩数計100のバックアップ用メモリ115などに記憶されているか否かを判断し、それらのデータが記憶されていないと判断されると、ゲーム装置10からのデータが未受信であることをユーザに通知する。
ステップS224において、CPU110は、歩数ゲーム(後述する)を実行する。すなわち、CPU110は、後述するように、揺動センサ112による検知結果(揺動回数)に基づくゲーム進行を開始する。
<初期登録処理>
次に、上述した初期登録処理(図9のステップS112および図11のステップS220)の詳細な処理手順について説明する。図13〜図16は、この発明の実施の形態に従う情報処理システムにおける初期登録処理の手順を示すフローチャートである。なお、本実施の形態に従う初期登録処理は、ゲーム装置10と歩数計100との間でデータ交換を行なうことで進められるので、図13〜図16には、ゲーム装置10における初期登録処理と歩数計100における初期登録処理とを並列的に記載するが、それぞれの装置における処理を実行するためのプログラム自体は別体となっている。
また、図17は、図13のステップS302において表示されるキャラクタの選択画面の一例を示す図である。図18は、図13のステップS310において表示されるコースの選択画面の一例を示す図である。図19は、図16のステップS450において表示されるキャラクタ画面の一例を示す図である。
(ゲーム装置)
図13〜図16を参照して、まず、ゲーム装置10のCPU34は、セーブデータ207を読出してRAM42にロードする(ステップS300)。続くステップS302において、CPU34は、セーブデータ207に含まれる所持キャラクタデータ207cを参照して、ユーザが既に獲得しているキャラクタに基づいて、LCD12および/またはLCD14にキャラクタの選択画面を表示する。すなわち、CPU34は、獲得済のキャラクタのうち、歩数計100へ送信すべきキャラクタについてのユーザ選択を受付ける選択画面を表示する。たとえば、図17に示すような選択画面が表示される。続くステップS304において、CPU34は、いずれかのキャラクタが選択されたか否かを判断する。いずれかのキャラクタが選択されていれば、処理はステップS306へ進み、いずれのキャラクタも選択されていなければ、ステップS302の処理が繰返される。
図17に示すキャラクタの選択画面においては、「どのキャラクタを歩数計に送りますか?」というメッセージとともに、所持キャラクタデータ207cの記述内容に基づいて、獲得済のキャラクタの名前が選択可能に表示される。ユーザは、この選択画面に対して、スティック26等でタッチ操作を行なうことで、対象のキャラクタを選択する。ユーザがいずれかのキャラクタを選択すると、CPU34は、セーブデータ207の所持キャラクタデータ207cのうち選択されたキャラクタに対応するデータを、送信対象データ210のキャラクタデータ210aへセットする。このように、予め記憶された複数のデータのうちから、歩数計100へ送信するためのキャラクタのデータが選択される。
図13に戻って、ステップS306において、CPU34は、セーブデータ207に含まれる到達ステージ識別情報207aに基づいて、ユーザが既に到達(進行)しているステージを取得する。続くステップS308において、CPU34は、ステージ/コース対応テーブル204(図8)を読出してRAM42にロードし、このステージ/コース対応テーブル204を参照して、ステップS306において取得したユーザが既に到達しているステージに対応するコースを取得する。すなわち、CPU34は、バックアップ用メモリ68に記憶されている、セーブデータ207の到達ステージ識別情報207aに対応するコースを選択する。
さらに続くステップS310において、CPU34は、ステップS308において取得したコースに基づいて、LCD12および/またはLCD14にコースの選択画面を表示する。たとえば、図18に示すような選択画面が表示される。すなわち、CPU34は、歩数計100上で実行される歩数ゲームにおいてプレイ可能なコース候補を到達済のステージに応じて決定し、これらのコース候補の中からユーザに所望するものを選択させる。
ステップS312において、CPU34は、いずれかのコースが選択されたか否かを判断する。いずれかのコースが選択されていれば、処理はステップS314へ進み、いずれのコースも選択されていなければ、ステップS310以下の処理が繰返される。
図18に示すコースの選択画面においては、「どのコースを歩数計に送りますか?」というメッセージとともに、ステップS306において取得したコースの名前が選択可能に表示される。ユーザは、この選択画面に対して、スティック26等でタッチ操作を行なうことで、対象のキャラクタを選択する。ユーザがいずれかのコースを選択すると、CPU34は、選択されたコース対応するコースデータを、送信対象データ210のコースデータ210bへセットする。このように、予め記憶された複数のデータのうちから、歩数計100へ送信するためのコースのデータが選択される。すなわち、ゲーム装置10から歩数計100への送信対象である、敵キャラクタデータ(n匹分)210cおよび出現アイテムデータ(m個分)210d(図8)は、歩数計100からの検知情報に基づいて選択される。
図13に戻って、ステップS314において、CPU34は、受信待機状態に移行し、歩数計100から識別データ228(図8参照)を受信したか否かを判断する。歩数計100から識別データ228を受信していなければ(ステップS314においてNO)、CPU34は、識別データ228を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS316)。識別データ228を受信できない期間が所定のしきい時間を越えていれば(ステップS316においてYES)、処理はステップS318へ進み、識別データ228を受信できない期間が所定のしきい時間を越えていなければ(ステップS316においてNO)、ステップS314の処理が繰返される。
これに対して、歩数計100から識別データ228を受信していれば(ステップS314においてYES)、処理はステップS322へ進む。
ステップS318において、CPU34は、通信を切断する。続くステップS320において、CPU34は、LCD12および/またはLCD14にエラー画面を表示する。すなわち、CPU34は、通信先の歩数計100との間で正常にデータ通信が行なえない場合や、歩数計100において処理が中断されたような場合に、ステップS318およびステップS320に係るエラー処理を実行する。
一方、ステップS322において、CPU34は、受信した識別データ228に含まれる登録状態フラグ228c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ228cが「ON」にセットされていれば(ステップS322においてYES)、処理はステップS318へ進み、登録状態フラグ228cが「ON」にセットされていなければ(ステップS322においてNO)、処理はステップS324へ進む。すなわち、CPU34は、通信先の歩数計100において既に初期登録処理が完了しているか否かを判断し、もし初期登録処理が完了していれば、ステップS324以降の処理を行なわない。
ステップS324において、CPU34は、識別データ208(図8参照)を読出して、読出した識別データ208を通信先の歩数計100へ送信する。続くステップS326において、CPU34は、受信待機状態に移行し、通信先の歩数計100から受信完了信号を受信したか否かを判断する。歩数計100から受信完了信号を受信していなければ(ステップS326においてNO)、CPU34は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS328)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS328においてYES)、処理はステップS318へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS328においてNO)、ステップS326の処理が繰返される。これに対して、歩数計100から受信完了信号を受信していれば(ステップS326においてYES)、処理はステップS330へ進む。
ステップS330において、CPU34は、初期登録データ209(図8参照)を読出して、読出した初期登録データ209を通信先の歩数計100へ送信する。続くステップS332において、CPU34は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS332においてYES)、処理はステップS318へ進み、通信エラーが生じていなければ(ステップS332においてNO)、処理はステップS334へ進む。
ステップS334において、CPU34は、受信待機状態に移行し、通信先の歩数計100から受信完了信号を受信したか否かを判断する。歩数計100から受信完了信号を受信していなければ(ステップS334においてNO)、CPU34は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS336)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS336においてYES)、処理はステップS318へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS336においてNO)、ステップS334の処理が繰返される。これに対して、歩数計100から受信完了信号を受信していれば(ステップS334においてYES)、処理はステップS338へ進む。
ステップS338において、CPU34は、自身の識別データ208の登録状態フラグ208cを「ON」にセットする。続くステップS340において、CPU34は、ステップS314において通信先の歩数計100から受信した識別データ228に含まれている歩数計ID228aを、自身の識別データ208の歩数計ID208aにセットする。さらに続くステップS342において、CPU34は、送信対象データ210(図8参照)を読出して、通信先の歩数計100へ送信する。続くステップS344において、CPU34は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS344においてYES)、処理はステップS318へ進み、通信エラーが生じていなければ(ステップS344においてNO)、処理はステップS346へ進む。
ステップS346において、CPU34は、受信待機状態に移行し、通信先の歩数計100から受信完了信号を受信したか否かを判断する。歩数計100から受信完了信号を受信していなければ(ステップS346においてNO)、CPU34は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS348)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS348においてYES)、処理はステップS318へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS348においてNO)、ステップS346の処理が繰返される。これに対して、歩数計100から受信完了信号を受信していれば(ステップS346においてYES)、処理はステップS350へ進む。
ステップS350において、CPU34は、通信を切断する。続くステップS352において、CPU34は、自身の識別データ208の所持キャラクタフラグ208hを「ON」にセットする。続くステップS354において、CPU34は、ステップS342において歩数計100へ送信した送信対象データ210に含まれるキャラクタデータ210aの内容を、自身の待避データ213(図8参照)として記憶する。さらに続くステップS356において、CPU34は、待避データ213として記憶した内容を、自身のセーブデータ207の所持キャラクタデータ207cから削除する。すなわち、CPU34は、捕獲/育成ゲーム本編において、ゲーム装置10から歩数計100へ移されたキャラクタを用いたプレイができないように、セーブデータ207の内容を更新するとともに、万が一、転送先の歩数計100へ移したキャラクタのデータがゲーム装置10へ戻されない場合などに当該キャラクタを復活できるように、当該キャラクタのデータを待避データ213として記憶する。そして、処理はメインルーチンにリターンする。
なお、上述のステップS354およびステップS356においては、キャラクタのデータ自体をセーブデータ207から待避データ213へ移動させる処理について例示したが、各キャラクタに対応付けたフラグを予め用意しておき、これらのフラグの値に基づいて、キャラクタの状態を管理してもよい。
(歩数計)
次に、歩数計における初期登録処理について説明する。
再度、図13〜図16を参照して、歩数計100のCPU110は、識別データ228(図8参照)を読出して、読出した識別データ228を通信先のゲーム装置10へ送信する(ステップS400)。なお、本実施の形態に従う歩数計100のCPU110は、図11に示す歩数計メインルーチンに示すように、通信開始スイッチ104aが押下されると(ステップS214においてYES)、その後のユーザ操作を要求することなく、自動的に識別データを送信するが、通信開始スイッチ104aの押下から識別データの送信開始までの間に、さらなるユーザ操作を要求するようにしてもよい。また、識別データは、複数回にわたってリトライ送信するようにしてもよい。
続くステップS402において、CPU110は、受信待機状態に移行し、通信先のゲーム装置10から識別データ208(図8参照)を受信したか否かを判断する。ゲーム装置10から識別データ208を受信していなければ(ステップS402においてNO)、CPU110は、識別データ208を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS404)。識別データ208を受信できない期間が所定のしきい時間を越えていれば(ステップS404においてYES)、処理はステップS406へ進み、識別データ208を受信できない期間が所定のしきい時間を越えていなければ(ステップS404においてNO)、ステップS402の処理が繰返される。これに対して、ゲーム装置10から識別データ208を受信していれば(ステップS402においてYES)、処理はステップS410へ進む。
ステップS406において、CPU110は、通信を切断する。続くステップS408において、CPU110は、全言語対応画像222(図8参照)として記憶されている画像データのうち、通信エラー用のものを読出してRAM114にロードし、ロードした画像データに基づいて、LCD106にエラー画面を表示する。そして、処理はメインルーチンにリターンする。
ステップS410において、CPU110は、受信した識別データ208に含まれる登録状態フラグ208c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ208cが「ON」にセットされていれば(ステップS410においてYES)、処理はステップS406へ進み、登録状態フラグ208cが「ON」にセットされていなければ(ステップS410においてNO)、処理はステップS412へ進む。すなわち、CPU110は、通信先のゲーム装置10において既に初期登録処理が完了しているか否かを判断し、もし初期登録処理が完了であれば、ステップS412以降の処理を行なわない。
ステップS412において、CPU110は、受信完了信号を通信先のゲーム装置10へ送信する。続くステップS414において、CPU110は、受信待機状態に移行し、通信先のゲーム装置10から初期登録データ209を受信したか否かを判断する。初期登録データ209を受信していなければ(ステップS414においてNO)、CPU110は、初期登録データ209を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS416)。初期登録データ209を受信できない期間が所定のしきい時間を越えていれば(ステップS416においてYES)、処理はステップS406へ進み、初期登録データ209を受信できない期間が所定のしきい時間を越えていなければ(ステップS416においてNO)、ステップS414の処理が繰返される。これに対して、ゲーム装置10から初期登録データ209を受信していれば(ステップS414においてYES)、処理はステップS418へ進む。
ステップS418において、CPU110は、受信した初期登録データ209を初期登録データ229(図8参照)としてバックアップ用メモリ115(図4参照)に記憶する。続くステップS420において、CPU110は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS420においてYES)、処理はステップS422へ進み、通信エラーが生じていなければ(ステップS420においてNO)、処理はステップS428へ進む。
ステップS422において、CPU110は、通信を切断する。続くステップS424において、CPU110は、全言語対応画像222(図8参照)として記憶されている画像データのうち、通信エラー用のものを読出してRAM114にロードし、ロードした画像データに基づいて、LCD106にエラー画面を表示する。さらに続くステップS426において、CPU110は、受信済のデータを破棄する。そして、処理はメインルーチンにリターンする。
ステップS428において、CPU110は、受信完了信号を通信先のゲーム装置10へ送信する。続くステップS430において、CPU110は、自身の識別データ228の登録状態フラグ228cを「ON」にセットする。続くステップS432において、CPU110は、ステップS402において通信先のゲーム装置10から受信した識別データ208に含まれているソフト国コード208dを、自身の識別データ228のソフト国コード228dにセットする。さらに続くステップS434において、CPU110は、ステップS402において通信先のゲーム装置10から受信した識別データ208に含まれているゲーム機ID208bを、自身の識別データ228のゲーム機ID228bにセットする。さらに続くステップS436において、CPU110は、ステップS402において通信先のゲーム装置10から受信した識別データ208に含まれているソフトバージョン208eを、自身の識別データ228のソフトバージョン228eにセットする。
ステップS438において、CPU110は、受信待機状態に移行し、通信先のゲーム装置10から送信対象データ210を受信したか否かを判断する。送信対象データ210を受信していなければ(ステップS438においてNO)、CPU110は、送信対象データ210を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS440)。送信対象データ210を受信できない期間が所定のしきい時間を越えていれば(ステップS440においてYES)、処理はステップS422へ進む。なお、ステップS422へ処理が進んだ後、ステップS422〜S426の処理が実行されるが、ステップS438からステップS426へ処理が進んだ場合には、初期登録データ209のゲーム装置10から歩数計100への送信は既に完了しているので、破棄対象は、送信対象データ210のみとすることができる。一方、送信対象データ210を受信できない期間が所定のしきい時間を越えていなければ(ステップS440においてNO)、ステップS438の処理が繰返される。
これに対して、ゲーム装置10から送信対象データ210を受信していれば(ステップS438においてYES)、処理はステップS442へ進む。
ステップS442において、CPU110は、受信した送信対象データ210を自身の受信データ230(図8参照)としてバックアップ用メモリ115(図4参照)に記憶する。続くステップS444において、CPU110は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS444においてYES)、処理はステップS422へ進む。なお、ステップS422へ処理が進んだ後、ステップS422〜S426の処理が実行されるが、ステップS444からステップS426へ処理が進んだ場合には、初期登録データ209のゲーム装置10から歩数計100への送信は既に完了しているので、破棄対象は、送信対象データ210のみとすることができる。一方、通信エラーが生じていなければ(ステップS444においてNO)、処理はステップS446へ進む。
ステップS446において、CPU110は、受信完了信号を通信先のゲーム装置10へ送信する。続くステップS448において、CPU110は、通信を切断する。続くステップS450において、CPU110は、ステップS442において記憶した受信データ230に含まれるキャラクタデータ230aに基づいて、LCD106にキャラクタを表示する。このステップS450においては、図19に示すような画面が表示される。この図19に示す表示画面においては、ゲーム装置10から受信したキャラクタの画像データに基づくキャラクタ画像160が表示されるとともに、「キャラクタ1ガヤッテキタ!」といったメッセージ162が表示される。図19に示す例においては、ゲーム装置10から受信したキャラクタの名前は「キャラクタ1」であるとする。この時点においては、通信先のゲーム装置10における国コードなどが取得されているので、当該国コードに応じた文字コードに基づいてメッセージが表示される。
図16に戻って、ステップS452において、CPU110は、自身の識別データ228の所持キャラクタフラグ228hを「ON」にセットする。続くステップS454において、CPU110は、ゲーム装置10から受信した識別データ208に含まれる所持キャラクタ国コード208fを、自身の識別データ228の所持キャラクタ国コード228fとして記憶する。さらに続くステップS456において、CPU110は、ゲーム装置10から受信した識別データ208に含まれる所持キャラクタバージョン208gを、自身の識別データ228の所持キャラクタバージョン228gとして記憶する。そして、処理はメインルーチンにリターンする。
<ゲーム装置から歩数計へのデータ送信処理>
次に、本実施の形態に従う情報処理システムにおけるゲーム装置から歩数計へのデータ送信処理(図9のステップS108および図11のステップS218)の詳細な処理手順について説明する。図20〜図22は、この発明の実施の形態に従う情報処理システムにおけるゲーム装置10から歩数計100へのデータ送信処理の手順を示すフローチャートである。図23は、図20のステップS514において表示されるコースの選択画面の一例を示す図である。図24は、図20のステップS600において表示される通信処理画面の一例を示す図である。
(ゲーム装置)
図20〜図22を参照して、まず、ゲーム装置10のCPU34は、セーブデータ207を読出してRAM42にロードする(ステップS500)。続くステップS502において、CPU34は、セーブデータ207に含まれる所持キャラクタデータ207cを参照して、ユーザが既に獲得しているキャラクタに基づいて、LCD12および/またはLCD14にキャラクタの選択画面を表示する。すなわち、CPU34は、獲得済のキャラクタのうち、歩数計100へ送信すべきキャラクタについてのユーザ選択を受付ける選択画面を表示する。このステップS502においては、上述した図17と同様の選択画面が表示される。続くステップS504において、CPU34は、いずれかのキャラクタが選択されたか否かを判断する。いずれかのキャラクタが選択されていれば、処理はステップS506へ進み、いずれのキャラクタも選択されていなければ、ステップS502の処理が繰返される。また、ユーザがいずれかのキャラクタを選択すると、CPU34は、セーブデータ207の所持キャラクタデータ207cのうち選択されたキャラクタに対応するデータを、送信対象データ210のキャラクタデータ210aへセットする。このように、予め記憶された複数のデータのうちから、歩数計100へ送信するためのキャラクタのデータが選択される。
ステップS506において、CPU34は、自身のセーブデータ207に含まれる到達ステージ識別情報207aに基づいて、ユーザが既に到達(進行)しているステージを取得する。続くステップS508において、CPU34は、自身のステージ/コース対応テーブル204(図8参照)を読出してRAM42にロードし、このステージ/コース対応テーブル204を参照して、ステップS506において取得したユーザが既に到達しているステージに対応するコースを取得する。さらに続くステップS510において、CPU34は、ステップS508において取得したコースに基づいて、LCD12および/またはLCD14にコースの選択画面を表示する。このステップS510においては、上述した図18と同様の選択画面が表示される。このように、CPU34は、歩数計100上で実行される歩数ゲームにおいてプレイ可能なコース候補を到達済のステージに応じて決定し、これらのコース候補の中からユーザに所望するものを選択させる。
すなわち、ステップS506〜510において、ゲーム装置10のCPU34は、捕獲/育成ゲームでの処理結果の一部としてバックアップ用メモリ68(図3参照)に記憶されているセーブデータ207のうち、その中に含まれる到達ステージ識別情報207aを評価する。そして、CPU34は、到達ステージ識別情報207aに対する評価結果に基づいて、歩数計100へ送信するためのコースを選択する。
続くステップS512において、CPU34は、歩数計100から生成データ232を既に受信しているか否かを判断する。生成データ232を既に受信していれば(ステップS512においてYES)、処理はステップS514へ進み、生成データ232を既に受信していなければ(ステップS512においてNO)、処理はステップS516へ進む。
ステップS514において、CPU34は、自身の歩数/コース対応テーブル206(図8参照)を読出してRAM42にロードし、この歩数/コース対応テーブル206を参照して、受信済の生成データ232に含まれる歩数232bに対応するコースを追加取得する。すなわち、CPU34は、歩数計100から受信した生成データ232の歩数232bを評価し、この評価結果に基づいて、歩数計100へ送信するためのデータを選択する。なお、生成データ232に含まれる歩数232b、すなわち揺動センサ112により検知された揺動の発生回数に加えてあるいはそれに代えて、揺動センサ112による検知の有無を示す情報であってもよい。
言い換えれば、ゲーム装置10のCPU34は、歩数計100から受信した結果情報に応じて、カートリッジ28のROM64に記憶されている複数のコースのうち歩数計100へ送信可能なものを決定する。そして、CPU34は、歩数計100へ送信可能であると決定されたデータのうち、ユーザ操作に応じた特定のデータを送信対象に決定する。
さらに、CPU34は、この追加取得したコースの名称などをコース選択画面に追加表示する。このとき、図18に示すような選択画面に対して追加取得されたコースを付加した、図23に示すような選択画面が表示される。そして、処理はステップS516へ進む。ステップS516において、CPU34は、いずれかのコースが選択されたか否かを判断する。いずれかのコースが選択されていれば、処理はステップS518へ進み、いずれのコースも選択されていなければ、ステップS516の処理が繰返される。
図23に示すキャラクタの選択画面においては、図18に示す「コース1」および「コース2」に加えて、追加取得された「コース3」および「コース4」が選択可能に表示される。すなわち、ユーザが予め歩数計100を装着して歩行することで検知される歩数などが、歩数計100からゲーム装置10へ戻されることで、ゲーム装置10における捕獲/育成ゲームでのステージに依存して定められるコースに加えて、新たなコースを選択することができる。なお、選択可能に表示されるコースは、自身のゲームプログラム201に一体的にコーディングされている複数のコースのうちから選択される。ユーザがいずれかのコースを選択すると、CPU34は、選択されたコースに対応するコースデータを、送信対象データ210のコースデータ210bへセットする。
すなわち、ステップS512〜516において、ゲーム装置10のCPU34は、歩数計100から受信した検知情報に基づいて、複数のデータから歩数計100へ送信するデータとしてのコース候補を抽出する。そして、CPU34は、抽出されたコース候補を示す情報(名称)をLCD12および/またはLCD14に表示させる。さらに、CPU34は、タッチパネル24などの入力装置により受付けられたユーザ操作に応じて、当該コース候補のうちから、歩数計100へ送信するためのデータを選択する。
図20に戻って、ステップS518において、CPU34は、受信待機状態に移行し、歩数計100から識別データ228(図8参照)を受信したか否かを判断する。歩数計100から識別データ228を受信していなければ(ステップS518においてNO)、CPU34は、識別データ228を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS520)。識別データ228を受信できない期間が所定のしきい時間を越えていれば(ステップS520においてYES)、処理はステップS522へ進み、識別データ228を受信できない期間が所定のしきい時間を越えていなければ(ステップS520においてNO)、ステップS518の処理が繰返される。
これに対して、歩数計100から識別データ228を受信していれば(ステップS518においてYES)、処理はステップS526へ進む。
ステップS522において、CPU34は、通信を切断する。続くステップS524において、CPU34は、LCD12および/またはLCD14にエラー画面を表示する。すなわち、CPU34は、通信先の歩数計100との間で正常にデータ通信が行なえない場合や、歩数計100において処理が中断されたような場合に、ステップS522およびステップS524に示すエラー処理を実行する。
一方、ステップS526において、CPU34は、受信した識別データ228に含まれる登録状態フラグ228c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ228cが「ON」にセットされていれば(ステップS526においてYES)、処理はステップS528へ進み、登録状態フラグ228cが「ON」にセットされていなければ(ステップS526においてNO)、処理はステップS522へ進む。すなわち、CPU34は、通信先の歩数計100において初期登録処理が完了していなければ、処理を進めない。
ステップS528において、CPU34は、受信した識別データ228に含まれる所持キャラクタフラグ228h(図8)が「ON」にセットされているか否かを判断する。所持キャラクタフラグ228hが「ON」にセットされていなければ(ステップS528においてNO)、処理はステップS530へ進み、所持キャラクタフラグ228hが「ON」にセットされていれば(ステップS528においてYES)、処理はステップS522へ進む。すなわち、CPU34は、通信先の歩数計100において、何らかのキャラクタが既に移されているのであれば、処理を進めない。
ステップS530において、CPU34は、受信した識別データ228に含まれる、ソフト国コード228d、ソフトバージョン228e、所持キャラクタ国コード228f、および所持キャラクタバージョン228gが、自身の識別データ208に含まれるソフト国コード208d、ソフトバージョン208e、所持キャラクタ国コード208f、および所持キャラクタバージョン208gとそれぞれ一致するか否かを判断する。すべての項目において一致すれば(ステップS530においてYES)、処理はステップS532へ進み、いずれか1つの項目でも一致しなければ(ステップS530においてNO)、処理はステップS522へ進む。すなわち、CPU34は、ゲーム装置10と歩数計100との間で、国コードおよびソフトバーションが一致しなければ、処理を進めない。
ステップS532において、CPU34は、自身の識別データ208(図8参照)および通信モード(この場合には、ゲーム装置から歩数計へのデータ送信モード)を、通信先の歩数計100へ送信する。続くステップS534において、CPU34は、受信待機状態に移行し、通信先の歩数計100から受信完了信号を受信したか否かを判断する。歩数計100から受信完了信号を受信していなければ(ステップS534においてNO)、CPU34は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS536)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS536においてYES)、処理はステップS522へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS536においてNO)、ステップS534の処理が繰返される。これに対して、歩数計100から受信完了信号を受信していれば(ステップS534においてYES)、処理はステップS538へ進む。
ステップS538において、CPU34は、送信対象データ210(図8参照)を読出して、通信先の歩数計100へ送信する。続くステップS540において、CPU34は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS540においてYES)、処理はステップS522へ進み、通信エラーが生じていなければ(ステップS540においてNO)、処理はステップS542へ進む。
ステップS542において、CPU34は、受信待機状態に移行し、通信先の歩数計100から受信完了信号を受信したか否かを判断する。歩数計100から受信完了信号を受信していなければ(ステップS542においてNO)、CPU34は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS544)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS544においてYES)、処理はステップS522へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS544においてNO)、ステップS542の処理が繰返される。これに対して、歩数計100から受信完了信号を受信していれば(ステップS542においてYES)、処理はステップS546へ進む。
ステップS546において、CPU34は、通信を切断する。続くステップS548において、CPU34は、自身の識別データ208の所持キャラクタフラグ208hを「ON」にセットする。続くステップS550において、CPU34は、ステップS538において歩数計100へ送信した送信対象データ210に含まれるキャラクタデータ210aの内容を、自身の待避データ213(図8参照)として記憶する。さらに続くステップS552において、CPU34は、待避データ213として記憶した内容を、自身のセーブデータ207の所持キャラクタデータ207cから削除する。すなわち、CPU34は、捕獲/育成ゲーム本編において、ゲーム装置10から歩数計100へ移されたキャラクタを用いたプレイができないように、セーブデータ207の内容を更新するとともに、万が一、転送先の歩数計100から移されたキャラクタのデータが戻されない場合には、当該キャラクタを復活できるように、待避データ213として記憶する。そして、処理はメインルーチンにリターンする。
(歩数計)
次に、歩数計におけるゲーム装置から歩数計へのデータ送信処理について説明する。
まず、歩数計100のCPU110は、識別データ228(図8参照)を読出して、読出した識別データ228を通信先のゲーム装置10へ送信する(ステップS600)。続くステップS602において、CPU110は、受信待機状態に移行し、通信先のゲーム装置10から識別データ208(図8参照)を受信したか否かを判断する。このとき、歩数計100を操作したユーザに対して通信中であることを示すために、歩数計100のLCD106には、図24に示すような通信処理画面が表示される。この図24に示す通信処理画面においては、歩数計100がデータ通信を行なっている状態が模式的に表現されるとともに、「ソウシンシテイマス」といったメッセージが表示される。
図21に戻って、ゲーム装置10から識別データ208を受信していなければ(ステップS602においてNO)、CPU110は、識別データ208を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS604)。識別データ208を受信できない期間が所定のしきい時間を越えていれば(ステップS604においてYES)、処理はステップS606へ進み、識別データ208を受信できない期間が所定のしきい時間を越えていなければ(ステップS604においてNO)、ステップS602の処理が繰返される。これに対して、歩数計100から識別データ208を受信していれば(ステップS602においてYES)、処理はステップS610へ進む。
ステップS606において、CPU110は、通信を切断する。続くステップS608において、CPU110は、全言語対応画像222(図8参照)として記憶されている画像データのうち、通信エラー用のものを読出してRAM114にロードし、ロードした画像データに基づいて、LCD106にエラー画面を表示する。あるいは、この時点では、初期登録処理が完了しているので、全言語対応画像222に含まれる通信エラー用の画像データに代えて、初期登録処理時にゲーム装置10から受信している初期登録データ229内の各種画像データ・アイコン229bに含まれる通信エラー用の画像データを読出して、エラー画像を表示してもよい。
ステップS610において、CPU110は、識別データ208とともに受信した通信モードを判別する。通信モードが「ゲーム装置から歩数計へのデータ送信モード」であれば(ステップS610において「ゲーム装置→歩数計」)、処理はステップS612へ進み、通信モードが「歩数計からゲーム装置へのデータ送信モード」であれば(ステップS610において「歩数計→ゲーム装置」)、処理は図26に示すステップS652へ進む。
ステップS612において、CPU110は、受信した識別データ208に含まれる登録状態フラグ208c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ208cが「ON」にセットされていれば(ステップS612においてYES)、処理はステップS614へ進み、登録状態フラグ208cが「ON」にセットされていなければ(ステップS612においてNO)、処理はステップS606へ進む。すなわち、CPU110は、通信先のゲーム装置10において初期登録処理が完了していなければ、処理を進めない。
ステップS614において、CPU110は、受信した識別データ208に含まれる所持キャラクタフラグ208h(図8)が「ON」にセットされているか否かを判断する。所持キャラクタフラグ208hが「ON」にセットされていなければ(ステップS614においてNO)、処理はステップS616へ進み、所持キャラクタフラグ208hが「ON」にセットされていれば(ステップS614においてYES)、処理はステップS606へ進む。すなわち、CPU110は、通信先のゲーム装置10において、何らかのキャラクタが既に通信先の歩数計100またはその他の歩数計100に移されているのであれば、処理を進めない。
ステップS616において、CPU110は、受信した識別データ208に含まれる、ソフト国コード208d、ソフトバージョン208e、所持キャラクタ国コード208f、および所持キャラクタバージョン208gが、自身の識別データ228に含まれるソフト国コード228d、ソフトバージョン228e、所持キャラクタ国コード228f、および所持キャラクタバージョン228gとそれぞれ一致するか否かを判断する。すべての項目において一致すれば(ステップS616においてYES)、処理はステップS618へ進み、いずれか1つの項目でも一致しなければ(ステップS616においてNO)、処理はステップS606へ進む。すなわち、CPU110は、歩数計100とゲーム装置10との間で、国コードおよびソフトバーションが一致しなければ、処理を進めない。
ステップS618において、CPU110は、受信完了信号を通信先のゲーム装置10へ送信する。続くステップS620において、CPU110は、受信待機状態に移行し、通信先のゲーム装置10から送信対象データ210を受信したか否かを判断する。送信対象データ210を受信していなければ(ステップS620においてNO)、CPU110は、送信対象データ210を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS622)。送信対象データ210を受信できない期間が所定のしきい時間を越えていれば(ステップS622においてYES)、処理はステップS624へ進み、送信対象データ210を受信できない期間が所定のしきい時間を越えていなければ(ステップS622においてNO)、ステップS620の処理が繰返される。これに対して、ゲーム装置10から送信対象データ210を受信していれば(ステップS620においてYES)、処理はステップS630へ進む。
ステップS624において、CPU110は、通信を切断する。続くステップS626において、CPU110は、全言語対応画像222(図8参照)として記憶されている画像データのうち、通信エラー用のものを読出してRAM114にロードし、ロードした画像データに基づいて、LCD106にエラー画面を表示する。あるいは、この時点では、初期登録処理が完了しているので、全言語対応画像222に含まれる通信エラー用の画像データに代えて、初期登録処理時にゲーム装置10から受信している初期登録データ229内の各種画像データ・アイコン229bに含まれる通信エラー用の画像データを読出して、エラー画像を表示してもよい。
さらに続くステップS628において、CPU110は、受信済のデータを破棄する。そして、処理はメインルーチンにリターンする。
ステップS630において、CPU110は、受信した送信対象データ210を自身の受信データ230(図8参照)としてバックアップ用メモリ115(図4参照)に記憶する。続くステップS632において、CPU110は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS632においてYES)、処理はステップS624へ進み、通信エラーが生じていなければ(ステップS632においてNO)、処理はステップS634へ進む。
ステップS634において、CPU110は、受信完了信号を通信先のゲーム装置10へ送信する。続くステップS636において、CPU110は、通信を切断する。続くステップS638において、CPU110は、ステップS630において記憶した受信データ230に含まれるキャラクタデータ230aに基づいて、LCD106にキャラクタを表示する。
ステップS640において、CPU110は、自身の識別データ228の所持キャラクタフラグ228hを「ON」にセットする。続くステップS642において、CPU110は、ゲーム装置10から受信した送信対象データ210に含まれる所持キャラクタ国コード208fを、自身の識別データ228の所持キャラクタ国コード228fとして記憶する。さらに続くステップS644において、CPU110は、ゲーム装置10から受信した識別データ208に含まれる所持キャラクタバージョン208gを、自身の識別データ228の所持キャラクタバージョン228gとして記憶する。そして、処理はメインルーチンにリターンする。
<歩数計からゲーム装置へのデータ送信処理>
次に、本実施の形態に従う情報処理システムにおける歩数計からゲーム装置へのデータ送信処理(図9のステップS116および図11のステップS218)の詳細な処理手順について説明する。図25〜図27は、この発明の実施の形態に従う情報処理システムにおける歩数計100からゲーム装置へのデータ送信処理の手順を示すフローチャートである。図28は、図27のステップS690において表示される画面表示の一例を示す図である。
(ゲーム装置)
図25〜図27を参照して、まず、ゲーム装置10のCPU34は、セーブデータ207を読出してRAM42にロードする(ステップS700)。続くステップS702において、CPU34は、受信待機状態に移行し、歩数計100から識別データ228(図8参照)を受信したか否かを判断する。歩数計100から識別データ228を受信していなければ(ステップS702においてNO)、CPU34は、識別データ228を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS704)。識別データ228を受信できない期間が所定のしきい時間を越えていれば(ステップS704においてYES)、処理はステップS706へ進み、識別データ228を受信できない期間が所定のしきい時間を越えていなければ(ステップS704においてNO)、ステップS702の処理が繰返される。
これに対して、歩数計100から識別データ228を受信していれば(ステップS702においてYES)、処理はステップS710へ進む。
ステップS706において、CPU34は、通信を切断する。続くステップS708において、CPU34は、LCD12および/またはLCD14にエラー画面を表示する。そして、処理はメインルーチンにリターンする。
一方、ステップS710において、CPU34は、受信した識別データ228に含まれる登録状態フラグ228c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ228cが「ON」にセットされていれば(ステップS710においてYES)、処理はステップS712へ進み、登録状態フラグ228cが「ON」にセットされていなければ(ステップS710においてNO)、処理はステップS706へ進む。すなわち、CPU34は、通信先の歩数計100において初期登録処理が完了していなければ、処理を進めない。
ステップS712において、CPU34は、受信した識別データ228に含まれる所持キャラクタフラグ228h(図8参照)が「ON」にセットされているか否かを判断する。所持キャラクタフラグ228hが「ON」にセットされていれば(ステップS712においてYES)、処理はステップS714へ進み、所持キャラクタフラグ228hが「ON」にセットされていなければ(ステップS712においてNO)、処理はステップS706へ進む。すなわち、CPU34は、通信先の歩数計100へ何らかのキャラクタが送信されていなければ、処理を進めない。
ステップS714において、CPU34は、受信した識別データ228に含まれる、ソフト国コード228d、ソフトバージョン228e、所持キャラクタ国コード228f、および所持キャラクタバージョン228gが、識別データ208に含まれるソフト国コード208d、ソフトバージョン208e、所持キャラクタ国コード208f、および所持キャラクタバージョン208gとそれぞれ一致するか否かを判断する。すべての項目において一致すれば(ステップS714においてYES)、処理はステップS716へ進み、いずれか1つの項目でも一致しなければ(ステップS714においてNO)、処理はステップS706へ進む。すなわち、CPU34は、ゲーム装置10と歩数計100との間で、国コードおよびソフトバーションが一致しなければ、処理を進めない。
ステップS716において、CPU34は、受信した識別データ228に含まれるゲーム機ID228bが、自身の識別データ208に含まれるゲーム機ID208bと一致するか否かを判断する。受信したゲーム機ID228bがゲーム機ID208bと一致すれば(ステップS716においてYES)、処理はステップS718へ進み、受信したゲーム機ID228bがゲーム機ID208bと一致しなければ(ステップS716においてNO)、処理はステップS706へ進む。すなわち、CPU34は、予めキャラクタを送信した相手である場合に限って、処理を進める。なお、ステップS716においては、受信した識別データ228に含まれる歩数計ID228aと、自身の識別データ208に含まれる歩数計ID208aとを比較してもよい。
ステップS718において、CPU34は、自身の識別データ208(図8参照)および通信モード(この場合には、歩数計からゲーム装置へのデータ送信モード)を、通信先の歩数計100へ送信する。続くステップS720において、CPU34は、受信待機状態に移行し、通信先の歩数計100から受信完了信号を受信したか否かを判断する。歩数計100から受信完了信号を受信していなければ(ステップS720においてNO)、CPU34は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS722)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS722においてYES)、処理はステップS706へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS722においてNO)、ステップS720の処理が繰返される。これに対して、歩数計100から受信完了信号を受信していれば(ステップS720においてYES)、処理はステップS724へ進む。
ステップS724において、CPU34は、通信先の歩数計100からキャラクタデータ230aを受信したか否かを判断する。歩数計100からキャラクタデータ230aを受信していなければ(ステップS724においてNO)、CPU34は、キャラクタデータ230aを受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS726)。キャラクタデータ230aを受信できない期間が所定のしきい時間を越えていれば(ステップS726においてYES)、処理はステップS706へ進み、キャラクタデータ230aを受信できない期間が所定のしきい時間を越えていなければ(ステップS726においてNO)、ステップS724の処理が繰返される。これに対して、歩数計100からキャラクタデータ230aを受信していれば(ステップS724においてYES)、処理はステップS728へ進む。
ステップS728において、CPU34は、通信先の歩数計100から生成データ232(図8参照)を受信したか否かを判断する。歩数計100から生成データ232を受信していなければ(ステップS728においてNO)、CPU34は、生成データ232を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS730)。生成データ232を受信できない期間が所定のしきい時間を越えていれば(ステップS730においてYES)、処理はステップS706へ進み、生成データ232を受信できない期間が所定のしきい時間を越えていなければ(ステップS730においてNO)、ステップS728の処理が繰返される。これに対して、歩数計100から生成データ232を受信していれば(ステップS728においてYES)、処理はステップS732へ進む。
ステップS732において、CPU34は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS732においてYES)、処理はステップS706へ進み、通信エラーが生じていなければ(ステップS732においてNO)、処理はステップS734へ進む。
ステップS734において、CPU34は、受信完了信号を通信先の歩数計100へ送信する。続くステップS736において、CPU34は、通信を切断する。
ステップS738において、CPU34は、自身の識別データ208の所持キャラクタフラグ208hを「OFF」にセットする。すなわち、CPU34は、ステップS724において、歩数計100からキャラクタデータ230aを受信しているので、先に歩数計100へ送信したキャラクタがゲーム装置10に戻ってきたと判断する。
続くステップS740において、CPU34は、自身の識別データ208の歩数計IDを「Null(無)」にセットする。すなわち、CPU34は、自身の保持しているキャラクタがいずれの歩数計100にも移されていないので、通信先の歩数計100を特定するための情報をリセットする。
続くステップS742において、CPU34は、通信先の歩数計100から受信した生成データ232に含まれるワット数232aを取得する。すなわち、CPU34は、通信先の歩数計100から揺動センサによる検知結果に応じて生成された結果情報を受信する。
続くステップS744において、CPU34は、ワット数/ごほうび対応テーブル205(図8)を読出してRAM42にロードし、このワット数/ごほうび対応テーブル205を参照して、ステップS742において取得したワット数に対応するごほうびを取得する。すなわち、CPU34は、通信先の歩数計100から揺動センサによる検知結果に応じて生成された結果情報に応じた情報処理を行なう。
続くステップS746において、CPU34は、通信先の歩数計100から受信したキャラクタデータ230aおよび獲得キャラクタデータ232fを、自身のセーブデータ207の所持キャラクタデータ207cに統合する。すなわち、CPU34は、通信先の歩数計100に記憶されていたデータを受信し、当該受信したデータに応じた情報処理を行なう。言い換えれば、通信先の歩数計100のCPU110は、ゲーム装置10から受信したキャラクタデータ210aを変更することで得られたキャラクタデータ230a、および、ゲーム装置10から受信した敵キャラクタデータ(n匹分)230cを変更することで得られた獲得キャラクタデータ(n匹分)232fを対応のゲーム装置10へ送信する。そして、送信先のゲーム装置10のCPU34は、受信したキャラクタデータ230aおよび獲得キャラクタデータ(n匹分)232fに基づく情報処理の例として、自身の所持キャラクタデータ207cとの間で統合処理を行なう。
続くステップS748において、CPU34は、待避データ213の内容を「Null(無)」にセットする。すなわち、CPU34は、ステップS724において、歩数計100からキャラクタデータ230aを受信しているので、先に歩数計100へ送信したキャラクタがゲーム装置10に戻ってきたと判断し、退避していたキャラクタデータを破棄する。
続くステップS750において、CPU34は、ステップS744において取得したアイテムを自身のセーブデータ207の所持アイテムデータ207bに統合する。すなわち、CPU34は、通信先の歩数計100に記憶されていたデータを受信し、当該受信したデータに応じた情報処理を行なう。言い換えれば、通信先の歩数計100のCPU110は、ゲーム装置10から受信した出現アイテムデータ(m個分)230dを変更することで得られた獲得アイテムデータ(m個分)232gを対応のゲーム装置10へ送信する。そして、送信先のゲーム装置10のCPU34は、受信した獲得アイテムデータ(m個分)232gに基づく情報処理の例として、自身の所持アイテムデータ207bとの間で統合処理を行なう。
その後、処理はメインルーチンにリターンする。
(歩数計)
次に、歩数計100における歩数計からゲーム装置へのデータ送信処理について説明する。
まず、歩数計100のCPU110は、上述の図20および図21と同様に、ステップS600〜S610の処理を実行する。歩数計からゲーム装置へのデータ送信処理においては、ステップS610において、通信モードが「歩数計からゲーム装置へのデータ送信モード」である(ステップS610において「歩数計→ゲーム装置」)と判断される。そして、処理はステップS652へ進む。
ステップS652において、CPU110は、受信した識別データ208に含まれる登録状態フラグ208c(図8参照)が「ON」にセットされているか否かを判断する。登録状態フラグ208cが「ON」にセットされていれば(ステップS652においてYES)、処理はステップS654へ進み、登録状態フラグ208cが「ON」にセットされていなければ(ステップS652においてNO)、処理はステップS660へ進む。すなわち、CPU110は、通信先のゲーム装置10において初期登録処理が完了していなければ、処理を進めない。
ステップS654において、CPU110は、受信した識別データ208に含まれる所持キャラクタフラグ208h(図8参照)が「ON」にセットされているか否かを判断する。所持キャラクタフラグ208hが「ON」にセットされていなければ(ステップS654においてNO)、処理はステップS660へ進み、所持キャラクタフラグ208hが「ON」にセットされていれば(ステップS654においてYES)、処理はステップS656へ進む。すなわち、CPU110は、通信先のゲーム装置10から何らかのキャラクタが移されていなければ、処理を進めない。
ステップS656において、CPU110は、受信した識別データ208に含まれる、ソフト国コード208d、ソフトバージョン208e、所持キャラクタ国コード208f、および所持キャラクタバージョン208gが、自身の識別データ228に含まれるソフト国コード228d、ソフトバージョン228e、所持キャラクタ国コード228f、および所持キャラクタバージョン228gとそれぞれ一致するか否かを判断する。すべての項目において一致すれば(ステップS656においてYES)、処理はステップS658へ進み、いずれか1つの項目でも一致しなければ(ステップS656においてNO)、処理はステップS660へ進む。すなわち、CPU110は、歩数計100とゲーム装置10との間で、国コードおよびソフトバーションが一致しなければ、処理を進めない。
ステップS658において、受信した識別データ208に含まれるゲーム機ID208bが、自身の識別データ228に含まれるゲーム機ID228bと一致するか否かを判断する。受信したゲーム機ID208bがゲーム機ID228bと一致すれば(ステップS658においてYES)、処理はステップS664へ進み、受信したゲーム機ID208bがゲーム機ID228bと一致しなければ(ステップS658においてNO)、処理はステップS660へ進む。すなわち、CPU110は、通信先のゲーム装置10が先にキャラクタを受信した相手である場合に限って、処理を進める。なお、ステップS658においては、受信した識別データ208に含まれる歩数計ID208aと、自身の識別データ228に含まれる歩数計ID228aとを比較してもよい。
ステップS660において、CPU110は、通信を切断する。続くステップS662において、CPU110は、全言語対応画像222(図8参照)として記憶されている画像データのうち、通信エラー用のものを読出してRAM114にロードし、ロードした画像データに基づいて、LCD106にエラー画面を表示する。そして、処理はメインルーチンにリターンする。あるいは、この時点では、初期登録処理が完了しているので、全言語対応画像222に含まれる通信エラー用の画像データに代えて、初期登録処理時にゲーム装置10から受信している初期登録データ229内の各種画像データ・アイコン229bに含まれる通信エラー用の画像データを読出して、エラー画像を表示してもよい。
ステップS664において、CPU110は、受信完了信号を通信先のゲーム装置10へ送信する。続くステップS666において、CPU110は、自身の受信データ230のキャラクタデータ230aを通信先のゲーム装置10へ送信する。さらに続くステップS668において、CPU110は、自身の生成データ232を通信先のゲーム装置10へ送信する。
ステップS670において、CPU110は、通信エラーが生じていないか否かを判断する。通信エラーが生じていれば(ステップS670においてYES)、処理はステップS660へ進み、通信エラーが生じていなければ(ステップS670においてNO)、処理はステップS672へ進む。
ステップS672において、CPU110は、受信待機状態に移行し、通信先のゲーム装置10から受信完了信号を受信したか否かを判断する。受信完了信号を受信していなければ(ステップS672においてNO)、CPU110は、受信完了信号を受信できない期間が所定のしきい時間を越えたか否かを判断する(ステップS674)。受信完了信号を受信できない期間が所定のしきい時間を越えていれば(ステップS674においてYES)、処理はステップS660へ進み、受信完了信号を受信できない期間が所定のしきい時間を越えていなければ(ステップS674においてNO)、ステップS672の処理が繰返される。これに対して、ゲーム装置10から受信完了信号を受信していれば(ステップS672においてYES)、処理はステップS676へ進む。ステップS676において、CPU110は、通信を切断する。
ステップS678において、CPU110は、自身の受信データ230に含まれるキャラクタデータ230aを破棄する。すなわち、CPU110は、ステップS664において、保持していたキャラクタデータ230aを通信先のゲーム装置10へ戻したので、保持しているキャラクタデータ230aをリセットする。
続くステップS680において、CPU110は、自身の生成データ232に含まれる、ワット数232aと、キャラクタ所持日数232dと、単位時間あたりの歩数232eと、獲得キャラクタデータ(n匹分)232fと、獲得アイテムデータ(m個分)232gとをリセットする。すなわち、CPU110は、ステップS668において、揺動センサ112による検知結果に応じた結果情報である生成データ232を、通信先のゲーム装置10へ一旦送信したので、当該送信済の結果情報をリセットする。
続くステップS682において、CPU110は、自身の識別データ228の所持キャラクタフラグ228hを「Null」にセットする。さらに、ステップS684において、CPU110は、自身の識別データ228の所持キャラクタ国コード228fを「Null」にセットする。さらに、ステップS686において、CPU110は、自身の識別データ228の所持キャラクタバージョン228gを「Null」にセットする。さらに、ステップS688において、CPU110は、自身の識別データ228のゲーム機ID228bを「Null」にセットする。すなわち、CPU110は、保持していたキャラクタをゲーム装置10へ戻したので、通信先のゲーム装置10を特定するための情報、および特定のゲーム装置10との間のデータ通信に用いる情報をリセットする。
続くステップS690において、CPU110は、ステップS678において破棄したキャラクタデータ230aに基づいて、LCD106の画面表示として対応のキャラクタがゲーム装置10へ戻る演出を行なう。一例として、図28に示すような、キャラクタを格納した球状のカプセルが歩数計100から離れていくような演出がなされる。そして、処理はメインルーチンにリターンする。
<歩数ゲーム>
次に、本実施の形態に従う歩数計100において実行される歩数ゲームの処理手順について説明する。図29は、この発明の実施の形態に従う歩数計100における歩数ゲームの処理手順を示すフローチャートである。なお、図29に示す各ステップは、ゲーム装置10のCPU110がプログラムを実行することで提供される。図30〜図33は、この発明の実施の形態に従う歩数ゲームにおけるゲーム画面の一例を示す図である。
本実施の形態に従う歩数計100においては、上述の図11のステップS222に示すように、自身の登録状態フラグ228c(図8参照)が「ON」にセットされている場合に限って、歩数ゲームが開始される。すなわち、歩数計100のCPU110は、ゲーム装置10から受信したデータ(初期登録データ229など)が歩数計100のバックアップ用メモリ115などに記憶されているか否かを判断し、それらのデータが記憶されていないと判断されると、揺動センサが不能化されるとともに、歩数ゲームも実行されない。
本実施の形態に従う歩数ゲームの実行中においては、LCD106上には、典型的には、図30に示すようなゲーム画面が表示される。図30に示すゲーム画面においては、ゲーム装置10から受信したキャラクタデータ230a(図8参照)に基づくキャラクタ画像170が表示されるとともに、ゲーム装置10から受信した各種画像データ・アイコン229b(図8参照)に含まれる背景画像172が表示される。また、このゲーム画面においては、揺動センサ112によって検知された揺動回数(歩数計100を装着したユーザの歩数)を示す歩数値174が表示される。さらに、このゲーム画面においては、歩数ゲームの進行に応じて獲得したアイテムおよびキャラクタの存在をそれぞれ示すアイコン176および178が表示される。
以下、図30を参照しながら、本実施の形態に従う歩数計100における歩数ゲームの処理手順について説明する。
図29を参照して、まず、CPU110は、キャラクタ捕獲モードの処理を実行する(ステップS801)。このキャラクタ捕獲モードでは、後述するステップS803などにおいて更新されるワット数232aなどに応じて、ゲーム装置10から予め受信している敵キャラクタデータ(n匹分)230cのうち、1匹もしくは複数匹を「捕獲」する処理である。より詳細な処理手順については後述する。続くステップS802において、CPU110は、揺動センサ112によって揺動が検知されたか否かを判断する。揺動が検知されていれば(ステップS802においてYES)、処理はステップS803へ進み、揺動が検知されていなければ(ステップS802においてNO)、処理はステップS812へ進む。
ステップS803において、CPU110は、生成データ232のワット数232aを検知された歩数に応じた数だけインクリメントする。すなわち、CPU110は、揺動センサ112による検知結果に応じた検知情報の一例としてワット数232aを生成および順次更新する。なお、1歩あたりのワット数については、任意に設定することができる。このとき、検知された歩数に、歩数をワット数に換算するための係数が乗じられた値がワット数232aに対してインクリメントされる。
続くステップS804において、CPU110は、生成データ232の歩数232bを検知された歩数だけインクリメントする。すなわち、CPU110は、揺動センサ112により検知された揺動の発生回数を検知結果として格納するとともに、その検知結果を順次更新する。なお、このインクリメントされる歩数232bの値は、図30の歩数値174に随時反映される。この歩数232bの値に加えて、あるいは歩数232bの値に代えて、ワット数232aの値を図30の歩数値174に反映させるようにしてもよい。
続くステップS806において、CPU110は、LCD106において、背景画像172を検知された歩数に応じてスクロール表示する。このステップS806における処理結果の一例として、図31に示すようなゲーム画面が表示される。この図31に示すゲーム画面の背景画像172は、図30に示すゲーム画像における背景画像172に比較して、横方向にスクロールしている。すなわち、CPU110は、コースデータに応じてゲームコース画像を生成するとともに、揺動センサ112による検知結果に応じた画像出力をLCD106から生じさせる。言い換えれば、CPU110は、揺動センサ112による検知結果に応じて、各種画像データ・アイコン229bに基づく背景画像の表示態様を変化させる。
なお、揺動センサ112により検知された揺動の発生回数に加えて、あるいは、それに代えて、揺動センサ112による検知の有無を示す情報に応じて、各種画像データ・アイコン229bに基づく背景画像の表示態様を変化させてもよい。
続くステップS808において、CPU110は、自身の識別データ228の所持キャラクタフラグ228hが「ON」にセットされているか否かを判断する。所持キャラクタフラグ228hが「ON」にセットされていれば(ステップS806においてYES)、処理はステップS810へ進み、所持キャラクタフラグ228hが「ON」にセットされていなければ(ステップS806においてNO)、処理はメインルーチンにリターンする。この場合には、ゲーム装置10から歩数計100へキャラクタが転送されていないので、LCD106には、図32に示すようなゲーム画面が表示される。すなわち、図32に示すゲーム画面においては、キャラクタ画像170が表示されない。
ステップS810において、CPU110は、自身の受信データ230のキャラクタデータ230aに基づいて、LCD106において、対応するキャラクタをアニメーション表示する。この場合には、図30に示すようなゲーム画面がLCD106に表示される。このように、ゲームコース画像およびキャラクタ画像が出力される。そして、処理はメインルーチンにリターンする。
これに対して、ステップS812において、CPU110は、自身の識別データ228の所持キャラクタフラグ228hが「ON」にセットされているか否かを判断する。所持キャラクタフラグ228hが「ON」にセットされていれば(ステップS812においてYES)、処理はステップS814へ進み、所持キャラクタフラグ228hが「ON」にセットされていなければ(ステップS812においてNO)、処理はメインルーチンにリターンする。すなわち、CPU110は、通信先のゲーム装置10から何らかのキャラクタが転送されていない限り、処理を進めない。
ステップS814において、CPU110は、現在のワット数が所定しきい値に到達したか否かを判断する。すなわち、CPU110は、揺動センサ112により検知された揺動の発生回数に基づいた値が所定しきい値以上であるか否かを判断する。現在のワット数が所定しきい値に到達していれば(ステップS814においてYES)、処理はステップS816へ進み、現在のワット数が所定しきい値に到達していなければ(ステップS814においてNO)、処理はステップS822へ進む。なお、ステップS814における所定しきい値の一例としては、たとえば200ワットに設定される。
ステップS816において、CPU110は、LCD106に「!」を吹き出しとして表示する。この場合には、図31に示すようなゲーム画面がLCD106に表示される。すなわち、図31に示すゲーム画面においては、「!」を示す吹き出し画像179がさらに表示される。
続くステップS818において、CPU110は、何らかの操作スイッチ104が押下されたか否かを判断する。何らかの操作スイッチ104が押下されていれば(ステップS818においてYES)、処理はステップS820へ進み、何らかの操作スイッチ104が押下されていなければ(ステップS818においてNO)、処理はメインルーチンにリターンする。
ステップS820において、CPU110は、LCD106に「(キャラクタ名)は、たのしそうだ」というメッセージを吹き出しとして表示する。この場合には、図33に示すようなゲーム画面がLCD106に表示される。すなわち、図33に示すゲーム画面においては、キャラクタデータ230a(図8参照)に基づくキャラクタ画像160が表示されるとともに、「キャラクタ1はタノシソウダ」を示すメッセージ画像164が表示される。なお、この図33に示すゲーム画像は、図31に示すゲーム画像を消去した後に表示するようにしてもよいし、図31に示すゲーム画像に対してオーバーレイとして表示してもよい。その後、処理はメインルーチンにリターンする。
なお、上述の説明では、ワット数に基づいて判断する処理について例示したが、ワット数は、揺動の発生回数(歩数)に所定の係数を乗じて得られる数値であるので、揺動の発生回数(歩数)自体に基づいて判断することと等価である。
また、上述の説明では、ワット数/揺動の発生回数(歩数)に応じてLCD106における表示態様を変化させる構成について例示したが、表示態様に加えて、あるいは表示態様に代えて、ブザー118から出力される効果音などの出力態様をワット数に応じて変化させてもよい。
さらに、ワット数/揺動の発生回数(歩数)が所定しきい値未満であるか否かを判断し、当該所定しきい値未満であれば、さらなる運動を促すようなメッセージなどを表示するようにしてもよい。
このように、CPU110は、揺動センサ112による検知結果の一つであるワット数が所定条件を満足するか否かを判断し、ワット数が所定条件を満足すると判断されると、所定の画像出力および/または音声出力をLCD106および/またはブザー118から生じさせる。
ステップS822において、CPU110は、現在の生成データ232のキャラクタ所持日数232dが所定しきい値を超えたか否かを判断する。キャラクタ所持日数232dが所定しきい値を超えていれば(ステップS822においてYES)、処理はステップS824へ進み、キャラクタ所持日数232dが所定しきい値を超えていなければ(ステップS822においてNO)、処理はステップS830へ進む。なお、ステップS822における所定しきい値の一例としては、たとえば4日に設定される。また、ステップS822において、経過日数232cが所定しきい値を超えたか否かを判断するようにしてもよい。
ステップS824において、CPU110は、LCD106に「・・・」を吹き出しとして表示する。この場合には、図31と同様のゲーム画面がLCD106に表示される。
続くステップS826において、CPU110は、何らかの操作スイッチ104が押下されたか否かを判断する。何らかの操作スイッチ104が押下されていれば(ステップS826においてYES)、処理はステップS828へ進み、何らかの操作スイッチ104が押下されていなければ(ステップS826においてNO)、処理はメインルーチンにリターンする。
ステップS828において、CPU110は、LCD106に「(キャラクタ名)は、
かえりたそうだ」というメッセージを吹き出しとして表示する。この場合には、図33と同様のゲーム画面がLCD106に表示される。そして、処理はメインルーチンにリターンする。
このように、CPU110は、ゲーム装置10からデータを受信してからの経過時間を計測し、この計測された経過時間に基づいて、所定の画像出力および/または音声出力をLCD106および/またはブザー118から生じさせる。
ステップS830において、CPU110は、現在の生成データ232の単位時間あたりの歩数232eが所定しきい値未満であるか否かを判断する。すなわち、CPU110は、単位時間毎の振動の発生回数が所定しきい値未満であるか否かを判断する。単位時間あたりの歩数232eが所定しきい値未満であれば(ステップS830においてYES)、処理はステップS832へ進み、単位時間あたりの歩数232eが所定しきい値以上であれば(ステップS830においてYES)、処理はメインルーチンにリターンする。なお、ステップS830における所定しきい値の一例としては、たとえば50歩に設定される。
すなわち、CPU110は、時計IC117によって計測される単位時間毎に揺動センサ112により検知された揺動の発生回数(歩数)を取得し、この単位時間毎の揺動の発生回数が所定しきい値未満であることを条件に、ステップS832以下に示す、所定の画像出力および/または音声出力をLCD106および/またはブザー118から生じさせる処理を実行する。
ステップS832において、CPU110は、LCD106に「@」を吹き出しとして表示する。この場合には、図31と同様のゲーム画面がLCD106に表示される。
続くステップS834において、CPU110は、何らかの操作スイッチ104が押下されたか否かを判断する。何らかの操作スイッチ104が押下されていれば(ステップS834においてYES)、処理はステップS836へ進み、何らかの操作スイッチ104が押下されていなければ(ステップS834においてNO)、処理はメインルーチンにリターンする。
ステップS836において、CPU110は、LCD106に「(キャラクタ名)は、
ひまそうだ」というメッセージを吹き出しとして表示する。この場合には、図33と同様のゲーム画面がLCD106に表示される。そして、処理はメインルーチンにリターンする。
また、上述の説明では、単位時間あたりに検出される揺動の発生回数(歩数)に応じて、LCD106における表示態様を変化させる構成について例示したが、表示態様に加えて、あるいは表示態様に代えて、ブザー118から出力される効果音などの出力態様を変化させてもよい。
さらに、単位時間あたりに検出される揺動の発生回数(歩数)が所定しきい値以上であるか否かを判断し、当該所定しきい値以上であれば、目標などに到達したことを示すメッセージなどを表示するようにしてもよい。
このように、CPU110は、単位時間毎に揺動センサ112により検知される揺動の発生回数が所定条件を満足するか否かを判断し、所定条件を満足すると判断されると、所定の画像出力および/または音声出力をLCD106および/またはブザー118から生じさせる。
<キャラクタ捕獲モード>
次に、図29のステップS801において説明したキャラクタ捕獲モードにおける処理手順について説明する。
図34は、この発明の実施の形態に従う歩数計100のキャラクタ捕獲モードにおける処理手順を示すフローチャートである。図34を参照して、まず、CPU110は、操作スイッチ104が押下されたか否かを判断する(ステップS900)。操作スイッチ104が押下されていなければ(ステップS900においてNO)、処理は歩数ゲームのメインルーチン(図29)に戻り、操作スイッチ104が押下されていれば(ステップS900においてYES)、処理はステップS902へ進む。
ステップS902において、CPU110は、現在のワット数が所定しきい値に到達しているか否かを判断する。現在のワット数が所定しきい値に到達していれば(ステップS902においてYES)、処理はステップS904へ進み、現在のワット数が所定しきい値に到達していなければ(ステップS902においてNO)、処理は歩数ゲームのメインルーチン(図29)に戻る。なお、現在のワット数が所定しきい値に到達していない場合には、ワット数が不足していることをユーザに通知するようにしてもよい。
ステップS904において、CPU110は、キャラクタを探索する対象となる候補を複数含むゲーム画面をLCD106に表示する。たとえば、複数の「やぶ」を表示するとともに、「キャラクタはどこかな?」といったメッセージを表示する。続くステップS906において、CPU110は、いずれかの操作スイッチ104が押下されたか否かを判断する。すなわち、CPU110は、ユーザ操作によってキャラクタを探索の対象となる複数の候補のうち、いずれかが選択されたか否かを判断する。ユーザ操作によっていずれかの候補が選択されると、処理はステップS908へ進み、ユーザ操作によっていずれの候補も選択されていなければ(ステップS906においてNO)には、ステップS906の処理が繰返される。
ステップS908において、CPU110は、ゲーム装置10から予め受信している敵キャラクタデータ(n匹分)230c(図8参照)のうち、1匹分のデータを選択する。なお、この敵キャラクタデータ(n匹分)230cから1匹分を選択する処理は、乱数に基づいて行なうことが好ましい。
続くステップS910において、CPU110は、ゲーム装置10から予め受信しているキャラクタデータ230a(図8参照)に基づく所持キャラクタの画像と、ステップS908において選択した敵キャラクタデータに基づく敵キャラクタの画像とをLCD106に表示する。なお、ステップS908の選択処理において、敵キャラクタデータ(n匹分)230cのいずれも選択しない場合を含むようにしてもよい。すなわち、いずれの敵キャラクタも画面上には出現させず、「キャラクタはいなかった」といったメッセージのみを表示するようにしてもよい。
続くステップS912において、CPU110は、所持キャラクタの画像と敵キャラクタの画像との戦闘処理を実行する。より具体的には、キャラクタデータ230aに含まれる属性値と、選択された敵キャラクタデータに含まれる属性値とに基づいて、所持キャラクタが出現した敵キャラクタに勝利するか否かを決定する。続くステップS914において、CPU110は、所持キャラクタが出現した敵キャラクタに対して勝利したか否かを判断する。所持キャラクタが出現した敵キャラクタに対して勝利すれば(ステップS914においてYES)、処理はステップS916へ進み、所持キャラクタが出現した敵キャラクタに対して勝利しなければ(ステップS914においてNO)、処理はステップS918へ進む。
ステップS916において、CPU110は、獲得キャラクタデータ(n匹分)232fの内容として、選択されている敵キャラクタデータの内容を追加する。すなわち、戦闘によって勝利すると、相手である敵キャラクタが捕獲される。そして、処理はステップS918へ進む。すなわち、CPU110は、獲得可能キャラクタデータの一例である敵キャラクタデータ(n匹分)230cを、揺動センサ112による検知結果に基づいて、獲得済キャラクタデータの一例である獲得キャラクタデータ232へと変更する。なお、この更新後の獲得キャラクタデータ232は、ゲーム装置10へ送信されることで、ゲーム装置10に記憶されているセーブデータ207の所持キャラクタデータ207c(図8参照)の変更に用いられる(図27のステップS746参照)。
ステップS918において、CPU110は、現在のワット数から上記の所定しきい値と同じ数だけを減算して、新たなワット数に更新する。すなわち、キャラクタ捕獲モードが実行されたので、その実行に必要なワット数を現在のワット数から減じる。そして、処理は、処理は歩数ゲームのメインルーチン(図29)に戻る。
<変形例>
上述の実施の形態においては、ゲーム装置10から歩数計100へ送信されるデータの一例として、初期登録データ209(229)および送信対象データ210について示すが、これらのデータに加えて、あるいは、それに代えて、フォントデータ、文字列データ、およびプログラム自体であってもよい。
また、上述の図20のステップS512などにおいては、先に歩数計100から受信している生成データ232に基づいて、追加すべきコースなどが決定される処理を例示するが、このタイミングで、歩数計100から現在の生成データを取得するようにしてもよい。
また、歩数計100において、初期登録データ229および/または受信データ230が未受信である場合のエラー表示として、効果音などの音声出力を用いてもよい。
また、図29に示す歩数ゲームの処理手順において各種イベント動作を実行する所定条件はあくまで一例であり、揺動センサ112により検知される歩数、歩数の累積値、ワット数、単位時間あたりの歩数、キャラクタ所持日数、経過日数などを適宜組合わせて、イベントを発生させるための条件を設定することができる。
また、揺動センサ112による検知結果に応じた出力の他の例としては、歩数に応じてキャラクタが歩くような画面表示がされる、歩数に応じて出現するキャラクタが変化する、キャラクタが成長する(キャラクタの外観の変化やパラメータの変化など)などが挙げられる。
また、図29に示す歩数ゲームの処理手順においては、操作スイッチ104が押下されると、メッセージ画像164が表示される処理例について示したが、揺動センサ112による検知結果が所定条件を満足すると、即座にメッセージ画像164が表示されるようにしてもよい。また、吹き出し形式だけでなく、ポップアップ形式などを用いて、メッセージや各種文字を表示するようにしてもよい。
また、図29に示す歩数ゲームの処理手順においては、歩数計100に記憶されている識別データ228の所持キャラクタフラグ228hが「ON」にセットされていなければ、メッセージ表示などの処理をスキップする処理例について示したが、所持キャラクタフラグ228hが「ON」にセットされていなくとも、何らかのイベント動作を行なうようにしてもよい。さらに、所持キャラクタフラグ228hの値について判断を行なうことなく、揺動センサ112による検知結果のみに基づいて、各種のイベント動作を行なうようにしてもよい。
上述の実施の形態においては、到達したステージに応じて、ゲーム装置10から歩数計100へ送信されるコースが選択される処理について例示したが、キャラクタが存在している現在のステージに基づいてコースが選択されるようにしてもよい。このような処理を採用することで、次々にゲームを進行させるだけでなく、ユーザに「戻る」楽しみも提供することができる。
上述の実施の形態においては、ユーザがゲーム装置10から歩数計100へ送信するコースを予め用意された候補から選択する処理について例示したが、到達したコース、または現在いるコースに応じて、コースを含む転送データが自動的に決定されるようにしてもよい。すなわち、あるステージまで進んだらこのデータを転送する、というように、予め定められた規則に従って転送されるデータが自動的に決定されるようにしてもよい。このような処理を採用することで、ユーザの選択によらないデータが転送されるので、転送対象のデータを秘匿化でき、これによってユーザに驚きを与えることができる。
上述の実施の形態においては、ゲーム装置10から歩数計100へ送信されるデータとしては、主としてコースデータおよび画像データである場合について例示したが、これらに加えて、あるいはこれらに代えて、サウンドデータ、文字データ、キャラクタなどを動的に生成するようなプログラムデータなどを用いてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。