以下、本発明の実施形態について説明する。
<第1実施形態>
図1には、第1実施形態に係る情報処理システムとしてのゲームシステム10の構成概略図が示されている。ゲームシステム10は、複数の位置指標装置としてのビーコン装置群12、複数のユーザ(ゲームプレイヤ)が使用する複数のユーザ端末14、及びサーバ16を含んで構成されている。ゲームシステム10においては、ビーコン装置群12と各ユーザ端末14との間、及び各ユーザ端末14間は、近距離無線通信18により通信可能となっている。また、各ユーザ端末14とサーバ16との間は、LAN(Local Area Network)あるいはインターネットなどの通信回線20により互いに通信可能となっている。
ビーコン装置群12は、現実世界の各位置に配置されるものである。例えば、ビーコン装置群12は、ゲームイベントが開催されるイベント会場内の各位置に配置される。本実施形態では、各ビーコン装置は、自装置から所定範囲内(発信範囲内)において、近距離無線通信18により装置識別情報としてのビーコンIDを発信し続けるものである。各ビーコンIDは、各ビーコン装置固有のものであり、つまりビーコンIDに基づいてビーコン装置を一意に特定することができる。本実施形態では、ビーコン装置は、近距離無線通信18の方式として、ブルートゥース(登録商標)方式でビーコンIDを発信する。
ビーコン装置群12は、各ユーザ端末14が所定位置に来たか否かをサーバ16が判定するために設けられる。詳しくは、上述のように、各ビーコン装置は、所定範囲内にのみビーコンIDを発信するから、ユーザ端末14があるビーコンIDを受信し、受信したビーコンID、及びユーザ端末14あるいはユーザ端末14を使用するユーザを識別するユーザIDをサーバ16へ送信することで、サーバ16は、受信したユーザIDに対応するユーザ端末14が、受信したビーコンIDに対応するビーコン装置の近傍に来たことを把握することができる。
ビーコン装置群12は複数種類に分類されている。つまり、ビーコン装置群12は複数種類のビーコン装置を含んでいる。本実施形態においては、ビーコン装置の種類として、お宝ビーコン22、罠ビーコン24、及びアジトビーコン26が含まれる。お宝ビーコン22、罠ビーコン24、及びアジトビーコン26のそれぞれは、複数設けられてよい。ビーコン装置の種類は、各ビーコン装置が発信するビーコンIDに基づいて識別できるものとする。例えば、お宝ビーコン22が発信するお宝ビーコンIDは「TB_idxxx」という文字列を有しており、罠ビーコン24が発信する罠ビーコンIDは「trap_idxxx」という文字列を有しており、アジトビーコン26が発信するアジトビーコンIDは「AB_idxxx」という文字列を有しているものとする。各種ビーコン装置の機能・役割については後に説明する。
ユーザ端末14は、携帯(モバイル)端末であり、例えばスマートフォンやタブレット端末、あるいは携帯用ゲーム端末などであってよい。ユーザ端末14は、ビーコン装置群12に含まれるいずれかのビーコン装置からのビーコンIDを受信したときに、受信したビーコンID、及び自己のユーザ端末14を使用するユーザを識別するユーザ識別情報としてのユーザID(以下「自己ユーザID」と記載する)をサーバ16に送信する。ユーザ端末14は複数設けられる。本実施形態では、ゲームシステム10は、第1ユーザとしてのユーザAが使用する第1ユーザ端末としてのユーザ端末A、及び、第2ユーザとしてのユーザBが使用する第2ユーザ端末としてのユーザ端末Bを含む複数のユーザ端末を含むものとする。
また、ビーコン装置群12同様、各ユーザ端末14が近距離無線通信18により自己ユーザIDを発信しつづけるようにしてもよい。このように、ユーザ端末14も位置指標装置として機能し得る。例えば、ユーザ端末Bは、ユーザBを識別する自己ユーザIDを所定範囲内(ユーザ端末Bは移動し得るから、当該所定範囲も移動し得る)に送信する。そして、ユーザ端末Aは、ユーザ端末Bからの自己ユーザIDを受信したときに、受信したユーザID(以下、他の端末から受信した自己ユーザIDを「受信ユーザID」と記載する)及び自己ユーザIDをサーバ16へ送信する。ユーザ端末14の詳細については、図2を参照して後述する。
サーバ16は、ゲームシステム10において実行されるゲームを実行あるいは管理するコンピュータである。サーバ16内においてゲームのメインプログラムが実行され、適宜各ユーザ端末14に情報を送信することでゲームが進行していく。具体的には、サーバ16は、ユーザ端末Aが所定位置に来たことをトリガとして、当該所定位置に応じたユーザAに関するゲーム上のイベント(処理)を実行する。あるいは、サーバ16は、ユーザ端末Aとユーザ端末Bとの距離が所定距離内となったことをトリガとして、ユーザBとの関係に応じたユーザAに関するゲーム上のイベントを実行する。処理結果は、各ユーザ端末14に送信される。サーバ16の詳細については、図3を参照して後述する。
ここで、ゲームシステム10で実行されるゲームの概要について説明する。ゲームの基本的な流れとしては、各ユーザはチームに分かれ、現実世界の各位置に概念上配置されたお宝を探索して取得し、取得したお宝を、現実世界のある位置に定められた概念上のアジトへ持ち帰る、というものである。
まず、ユーザAは、ユーザ端末Aを携帯しながらゲームイベント会場の各位置に配置されたお宝ビーコン22を探索する。ゲーム性を高めるために、お宝ビーコン22はユーザから発見しにくい場所に配置されてもよい。そして、ユーザ端末Aがお宝ビーコン22のビーコンID発信領域内に入ると、ユーザ端末Aは当該ビーコンIDを受信する。そして、自己ユーザIDと、受信したビーコンIDとをサーバ16へ送信する。サーバ16は、自己ユーザIDとビーコンIDとを受信すると、サーバ16上において、予めビーコンIDに関連付けられた仮想オブジェクトとしてのお宝(アイテム)を当該自己ユーザIDに関連付ける処理を行う。これにより、ユーザAに当該アイテムが付与されたことになる。
アイテムが付与されたユーザAは、次いで、取得したアイテムをアジトへ持ち帰るために、自分が所属するチームに対応するアジトビーコン26(アジトビーコンA)まで移動する。アイテムを取得してからアジトビーコンA近傍まで帰還する(つまりアジトビーコンAが発信するアジトビーコンIDを受信する)までの間は、罠ビーコン24に引っ掛かることにより、あるいは、他チームに属するユーザBにより当該アイテムが盗まれることにより取得したアイテムを失う可能性がある。
例えば、アイテムを所持したユーザAのユーザ端末Aが、罠ビーコン24の所定距離内に近付く(つまり罠ビーコンIDをユーザ端末Aが受信する)と、ユーザ端末Aから、自己ユーザID及び罠ビーコンIDがサーバ16へ送信される。サーバ16は、当該自己ユーザID及びビーコンIDを受信したことをトリガとして、ユーザAが罠に引っ掛かったか否かを決定する判定処理を行い、当該判定処理において罠に引っ掛かったと判定すると、ユーザAからアイテム没収する処理を行う。つまり、当該自己ユーザIDとアイテムとの関連付けを解除する処理を行う。
また、アイテムを取得したユーザAのユーザ端末Aに対し、ユーザBが使用するユーザ端末Bが所定距離内に近付く(つまりユーザ端末Aが発信するユーザIDをユーザ端末Bが受信する)と、ユーザ端末Bから、自己ユーザID、及びユーザAに対応する受信ユーザIDがサーバ16へ送信される。サーバ16は、当該自己ユーザID及び受信ユーザIDを受信したことをトリガとして、ユーザBによるユーザAが有するアイテムを盗む処理が成功するか否かを決定する判定処理を行い、当該判定処理において成功すると判定すると、ユーザAからアイテムを没収し、当該アイテムをユーザBに付与する処理を行う。また、盗む処理は、ユーザ端末Aとユーザ端末Bが所定距離内に近付いた上で、ユーザBがユーザ端末Bに対して盗む行為を行うことを指示した場合に実行されるようにしてもよい。
取得したアイテムを途中で没収されることなく、ユーザ端末AがアジトビーコンAが発信するアジトビーコンIDを受信すると、ユーザ端末Aから自己ユーザID及びアジトビーコンIDとがサーバ16へ送信される。サーバ16は、当該自己ユーザID及びアジトビーコンIDを受信したことをトリガとして、当該アイテムをユーザAが属するチームのアジトに格納する処理を行う。一旦アジトに格納されたアイテムは、他のチームにより没収されることなく、当該チームが取得したものとして確保される。
以上のように、ゲームシステム10において実行されるゲームは、チーム毎にアイテムを集めていくゲームである。
図2には、ユーザ端末14の構成概略図が示されている。図2を参照しながら、ユーザ端末14の詳細について説明する。なお、ゲームシステム10に含まれる複数のユーザ端末14は、いずれも同様の構成を有しているものとする。
制御部30は、例えばCPU(Central Processing Unit)あるいはマイクロコントローラなどから構成される。制御部30は、後述の記憶部38に記憶されたクライアントプログラムに従って、ユーザ端末14の各部を動作させるものである。
通信部32は、他の装置と通信を行うためのものである。近距離無線通信部34及びネットワーク通信部36を含んで構成される。
近距離無線通信部34は、例えばブルートゥースアダプタなどから構成される。近距離無線通信部34は、無線通信により、ビーコン装置群12からのビーコンID、あるいは他のユーザ端末14からの受信ユーザIDを受信するためのものである。また、近距離無線通信部34は、無線通信により、自己端末を利用するユーザを識別する自己ユーザIDを自己端末から所定範囲内に発信するためのものである。上述の通り、近距離無線通信部34による無線通信の方式は、ブルートゥース規格に従った通信方式である。
ネットワーク通信部36は、例えばネットワークアダプタなどから構成される。ネットワーク通信部36は、通信回線20を介してサーバ16と通信を行うためのものである。ネットワーク通信部36は、ビーコンIDあるいは受信ユーザIDを近距離無線通信部34が受信したときに、自己ユーザID、及び受信したビーコンIDあるいは受信ユーザIDをサーバ16に送信する。また、ネットワーク通信部36は、サーバ16において実行された処理内容を示す情報をサーバ16から受信する。
記憶部38は、例えばROM(Read Only Memory)あるいはRAM(Random Access Memory)などから構成される。記憶部38には、ゲームシステム10において実行されるゲームに関するクライアントプログラムが記憶される。当該クライアントプログラムにより、サーバ16から送信されてきたゲームに関する各種情報の表示処理、あるいはユーザによるゲームに関する各種指示の入力処理、あるいは、ビーコンIDあるいは受信ユーザIDの受信処理及び送信処理などの処理が実行される。また、記憶部38には、自己ユーザIDが記憶される。自己ユーザIDは、ユーザ端末14にクライアントプログラムがインストールされると共に記憶部38に記憶される。
表示部40は、例えば液晶パネルなどから構成される。表示部40には、ゲームシステム10で実行されるゲームに関するゲーム画面が表示される。表示部40に表示されるゲーム画面は、サーバ16から送信されてくる情報に応じて適宜変更される。
入力部42は、タッチパネルあるいはボタンなどから構成される。入力部42は、ユーザの指示をユーザ端末14に入力するためのものである。ユーザは、入力部42を用いて、ゲームに関する指示などを入力する。
図3には、サーバ16の構成概略図が示されている。図3を参照しながら、サーバ16の詳細について説明する。
通信部50は、例えばネットワークアダプタなどから構成される。通信部50は、通信回線20を介して各ユーザ端末14と通信を行うためのものである。具体的には、通信部50は、各ユーザ端末14から、自己ユーザID、ビーコンID、及び受信ユーザIDを受信する。また、通信部50は、サーバ16におけるゲーム上の処理内容を示す情報を各ユーザ端末14に送信する処理を行う。
記憶部52は、例えばハードディスク、ROM、あるいはRAMなどから構成される。記憶部52には、ゲームシステム10で実行されるゲームに関するメインプログラムが記憶される。当該メインプログラムは、ゲームシステム10で実行されるゲームの主な処理を行うものであり、メインプログラムにより当該ゲームが進行される。
また、記憶部52には、当該ゲームに関する処理において適宜参照される各種DB(データベース)が記憶される。具体的には、図3に示される通り、ユーザDB54、仮想オブジェクトデータベースとしてのアイテムDB56、及び、処理対象DB58が記憶される。
ユーザDB54においては、ゲームシステム10が提供するゲームに参加している各ユーザのユーザIDと、各ユーザに関する属性とが関連付けられて記憶される。本実施形態においては、ユーザに関する属性とは、当該ゲームにおけるユーザのステータスである。ユーザのステータスには、例えば、当該ユーザが所持しているアイテム(所持アイテム)、当該ユーザのゲームモード(詳細後述)、当該ユーザが罠を所持しているか否か、当該ユーザが属するチームのアジトビーコンを示す情報、あるいは、当該ユーザが属するチームが確保したアイテムなどが含まれる。また、ユーザのゲーム上におけるレベル、職業、あるいはスキルなどもユーザのステータスに含まれていてもよい。ユーザDB54に含まれる各情報のうち、ユーザIDについては、ユーザ端末14においてユーザがクライアントプログラムをインストールした時点でユーザ端末14から送信される情報に基づいてユーザDB54に追加される。それ以外の情報(ユーザのステータス)については、ゲームの進行に応じて後述の制御部60により適宜更新される。
図4に、ユーザDB54の内容の例が示されている。図4に示されている通り、本実施形態においては、ユーザDB54はテーブル形式となっている。図4の一番上のレコードは、ユーザAを示すユーザID「user_A」は、現在のゲームモードが「ゴーホームモード」であり、アイテムID「item_id002」が示すアイテムを所持しており、罠は所持しておらず、ユーザAが属するチームのアジトビーコンAが発するアジトビーコンIDは「AB_id001」であり、ユーザAが属するチームは「item_id001」が示すアイテムを確保していることを示している。
ここで、ゲームモードについて説明する。ゲームモードは、基本的にはユーザが任意に切り替えられるものであるが、本実施形態においては、所定の条件を満たした場合に、強制的に設定されるゲームモードも存在する。ユーザがユーザ端末14に対してゲームモードを変更するなどしてゲームモードが切り換えられると、ユーザ端末14からサーバ16に、自己ユーザIDと共に変更後のゲームモードを示すモード切替情報が送信される。サーバ16の制御部60(後述)は、受信した自己ユーザID及びゲームモードを示す情報に基づいて、ユーザDB54において、受信した自己ユーザIDに関連付けられたゲームモードを更新する。
本実施形態では、ゲームモードとして、サーチモード、ゴーホームモード、及びスティールモードの3種類が用意されている。
サーチモードは、お宝ビーコン22を探索する際に用いるゲームモードである。ユーザAがサーチモードを選択した状態において、ユーザ端末Aがお宝ビーコンIDを受信してサーバ16へ送信すると、ユーザAは当該お宝ビーコン22に対応するアイテムを獲得することができる。
ゴーホームモードは、アイテムを獲得してから当該アイテムをアジトへ格納するまでの間に選択されるゲームモードである。本実施形態に係るゲームシステム10においては、一人のユーザは一つのアイテムしか所持できない仕様となっている。したがって、ユーザAがアイテムを獲得すると、ユーザAのゲームモードは自動的にゴーホームモードへ切り換えられる。もちろん、一人のユーザが複数のアイテムを所有できるようしてもよく、その場合は、ユーザの指示によりゴーホームモードに切り替えられるようにしてもよい。ゴーホームモードによれば、ユーザ端末AがアジトビーコンAが発信するアジトビーコンIDを受信してサーバ16へ送信することで、ユーザAが獲得したアイテムをアジトに格納することができる。
スティールモードは、他のユーザが所持しているアイテムを盗むためのモードである。例えば、ユーザBは、スティールモードを選択することで、ユーザAが獲得したアイテムを盗むことができる。ユーザBがスティールモードを選択している場合、ユーザAが発信するユーザIDをユーザBが受信して、ユーザBの自己ユーザIDとユーザAを示す受信ユーザIDがサーバ16に送信されたことをトリガとして、サーバ16においてユーザAの所持アイテムをユーザAから没収し、当該アイテムをユーザBに付与する処理が実行される。つまり、ユーザBは、ユーザAから当該アイテムを盗むことができる。
また、ユーザのステータスに含まれる罠所持の有無とは、ユーザが罠を所持しているか否かを示すものである。ゲーム内の何らかのイベントにより、ユーザは罠を獲得することができる。罠は、他のユーザからアイテムを盗まれることを防ぐ効果を発揮する。例えば、ユーザBがスティールモードによりアイテムを所持するユーザAから当該アイテムを盗もうとした場合、ユーザAが罠を所持していれば、ユーザBからアイテムを盗まれることを防ぐことができる。
アイテムDB56においては、各お宝ビーコン22に対して、アイテムに関する各情報とが関連付けられて記憶される。図5に、アイテムDB56の内容の例が示されている。本実施形態では、アイテムに関する情報として、アイテムを識別するためのアイテムID、各アイテムの基本当選確率、及び、付与阻害情報としての罠設定が含まれる。アイテムDB56のうち、罠設定以外の部分については、ゲームシステム10の管理者によって予め設定された上で記憶部52に記憶されてよい。
図5に示されている通り、本実施形態においては、アイテムDB56もテーブル形式となっている。図5の一番上のレコードを参照すると、お宝ビーコンID「TB_id001」に対して、3つのアイテムIDが関連付けられている。これは、ユーザ端末Aからお宝ビーコンIDとして「TB_id001」を受信したときに、「item_id001」、「item_id002」、及び「item_id003」のうちいずれかがユーザAに付与されることを意味する。各アイテムIDに対して関連付けられてた基本当選確率に関しては後述する。
罠設定は、お宝ビーコン22に関連付けられたアイテムに罠が仕掛けられているか否かを示す情報である。本実施形態では、罠はお宝ビーコン22毎に仕掛けられる(つまりお宝ビーコン22に複数のアイテムが関連付けられている場合、当該複数のアイテム全てに罠が仕掛けられる)ようになっている。あるいは、罠は、お宝ビーコン22に関連付けられた複数のアイテムのいずれかに仕掛けられるようにしてもよい。お宝ビーコン22に罠が仕掛けられていると、ユーザAがサーチモードを選択した状態で、ユーザ端末Aが当該お宝ビーコン22が発信するお宝ビーコンIDを受信したとしても、ユーザAは当該お宝ビーコン22に対応するアイテムを獲得することができなくなる。あるいは、当該アイテム獲得の確率が低下する。
罠は、サーバ16側の処理によりランダムに設定されるようにしてもよいが、ユーザにより設定されるようにしてもよい。例えば、ユーザBが罠を所持した状態で、あるお宝ビーコン22からのお宝ビーコンIDを受信した場合に、ユーザBにより当該お宝ビーコン22に対して罠が仕掛けられるようにしてもよい。具体的には、ユーザBが罠を所持した状態でユーザ端末Bがお宝ビーコンIDを受信すると、ユーザ端末Bから自己ユーザIDと当該お宝ビーコンIDがサーバ16へ送信される。サーバ16は、ユーザDB54を参照して、ユーザBが罠を所持していると判断すると、ユーザ端末Bの表示部40に、当該お宝ビーコン22に罠を仕掛けるか否かを確認するための画面を表示させる。当該画面にて、ユーザBが罠を仕掛けることを指示して指示情報がサーバ16へ送信されると、サーバ16は、アイテムDB56において、受信したお宝ビーコンIDに関連付けられた罠設定を「あり」に更新する。
処理対象DB58においては、ユーザDB54に示されるユーザに関する属性毎に、ビーコン装置群12に含まれる各ビーコン装置及び他のユーザ端末14のうち、処理対象となる装置が関連付けられて記憶される。処理対象となる装置とは、サーバ16が当該装置が発信するID(ビーコンID又は受信ユーザID)を受信したときに、サーバ16が受信したIDに応じた処理を実行する装置を意味する。つまり、処理対象のビーコン装置からのビーコンIDを受信した場合、サーバ16は当該ビーコンIDに応じた処理を行うが、処理対象でないビーコン装置からのビーコンIDを受信した場合は、サーバ16は当該ビーコンIDに応じた処理を行わない。
処理対象DB58は、ゲームシステム10の管理者により予め設定された上で記憶部52に記憶される。本実施形態においては、上述の通り、ビーコン装置群12は、複数の種類のビーコン装置を含んでいる。したがって、本実施形態における処理対象DB58においては、ユーザに関する属性毎に、他のユーザ端末が処理対象となるか否かが規定されると共に、ビーコン装置の各種類が処理対象となるか否かが規定される。これにより、処理対象DB58において、ビーコン装置毎に処理対象であるか否かを規定する場合に比して、処理対象DB58のデータ量が低減される。
図6に、処理対象DB58の内容の例が示されている。図6に示されている通り、本実施形態においては、処理対象DB58もテーブル形式となっている。本実施形態においては、ゲーム上のユーザのステータスとして、所持アイテム(アジトに格納される前のアイテム)の有無と、ゲームモードとの組み合わせ毎に、処理対象となる装置が規定されている。本実施形態では、処理対象となる装置の種類として、「他のユーザ端末」、「お宝ビーコン」、「罠ビーコン」、及び「アジトビーコン」が設定されている。例えば、図6の一番上のレコードを参照すると、ユーザのステータスとして、アイテムを所持しておらず、ゲームモードがサーチモードである場合は、お宝ビーコン22(つまりお宝ビーコンID)は処理対象であるが、他のユーザ端末14、罠ビーコン24、及びアジトビーコン26(つまり受信ユーザID、罠ビーコンID、及びアジトビーコンID)は処理対象でないことが示されている。処理対象DB58を用いた処理については後述する。
図3に戻り、制御部60は、例えばCPUなどから構成される。制御部60は、記憶部52に記憶されたメインプログラムに従って、サーバ16の各部を動作させるものである。制御部60がメインプログラムを実行することで、ゲームシステム10が提供するゲームが進行する。制御部60は、メインプログラムによって、位置指標装置特定部あるいは位置関係判定部としての他装置特定部62、処理対象判定部64、及び処理実行部66としても機能する。
他装置特定部62は、複数のユーザ端末14のうちの1つであるユーザ端末Aの近傍にある、特定位置指標装置としてのビーコン装置又は他のユーザ端末14を特定する。本実施形態においては、他装置特定部62は、ユーザ端末Aが受信してサーバ16へ送信されるビーコンID、又は、他のユーザ端末14(例えばユーザ端末B)からの受信ユーザIDに基づいて、ユーザ端末Aの近傍にあるビーコン装置又は他のユーザ端末14を特定する。各ビーコン装置は、自装置から所定範囲内にのみビーコンIDを発信し、また、各ユーザ端末14も自装置から所定範囲内にのみユーザIDを発信するから、ユーザ端末Aが受信したビーコンID又は受信ユーザIDをサーバ16へ送信することで、サーバ16は受信したビーコンID又は受信ユーザIDに対応する装置がユーザ端末Aの近傍にあると判断できる。
具体的には、他装置特定部62は、ユーザ端末Aから自己ユーザID及びお宝ビーコンIDを受信した場合、ユーザ端末Aの近傍に、当該お宝ビーコンIDに対応するお宝ビーコン22があると判断する。つまりユーザ端末Aと当該お宝ビーコン22が所定距離内にあると判断する。また、他装置特定部62は、ユーザ端末Aから、自己ユーザIDとしてユーザAのユーザIDを、受信ユーザIDとしてユーザBのユーザIDを受信した場合、ユーザ端末A近傍にユーザ端末Bがある(ユーザAとユーザBが所定距離内にある)と判断する。
このように、本実施形態においては、他装置特定部62は、ユーザ端末Aから受信したビーコンID又は受信ユーザIDに基づいて、ユーザ端末Aの近傍にあるビーコン装置又は他のユーザ端末14を特定するが、その他の方法が採用されてもよい。例えば、ビーコン装置群12に含まれる各ビーコン装置の配置位置が変わらないものとするならば、各ビーコン装置の配置位置を示す位置情報を予め記憶部52に記憶させておき、且つ、ユーザ端末Aに位置特定部としてのGPS(Global Positioning System)センサを設け、所定時間間隔においてユーザ端末Aの位置を示す位置情報をサーバ16に送信させる。他装置特定部62は、予め記憶部52に記憶されたビーコン装置群12の位置を示す情報と、ユーザ端末Aから送信されてくる位置情報に基づいて、ユーザ端末Aの近傍にあるビーコン装置を特定するようにしてもよい。
また、各ビーコン装置の配置位置を示す位置情報を予め記憶部52に記憶させておく手間を省く目的で、各ビーコン装置にもGPS機能を設け、自装置の位置を示す位置情報をサーバ16に送信させるようにしてもよい。この場合、他装置特定部62は、各ビーコン装置から送信される位置情報と、ユーザ端末Aから送信される位置情報とに基づいて、ユーザ端末Aの近傍にあるビーコン装置を特定してもよい。
また、ユーザ端末Aとユーザ端末Bとの関係においては、ユーザ端末Aのみならず、ユーザ端末BにもGPS機能を設け、ユーザ端末A及びユーザ端末Bから定期的に位置情報をサーバ16へ送信するようにしてもよい。この場合、他装置特定部62は、ユーザ端末Aからの位置情報と、ユーザ端末Bからの位置情報に基づいて、ユーザ端末Aの近傍にユーザ端末Bがあることを特定してもよい。
処理対象判定部64は、ユーザ端末Aから、自己ユーザID、及び、ビーコンID又は受信ユーザIDをサーバ16が受信したときに、受信したビーコンIDが示すビーコン装置(又は受信したビーコンIDそのもの)、又は、受信した受信ユーザIDが示すユーザ端末14(又は受信した受信ユーザIDそのもの)が、処理対象であるか否かを判定する。詳しくは、処理対象判定部64は、ユーザDB54及び処理対象DB58を参照することで、当該判定を行う。
具体的には、まず、処理対象判定部64は、ユーザ端末Aから受信した自己ユーザID(「user_A」)及びユーザDB54に基づいて、ゲーム内におけるユーザAのステータスを取得する。ユーザDB54の内容が図4に示された内容であるとすると、処理対象判定部64は、受信した自己ユーザID「user_A」をキーとしてユーザDB54を検索する。これにより、処理対象判定部64は、ユーザAのステータスとして、所持アイテム「あり」及びゲームモード「ゴーホームモード」を取得する。
次いで、処理対象判定部64は、処理対象DB58を参照して、取得したユーザAのステータスに対応する処理対象を特定する。処理対象DB58の内容が図6に示された内容であるとすると、処理対象判定部64は、特定したユーザAのステータスである所持アイテム「あり」及びゲームモード「ゴーホームモード」をキーとして処理対象DB58を検索する。これにより、「他のユーザ端末」及び「お宝ビーコン」は処理対象でなく、「罠ビーコン」及び「アジトビーコン」が処理対象であることが特定される。
上述の通り、本実施形態においては、ビーコン装置の種類は、各ビーコン装置が発信するビーコンIDに基づいて識別可能である。また、受信ユーザIDとビーコンIDも互いに識別可能となっている。したがって、処理対象判定部64は、受信したビーコンIDあるいは受信ユーザIDに基づいて、ユーザ端末Aの近傍にあるビーコン装置の種類を判定し、あるいは受信ユーザIDを受信した場合はユーザ端末Aの近傍には他のユーザ端末14があると判定し、判定したビーコン装置の種類あるいは他のユーザ端末14が処理対象であるか否かを判定する。
処理実行部66は、ユーザ端末Aの近傍にあるビーコン装置又は他のユーザ端末14が処理対象であると判定された場合、つまり、ユーザ端末Aから受信したビーコンID又は受信ユーザIDが、処理対象判定部64により処理対象であると判定された場合に、受信したビーコンID又は受信ユーザIDに応じた処理を行う。一方、処理実行部66は、ユーザ端末Aから受信したビーコンID又は受信ユーザIDが、処理対象判定部64により処理対象でないと判定された場合は、ユーザ端末AからビーコンID又は受信ユーザIDを受信しているにも拘らず、当該ビーコンID又は受信ユーザIDに応じた処理を行わない。
以下、処理実行部66が実行する各処理について説明する。
第1に、ユーザ端末Aからお宝ビーコンIDを受信した場合の処理について説明する。ここでの処理は、例えば、ユーザAがアイテムを所持しておらず、ユーザAがゲームモードとしてサーチモードを選択している場合であって、ユーザ端末Aがお宝ビーコンIDを受信し、ユーザAを示す自己ユーザID及び当該お宝ビーコンIDをサーバ16に送信した場合に実行される処理である。
サーバ16がお宝ビーコンIDを受信すると、処理実行部66は、アイテムDB56を参照し、受信したお宝ビーコンIDに罠設定が付されているか否かを判定する。罠設定が付されている場合、処理実行部66は、ユーザAにアイテムを付与せず、その旨を通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。あるいは、罠設定が付されている場合、処理実行部66は、当該罠の効果を発揮させる否かを決定する判定処理を行い、罠の効果が発揮すると判定された場合にユーザAにアイテムを付与しないこととしてよい。当該判定処理は、予め定められた確率条件に基づいて決定されてもよいし、ユーザAのレベル、職業、あるいはスキルなどのステータスに基づいて決定されてもよい。
受信したお宝ビーコンIDに罠設定が付されていない場合、あるいは、罠設定が付されていても罠の効果を発揮しないと判定された場合は、処理実行部66は、アイテムDB56に基づいて、受信したお宝ビーコンIDに対応するアイテムを特定する。アイテムDB56において、受信したお宝ビーコンIDに複数のアイテムが関連付けられている場合には、各アイテムに関連付けられている基本当選確率に基づいてアイテムが特定される。例えば、アイテムDB56の内容が図5に示された内容であるとすると、受信したお宝ビーコンIDが「TB_id001」である場合には、処理実行部66は、抽選処理を行い、お宝ビーコンID「TB_id001」に関連付けられた、アイテム「item_id001」、アイテム「item_id002」、及びアイテム「item_id003」のうちから1つのアイテムを選択する。このとき、当該抽選処理において、各アイテムが当選する確率は、各アイテムに関連付けられた基本当選確率に基づいて決定される。基本的には、アイテム「item_id001」は60%の確率で選択され、アイテム「item_id002」は30%の確率で選択され、アイテム「item_id003」は、10%の確率で選択される。なお、各アイテムの当選確率は、注目ユーザのゲーム内におけるステータス(レベル、職業、あるいはスキルなど)に基づいて、基本当選確率から変動するようにしてもよい。例えば、ユーザのレベルが高い程、選択されずらい(よりレアなアイテムである)アイテム「item_id003」が選択されやすいように当選確率が変動してもよい。このように、アイテムDB56において、1つのお宝ビーコンIDに複数のアイテムが関連付けられていることにより、ユーザから見れば、あるお宝ビーコンIDからどのアイテムが獲得できるか、獲得するまで分からないことになり、ゲーム性がより向上される。
受信したお宝ビーコンIDに対応するアイテムが特定されると、処理実行部66は、ユーザDB54において、受信した自己ユーザID「user_A」に特定されたアイテムを関連付ける処理を行う。例えば、特定されたアイテムが「item_id001」であるとすると、処理実行部66は、ユーザDB54において、ユーザID「user_A」と所持アイテム「item_id001」とを関連付ける処理を行う。これにより、ユーザAにアイテム「item_id001」が付与される。アイテム付与後、処理実行部66は、アイテムを獲得したことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。
また、処理実行部66は、ユーザ端末Aからあるお宝ビーコンIDを受信してユーザAにアイテムを付与した後、所定時間の間は、ユーザ端末Aを含む全てのユーザ端末から同お宝ビーコンIDを受信しても、当該お宝ビーコンIDに対応するアイテムをユーザに付与しない。つまり、アイテム付与後所定時間の間は、当該お宝ビーコンIDに応じた処理を行わないものとする。これにより、各ユーザへのアイテムの過度な付与を抑制することができ、ゲーム性を向上させることができる。
第2に、ユーザ端末Aから罠ビーコンIDを受信した場合の処理について説明する。ここでの処理は、例えば、ユーザAがアイテムを所持しており、ユーザAのゲームモードがゴーホームモードである場合であって、ユーザ端末Aが罠ビーコンIDを受信し、ユーザAを示す自己ユーザID及び当該罠ビーコンIDをサーバ16に送信した場合に実行される処理である。
サーバ16が罠ビーコンIDを受信すると、処理実行部66は、当該罠の効果を発揮させる否か(つまりユーザAから所持アイテムを没収するか否か)のを決定する判定処理を行う。当該判定処理は、予め定められた確率条件に基づいて決定されてもよいし、ユーザAのレベル、職業、あるいはスキルなどのステータスに基づいて決定されてもよい。
判定処理の結果、罠の効果が発揮すると判定された場合、処理実行部66は、ユーザDB54のうち、受信した自己ユーザID「user_A」に関連付けられている所持アイテムの関連付けを解除する処理を行う。例えば、ユーザDB54の内容が図4に示す内容であるとすると、ユーザID「user_A」に関連付けられている所持アイテム「item_id002」の関連付けを解除する。その結果、ユーザID「user_A」に関連付けられた所持アイテム情報は「なし」となる。これにより、ユーザAから当該アイテムが没収される。このように、本実施形態では、ユーザ端末Aが罠ビーコン24の近傍に来たときに、ユーザAの意に反してユーザAが所持しているアイテムが没収される。なお、判定処理により罠の効果を発揮しないと判定された場合は、処理実行部66は、ユーザAからのアイテム没収処理、つまりユーザDB54の更新処理を行わない。
本実施形態では、アイテム没収後、ユーザAがアジトビーコンAまで帰還するまで、アイテムが没収されたことをユーザAに通知しない。つまり、処理実行部66は、アイテム没収後、ユーザ端末AからアジトビーコンAが発信するアジトビーコンIDを受信したことをトリガとして、アイテムが没収されたことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。
第3に、ユーザ端末BからユーザAを示す受信ユーザIDを受信した場合の処理について説明する。ここでの処理は、例えば、ユーザAがアイテムを所持しており、ユーザBのゲームモードがスティールモードである場合であって、ユーザ端末Bがユーザ端末Aが発信するユーザIDを受信し、ユーザBを示す自己ユーザID及びユーザAを示す受信ユーザIDをサーバ16に送信した場合に実行される処理である。
ユーザ端末Bから、受信ユーザIDとしてユーザAを示すユーザIDをサーバ16が受信すると、処理実行部66は、ユーザAが所持するアイテムについてユーザBの盗む行為が成功するか否かを決定する判定処理を行う。当該判定処理は、予め定められた確率条件に基づいて決定されてもよいし、ユーザAのレベル、職業、あるいはスキルなどのステータス、及び、ユーザBのレベル、職業、あるいはスキルなどのステータスに基づいて決定されてもよい。例えば、ユーザAのレベルがユーザBよりも低ければ、ユーザBの盗む行為の成功確率を向上させてもよいし、ユーザAのレベルがユーザBよりも高ければ、ユーザBの盗む行為の成功確率を低下させてもよい。また、処理実行部66は、ユーザDB54を参照し、ユーザAが罠を所持しているか否かを判定し、ユーザAが罠を所持している場合は、ユーザBの盗む行為が失敗するようにしてもよく、あるいはその成功確率を低減させるようにしてもよい。
判定処理の結果、ユーザBによる盗む行為が成功すると判定された場合、処理実行部66は、ユーザDB54のうち、受信ユーザIDとして受信したユーザID「user_A」に関連付けられている所持アイテムの関連付けを解除した上で、自己ユーザIDとして受信したユーザID「user_B」に当該アイテムを関連付ける処理を行う。これにより、ユーザAから当該アイテムが没収された上で、当該アイテムがユーザBに付与される。つまり、ユーザAの所持アイテムがユーザBにより盗まれたことになる。このように、本実施形態では、ユーザBの盗む行為が成功した場合、ユーザAの意に反してユーザAが所持しているアイテムが没収され、且つ、そのアイテムがユーザBの所持するところとなる。なお、判定処理によりユーザBによる盗む行為が失敗したと判定された場合は、処理実行部66は、ユーザAが所持するアイテムをユーザBへ移す処理、つまりユーザDB54の更新処理は行わない。
本実施形態では、アイテム没収後同様、アイテムが盗まれた後、ユーザAがアジトビーコンAまで帰還するまで、アイテムが盗まれたことをユーザAに通知しない。つまり、処理実行部66は、アイテムが盗まれた後、ユーザ端末AからアジトビーコンAが発信するアジトビーコンIDを受信したことをトリガとして、アイテムが盗まれたことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。
また、処理実行部66は、ユーザ端末Bから受信ユーザIDとしてユーザAを示すユーザIDを受信し、且つ、ユーザ端末Bから、処理指示情報としての盗む行為を実行する指示情報の送信があった場合に、上述の処理を実行するようにしてもよい。この場合は、ユーザ端末Bから盗む行為の実行指示情報を受けていないと、処理実行部66は、受信した受信ユーザIDが処理対象であったとしても、受信した受信ユーザIDに対して何も処理を行わない。このように、盗む処理を実行するか否かをユーザBが決定できるようにすることで、ゲーム性がより向上される。
第4に、ユーザ端末AからアジトビーコンIDを受信した場合の処理について説明する。ここでの処理は、例えば、ユーザAがアイテムを所持しており、又は、一旦アイテムを所持した後に当該アイテムを失っており、ユーザAのゲームモードがゴーホームモードである場合であって、ユーザ端末AがアジトビーコンIDを受信し、ユーザAを示す自己ユーザID及び当該アジトビーコンIDをサーバ16に送信した場合に実行される処理である。
サーバ16がアジトビーコンIDを受信すると、処理実行部66は、ユーザDB54を参照し、受信した自己ユーザID「user_A」に所持アイテムが関連付けられているか否かを判定する。ユーザID「user_A」に所持アイテムが関連付けられている場合、処理実行部66は、ユーザDB54において、当該所持アイテムを所持アイテム欄からアジト格納アイテム欄に移動する処理を行う。これにより、ユーザAが獲得したアイテムが、ユーザAが所属するチームのアジトに格納される。これにより、当該アイテムはユーザAが所属するチームのものとして確定する。ユーザID「user_A」に所持アイテムが関連付けられている場合、つまりユーザAがアイテムを獲得してからアジトビーコンAに帰還するまでの間にアイテムを失った場合は、処理実行部66は上述の処理を行わない。この場合は、上述のように、処理実行部66は、ユーザAに対してアイテムを失ったことを通知する画面を表示させるための画面情報をユーザ端末Aに送信する。なお、当然ながら、ユーザ端末Aが、ユーザAが所属するチーム以外のアジトビーコンIDを受信した場合は上記処理は行わない。
本実施形態に係るゲームシステム10の構成概略については以上の通りである。以下、図7〜図9に示すフローチャートに従って、ゲームシステム10の処理の流れについて説明する。
図7には、ユーザAがお宝ビーコンIDを受信することでアイテムを獲得する場合の処理の流れが示されている。
ステップS10において、ユーザ端末Aは、お宝ビーコン22からお宝ビーコンIDを受信して、ユーザAを示す自己ユーザID及び受信したお宝ビーコンIDをサーバ16に送信する。
ステップS12において、他装置特定部62は、ユーザAを示す自己ユーザID及び受信したお宝ビーコンIDに基づいて、受信したお宝ビーコンIDが示すお宝ビーコン22をユーザ端末Aの近傍にあるビーコン装置として特定する。
ステップS14において、処理対象判定部64は、ユーザDB54に基づいて受信した自己ユーザIDからユーザAのステータスを特定し、特定されたステータスと処理対象DB58とに基づいて、受信したお宝ビーコンIDが処理対象であるか否かを判定する。ここでは、ユーザAがアイテムを所持しておらず、ユーザAのゲームモードがサーチモードであるとして、お宝ビーコンIDはユーザAにとって処理対象であるとし、ステップS16に進む。ユーザAのステータスが上記以外の場合など、受信したお宝ビーコンIDが処理対象でない場合には、処理実行部66は、受信したお宝ビーコンIDに対して何も処理を行わない。
ステップS16において、処理実行部66は、アイテムDB56を参照して、受信したお宝ビーコンIDに罠設定があるか否かを判定する。罠設定がある場合はステップS18に進み、罠設定がない場合はステップS22に進む。
ステップS18において、処理実行部66は、当該罠の効果が発揮するか否かの判定処理を行う。当該罠の効果が発揮すると判定された場合はステップS20に進み、当該罠の効果が発揮されないと判定された場合はステップS22に進む。
ステップS20において、処理実行部66は、アイテムの取得が失敗したことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。
受信したお宝ビーコンIDに罠設定がない場合、あるいは、罠の効果が発揮されなかった場合は、ステップS22において、処理実行部66は、アイテムDB56において受信したお宝ビーコンIDに関連付けられているアイテムを特定する。受信したお宝ビーコンIDに複数のアイテムIDが関連付けられている場合は、処理実行部66は、当該複数のアイテムIDの中から1つのアイテムIDを選択して特定する。
ステップS24において、処理実行部66は、ステップS22で特定されたアイテムIDが示すアイテムをユーザAに付与する。具体的には、ユーザDB54において、受信した自己ユーザIDに、ステップS22で選択したアイテムIDを所持アイテムとして関連付ける処理を行う。
ステップS26において、処理実行部66は、アイテムを取得したことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。
ステップS28において、ユーザ端末Aの制御部30は、サーバ16からの通知に基づいて、ユーザAがアイテムを取得できたか否かを判定する。アイテムが取得できなかった場合はステップS30に進み、アイテムを取得できた場合はステップS32に進む。
ステップS30において、制御部30は、サーバ16から送信された画面情報に従って、アイテムの取得が失敗したことを通知するための画面を表示部40に表示する。その後、ユーザAは他のお宝ビーコン22を探索し、ユーザ端末Aが他のお宝ビーコンIDを受信した場合は、再度ステップS10からの処理が繰り返される。
ステップS32において、制御部30は、サーバ16から送信された画面情報に従って、アイテムを取得したことを通知するための画面を表示部40に表示する。
ステップS34において、ユーザAがアイテムを獲得すると、制御部30は、ユーザAのゲームモードを自動的にゴーホームモードに切り替える。
ステップS36において、制御部30は、ネットワーク通信部36を介して、ユーザAを示す自己ユーザIDと共に、ユーザAのゲームモードがゴーホームモードに切り替わったことを示すモード切替情報をサーバ16へ送信する。
ステップS38において、処理実行部66は、ユーザ端末Aから受信したモード切替情報に基づいて、ユーザDB54において、受信した自己ユーザIDに関連付けられた動作モードをゴーホームモードに変更する。
図8には、アイテムを獲得したユーザAがアジトビーコンAまで帰還するまでの処理であって、帰還途中に罠ビーコンIDを受信する場合の処理の流れが示されている。
ステップS50において、ユーザ端末Aは、罠ビーコン24から罠ビーコンIDを受信して、ユーザAを示す自己ユーザID及び受信した罠ビーコンIDをサーバ16に送信する。
ステップS52において、他装置特定部62は、ユーザAを示す自己ユーザID及び受信した罠ビーコンIDに基づいて、受信した罠ビーコンIDが示す罠ビーコン24をユーザ端末Aの近傍にあるビーコン装置として特定する。
ステップS54において、処理対象判定部64は、ユーザDB54に基づいて受信した自己ユーザIDからユーザAのステータスを特定し、特定されたステータスと処理対象DB58とに基づいて、受信した罠ビーコンIDが処理対象であるか否かを判定する。ここでは、ユーザAがアイテムを所持しており、ユーザAのゲームモードがゴーホームモードであるとして、罠ビーコンIDはユーザAにとって処理対象であるとし、ステップS56に進む。ユーザAのステータスが上記以外の場合など、受信した罠ビーコンIDが処理対象でない場合には、処理実行部66は、受信した罠ビーコンIDに対して何も処理を行わない。
ステップS56において、処理実行部66は、罠の効果が発揮するか否かの判定処理を行う。当該罠の効果が発揮すると判定された場合はステップS58に進み、当該罠の効果が発揮されないと判定された場合はステップS60以降の処理に進む。
ステップS58において、処理実行部66は、ユーザAから所持アイテムを没収する処理を行う。具体的には、ユーザDB54において、受信した自己ユーザIDに関連付けられている所持アイテムを「なし」とする処理を行う。
ステップS60において、ユーザ端末Aは、アジトビーコンAからアジトビーコンIDを受信して、ユーザAを示す自己ユーザID及び受信したアジトビーコンIDをサーバ16に送信する。
ステップS62において、サーバ16が自己ユーザID及びアジトビーコンIDを受信すると、処理実行部66は、受信した自己ユーザIDとユーザDB54とに基づいて、ユーザAがアイテムを所持しているか否かを判定する。ユーザAが罠に引っ掛かるなどしてアイテムを所持していない場合ステップS64に進み、アイテムを所持している場合はステップS66に進む。
ステップS64において、処理実行部66は、ユーザAがアイテムを喪失したことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。ここでは、ユーザAがアジト帰還するまでの間に罠に引っ掛かってアイテムを喪失したことを通知するための画面情報を送信する。
ステップS66において、処理実行部66は、ユーザAが獲得したアイテムを、ユーザAが所属するチームのアジトに格納する処理を行う。具体的には、ユーザDB54において、受信した自己ユーザIDに関連付けられている所持アイテムをアジト格納アイテムとする処理を行う。
ステップ68において、処理実行部66は、ユーザAがアイテムをアジトに格納したことを通知する画面をユーザ端末Aの表示部40に表示させるための画面情報をユーザ端末Aに送信する。
ステップS70において、ユーザ端末Aの制御部30は、サーバ16から送信された画面情報に従って、所持アイテムを喪失したこと、あるいは所持アイテムがアジトに格納されたことを通知するための画面を表示部40に表示する。
図9には、アイテムを獲得したユーザAがアジトビーコンAまで帰還するまでの処理であって、帰還途中にユーザBにより所持アイテムを盗む行為が行われる場合の処理の流れが示されている。ユーザAがアイテムを獲得した後、図8のフローチャートが示す処理と図9のフローチャートが示す処理は並列的に処理される。
ステップS80において、ユーザ端末Bは、ユーザ端末AからユーザAを示す受信ユーザIDを受信して、ユーザBを示す自己ユーザID及びユーザAを示す受信ユーザIDをサーバ16に送信する。
ステップS82において、ユーザ端末Bの制御部30は、ユーザ端末Bがユーザ端末Aから受信ユーザIDを受信すると、ユーザAが所持するアイテムを盗む行為を実行するか否かを確認する画面をユーザ端末Bの表示部40に表示させる。当該画面にて、ユーザBが盗む行為の実行を指示すると、ユーザ端末Bからサーバ16に対し、盗む行為の実行指示が送信される。
ステップS84において、他装置特定部62は、ユーザBを示す自己ユーザID及びユーザAを示す受信ユーザIDに基づいて、受信した受信ユーザIDが示すユーザ端末Aをユーザ端末Bの近傍にある他のユーザ端末14として特定する。
ステップS86において、処理対象判定部64は、ユーザDB54に基づいて受信した自己ユーザIDからユーザBのステータスを特定し、特定されたステータスと処理対象DB58とに基づいて、受信した受信ユーザIDが処理対象であるか否かを判定する。ここでは、ユーザBがアイテムを所持しておらず、ユーザBのゲームモードがスティールモードであるとして、受信ユーザIDはユーザBにとって処理対象であるとし、ステップS86に進む。ユーザBのステータスが上記以外の場合など、受信した受信ユーザIDが処理対象でない場合には、処理実行部66は、受信した受信ユーザIDに対して何も処理を行わない。
ステップS88において、処理実行部66は、ユーザBから盗む行為の実行指示を受けたか否かを判定する。ここでは、ステップS82でユーザ端末Bから盗む行為の実行指示を受信しているため、ステップS90に進む。ユーザBから盗む行為の実行指示を受けていない場合は、処理実行部66は、受信した受信ユーザIDに対して何も処理を行わない。
ステップS90において、処理実行部66は、ユーザBによる盗む行為が成功したか否かの判定処理を行う。盗む行為が失敗したと判定された場合はステップS92に進み、盗む行為が成功したと判定された場合はステップS94に進む。
ステップS92において、処理実行部66は、ユーザBが盗む行為を失敗したことを通知する画面をユーザ端末Bの表示部40に表示させるための画面情報をユーザ端末Bに送信する。
ステップS94において、処理実行部66は、ユーザAから所持アイテムを没収し、当該アイテムをユーザBに付与する処理を行う。具体的には、ユーザDB54において、受信した受信ユーザID(ユーザA)に関連付けられている所持アイテムを「なし」とし、当該アイテムを受信した自己ユーザID(ユーザB)の所持アイテムとする処理を行う。
ステップS96において、処理実行部66は、ユーザBが盗む行為を成功したことを通知する画面をユーザ端末Bの表示部40に表示させるための画面情報をユーザ端末Bに送信する。
ステップS98において、ユーザ端末Aの制御部30は、サーバ16から送信された画面情報に従って、所持アイテムを喪失したこと、あるいは所持アイテムがアジトに格納されたことを通知するための画面を表示部40に表示する。
以下、図9におけるステップS60〜S70においては、図8において説明したステップS60〜S70と同様の処理を行う。なお、図9におけるステップS64においては、ユーザAがアジト帰還するまでの間にユーザBに盗まれたことによりアイテムを喪失したことを通知するための画面情報を送信する。
以上説明した通り、ゲームシステム10においては、ユーザ端末Aがいずれかのビーコン装置あるいは他のユーザ端末14であるユーザ端末Bに近づいた場合に、サーバ16において当該ビーコン装置あるいはユーザ端末Bに応じた処理が実行される。これにより、ユーザ端末A及びB、あるいはビーコン装置群12との現実世界における位置関係を活用したゲームが提供される。
また、ユーザ端末Aがいずれかのビーコン装置あるいは他のユーザ端末14であるユーザ端末Bに近づいた場合に、サーバ16は、ユーザAに関する属性に応じて、当該ビーコン装置あるいはユーザ端末Bが処理対象であるか否かを判定する。そして、サーバ16が処理対象でないと判定した場合には処理を行わない。ユーザAに関する属性とは、例えばユーザAのゲーム内のステータスであってよく、これはゲームの進行に応じて動的に変動するものである。つまり、ユーザ端末Aからみて、処理対象となるビーコン装置あるいは他のユーザ端末14が動的に変動することになる。例えば、ユーザAがアイテムを所持しておらず、ゲームモードがサーチモードのときはお宝ビーコン22が処理対象であるが、ユーザAがアイテムを所持しておらず、ゲームモードがスティールモードのときはお宝ビーコン22が処理対象となっていない。つまり、後者の場合は、ユーザ端末A近傍にお宝ビーコン22があったとしてもユーザAはそれに気付くことができない。このように、ユーザAに関する属性に応じて処理対象を変化させることで、よりゲーム性が向上される。
また、罠ビーコン24により、あるいは他のユーザであるユーザBにより盗まれることにより、ユーザAは獲得したアイテムを喪失する場合がある。これによっても、さらにゲーム性が向上される。特に、ユーザBにより盗まれた場合は、ユーザAが獲得したアイテムがユーザBの所持アイテムとして移るのであって、アイテムの奪い合いといった楽しみ方ができるようになっている。
なお、上記第1実施形態においては、ユーザ端末14がビーコンIDあるいは受信ユーザIDを受信した場合に、ユーザ端末14から、自己ユーザIDと、受信したーコンIDあるいは受信ユーザIDがサーバ16へ送信されていたが、ユーザ端末14がビーコンIDあるいは受信ユーザIDを受信した場合に、ユーザ端末14が受信したビーコンIDあるいは受信ユーザIDの種類を判別して、自己ユーザIDと判別したIDの種類を示す情報をサーバ16に送信するようにしてもよい。この場合、サーバ16においては、IDの種類に応じた処理が実行される。ビーコンIDあるいは受信ユーザIDの種類の判別は、本実施形態のように受信したID自体が種別を表す場合は、受信したIDに基づいて行ってもよいし、ユーザ端末14の記憶部38に、ビーコンID及び受信ユーザIDと、その種類を関連付けたデータベースを記憶させておき、当該データベースに基づいて判定するようにしてもよい。
<第2実施形態>
図10には第2実施形態におけるユーザ端末70の構成概略図が、図11には第2実施形態におけるサーバ90の構成概略図が示されている。第1実施形態においては、アイテムDB56、処理対象DB58、他装置特定部62、処理対象判定部64、処理実行部66をサーバ16が有していたが、第2実施形態は、ユーザ端末70の制御部72が、他装置特定部74、処理対象判定部76、及び処理実行部78の機能を発揮し、ユーザ端末70の記憶部80に、アイテムDB82及び処理対象DB84が記憶されることとしたものである。上記各部の詳細は第1実施形態と同様であるため、ここでは説明を省略する。
また、図10に示される通り、第2実施形態におけるユーザ端末70の記憶部80には、ユーザDB54に記憶されていた各ユーザに関する属性情報である端末側ユーザDB86が記憶される。例えば、ユーザAが使用するユーザ端末Aの端末側ユーザDB86としては、ユーザAのゲームモード、所持アイテム、罠所持の有無、アジトビーコンID、アジト格納アイテムなどが記憶される。
図11に示される通り、第2実施形態におけるサーバ90の制御部92は、他装置特定部、処理対象判定部、処理実行部としての機能を発揮しない。また、サーバ90の記憶部94にはサーバ側ユーザDB96が記憶される。サーバ側ユーザDB96は、第1実施形態におけるユーザDB54同様、各ユーザに関する属性情報が記憶される。
第2実施形態においては、第1実施形態において主にサーバで実施されていた処理がユーザ端末70側で実施される。以下、図12及び図13に示すフローチャートに従って、第2実施形態における処理の流れについて説明する。
図11には、第2実施形態において、ユーザAがお宝ビーコンIDを受信することでアイテムを獲得する場合の処理の流れが示されている。
ステップS100において、ユーザ端末Aは、お宝ビーコン22からお宝ビーコンIDを受信する。
ステップS102において、他装置特定部74は、受信したお宝ビーコンIDに基づいて、受信したお宝ビーコンIDが示すお宝ビーコン22をユーザ端末Aの近傍にあるビーコン装置として特定する。
ステップS104において、処理対象判定部76は、端末側ユーザDB86に基づいてユーザAのステータスを特定し、特定されたステータスと、ユーザ端末Aの記憶部80に記憶された処理対象DB84とに基づいて、受信したお宝ビーコンIDが処理対象であるか否かを判定する。ここでは、ユーザAがアイテムを所持しておらず、ユーザAのゲームモードがサーチモードであるとして、お宝ビーコンIDはユーザAにとって処理対象であるとし、ステップS106に進む。ユーザAのステータスが上記以外の場合など、受信したお宝ビーコンIDが処理対象でない場合には、処理実行部78は、受信したお宝ビーコンIDに対して何も処理を行わない。
ステップS106において、処理実行部78は、アイテムDB82を参照して、受信したお宝ビーコンIDに罠設定があるか否かを判定する。罠設定がある場合はステップS108に進み、罠設定がない場合はステップS112に進む。
ステップS108において、処理実行部78は、当該罠の効果が発揮するか否かの判定処理を行う。当該罠の効果が発揮すると判定された場合はステップS110に進み、当該罠の効果が発揮されないと判定された場合はステップS112に進む。
ステップS110において、処理実行部78は、アイテムの取得が失敗したことを通知する画面をユーザ端末Aの表示部40に表示させる。
受信したお宝ビーコンIDに罠設定がない場合、あるいは、罠の効果が発揮されなかった場合は、ステップS112において、処理実行部78は、アイテムDB82において受信したお宝ビーコンIDに関連付けられているアイテムを特定する。受信したお宝ビーコンIDに複数のアイテムIDが関連付けられている場合は、処理実行部78は、当該複数のアイテムIDの中から1つのアイテムIDを選択して特定する。
ステップS114において、処理実行部78は、ステップS112で特定されたアイテムIDが示すアイテムをユーザAに付与する。具体的には、端末側ユーザDB86において、ステップS112で選択したアイテムIDを所持アイテムとする処理を行う。
ステップS116において、処理実行部78は、アイテムを取得したことを通知する画面をユーザ端末Aの表示部40に表示させる。
ステップS118において、処理実行部78は、ネットワーク通信部36を介して、ユーザAを示す自己ユーザIDと共に、ユーザAが取得したアイテムを通知する情報をサーバ90へ送信する。
ステップS120において、ユーザAが取得したアイテムを通知する情報を受信したサーバ90の制御部92は、サーバ側ユーザDB96において、ユーザAの所持アイテムを更新する処理を行う。
ステップS122において、ユーザAがアイテムを獲得すると、処理実行部78は、ユーザAのゲームモードを自動的にゴーホームモードに切り替える。
ステップS124において、処理実行部78は、ネットワーク通信部36を介して、ユーザAを示す自己ユーザIDと共に、ユーザAのゲームモードがゴーホームモードに切り替わったことを示すモード切替情報をサーバ90へ送信する。
ステップS126において、サーバ90の制御部92は、ユーザ端末Aから受信したモード切替情報に基づいて、サーバ側ユーザDB96において、受信した自己ユーザIDに関連付けられた動作モードをゴーホームモードに変更する。
第2実施形態においては、ユーザ端末Aが罠ビーコンIDを受信した場合においても、上記同様にユーザ端末A側で処理が行われ、その結果がサーバ90に送信される。ここでは、罠ビーコンを受信した場合の処理の流れの説明は省略する。
図13には、第2実施形態において、アイテムを獲得したユーザAがアジトビーコンAまで帰還するまでの処理であって、帰還途中にユーザBにより所持アイテムを盗む行為が行われる場合の処理の流れが示されている。
ステップS130において、ユーザ端末Bは、ユーザ端末AからユーザAを示す受信ユーザIDを受信する。
ステップS132において、ユーザ端末Bの制御部72は、ユーザ端末Bがユーザ端末Aから受信ユーザIDを受信すると、ユーザAが所持するアイテムを盗む行為を実行するか否かを確認する画面をユーザ端末Bの表示部40に表示させる。
ステップS134において、ユーザ端末Bの他装置特定部74は、受信したユーザAを示す受信ユーザIDに基づいて、ユーザ端末Aをユーザ端末Bの近傍にある他のユーザ端末14として特定する。
ステップS136において、ユーザ端末Bの処理対象判定部76は、ユーザ端末Bの記憶部80に記憶された端末側ユーザDB86に基づいてユーザBのステータスを特定し、特定されたステータスと、ユーザ端末Bの記憶部80に記憶された処理対象DB84とに基づいて、受信した受信ユーザIDが処理対象であるか否かを判定する。ここでは、ユーザBがアイテムを所持しておらず、ユーザBのゲームモードがスティールモードであるとして、受信ユーザIDはユーザBにとって処理対象であるとし、ステップS138に進む。ユーザBのステータスが上記以外の場合など、受信した受信ユーザIDが処理対象でない場合には、ユーザ端末Bの処理実行部78は、受信した受信ユーザIDに対して何も処理を行わない。
ステップS138において、ユーザ端末Bの処理実行部78は、ユーザBから盗む行為の実行指示を受けたか否かを判定する。ステップS132で表示した確認画面においてユーザBが盗む実行を指示した場合はステップS90に進む。ユーザBから盗む行為の実行指示を受けていない場合は、ユーザ端末Bの処理実行部78は、受信した受信ユーザIDに対して何も処理を行わない。
ステップS140において、ユーザ端末Bの処理実行部78は、ユーザBによる盗む行為が成功したか否かの判定処理を行う。盗む行為が失敗したと判定された場合はステップS142に進み、盗む行為が成功したと判定された場合はステップS144に進む。
ステップS142において、ユーザ端末Bの処理実行部78は、ユーザBが盗む行為を失敗したことを通知する画面をユーザ端末Bの表示部40に表示させる。
ステップS144において、ユーザ端末Bの処理実行部78は、ユーザBの盗む行為が成功したことを通知する情報をユーザ端末Aに送信する。
ステップS146において、ユーザ端末Aの処理実行部78は、ユーザBの盗む行為が成功したことを通知する情報を受信すると、ユーザAから所持アイテムを没収する処理を行う。具体的には、ユーザ端末Aの記憶部80に記憶されている端末側ユーザDB86において、所持アイテムを「なし」とする処理を行う。
ステップS148において、ユーザ端末Aの処理実行部78は、ユーザAが所持していたアイテムを通知する情報をユーザ端末Bに送信する。
ステップS150において、ユーザ端末Aの処理実行部78は、ユーザAを示す自己ユーザIDと共に、ユーザAがアイテムを盗まれた(没収された)ことを示す情報をサーバ90へ送信する。
ステップS152において、ユーザ端末Bの処理実行部78は、ユーザAが所持していたアイテムを通知する情報を受信すると、ユーザBにユーザAが所持していたアイテムを付与する処理を行う。具体的には、ユーザ端末Bの記憶部80に記憶されている端末側ユーザDB86において、所持アイテムをユーザAが所持していたアイテムに更新する処理を行う。
ステップS154において、ユーザ端末Bの処理実行部78は、ユーザBが、ユーザAが所持していたアイテムを獲得したこと、つまり、ユーザBがユーザAからアイテムを盗んだことを通知する画面をユーザ端末Bの表示部40に表示させる。
ステップS156において、ユーザ端末Bの処理実行部78は、ユーザBを示す自己ユーザIDと共に、ユーザBがアイテムを獲得したことを示す情報をサーバ90へ送信する。
ステップS158において、サーバ90の制御部92は、ユーザ端末A及びユーザ端末Bから受信した情報に基づいて、サーバ側ユーザDB96を更新する処理を行う。具体的には、ユーザAが所持していたアイテムをユーザBの所持するアイテムとする処理を行う。
ステップS160において、ユーザ端末Aは、アジトビーコンAからアジトビーコンIDを受信する。
ステップS162において、ユーザ端末Aの処理実行部78は、端末側ユーザDB86に基づいて、ユーザAがアイテムを所持しているか否かを判定する。ユーザAが罠に引っ掛かるなどしてアイテムを所持していない場合ステップS164に進み、アイテムを所持している場合はステップS166に進む。
ステップS164において、ユーザ端末Aの処理実行部78は、ユーザAがアイテムを喪失したことを通知する画面をユーザ端末Aの表示部40に表示させる。ここでは、ユーザAがアジト帰還するまでの間に、ユーザBから盗まれることによってアイテムを喪失したことを通知するための画面情報を表示させる。
ステップS166において、ユーザ端末Aの処理実行部78は、ユーザAが獲得したアイテムを、ユーザAが所属するチームのアジトに格納する処理を行う。具体的には、端末側ユーザDB86において、所持アイテムをアジト格納アイテムとする処理を行う。
ステップ168において、ユーザ端末Aの処理実行部78は、ユーザAがアイテムをアジトに格納したことを通知する画面をユーザ端末Aの表示部40に表示させる。
ステップS170において、ユーザ端末Aの処理実行部78は、ユーザAがアイテムをアジトに格納したことを通知する情報をサーバ90へ送信する。
ステップS172において、サーバ90の制御部92は、ユーザAがアイテムをアジトに格納したことを通知する情報を受信すると、サーバ側ユーザDB96を更新する。具体的には、サーバ側ユーザDB96において、ユーザAの所持アイテムをアジト格納アイテムとする処理を行う。
以上の通り、第2実施形態においては、他装置特定、処理対象判定、及び処理実行の各処理がユーザ端末70側で実行される。第2実施形態においては、他装置特定、処理対象判定、及び処理実行の全ての処理がユーザ端末70側で実行されているが、そのうちの一部のみをユーザ端末70側で処理するようにしてもよい。また、端末側ユーザDB86、アイテムDB82、及び処理対象DB84がユーザ端末70の記憶部80に記憶されていたが、そのうちの一部のみを記憶部80に記憶するようにしてもよい。例えば、他装置特定処理と処理対象判定処理のみをユーザ端末70で実施し、ユーザ端末70が、受信したビーコンID又は受信ユーザIDが処理対象でないと判定した場合は、自己ユーザID及び受信したビーコンIDなどをサーバ90に送信しないようにしてもよい。
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。