(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0037】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【0038】
<ハード構成>
図1において、ゲーム装置1は、折り畳み型の携帯ゲーム装置であり、開いた状態(開状態)のゲーム装置1を示している。ゲーム装置1は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【0039】
ゲーム装置1は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に連結されている。
図1の例では、下側ハウジング11および上側ハウジング21は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回転可能に連結されている。通常、ユーザは、開状態でゲーム装置1を使用する。また、ユーザは、ゲーム装置1を使用しない場合には閉状態としてゲーム装置1を保管する。また、
図1に示した例では、ゲーム装置1は、上記閉状態および開状態のみでなく、下側ハウジング11と上側ハウジング21とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング21を下側ハウジング11に対して任意の角度で静止させることができる。
【0040】
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12が設けられる。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置1に内蔵されている表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置1は、任意の解像度の表示装置を利用することができる。なお、詳細は後述するが、下側LCD12は、主に、内側カメラ23または外側カメラ25で撮影されている画像をリアルタイムに表示するために用いられる。
【0041】
下側ハウジング11には、入力装置として、各操作ボタン14A〜14Kおよびタッチパネル13が設けられる。
図1に示されるように、各操作ボタン14A〜14Kのうち、方向入力ボタン14A、操作ボタン14B、操作ボタン14C、操作ボタン14D、操作ボタン14E、電源ボタン14F、スタートボタン14G、およびセレクトボタン14Hは、上側ハウジング21と下側ハウジング11とを折りたたんだときに内側となる、下側ハウジング11の内側主面上に設けられる。方向入力ボタン14Aは、例えば選択操作等に用いられる。各操作ボタン14B〜14Eは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン14Fは、ゲーム装置1の電源をオン/オフするために用いられる。
図1に示す例では、方向入力ボタン14Aおよび電源ボタン14Fは、下側ハウジング11の内側主面中央付近に設けられる下側LCD12に対して、左右一方側(
図1では左側)の当該主面上に設けられる。また、操作ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、下側LCD12に対して左右他方側(
図1では右側)となる下側ハウジング11の内側主面上に設けられる。方向入力ボタン14A、操作ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、ゲーム装置1に対する各種操作を行うために用いられる。
【0042】
なお、
図1においては、操作ボタン14I〜14Kの図示を省略している。例えば、Lボタン14Iは、下側ハウジング11の上側面の左端部に設けられ、Rボタン14Jは、下側ハウジング11の上側面の右端部に設けられる。Lボタン14IおよびRボタン14Jは、ゲーム装置1に対して、例えば撮影指示操作(シャッター操作)を行うために用いられる。さらに、音量ボタン14Kは、下側ハウジング11の左側面に設けられる。音量ボタン14Kは、ゲーム装置1が備えるスピーカの音量を調整するために用いられる。
【0043】
また、ゲーム装置1は、各操作ボタン14A〜14Kとは別の入力装置として、さらにタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル13として、例えば下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。また、下側ハウジング11の右側面には、挿入口(
図1に示す破線)が設けられている。挿入口は、タッチパネル13に対する操作を行うために用いられるタッチペン27を収納することができる。なお、タッチパネル13に対する入力は、通常タッチペン27を用いて行われるが、タッチペン27に限らずユーザの指でタッチパネル13を操作することも可能である。
【0044】
また、下側ハウジング11の右側面には、メモリカード28を収納するための挿入口(
図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置1とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、例えばSD(Secure Digital)メモリカードであり、コネクタに着脱自在に装着される。メモリカード28は、例えば、ゲーム装置1によって撮影された画像を記憶(保存)したり、他の装置で生成された画像をゲーム装置1に読み込んだりするために用いられる。
【0045】
さらに、下側ハウジング11の上側面には、カートリッジ29を収納するための挿入口(
図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置1とカートリッジ29とを電気的に接続するためのコネクタ(図示せず)が設けられる。カートリッジ29はゲームプログラム等を記録した記録媒体であり、下側ハウジング11に設けられた挿入口に着脱自在に装着される。
【0046】
下側ハウジング11と上側ハウジング21との連結部の左側部分には、3つのLED15A〜15Cが取り付けられる。ここで、ゲーム装置1は、他の機器との間で無線通信を行うことが可能であり、第1LED15Aは、ゲーム装置1の電源がオンである場合に点灯する。第2LED15Bは、ゲーム装置1の充電中に点灯する。第3LED15Cは、無線通信が確立している場合に点灯する。したがって、3つのLED15A〜15Cによって、ゲーム装置1の電源のオン/オフ状況、充電状況、および、通信確立状況をユーザに通知することができる。
【0047】
一方、上側ハウジング21には、上側LCD22が設けられる。上側LCD22は横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。なお、下側LCD12と同様、上側LCD22に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、上側LCD22上を覆うように、タッチパネルを設けてもかまわない。例えば、上側LCD22には、ユーザに各操作ボタン14A〜14Kやタッチパネル13の役割を教えるための、操作説明画面が表示される。
【0048】
また、上側ハウジング21には、2つのカメラ(内側カメラ23および外側カメラ25)が設けられる。
図1に示されるように、内側カメラ23は、上側ハウジング21の連結部付近の内側主面に取り付けられる。一方、外側カメラ25は、内側カメラ23が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング21の外側主面(ゲーム装置1が閉状態となった場合に外側となる面であり、
図1に示す上側ハウジング21の背面)に取り付けられる。なお、
図1においては、外側カメラ25を破線で示している。これによって、内側カメラ23は、上側ハウジング21の内側主面が向く方向を撮影することが可能であり、外側カメラ25は、内側カメラ23の撮影方向の逆方向、すなわち、上側ハウジング21の外側主面が向く方向を撮影することが可能である。このように、本実施形態では、2つの内側カメラ23および外側カメラ25の撮影方向が互いに逆方向となるように設けられる。例えば、ユーザは、ゲーム装置1からユーザの方を見た景色を内側カメラ23で撮影することができるとともに、ゲーム装置1からユーザの反対側の方向を見た景色を外側カメラ25で撮影することができる。
【0049】
なお、上記連結部付近の内側主面には、音声入力装置としてマイク(
図2に示すマイク42)が収納されている。そして、上記連結部付近の内側主面には、マイク42がゲーム装置1外部の音を検知できるように、マイクロフォン用孔16が形成される。マイク42を収納する位置およびマイクロフォン用孔16の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング11にマイク42を収納し、マイク42を収納位置に対応させて下側ハウジング11にマイクロフォン用孔16を設けるようにしても良い。
【0050】
また、上側ハウジング21の外側主面には、第4LED26(
図1では、破線で示す)が取り付けられる。第4LED26は、外側カメラ25によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、外側カメラ25によって動画が撮影される間点灯する。第4LED26によって、ゲーム装置1による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
【0051】
また、上側ハウジング21の内側主面中央付近に設けられる上側LCD22に対して、左右両側の当該主面に音抜き孔24がそれぞれ形成される。音抜き孔24の奥の上側ハウジング21内にはスピーカが収納されている。音抜き孔24は、スピーカからの音をゲーム装置1の外部に放出するための孔である。
【0052】
以上に説明したように、上側ハウジング21には、画像を撮影するための構成である内側カメラ23および外側カメラ25と、例えば撮影の際に操作説明画面を表示する表示手段である上側LCD22とが設けられる。一方、下側ハウジング11には、ゲーム装置1に対する操作入力を行うための入力装置(タッチパネル13および各ボタン14A〜14K)と、ゲーム画面を表示するための表示手段である下側LCD12とが設けられる。したがって、ゲーム装置1を使用する際には、ユーザは、下側LCD12に表示される撮影画像(カメラによって撮影された画像)を見ながら、下側ハウジング11を把持して入力装置に対する入力を行うことができる。
【0053】
次に、
図2を参照して、ゲーム装置1の内部構成を説明する。なお、
図2は、ゲーム装置1の内部構成の一例を示すブロック図である。
【0054】
図2において、ゲーム装置1は、CPU31、メインメモリ32、メモリ制御回路33、保存用データメモリ34、プリセットデータ用メモリ35、メモリカードインターフェース(メモリカードI/F)36およびカートリッジI/F44、無線通信モジュール37、ローカル通信モジュール38、リアルタイムクロック(RTC)39、電源回路40、およびインターフェース回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0055】
CPU31は、所定のプログラムを実行するための情報処理手段である。本実施形態では、所定のプログラムがゲーム装置1内のメモリ(例えば保存用データメモリ34)やメモリカード28および/または29に記憶されており、CPU31は、当該所定のプログラムを実行することによって、後述するゲーム処理を実行する。なお、CPU31によって実行されるプログラムは、ゲーム装置1内のメモリに予め記憶されていてもよいし、メモリカード28および/またはカートリッジ29から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。例えば、インターネットを経由して所定のサーバからダウンロードすることで取得しても良いし、据置型ゲーム装置と通信を行うことで、当該据置型ゲーム装置に記憶されている所定のプログラムをダウンロードすることで取得しても良い。
【0056】
CPU31には、メインメモリ32、メモリ制御回路33、およびプリセットデータ用メモリ35が接続される。また、メモリ制御回路33には、保存用データメモリ34が接続される。メインメモリ32は、CPU31のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ32は、上記ゲーム処理に用いられる各種データを記憶したり、外部(メモリカード28および29や他の機器等)から取得されるプログラムを記憶したりする。本実施形態では、メインメモリ32として、例えばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ34は、CPU31によって実行されるプログラムや内側カメラ23および外側カメラ25によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ34は、不揮発性の記憶媒体によって構成されており、例えば本実施例ではNAND型フラッシュメモリで構成される。メモリ制御回路33は、CPU31の指示に従って、保存用データメモリ34に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ35は、ゲーム装置1において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ35としては、SPI(Serial Peripheral Interface)バスによってCPU31と接続されるフラッシュメモリを用いることができる。
【0057】
メモリカードI/F36は、CPU31に接続される。メモリカードI/F36は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU31の指示に応じて行う。本実施形態では、外側カメラ25によって撮像された画像データがメモリカード28に書き込まれたり、メモリカード28に記憶された画像データがメモリカード28から読み出されて保存用データメモリ34に記憶されたりする。
【0058】
カートリッジI/F44はCPU31に接続される。カートリッジI/F44は、コネクタに装着されたカートリッジ29に対するデータの読み出しおよび書き込みをCPU31の指示に従って行う。本実施形態では、情報処理装置10が実行することが可能なアプリケーションプログラムがカートリッジ29から読み出されてCPU31によって実行されたり、当該アプリケーションプログラムに関するデータ(例えばゲームのセーブデータ等)がカートリッジ29に書き込まれたりする。
【0059】
なお、本発明のゲームプログラムは、カートリッジ29等の外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよい。また、ゲームプログラムは、コンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。なお、色変換プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0060】
無線通信モジュール37は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール38は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール37およびローカル通信モジュール38は、CPU31に接続される。CPU31は、無線通信モジュール37を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール38を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0061】
また、CPU31には、RTC39および電源回路40が接続される。RTC39は、時間をカウントしてCPU31に出力する。例えば、CPU31は、RTC39によって計時された時間に基づいて、現在時刻(日付)等を計算することもできる。電源回路40は、ゲーム装置1が有する電源(典型的には電池であり、下側ハウジング11に収納される)から供給される電力を制御し、ゲーム装置1の各部品に電力を供給する。
【0062】
また、ゲーム装置1は、マイク42およびアンプ43を備えている。マイク42およびアンプ43は、それぞれI/F回路41に接続される。マイク42は、ゲーム装置1に向かって発声されたユーザの音声を検知して、当該音声を示す音声信号をI/F回路41に出力する。アンプ43は、I/F回路41から音声信号を増幅してスピーカ(図示せず)から出力させる。I/F回路41は、CPU31に接続される。
【0063】
また、タッチパネル13は、I/F回路41に接続される。I/F回路41は、マイク42およびアンプ43(スピーカ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成してCPU31に出力する。例えば、タッチ位置データは、タッチパネル13の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU31は、I/F回路41を介して、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
【0064】
操作ボタン14は、上記各操作ボタン14A〜14Kから構成され、CPU31に接続される。操作ボタン14からCPU31へは、各操作ボタン14A〜14Kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
【0065】
内側カメラ23および外側カメラ25は、それぞれCPU31に接続される。内側カメラ23および外側カメラ25は、CPU31の指示に応じて画像を撮影し、撮影した画像データをCPU31に出力する。本実施形態では、CPU31は、内側カメラ23および外側カメラ25のいずれか一方に対して撮影指示を行い、撮影指示を受けたカメラが画像を撮影して画像データをCPU31に送る。
【0066】
また、下側LCD12および上側LCD22は、それぞれCPU31に接続される。下側LCD12および上側LCD22は、それぞれCPU31の指示に従って画像を表示する。
【0067】
<ゲーム装置の動作の概要>
以下、ゲーム装置1の動作の概要について説明する。
【0068】
本実施形態では、基本的に、1台のゲーム装置(上記ゲーム装置1)を1人のプレイヤが操作する。以下の説明では便宜上、プレイヤAが操作しているゲーム装置をゲーム装置Aと称し、プレイヤBが操作しているゲーム装置をゲーム装置Bと称し、プレイヤCが操作しているゲーム装置をゲーム装置Cと称することがある。
【0069】
ゲームプログラムが記録されたメモリカード28をゲーム装置に装着した状態でプレイヤがゲーム装置を起動すると、当該ゲームプログラムが実行され、ゲーム処理が開始される。当該ゲーム処理では、上側LCD22または下側LCD12にゲーム世界が表示され、プレイヤは、操作ボタン14またはタッチパネル13などを用いて、ゲーム世界に存在するプレイヤキャラクタを操作することができる。以下の説明では便宜上、プレイヤAが操作しているプレイヤキャラクタをプレイヤキャラクタAと称し、プレイヤBが操作しているプレイヤキャラクタをプレイヤキャラクタBと称し、プレイヤCが操作しているプレイヤキャラクタをプレイヤキャラクタCと称することがある。
【0070】
プレイヤがゲームを開始した直後は、基本的に、シングルプレイモードのゲーム処理が進行する。シングルプレイモードとは、或るゲーム装置において実行中のゲームのゲーム世界に1つのプレイヤキャラクタしか存在しない(例えば、ゲーム装置Aにおいて実行中のゲームのゲーム世界に、プレイヤAによって操作されるプレイヤキャラクタAしか存在しない状態)ようなゲーム処理のモードである。シングルプレイモードのゲーム処理の最中に所定の条件を満たすと、マルチプレイモードのゲーム処理が開始される。マルチプレイモードとは、或るゲーム装置において実行中のゲームのゲーム世界に複数のプレイヤキャラクタが存在する(例えば、ゲーム装置Aにおいて実行中のゲームのゲーム世界に、プレイヤAによって操作されるプレイヤキャラクタAとプレイヤBによって操作されるプレイヤキャラクタBとが共に存在する状態)ようなゲーム処理のモードである。マルチプレイモードでは、複数のゲーム装置1がローカル通信モジュール38を介して互いに通信することによって、このようなゲーム処理が実現される。
【0071】
<シングルプレイモード>
以下、図面を参照して、シングルプレイモードのゲーム処理の概要について説明する。
【0072】
本実施形態では、
図3に示すように、ゲーム装置1は、ゲーム処理の実行中は基本的に常に(シングルプレイモード中でもマルチプレイモード中でも)、ローカル通信モジュール38によってビーコンを不特定の他のゲーム装置に向けて送信する。この送信の方式は、パッシブスキャン方式であってもよいし、アクティブスキャン方式であってもよい。すなわち、各ゲーム装置がビーコンを所定の周期で不特定宛に送信(ブロードキャスト)してもよいし、各ゲーム装置から所定の周期で不特定宛にプローブリクエストを送信し、このパケットを受信した他のゲーム装置からビーコンを送信してもよい。すなわち、本発明において、探索はアクティブスキャン方式でもよいしパッシブスキャン方式でもよい。後述するように、当該ビーコンには、プレイヤに関連する情報や、ゲーム状況を示す情報や、メッセージなど、種々の情報が含まれ得る。シングルプレイモードでは、このようにゲームのプレイ中に常時送信されるビーコンを利用することによって、以下のような機能が実現される。
・プロフィール表示機能
・ゲーム支援機能
・コミュニケーション機能
・調査ミッション機能
【0073】
プロフィール表示機能とは、ゲーム装置の画面に、当該ゲーム装置の周辺領域(例えば、他のゲーム装置からのビーコンを受信可能な範囲)でゲームをプレイしている他のプレイヤのプロフィールを表示する機能である。例えば、プレイヤAがゲーム装置Aを用いてゲームをプレイしており、なおかつゲーム装置Aの周辺領域でプレイヤBがゲーム装置Bを用いてゲームをプレイしているときに、ゲーム装置Aの画面(例えば上側LCD22)にプレイヤBのプロフィールを表示させることが可能である。
【0074】
ゲーム支援機能とは、ゲーム装置の周辺領域でプレイしている他のプレイヤを支援する機能である。例えば、プレイヤAがゲーム装置Aを用いてゲームをプレイしており、なおかつゲーム装置Aの周辺領域でプレイヤBがゲーム装置Bを用いてゲームをプレイしているときに、プレイヤAがプレイしているゲームのゲーム世界(以下、「プレイヤAのゲーム世界」または「ゲーム世界A」と称することがある)においてプレイヤAが特定のパラメータ(例えば、ゲーム世界で入手可能な特殊アイテム)を消費して特定の効果を発動させると、プレイヤBが上記特定のアイテムやパラメータを消費せずとも、プレイヤBのゲーム世界においても同様の効果を発現させることが可能である。例えば、プレイヤAが特定のパラメータを消費して、プレイヤキャラクタAが仲間として引き連れているモンスターの体力を回復させると、プレイヤAの周辺領域でゲームをプレイしているプレイヤBのゲーム世界においても同様の効果が発現する(すなわち、プレイヤキャラクタBが仲間として引き連れているモンスターの体力が回復する)。また例えば、プレイヤAが特定のパラメータを消費して、ゲーム世界Aの店で売られているアイテムの販売価格を一定時間の間だけ半減させると、プレイヤAの周辺領域でゲームをプレイしているプレイヤBのゲーム世界においても同様の効果が発現する(すなわち、ゲーム世界Bの店で売られているアイテムの販売価格も一定時間の間だけ半減する)。
【0075】
コミュニケーション機能とは、ゲーム装置の周辺領域でプレイしている他のプレイヤからのメッセージを当該ゲーム装置の画面に表示したり、当該他のプレイヤに対してメッセージを送信したりする機能である。例えば、プレイヤAがゲーム装置Aを用いてゲームをプレイしており、なおかつゲーム装置Aの周辺領域でプレイヤBがゲーム装置Bを用いてゲームをプレイしているときに、プレイヤBがプレイヤAへ宛てたメッセージをゲーム装置Aの画面に表示させたり、プレイヤAがプレイヤBへ宛てたメッセージをゲーム装置Bの画面に表示させたりすることが可能である。
【0076】
調査ミッション機能とは、ゲーム世界においてプレイヤキャラクタが調査員となって、ゲーム世界の調査会社から調査依頼を受けて様々な調査を行うものである。調査は、現実世界でプレイヤがゲーム装置1を携帯して、駅や店などの人の多い場所へ出向き、当該ゲーム装置1によって、他のプレイヤが携帯しているゲーム装置から発信されるビーコン(後述するように、当該ビーコンには、当該他のプレイヤの特徴や嗜好に関する情報が含まれている)を受信することによって行われる。調査会社に調査結果を報告することによってプレイヤキャラクタの調査員としてのランクが上昇して、ゲーム展開が変化したり、ゲームの進行に有利なアイテムを獲得したりする。
【0077】
以下、ゲーム画像例を参照しながら、シングルプレイモードにおけるゲーム処理の概要を説明する。
【0078】
図4は、ゲーム開始直後において、上側LCD22および下側LCD12に表示される画像の一例を示している。上側LCD22には、プレイヤキャラクタを含むゲーム世界の様子が表示されている。プレイヤキャラクタは、仲間としてモンスターを引き連れており、当該仲間のモンスターに命令することによって、当該仲間のモンスターを野生のモンスター等と戦わせることができる。プレイヤは、例えば操作ボタン14を操作することによって、プレイヤキャラクタを操作してゲームをプレイすることができる。下側LCD22には、ゲーム装置の周辺領域でプレイしている他のプレイヤのリストを表示するための「他プレイヤリスト」ボタン画像P1と、前述の調査を行うための「調査ミッション」ボタン画像P2が表示されており、これらのボタン画像P1,P2をタッチペン27でタッチすることによって、プレイヤは、これらのボタン画像P1,P2に対応する機能を呼び出すことができる。なお、「調査ミッション」ボタン画像P2をタッチする代わりに、ゲーム世界においてプレイヤキャラクタが特定の人物(例えば調査会社の社長)に話しかけることによって、調査ミッション機能が呼び出されても構わない。
【0079】
図5は、
図4の「他プレイヤリスト」ボタン画像P1をタッチしたときに下側LCD12に表示される、他プレイヤリスト画像の一例である。なお、下側LCD12に他プレイヤリスト画像が表示されている状態でも、プレイヤは、上側LCD22に表示されているゲーム画像を見ながら、例えば操作ボタン14を操作することによって、ゲームをプレイし続けることができる。
【0080】
ゲーム装置1は、シングルプレイモード中は、基本的に常に他のゲーム装置からのビーコンを受信可能であり、ローカル通信モジュール38によって他のゲーム装置からのビーコンを受信すると、当該ビーコンに含まれる情報を解析する。ビーコンには、プレイヤ名や、挨拶等のメッセージや、プロフィール情報や、ゲーム状況を示す情報などが含まれている。
【0081】
ゲーム装置1は、他のゲーム装置からのビーコンを受信すると、そのビーコンに基づいて、当該他のゲーム装置のプレイヤに関連する情報を、例えば保存用データメモリ34に蓄積する。他プレイヤリスト画像の他プレイヤ情報ウィンドウP3には、過去にそのビーコンを受信したことのあるゲーム装置のプレイヤ(以下、「過去にすれ違ったプレイヤ」と称す)の情報が表示される。下側LCD12に一度に表示可能な他プレイヤ情報ウィンドウP3の数は最大4つであるが、プレイヤは、スクロールアイコンP7をタッチすることによって、他プレイヤ情報ウィンドウP3をスクロールさせることができ、最大30人分の他プレイヤ情報ウィンドウP3を見ることができる。他プレイヤ情報ウィンドウP3には、プレイヤアイコン表示領域P3a、状況アイコン表示領域P3b、プレイヤ名表示領域P3cが含まれる。
【0082】
ゲーム装置1は、他のゲーム装置からのビーコンを受信すると、そのビーコンに含まれる情報を自動的に画面に表示する。これにより、ゲームプレイ中に、ゲーム装置1の周りの不特定の他のゲーム装置からの情報が次々に自動的に画面に表示される。この情報は自分のゲーム画面と同時に表示されるので、ゲームプレイをしながら、同時に回りの他のプレイヤの情報を知ることができて、一人でゲームプレイをしているときでも、あたかも、誰かと(しかも不特定の人と)ゲームプレイしているかのような体験を与えることができる。また、ゲーム装置1の周りの複数のゲーム装置からの情報が次々に自動的に表示される。これにより、よりいっそう多数の人とゲームプレイしているかのような体験を与えることができる。
【0083】
受信状況アイコンP6は、1以上のゲーム装置からのビーコンのうち、最も良好に受信できているビーコンに基づいて測定される受信状況を示している。
【0084】
情報表示領域P8には、他プレイヤリストメイン画面で現在見ることが可能な他プレイヤ情報ウィンドウP3の数を示している。
【0085】
情報表示領域P9には、状況によって種々の情報が表示される。
図6の例では、過去にすれ違ったプレイヤの総数が表示されている。過去にすれ違ったプレイヤの総数は、ゲーム装置1が、他のゲーム装置からのビーコンから当該他のゲーム装置のプレイヤの識別子を取得して、例えば保存用データメモリ34に蓄積することによって、算出することができる。
【0086】
特殊パワーアイコンP10は、特殊パワーを発動させるためにタッチするアイコンである。
【0087】
一言メッセージアイコンP11は、他のプレイヤに一言メッセージを送信するためにタッチするアイコンである。
【0088】
感謝アイコンP12は、他のプレイヤに感謝の気持ちを伝えるためにタッチするアイコンである。
【0089】
戻るアイコンP13は、1つ前の画面に戻るためにタッチするアイコンである。
【0090】
例えば、ナナ(プレイヤ名)のゲーム装置1の下側LCD12に、
図5のような他プレイヤリスト画像が表示されている状態で、ナナのゲーム装置1の周辺領域に、同じくシングルプレイモードでプレイ中のケンのゲーム装置1が進入してくると、ナナのゲーム装置1は、ケンのゲーム装置1からのビーコンを受信することができるようになる(同様に、ケンのゲーム装置1は、ナナのゲーム装置1からのビーコンを受信することができるようになる)。ケンのゲーム装置1からのビーコンにはケンのプレイヤ名や挨拶メッセージ等が含まれているので、ナナのゲーム装置1は、
図6に示すように、下側LCD12に表示されている他プレイヤリスト画像にケンの情報を追加する。ケンの状況アイコン表示領域P3bには、この状況に応じた状況アイコンが表示され、ケンのプレイヤ名表示領域P3cには、ケンの名前と挨拶メッセージが表示される。また、メッセージウィンドウP14が現れて、当該メッセージウィンドウP14に、この状況に応じたメッセージが表示される。なお、
図6の例では、ケンのプレイヤ名表示領域P3cに、ケンの名前と挨拶メッセージを同時に表示しているが、他の実施例では、ケンのプレイヤ名表示領域P3cに、ケンの名前と挨拶メッセージを交互に表示してもよい。
【0091】
図7は、状況アイコン表示領域P3bに表示される状況アイコンと、メッセージウィンドウP14に表示されるメッセージと、それらの表示タイミングの例を示している。なお、メッセージにおいてカギ括弧で示された情報([プレイヤ名]、[モンスター名]、[特殊パワー名]、[プレイ時間]、[一言メッセージ]等)は、ビーコンから取得される情報である。
【0092】
図7に示すとおり、周りの不特定のゲーム装置から送信されるデータに基づいて、ゲーム状況についての種々のメッセージが画面に自動的に表示される。これにより、ゲームプレイ中に、ゲーム装置1の周りの不特定の他のプレイヤのゲーム状況が次々に自動的に画面に表示されて、あたかも、誰かと(しかも不特定の人と)ゲームプレイしているかのような体験を与えることができる。また、後述の通り、ゲーム支援機能を備えるので、周りの不特定のプレイヤのゲーム状況を見てそれを助けることも可能であり、よりいっそう不特定の多数のプレイヤとゲームプレイしているかのような体験を与えることができる。
【0093】
他プレイヤリスト画像に含まれている他プレイヤ情報ウィンドウP3のうち、所定時間以上(例えば、180秒間以上)そのビーコンを受け取ることができないゲーム装置に対応する他プレイヤ情報ウィンドウP3は、
図8に示すように暗く表示され、これによって、その他プレイヤが遠ざかってしまったことをプレイヤに報知する。
【0094】
<プロフィール表示機能>
他プレイヤリスト画像に含まれている他プレイヤ情報ウィンドウP3のいずれかをプレイヤがタッチすると、タッチした他プレイヤ情報ウィンドウP3に対応する他プレイヤのプロフィール等を見ることができる。例えば、ケンの他プレイヤ情報ウィンドウP3をタッチすると、上側LCD22には、
図9に示すようにケンのプロフィールが表示される。また、下側LCD12には、
図10に示すように、ケンがプレイ中のゲームにおいてケンが操作しているプレイヤキャラクタの現在位置を示すマップと、ゲーム状況を示すウィンドウが表示される。なお、ゲーム状況を示すウィンドウ内に表示されている時刻は、ケンのゲーム装置1から最後にビーコンを受信した時刻を示している。すなわち、ゲーム状況を示すウィンドウ内に表示されているゲーム状況は、ケンのゲーム装置1から最後にビーコンを受信した時点のゲーム状況である。
図9や
図10に示す画像を生成するために必要な情報(例えば、ケンのプロフィール、プレイ時間、自己紹介文、感謝された回数、すれ違った人数、ケンのプレイヤキャラクタの現在位置、ケンのゲーム状況)は、ケンのゲーム装置1から送信されたビーコンから取得される。
【0095】
以上のように、シングルプレイモードでゲームをプレイ中のプレイヤは、周辺領域において同じくシングルプレイモードでゲームをプレイ中の他のプレイヤのプロフィールを、リアルタイムで見ることが可能である。
【0096】
<ゲーム支援機能>
図11は、ケン(ケンが操作するプレイヤキャラクタ)が連れている電気ネズミ(モンスター名)の体力が、最大時から半分以下になったときの、ナナのゲーム装置1の下側LCD12に表示される他プレイヤリスト画像を示している。このときナナは、特殊パワーアイコンP10をタッチして、「体力回復パワー」という名前の特殊パワーを使用することによって、ナナが連れているモンスターの体力を回復させるとともに、ケンの電気ネズミの体力も回復させることが可能である。
図12は、ナナが特殊パワーアイコンP10をタッチした直後の、ナナのゲーム装置1の下側LCD12に表示される他プレイヤリスト画像を示している。他プレイヤリスト画像には、確認用のボタン画像P15a、P15bが表示されている。なお、
図13に示すように、ゲーム世界においてプレイヤが使用することができる特殊パワーは複数種類存在し、それらの特殊パワー毎に、効果や有効時間が異なっている。例えば、「体力回復パワー」を使うと、仲間のモンスターの体力が即座に回復する。また、「安売りパワー」を使うと、使ってから3分間だけ、店の商品が半額になる。本実施形態では、使用したい特殊パワーをプレイヤが事前に指定しておくことで、特殊パワーアイコンP10をタッチしたときに当該指定した特殊パワーを即座に使用することができる。
【0097】
図12において、ナナが「はい」のボタン画像P15aをタッチすると、ナナが連れているモンスター(例えば、
図4参照)の体力が回復するとともに、ナナが「体力回復パワー」を使ったことを示す情報が、ナナのゲーム装置1からビーコンを通じて、ナナのゲーム装置1の周辺領域においてシングルプレイモードでゲームをプレイしている他のゲーム装置へと送信される。
【0098】
図14は、ナナのゲーム装置1からのビーコンを受信した直後の、ケンのゲーム装置1の下側LCD12に表示される他プレイヤリスト画像を示している。
図14の他プレイヤリスト画像には、ナナに関する他プレイヤ情報ウィンドウP3が表示されており、その状況アイコン表示領域P3bには、ナナが特殊パワーを使用したことを示す状況アイコンが表示され、メッセージウィンドウP14には、ナナが発動した「体力回復パワー」を使うか否かを問い合わせるメッセージが表示される。
【0099】
図14において、ケンが「はい」のボタン画像P15aをタッチすると、ケンが連れている電気ネズミの体力が回復する。
【0100】
このように、プレイヤは、特殊パワーを使用することによって、周辺でゲームをプレイしている他のプレイヤをサポートすることができる。なお、上記の説明では、プレイヤ自身が特殊パワーを使用した場合に、周辺でゲームをプレイしている他のプレイヤも特殊パワーを使用できるような例を説明したが、プレイヤ自身は特殊パワーを使用せずに、他のプレイヤにだけ特殊パワーを使用できるような支援を行うようにしてもよい。
【0101】
なお、上記のようにプレイヤ同士で互いにサポートし合う代わりに、
図15に示すように、周辺でゲームをプレイしているプレイヤを支援するためのサーバ装置100を、例えば店舗やイベント会場などに設置し、当該サーバ装置100が特殊パワー(例えば「経験値アップパワー」)を発動したことを示すビーコンを、当該サーバ装置100から自動的に所定のタイミングで(例えば、所定の周期で)送信するようにしてもよい。サーバ装置100の周辺領域でゲームをプレイしているプレイヤのゲーム装置1では、サーバ装置100から上記ビーコンを受信すると、サーバ装置100が発動した特殊パワーを使うか否かを問い合わせるメッセージが表示され、特殊パワーを使うことにプレイヤが同意すると、当該特殊パワーの効果が得られる。このようなサーバ装置100を店舗やイベント会場などに設置することにより、高い集客効果が見込める。
【0102】
<コミュニケーション機能>
ナナが「体力回復パワー」を発動してくれたことに対して、ケンがナナに対して感謝の気持ちを伝えたい場合、ケンは、ケンのゲーム装置1の下側LCD12に表示されている感謝アイコンP12をタッチした後に、ナナに関する他プレイヤ情報ウィンドウP3をタッチすることで、ナナに対して感謝の気持ちを伝えることができる。
図16は、ケンが感謝アイコンP12をタッチした直後の、ケンのゲーム装置1の下側LCD12に表示されている他プレイヤリスト画像を示している。情報表示領域P9には、感謝の気持ちを伝えたい相手の選択をプレイヤ(ここではケン)に促すメッセージが表示される。ここで、ケンがナナに関する他プレイヤ情報ウィンドウP3をタッチすると、ナナに感謝している旨を示す情報が、ビーコンを通じてケンのゲーム装置1からナナのゲーム装置1へと送信される。なお、このビーコンは、ブロードキャストされるため、ナナ以外のゲーム装置1でも受信されるが、このビーコンには、ナナに感謝している旨を示す情報が含まれているため、ナナ以外のゲーム装置1は、この情報を無視することができる。
【0103】
図17は、上記ビーコンを受信した直後の、ナナのゲーム装置1の下側LCD12に表示されている他プレイヤリスト画像を示している。ケンに関する他プレイヤ情報ウィンドウP3における状況アイコン表示領域P3bには、ケンから感謝されたことを示す状況アイコンが表示され、ケンのプレイヤ名表示領域P3cには、ケンの名前と感謝メッセージが表示される。また、メッセージウィンドウP14には、ケンから感謝されたことを示すメッセージが表示される。なお、ゲーム装置1の例えば保存用データメモリ34には、「他のプレイヤから感謝された回数」が記憶されており、上記のように他のプレイヤから感謝された場合、記憶されている「他のプレイヤから感謝された回数」の値が更新(インクリメント)される。「他のプレイヤから感謝された回数」は、プレイヤのプロフィールの一部として、ビーコンを通じて他のプレイヤに知らされたり、その値に応じてゲーム展開が変化したりしてもよい。
【0104】
なお、前述したような挨拶メッセージ(
図6参照)や感謝メッセージ(
図17参照)は、プレイヤが予めゲーム装置1に登録しておいた文章が使われるが、このような固定的なメッセージに限らず、文章をその都度自由に編集して他のプレイヤに送信することも可能である。例えば、
図17に示される、ナナのゲーム装置1の下側LCD12に表示される他プレイヤリスト画像において、ナナが一言メッセージアイコンP11にタッチした後、一言メッセージの送信相手としてケンを選択する(すなわち、ケンに関する他プレイヤ情報ウィンドウP3をタッチする)と、ナナのゲーム装置1の下側LCD12には、
図18に示すようなメッセージ入力画像が表示される。当該メッセージ入力画像には、入力中の文章が表示される入力中テキスト表示領域P16と、文字を入力するためのソフトウェアキーボード画像P17と、メッセージの入力を完了してメッセージを送信するための送信ボタン画像P18が含まれている。ナナがメッセージの入力を完了して送信ボタン画像P18をタッチすると、ケンへの一言メッセージを示す情報が、ビーコンを通じてナナのゲーム装置1からケンのゲーム装置1へと送信される。なお、このビーコンは、ブロードキャストされるため、ケン以外のゲーム装置1でも受信されるが、このビーコンには、ケンへの一言メッセージを示す情報が含まれているため、ケン以外のゲーム装置1は、この情報を無視することができる。
【0105】
図19は、上記ビーコンを受信した直後の、ケンのゲーム装置1の下側LCD12に表示されている他プレイヤリスト画像を示している。ナナに関する他プレイヤ情報ウィンドウP3における状況アイコン表示領域P3bには、ナナから一言メッセージを受け取ったことを示す状況アイコンが表示され、ナナのプレイヤ名表示領域P3cには、ナナの名前と一言メッセージが表示される。また、メッセージウィンドウP14には、ナナから一言メッセージを受け取ったことを示すメッセージが表示される。
【0106】
このように、プレイヤは、周辺でゲームをプレイしている他のプレイヤと、必要に応じてリアルタイムにコミュニケーションを行うことができる。
【0107】
<調査ミッション機能>
図20は、
図4の「調査ミッション」ボタン画像P2をタッチしたときに下側LCD12に表示される、調査ミッションのメイン画像の一例である。調査ミッションのメイン画像には、プレイヤの現在の調査員ランクと、3つのボタン画像P20〜P22が表示されている。調査員ランクは、調査員としての熟練度を示すものであって、調査依頼をたくさん受けて、調査結果をたくさん報告するほど、Cランク→Bランク→Aランク→Sランクというように上昇する。ボタン画像P20は、調査依頼を受けたいときにプレイヤがタッチすべきボタン画像である。ボタン画像P21は、調査結果を報告したいときにプレイヤがタッチすべきボタン画像である。ボタン画像P22は、調査の進捗を確認したいときにプレイヤがタッチすべきボタン画像である。
【0108】
図20において、プレイヤがボタン画像P20をタッチすると、
図21に示すように、調査方法の選択画面へと下側LCD12の画像が変化する。本実施形態では、プレイヤは、「時間調査」と「人数調査」の2種類の調査方法から、所望の調査方法を任意に選択することができる。「時間調査」とは、規定時間(調査員ランクが高くなるほど、当該規定時間が長くなる)以上の調査を行う必要がある調査方法である。「人数調査」とは、規定人数(調査員ランクが高くなるほど、当該規定人数が多くなる)以上の調査を行う必要がある調査方法である。前述のように、調査は、現実世界でプレイヤがゲーム装置1を携帯して、駅や店などの人の多い場所へ出向き、当該ゲーム装置1によって、他のプレイヤが携帯しているゲーム装置から発信されるビーコンを受信することによって行われる。したがって、ゲーム装置を携帯している他のプレイヤと接近する機会が多いプレイヤにとっては、「人数調査」を選択することで、より早く調査を完了できる可能性が高いが、ゲーム装置を携帯している他のプレイヤと接近する機会が少ないプレイヤにとっては、「人数調査」では調査が一向に完了しない可能性が高い。そこで、本実施形態では、後者のようなプレイヤであっても大きな不利が生じないように、「人数調査」だけでなく「時間調査」も選択できるようになっており、調査した人数がわずかであっても規定時間さえ経過すれば調査を完了できるようになっている。
【0109】
図21において、プレイヤが「時間調査」のボタン画像P23もしくは「人数調査」のボタン画像P24をタッチすると、
図22に示すように、調査内容の選択画面へと下側LCD12の画像が変化する。調査内容の選択画面には、調査内容を示す複数のボタン画像P25が表示されており、必要に応じてスクロールアイコンP26をタッチすることによって、現時点で依頼を受けることが可能な全ての調査内容を確認することが可能である。プレイヤは、これらの調査内容の中から所望の調査内容を選び、選んだ調査内容に対応するボタン画像P25をタッチすることで、当該調査内容の調査依頼を受けることができる。
【0110】
プレイヤがいずれかの調査内容についての調査依頼を受けると、ゲーム装置1は、その時点から、その調査が完了するまでの間、他のゲーム装置から送信されるビーコンから、その調査内容に関する情報を収集する情報収集処理を継続的に行う。この情報収集処理は、ゲーム装置1がスリープ状態の間も実行されてもよい。収集された情報は、ゲーム装置1の例えば保存用データメモリ34に蓄積される。
【0111】
図20において、プレイヤがボタン画像P21をタッチすると、保存用データメモリ34に保存されているプレイヤの調査結果に基づいて、グラフが表示されたり、調査員ランクが上昇したりする。
【0112】
このように、プレイヤは、ゲーム世界で受けた調査依頼を受けて、あたかも現実世界で自分が実際にアンケート調査をしているかのように情報収集を行うことができる。
【0113】
<マルチプレイモード>
次に、上述したマルチプレイモードでのゲーム処理の概要について更に説明する。このマルチプレイモードでは、近くで遊んでいるプレイヤのゲーム世界に入り込む、あるいは、入り込まれることで、実行中のゲームのゲーム世界に複数のプレイヤキャラクタが同時に存在しているような状態となる。
【0114】
本実施形態では、ゲーム世界において、一部の所定の領域が他のプレイヤのゲーム世界へ入り込むためのポータル的な領域(以下、ポータル領域と呼ぶ)として設定されている。
図23に、当該ポータル領域の概念を示す模式図を示す。
図23では、ゲーム世界の中に、基本的なゲーム進行の舞台となる通常フィールドと上記ポータル領域とが示されている。また、ポータル領域には「橋」がつながっている(なお、当該橋もポータル領域の一部であるものとする)。本実施形態では、この橋の先に他のゲーム装置のゲーム世界がつながっているイメージである。そして、本実施形態では、プレイヤキャラクタにこの橋を通過させることで、他のゲーム装置の世界に侵入させるようなプレイ感覚を与えるものである。
【0115】
他のゲーム装置との接続に際しての動作概要について説明する。本実施形態では、例えば、ゲーム装置AのプレイヤAがゲーム中に、自己の操作するプレイヤキャラクタをこのポータル領域内に移動させ、更に、橋の上に移動させると、ゲーム装置Aの通信可能範囲内に存在する他のゲーム装置を探索する。その結果、例えば、ゲーム装置Bが見つかったとする。この場合、ゲーム装置Aからゲーム装置Bに接続要求をおこない、ゲーム装置Bにおける現在のゲーム状況が通信不可能な状況でなければ、ゲーム装置Aとゲーム装置Bとの間で上記ローカル通信モジュール38を介した接続の確立が行われる。接続が確立すれば、互いの操作キャラクタのゲーム世界内での位置情報等を送受信し、各ゲーム装置においてその内容を反映することで、ゲーム装置Aおよびゲーム装置Bのそれぞれにおいて、プレイヤAの操作キャラクタとプレイヤBの操作キャラクタが存在するような状態となり、上述したマルチプレイモードが実現される。以下、このようなゲーム装置同士を近距離通信を用いて直接的に接続する接続形態のことを「ローカル接続」または「ローカル通信」と呼ぶ。なお、本実施形態では、当該ローカル接続については独自プロトコルを用いるものとする。
【0116】
ここで、本実施形態では、上記ローカル接続の接続確立に際して、プレイヤBの接続承認や接続許可(例えば接続確認メッセージの表示等)は取らずに接続を確立する。すなわち、プレイヤAのゲーム装置から接続要求が来たときに、ゲーム装置BはプレイヤBになんらの入力を求めることなく、ゲーム装置Aと接続する。そのため、プレイヤBにおいては、接続確立のための別途の操作を行うことも不要となる。つまり、ゲーム装置B側において、ゲーム装置Aとの接続を開始するための所定の操作手順が不要となる。このことは、逆にいうと、プレイヤBの観点からすれば、自分の気づかない間に、プレイヤAに自己のゲーム装置Bに接続されて、自分のゲーム世界に侵入されていることになる。すなわち、各プレイヤは、一人でプレイしているときでも、自分の周りでプレイしている不特定のプレイヤと通信ゲームが行われる可能性を常に感じながらプレイすることになる。また、本実施例では、気づかない間に通信ゲームが開始されるため、逆に、常に通信ゲームが行われているかのような感覚を得ることができる。なお、本実施例では、プレイヤAが特定の手順の操作をしたとき(具体的にはポータル領域にプレイヤキャラクタを移動したとき)に他のゲーム装置を探索するようにしたが、プレイヤAがなんら特定の手順の操作をせずとも、ゲームプレイ中に他のゲーム装置を探索して自動的に接続を行っても良い。例えば、ゲームを開始してから所定時間経過すれば、プレイヤの操作に関係なく(プレイヤの許可を求めることなく)、他のゲーム装置を探索して自動的に接続して通信ゲームが開始されるようにしても良い。
【0117】
なお、以下の説明では、上記プレイヤAのような立場を侵入側、プレイヤBのような立場を被侵入側と呼ぶ。また、侵入側の立場においてのローカル接続の確立のための処理を侵入側接続処理と呼び、被侵入側の立場においてのローカル接続確立のための処理を非侵入側接続処理と呼ぶ。
【0118】
次に、上記ローカル接続確立に際してのゲーム画面の一例を示しながら、当該処理に伴う具体的なゲーム画面の遷移を説明する。以下の画面例は、侵入側となる上記プレイヤAにかかるゲーム装置Aでの画面例である。
図24は、プレイヤAが操作するプレイヤキャラクタが上記ポータル領域にある橋の上に移動したところを示す図である。
図24では、上側LCD22にゲーム世界を俯瞰した画面が表示されており、下側LCD12には、メッセージウィンドウを含む各種情報画面が表示される。上側LCD22のゲーム画面には、橋および壁が示されている。当該壁があるため、この状態では、プレイヤキャラクタをこの先(
図24では右方向)に移動させることができない状態である(つまり、他のゲーム装置のゲーム世界にまだ侵入できない状態である)。
【0119】
本実施形態では、当該橋が他のゲーム装置の世界への入り口的な役割を果たしている(以下、入り口領域と呼ぶこともある)。そのため、当該橋にプレイヤキャラクタが乗ると、他のゲーム装置を探索する処理(侵入側接続にかかる処理)が実行される。このとき、メッセージウィンドウには、他のゲーム装置を探索していることを示すメッセージが表示される。当該探索の結果、他のゲーム装置、例えばゲーム装置Bが見つかれば、
図25に示すように、他のゲーム装置が見つかったことを示すメッセージが表示される。このメッセージは、プレイヤBの名前を含む文字列であり、例えば、「プレイヤBのポータル領域が近くにあります」という文字列である。
【0120】
その後、ゲーム装置Aとゲーム装置Bとの間で上記ローカル接続の確立処理が実行される(ゲーム装置Aからすれば、侵入側接続処理が実行され、ゲーム装置B側からすれば、被侵入側接続処理が実行される)。そして、ローカル接続が確立すれば、
図26で示すように、メッセージウィンドウに接続が確立したことを示すメッセージが表示される。更に、上側LCD22のゲーム画面から、上記壁が消去される。これにより、プレイヤキャラクタを、橋の先(
図24では右方向)に進めることが可能となる。ゲーム設定的には、この橋を渡った先に、他のゲーム装置の世界が存在しており、以下に説明するようなマルチプレイが実行されることになる。
【0121】
なお、実際の処理としては、メモリカード等に含まれる本ゲームのマップデータを用いてゲーム装置A上にゲーム画面を表示し、その画面上で、ゲーム装置Bから受信した情報(キャラクタの位置を示す情報等)に基づいて、ゲーム装置Bにおいて操作されているプレイヤBのプレイヤキャラクタ等を表示、動作させ、かつ、プレイヤAの操作するプレイヤキャラクタも表示、動作させることで、あたかもゲーム装置Bのゲーム世界に侵入しているかのような処理を実行している。同様に、ゲーム装置B側においても、ゲーム装置Aから送信されたプレイヤキャラクタの位置情報等に基づき、プレイヤAが操作するプレイヤキャラクタをゲーム装置Bにおいて表示、動作させる処理が実行されることになる。
【0122】
また、
図27に示すように、プレイヤキャラクタを橋の外に移動させれば、他のゲーム装置を探索する処理は中止される。例えば、
図25で示したような画面でメッセージウィンドウに表示された相手との接続を希望しないような場合は、すぐに橋の外に移動すれば、当該相手との接続確立処理を中止することも可能である。
【0123】
ここで、マルチプレイモード時の画面について説明する。侵入側のゲーム装置Aにおいてはゲーム世界がモノクロ画面で表示され、上記のようにプレイヤBが操作するキャラクタも適宜ゲーム画面に表示される。一方、被侵入側のプレイヤBのゲーム装置Bでは、通常通りのゲーム画面が表示され、その中にプレイヤAが操作するプレイヤキャラクタが適宜表示される。
【0124】
そして、本実施形態では、侵入側のプレイヤAに対しては、「侵入ミッション」と呼ばれる課題がゲーム内において与えられ、この侵入ミッションを達成することが侵入側であるプレイヤAの主な目的となる。当該侵入ミッションの例としては、例えば、以下のような内容がある。まず、侵入側のプレイヤAが、被侵入側のプレイヤBから「話しかけられる」ことを目的とする侵入ミッションがある。本実施形態では、プレイヤAの操作キャラクタとプレイヤBの操作キャラクタの正面同士が隣接することで、話しかけることが可能であるとする。この場合、本実施形態では、侵入側のプレイヤAの外見がモンスターに変化する。プレイヤBがこのモンスターに話しかければ、プレイヤAに与えられた侵入ミッションが達成となる。侵入ミッションが達成されれば、ゲーム内において、プレイヤAに所定の特典が与えられる。
【0125】
また、当該侵入ミッションの別の例として、被侵入側であるプレイヤBに話しかけられないようにしながら所定のアイテムをプレイヤBのゲーム世界内に隠すことを目的とする侵入ミッションがある。この場合も、侵入側であるプレイヤAの外見がモンスターに変化し、その状態でプレイヤBのゲーム世界で行動することになる。そして、プレイヤBに話しかけられないようにして、指定された場所に所定のアイテムを隠すことができれば、侵入ミッションが達成となる。このようにして隠されたアイテムは、その後(マルチプレイモードの終了後等)、プレイヤBが取得することが可能である。この際、当該アイテムにプレイヤAからのメッセージを設定しておくことも可能である。
【0126】
また、別の例としては、プレイヤAがプレイヤBに話しかけることを目的とする侵入ミッションがある。その他、プレイヤAがプレイヤBに戦いを挑み、実際に戦うことを目的とした侵入ミッションもある。
【0127】
また、その他の例として、戦闘中のプレイヤBに話しかけることを目的とする侵入ミッションもある。ここで、プレイヤBが戦闘中の場合は、ゲーム装置Bにおいては戦闘モード専用の画面が表示される。一方、ゲーム装置Aにおいては、プレイヤBが操作するキャラクタの近傍に、あるいは当該キャラクタに重ねるようにして、プレイヤBが戦闘中であることを示すアイコンが表示される。侵入側のプレイヤAは、このアイコンが表示されていることによって、被侵入側であるプレイヤBが現在戦闘中であることを知ることが可能である。そのため、この侵入ミッションでは、当該アイコンが表示されている状態のプレイヤBのキャラクタに隣接して話しかければ、侵入ミッション達成となる。なお、ゲーム装置Bにおいては、プレイヤBが話しかけられたタイミングで、ゲーム展開が有利になるような所定の処理(例えば、プレイヤAを示すキャラクタが戦闘モード画面に表示され、ヒットポイントを回復する)が実行される。
【0128】
このように、本実施形態では、ゲーム装置の通信可能範囲内にいるプレイヤ(ローカル接続は近距離通信であるため、必然的に、ある程度近くにいるプレイヤが対象となる)のゲーム装置に対し、そのゲーム装置(被侵入側)の所有者であるプレイヤの承認操作や、接続のための操作等を被侵入側のプレイヤ行わせることなく、半強制的に被侵入側のゲーム装置にローカル通信にかかる接続を行うことが可能となっている。これにより、例えば、被侵入側からすれば、自分が気付かないうちに誰かが侵入してくるかもしれないという期待感をプレイヤに与え、スタンドアロンプレイが前提のゲームにおいて、今までにないプレイ感覚を提供することが可能となる。また、侵入側からすれば、他人に気付かれないように他のプレイヤのゲーム世界に干渉して、他のプレイヤを驚かせる等、スタンドアロンプレイが前提のゲームにおいて、今までにない新しいプレイ感覚を提供することが可能となる。
【0129】
なお、本実施形態においては、上記ローカル接続については、当該通信の確立後、所定時間(例えば3分)で接続が切断されるものとする。換言すれば、上記侵入ミッションについては上記所定時間以内に達成することがプレイヤAに求められることになる。また、所定時間経過前であっても、例えばプレイヤBが移動して、ゲーム装置Bがゲーム装置Aのローカル通信可能範囲外に出たような場合等はローカル接続が切断され、その結果、侵入ミッションが失敗することもある。
【0130】
また、本実施形態においては、上記ローカル接続については自機を含めて同時に最大3台まで接続可能であるとする。以下、上記プレイヤA、Bに加え、更に、プレイヤCが接続する場合の接続形態およびゲーム進行について説明する。一例として、まず、上記のように、プレイヤA(ゲーム装置A)とプレイヤB(ゲーム装置B)とがローカル接続している状態であって、まだプレイヤAによる上記侵入ミッションが開始されていない状態を想定する。このような状態において、プレイヤC(ゲーム装置C)がプレイヤA(ゲーム装置A)と通信可能な範囲内に来たとする。このとき、ゲーム装置Aとゲーム装置Cとの間で、ローカル接続が確立される(ゲーム装置Aから見れば、ゲーム装置Bとのローカル接続と、ゲーム装置Cとのローカル接続が併存している状態となる)。その結果、プレイヤAからすれば、プレイヤBとプレイヤCの世界に侵入可能となる。なお、この状態のとき、プレイヤBおよびCからは、他のゲーム装置への侵入ができないようになっているものとする。例えば、プレイヤBおよびCのプレイヤが、上述したポータル領域に行くことができない、あるいは、上記橋が出現していないように適宜ゲーム処理がなされるものとする。
【0131】
ここで、以下の説明においては、上記のような状況におけるプレイヤA(ゲーム装置A)の立場を親機側と呼び、プレイヤB(ゲーム装置B)、およびプレイヤC(ゲーム装置C)の立場を子機側と呼ぶ。
【0132】
上記のように、ゲーム装置Aとゲーム装置Bとの間でローカル接続が確立されており、更に、ゲーム装置Aとゲーム装置Cとの間でもローカル接続が確立されている状態において、プレイヤAがプレイヤBのゲーム世界に侵入し、上記侵入ミッションを受諾したとする。つまり、侵入ミッションが開始可能な状態になったとする。このとき、プレイヤCに対して、プレイヤAがプレイヤBのゲーム世界において侵入ミッションを開始する旨の通知がなされる。更に、このミッションに参加するか否かの問い合わせもなされる。
プレイヤCがこの侵入ミッションに参加することを選択すれば、ゲーム装置Cのゲーム画面において、プレイヤCが操作するキャラクタがプレイヤBの世界にワープするような演出が表示される。そしてゲーム装置Cにおけるゲーム画面としては、プレイヤBの世界に侵入したような画面が表示され、プレイヤAの操作するキャラクタと共に自分の操作するキャラクタが表示された状態となる(場合によっては、プレイヤBの操作するキャラクタも表示される)。なお、この時点では、プレイヤBは、プレイヤAとプレイヤCに侵入されていることに気付かない。
【0133】
その後、プレイヤAおよびプレイヤCによる侵入ミッションが開始される。この場合は、いずれか一方が侵入ミッションを達成すれば、他方は侵入ミッション失敗として扱われる。なお、以下では、このような複数プレイヤで行われる侵入ミッションを多人数侵入ミッションと呼ぶこともある。また、プレイヤAのみで行われる侵入ミッションについては単独侵入ミッションと呼ぶこともある。
【0134】
ここで、このような多人数侵入ミッションが行われる場合、ゲーム装置Bとゲーム装置Cとの間の通信については、ゲーム装置Aを経由して各種データの送受信が行われる。つまり、この場合は、ゲーム装置Aが中継機的な役目も果たすことになる。例えばゲーム装置Cを用いてプレイヤCが行った操作内容を示す操作データは、まずゲーム装置Aに送られ、ゲーム装置Aから(プレイヤAの操作内容を示す操作データが更に付加されて)、ゲーム装置Bに送られ、これがゲーム装置B上で適宜処理されることになる。また、この場合、いずれか1つの通信が切断されると(例えばプレイヤA−B間の通信が切断)、他の通信も切断される(プレイヤA−C間の通信も切断)。
【0135】
次に、ゲーム装置1によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際にメインメモリ32に記憶されるデータについて説明する。
図28は、ゲーム装置1のメインメモリ32のメモリマップを示す図である。
図28において、メインメモリ32は、プログラム記憶領域301およびデータ記憶領域306を含む。プログラム記憶領域301およびデータ記憶領域306のデータは、メモリカード28に記憶され、ゲームプログラム実行時にはメインメモリ32に転送されて記憶される。
【0136】
プログラム記憶領域301は、CPU31によって実行される各種ゲームプログラムを記憶し、このゲームプログラムは、メイン処理プログラム302と、シングルプレイ処理プログラム303と、マルチプレイ処理プログラム304と、接続関連処理プログラム305などによって構成される。
【0137】
メイン処理プログラム302は、後述する
図33のフローチャートの処理に対応するプログラムである。シングルプレイ処理プログラム303は、上述したシングルプレイモードでの処理をCPU31に実行させるためのプログラムであり、マルチプレイ処理プログラム304は、上記マルチプレイモードでの処理をCPU31に実行させるためのプログラムである。また、接続関連処理プログラム305は、上記他のゲーム装置とのローカル通信に関する処理等、本実施形態で行われる通信関連の処理を実行するためのプログラムである。
【0138】
データ記憶領域306には、ビーコンデータ307、操作データ308、シングルプレイ処理用データ309、マルチプレイ処理用データ310、キャラクタデータ311、マップデータ312などのデータが記憶される。
【0139】
図29は、ビーコンデータ307の詳細を示す図である。ビーコンデータ307は、ゲーム(ゲームプログラム)の種類に関わらず共通に送信される共通送信データと、ゲームの種類に応じて異なる個別送信データとを含む。本実施形態では、
図29に示すような共通送信データと個別送信データが、ビーコンとしてブロードキャストされる。
【0140】
ここで、後述するマルチプレイモードの処理に関連して用いられる共通送信データの内容について特に説明する。まず、「ゲームサービスID」には、当該ビーコンの内容が、どのようなゲーム処理で用いられるか(使用目的)を示す値が設定される。本実施形態の例では、上記「シングルプレイモード」の処理で用いられる内容であるか「マルチプレイモード」の処理で用いられる内容であるかを示す値が設定される。なお、後述の「ビーコンの種類」という項目で、ビーコンの内容を示す内容を更に細分化した値が設定される。つまり、「ゲームサービスID」は当該ビーコンの使用目的の大分類にあたり、「ビーコンの種類」は当該ビーコンの使用目的の小分類という位置づけとなる。
【0141】
「現在の参加人数」は、ローカル通信を用いて多人数プレイを行っている場合の、現在の参加人数を示すデータである。本実施形態では、主に、上記「マルチプレイモード」における参加人数を示す。例えば、プレイヤAがプレイヤBの世界に侵入している場合は「2人」であり、更に上述したようにプレイヤCが侵入ミッションに参加した場合は「3人」となる。
【0142】
「最大人数」は、上記多人数プレイにおいて参加可能な人数の最大値を示すデータである。本実施形態では、上記「マルチプレイモード」では同時接続可能台数は3台である。そのため、「最大人数」は「3人」となる。
【0143】
「エラー状況」は、通信エラーが発生した場合等に、そのエラー内容を示すデータである。
【0144】
「ビーコンの種類」は、上述のように、「ゲームサービスID」で大きく分類される当該ビーコンの使用目的を更に細分化して示すデータである。例えば、上記「ゲームサービスID」が「マルチプレイモード」の処理で用いられることを示している場合は、当該「ビーコンの種類」としては、「他のゲーム機との接続の希望」「接続確立要求」「接続切断要求」「ゲーム内容に関する通知用データ」「(他のゲーム機あるいは自ゲーム機における)操作データ」等を示すデータが適宜設定される。
【0145】
「ゲーム装置種別」は、ビーコンの発信元のゲーム装置の種別を示すデータであり、例えば、上述したような「親機側」「子機側」であるかを示すデータ等が設定される。
【0146】
図28に戻り、操作データ308は、プレイヤがゲーム装置1に対して行った操作内容を示すデータである。操作データ308には、タッチパネル13で検出されたタッチ座標を示すタッチ座標データや、各種操作ボタン14の押下状態を示す操作ボタンデータが含まれる。
【0147】
図30は、シングルプレイ処理用データ309の詳細を示す図である。シングルプレイ処理用データ309には、プレイヤデータ、すれ違いログデータ、表示アイコンデータ、表示メッセージデータ、調査結果データ等が含まれる。
【0148】
プレイヤデータの「プレイヤ名」、「性別」、「自己紹介文」、「挨拶メッセージ」、「感謝メッセージ」、「趣味」、「一番好きなスポーツ」等は、ゲームの開始の初期段階、あるいはゲームがある程度進行して所定の条件を満たしたとき(例えば、ゲーム世界の特定のノンプレイヤキャラクタに話しかけたとき)に、プレイヤがタッチパネル13等を通じて入力するようにしてもよい。
【0149】
すれ違いログデータは、
図5に示すような他プレイヤリスト画像を表示するためのデータであって、他のゲーム装置1からのビーコンから取得した他のプレイヤに関する情報を蓄積したデータである。
図31は、すれ違いログデータの詳細を示している。すれ違いログデータには、最大30人のプレイヤの情報が含まれている。新たなプレイヤの情報を入手した場合には、一番古いプレイヤの情報が削除されて、新たなプレイヤの情報がすれ違いログデータに追加される。「プレイヤID」は、プレイヤを識別するための識別子である。「プロフィール情報」は、
図9に示すような画像を生成するために必要な情報である。「最新のゲーム状況」および「最後にビーコンを受信した時刻」は、
図10に示すような画像を生成するために必要な情報である。
【0150】
表示アイコンデータおよび表示メッセージデータは、
図7に示すようなアイコンおよびメッセージに対応するデータである。
【0151】
調査結果データは、
図21に示す時間調査や人数調査によって収集したデータ(すなわち、他のゲーム装置1からのビーコンから取得した、他のプレイヤの嗜好等に関するデータ)を蓄積したものである。
【0152】
図28に戻り、マルチプレイ処理用データ310は、上述したマルチプレイモードにかかる処理で用いられるデータである。
図32は、マルチプレイ処理用データ310のデータ構造の一例を示した図である。マルチプレイ処理用データ310は、マルチプレイ用受信データ351、ローカル通信フラグ352、侵入中フラグ353、接続確立処理中フラグ354等から構成される。
【0153】
マルチプレイ用受信データ351は、マルチプレイモード時において、他のゲーム装置から受信したデータを記憶したデータである。
【0154】
ローカル通信フラグ352は、ゲーム装置1が後述するようなローカル通信を行っているか否かを示すフラグである。本実施形態では、ローカル通信が行われているということは、すなわち、上記マルチプレイモードであることを示す。当該フラグがオンに設定されていれば、ローカル通信が行われていることを示し、オフに設定されているときは、ローカル通信が行われていないことを示す。
【0155】
侵入中フラグ353は、自側が現在、他のプレイヤのゲーム世界に侵入している状態か否かを示すためのフラグであり、オンに設定されていれば、他のプレイヤのゲーム世界に侵入している状態であることを示す。
【0156】
接続確立処理中フラグ354は、接続を確立するための処理が現在行われている最中であるか否かを示すフラグである。つまり、接続要求が発行されてから、実際にローカル通信接続が確立する前の状態であるか否かを判定するためのフラグである。
【0157】
図28に戻り、キャラクタデータ311は、本実施形態にかかるゲーム処理で用いられる各種キャラクタのデータである。マップデータ312は、本実施形態にかかるゲームのゲーム世界を構築するためのデータである。
【0158】
その他、音声データ等、ゲーム処理に必要なデータもメインメモリ32に記憶される。
【0159】
次に、ゲーム装置1において実行されるゲーム処理の流れを
図33〜
図40を用いて説明する。
図33は、ゲーム装置1において実行されるゲーム処理の流れを示すフローチャートである。
【0160】
まず、ステップS1で、CPU31は、以降の処理において用いられるデータの初期化処理を実行する。更に、CPU31は、ゲーム世界を構築し、当該ゲーム世界を表すゲーム画像が生成され、上側LCD22、下側LCD12に適宜表示される。以降、ステップS2〜S10の処理ループが所定周期毎(例えば、フレームの描画間隔である1/30秒や1/60秒)に繰り返されることによって、ゲームが進行していく。
【0161】
次に、ステップS2で、CPU31は、メインメモリ32に記憶されている操作データ308を読み出す。
【0162】
次に、ステップS3で、CPU31は、現在のゲーム処理のモードがマルチプレイモードであるか否かを判定する。これは、上記ローカル通信フラグ352がオンであるか否かで判定する。ローカル通信フラグ352がオンであれば、CPU31は、現在、マルチプレイモードであると判定する。当該判定の結果、現在、マルチプレイモードであるときは(ステップS3でYES)、ステップS7で、CPU31は、マルチプレイ処理を実行する。一方、現在マルチプレイモードではないときは(ステップS3でYES)、ステップS4で、CPU31は、シングルプレイ処理を実行する。
【0163】
図34は、ステップS4で示したシングルプレイ処理の詳細を示すフローチャートである。まず、ステップS201において、CPU31は、操作ボタン14およびタッチパネル13からの信号に基づく操作データを取得し、当該操作データに基づいてゲーム制御処理を行う。ゲーム制御処理としては、例えば、操作ボタン14に対する操作に応じてプレイヤキャラクタを移動させたり、プレイヤキャラクタが連れているモンスターを野生のモンスターと戦闘させたりなどである。
【0164】
ステップS203において、CPU31は、上記のゲーム制御処理の結果に応じて、図示しないフレームバッファに格納されている、上側LCD22に表示すべきゲーム画像(以下、上画像と称す)を更新する。
【0165】
ステップS205において、CPU31は、操作データに基づいて、図示しないフレームバッファに格納されている、下側LCD12に表示すべき画像(以下、下画像と称す)を更新する。これは、例えば
図4に示す下画像から
図5に示す下画像への変化である。
【0166】
ステップS207において、CPU31は、特定のイベントが発生したかどうかを判断し、特定のイベントが発生したときには処理はステップS211に進み、そうでない場合には処理はステップS209に進む。特定のイベントとは、周辺でゲームをプレイしている他のプレイヤに対して通知すべきイベントであって、例えば、以下のようなイベントが含まれる。
・野生のモンスターとの戦闘を開始した
・野生のモンスターとの戦闘に勝利した
・野生のモンスターを捕まえた
・仲間のモンスターのレベルが上がった
・プレイヤが特殊パワーを発動した
・プレイ時間が規定時間(10時間、30時間、50時間、100時間)を越えた
・プレイヤが感謝メッセージの送信を指示した
・仲間のモンスターの体力が最大時から半分以下になった
・プレイヤが一言メッセージの送信を指示した
【0167】
ステップS209において、CPU31は、基本的なビーコンデータを生成する。基本的なビーコンデータとは、シングルプレイモードの間、ビーコンを通じて常時出力されるデータであって、例えば、プレイヤIDや、プレイヤ名や、挨拶メッセージ等の情報を含む。
【0168】
ステップS211において、CPU31は、発生したイベントに応じたビーコンデータを生成する。例えば、発生したイベントが、「野生のモンスターとの戦闘を開始した」であれば、当該イベントの識別子や、当該野生のモンスターの名前等を付加したビーコンデータを生成する。
【0169】
なお、本実施形態では、発生したイベントの種類に応じて、当該イベントに応じたビーコンデータが、当該イベントの種類に応じて予め設定された送信時間(送信寿命)の間、繰り返し送信される。例えば、発生したイベントが「野生のモンスターとの戦闘を開始した」であれば、当該イベントが発生してから10秒間、当該イベントに応じたビーコンデータが繰り返し送信され、発生したイベントが「プレイヤが特殊パワーを発動した」であれば、当該イベントが発生してから20秒間、当該イベントに応じたビーコンデータが繰り返し送信される。このように、或るイベントの発生を通知するためのビーコンが複数回送信されるので、他のゲーム装置が当該ビーコンの受信に失敗する可能性が減り、或るゲーム装置で発生したイベントを他のゲーム装置のプレイヤに、より確実に通知することができる。
【0170】
なお、各イベントの発生に応じて所定時間繰り返し送信される一連のビーコンデータには、共通の識別情報(
図19における「送信番号」)が含まれている。当該送信番号は、他のプレイヤに対して通知すべき新たなイベントが発生する度にインクリメントされる。これにより、各ゲーム装置は、他のゲーム装置から受信した複数のビーコン信号が、同一のイベントの発生を通知する一連のビーコンデータの一部であるのか、異なる時刻に発生した複数のイベントの発生をそれぞれ通知するものであるのかを判別することができる。よって、同一のイベント(例えば「仲間のモンスターのレベルが上がった」というイベント)の発生を通知する一連のビーコンを受信したときに、そのイベントが複数回発生したかのようにメッセージウィンドウP14を複数回表示してしまうことを回避することができる。このような処理(ビーコン破棄処理)については、
図44に示すフローチャートを参照して、後ほど詳しく説明する。
【0171】
また、本実施形態では、イベントの種類毎に予め優先度が設定されており、例えば、「野生のモンスターとの戦闘を開始した」というイベントの優先度は「低」であり、「プレイヤが特殊パワーを発動した」というイベントの優先度は「高」である。そして、或るイベントに対応するビーコンデータを所定時間繰り返し送信している間に、優先度が同じイベントまたは優先度がより高いイベントが発生した場合には、その時点で前者のイベントに対応するビーコンデータの送信が中止され、後者のイベントに対応するビーコンデータが優先的に送信される。逆に、或るイベントに対応するビーコンデータを所定時間繰り返し送信している間に、優先度がより低いイベントが発生した場合には、前者のイベントに対応するビーコンデータが引き続き優先的に送信される。これにより、他のプレイヤにとって、より重要度の高い(または、より興味深い)情報が、優先的に他のプレイヤに通知されることになる。
【0172】
ステップS213において、CPU31は、他のゲーム装置からビーコンを受信したかどうかを判断し、ビーコンを受信した場合には処理はステップS215に進み、そうでない場合にはシングルプレイ処理を終了する。
【0173】
ステップS215において、CPU31は、受信したビーコンに含まれているビーコンデータに基づいて、すれ違いログデータおよび調査結果データ(
図30参照)を更新する。
【0174】
ステップS217において、CPU31は、下側LCD12に他プレイヤリスト画像を表示中かどうかを判断し、他プレイヤリスト画像を表示中である場合には処理はステップS219に進み、そうでない場合にはシングルプレイ処理を終了する。
【0175】
ステップS219において、CPU31は、ステップS215で更新されたすれ違いログデータに基づいて、下側LCD12に表示されている他プレイヤリスト画像を更新する。これは、例えば
図5に示す下画像から
図6に示す下画像への変化である。ステップS219の処理が完了すると、シングルプレイ処理を終了する。
【0176】
図33に戻り、ステップS4の処理の次に、ステップS5で、CPU31は、親機側接続処理を実行する。当該処理は、自機が親機側(侵入側)となる場合の処理である。上記の例で言えば、ゲーム装置Aの立場となる場合に主に実行される処理である。すなわち、上記
図24で示したようにプレイヤキャラクタが橋(入り口領域)に来たときに実行される処理であり、他のゲーム装置とのローカル接続を試みるための処理が実行される。
【0177】
図35〜
図36は、上記ステップS5で示した親機側接続処理の詳細を示すフローチャートである。
図35において、まず、ステップS602で、CPU31は、次に、ポータル領域内にプレイヤキャラクタが存在しているか否かを判定する。その結果、ポータル領域内にプレイヤキャラクタが存在していないと判定したときは(ステップS602でNO)、CPU31は当該親機側接続処理を終了する。
【0178】
一方、ポータル領域内にプレイヤキャラクタが存在すると判定したときは(ステップS602でYES)、次に、CPU31は、ステップS603で、入り口領域内(上記
図24では橋)にプレイヤキャラクタが存在しているか否かを判定する。その結果、存在していないと判定したときは(ステップS603でNO)、CPU31は当該親機側接続処理を終了する。
【0179】
一方、入り口領域内にプレイヤキャラクタが存在すると判定したときは(ステップS603でYES)、次に、CPU31は、ステップS604で、ビーコンデータ307の内容を上記
図29で示したようなビーコン内容から、他のゲーム装置からの接続を希望する旨を示す情報を含むビーコン内容(図示は省略)に変更する。以下、当該変更後のビーコンのことを、接続希望ビーコンと呼ぶ。このように変更された接続希望ビーコンは、後述するステップS6のビーコン出力処理においてブロードキャスト送信されることになる。当該接続希望ビーコンの具体的内容としては、上記
図31で示した共通送信データについて、以下のようなデータが設定されたものである。まず、「ゲームサービスID」に「マルチプレイで用いるデータであること」を示す旨の値が設定される。また、「ビーコンの種類」に「他ゲーム装置への侵入」を示す旨の値が設定される。その他、図示は省略するが、自機を特定するための情報(アドレス情報)等、ローカル接続確立に際して必要な情報も含まれている。当該接続希望ビーコンを受信したゲーム装置1では、自機が所定の条件(接続可能な条件)を満たしていれば、ローカル接続を確立するための接続要求信号を返すことになる(後述する子機側接続処理)。
【0180】
次に、ステップS606で、CPU31は、上述したような当該接続希望ビーコンに対する返答となる、ローカル接続のための接続要求信号を所定時間内に検出したか否かを判定する。その結果、所定時間内に他のゲーム装置1からの接続要求信号を検出しなかったときは(ステップS606でNO)、CPU31は当該侵入側接続処理を終了する。このとき、メッセージウィンドウに、自機の近くに接続可能な他のゲーム装置がないこと等を示すメッセージを表示しても良い。
【0181】
一方、ステップS606の判定の結果、接続要求信号を所定時間内に検出したときは(ステップS606でYES)、ステップS607で、CPU31は、近くに他のゲーム装置が存在することを示すメッセージを表示する。続くステップS608で、CPU31は、ローカル接続確立のための処理を開始する。次に、ステップS609で、CPU31は、所定時間内にローカル接続が確立できたか否かを判定する。その結果、所定時間内にローカル接続が確立できなかったときは(ステップS609でNO)、CPU31は当該侵入側接続処理を終了する。このとき、接続できなかった旨を示すメッセージをメッセージウィンドウに表示してもよい。
【0182】
一方、所定時間内にローカル接続が確立できたときは(ステップS609でYES)、次に、ステップS610で、CPU31は、接続が確立したことを示すメッセージをメッセージウィンドウに表示する。更に、ステップS611で、CPU31は、ローカル通信フラグ352をオンに設定する。このようにしてローカル接続が確立した後は、ゲーム装置1間で、各プレイヤが操作するキャラクタのゲーム世界内での位置情報や、各キャラクタの状況(戦闘中であるか否か等)を示す情報が適宜送受信されることになる。次に、ステップS612で、CPU31は、侵入中フラグ353にオンを設定する。以上で、親機側接続処理は終了する。
【0183】
図33に戻り、ステップS5の処理の次に、ステップS6で、CPU31は、ビーコン出力処理を実行する。当該処理は、ステップS4で生成、またはステップS5で変更したビーコンデータ307に基づいて、当該ビーコンデータ307を含むビーコンを、ローカル通信モジュールを通じて出力する処理である。
【0184】
次に、上記ステップS7にかかるマルチプレイ処理について説明する。
図37は、上記ステップS7で示したマルチプレイ処理の詳細を示すフローチャートである。この処理では、主に、ローカル接続が確立した他のゲーム装置から送信されてくる、各キャラクタの位置情報や各キャラクタの状況を示すデータに基づいて、他のプレイヤが操作するキャラクタの動作等を自機において反映する処理等が実行される。
【0185】
図37において、まず、ステップS651で、CPU31は、他のゲーム装置から送信されたデータを受信し、マルチプレイ用受信データ351に記憶する。このデータは、上記のように、他のゲーム装置において他のプレイヤが操作したプレイヤキャラクタ等の位置情報や各キャラクタの状況を示すデータである。
【0186】
次に、ステップS652において、CPU31は、参加通知受信処理を実行する。この処理は、上述したような、ゲーム装置A,B,Cの3台がローカル接続された状態でのマルチプレイモードにおけるゲーム装置Cの立場であって、ゲーム装置Aからミッション参加の通知を受けるときの処理である。
【0187】
図42は、上記ステップS652で示した参加通知受信処理の詳細を示すフローチャートである。
図42において、まず、ステップS701において、CPU31は、直近に受信したビーコンを参照し、親機側(上記例ではゲーム装置A)から送信されたミッション開始通知(後述)を受信したか否かを判定する。その結果、ミッション開始通知を受信していないときは(ステップS701でNO)、当該参加通知受信処理は終了する。
【0188】
一方、ミッション開始通知を受信したときは(ステップS701でYES)、CPU31は、ステップS702において、親機側で侵入ミッションが開始される旨のメッセージと、当該侵入ミッションに参加するか否かを問い合わせるメッセージを画面に表示する。
次に、ステップS703において、CPU31は、上記問い合わせに対するプレイヤの回答が、侵入ミッションに参加する旨の回答であるか否かを判定する。その結果、参加する旨の回答であれば(ステップS703でYES)、ステップS704において、CPU31は、親機(ここではゲーム装置A)に対して、侵入ミッションに参加する旨の通知を送信する。次に、ステップS706において、CPU31は、親機側と適宜通信を行うことで、侵入ミッションの準備処理を行う。例えば、プレイヤBのゲーム世界にワープする演出等の処理が実行されると共に、ゲーム装置Aとの間で同期を取る処理等も行われ、プレイヤAとの多人数での侵入ミッションを開始する準備が整えられる。また、このとき、CPU31は、侵入中フラグ353をオンに設定する。ゲーム装置Cからゲーム装置Bのゲーム世界に侵入することになるためである。
【0189】
続いて、ステップS707において、CPU31は、侵入ミッションを開始する。以降は、親機側(ゲーム装置A)と適宜操作データの送受信を行うことで、侵入ミッションに関する処理が適宜処理されることになる。
【0190】
一方、上記ステップS703の判定の結果、不参加である旨の回答のときは(ステップS703でNO)、ステップS705において、CPU31は、侵入ミッションに不参加の旨の通知を親機に送信する。以上で、当該参加通知受信処理は終了する。
【0191】
図37に戻り、次に、ステップS653において、CPU31は、上記マルチプレイ用受信データ351、および、自機における操作データ308に基づいて、各種キャラクタの移動や戦闘処理等、マルチプレイモードにおける各種ゲーム処理(親機側や侵入ミッションに参加している子機側であれば、侵入ミッションにかかる処理等、侵入されている子機側では、他のゲーム装置から送信された操作データを反映する処理等)を適宜実行する。また、このゲーム処理において、プレイヤの操作に基づいて動作したプレイヤキャラクタの位置情報やその状況を示すデータがローカル通信を用いて他のゲーム装置に適宜送信される。
【0192】
次に、ステップS654において、CPU31は、開始通知発信処理を実行する。この処理は、上述したような、ゲーム装置A,B,Cの3台がローカル接続された状態でのマルチプレイモードにおけるゲーム装置Aの立場であって、ゲーム装置Aからゲーム装置Cに対して侵入ミッション開始を通知し、参加するか否かを問い合わせるための処理である。
【0193】
図43は、上記ステップS654で示した開始通知発信処理の詳細を示すフローチャートである。まず、ステップS721において、CPU31は、侵入ミッション開始のための条件が満たされたか否かを判定する。例えば、プレイヤが所定のキャラクタに接触し、侵入ミッションを受諾したか否かが判定される。当該判定の結果、侵入ミッション開始の条件が満たされていないときは(ステップS721でNO)、当該開始通知発信処理は終了する。一方、侵入ミッション開始の条件が満たされたときは(ステップS721でYES)、次に、ステップS722において、CPU31は、複数の子機との間でローカル通信の接続が確立しているか否かを判定する。上記例でいうと、ゲーム装置Aにおいて、ゲーム装置Bだけでなくゲーム装置Cとの間でもローカル通信が確立しているか否かを判定する。その結果、複数の子機とローカル接続が確立しているときは(ステップS722でYES)、ステップS723において、CPU31は、侵入先以外の子機(上記の例では、ゲーム装置C)に対して、侵入ミッションの開始通知を送信する(この通知が、上記ステップS701の判定対象となる)。
【0194】
次に、ステップS724において、CPU31は、上記侵入ミッション開始通知の送信後、所定時間以内に、送信先(本実施例ではゲーム装置C)から侵入ミッションに参加する旨の通知を受信したか否かを判定する。その結果、参加する旨の通知(上記ステップS704にて送信される)を所定時間内に受信したときは(ステップS724でYES)、ステップS725において、CPU31は、参加を希望した子機と適宜通信を行いながら、多人数での侵入ミッションの準備処理を実行する。例えば、「子機の準備が整うまでしばらくお待ちください」等のメッセージを表示する処理が実行されたり、子機との同期をとる処理等が行われる。
【0195】
一方、上記ステップS724の判定の結果、参加する旨の通知を所定時間内に受信しなかったとき、あるいは、所定時間内であっても、上記ステップS705で送信された不参加の旨の通知を受信したときは(ステップS724でNO)、ステップS726において、CPU31は、親機のプレイヤ単独での侵入ミッションの準備処理を実行する。
【0196】
上記ステップS725またはS726の処理で侵入ミッションの準備が整えば、ステップS727において、CPU31は、多人数あるいは単独での侵入ミッションを開始する処理を実行する。以上で、開始通知発信処理は終了する。
【0197】
図37に戻り、次に、ステップS655で、CPU31は、ゲーム進行にかかる所定の条件が満たされたか否かを判定する。具体的には、CPU31は、上述したような侵入ミッションの達成条件を満たしたか否かを判定する(親機側、侵入ミッションに参加した子機側の場合)。その結果、所定の条件を満たした(つまり、侵入ミッションを達成した)ときは(ステップS655でYES)、ステップS656で、CPUは、上記所定の条件に応じたゲーム処理を実行する。具体的には、侵入ミッション達成の成功報酬としての特典をプレイヤキャラクタに付与する処理を実行する。例えば、所定のアイテムをプレイヤキャラクタの所持品として加える等の処理を実行する。一方、所定の条件が満たされていないときは(ステップS655でNO)、まだ侵入ミッションの遂行中である等と考えられるため、CPU31は、上記ステップS656の処理はスキップする。
【0198】
次に、ステップS657で、CPU31は、自発切断判定処理を実行する。この処理は、侵入側のゲーム装置(この例ではゲーム装置AやC)のほうから自発的にローカル通信を切断するための処理である、本実施形態では、例えば、プレイヤがゲーム世界内の所定の領域(出口領域、ゲーム内では、例えばワープポイントとして表現される)に来たときに、自分のゲーム世界に帰還するか否かをプレイヤに問い合わせたうえで、ローカル通信を切断する処理を実行する。また、ローカル通信の開始から3分経過したときも、ローカル通信を切断する処理を実行する。
【0199】
図38は、上記ステップS657で示した自発切断判定処理の詳細を示すフローチャートである。
図38において、まず、ステップS671で、CPU31は、プレイヤキャラクタが上記出口領域に存在しているか否かを判定する。その結果、プレイヤキャラクタが上記出口領域に存在していないときは(ステップS671でNO)、ステップS680で、CPU31は、ローカル通信開始から3分が経過したか否か、あるいは、上記ステップS653で示したような所定の条件を満たしたか否か(ミッションを達成したか否か)を判定する。その結果、いずれの条件とも満たしていない(3分経過しておらず、ミッションもまだ達成していない)ときは(ステップS680でNO)、CPU31は、自発切断判定処理を終了する。一方、3分経過したとき、あるいは、所定の条件を達成したときは(ステップS680でYES)、CPU31は、後述するステップS674に処理を進めて、ローカル通信の切断のための処理を実行する。
【0200】
一方、上記ステップS671の判定の結果、出口領域にプレイヤキャラクタが存在しているときは(ステップS671でYES)、ステップS672で、CPU31は、ローカル通信切断に際しての確認メッセージを表示し、その返答入力を待つ。このメッセージは、例えば、現在侵入している他のゲーム装置1から自分のゲーム世界に帰還するか否かを問い合わせるような内容である。
【0201】
次に、ステップS673で、CPU31は、上記メッセージに対する返答内容が、ローカル通信の切断を指示する内容、例えば、「自分のゲーム世界に帰還する」ことが選択されたか否かを判定する。その結果、「自分の世界に帰還する」ことが選択されていないときは(ステップS673でNO)、CPU31は、自発切断判定処理を終了する。一方、「自分の世界に帰還する」ことが選択されたときは(ステップS673でYES)、CPU31は、ステップS674で、通信を切断することを示す旨のメッセージを表示する。次に、ステップS675で、CPU31は、ローカル通信を切断するための処理を実行する。続くステップS676で、CPU31は、ローカル通信フラグ352をオフに設定する。次に、ステップS677で、CPU31は、侵入中フラグ353をオフに設定する。更に、ステップS678で、CPU31は、プレイヤキャラクタをゲーム世界内の所定の位置(例えば、他のゲーム世界に侵入する前にプレイヤキャラクタがいた位置)に移動させる。
【0202】
次に、ステップS679で、CPU31は、通信切断状況に応じた所定のメッセージを表示する。これは、上記出口領域から帰還することで切断された場合と、ローカル通信開始から3分経過したことによって切断した場合とで、異なるメッセージを表示させるための処理である。例えば、出口領域からの帰還によってローカル通信が切断された場合は、「帰還しました」というメッセージを表示し、3分経過したことによって通信を切断した場合は、「時間切れでミッションに失敗しました」のようなメッセージを表示し、侵入ミッションを達成することで通信を切断した場合は、「ミッションをクリアしました」というメッセージを表示する。以上で、自発切断判定処理は終了する。
【0203】
図37に戻り、ステップS657の処理の次に、CPU31は、ステップS658で、強制切断判定処理を実行する。この処理は、他のゲーム装置から通信を切断された場合のような、プレイヤの意図しないところで通信が切断された場合を想定した処理である。
【0204】
図39は、上記ステップS658で示した強制切断判定処理の詳細を示すフローチャートである。
図39において、まず、ステップS691で、CPU31は、通信切断が発生したか否かを判定する。具体的には、自分が親機側であるときは、子機側であるいずれかの他のゲーム装置からローカル通信を切断されたか否かを判定する。また、自分が子機側であるときは、自機に接続している親機側のゲーム装置がローカル通信を切断したか否かを判定する。当該判定の結果、ローカル通信の切断が発生していないときは(ステップS691でNO)、CPU31は、強制切断判定処理を終了する。一方、通信切断が発生したときは(ステップS691でYES)、次に、ステップS692で、CPU31は、プレイヤキャラクタをゲーム世界内の所定の位置に移動させる。この処理は、上記ステップS677と同様の処理である。
【0205】
次に、ステップS693で、CPU31は、ローカル通信フラグ352をオフに設定する。更に、ステップS694で、CPU31は、侵入中フラグ353をオフに設定する。そして、ステップS695で、CPU31は、切断状況に応じた所定のメッセージを表示する。例えば、自分が他のゲーム装置に侵入する側の場合は(上記例で言うと、ゲーム装置A、ゲーム装置Cの立場の場合)、「他のゲーム装置から切断されました」等のメッセージを表示する。なお、自分が他のゲーム装置から侵入される側である場合は、他のゲーム装置から通信が切断されても、切断に関するメッセージは表示しない。被侵入側については、誰かに侵入されたことを気付かせないようにするためである。以上で、強制切断判定処理は終了する。
【0206】
図37に戻り、ステップS658の処理が終われば、マルチプレイ処理も終了する。
【0207】
図33に戻り、ステップS6、またはS7の処理の次に、ステップS8で、CPU31は、子機側接続処理を実行する。この処理は、自機が子機側となる場合の処理である。上記の例で言えば、ゲーム装置B、またはゲーム装置Cの立場となる場合に主に実行される処理である。当該処理では、上記接続希望ビーコンを検出し、且つ、自機のゲーム進行状況が他のゲーム装置との接続が可能な状況のときは、他のゲーム装置とのローカル接続を要求し、その接続を確立するための処理が実行される。
【0208】
図40〜
図41は、上記ステップS8で示した子機側接続処理の詳細を示すフローチャートである。
図40において、まず、ステップS631で、CPU31は、侵入中フラグ353がオンか否かを判定する。その結果、侵入中フラグ353がオンのときは(ステップS631でYES)、CPU31は、当該子機側接続処理を終了する。つまり、既に自分が他のゲーム世界に侵入している状態(親機側となっている状態)であれば、他のプレイヤからの侵入を受け付けないことになる。つまり、自分が子機側となるような接続は受け付けないことになる。
【0209】
一方、侵入中フラグ353がオフのときは(ステップS631でNO)、次に、CPU31は、接続確立処理中フラグ354がオンに設定されているか否かを判定する。つまり、現在、接続確立のための処理が実行中の状態であるか否かが判定される。その結果、オンのときは(ステップS632でYES)、接続確立のための処理を継続し、後述するステップS640の処理へ進む。
【0210】
一方、ステップS632の判定の結果、接続確立処理中フラグ354がオンではないときは(ステップS632でNO)、次に、ゲーム進行状況が他のゲーム装置と接続可能な条件を満たしているか否かについての各種判定が実行される。具体的には、まず、ステップS633で、CPU31は、ゲーム世界におけるプレイヤキャラクタの位置が通常フィールド、あるいはポータル領域内であるか否かを判定する。つまり、子機側のゲーム装置においては、例えば、プレイヤキャラクタがゲーム世界内の「ショップ」の中にいるときや、「ダンジョン」にいるとき等は、他のゲーム装置からの侵入を受け付けないことになる。また、本ステップでは、その他、ゲーム装置1本体が開いている状態であるか(閉じられていないか)や、ゲームの設定として、他機との接続を禁止するような設定がなされていないかについても判定される。
【0211】
ステップS633の判定の結果、プレイヤキャラクタの位置が通常フィールド、または、ポータル領域内にないとき等、他のゲーム装置と接続可能な状態にないときは(ステップS633でNO)、CPU31は、当該子機側接続処理を終了する。一方、プレイヤキャラクタの位置が通常フィールド、または、ポータル領域内にあるとき等、他のゲーム装置と接続可能な状態のときは(ステップS633でYES)、次に、ステップS634で、CPU31は、その時点のゲーム内において重要なイベント中ではないか否かを判定する。これは、例えば、プレイヤキャラクタが通常フィールドにいる場合であっても、ゲーム進行上、他のゲーム装置との間でマルチプレイを行うことが好ましくないようなイベントシーンが自機において進行しているようなタイミングであるか否かを判定するものである。当該判定の結果、重要なイベント中であると判定されたときは(ステップS634でNO)、CPU31は、当該子機側接続処理を終了する。一方、重要なイベント中ではないと判定されたときは(ステップS634でYES)、CPU31は、ステップS635において、ビーコンの検出および受信を行う。続くステップS636で、CPU31は、他のゲーム装置から送信された上記接続希望ビーコンを受信したか否かを判定する。具体的には、CPU31は、受信したビーコンに含まれる「ゲームサービスID」が「マルチプレイで用いるデータであること」を示す旨の値であり、「ビーコンの種類」が「他ゲーム装置への侵入」を示す旨の値であるか否かを判定する(これらの値は上記ステップS604において設定される値である)。
その結果、接続希望ビーコンを受信していないときは(ステップS636でNO)、CPU31は、当該子機側接続処理を終了する。
【0212】
一方、上記接続希望ビーコンを受信したときは(ステップS636でYES)、ステップS637で、CPU31は、当該受信したビーコンにかかる接続について、接続最大数に達しているか否かを判定する。具体的には、受信したビーコンに含まれている「現在の参加人数」が、同じく当該ビーコンに含まれている「最大人数」より小さいか否かを判定する。本実施形態では、上記のように自機を含めて3台まで同時接続が可能であるため、「現在の参加人数」が「最大人数」以上であれば、、接続最大数に達していると判定されることになる。当該判定の結果、接続最大数に達していると判定されたときは(ステップS637でYES)、CPU31は、上記接続希望ビーコンに対しては応答せずに、当該子機側接続処理を終了する。
【0213】
一方、接続最大数にはまだ達していないと判定されたときは(ステップS637でNO)、ステップS638で、CPU31は、上記接続希望ビーコンへの応答として、ローカル接続確立のための接続要求信号を生成して送信する。そして、上記接続希望ビーコンの送信元のゲーム装置とのローカル通信確立処理を開始する。
【0214】
次に、ステップS639において、CPU31は、接続確立処理中フラグ354にオンを設定する。続くステップS640(
図41)において、CPU31は、ローカル接続が確立したか否かを判定する。その結果、ローカル接続がまだ確立していないとき(接続確立処理中のとき)は(ステップS640でNO)、ステップS641において、CPU31は、接続確立処理の開始から所定時間が経過したか否かを判定する。つまり、タイムアウトの判定を行う。その結果、所定時間が経過していなければ(ステップS641でNO)、CPU31は、現在のフレームにかかる子機側接続処理を終了する。一方、所定時間が経過しているときは(ステップS641でYES)、ステップS642において、CPU31は、タイムアウトのために接続確立処理を終了させ、接続確立処理中フラグ354にオフを設定する。そして、子機側接続処理を終了する。
【0215】
一方、ステップS640の判定の結果、接続が確立したときは(ステップS640でYES)、ステップS643において、CPU31は接続確立処理中フラグ354にオフを設定する。
【0216】
次に、ステップS644で、CPU31は、ローカル通信フラグ352がオフに設定されているか否かを判定する。その結果、オフに設定されていれば(ステップS644でYES)、ステップS645で、CPU31はローカル通信フラグ352をオンに設定する。一方、オンに設定されているときは(ステップS644でNO)、上記ステップS645の処理はスキップする。以上で、子機側接続処理は終了する。
【0217】
図33に戻り、次に、ステップS9で、CPU31は表示処理を実行する。すなわち、CPU31は、上記各処理の結果を反映したゲーム世界を示す画像を上側LCD22に表示し、また、下側LCD12に表示する画像を適宜生成して、下側LCD12に表示する処理を実行する。ステップS9の後、ステップS10において、ゲーム終了か否かが判断され、YESの場合、ゲーム処理を終了し、NOの場合、ステップS2に戻って、ゲーム処理を繰り返す。
【0218】
次に、
図44のフローチャートを参照して、前述したビーコン破棄処理の詳細を説明する。ビーコン破棄処理は、同一のゲーム装置から同一のイベントの発生を通知する一連のビーコンを受信したときに、それらの一連のビーコンの情報を重複して処理してしまわないようにするための処理である。
【0219】
図44のステップS301において、CPU31は、新たなビーコンを受信したかどうかを判断し、ビーコンを受信した場合には処理はステップS302に進む。
【0220】
ステップS302において、CPU31は、未処理ビーコン(すなわち、受信はしたけれども、まだ処理(例えば、ビーコンに基づくすれ違いログデータの更新処理等)はしていないビーコン)を一時的に保持しておくためのバッファに、新たに受信したビーコンと同一のプレイヤIDを含むビーコンが存在するかどうかを判断する。そして、新たに受信したビーコンと同一のプレイヤIDを含むビーコンが上記バッファに存在する場合には処理はステップS303に進み、そうでない場合には処理はステップS305に進む。
【0221】
ステップS303において、CPU31は、新たに受信したビーコンの送信番号と、当該ビーコンと同一のプレイヤIDを含む未処理ビーコンの送信番号とが、同一であるかどうかを判断し、同一である場合には処理はステップS304に進み、そうでない場合には処理はステップS305に進む。
【0222】
ステップS304において、CPU31は、新たに受信したビーコンを破棄する。そして処理はステップS301に戻る。
【0223】
ステップS305において、CPU31は、新たに受信したビーコンを上記バッファに格納する。具体的には、上記バッファに同一のプレイヤIDを含む未処理ビーコンが無い場合には、新たに受信したビーコンを上記バッファに追加し、上記バッファにすでに同一のプレイヤIDを含む未処理ビーコンがある場合には、その未処理ビーコンに新たに受信したビーコンを上書きする。
なお、未処理ビーコンが処理された後も、ビーコンのプレイヤIDおよび送信番号は削除されない。これにより、処理されたビーコンと同一のプレイヤIDおよび送信番号を含む新たなビーコンを受信しても、新たに受信したビーコンは破棄されるので、同一のゲーム装置から同一のイベントの発生を通知する一連のビーコンを重複して処理してしまうことがない。
【0224】
次に、
図45のフローチャートを参照して、前述した調査ミッション処理の詳細を説明する。調査ミッション処理とは、前述した調査ミッション機能を実現するための処理である。
【0225】
図45のステップS401において、CPU31は、プレイヤが調査依頼を受任したかどうか(すなわち、
図20においてプレイヤがボタン画像P20をタッチしたかどうか)を判断し、調査依頼を受任した場合には処理はステップS402に進む。
【0226】
ステップS402において、CPU31は、プレイヤが時間調査を選択したかどうか(すなわち、
図21においてプレイヤがボタン画像P23をタッチしたかどうか)を判断し、プレイヤが時間調査を選択した場合には処理はステップS403に進み、そうでない場合(すなわち、プレイヤが人数調査を選択した場合)には処理はステップS409に進む。
【0227】
ステップS403において、CPU31は、プレイヤによる指示(
図22におけるボタン画像P25へのタッチ操作)に基づいて、調査内容を選択し、当該選択された調査内容をメインメモリ32(または保存用データメモリ34等)に記憶する。
【0228】
ステップS404において、CPU31は、ステップS403で選択された調査内容に関する時間調査を開始する。具体的には、時間調査が開始された旨のフラグをメインメモリ32(または保存用データメモリ34等)に記憶するとともに、RTC39から取得した現在時刻を、時間調査の開始時刻としてメインメモリ32(または保存用データメモリ34等)に記憶する。
【0229】
ステップS405において、CPU31は、進捗確認の指示が入力されたかどうか(すなわち、
図20においてプレイヤがボタン画像P22をタッチしたかどうか)を判断し、進捗確認の指示が入力された場合には処理はステップS406に進み、そうでない場合には処理はステップS407に進む。
【0230】
ステップS406において、CPU31は、メインメモリ32(または保存用データメモリ34等)に記憶されている調査結果データに基づいて、現在調査中の調査内容の途中結果を、例えば上側LCD22に表示する。
【0231】
ステップS407において、CPU31は、結果報告の指示が入力されたかどうか(すなわち、
図20においてプレイヤがボタン画像P21をタッチしたかどうか)を判断し、結果報告の指示が入力された場合には処理はステップS408に進み、そうでない場合には処理はステップS405に戻る。
【0232】
ステップS408において、CPU31は、時間調査の開始時刻から所定時間が経過しているかどうかを判断し、すでに所定時間が経過している場合には処理はステップS415に進み、そうでない場合には処理はステップS405に戻る。時間調査の開始時刻からの経過時間は、RTC39から取得した現在時刻と、メインメモリ32(または保存用データメモリ34等)に保存されている時間調査の開始時刻とに基づいて算出することができる。
【0233】
ステップS409において、CPU31は、プレイヤによる指示(
図22におけるボタン画像P25へのタッチ操作)に基づいて、調査内容を選択し、当該選択された調査内容をメインメモリ32(または保存用データメモリ34等)に記憶する。
【0234】
ステップS410において、CPU31は、ステップS409で選択された調査内容に関する人数調査を開始する。具体的には、人数調査が開始された旨のフラグをメインメモリ32(または保存用データメモリ34等)に記憶する。
【0235】
ステップS411において、CPU31は、進捗確認の指示が入力されたかどうか(すなわち、
図20においてプレイヤがボタン画像P22をタッチしたかどうか)を判断し、進捗確認の指示が入力された場合には処理はステップS412に進み、そうでない場合には処理はステップS413に進む。
【0236】
ステップS412において、CPU31は、メインメモリ32(または保存用データメモリ34等)に記憶されている調査結果データに基づいて、現在調査中の調査内容の途中結果を、例えば上側LCD22に表示する。
【0237】
ステップS413において、CPU31は、結果報告の指示が入力されたかどうか(すなわち、
図20においてプレイヤがボタン画像P21をタッチしたかどうか)を判断し、結果報告の指示が入力された場合には処理はステップS414に進み、そうでない場合には処理はステップS411に戻る。
【0238】
ステップS414において、CPU31は、メインメモリ32(または保存用データメモリ34等)に記憶されている調査結果データに基づいて、人数調査を開始してから所定人数分の情報(他のゲーム装置から受信したビーコンに含まれる「プロフィール情報」や「アンケート回答」等の情報)を収集済みかどうかを判断し、すでに所定人数分の情報が収集されている場合には処理はステップS415に進み、そうでない場合には処理はステップS411に戻る。
【0239】
ステップS415において、CPU31は、メインメモリ32(または保存用データメモリ34等)に記憶されている調査結果データに基づいて、時間調査または人数調査の調査結果を、例えば上側LCD22に表示する。
【0240】
ステップS416において、CPU31は、調査結果に応じたゲーム処理を行う。例えば、プレイヤキャラクタの調査員としてのランクが上昇して、ゲーム展開が変化したり、ゲームの進行に有利なアイテムを獲得したりする。そして、処理はステップS401に戻る。
【0241】
なお、本実施形態では、
図33〜
図45に示した各処理をCPU31が実行する例を説明したが、他の実施形態では、これらの処理の一部または全部が、CPU31とは別のプロセッサや、専用回路によって実行されても構わない。
【0242】
以上で、本実施形態にかかるゲーム処理の説明を終了する。
【0243】
このように、本実施形態によれば、上述したマルチプレイモードのように、ゲーム中に所定の条件を満たした場合、自動的に他のゲーム装置を探し、見つかった場合は相手方プレイヤによる接続確立にかかる操作等を要さずに、そのまま接続確立しにいく処理を行っている。これにより、他のゲーム装置のプレイヤに気付かれないように他のプレイヤのゲーム世界に侵入するようなプレイ感覚を与え、今までにない新しい楽しみ方を提供することができる。
【0244】
なお、上述したマルチプレイモードにかかる処理に関し、ローカル通信の接続確立に際しては、侵入側のゲーム装置から上記接続希望ビーコンを送信(探索)し、これを受けた被侵入側から、ローカル通信のための接続要求を侵入側に送信していた。この他、侵入側のゲーム装置が他のゲーム装置のビーコンを受信(探索)し、見つかった他のゲーム装置のいずれかに対してローカル通信のための接続要求を送信するようにしてもよい。
【0245】
また、上記実施形態においては、ゲーム処理についての一連の処理が単一の装置(ゲーム装置1)において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【0246】
なお、上記実施形態においては、
図33のステップS6でビーコン出力処理を行い、
図34のステップS213においてビーコン受信処理を行っているが、ビーコンの送信タイミングおよび受信タイミングは、これに限定されない。以下、
図46のフローチャートを参照して、ビーコン送受信処理の変形例について説明する。
【0247】
図46は、ビーコンの送信を所定回数繰り返す処理と、ビーコンの受信(受信の試行)を所定回数繰り返す処理とを、時分割で交互に繰り返す例を示している。なお、当該変形例では、
図46のフローチャートの処理が、
図33のフローチャートの処理と並列して実行されるので、当該変形例を採用する場合には、
図33のステップS6、および
図34のステップS213,S215は不要である。
【0248】
図46のステップS901において、CPU31は、メインメモリ32に記憶される各種変数の一つである「送信カウント」を0にリセットする。
【0249】
ステップS902において、CPU31は、ビーコン出力処理を開始する。ここでは、
図34のステップS209やステップS211等で生成されたビーコンが送信されることになる。
【0250】
ステップS903において、CPU31は、送信カウントをインクリメントする。
【0251】
ステップS904において、CPU31は、送信カウントが所定値(第1の所定値)に達したかどうかを判断し、送信カウントが所定値に達した場合には処理はステップS905に進み、そうでない場合には処理はステップS902に戻る。
【0252】
ステップS905において、CPU31は、メインメモリ32に記憶される各種変数の一つである「受信カウント」を0にリセットする。
【0253】
ステップS906において、CPU31は、他のゲーム装置からのビーコンの受信を試行する。
【0254】
ステップS907において、CPU31は、他のゲーム装置からビーコンを受信したかどうかを判断し、他のゲーム装置からビーコンを受信した場合には処理はステップS908に進み、そうでない場合には処理はステップS909に進む。
【0255】
ステップS908において、CPU31は、受信したビーコンに含まれているビーコンデータに基づいて、すれ違いログデータおよび調査結果データを更新する。
【0256】
ステップS909において、CPU31は、受信カウントをインクリメントする。
【0257】
ステップS910において、CPU31は、受信カウントが所定値(第2の所定値)に達したかどうかを判断し、受信カウントが所定値に達した場合には処理はステップS901に戻り、そうでない場合には処理はステップS906に戻る。なお、第2の所定値は、第1の所定値と同じであっても良いし、異なっていても良い。
【0258】
なお、ここでは、当該ビーコン送受信処理をCPU31が実行する例を説明したが、他の実施形態では、CPU31とは別のプロセッサや、専用回路によって実行されても構わない。