説明

ゲームシステム、移動通信端末及びプログラム

【課題】ゲームに参加するユーザの移動通信端末でゲームシステムが構成され、マスタとなる移動通信端末の管理の下で、各移動通信端末の位置と連動したゲームを実行する。
【解決手段】ゲームシステム1は、測位機能を有する移動通信端末10a,10b,10cで構成される。移動通信端末10aはマスタとなり、ゲーム内で発生する事象やゲームの進行状況などの管理を行う一方、ゲームに参加するユーザに使用されるものでもある。移動通信端末10aは現実世界の位置を表したマップ上の位置に対応させて当該事象を設定し、その設定位置と移動通信端末10の位置が合致した場合に事象を発生させてゲームを進行させる。スレーブとなる移動通信端末10b,10cは、事象を発生させる契機となる測位を行った旨を移動通信端末10aに通知する。移動通信端末10aは事象を発生させるとゲームの進行状況をスレーブに一斉配信し、各端末で進行状況を同期させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動通信端末の測位機能により得られる位置と連動したゲームを実行するゲームシステムに関する。
【背景技術】
【0002】
携帯電話端末やスマートフォンなどの移動通信端末の測位機能を利用して、移動通信端末の位置と連動したゲームを実行するゲームシステムがある。特許文献1は、移動体の移動により得点付けを行ってゲームを進行させるゲームシステムにおいて、現実世界の位置に対応させて仮想的に得点領域を設定した得点マップと、移動体の位置を示す位置情報とに基づいて、各移動体のユーザの得点を算出することを開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−95865号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1が開示するゲームシステムでは、ゲームに参加するユーザが使用するユーザ端末とは別に、サーバとしての役割を担うサービス提供端末が設けられる。サービス提供端末は、個々のユーザ端末と通信してゲームの実行を支援するゲームサービスを提供するものである。
これに対し、本発明の目的は、ゲームに参加するユーザの移動通信端末でゲームシステムが構成され、マスタとなる移動通信端末の管理の下で、各移動通信端末の位置と連動したゲームを実行するための仕組みを提供することである。
【課題を解決するための手段】
【0005】
上述した課題を解決するため、本発明のゲームシステムは、自端末の位置を測る測位部を有する移動通信端末として、1のマスタの移動通信端末と、当該マスタの移動通信端末に無線通信により接続するスレーブの移動通信端末とを備えるゲームシステムであって、前記マスタの移動通信端末が、現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生する事象を設定する事象設定手段と、前記事象設定手段により前記事象が設定された前記マップ上の位置と、いずれかの前記測位部が測る位置とが合致した場合に、当該事象を発生させてゲームを進行させるゲーム進行手段と、前記ゲームの進行状況を示す内容を前記マップに関連づけて表示する第1表示手段と、前記スレーブの移動通信端末に前記ゲームの進行状況を配信する配信手段と、前記スレーブの移動通信端末の測位部が測った位置に関する通知を受信する通知受信手段とを有し、前記スレーブの移動通信端末が、前記配信手段により配信された前記進行状況を受信する進行状況受信手段と、前記進行状況受信手段が受信した前記進行状況を示す内容を前記マップに関連づけて表示する第2表示手段と、自端末の測位部が測った位置に関する前記通知を、前記マスタの移動通信端末に送信する通知送信手段とを有することを特徴とする。
【0006】
本発明において、前記移動通信端末の各々が、自端末をマスタ又はスレーブのいずれかとするように自端末の動作モードを設定するモード設定手段を有するようにしてもよい。
この構成において、前記モード設定手段は、自端末がスレーブであるときに所定の変更条件を満たした場合、自端末をマスタとするように前記動作モードを変更するようにしてもよい。また、前記モード設定手段は、自端末がマスタであるときに自端末以外の前記移動通信端末がマスタに変更させられる場合、自端末をスレーブとするように前記動作モードを変更するようにしてもよい。
【0007】
本発明において、前記ゲーム進行手段は、前記各事象を規定回数だけ発生させてゲームを進行させるものであり、一の前記事象が当該規定回数を超えて発生させられようとした場合、その契機となる測位のタイミングが早いものをより優先して当該事象を当該規定回数だけ発生させるようにしてもよい。
本発明において、前記事象設定手段は、前記移動通信端末のいずれかの測位部により測られた位置により定まるエリア内で、前記事象をランダムに設定するようにしてもよい。
【0008】
本発明において、前記ゲーム進行手段は、所定の縮尺の前記マップ上を移動するオブジェクト画像を前記第1及び第2表示手段に表示させて、当該オブジェクト画像の位置と前記測位部が測る位置とが合致した場合に所定の前記事象を発生させ、前記第1及び第2表示手段は、前記オブジェクト画像を表示しているときに前記縮尺を変更する場合、当該縮尺が大きくなるほど、前記現実世界での移動速度に換算したときの当該オブジェクト画像の移動速度が小さくなるように、当該移動速度を変更するようにしてもよい。
この構成において、前記第1及び第2表示手段は、前記縮尺が閾値以下である場合、当該縮尺を変更したときであっても前記オブジェクト画像の移動速度を変更しないようにしてもよい。
【0009】
本発明の移動通信端末は、自端末の位置を測る測位部を有する移動通信端末として、1のマスタの移動通信端末と、当該マスタの移動通信端末に無線通信により接続するスレーブの移動通信端末とを備えるゲームシステムの移動通信端末であって、自端末をマスタ又はスレーブのいずれかとするように自端末の動作モードを設定するモード設定手段と、前記モード設定手段がマスタに設定したとき、現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生する事象を設定する事象設定手段と、前記モード設定手段がマスタに設定したとき、前記事象設定手段により前記事象が設定された前記マップ上の位置と、いずれかの前記測位部が測る位置とが合致した場合に、当該事象を発生させてゲームを進行させるゲーム進行手段と、前記モード設定手段がマスタに設定したとき、前記ゲームの進行状況を示す内容を前記マップに関連づけて表示する第1表示手段と、前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末に前記ゲームの進行状況を配信する配信手段と、前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末の測位部が測った位置に関する通知を受信する通知受信手段と、前記モード設定手段がスレーブに設定したとき、前記マスタの移動通信端末により配信された前記進行状況を受信する進行状況受信手段と、前記モード設定手段がスレーブに設定したとき、前記進行状況受信手段が受信した前記進行状況を示す内容を前記マップに関連づけて表示する第2表示手段と、前記モード設定手段がスレーブに設定したとき、自端末の測位部が測った位置に関する前記通知を、前記マスタの移動通信端末に送信する通知送信手段とを備えることを特徴とする。
【0010】
本発明のプログラムは、自端末の位置を測る測位部を有する移動通信端末として、1のマスタの移動通信端末と、当該マスタの移動通信端末に無線通信により接続するスレーブの移動通信端末とを備えるゲームシステムにおける移動通信端末のコンピュータを、当該移動通信端末をマスタ又はスレーブのいずれかとするように当該移動通信端末の動作モードを設定するモード設定手段と、前記モード設定手段がマスタに設定したとき、現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生する事象を設定する事象設定手段と、前記モード設定手段がマスタに設定したとき、前記事象設定手段により前記事象が設定された前記マップ上の位置と、いずれかの前記測位部が測る位置とが合致した場合に、当該事象を発生させてゲームを進行させるゲーム進行手段と、前記モード設定手段がマスタに設定したとき、前記ゲームの進行状況を示す内容を前記マップに関連づけて表示する第1表示手段と、前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末に前記ゲームの進行状況を配信する配信手段と、前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末の測位部が測った位置に関する通知を受信する通知受信手段と、前記モード設定手段がスレーブに設定したとき、マスタの移動通信端末により配信された前記進行状況を受信する進行状況受信手段と、前記モード設定手段がスレーブに設定したとき、前記進行状況受信手段が受信した前記進行状況を示す内容を前記マップに関連づけて表示する第2表示手段と、前記モード設定手段がスレーブに設定したとき、当該移動通信端末の測位部が測った位置に関する前記通知を、前記マスタの移動通信端末に送信する通知送信手段として機能させるためのものである。
【発明の効果】
【0011】
本発明によれば、ゲームに参加するユーザの移動通信端末でゲームシステムが構成され、マスタとなる移動通信端末の管理の下で、各移動通信端末の位置と連動したゲームを実行することができる。
【図面の簡単な説明】
【0012】
【図1】ゲームシステムの全体構成を示す図。
【図2】移動通信端末の構成を示すブロック図。
【図3】ゲーム管理DBのデータ構造を示す図。
【図4】ゲーム画面の一例を示す図。
【図5】ゲーム画面の一例を示す図。
【図6】ゲームシステムの機能的構成を示す機能ブロック図。
【図7】ゲーム開始前処理の動作手順を示すシーケンスチャート。
【図8】ゲーム進行処理の動作手順を示すシーケンスチャート。
【図9】アイテム取得判定処理の動作手順を示すフローチャート。
【図10】ゲーム管理DBのデータ構造を示す図。
【図11】ゲーム画面の一例を示す図。
【図12】ゲーム終了時処理の動作手順を示すフローチャート。
【図13】ゲーム結果の表示画面の一例を示す図。
【図14】ゲーム管理DBのデータ構造を示す図。
【図15】減点イベントの概要を説明する図。
【図16】減点イベントの動作手順を示すシーケンスチャート。
【図17】減点イベントの内容を説明する図。
【図18】減点イベント時表示処理の動作手順を示すフローチャート。
【図19】回避イベントの概要を説明する図。
【図20】回避イベント時表示処理の動作手順を示すフローチャート。
【図21】回避イベントの内容を説明する図。
【図22】ゲームシステムの機能的構成を示す機能ブロック図。
【図23】ゲーム進行処理の動作手順を示すシーケンスチャート。
【図24】ゲーム進行処理の動作手順を示すシーケンスチャート。
【図25】ゲーム進行処理の動作手順を示すシーケンスチャート。
【発明を実施するための形態】
【0013】
[実施形態]
以下、図面を参照しつつ本発明の一実施形態について説明する。
図1は、ゲームシステム1の全体構成を示す図である。図1に示すように、ゲームシステム1は、無線通信機能を備える複数の移動通信端末10によって構成される。移動通信端末10は、ゲームに参加するユーザによって使用される。ゲームシステム1は、移動通信端末10の位置と連動したゲームを実行するシステムであり、ユーザに付与される得点を競うものである。より具体的には、緯度及び経度で特定される現実世界の位置を表したマップ上の位置に対応させてゲーム内で発生する事象が設定され、その事象が設定されたマップ上の位置と、ユーザが使用する移動通信端末10の位置とが合致した場合に、その事象が発生する。この事象の発生によってユーザが保有する得点が変動する。ここでいう合致は、マップで定義される現実世界の位置と、移動通信端末10の測位機能により得られる位置とが一致することをいうが、決められた距離範囲に近接した場合に両者の位置が一致するとみなしてよい。
以下において、ゲームシステム1で実行されるゲーム内で発生する事象であって、ユーザが保有する得点を変動させ得る事象のことを、「イベント」と称する。
【0014】
移動通信端末10は、それぞれスマートフォンであり、ネットワークNWを介して無線通信により互いが接続されている。ネットワークNWは、ここでは移動体通信網、ゲートウェイ及びインターネットを含む通信網である。図1には、移動通信端末10として移動通信端末10a,10b,10cを示しており、これらは互いに同一の構成を有している。また、移動通信端末10には、各端末を識別する識別情報として、ここではゲームに参加するユーザを識別するユーザIDが割り当てられる。図1に示すように、移動通信端末10aに割り当てられるユーザIDは「UID01」であり、移動通信端末10bに割り当てられるユーザIDは「UID02」であり、移動通信端末10cに割り当てられるユーザIDは「UID03」である。ユーザIDは、例えばSIM(Subscriber Identity Module)カードで特定される端末識別情報である。
【0015】
また、各移動通信端末10は、自端末をマスタ又はスレーブのいずれかとするように、自端末の動作モードを設定する。ゲームシステム1では、いずれか1の移動通信端末10がマスタとなり、それ以外はスレーブとなり、マスタの管理の下でゲームが進行させられる。すなわち、マスタとなる移動通信端末10は、ゲームに参加するユーザによって使用されるものである一方で、ゲームの進行に必要な動作を行うサーバとしての役割を担うものでもある。
各移動通信端末10がマスタ又はスレーブのいずれとなるかは、ゲームの開始前に設定された内容に従う。以下、特に断りのない限り、移動通信端末10aがマスタとなり、移動通信端末10b,10cがスレーブとなる場合を説明する。また、以下の説明で、移動通信端末10a、10b及び10cを特に区別する必要にない場合に、これらを「移動通信端末10」と総称することがある。
【0016】
図2は、移動通信端末10の構成を示すブロック図である。図2に示すように、移動通信端末10は、制御部11と、音声入出力部12と、無線通信部13と、UI(User Interface)部14と、測位部15と、記憶部16とを備える。
制御部11は、CPUを含む演算装置やメモリを備え、プログラムを実行することにより移動通信端末10の各部を制御する。制御部11は、現在時刻を測る計時部として例えばリアルタイムクロックを備える。移動通信端末10は、図示せぬタイムサーバで計られる標準時刻と、制御部11の計時部が計る時刻とを無線通信により同期させる機能を有している。すなわち、ゲームシステム1の各移動通信端末10で計られる時刻は、常に同期しているとみなす。また、制御部11のメモリには、制御部11が自端末について設定した動作モードを示す設定データEが記憶される。設定データEを記憶して移動通信端末10の動作モードを設定する制御部11は、モード設定手段として機能するものである。制御部11は、設定データEが示す動作モードに従って、移動通信端末10をマスタ又はスレーブのいずれかとして動作させる。
【0017】
音声入出力部12は、受話音声を収音するマイクや送話音声を放音するスピーカなどを備え、音声の入出力に関する機能を実現する。無線通信部13は、無線通信回路やアンテナを備え、ネットワークNWに無線通信により接続するためのインタフェースである。UI部14は、画像を表示する表示面に重ねられたタッチパネルを備え、GUI(Graphical User Interface)を提供するものである。UI部14は、タッチパネルによりユーザからの操作を受け付けるとともに、表示面に表示する画像により情報を報知する。測位部15は、GPS(Global Positioning System)測位方式に従って移動通信端末10の位置を測り、測った位置を示す位置情報を生成する。測位部15が生成する位置情報は、移動通信端末10の現在位置を示す緯度及び経度を表す。記憶部16は、例えばEEPROM(Electronically Erasable and Programmable ROM)を備え、ゲームアプリ161及びゲーム管理DB(Data Base)162を含む各種のデータを記憶する。ゲームアプリ161は、ゲームシステム1でゲームを実行するためのアプリケーションプログラムであり、予め移動通信端末10にインストールされて記憶部16に記憶されている。ゲーム管理DB162は、ゲームシステム1で実行されるゲームに関する様々な情報を記憶するデータベースである。ゲーム管理DB162は、例えば、ゲーム内で発生するイベントの設定内容やゲームの進行状況を記憶する。
【0018】
図3は、ゲーム管理DB162のデータ構造を示す図である。
図3に示すように、ゲーム管理DB162は、「アイテムNo.」と、「位置情報」と、「得点」と、「取得順序」と、「アイテム数」と、「発生最終時刻」と、「ユーザ管理情報」という各情報を対応付けた構造である。
「アイテムNo.」は、ゲーム内で発生するイベントのうち、ユーザがアイテムを取得するイベントを識別する情報である。このイベントのことを、以下では「アイテム取得イベント」という。ゲーム管理DB162は、「アイテムNo.」に対応付けて、このアイテムNo.で識別されるアイテム取得イベントに関する情報を記憶する。「位置情報」は、アイテム取得イベントが設定された現実世界での位置を示す情報であり、緯度及び経度を表す。「得点」は、アイテム取得イベントを発生させる測位を行った移動通信端末10のユーザに付与される得点を表す。
【0019】
「取得順序」は、複数あるアイテムの取得すべき順序、すなわち、アイテム取得イベントの発生順序を表す。図3に示す内容に従えば、アイテムNo.「001」のアイテム取得イベントが発生した後でしか、アイテムNo.「002」のアイテム取得イベントが発生しない。同様に、アイテムNo.「002」のアイテム取得イベントが発生した後でしか、アイテムNo.「003」のアイテム取得イベントが発生しない。「取得順序」が設定されない場合、任意の順序でアイテム取得イベントを発生させることが可能となる。「アイテム数」は、アイテムの個数を規定するものであり、換言すると、一のアイテム取得イベントが発生する回数の総数(規定回数)を規定するものである。例えば、アイテムNo.「001」のアイテム取得イベントについては、互いに異なる3人のユーザの移動通信端末10が発生させることができる。アイテムNo.「002」のアイテム取得イベントについては、互いに異なる2人のユーザの移動通信端末10が発生させることができる。
【0020】
「発生最終時刻」は、アイテム取得イベントが発生する最終時刻を表し、この最終時刻以降はアイテム取得イベントが無効となり、このイベントが発生しないようにすることを規定する情報である。「ユーザ管理情報」は、「ユーザID」と「イベント発生時刻」という各情報を対応付けた構造であり、各ユーザが取得した得点に関する情報を表す。「ユーザID」は、アイテム取得イベントを発生させた移動通信端末10を識別するユーザIDである。「イベント発生時刻」は、アイテム取得イベントが発生した時刻を示す。アイテム取得イベントが発生させられる前は、図3に示すように「ユーザ管理情報」のフィールドはブランクである。「発生最終時刻」を設定しないことも可能であり、この場合は任意の時刻までゲーム開催が可能である。
次に、ゲームの進行中に移動通信端末10のUI部14に表示されるゲーム画面について説明する。
【0021】
図4,5は、或るエリアのマップが配置されたゲーム画面GSを示す図である。図4は、マップ上にイベントに関する情報が示されておらず、マップのみが示されたゲーム画面GSを示したものである。図5は、ゲーム管理DB162に従ってイベントに関する情報がマップ上に示されたゲーム画面GSである。
図4に示すゲーム画面GSは、例えば地図サイトなどにより提供される地図データを利用してマップを配置した表示画面である。ゲーム画面GSのマップは、各エリアを上空から見た様子を表す二次元の地図であり、ユーザがUI部14を操作することで縮尺(つまり、ズームレベル)を変更して表示することもできる。図5に示すゲーム画面GSは、ゲーム管理DB162の内容に従って、ゲームの進行状況に関する内容をマップに関連づけた表示画面ある。このゲーム画面GSのように、ゲーム管理DB162の「位置情報」で規定される位置であって図5において数値を丸囲みで表した位置に、アイテム取得イベントが設定されている。そして、この丸囲みされた数値は、ゲーム管理DB162の「得点」で規定される値である。また、図5に示すゲーム画面GSには、測位部15の測位結果に基づいて、ユーザの現在位置に「☆(現在地)」とマーキングされている。
ユーザは、図5に示すゲーム画面GSを移動通信端末10に表示させた状態でゲームに参加する。そして、ユーザは、このゲーム画面GSを見ながらアイテム取得イベントが設定された位置に向かう。そして、移動通信端末10の位置とアイテム取得イベントの設定位置とが合致した場合、その移動通信端末10のユーザにアイテム取得イベントに応じた得点が付与される。
【0022】
図6は、ゲームシステム1の機能的構成を示す機能ブロック図である。ただし、スレーブとなる移動通信端末10b,10cの機能的構成は互いに同一であるため、それらを総称して説明する。マスタの移動通信端末10aは、ゲームアプリ161を含むプログラムを実行することにより、イベント設定部101と、ゲーム進行部102と、第1表示制御部103と、配信部104と、通知受信部105と、位置情報交換部106とに相当する機能を実現する。スレーブの移動通信端末10b,10cは、ゲームアプリ161を含むプログラムを実行することにより、進行状況受信部201と、第2表示制御部202と、通知送信部203と、位置情報交換部204とに相当する機能を実現する。
【0023】
イベント設定部101は、現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生するアイテム取得イベントを設定する事象設定手段である。イベント設定部101は、ゲームの開始前に、UI部14の操作によりユーザに指定された内容に従ってアイテム取得イベントを設定し、その設定内容をゲーム管理DB162に記述して更新する。
ゲーム進行部102は、ゲーム進行に関わる制御を司るゲーム進行手段である。ゲーム進行部102は、ゲーム管理DB162で規定されるアイテム取得イベントが設定されたマップ上の位置と、移動通信端末10の測位部15が測る位置とが合致した場合に、アイテム取得イベントを発生させてゲームを進行させる。ゲーム進行部102は、マスタの移動通信端末10aの測位部15の測位結果に基づいて、移動通信端末10aの位置を特定する。また、ゲーム進行部102は、通知受信部105により受信される後述するイベント発生通知に基づいて、スレーブの移動通信端末10b,10cの位置を特定する。ゲーム進行部102は、ゲームの進行状況に応じてゲーム管理DB162を更新する。
【0024】
第1表示制御部103は、ゲーム管理DB162に基づいて、ゲームの進行状況を示す内容をマップに関連づけたゲーム画面GS(図4,5参照)をUI部14に表示させる。すなわち、第1表示制御部103及びUI部14の協働により第1表示手段が実現される。また、第1表示制御部103は、位置情報交換部106により他端末から取得された位置情報が示す位置を、当該位置情報を提供した移動通信端末10を識別する情報(例えば、ユーザ名)と対応付けてゲーム画面GSのマップ上に示す。
配信部104は、ゲーム管理DB162に基づいて、スレーブである移動通信端末10b,10cにゲームの進行状況を配信する配信手段である。具体的には、配信部104は、移動通信端末10aのゲーム管理DB162の内容と、移動通信端末10b,10cのゲーム管理DB162とを同期させるためのデータを一斉配信する。
通知受信部105は、移動通信端末10b,10cの測位部15が測った位置に関する通知であるイベント発生通知を受信する通知受信手段である。イベント発生通知は、マスタの移動通信端末10aがスレーブの移動通信端末10b,10cでイベントを発生させるための測位が行われたことを把握するために、スレーブからマスタの移動通信端末10に送信されるものである。換言すると、アイテム取得イベントを発生させる契機となる測位を行った移動通信端末10b,10cがイベント発生通知を送信する。
位置情報交換部106は、測位部15により測られた位置を示す位置情報を無線通信により移動通信端末10b,10cのそれぞれに提供する一方、無線通信により移動通信端末10b,10cから提供される位置情報を取得する位置情報交換手段である。
【0025】
進行状況受信部201は、配信部104により配信されたゲームの進行状況を受信する進行状況受信手段である。
第2表示制御部202は、進行状況受信部201が受信したゲームの進行状況を示す内容を、ゲーム画面GSのマップに関連づけて表示する。すなわち、第2表示制御部202及びUI部14の協働により第2表示手段が実現される。また、第2表示制御部202は、位置情報交換部204により取得された位置情報が示す位置を、当該位置情報を提供した端末を識別する情報(例えば、ユーザ名)と対応付けてマップ上に示す。
通知送信部203は、自端末の測位部15が測った位置に関する通知であるイベント発生通知を、マスタの移動通信端末10aに送信する通知送信手段である。通知送信部203は、アイテム取得イベントが設定された位置と、測位部15が測る位置とが合致した場合に、イベント発生通知を送信する。
位置情報交換部204は、測位部15により測られた位置を示す位置情報を自端末以外の端末に無線通信によりそれぞれ提供する一方、無線通信によりこれらの端末から提供される位置情報を取得する位置情報交換手段である。
なお、上述した位置情報交換部106,204で行われる位置情報の交換はスレーブである移動通信端末10同士で行われることがある一方で、ゲームの進行に関わる情報はマスタである移動通信端末10に集約される。
【0026】
次に、ゲームシステム1の動作について説明する。ゲームシステム1における動作は、ゲームの開始前に行われる「ゲーム開始前処理」と、ゲームを進行させるための「ゲーム進行処理」と、ゲームの終了時に行われる「ゲーム終了時処理」という、主に3つに大別される。また、これらの各動作は、移動通信端末10の制御部11がゲームアプリ161を実行することで実現される。
【0027】
<ゲーム開始前処理>
図7は、ゲームシステム1におけるゲーム開始前処理の動作手順を示すシーケンスチャートである。
まず、移動通信端末10はマスタ・スレーブ設定処理を実行する(ステップSA1)。マスタ・スレーブ設定処理は、各移動通信端末10をマスタ又はスレーブのどちらで動作させるかを規定する動作モードを設定する処理である。マスタ・スレーブ設定処理では、例えば、ユーザに指定された移動通信端末10がマスタとなり、それ以外の移動通信端末10がスレーブとなる。また、ユーザの指定なしに、移動通信端末10同士の無線通信により、自動で動作モードが設定されてもよい。移動通信端末10の制御部11は、自端末の動作モードを設定すると、その動作モードを示す設定データEをメモリに記憶する。また、マスタ・スレーブ設定処理においては、制御部11は、自端末以外の各移動通信端末10と通信するために必要な通信先情報を交換し、通信先情報をリスト化した通信リストを生成して記憶部16に記憶させる。この通信先リストは、ゲームシステム1の移動通信端末10同士で位置情報を交換するときに参照される。
【0028】
次に、マスタの移動通信端末10aは、ゲーム内で発生するイベントの設定を行う(ステップSA2)。ステップSA2の処理は、ゲーム管理DB162のユーザ管理情報以外の情報を更新する処理である。まず、移動通信端末10aの制御部11は、図4に示すゲーム画面GSをUI部14に表示させる。移動通信端末10aのユーザはゲーム画面GSのマップ上の位置をタッチし(つまり、タップ操作を行って)、アイテム取得イベントを設定する位置を指定する。ユーザがイベントの発生位置を指定すると、制御部11は、そのアイテム取得イベントで取得可能な得点をユーザに指定させる。これ以外にも、制御部11は、「取得順序」や「アイテム数」、「発生最終時刻」の各情報をユーザに指定させてもよい。制御部11は、ステップSA2のイベント設定に従って、ゲーム管理DB162を更新する(ステップSA3)。これにより、図3に示される内容のゲーム管理DB162が移動通信端末10aの記憶部16に記憶される。
【0029】
次に、各移動通信端末10でゲーム管理DB162を同期させるべく、マスタの移動通信端末10aの制御部11は、ゲーム管理DB162に記述されたイベントの設定内容(つまり、図2で設定された内容)を通知するDB更新メッセージを、無線通信部13によりスレーブの移動通信端末10b,10cに一斉配信する(ステップSA4)。移動通信端末10b,10cの制御部11は、移動通信端末10aからのDB更新メッセージに従ってゲーム管理DB162を更新する(ステップSA5)。この更新により、図3に示される内容のゲーム管理DB162を、各移動通信端末10が有することになる。
以上が、ゲームシステム1におけるゲーム開始前処理の動作の説明である。ゲーム開始前処理が完了すると、ゲームシステム1でのゲームの実行が開始される。
【0030】
<ゲーム進行処理>
図8は、ゲームシステム1におけるゲーム進行処理の動作手順を示すシーケンスチャートである。ゲーム進行処理中にあっては、移動通信端末10は定期的に測位部15による測位(つまり、自動測位)を行って、現在位置の位置情報を生成し取得するものとする。また、各移動通信端末10は、通信リストを参照して自端末以外の端末と一対一の無線通信を行うことで、定期的に位置情報の交換を行う。各移動通信端末10は交換した位置情報に基づいて、ゲーム画面GSのマップ上に他のユーザの現在位置を示して表示する(図11参照)。
移動通信端末10aの制御部11は、自端末の測位部15によって測られた位置を示す位置情報が、ゲーム管理DB162に設定されたいずれかのアイテム取得イベントの位置情報と合致した場合、自端末でアイテム取得イベントを発生させる(ステップSB1)。
なお、移動通信端末10は、自動測位によってアイテム取得イベントの発生位置に到達したことを判別する態様に限らず、ユーザにより指示されたタイミングで測位してこの判別を行ってもよい。
【0031】
次に、移動通信端末10aの制御部11は、アイテム取得判定処理を実行する(ステップSB2)。詳しくは後述するが、アイテム取得判定処理は、アイテム取得イベントをゲーム管理DB162で規定された回数(つまり、ゲーム管理DB162で規定されるアイテム数と同じ回数)だけ発生させるための処理である。一のアイテム取得イベントは、移動通信端末10a,10b,10cのいずれかにより発生させられる可能性がある。これに対し、各端末のゲーム管理DB162が常に同期しているわけではないので、ほぼ同時に複数端末で共通のアイテム取得イベントが発生させられようとする場合がある。これら全てがゲームの進行に反映させられると、規定回数を超えてアイテム取得イベントが発生してしまうという不具合が起こる。このような複数端末でのアイテム取得イベントの競合による不具合を防ぐための処理が、アイテム取得判定処理である。
【0032】
次に、移動通信端末10aの制御部11は、ステップSB1で発生させたアイテム取得イベントに従って、自端末のゲーム管理DB162を更新する(ステップSB3)。ここで、移動通信端末10aが、アイテムNo.「001」のアイテム取得イベントを、制御部11の計時部が“10時42分03秒”を測るときに発生させたとする。この場合、図10(a)に示すように、制御部11は、アイテムNo.「001」に対応付けて、「ユーザID」のフィールドに「UID01」を記述し、「イベント発生時刻」のフィールドに「10:42:03」を記述して、ゲーム管理DB162を更新する。また、アイテムNo.「001」のアイテム取得イベントに関して、移動通信端末10aの制御部11はゲーム管理DB162のアイテム数を「2」に更新する。
【0033】
次に、移動通信端末10aの制御部11は、ステップSB3のゲーム管理DB162の更新内容に応じて、無線通信部13により移動通信端末10b,10cのそれぞれにDB更新メッセージを一斉配信する(ステップSB4)。このDB更新メッセージは、アイテムNo.「001」と、ユーザID「UID01」と、イベント発生時刻「10:42:03」という情報を含んでいる。移動通信端末10b,10cの制御部11は、無線通信部13により受信したDB更新メッセージに従って、自端末のゲーム管理DB162を更新する(ステップSB5)。これにより、移動通信端末10b,10cにおいても、ゲーム管理DB162が図10(a)の内容に更新される。
【0034】
次に、移動通信端末10bの制御部11は、測位部15によって測られた位置を示す位置情報が、ゲーム管理DB162に設定されたいずれかのアイテム取得イベントの位置情報と合致した場合、自端末でアイテム取得イベントを発生させる(ステップSB6)。ただし、スレーブ側で発生させられるアイテム取得イベントは、マスタ側で許可されるまではゲームに反映されない。次に、移動通信端末10bの制御部11は、ステップSB6で発生させたアイテム取得イベントに応じたイベント発生通知を、無線通信部13により移動通信端末10aに送信する(ステップSB7)。このイベント発生通知には、「アイテムNo.」、「ユーザID」及び「イベント発生時刻」という各情報が含まれる。ここでは、アイテムNo.「001」、ユーザID「UID02」、イベント発生時刻「10:46:43」という各情報が含まれる。
【0035】
移動通信端末10aの制御部11は、移動通信端末10bから受信したイベント発生通知に応じて、アイテム取得判定処理を実行する(ステップSB8)。ここで、他のアイテム取得イベントと競合しなければ、制御部11はイベント発生通知に応じて自端末のゲーム管理DB162を更新する(ステップSB9)。すなわち、図10(b)に示すように、制御部11は、アイテムNo.「001」に対応付けて、「ユーザID」のフィールドに「UID02」を記述し、「イベント発生時刻」のフィールドに「10:46:43」を記述して、ゲーム管理DB162を更新する。これにより、スレーブ側で発生させられるアイテム取得イベントがゲームの進行に反映されたことになる。
【0036】
次に、移動通信端末10aの制御部11は、ステップSB9におけるゲーム管理DB162の更新内容に応じて、無線通信部13により移動通信端末10b、10cのそれぞれにDB更新メッセージを一斉配信する(ステップSB10)。このDB更新メッセージは、アイテムNo.「001」、ユーザID「UID02」、イベント発生時刻「10:46:43」という各情報を含んでいる。移動通信端末10b,10cの制御部11は、移動通信端末10aから配信されたDB更新メッセージに従って、ゲーム管理DB162を更新する(ステップSB11)。これにより、移動通信端末10b,10cのゲーム管理DB162は図10(b)に示される内容となる。このように、スレーブの移動通信端末10b,10cは、自端末でアイテム取得イベントが発生した場合であっても直ちにゲーム管理DB162を更新しない。移動通信端末10b,10cは、マスタの移動通信端末10aからのDB更新メッセージに従ってゲーム管理DB162を更新する。
【0037】
以降においても、いずれかの移動通信端末10でアイテム取得イベントが発生させられると、上記と同じ手順でゲーム管理DB162が更新される。例えば、アイテムNo.「001」のアイテム取得イベントが3回発生させられると、移動通信端末10は、ゲーム画面GSを図11に示すものに更新する。図11に示すように、更新後のゲーム画面GSは、図5に示すゲーム画面GSから、アイテムNo.「001」のアイテム取得イベントに関する情報が消去されたものに等しい。以降、アイテムNo.「001」のアイテム取得イベントが発生することはない。
なお、移動通信端末10cでアイテム取得イベントが発生させられた場合の動作は、移動通信端末10bの場合と同様にして行われる。
以上のゲーム進行処理は、移動通信端末10aのゲーム管理DB162において、「アイテム数」のフィールドに記述される値の総和(つまり、アイテム残数)が「0」になるまで行われる。
【0038】
(アイテム取得判定処理)
ここで、アイテム取得判定処理について説明する。図9は、移動通信端末10aが実行するアイテム取得判定処理の動作手順を示すフローチャートである。
まず、移動通信端末10aの制御部11は、いずれかの移動通信端末10でアイテム取得イベントが発生させられた場合、ゲーム管理DB162で規定される「アイテム数」を超えてアイテム取得イベントが発生させられようとしているか否かを判断する(ステップSB21)。ここで、制御部11は、いずれか一の移動通信端末10でアイテム取得イベントが発生させられ、複数端末でイベント発生が競合していないと判断すると(ステップSB21;NO)、アイテム取得判定処理を終了する。
【0039】
一方、制御部11は、ゲーム管理DB162で規定されるアイテム数を超えてアイテム取得イベントが発生させられようとした場合(ステップSB21;YES)、ステップSB22に進む。例えば、アイテム数が「1」であるのに対し、移動通信端末10a,10bの双方でほぼ同時に同一のアイテム取得イベントが発生させられた場合には、「YES」と判定する。
この場合、制御部11は、各端末のアイテム取得イベントにおけるイベント発生時刻を参照する。そして、制御部11は、イベント発生時刻が早いものをより優先してアイテム取得イベントを有効するとともに、イベント発生時刻が遅いものを無効にする(ステップSB22)。すなわち、制御部11は、1回しか発生させないアイテム取得イベントが2回発生させられようとした場合、イベント発生時刻が早い方のみを発生させ、遅い方を発生させない(つまり、無効にする)。例えば、移動通信端末10aでのイベント発生時刻が“10時46分54秒”で、移動通信端末10bでのイベント発生時刻が“10時47分04秒”であれば、移動通信端末10aは自端末でアイテム取得イベントを発生させて、ゲーム管理DB162のユーザ管理情報を更新する。一方、移動通信端末10aは、移動通信端末10bでのイベント発生はなかったものとして、移動通信端末10bからのイベント発生通知に応じてゲーム管理DB162を更新しない。移動通信端末10aは、アイテム取得イベントを無効にした場合、その対象となった端末に「アイテムを獲得できませんでした。」というメッセージを表示させるなどして、イベント発生を無効にした旨を通知する。
このアイテム取得判定処理により、アイテム取得イベントが規定回数を超えて行われることを確実に回避することができる。
【0040】
<ゲーム終了時処理>
図12は、ゲームシステム1におけるゲーム終了時処理の動作手順を示すシーケンスチャートである。図14は、ゲーム終了時点のゲーム管理DB162の内容を示す図である。
移動通信端末10aの制御部11は、ゲーム進行処理を実行している期間においてゲーム管理DB162を参照して、アイテム残数が「0」であるか否かを判断する(ステップSC1)。制御部11は、図14に示す内容のゲーム管理DB162が記憶部16に記憶されており、アイテム残数が「0」になったと判断すると(ステップSC1;YES)、ゲーム管理DB162の内容に従ってゲーム結果を生成する(ステップSC2)。ここでのゲーム結果は、各ユーザが保有する得点のランキングを提示するためのデータであり、各ユーザの「ユーザ名」、「ユーザID」及び「保有得点」とが含まれる。
【0041】
移動通信端末10aの制御部11は、ステップSC2で生成したゲーム結果の通知を、無線通信部13により移動通信端末10b及び10cに一斉配信する(ステップSC3)。そして、移動通信端末10aの制御部11は、ステップSC2で生成したゲーム結果の内容をUI部14に表示させる。また、移動通信端末10b及び10cの制御部11は、ステップSC3で配信されたゲーム結果を無線通信部13により受信すると、その内容をUI部14に表示させる(ステップSC4)。
【0042】
図13は、ゲーム結果の表示画面の一例を示す図である。
図13に示すように、UI部14の表示領域の上から下に向かって、保有得点が多い順に、「ユーザ名」、「ユーザID」及び「保有得点」を配列したゲーム結果が表示される。これを見たユーザはゲームの結果を把握することができる。
以上のゲーム終了時処理がゲームシステム1で行われると、ゲームが終了する。
ところで、ユーザの保有得点が変化するイベントは、上述したアイテム取得イベントに限らず、以下に説明するものがある。
【0043】
<減点イベント>
まず、減点イベントについて説明する。
ゲームシステム1にあっては、ゲーム進行処理中のあるタイミングで、減点イベントを発生させる。減点イベントは、その開始タイミングで保有得点が最も多いユーザの保有得点を減じるためのイベントであり、ゲーム展開を変化させることを目的として導入されている。
図15は、減点イベントの概要を説明する図である。ここで、減点イベントの開始時において、ユーザID「UID02」のユーザ(ユーザ名;「Y」)の保有得点が最も多いとする。減点イベントでは、その開始タイミングで保有得点が最も多いユーザの位置に向かって、ゲーム画面GSのマップ上で隕石を模したオブジェクト画像Obj1が移動する。そして、オブジェクト画像Obj1と、移動通信端末10の測位部15が測る位置とが合致した場合、その端末のユーザの保有得点が「0」に減じられる。
なお、オブジェクト画像Obj1は保有得点が最も多いユーザの位置に向かって、図15に示す破線上の位置を矢印M1方向に直線移動する。よって、このユーザが減点イベントによる減点の対象となる可能性が高いといえるが、他のユーザもこの減点イベントの対象となり得る。
【0044】
図16は、ゲームシステム1における減点イベントの動作手順を示すシーケンスチャートである。図17は、減点イベントの内容を説明する図である。図17(a)に示すxy座標系では、経度方向に対応してx軸方向が定められ、緯度方向に対応してy軸方向が定められ、更に、保有得点が最も多いユーザの現在位置を原点としている。
移動通信端末10aは、所定のタイミングで減点イベントを開始する。まず、移動通信端末10aの制御部11は、減点イベントで移動させるオブジェクト画像Obj1の開始位置及び目標位置を特定する(ステップSD1)。開始位置は、オブジェクト画像Obj1の移動開始地点である。ここでは、現実世界での距離に換算して、保有得点が最上位のユーザの位置から1000km以上離れた位置であって、そのユーザの現在位置からみて、x軸方向と成す角がα(任意の値)度の位置となるように決定される。図17(a)に示すように、開始位置の緯度及び経度を(x2,y2)とする。目標位置は、保有得点が最も多いユーザの位置の緯度及び経度であり、(x0,y0)とする。また、図17(a)において、dxはx軸方向(経度方向)に対する単位時間当たりの移動距離であり、dyはy軸方向(緯度方向)に対する単位時間当たりの移動距離である。ここでいう単位時間は、UI部14の表示内容が更新される時間間隔のことであり、予め決められている。また、(x1,y1)は、(x0,y0)の位置にあるオブジェクト画像Obj1の単位時間後の位置を示す。距離Zは、目標位置とオブジェクト画像Obj1の現在位置との現実の距離を表す。
【0045】
次に、移動通信端末10aの制御部11は、ステップSD1で特定したオブジェクト画像Obj1の開始位置、及び目標位置を指定した減点イベント開始通知を、無線通信部13により移動通信端末10b、10cに一斉配信する(ステップSD2)。減点イベント開始通知は、各端末で一斉に減点イベントを開始させるために配信される。
次に、各移動通信端末10は減点イベント時表示処理を実行する(ステップSD3)。減点イベント時表示処理は、オブジェクト画像Obj1がマップ上を移動するときの表示態様を決定付ける処理である。減点イベント時表示処理については、詳しくは後述するが、その概要は以下のとおりである。移動通信端末10がマップ上にオブジェクト画像Obj1を表示しているときにその縮尺を変更する場合、当該縮尺が大きくなるほど、現実世界での移動速度に換算したときのオブジェクト画像Obj1の移動速度が小さくなるように、その移動速度を動的に変更する。
【0046】
図15に示すように、オブジェクト画像Obj1は移動通信端末10bの現在位置に向かって移動するので、マップ上で両者の位置が合致することを回避するために、ユーザは現在位置からの移動を試みる。ここで、マップ上でのオブジェクト画像Obj1と移動通信端末10bの位置とが合致したとすると、移動通信端末10bの制御部11は、減点イベント発生通知を無線通信部13により移動通信端末10aに送信する(ステップSD4)。減点イベント発生通知は、「ユーザID」及び「イベント発生時刻」のほか、減点イベントが発生したことを示す情報を含む。
【0047】
移動通信端末10aの制御部11は、受信したイベント発生通知に応じて、自端末のゲーム管理DB162を更新する(ステップSD5)。ここでは、制御部11は、イベント発生通知を送信した端末のユーザの保有得点を「0」にするよう、ゲーム管理DB162を更新する。ここでは、制御部11は、「ユーザID」のフィールドに記述された「UID02」と、それに対応付けられた「イベント発生時刻」のフィールドに記述された情報とをすべてゲーム管理DB162から削除する。
【0048】
次に、移動通信端末10aの制御部11は、ステップSD5におけるゲーム管理DB162の更新内容に応じて、DB更新メッセージを移動通信端末10b,10cに無線通信部13により一斉配信する(ステップSD6)。このDB更新メッセージは、「ユーザID」のフィールドに記述された「UID02」と、それに対応付けられた「イベント発生時刻」とをすべて削除することを指示するものである。移動通信端末10b,10cの制御部11は、移動通信端末10aからのDB更新メッセージに従って、ゲーム管理DB162を更新する(ステップSD7)。これにより、各移動通信端末10が有するゲーム管理DB162が同期する。
以上が、減点イベントの全体的な動作の流れの説明である。次に、減点イベント時表示処理についてより詳細に説明する。
【0049】
(減点イベント時表示処理)
図18は、移動通信端末10が実行する減点イベント時表示処理の動作手順を示すフローチャートである。
まず、制御部11は、API(Application Program Interface)を参照して、現在のゲーム画面GSにおけるマップのズームレベルを特定する(ステップSD301)。ここでは、ズームレベルとして、図17(b)に示す調整テーブルTB1に記述された「1」、「2」、「9」、「18」、「21」で指定されるものがある。ズームレベルの値と縮尺とは、ズームレベルの値が大きいほど縮尺が大きいという関係がある。調整テーブルTB1は、「ズームレベル」と「移動距離調整レート」という各情報を対応付けたデータテーブルであり、予め記憶部16に記憶されている。「移動距離調整レート」は、予め決められたオブジェクト画像Obj1の標準的な移動速度を、どの程度変化させるかを決定付けるパラメータである。
【0050】
次に、制御部11は、減点イベントの目標位置とオブジェクト画像Obj1の現在位置との距離Zを算出する(ステップSD302)。距離Zは、下記式(1)の関係を満たす。なお、距離Zは、現実世界に換算したときの距離を表す。
距離Z={(x2−x0)+(y2−y0)1/2 ・・・(1)
【0051】
次に、制御部11は、ステップSD302で算出した距離Zと、調整テーブルTB2とに基づいて、オブジェクト画像Obj1の移動速度が可変であるか否かを判断する(ステップSD303)。調整テーブルTB2は、図17(c)に示すように、「距離Z」と、「移動速度可変」と、「移動距離調整レート」という各情報を対応付けたデータテーブルであり、予め記憶部16に記憶されている。「移動距離調整レート」は、調整テーブルTB1と同じ意味の情報である。「移動速度可変」は、マップのズームレベルに応じてオブジェクト画像Obj1の移動速度が可変であるか否かを規定するものである。「OK」と記述された距離Zの場合、オブジェクト画像Obj1の移動速度がズームレベルに応じて変化させられる。一方、「NG」と記述された距離Zの場合、オブジェクト画像Obj1の移動速度は標準速度に固定され、ズームレベルに応じて変化させられることはない。図17(c)に示すように、ここでは距離Zが「100km」という閾値以上の場合には、移動速度が変化させられないようになっている。このようにしているのは、常にズームレベルを小さくしてマップが表示されてしまうと、オブジェクト画像Obj1の移動速度が遅くなる期間がかなり長くなり、ユーザによる減点イベントの回避が容易になってゲーム性を損ねるおそれがあるからである。
【0052】
ステップSD303で、制御部11は、オブジェクト画像Obj1の移動速度が可変であると判断した場合(ステップSD303;YES)、調整テーブルTB1,TB2から特定される移動距離調整レートのうち大きいものを特定する(ステップSD304)。ここで、ズームレベルが「9」であり、距離Zが「100m」であれば、制御部11は、移動距離調整レート「50」と特定する。
次に、制御部11は、単位時間当たりのオブジェクト画像Obj1の移動距離dを算出する(ステップSD305)。単位時間当たりの基本移動距離をDとした場合、移動距離dは、下記式(2)の関係を満たす。すなわち、移動距離調整レートが大きいほど、移動距離dは小さくなる。
移動距離d=基本移動距離D/移動距離調整レート ・・・(2)
【0053】
次に、制御部11は、単位時間当たりの移動経度dx及び移動緯度dyを算出する(ステップSD306)。移動経度dx及び移動緯度dyは、下記式(3)の関係を満たす。
dx=d×cosα、 dy=d×sinα ・・・(3)
【0054】
次に、制御部11は、オブジェクト画像Obj1の現在位置の緯度及び経度(x2,y2)を用いて、単位時間後のオブジェクト画像Obj1の緯度及び経度(x1,y1)を算出する(ステップSD307)。緯度及び経度(x1,y1)は下記式(4)の関係を満たす。
x1=x2+dx、 y1=y2−dy ・・・(4)
【0055】
次に、制御部11は、ステップSD307で算出した緯度及び経度(x1,y1)をマップ上の位置に換算する表示位置変換を行う(ステップSD308)。すなわち、制御部11は、現実世界の位置で表した緯度及び経度(x1,y1)に対応するマップ上の位置を算出する。そして、制御部11は、単位時間後に、ステップSD308で算出した位置にオブジェクト画像Obj1が位置するように表示処理を行う(ステップSD309)。
なお、ステップSD303で、制御部11は、移動速度が可変でないと判断すると(ステップSD303;NO)、移動距離d=基本移動距離DとしてステップSD306に進む。
【0056】
以上説明した減点イベント時表示処理は、以下の発明者の知見に基づいて導入されている。ゲーム中において、ユーザはマップのズームレベルを変更させることが可能である。特に、オブジェクト画像Obj1が自端末から遠い位置にあるときには、ズームレベルを小さくしてオブジェクト画像Obj1のおおよその位置及び移動方向を知りたいはずである。この場合、オブジェクト画像Obj1の移動速度を大きくしてもゲーム性を損なうことがない。よって、移動通信端末10は、ズームレベルが小さい場合には、オブジェクト画像Obj1の移動速度を相対的に大きくしている。一方、オブジェクト画像Obj1が自端末に近づいてきている場合は、ユーザはズームレベルを大きくするはずである。この目的は、オブジェクト画像Obj1との自端末の位置との合致による減点を避けるためである。この場合、ユーザは現在位置から移動しようとするので、目視確認で対応できる速度まで、移動通信端末10は、オブジェクト画像Obj1の移動速度を相対的に小さくする。
なお、減点イベントにおける目標位置や開始位置は、前掲以外のアルゴリズムで決定されてもよい。また、減点イベントでは、保有得点を「0」にするものではなく、所定の得点(例えば、20点)を減じるものであってもよい。
【0057】
<回避イベント>
次に、上述した減点イベントを回避にするための回避イベントについて説明する。
図19は、回避イベントの概要を説明する図である。図19に示すゲーム画面は、図4などのマップよりもズームレベルを小さくしたものである。図19(a)に示すように、オブジェクト画像Obj1は矢印M1方向に移動するが、これを消滅させて、減点イベントによる影響を回避するためのイベントが回避イベントである。まず、現在位置にある戦闘機を模したオブジェクト画像Obj2は、ユーザによるUI部14の操作で位置Pが指定されると、現在位置から位置Pまで矢印M2方向に直線移動する。そして、図19(b)に示すように、位置Pにオブジェクト画像Obj2が到達するとそこに停止し、オブジェクト画像Obj2の位置から、ミサイルを模したオブジェクト画像Obj3がオブジェクト画像Obj1に向かって(つまり、矢印M3方向に)直線移動する。そして、マップ上で隕石を模したオブジェクト画像Obj1と、ミサイルを模したオブジェクト画像Obj3の位置とが合致した場合、それらはマップから消滅して、減点イベント及び回避イベントが終了させられる。
【0058】
回避イベントにおけるオブジェクト画像Obj2の移動速度は、オブジェクト画像Obj1の場合と同様の方法で、マップのズームレベルに応じて変化させられる。ただし、オブジェクト画像Obj2については、ズームレベルが閾値以下であってもその移動速度が可変であるとする。
【0059】
(回避イベント時表示処理)
図20は、回避イベント時表示処理の動作手順を示すフローチャートである。図21は、回避イベントの内容を説明する図である。
まず、制御部11は、現在のマップ表示のズームレベルを特定する(ステップSD311)。次に、制御部11は、調整テーブルTB1に基づいて移動距離調整レートを特定する(ステップSD312)。ここで、ズームレベルが「9」であれば、制御部11は、移動距離調整レート「20」と特定する。
次に、制御部11は、単位時間当たりのオブジェクト画像Obj3の移動距離dを算出する。単位時間当たりの基本移動距離をDとした場合、移動距離dは下記式(5)の関係を満たす。
移動距離d=基本移動距離D/移動距離調整レート ・・・(5)
【0060】
次に、制御部11は、単位時間当たりの移動経度dx及び移動緯度dyを算出する(ステップSD313)。移動経度dx及び移動緯度dyは下記式(6)の関係を満たす。なお、βは、矢印M2方向を示す値であり、具体的には、オブジェクト画像Obj2の現在位置からオブジェクト画像Obj1を見た方向であり、x軸方向と成す角である。なお、βの決め方は、上述したαの場合と同じである。
dx=d×cosβ、 dy=d×sinβ ・・・(6)
【0061】
次に、制御部11は、オブジェクト画像Obj2の現在位置を(x3,y3)とした場合における、単位時間後の緯度及び経度(x4,y4)を算出する(ステップSD314)。緯度及び経度(x4,y4)は下記式(7)の関係を満たす。
x4=x3+dx、 y4=y3−dy ・・・(7)
【0062】
次に、制御部11は、ステップSD314で算出した緯度及び経度(x4,y4)をマップ上の位置に換算する表示位置変換を行う(ステップSD315)。すなわち、制御部11は、現実世界の位置で表した緯度及び経度(x4,y4)に対応するマップ上の位置を算出する。そして、制御部11は、単位時間後に、ステップSD314で算出した位置にオブジェクト画像Obj2が位置しているように表示処理を行う(ステップSD316)。
以上が回避イベントの説明である。上述した減点イベント及び回避イベントの双方について、マップのズームレベルに変更があった場合には、移動通信端末10内の処理でオブジェクト画像の移動速度が動的に変化させられる。よって、各移動通信端末10で行われる表示処理は、他の端末のズームレベルの変更などによる影響を一切受けない。
【0063】
以上説明した実施形態によれば、ゲームに参加するユーザの移動通信端末10のみでゲームシステムを構成することができ、別途サーバを用意する必要がないので、ユーザは手軽に移動通信端末10の位置に連動したゲームを行うことができる。また、それらの移動通信端末10のいずれかがマスタとなってゲームの進行を管理するので、システム構成が簡素化されるし、サーバ側で予め用意されたゲームを行うのではなく、ユーザの好みに応じてゲームの内容をカスタマイズすることもできる。また、移動通信端末10間の通信も既存のシステムを用いて実現することができ、ゲームシステム1の構成が複雑化したり、その運用コストが増大したりすることもない。
【0064】
[変形例]
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
[変形例1]
例えば、マスタの移動通信端末10aのユーザが地下鉄を利用している場合など、移動通信端末10aが無線通信が不可能なエリアに移動する場合が考えられる。この期間では、移動通信端末10aによるゲーム管理DB162の更新が行われず、ゲームの進行が妨げられる可能性がある。そこで、このような場合でも、ゲームの進行をスムーズにするために、スレーブである移動通信端末10をマスタに変更する仕組みがゲームシステム1に組み合わされてもよい。
図22は、本変形例のゲームシステム1の機能的構成を示す機能ブロック図である。図22において、上述した実施形態と同じ機能については同じ符号を付して表しその説明を省略する。この変形例のスレーブである移動通信端末10b,10cは、マスタ・スレーブ設定処理の後においてもモード設定部205を実現する。
通知送信部203がイベント発生通知を送信し、移動通信端末10aの通知受信部105がこれを正常に受信した場合、確認応答信号としてACK(ACKnowledgement)信号を送信する。通知送信部203はイベント発生通知を送信した後、ACK信号を受信するまでは、同一のイベント発生通知を所定の周期で繰り返し再送する。通知送信部203は、閾値以上の回数だけイベント発生通知を送信しても、ACK信号を受信しない場合、マスタの移動通信端末10aが通信不能であることを示す通信不能条件を満たしたとして、その旨をモード設定部205に通知する。
モード設定部205は、移動通信端末10aと通信不能条件を満たした場合、自端末が所定の変更条件を満たすときには、自端末をスレーブからマスタに変更するように動作モードを設定するモード設定手段である。変更条件は、予め決められた条件でよいが、例えば、ゲーム管理DB162において自端末のユーザの保有得点が最も多いという条件や、事前にユーザに設定された優先順位が最も高いという条件がある。
【0065】
図23,図24は、ゲームシステム1におけるゲーム進行処理の動作手順を示すシーケンスチャートである。ゲームシステム1においては、上述した実施形態と同様にステップSB1〜SB7を実行した後、ステップSB7の処理により、移動通信端末10bの制御部11が通信不能条件を満たしたと判断する。この場合、スレーブの移動通信端末10b、10cはマスタ端末変更処理を実行する(ステップSB21)。ここで、移動通信端末10b,10cのうち変更条件を満たすものが、移動通信端末10aに代わってマスタとなる。以降、スレーブの移動通信端末10は、新たにマスタとなった移動通信端末10にイベント発生通知を送信する。
【0066】
ここでは、移動通信端末10bが自端末をマスタに変更する(ステップSB22)。この場合、移動通信端末10bの制御部11はメモリの設定データEを、スレーブを示すものからマスタを示すものに更新する。そして、スレーブの移動通信端末10cにおいてアイテム取得イベントが発生すると(ステップSB23)、イベント発生通知を移動通信端末10bに送信する(ステップSB24)。そして、移動通信端末10bの制御部11は、受信したイベント発生通知に応じてゲーム管理DB162を更新する(ステップSB25)。移動通信端末10bは、移動通信端末10cにDB更新メッセージを配信するとともに、ゲーム開始時のマスタである移動通信端末10aにも配信する(ステップSB26)。移動通信端末10cは、DB更新メッセージに応じてゲーム管理DB162を更新する。
【0067】
ここで、移動通信端末10aが通信不能条件を満たさなくなったとした場合、移動通信端末10aはDB更新メッセージを受信したことを示すACK信号を、移動通信端末10bに送信する(ステップSB27)。移動通信端末10bがACK信号を受信すると、各移動通信端末10はマスタ端末変更処理を実行する(ステップSB28)。このマスタ端末変更処理は、移動通信端末10aが復帰してマスタとなることを取り決める処理である。このマスタ端末変更処理以降では、移動通信端末10bは再びスレーブとなる(ステップSB29)。このとき、移動通信端末10bの制御部11はメモリの設定データEを、マスタを示すものからスレーブを示すものに更新する。以降、移動通信端末10b,10cはイベント発生通知を移動通信端末10aに送信する。
以上が、本変形例のゲーム進行処理の説明である。
【0068】
なお、ここでは、通信不能条件が解消した移動通信端末10aがマスタに復帰する態様を説明したが、図25に示すように、移動通信端末10bが継続してマスタとなり、通信不能条件が解消した移動通信端末10aがスレーブとなってもよい。この場合、ステップSB28では、移動通信端末10bが継続してマスタとなり、移動通信端末10aがスレーブとなることが取り決められ、移動通信端末10aは自端末をスレーブに変更する(ステップSB29a)。この場合、移動通信端末10aの制御部11はメモリの設定データEを、スレーブを示すものからマスタを示すものに更新する。以降においては、移動通信端末10a及び移動通信端末10cは、イベント発生通知を移動通信端末10bに送信する。
【0069】
以上のように、マスタとなる移動通信端末10をゲーム進行処理中に変更することで、ゲームシステム1におけるゲームの進行をよりスムーズにすることができる。また、各端末でゲーム管理DB162は同期しているので、このマスタの変更に際して、ゲーム管理DB162で管理される進行状況の引き継ぎなどの処理が複雑化することもない。
ここでは、マスタの移動通信端末10aが通信不能条件を満たしたときに、他の移動通信端末10がスレーブからマスタに変更していたが、例えばゲーム進行処理中に、マスタの移動通信端末10のユーザがゲームから離脱したことを示す変更条件を満たしたときにマスタが変更されてもよい。また、ゲーム進行処理中にゲームに途中参加するユーザがいた場合に、そのユーザの移動通信端末10をマスタにするという変更条件を満たしたときに。マスタが変更されてもよい。
【0070】
[変形例2]
上述した実施形態において、移動通信端末10aがステップSA2で行うイベント設定は、ユーザに指定された内容に従って行っていたが、これを自動化してもよい。例えば、移動通信端末10aはゲーム開始前処理時において、自端末の位置から決められた範囲内のエリアを定め(例えば、半径1kmの円形エリア)、このエリア内でランダムにイベントを設定してもよい。この場合、移動通信端末10aは、例えば、自端末の位置から遠く、エリアの端部に近いほど得点を高くしてイベント設定する。また、移動通信端末10aは、自端末の位置だけでなく、スレーブの移動通信端末10b,10cの位置を考慮してもよい。この場合、各端末から満遍なく遠い位置のイベントの取得得点を高くすることも可能である。
【0071】
また、移動通信端末10aはイベントの設定において、エリア内での地理的条件に応じた重み付けを保有得点に作用させてもよい。例えば、駅に近い位置のイベントはユーザの到達が容易であるから取得可能な得点を低くしたり、川を挟んでユーザの反対側など、ユーザの到達が困難であるイベントについては、取得可能な得点を高くしたりするという具合である。もちろん、これ以外の根拠に基づいて、地理的条件に応じたイベントが自動設定されてもよい。
【0072】
[変形例3]
上述した実施形態において、移動通信端末10b,10cは、「アイテムNo.」、「ユーザID」、及び「イベント発生時刻」という各情報を含むイベント発生通知を送信していた。これに代えて、イベント発生通知は、例えば「アイテムNo.」に代えて測位部15の測位結果を示す位置情報を含んでいてもよい。移動通信端末10aは位置情報を把握することができれば、自身のゲーム管理DB162に基づいてどのイベントが発生したかを特定できるからである。この場合、スレーブの移動通信端末10は、アイテム取得イベントを発生させる契機となる測位を行ったタイミングでこの測位に関する通知を送信するのではなく、測位部15で測位を行うたびにこの測位に関する通知をマスタの移動通信端末10に送信してもよい。また、イベント発生通知に「イベント発生時刻」が含まれなくてもよい。この場合、移動通信端末10aがイベント発生通知を受信した時刻を、イベント発生時刻として扱えばよい。
【0073】
[変形例4]
上述した実施形態のイベントは、ユーザの得点を変動させるものであったが、これ以外の事象を表すものであってもよい。例えば、ユーザが都道府県などの所定のエリアに来訪した場合に、来訪があったことを示す事象を発生するゲームが本発明のゲームシステムで実行されてもよい。この場合、マスタの移動通信端末は、来訪の有無を管理するだけでゲームを進行させることができ、得点という概念が不要である。要するに、本発明のゲームシステムで実行可能なゲームは、事象が設定されたマップ上の位置と、移動通信端末の測位部が測る位置とが合致した場合に、所定の事象を発生させてゲームを進行させるものであればよい。また、ゲームの内容に応じてゲーム画面も様々なものがあり得るが、本発明のゲームシステムでは、マスタの移動通信端末とスレーブの移動通信端末とでゲームの進行状況を示す内容が同期するように、この内容がマップに関連づけて表示されればよい。
また、位置情報は、GPS測位機能により得られるものに限らず、無線基地局から得られる位置情報(セル又はセクタ単位の位置を示すもの)であってもよい。また、地下鉄やビルの中等のように基地局からの電波が届きにくい場所であっても、移動通信端末10等がネットワークNWに接続できるようにするに設けられた、IMCS(Inbuilding Mobile Communication System)(登録商標)と呼ばれるサービスで使用される中継装置単位の位置を示すものであってもよい。
【0074】
[変形例5]
上述した各実施形態では、本発明の移動通信端末が携帯電話端末やスマートフォンである場合を説明したが、本発明は、その他の移動通信端末に適用することも可能である。例えば、本発明は、例えば、モバイルコンピュータやPDA(Personal Digital Assistance)、携帯ゲーム機等の様々な移動通信端末に適用することができる。
また、ネットワークNWは、移動通信端末10同士を通信可能にするものであれば、その具体的な形態を問わず、例えばPeer to Peer型のネットワークであってもよい。
上述したマスタの移動通信端末10a及びスレーブの移動通信端末10b、10cが実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現され得る。
【符号の説明】
【0075】
1…ゲームシステム、10,10a,10b,10c…移動通信端末、101…イベント設定部、102…ゲーム進行部、103…第1表示制御部、104…配信部、105…通知受信部、106…位置情報交換部、11…制御部、12…音声入出力部、13…無線通信部、14…UI部、15…測位部、16…記憶部、161…ゲームアプリ、162…ゲーム管理DB、201…進行状況受信部、202…第2表示制御部、203…通知送信部、204…位置情報交換部、205…モード設定部

【特許請求の範囲】
【請求項1】
自端末の位置を測る測位部を有する移動通信端末として、1のマスタの移動通信端末と、当該マスタの移動通信端末に無線通信により接続するスレーブの移動通信端末とを備えるゲームシステムであって、
前記マスタの移動通信端末が、
現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生する事象を設定する事象設定手段と、
前記事象設定手段により前記事象が設定された前記マップ上の位置と、いずれかの前記測位部が測る位置とが合致した場合に、当該事象を発生させてゲームを進行させるゲーム進行手段と、
前記ゲームの進行状況を示す内容を前記マップに関連づけて表示する第1表示手段と、
前記スレーブの移動通信端末に前記ゲームの進行状況を配信する配信手段と、
前記スレーブの移動通信端末の測位部が測った位置に関する通知を受信する通知受信手段と
を有し、
前記スレーブの移動通信端末が、
前記配信手段により配信された前記進行状況を受信する進行状況受信手段と、
前記進行状況受信手段が受信した前記進行状況を示す内容を前記マップに関連づけて表示する第2表示手段と、
自端末の測位部が測った位置に関する前記通知を、前記マスタの移動通信端末に送信する通知送信手段と
を有することを特徴とするゲームシステム。
【請求項2】
前記移動通信端末の各々が、自端末をマスタ又はスレーブのいずれかとするように自端末の動作モードを設定するモード設定手段
を有することを特徴とする請求項1に記載のゲームシステム。
【請求項3】
前記モード設定手段は、
自端末がスレーブであるときに所定の変更条件を満たした場合、自端末をマスタとするように前記動作モードを変更する
ことを特徴とする請求項2に記載のゲームシステム。
【請求項4】
前記モード設定手段は、
自端末がマスタであるときに自端末以外の前記移動通信端末がマスタに変更させられる場合、自端末をスレーブとするように前記動作モードを変更する
ことを特徴とする請求項2又は3に記載のゲームシステム。
【請求項5】
前記ゲーム進行手段は、
前記各事象を規定回数だけ発生させてゲームを進行させるものであり、一の前記事象が当該規定回数を超えて発生させられようとした場合、その契機となる測位のタイミングが早いものをより優先して当該事象を当該規定回数だけ発生させる
ことを特徴とする請求項1から4のいずれか1項に記載のゲームシステム。
【請求項6】
前記事象設定手段は、
前記移動通信端末のいずれかの測位部により測られた位置により定まるエリア内で、前記事象をランダムに設定する
ことを特徴とする請求項1から5のいずれか1項に記載のゲームシステム。
【請求項7】
前記ゲーム進行手段は、
所定の縮尺の前記マップ上を移動するオブジェクト画像を前記第1及び第2表示手段に表示させて、当該オブジェクト画像の位置と前記測位部が測る位置とが合致した場合に所定の前記事象を発生させ、
前記第1及び第2表示手段は、
前記オブジェクト画像を表示しているときに前記縮尺を変更する場合、当該縮尺が大きくなるほど、前記現実世界での移動速度に換算したときの当該オブジェクト画像の移動速度が小さくなるように、当該移動速度を変更する
ことを特徴とする請求項1から6のいずれか1項に記載のゲームシステム。
【請求項8】
前記第1及び第2表示手段は、
前記縮尺が閾値以下である場合、当該縮尺を変更したときであっても前記オブジェクト画像の移動速度を変更しない
ことを特徴とする請求項7に記載のゲームシステム。
【請求項9】
自端末の位置を測る測位部を有する移動通信端末として、1のマスタの移動通信端末と、当該マスタの移動通信端末に無線通信により接続するスレーブの移動通信端末とを備えるゲームシステムの移動通信端末であって、
自端末をマスタ又はスレーブのいずれかとするように自端末の動作モードを設定するモード設定手段と、
前記モード設定手段がマスタに設定したとき、現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生する事象を設定する事象設定手段と、
前記モード設定手段がマスタに設定したとき、前記事象設定手段により前記事象が設定された前記マップ上の位置と、いずれかの前記測位部が測る位置とが合致した場合に、当該事象を発生させてゲームを進行させるゲーム進行手段と、
前記モード設定手段がマスタに設定したとき、前記ゲームの進行状況を示す内容を前記マップに関連づけて表示する第1表示手段と、
前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末に前記ゲームの進行状況を配信する配信手段と、
前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末の測位部が測った位置に関する通知を受信する通知受信手段と、
前記モード設定手段がスレーブに設定したとき、前記マスタの移動通信端末により配信された前記進行状況を受信する進行状況受信手段と、
前記モード設定手段がスレーブに設定したとき、前記進行状況受信手段が受信した前記進行状況を示す内容を前記マップに関連づけて表示する第2表示手段と、
前記モード設定手段がスレーブに設定したとき、自端末の測位部が測った位置に関する前記通知を、前記マスタの移動通信端末に送信する通知送信手段と
を備えることを特徴とする移動通信端末。
【請求項10】
自端末の位置を測る測位部を有する移動通信端末として、1のマスタの移動通信端末と、当該マスタの移動通信端末に無線通信により接続するスレーブの移動通信端末とを備えるゲームシステムにおける移動通信端末のコンピュータを、
当該移動通信端末をマスタ又はスレーブのいずれかとするように当該移動通信端末の動作モードを設定するモード設定手段と、
前記モード設定手段がマスタに設定したとき、現実世界の位置を表したマップ上の位置に対応させて、ゲーム内で発生する事象を設定する事象設定手段と、
前記モード設定手段がマスタに設定したとき、前記事象設定手段により前記事象が設定された前記マップ上の位置と、いずれかの前記測位部が測る位置とが合致した場合に、当該事象を発生させてゲームを進行させるゲーム進行手段と、
前記モード設定手段がマスタに設定したとき、前記ゲームの進行状況を示す内容を前記マップに関連づけて表示する第1表示手段と、
前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末に前記ゲームの進行状況を配信する配信手段と、
前記モード設定手段がマスタに設定したとき、前記スレーブの移動通信端末の測位部が測った位置に関する通知を受信する通知受信手段と、
前記モード設定手段がスレーブに設定したとき、前記マスタの移動通信端末により配信された前記進行状況を受信する進行状況受信手段と、
前記モード設定手段がスレーブに設定したとき、前記進行状況受信手段が受信した前記進行状況を示す内容を前記マップに関連づけて表示する第2表示手段と、
前記モード設定手段がスレーブに設定したとき、当該移動通信端末の測位部が測った位置に関する前記通知を、前記マスタの移動通信端末に送信する通知送信手段
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2012−165962(P2012−165962A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−31200(P2011−31200)
【出願日】平成23年2月16日(2011.2.16)
【出願人】(503220750)ドコモ・テクノロジ株式会社 (58)
【Fターム(参考)】