以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下に説明する実施形態では、クーポン提供システムに用いられるサーバ装置に、本発明のサーバ装置及びコンテンツ情報提供プログラムを提供した場合の実施形態である。
[クーポン提供システム]
まず、図1を用いてクーポン提供システムの一実施形態におけるシステム構成について説明する。なお、図1は、本実施形態におけるクーポン提供システムのシステム構成図である。
本実施形態のクーポン提供システムは、図1に示すように、利用者が携行する無線通信機能を備えた携帯用端末装置7と、クーポンを提供する店舗用のサーバ装置であって、携帯用端末装置7に対してクーポンに関する情報など種々の情報を送受信するサーバ装置(以下、単に「サーバ装置」という。)9と、を有している。携帯用端末装置7は、例えば、携帯用電話機のキャリア等の広域無線通信アンテナ8及び近距離無線通信アンテナ4と、を有し、サーバ装置9と通信回線を確立させてデータの授受を行うようになっている。また、サーバ装置9は、インターネット等のネットワーク6及び基地局5を介して各携帯用端末装置7とクーポンに関する情報等を送受信する有線の通信手段、または、近距離無線通信アンテナ2を有している。基地局5は、広域無線通信アンテナ3を有し、複数の携帯用端末装置7の中継局として機能し、携帯用端末装置をネットワーク6に接続するために機能する。
本実施形態のクーポン提供システムは、サ−バ装置9によって実在する店舗にて利用可能なクーポン、すなわち、携帯用端末装置7に表示するためのクーポンの内容を記録したコンテンツの情報(以下、「クーポンコンテンツ情報」または単に「コンテンツ情報」という。)を携帯用端末装置7に取得させるシステムである。特に、サーバ装置9は、携帯用端末装置7にクーポンを取得させる際に、携帯用端末装置7によって撮像された屋外などの現実空間の画像(以下、「撮像画像」または「現実空間画像」という。)に、所定のキャラクタの画像(以下、「キャラクタ画像」という。)を重畳表示させ、当該キャラクタ画像を用いてクーポンコンテンツ情報の取得を誘導するようになっている。
具体的には、サーバ装置9は、現実空間の位置に対応付けて当該現実空間内を移動し、クーポンの取得を誘導するためのキャラクタ画像を各携帯用端末装置7に提供するようになっている。そして、携帯用端末装置7は、屋外の現実空間を撮像した場合に、当該携帯用端末装置7の位置(以下、「端末位置」ともいう。)の情報及び撮像方向の情報に基づいて、現実空間における位置情報を有するキャラクタ画像を取得するとともに、撮像画像に取得したキャラクタ画像を重畳表示するクーポン表示処理を実行するようになっている。また、サーバ装置9は、携帯用端末装置7のクーポン表示処理と連動し、携帯用端末装置7にキャラクタ画像が表示されている場合であって、当該携帯用端末装置7によってキャラクタ画像に対応するクーポンの取得が要求されると、当該携帯用端末装置7によって追尾可能にキャラクタを現実空間において仮想的に移動させて店舗まで利用者を案内誘導する処理(以下、「店舗誘導処理」という。)を実行するようになっている。そして、サーバ装置9は、店舗誘導処理中に、所定の条件の下、キャラクタに対応するクーポンコンテンツ情報をクーポンの取得を要求した携帯用端末装置7に提供する処理(以下、「クーポン提供処理」という。)を実行するようになっている。
一方、本実施形態のクーポン提供システムにおいては、サーバ装置9は、クーポンの取得に対して利用者に興趣性を維持させつつ、ゲーム性を持たせるために、未だ何れの携帯用端末装置7によっても取得されていないクーポンに対応するキャラクタを現実空間の位置に対応付けて仮想的に移動させる、すなわち、キャラクタ画像が撮像画像に重畳表示される現実空間の位置を変化させる処理(以下、「拡散処理」という。)を実行するようになっている。具体的には、サーバ装置9は、クーポンを発行する店舗の現実空間の位置(以下、「店舗位置」という。)から放射状に当該キャラクタを現実空間の位置に対応付けて仮想的に拡散させる拡散処理(以下、「放射ランダム拡散処理」という。)と、現実空間において各キャラクタの当該現実空間内における位置が同一種別の他のキャラクタの現実空間内における位置に接近している場合に各クーポン間の現実空間内における存在位置の距離を一定に保つように仮想的に拡散させる処理(以下、「排他拡散処理」という。)と、クーポンを発行する店舗位置(以下、「基点」ともいう。)の周辺に重点的に取得クーポンを拡散させる拡散処理(以下、「基点重点拡散処理」という。)を実行するようになっている。なお、本実施形態においては、同一のキャラクタにおける種別毎に、各拡散処理が実行されるようになっている。
このような構成を有することにより、サーバ装置9は、現実空間において刻々と拡散移動するようにキャラクタ画像に代表される画像形成物を携帯用端末装置7に現実画像とともに表示させることが可能であって、当該画像形成物を用いて店舗までの経路誘導を実行しつつ、経路誘導中に店舗のクーポンをクーポンコンテンツ情報として携帯用端末装置7に取得させることができる。したがって、サーバ装置9は、クーポンを取得するための起因として用いられるキャラクタを利用者に探索させることによって、利用者にクーポンの取得における趣向性を持たせることができるとともに、当該キャラクタの現実空間内における移動に従って店舗に携帯用端末装置7を用いて利用者を誘導すること、及び、店舗に来訪する利用者にクーポンを的確に取得させることを両立させることができる。この結果、サーバ装置9は、利用者に対するクーポンの取得に対する興趣を維持させつつ、その利用を促進させることができるので、クーポンの利用率を高めて宣伝効果を向上させることができるようになっている。
[携帯用端末装置]
次に、図2及び図3を用いて本実施形態の携帯用端末装置7の構成について説明する。なお、図2は、本実施形態における携帯用端末装置7の構成を示すブロック図であり、図3は、本実施形態の携帯用端末装置7に記録される端末クーポン情報の形成例を示す図表である。
本実施形態の携帯用端末装置7は、図2に示すように、周囲の撮像を行って撮像信号を出力する撮像手段750と、撮像手段750が出力した撮像信号を入力して画像処理を行いつつ、当該撮像信号を画像データに変換して出力する画像処理手段751と、GPS(Global Positioning System)等により当該携帯用端末装置7の存在場所を検出する位置検出手段758と、利用者が当該携帯用端末装置7を移動させた際の1乃至3軸方向の加速度を検出する加速度検出手段759と、当該携帯用端末装置7の撮像手段750が撮像を行っている撮像方向を検出する方位検出手段760と、を有している。
また、携帯用端末装置7は、携帯用電話機の基地局5と携帯用電話機等のキャリアを用いて情報の送受信を行うために所定の形式にデータを変換する広域無線通信手段764と、Bluetooth(登録商標)または無線LAN(Local Area Network)等の所定の通信規格に基づいて情報の送受信を行うため近距離無線通信手段765と、を有している。
そして、携帯用端末装置7は、利用者が各種情報を入力するスイッチやテンキー、タッチパネル等の入力手段770(クーポン取得指示手段)と、画像や文字等の情報を表示する表示手段772と、携帯用端末装置7の全体の制御を行う情報処理手段(CPU)780と、情報処理手段780が処理を実行する際の作業領域となる記録手段の一形態であるRAM781と、情報処理手段780が最初に実行する処理等を予め記録しておくROM782と、を有している。
さらに、携帯用端末装置7は、情報処理手段780が実行する各種の処理プログラム、ネットワーク上の通信機器と通信接続する際のアドレス、属性情報、URL(Uniform Resource Locators)、利用者固有の識別情報、ゲートウェイ情報DNS(Domain Name System)、クーポンに関する情報(以下、「端末クーポン情報」という。)等の各種情報を記録するEEPROM(Electrically Erasable Programmable Read Only Memory)等の記録手段784と、日付や時刻を刻むとともに計数を行うタイマーカウンタ790と、を有している。
特に、情報処理手段780は、サーバ装置9と連動して携帯用端末装置7における端末位置Ptmnの情報と、キャラクタの現実空間における位置(以下、「クーポン現在位置」という。)Pcmn及びキャラクタ画像情報と、に基づいて、クーポンを取得する処理(以下、「クーポン取得処理」という。)を含むクーポンを表示手段772に表示する処理(以下、「クーポン表示処理」という。)を実行するようになっている。
具体的には、情報処理手段780は、携帯用端末装置7の緯度・経度情報等の端末位置Ptmnを位置検出手段758から取得するとともに、方位検出手段760から撮像方向を取得し、端末位置データとしてサーバ装置9に送信するようになっている。そして、情報処理手段780は、送信した端末位置情報Ptmn及び撮像方向に基づいて、サーバ装置9から未取得のクーポン現在位置Pcmn及びキャラクタ画像を受信し、表示手段772に、現実空間が撮像された撮像画像とともに当該受信したキャラクタ画像を重畳表示するようになっている。このとき、キャラクタ画像対してクーポンコンテンツ情報を取得するための入力または動作が実行された場合には、情報処理手段780は、店舗誘導処理に連動して利用者を店舗まで誘導するために、当該キャラクタ画像を表示手段772に表示するようになっている。そして、情報処理手段780は、店舗誘導処理に連動してキャラクタ画像を表示手段772に表示している際に、所定の条件の下に、利用者の操作に基づいてクーポンコンテンツ情報を取得するためのクーポン取得処理を実行するようになっている。
記録手段784には、クーポン取得処理によって取得されたクーポンコンテンツ情報及びその他の情報を有する端末クーポン情報が記録されている。具体的には、端末クーポン情報には、図3に示すように、携帯用端末装置7のIDを示す端末IDと、サーバ装置9から取得したクーポンコンテンツ情報及びキャラクタ画像情報(以下、単に、「画像情報」ともいう。)と、が含まれる。
なお、携帯用端末装置7の情報処理手段780と、画像処理手段751、位置検出手段758、加速度検出手段759、方位検出手段760、広域無線通信手段764、近距離無線通信手段765、入力手段770、表示手段772、RAM781、ROM782、記録手段784、タイマーカウンタ790等を含む各周辺回路とは、バス799で接続されており、情報処理手段780にて実行される処理プログラムに基づいて、情報処理手段780が各々の周辺回路を制御することが可能となっている。
また、本実施形態では、携帯用端末装置7に加速度検出手段759を備える実施例を示したが、これらの他に重力方向を検出する重力検出手段、または、レートジャイロ等の検出手段を用いてもよい。
[サーバ装置]
次に、図4を用いて本実施形態における店舗側のサーバ装置9の構成について説明する。なお、図4は、本実施形態におけるサーバ装置の構成を示すブロック図である。
本実施形態のサーバ装置9は、図4に示すように、ネットワーク6を介して携帯用端末装置7の基地局5と情報の送受信を行うためにデータ形式の変換を行う通信手段968と、Bluetooth(登録商標)または無線LAN等の所定の通信規格に基づいて情報の送受信を行うための近距離無線通信手段965と、を有している。
また、サーバ装置9は、利用者が各種情報を入力するキーボードまたはタッチパネル等の入力手段970と、画像や文字等の情報を表示する表示手段972と、サーバ装置9の全体の制御を行う情報処理手段(CPU)980と、情報処理手段980が処理を実行する際の作業領域となるRAM981と、所定のプログラムが記録されたROM982と、を有している。
さらに、サーバ装置9は、情報処理手段980が実行する各種の処理プログラム、定数、ネットワーク上の通信機器と通信接続する際のアドレス、属性情報、URL(Uniform Resource Locators)、利用者固有の識別情報、ゲートウェイ情報DNS(Domain Name System)、クーポンコンテンツ情報を含むクーポンに関する情報(以下、「クーポン情報」という。)及びクーポンを取得した携帯用端末装置7の情報(以下、「端末情報」という。)等の各種情報を記録するハードディスク等の記録手段984と、日付及び時刻を刻むとともに計数を行うタイマーカウンタ990と、を有している。なお、クーポン情報及び端末情報の詳細については後述する。
情報処理手段980は、未だ何れの携帯用端末装置7によっても取得されていないクーポンに対応付けられたキャラクタを現実空間の位置に対応付けて仮想的に移動させる、すなわち、キャラクタ画像が撮像画像に重畳表示される現実空間の位置を変化させる拡散処理を実行するようになっている。具体的には、情報処理手段980は、放射ランダム拡散処理、排他拡散処理、及び、基点重点拡散処理を、現実空間において利用者が進入不能な領域に対して拡散を禁止しつつ、実行するようになっている。
一方、情報処理手段980は、携帯用端末装置7と連動して該当するクーポンコンテンツ情報を当該携帯用端末装置7に提供するクーポン提供処理を実行するようになっている。具体的には、情報処理手段980は、該当する携帯用端末装置7からキャラクタ画像に基づくクーポンの取得要求を受信した場合に、すなわち、携帯用端末装置7によって表示されたキャラクタ画像がクリックされてクーポンコンテンツ情報の取得要求が実行された場合に、当該キャラクタ画像に基づいて店舗誘導処理を開始し、所定のタイミングでクーポンコンテンツ情報を当該携帯用端末装置7に送信するようになっている。
また、情報処理手段980は、店舗誘導処理を提供している携帯用端末装置7のID及びクーポンコンテンツ情報を提供した携帯用端末装置7のIDをチェック端末IDまたは取得済端末IDとしてクーポン本体情報に登録し、他の携帯用端末装置7において店舗誘導不能及び取得不能に設定するようになっている。さらに、情報処理手段980は、店舗誘導処理を実行する際には、携帯用端末装置7の現在位置であって、チェック端末IDとして登録された携帯用端末装置7の現在位置と、クーポン本体情報に規定された当該携帯用端末装置7を登録したキャラクタにおける店舗位置Psに基づいてクーポンを提供している店舗までの誘導ルートを設定するようになっている。
なお、サーバ装置9の情報処理手段980と、通信手段968、近距離無線通信手段965、入力手段970、表示手段972、RAM981、ROM982、記録手段984、タイマーカウンタ990等を含む各周辺回路とは、バス999で接続されており、情報処理手段980において実行される処理プログラムに基づいて、情報処理手段980が各々の周辺回路を制御することが可能となっている。
また、例えば、本実施形態の情報処理手段980は、本発明の画像形成物提供手段、位置制御手段、経路誘導手段及びコンテンツ情報提供手段を構成する。
[クーポン情報及び端末情報]
次に、図5〜図8の各図を用いて本実施形態におけるサーバ装置9の記録手段984に記録されるクーポン情報及び端末情報について説明する。
なお、図5は、本実施形態におけるクーポン本体情報の形成例を説明する図表であり、図6は、本実施形態における未取得クーポン拡散情報の形成例を説明する図表である。また、図7は、本実施形態におけるクーポン進入禁止区域情報の形成例を示す図であり、図8は、本実施形態における端末情報の形成例を示す図表である。
クーポン情報は、サーバ装置9の記録手段984に予め記録されており、携帯用端末装置7に取得させるための種々の情報が登録されている。クーポン情報には、店舗が提供するクーポンに関する情報を含むクーポン本体を形成するクーポン本体情報と、クーポンとして未取得のクーポンに対応するキャラクタの存在位置を現実空間内において拡散移動させる際の各種情報を含むキャラクタの拡散処理に関する情報(以下、「未取得クーポン拡散情報」という。)と、キャラクタを拡散させる際に利用者が当該キャラクタを追尾することができない進入不可能な区域を定める情報を含むクーポンの現実空間における進入禁止区域に関する情報(以下、「クーポン進入禁止区域情報」という。)と、が含まれる。
クーポン本体情報には、図5に示すように、提供されるクーポン毎に、未取得時のクーポンの拡散処理を決定するためのID(以下、「未取得クーポン拡散ID」という。)mと、各クーポンの固体を識別するクーポン番号nと、携帯用端末装置7の表示手段772に表示するためのクーポンの内容を有するクーポンコンテンツ情報(コンテンツ情報)と、当該表示手段772に表示するためのキャラクタ画像の情報(画像情報)と、が含まれる。
また、クーポン本体情報には、キャラクタの現在位置を示すクーポン現在位置Pcmnの情報と、キャラクタを現在位置の次に表示する位置を示すクーポン次位置Pfmnの情報と、クーポン(すなわち、キャラクタ)を提供する期間を示すクーポン提供期間の情報と、キャラクタを表示する領域の外延を定める提供半径Zxの情報と、クーポンを提供している店舗位置Psの情報と、が含まれる。
そして、クーポン本体情報には、キャラクタ画像を各携帯用端末装置7がチェックしたか否かを示す、すなわち、当該キャラクタを、クーポンコンテンツ情報を取得するに際して店舗誘導処理が実行されている一の携帯用端末装置7として登録した否かを示すチェック済判定フラグと、当該チェックを行った携帯用端末装置7(以下、「チェック済端末装置」ともいう。)を識別するチェック端末IDと、クーポンコンテンツ情報が携帯用端末装置7に取得されたこと、すなわち、クーポンが取得されたことを示すクーポンの取得済判定フラグと、当該クーポンを取得した一の携帯用端末装置7(以下、「取得済端末装置」ともいう。)を識別する取得済端末IDと、が含まれる。
このチェック済判定フラグ及び取得済判定フラグは、店舗誘導処理及び当該店舗誘導処理に伴ってクーポンコンテンツ情報の取得を制御するために用いられるフラグ情報である。また、チェック済判定フラグがTRUEの場合には、チェック済IDに登録された携帯用端末装置7に対して店舗誘導処理中であって、クーポンコンテンツ情報が当該携帯用端末装置7によって取得可能な状態であることを示し、FALSE場合には、何れの携帯用端末装置7にも店舗誘導処理を提供しておらず、クーポンコンテンツ情報がチェック可能であることを示す。また、取得済判定フラグがTRUEの場合には、取得済端末IDに登録された携帯用端末装置7にクーポンコンテンツ情報が取得されていることを示し、FALSEの場合には、クーポンコンテンツ情報が未取得であることを示す。
なお、クーポン現在位置Pcmn、クーポン次位置Pfmn、店舗位置Ps、端末位置情報Ptmn等の位置情報としては、経度及び緯度の情報を用いるようになっている。
未取得クーポン拡散情報は、各キャラクタにおけるクーポンの未取得時の拡散処理を定義し、拡散処理毎に定められた所定の情報を規定する。具体的には、未取得クーポン拡散情報には、図6に示すように、クーポンの拡散処理を識別する未取得クーポン拡散IDと、未取得クーポン拡散ID(m=1)において、同一の各処理において拡散方法を変更する際に用いる第1拡散時間Tcと、クーポンを間欠移動させる際のアイドル時間tcと、クーポンを間欠移動させる際の移動距離Rcaと、が含まれる。また、未取得クーポン拡散情報には、未取得クーポン拡散ID(m=2)において、各クーポン同士が近づきすぎないように拡散させる際に用いるクーポン排他距離Dc及び排他移動距離Rcbと、が含まれる。そして、未取得クーポン拡散情報には、未取得クーポン拡散ID(m=3)において、各クーポンを分散配置させる複数の配布区域を定める配布区域分割数Iと、各配布区域の境界を定める各配布区域境界半径割合と、各配布区域に配置するクーポンの数量を定めるための各配布区域クーポン許容割合と、各配布区域において所定のクーポン許容数に到達していることを示す充満フラグと、が含まれる。
クーポン進入禁止区域情報は、現実空間に存在する池または海など利用者が進入不能な領域にクーポンの拡散を禁止するための情報である。具体的には、クーポン進入禁止区域情報には、図7に示すように、進入禁止の区域を識別する進入禁止区域IDと、進入禁止区域の中心位置を規定する中心緯度及び中心経度の情報と、進入禁止区域の広さを定める進入禁止区域半径の情報と、が含まれる。
端末情報は、携帯用端末装置7がクーポンを取得する毎に記録手段984に記録されるクーポンを取得した携帯用端末装置7に関する情報である。具体的には、端末情報には、図8に示すように、端末ID毎に、該当する携帯用端末装置7が存在する現実空間の位置情報(緯度及び経度)と、取得済みのクーポン番号と、が含まれる。
[キャラクタ]
次に、図9及び図10を用いて本実施形態におけるキャラクタ(キャラクタ画像)について説明する。なお、図9は、利用者が存在する地域を表した地図上に、キャラクタを表示した表示例を示す図であり、図10は、撮像手段750で撮像した撮像画像とキャラクタの画像情報とを重畳表示した表示例を示す図である。
キャラクタは、店舗位置Ps周辺の所定の配布区域内において、現実空間を刻々拡散移動するように、携帯用端末装置7によって表示される際に用いられる現実空間に対応付けられた表示位置が制御される。このため、キャラクタは、常に同一のタイミングでは現実空間内の同一の位置では携帯用端末装置7に表示されないことから、すなわち、同一のタイミングでは現実空間の同一の位置に存在しないことから、利用者は、興味を持ってキャラクタを探索することができるようになっている。特に、キャラクタは、所定のクーポン現在位置Pcmnにおいて現実空間の位置に対応付けられて撮像画像に重畳されて携帯用端末装置7の表示手段772に画像として表示される。そして、クーポン現在位置Pcmnは、地球上をX−Y平面として表現した場合に、(Xpcmn,Ypcmn)で表される位置を示し、具体的には、緯度及び経度によって構成される。
例えば、表示手段772は、地図を用いて2D表示する場合には、図9に示すように、地図上に、マーカによって利用者が携帯用端末装置7を携行している位置を示す端末位置情報Ptと、所定の店舗画像によってクーポンを提供している店舗の位置を示す店舗位置Psと、種々の店舗が提供する複数のキャラクタ画像(C1〜C6)の位置を示すクーポン現在位置Pcmnと、を重畳表示するようになっている。
また、表示手段772は、撮像された現実空間の撮像画像を用いて3D表示する場合には、図10に示すように、撮像画像に、端末位置情報Ptの近傍に存在し、かつ、撮像方向に存在しているキャラクタ画像(C2〜C5)が、そのクーポン現在位置Pcmnに基づいて、重畳表示するようになっている。そして、表示手段772は、撮像された現実空間の撮像画像を用いて3D表示する場合には、表示されるキャラクタの大小または透明度によってその遠近を表現するようなっている。
特に、本実施形態においては、撮像された現実空間の撮像画像を用いて3D表示がされている場合であって、キャラクタ画像が入力手段770を介してクリックされた場合には、図10に示すように、携帯用端末装置7は、サーバ装置9と連動してキャラクタ画像C5の上方に示すようなクーポンの内容をポップアップ表示(吹出表示)させることができるようになっている。
なお、図9及び図10では、キャラクタ画像として鳥の画像を用いているが、鳥の画像に限定するものではない。
また、撮像方向に存在しているキャラクタ画像が表示される際には、サーバ装置9に記録された携帯用端末装置7の端末位置情報と各クーポン位置、及び、携帯用端末装置7の方位検出手段760によって検出された撮像方向に基づいて、撮像画像の範囲に存在しているキャラクタ画像を抽出して表示するようになっている。
さらに、撮像された現実空間の撮像画像を用いての3D表示の場合には、キャラクタ画像は、半透明表示であってよいし、最前面に不透過表示してもよい。また、携帯用端末装置7の近傍に存在しているキャラクタ画像ほど、その画像を大きく表示するなど、携帯用端末装置7との距離に応じてキャラクタ画像の大きさを変えて表示するようにしてもよい。
[放射ランダム拡散処理の原理]
次に、図11及び図12を用いて本実施形態のサーバ装置9において実行される放射ランダム拡散処理の原理について説明する。なお、図11は、本実施形態において、放射ランダム拡散処理(m=1)の第1の拡散処理であって、放射状拡散状態を説明するための図であり、放射ランダム拡散処理(m=1)の第2の拡散処理であって、ランダム拡散状態を説明するための図である。
放射ランダム拡散処理は、サーバ装置9の情報処理手段980によって実行される拡散処理であって、クーポンを発行する店舗の現実空間の店舗位置から放射状に同一種別のキャラクタを現実空間の位置に対応付けて仮想的に拡散させる拡散処理である。
放射ランダム拡散処理は、所定のタイミングから一定時間の経過前と経過後で、キャラクタの移動方向の決定方法を変更するようになっている。すなわち、この放射ランダム拡散処理は、所定のタイミングから一定時間の経過前には、キャラクタが現実空間内を移動する移動方向を放射状に決定し、当該拡散処理の開始後から一定時間の経過後には、キャラクタが現実空間内を移動する移動方向をランダムに決定するようになっている。なお、所定のタイミングからの一定時間の経過の計測においては、後述するように、未取得クーポン拡散情報に規定された拡散時間Tcとサーバ装置9のタイマーカウンタ990によって計測される拡散時間Tとを用いるようになっている。
具体的には、移動方向を放射状決定する拡散処理では、各キャラクタの移動方向θfmnが、(式1)によって決定される。
θfmn = 2πn / N + θx ・・・(式1)
なお、「m」はキャラクタの拡散IDを示す添字であり、放射ランダム拡散処理の場合は「m=1」である。また、「n」はキャラクタを識別する番号の添字であり、「π」は円周率である。さらに、「N」は「m=1」におけるキャラクタの総数であり、「θx」は、所定の方向(人が多く集まる場所やライバル店の場所など)にキャラクタを多く集める際に重み付けをするための関数または定数である。
例えば、キャラクタの総数が「N=4」の場合には、キャラクタC11(n=1)、C12(n=2)、C13(n=3)及びC14(n=4)の移動方向θf11、θf12、θf13及びθf14は、(式1)に基づいて(式2)に示すように算出される。ただし、「θx」は「0」とする。
θf11 = 2π・1 / 4 + 0=π/2
θf12 = 2π・2 / 4 + 0= π
θf13 = 2π・3 / 4 + 0=3π/2
θf14 = 2π・4 / 4 + 0= 2π ・・・(式2)
したがって、この場合には、図11に示すように、店舗位置Psを基点とすれば、各キャラクタを現実空間内において放射状に移動させることができるようになっている。
一方、キャラクタにおける現実空間内の移動に関する移動方向がランダムに決定される場合には、各キャラクタmnの移動方向θfmnが、(式3)によって定められる。
θfmn = 2πRnd / Rndx + θx ・・・(式3)
なお、「m」はキャラクタの拡散IDを示す添字であり、この拡散方法の場合は「m=1」である。また、「n」はキャラクタを識別する番号の添字であり、「π」は円周率であり、「Rnd」は情報処理手段980が取得する乱数である。さらに、「Rndx」は、情報処理手段980が取得する乱数の最大値であり、「θx」は、重み付けをするための関数または定数である。
例えば、キャラクタの総数が「N=4」の場合には、キャラクタC11(n=1)、C12(n=2)、C13(n=3)及びC14(n=4)の移動方向θf11、θf12、θf13及びθf14は、乱数に依存するので、図12に示すように、店舗位置Psを基点とすれば、各キャラクタを現実空間内においてランダムに移動させることができるようになっている。
上記のように、放射状にまたはランダムにキャラクタの移動方向θfmnが決定されると、未取得クーポン拡散情報に規定された移動距離Rcaによって移動距離が決定されるようになっており、したがって、各キャラクタは、決定された移動方向θfmn及び移動距離Rcaに基づいて現実空間内を移動することができるようになっている。
[排他拡散処理の原理]
次に、図13及び図14の各図を用いて本実施形態のサーバ装置9において実行される排他拡散処理(m=2)の原理について説明する。なお、図13は、排他拡散処理(m=2)において他のキャラクタと関連して現実空間の移動制御を行う排他移動を説明するための図(その1)であり、図14は、排他拡散処理(m=2)において他のキャラクタと関連して現実空間の移動制御を行う排他移動を説明するための図(その2)である。
排他拡散処理は、サーバ装置9の情報処理手段980によって実行される拡散処理であって、現実空間において各キャラクタの当該現実空間内における位置が他のキャラクタの現実空間内における位置に接近している場合に各クーポン間の現実空間内における存在位置の距離を一定に保つように仮想的に拡散させる拡散処理である。
排他拡散処理は、所定のタイミングから一定時間の経過前と経過後で、キャラクタの移動方向の決定方法を変更するようになっている。すなわち、この排他拡散処理は、所定のタイミングから一定時間の経過前には、算出されたキャラクタと他の(同一種別の)キャラクタとの距離に基づいてキャラクタが現実空間内を移動する移動方向を決定し、所定のタイミングから一定時間の経過後には、キャラクタが現実空間内を移動する移動方向をランダムに決定するようになっている。
具体的には、算出されたキャラクタと(同一種別の)他のキャラクタとの距離に基づいてキャラクタが現実空間内を移動する移動方向を決定する拡散処理では、
(1)クーポン本体情報において基準となるキャラクタに対応付けて規定された現在位置Pcmnと、他の各キャラクタにおける同様に規定された現在位置Pcmnと、の距離Decの算出、
(2)各算出された距離Decと、未取得クーポン拡散情報に規定されたクーポン排他距離Dcと、の比較、
(3)クーポン排他距離Dcよりも算出された距離Decが小さい他のキャラクタに対する各離間方向(移動方向θfmn)の決定、
(4)各移動方向θfmnに基づく基準となるキャラクタの移動方向θfの決定、
を実行するようになっている。なお、他のキャラクタにおける離間方向の検出を行う場合には、距離Dcと距離Decの差異に基づいてベクトルの大きさをも算出し、ベクトル方向だけでなくその大きさを用いてキャラクタの移動方向θfを決定してもよい。
例えば、現実空間内に5つのキャラクタが存在している場合には、4つの距離Decが算出される。また、図13に示すように、キャラクタC21、C22とが互いにクーポン排他距離Dcよりも近い距離に接近して存在している場合であって、基準となるキャラクタがキャラクタC21の場合には、当該キャラクタC21のクーポン本体情報に記憶されているクーポン現在位置Pcmnを示すX−Y座標値から、他のキャラクタC22のクーポン本体情報に記憶されているクーポン現在位置Pcmnを示すX−Y座標値が減算されるとともに、離間する方向のベクトルが算出され、その向きを移動方向θf21として決定される。そして、同様にして、キャラクタC22が基準となるキャラクタの場合には、当該キャラクタC22の移動方向θf22は、キャラクタC22のX−Y座標値からキャラクタC21のX−Y座標値が減算されるとともに、離間する方向のベクトルが算出され、その向きが移動方向θf22として決定される。
また、図14に示すように、キャラクタC23とC24とC25とが互いにクーポン排他距離Dcよりも近い距離に接近して存在している場合であって、キャラクタC23が基準となるキャラクタの場合には、キャラクタC23のクーポン現在位置Pc23と、キャラクタC24のクーポン現在位置Pc24と、キャラクタC25のクーポン現在位置Pc25に基づいて、それぞれが離間する方向のベクトルが算出されて合成される。この合成したベクトルが移動方向θf23となり、キャラクタC23の移動方向として決定される。また、同様にして、キャラクタC24、C25の移動方向も、移動方向θf24、θf25として算出される。
一方、キャラクタにおける現実空間内の移動に関する移動方向がランダムに決定される場合には、各キャラクタmnの移動方向θfmnが、上述と同様に、(式4)によって定められる。
θfmn = 2πRnd / Rndx + θx ・・・(式4)
なお、「m」はキャラクタの拡散IDを示す添字であり、この拡散方法の場合は「m=2」である。また、「n」はキャラクタを識別する番号の添字であり、「π」は円周率であり、「Rnd」は情報処理手段980が取得する乱数である。さらに、「Rndx」は、情報処理手段980が取得する乱数の最大値であり、「θx」は、重み付けをするための関数または定数である。
[基点重点拡散処理の原理]
次に、図15及び図16を用いて本実施形態のサーバ装置9において実行される基点重点拡散処理(m=3)の原理について説明する。なお、図15は、本実施形態において、店舗位置Psと各配布区域iとの関係を示す図であり、図16は、本実施形態において、全ての配布区域においてクーポン許容数に到達している場合の拡散処理について説明するための図である。
基点重点拡散処理は、サーバ装置9の情報処理手段980によって実行される拡散処理であって、現実空間におけるクーポンを配布する店舗周辺にキャラクタを仮想的に拡散させるための拡散処理である。
基点重点拡散処理においては、現実空間においてキャラクタを配布する配布区域を定め、当該配布区域に存在する同一のキャラクタの数に基づいて、各キャラクタの現実空間内における拡散を制御するようになっている。また、基点重点拡散処理は、現実空間において設定された配布区域外へのキャラクタの拡散を禁止している。したがって、店舗位置Psに近い配布区域にキャラクタを多く集めることができるようになっている。
すなわち、基点重点拡散処理は、クーポン本体情報に規定された各キャラクタにおける提供半径Zxと、未取得クーポン拡散情報に規定された配布区域分割数I、当該配布区域分割数によって定められた配布区域境界半径割合と配布区域クーポン許容割合及び当該配布区域クーポン許容数を充満したか否かを判別する充満フラグに基づいて、各キャラクタの現実空間内における拡散を制御するようになっている。
具体的には、基点重点拡散処理においては、配布区域分割数I及び配布区域境界半径割合によって店舗毎のキャラクタにおける配布区域iが予め設定される。そして、基点重点拡散処理は、配布されるクーポン数及び各配布区域によって定められたクーポン許容割合によって算出された配布区域毎の許容クーポン数が予め設定される。
例えば、図15に示すように、布区域分割数I=3で、キャラクタの総数N=6の場合であって、配布区域1、配布区域2、配布区域3の各配布区域クーポン許容割合が3/6、2/6、1/6の場合には、それぞれをN=6倍して、配布区域1におけるクーポン許容数が3、配布区域2におけるクーポン許容数が2、配布区域3におけるクーポン許容数が1と算出される。なお、キャラクタの許容数が整数にならない場合には、例えば、小数点以下を切り捨てて整数部分のみを取得し、配布区域1に余りのクーポンを配置する。
そして、基点重点拡散処理においては、基点となる店舗から所定の方向に一定時間毎に個々に予め設定された移動方向に向かって一定の速度(一定のタイミング)で各キャラクタを移動させる拡散処理が実行されるようになっている。
具体的には、ランダム拡散処理と同様に、各キャラクタmnの移動方向θfmnが、(式5)によって決定される。
θfmn = 2πn / N + θx ・・・(式5)
なお、「m」はキャラクタの拡散IDを示す添字であり、この拡散方法の場合は「m=3」である。また、「n」はキャラクタを識別する番号の添字であり、「π」は円周率である。さらに、「N」は「m=1」におけるキャラクタの総数であり、「θx」は、所定の方向(人が多く集まる場所やライバル店の場所など)にキャラクタを多く集める際に重み付けをするための関数または定数である。
例えば、図15に示すように、キャラクタの総数はN=6(θx=0)の場合には、6つのキャラクタの移動方向θfmnは、それぞれπ/3毎に振り分けられて、当該各移動方向移動方向θfmnに基づいてキャラクタC31〜C36を順次移動させる。
一方、基点重点拡散処理においては、現実空間において店舗から離れ過ぎるとクーポンとして顧客吸引力が低下するため、キャラクタが最外延の配布区域に属した場合には、当該キャラクタの移動方向がランダムに設定されて拡散されるようになっている。
例えば、キャラクタが最外延の配布区域に属した場合には、図16に示すように、最外延の配布区域i=3に属するキャラクタC36は、ランダムに移動する。また、キャラクタの現実空間における移動方向がランダムに決定される場合には、放射ランダム拡散処理と同様に、各キャラクタmnの移動方向θfmnが、(式6)によって定められる。
θfmn = 2πRnd / Rndx + θx ・・・(式6)
なお、「m」はキャラクタの拡散IDを示す添字であり、この拡散方法の場合は「m=3」である。また、「n」はキャラクタを識別する番号の添字であり、「π」は円周率であり、「Rnd」は情報処理手段980が取得する乱数である。さらに、「Rndx」は、情報処理手段980が取得する乱数の最大値であり、「θx」は、重み付けをするための関数または定数である。
他方、基点重点拡散処理において、各配布区域に属するキャラクタの現実空間において存在する数が、キャラクタの許容数に到達した場合には、当該配布区域の基点となる店舗に近い隣接する配布区域に属するキャラクタの移動方向が、上述と同様に、ランダムに設定されて拡散されるようになっている。このとき、各配布区域に属するキャラクタの現実空間における存在する数が、キャラクタの許容数に到達した場合には、充満フラグがTRUEに設定され、該当する配布区域をクーポン進入禁止区域に設定されてクーポン進入禁止区域情報が更新される。
[拡散処理]
次に、図17を用いて本実施形態のサーバ装置9における情報処理手段980が実行する拡散処理の動作について説明する。なお、図17は、本実施形態におけるサーバ装置の情報処理手段が実行する拡散処理を説明するフローチャートである。
本動作においては、既に、サーバ装置9の電源が投入されているとともに、情報処理手段980によって、RAM981、記録手段984、タイマーカウンタ990に対してエラーチェック及びリセットその他の開始処理が実行されているものとする。また、本動作は、開始処理の実行後であって実行定記録手段984の所定領域に記録されているプログラムがRAM981に転送された後に実行される。
まず、情報処理手段980は、通信手段968、近距離無線通信手段965、入力手段970、表示手段972等の各周辺回路のエラーチェック及びリセットなどの初期設定を実行する(ステップS10)。このとき、情報処理手段980は、タイマーカウンタ990に対して、第1拡散時間Tとアイドル時間tの計測開始を指示する。そして、メインプログラムの実行に必要なRAM981の領域の確保及びフラグ等の設定を行う。
次いで、情報処理手段990は、タイマーカウンタ990から日付及び現在時刻と、未取得クーポン拡散情報に規定された第1拡散時間Tc及びアイドル時間tcを読み出す。(ステップS12)。
次いで、情報処理手段980は、ステップS12にて計測開始されたアイドル時間tと、未取得クーポン拡散情報に含まれるアイドル時間tcと、を比較し、アイドル時間tの計測開始から所定の時間が経過したか否か、すなわち、「t」≧「tc」であるか否かを判断する(ステップS14)。このとき、情報処理手段980は、未だアイドル時間tがアイドル時間tc未満であると判断した場合には、ステップS28の処理に移行し(ステップS14:No)、アイドル時間tがアイドル時間tc以上であると判断した場合には、ステップS15の処理に移行する(ステップS14:Yes)。
次いで、情報処理手段980は、「t−tc」を算出し、その結果を「t」に代入し、アイドル時間をリセットする(ステップS15)。すなわち、情報処理手段980は、算出した「t」の値を、タイマーカウンタ990にセットし、再度、アイドル時間の計測を開始する。
次いで、情報処理手段980は、第1拡散時間Tc(初期拡散時間)に基づいて、複数のキャラクタを、当該キャラクタを提供する店舗位置などの基点から放射状に現実空間内を拡散移動させるための放射ランダム拡散処理(m=1)を行う(ステップS16)。具体的には、情報処理手段980は、第1拡散時間Tc(初期拡散時間)内においては複数のキャラクタを基点から放射状に現実空間内を拡散移動させるための拡散処理を実行し、第1拡散時間Tc経過後においては、乱数を用いてキャラクタの拡散方向を変更させて現実空間内を拡散移動させるための拡散処理を行う。なお、このステップS16における放射ランダム拡散処理(m=1)の処理の詳細については、後述する。
次いで、情報処理手段980は、第1拡散時間Tc(初期拡散時間)に基づいて、複数のキャラクタを、排他拡散処理を実行する(ステップS18)。具体的には、情報処理手段980は、第1拡散時間Tc(初期拡散時間)内においては、乱数を用いてキャラクタの拡散方向を変更させて現実空間内を拡散移動させるための拡散処理を実行し、第1拡散時間Tc経過後においては、複数のキャラクタの現実空間内における距離を算出し、キャラクタ間の距離が所定の距離よりも接近している場合に、接近しているキャラクタから離間する方向に現実空間内を拡散移動させる拡散処理を実行する。なお、このステップS18における排他拡散処理の詳細については、後述する。
次いで、情報処理手段980は、複数のキャラクタを、当該キャラクタを提供する店舗位置などの基点付近に多く配置する基点重点拡散処理を実行する(ステップS20)。具体的には、情報処理手段980は、初期段階においては複数のキャラクタを基点から放射状に拡散移動させるとともに、キャラクタが各配布区域内に許容される割合に到達した場合に、各配布区域内においてキャラクタの拡散方向を変更させて、基点に重点的に拡散されるための処理を行う。なお、ステップS20における基点重点拡散処理の詳細については、後述する。
次いで、情報処理手段980は、入力手段770等を介して当該本処理のプログラムを終了する指示が入力されたか否かの判断を行う(ステップS28)。このとき、情報処理手段980は、終了の指示が入力されたと判断した場合には、ステップS30の処理に移行し(ステップS28:Yes)、プログラムを終了する指示が入力されていないと判断した場合には(ステップS28:No)、ステップS12の処理に移行し、拡散処理を継続して繰り返し行う。
次いで、情報処理手段980は、ステップS28の処理において、終了の指示が入力されたと判断した場合には、RAM981に記録されていた情報のうち必要な情報を記録手段984に退避させる処理等の終了処理、及び、電源の遮断を実行し(ステップS30)、本動作を終了させる。
[放射ランダム拡散処理]
次に、図18及び図19を用いてサーバ装置9の情報処理手段980が実行する放射ランダム拡散処理(m=1)について説明する。
なお、図18及び図19は、本実施形態におけるサーバ装置9の情報処理手段980が実行する放射ランダム拡散処理(m=1)について説明するフローチャートである。
本動作は、図17に示す拡散処理におけるステップS16の放射ランダム拡散処理が実行されたときに、実行される処理である。
まず、情報処理手段980は、各キャラクタを現実空間内で拡散させるために、RAM781におけるクーポン番号を書き込む作業領域を初期値(n=0)にリセットし(ステップS112)、次のクーポン番号(n=n+1)をセットするとともにクーポン現在位置Pcmnを更新する。(ステップS114)。情報処理手段980は、ステップS114の処理において、クーポン本体情報において、セットされたクーポン番号に対応するクーポン次位置Pfmnをクーポン現在位置Pcmnに更新する。
次いで、情報処理手段980は、ステップS114によってセットされたクーポン番号に基づいて、クーポン本体情報における未取得クーポン拡散IDmを読み出し、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=1と同一であるか否かを判断する(ステップS116)。
ステップS116の処理において、情報処理手段980は、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=1と同一であると判断した場合には(ステップS116:Yes)、ステップS118の処理に移行し、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=1と同一でないと判断した場合には(ステップS116:No)、ステップS160の処理に移行する。
次いで、情報処理手段980は、ステップS114によってセットされたクーポン番号に基づいて、記録手段984に記録されたクーポン本体情報における所定のクーポン番号の取得済判定フラグを読み出し、当該取得済判定フラグがTRUEであるか否かの判断を行う(ステップS118)。
なお、取得済判定フラグは、サーバ装置9の拡散処理におけるステップS10にてFALSEに初期設定されている。また、取得済判定フラグは、図25のステップS676にてサーバ装置9が携帯用端末装置7にクーポンコンテンツ情報を送信したときに、TRUEにセットされる。
ステップS118の処理において、情報処理手段980は、取得済判定情報がTRUEであると判断した場合には(ステップS118:Yes)、ステップS114の処理に戻り、次のクーポン番号nについて拡散処理を行う。また、ステップS118において、情報処理手段980は、取得済判定情報がTRUEでないと判断した場合には(ステップS118:No)、ステップS119の処理に移行する。
次いで、情報処理手段980は、ステップS118の処理において、取得済判定情報がTRUEでないと判断した場合には、セットされたクーポン番号に基づいて、記クーポン本体情報において該当するクーポン提供期間の情報と現在の日時情報とを読み出して、現在の日時がクーポン提供期間内であるか否かを判断する(ステップS119)。このとき、情報処理手段980は、現在の日時がクーポン提供期間外であると判断した場合には(ステップS119:No)、ステップS114の処理に戻り、現在の日時がクーポン提供期間内であると判断した場合には(ステップS119:Yes)、ステップS120の処理に移行する。
次いで、情報処理手段980は、ステップS119の処理において、現在の日時がクーポン提供期間内であると判断した場合には、ステップS12において計測開始された第1拡散時間T及び未取得クーポン拡散情報に規定された第1拡散時間Tcとを比較し、計測された拡散時間Tが規定された第1拡散時間Tcを経過したか否かを判断する(ステップS120)。このとき、情報処理手段980は、計測された拡散時間Tが規定された第1拡散時間Tcを経過していない(T<Tc)と判断した場合には(ステップS120:No)、ステップS122の処理に移行し、計測された拡散時間Tが規定された第1拡散時間Tcを経過した(T≧Tc)と判断した場合には(ステップS120:Yes)、ステップS124の処理に移行する。
次いで、情報処理手段980は、ステップS120の処理において、計測された拡散時間Tが規定された第1拡散時間Tcを経過していない(T<Tc)と判断した場合には、移動方向θfmnを放射状(θfmn=2πn/N+θx)に決定し(ステップS122)、ステップS140の処理に移行する。
一方、情報処理手段980は、ステップS120の処理において、計測された拡散時間Tが規定された第1拡散時間Tcを経過した(T≧Tc)と判断した場合には、移動方向θfmnをランダム(θfmn=2πRnd/Rndx+θx)に決定し(ステップS124)、ステップS140の処理に移行する。
次いで、情報処理手段980は、未取得クーポン拡散情報から該当する移動距離Rcaを読み出して移動距離Rmnに設定する(ステップS140)。
次いで、情報処理手段980は、ステップS122、S124またはS146の処理によって決定された移動方向θfmnと、ステップS140の処理によって設定された移動距離Rmnとに基づいて、このR−θ座標系をX−Y座標系に変換する処理を行いつつ、キャラクタのクーポン現在位置Pcmnに加算し、次の移動先であるクーポン次位置Pfmnを算出する(ステップS142)。
次いで、情報処理手段980は、ステップS142において算出したクーポン次位置Pfmnと、クーポン本体情報に規定された店舗位置Ps及び提供半径Zxとに基づいて、クーポン次位置Pfmnが、店舗位置Psを中心とする提供半径Zx内の提供圏内に存在しているか否かの判断を行う(ステップS144)。このとき、情報処理手段980は、クーポン次位置Pfmnが提供圏内に存在していない(提供圏外に存在している)と判断した場合には(ステップS144:No)、ステップS146の処理に移行し、クーポン次位置Pfmnが提供圏内に存在していると判断した場合には(ステップS144:Yes)、ステップS148の処理に移行する。
次いで、情報処理手段980は、ステップS144の処理において、クーポン次位置Pfmnが提供圏内に存在していないと判断した場合には、キャラクタの移動方向θfmnを反転させて所定の値を加算し(ステップS146)、ステップS142の処理に移行する。このとき、情報処理手段980は、算出された値を新たな移動方向としてθfmnに設定する。
次いで、情報処理手段980は、ステップS144の処理において、クーポン次位置Pfmnが提供圏内に存在している判断した場合には、算出したクーポン次位置Pfmnが、クーポン本体情報に規定された禁止区域IDに関連づけられた進入禁止区域情報で規定されるクーポン進入禁止区域内(W)に存在しているか否かの判断を行う(ステップS148)。具体的には、情報処理手段980は、クーポン本体情報に規定された禁止区域IDに関連づけられた進入禁止区域情報を読み出す。そして、情報処理手段980は、当該進入禁止区域情報に含まれる中心緯度及び中心経度と、進入禁止区域半径とに基づいて、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在しているか否かの判断を行う。このとき、情報処理手段980は、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していると判断した場合には(ステップS148:Yes)、ステップS150の処理に移行し、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していないと判断した場合には(ステップS148:No)、ステップS156の処理に移行する。
次いで、情報処理手段980は、ステップS148の処理において、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していると判断した場合には、算出された移動方向θfmnがステップS124のランダムに決定されたものであるか否かの判断を行う(ステップS150)。このとき、情報処理手段980は、算出された移動方向θfmnがランダムに決定されたものでないと判断した場合には(ステップS150:No)、ステップS152の処理に移行し、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には(ステップS150:Yes)、ステップS154の処理に移行する。
次いで、情報処理手段980は、ステップS150の処理において、算出された移動方向θfmnがランダムに決定されたものでないと判断した場合には、次位置Pfmnに基づいて新たな次位置Pfmnを計算し(ステップS152)、ステップS144の処理に移行する。具体的には、情報処理手段980は、ステップS122、S124またはS146の処理によって決定された移動方向θfmnと、ステップS140の処理によって設定された移動距離Rmnを座標変換し、座標変換した値に更にクーポン次位置Pfmnに加算して、再度クーポン次位置Pfmnを算出する。なお、この処理は、クーポン進入禁止区域を素通りして、クーポン進入禁止区域を超えた先までキャラクタを移動させるための処理である。
次いで、情報処理手段980は、ステップS150の処理において、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には、クーポン本体情報に対してクーポン次位置Pfmnを更新し(ステップS154)、ステップS160の処理に移行する。具体的には、情報処理手段980は、ステップS142またはステップS152において算出されたクーポン次位置Pfmnを、クーポン本体情報に対して更新する。ただし、情報処理手段980は、携帯用端末装置7の表示手段772上では、キャラクタがクーポン進入禁止区域域の手前に表示させるための情報を補足情報としてクーポン本体情報に規定する。
次いで、情報処理手段980は、ステップS148の処理において、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していないと判断した場合には、クーポン本体情報に対してクーポン次位置Pfmnを更新し(ステップS156)、ステップS160の処理に移行する。具体的には、情報処理手段980は、ステップS142またはステップS152において算出されたクーポン次位置Pfmnを、RAM981に記録されたクーポン本体情報に対して更新する。
最後に、情報処理手段980は、現在のクーポン番号nが、キャラクタの総数Nであるか否かの判断を行う(ステップS160)。このとき、情報処理手段980は、現在のクーポン番号nがキャラクタの総数Nでないと判断した場合には(ステップS160:No)、ステップS114の処理に戻り、現在のクーポン番号nがキャラクタの総数Nであると判断した場合には(ステップS160:Yes)、放射ランダム拡散処理を終了させて拡散処理に戻る。
[排他拡散処理]
次に、図20及び図21を用いてサーバ装置9の情報処理手段980が実行する排他拡散処理(m=2)について説明する。なお、図20及び図21は、サーバ装置9の情報処理手段980が実行する排他拡散処理(m=2)について説明するフローチャートである。
本動作は、図17に示す拡散処理におけるステップS18の排他拡散処理が実行されたときに、実行される処理である。
なお、取得済判定フラグは、サーバ装置9の拡散処理におけるステップS10にてFALSEに初期設定されている。また、取得済判定フラグは、図25のステップS676にてサーバ装置9が携帯用端末装置7にクーポンコンテンツ情報を送信したときに、TRUEにセットされる。
まず、情報処理手段980は、各キャラクタを現実空間内で拡散させるために、RAM781におけるクーポン番号を書き込む作業領域を初期値(n=0)にリセットし(ステップS212)、次のクーポン番号(n=n+1)をセットするとともにクーポン現在位置Pcmnを更新する(ステップS214)。情報処理手段980は、ステップS214の処理において、クーポン本体情報において、セットされたクーポン番号に対応するクーポン次位置Pfmnをクーポン現在位置Pcmnに更新する。
次いで、情報処理手段980は、ステップS214によってセットされたクーポン番号に基づいて、記録手段984に記録されたクーポン本体情報におけるクーポン拡散IDmを読み出し、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=2と同一であるか否かを判断する(ステップS216)。
ステップS216の処理において、情報処理手段980は、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=2と同一であると判断した場合には(ステップS216:Yes)、ステップS218の処理に移行し、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=2と同一でないと判断した場合には(ステップS216:No)、ステップS260の処理に移行する。
次いで、情報処理手段980は、ステップS214によってセットされたクーポン番号に基づいて、クーポン本体情報における所定のクーポン番号の取得済判定フラグを読み出し、当該取得済判定フラグがTRUEであるか否かの判断を行う(ステップS218)。
なお、取得済判定フラグは、サーバ装置9の拡散処理におけるステップS10においてFALSEに初期設定されている。また、取得済判定フラグは、図25のステップS676にて携帯用端末装置7がクーポンコンテンツ情報を取得した場合に、TRUEにセットされる。
ステップS218の処理において、情報処理手段980は、取得済判定情報がTRUEであると判断した場合には(ステップS218:Yes)、ステップS214の処理に戻り、次のクーポン番号nについて拡散処理を行う。また、ステップS218において、情報処理手段980は、取得済判定情報がTRUEでないと判断した場合には(ステップS218:No)、ステップS219の処理に移行する。
次いで、情報処理手段980は、ステップS218の処理において、取得済判定情報がTRUEでないと判断した場合には、セットされたクーポン番号に基づいて、クーポン本体情報において該当するクーポン提供期間の情報と現在の日時情報とを読み出して、現在の日時がクーポン提供期間内であるか否かを判断する(ステップS219)。このとき、情報処理手段980は、現在の日時がクーポン提供期間外であると判断した場合には(ステップS219:No)、ステップS214の処理に戻り、現在の日時がクーポン提供期間内であると判断した場合には(ステップS219:Yes)、ステップS220の処理に移行する。
次いで、情報処理手段980は、ステップS219の処理において、現在の日時がクーポン提供期間内であると判断した場合には、ステップS212において計測開始された第1拡散時間T及び未取得クーポン拡散情報に規定された第1拡散時間Tcとを比較し、計測された拡散時間Tが規定された第1拡散時間Tcを経過したか否かを判断する(ステップS220)。
次いで、情報処理手段980は、ステップS220の処理において、計測された拡散時間Tが規定された第1拡散時間Tcを経過していない(T<Tc)と判断した場合には(ステップS220:No)、移動方向θfmnをランダム(θfmn=2πRnd/Rndx+θx)に決定する(ステップS226)。
次いで、情報処理手段980は、RAM981に記録された未取得クーポン拡散情報から該当する移動距離Rcaをキャラクタを現実空間内において移動させるために用いる移動距離Rmnに設定し(ステップS240)、ステップS242の処理に移行する。
次いで、情報処理手段980は、ステップS220の処理において、計測された拡散時間Tが規定された第1拡散時間Tcを経過した(T≧Tc)と判断した場合には(ステップS220:Yes)、クーポン本体情報に記録されている該当する現在位置Pcmnと、他のキャラクタとの距離Decを、それぞれ算出する(ステップS222)。
次いで、情報処理手段980は、RAM981に記録された未取得クーポン拡散情報におけるクーポン排他距離Dcと、先のステップS222にて算出された各距離Decとを読み出して比較し、現実空間において基準となるキャラクタの所定の範囲内に他のキャラクタが存在しているか否か、すなわち、規定されたクーポン排他距離Dcよりも小さい算出された距離Decがあるか否かを判断する(ステップS224)。このとき、情報処理手段980は、現実空間において所定の範囲内にキャラクタが存在していないと判断した場合には(ステップS224:No)、ステップS226の処理に移行する。
一方、情報処理手段980は、ステップS224の処理において、現実空間における所定の範囲内に他のキャラクタが存在していると判断した場合には(ステップS224:Yes)、現実空間において所定の範囲内に他のキャラクタが存在している方向と離間する方向を移動方向として決定する(ステップS228)。具体的には、情報処理手段980は、キャラクタのクーポン現在位置から現実空間において所定の範囲内に存在する他のキャラクタのクーポン現在位置を減算して離間する方向のベクトルを算出し、その向き(すなわち反対方向)を移動方向θfmとして決定する。ただし、情報処理手段980は、現実空間内において所定の範囲内に複数の他のキャラクタが存在する場合には、算出された複数のベクトルに基づいて一の移動方向を算出する。
次いで、情報処理手段980は、未取得クーポン拡散情報に規定された排他移動距離Rcbを、キャラクタを移動させるために用いる移動距離Rmnに設定し(ステップS230)、ステップS242の処理に移行する。
次いで、情報処理手段980は、ステップS228、S226またはS246の処理によって決定された移動方向θfmnと、ステップS230またはS240の処理によって設定された移動距離Rmnと、をR−θ座標系からX−Y座標系に変換する処理を行いつつ、キャラクタのクーポン現在位置Pcmnに加算し、次の移動先であるクーポン次位置Pfmnを算出する(ステップS242)。
次いで、情報処理手段980は、ステップS242において算出したクーポン次位置Pfmnと、クーポン本体情報から読み出された店舗位置Ps及び提供半径Zxとに基づいて、クーポン次位置Pfmnが、店舗位置Psを中心とする提供半径Zx内の提供圏内に存在しているか否かの判断を行う(ステップS244)。このとき、情報処理手段980は、クーポン次位置Pfmnが提供圏内に存在していない(提供圏外に存在している)と判断した場合には(ステップS244:No)、ステップS246の処理に移行し、クーポン次位置Pfmnが提供圏内に存在していると判断した場合には、ステップS248の処理に移行する。
次いで、情報処理手段980は、ステップS244の処理において、クーポン次位置Pfmnが提供圏内に存在していないと判断した場合には、キャラクタの移動方向θfmnを反転させて所定の値を加算し(ステップS246)、ステップS242の処理に移行する。このとき、情報処理手段980は、算出された値を新たな移動方向としてθfmnに設定する。
次いで、情報処理手段980は、ステップS244の処理において、クーポン次位置Pfmnが提供圏内に存在している判断した場合には、算出したクーポン次位置Pfmnが、クーポン本体情報に規定された禁止区域IDに関連づけられた進入禁止区域情報で規定されるクーポン進入禁止区域内(W)に存在しているか否かの判断を行う(ステップS248)。具体的には、情報処理手段980は、クーポン本体情報に規定された禁止区域IDを読み出すとともに、読み出された禁止区域IDに関連づけられた進入禁止区域情報を読み出す。そして、情報処理手段980は、当該進入禁止区域情報に含まれる中心緯度及び中心経度と、進入禁止区域半径とに基づいて、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在しているか否かの判断を行う。このとき、情報処理手段980は、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在している判断した場合には(ステップS248:Yes)、ステップS250の処理に移行し、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していない判断した場合には(ステップS248:No)、ステップS256の処理に移行する。
次いで、情報処理手段980は、ステップS248の処理において、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していると判断した場合には、算出された移動方向θfmnがステップS226のランダムに決定されたものであるか否かの判断を行う(ステップS250)。このとき、情報処理手段980は、算出された移動方向θfmnがランダムに決定されたものでないと判断した場合には(ステップS250:No)、ステップS252の処理に移行し、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には(ステップS250:Yes)、ステップS254の処理に移行する。
次いで、情報処理手段980は、ステップS250の処理において、算出された移動方向θfmnがランダムに決定されたものでないと判断した場合には、次位置Pfmnに基づいて新たな次位置Pfmnを計算し(ステップS252)、ステップS244の処理に移行する。具体的には、情報処理手段980は、ステップS228、S226またはS246の処理によって決定された移動方向θfmnと、ステップS230またはS240の処理によって設定された移動距離Rmnと座標変換を行いつつ、更にクーポン次位置Pfmnに加算して、再度クーポン次位置Pfmnを算出する。なお、この処理は、クーポン進入禁止区域を素通りして、クーポン進入禁止区域を超えた先までキャラクタを移動させるための処理である。
次いで、情報処理手段980は、ステップS250の処理において、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には、クーポン本体情報に対してクーポン次位置Pfmnを更新し(ステップS254)、ステップS260の処理に移行する。具体的には、情報処理手段980は、ステップS242またはステップS252において算出されたクーポン次位置Pfmnを、クーポン本体情報に対して更新する。ただし、情報処理手段980は、携帯用端末装置7の表示手段772上では、キャラクタがクーポン進入禁止区域域の手前に表示させるための情報を補足情報としてクーポン本体情報に規定する。
次いで、情報処理手段980は、ステップS248の処理において、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していないと判断した場合には、クーポン本体情報に対してクーポン次位置Pfmnを更新し(ステップS254)、ステップS260の処理に移行する。具体的には、情報処理手段980は、ステップS242またはステップS252において算出されたクーポン次位置Pfmnを、クーポン本体情報に対して更新する。
最後に、情報処理手段980は、現在のクーポン番号nが、m=1におけるキャラクタの総数Nであるか否かの判断を行う(ステップS260)。このとき、情報処理手段980は、現在のクーポン番号nがキャラクタの総数Nでないと判断した場合には(ステップS260:No)、ステップS214の処理に戻り、現在のクーポン番号nがキャラクタの総数Nであると判断した場合には(ステップS260:Yes)、排他拡散処理を終了させて拡散処理に戻る。
[基点重点拡散処理]
次に、図22を用いてサーバ装置9の情報処理手段980が実行する基点重点拡散処理(m=3)について説明する。なお、図22は、サーバ装置9の情報処理手段980が実行する基点重点拡散処理(m=3)について説明するフローチャートである。
本動作は、図17に示す拡散処理におけるステップS20の基点重点拡散処理が実行されたときに、実行される処理である。
なお、取得済判定フラグは、サーバ装置9の拡散処理におけるステップS10にてFALSEに初期設定されている。また、取得済判定フラグは、図25のステップS676にてサーバ装置9が携帯用端末装置7にクーポンコンテンツ情報を送信したときに、TRUEにセットされる。
まず、情報処理手段980は、各キャラクタを現実空間内で拡散させるために、RAM781におけるクーポン番号を書き込む作業領域を初期値(n=0)にリセットし(ステップS312)、次のクーポン番号(n=n+1)をセットするとともにクーポン現在位置Pcmnを更新する。(ステップS314)。情報処理手段980は、ステップS314の処理において、クーポン本体情報において、セットされたクーポン番号に対応するクーポン次位置Pfmnをクーポン現在位置Pcmnに更新する。
次いで、情報処理手段980は、ステップS314によってセットされたクーポン番号に基づいて、クーポン本体情報におけるクーポン拡散IDmを読み出し、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=3と同一であるか否かを判断する(ステップS316)。
ステップS316の処理において、情報処理手段980は、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=3と同一であると判断した場合には(ステップS316:Yes)、ステップS318の処理に移行し、当該読み出したクーポン拡散IDmが放射ランダム拡散処理m=3と同一でないと判断した場合には(ステップS316:No)、ステップS360の処理に移行する。
次いで、情報処理手段980は、ステップS314によってセットされたクーポン番号に基づいて、クーポン本体情報における所定のクーポン番号の取得済判定フラグを読み出し、当該取得済判定フラグがTRUEであるか否かの判断を行う(ステップS318)。
なお、取得済判定フラグは、サーバ装置9の拡散処理におけるステップS10にてFALSEに初期設定されている。また、取得済判定フラグは、図25のステップS676にて携帯用端末装置7がクーポンコンテンツ情報を取得した場合に、TRUEにセットされる。
ステップS318の処理において、情報処理手段980は、取得済判定情報がTRUEであると判断した場合には(ステップS318:Yes)、ステップS314の処理に戻り、次のクーポン番号nについて拡散処理を行う。また、ステップS318において、情報処理手段980は、取得済判定情報がTRUEでないと判断した場合には(ステップS318:No)、ステップS319の処理に移行する。
次いで、情報処理手段980は、ステップS218の処理において、取得済判定情報がTRUEでないと判断した場合には、セットされたクーポン番号に基づいて、クーポン本体情報において該当するクーポン提供期間の情報と現在の日時情報とを読み出して、現在の日時がクーポン提供期間内であるか否かを判断する(ステップS319)。このとき、情報処理手段980は、現在の日時がクーポン提供期間外であると判断した場合には(ステップS319:No)、ステップS314の処理に戻り、現在の日時がクーポン提供期間内であると判断した場合には(ステップS319:Yes)、ステップS320の処理に移行する。
次いで、情報処理手段980は、クーポン本体情報に規定された未取得のクーポン現在位置Pcmn、提供半径Zx及び店舗位置Psと、未取得クーポン拡散情報に規定された配布区域分割数I及び各配布区域境界半径割合と、に基づいて、各キャラクタのクーポン現在位置Pcmnが存在している配布区域iを設定する(ステップS320)。
次いで、情報処理手段980は、上述のステップS320にて取得した配布区域i内に存在しているキャラクタの数(すなわち、クーポン数)を計算する(ステップS322)。
次いで、情報処理手段980は、未取得クーポン拡散情報に規定された各配布区域クーポン許容割合を読み出して、各配布区域iに許容されるキャラクタ数を算出する(ステップS324)。
次いで、情報処理手段980は、各配布区域におけるクーポン許容数と、ステップS322にて取得した各配布領域i=1〜Iにおけるキャラクタ数とを比較し、未取得クーポン拡散情報に規定されたクーポン許容数に到達している場合には、配布領域iの充満フラグを、TRUEにセットする処理を行う(ステップS324)。なお、クーポン許容数に到達していない配布領域の充満フラグは、FALSEにリセットされている。
次いで、情報処理手段980は、ステップS314の処理にて設定されたクーポン番号に対応するキャラクタにおける拡散処理(以下、「配布区域内拡散処理」という。)を実行して当該キャラクタのクーポン次位置Pfmnを決定し(ステップS330)、ステップS358の処理に移行する。なお、本実施形態における配布区域内拡散処理の動作の詳細については後述する。
最後に、情報処理手段980は、現在のクーポン番号nが、m=1におけるキャラクタの総数Nであるか否かの判断を行う(ステップS360)。このとき、情報処理手段980は、現在のクーポン番号nがキャラクタの総数Nでないと判断した場合には(ステップS360:No)、ステップS314の処理に戻り、現在のクーポン番号nがキャラクタの総数Nであると判断した場合には(ステップS360:Yes)、放射ランダム拡散処理を終了させて拡散処理に戻る。
[配布区域内拡散処理]
次に、図23を用いてサーバ装置9の情報処理手段980が実行する配布区域内拡散処理について説明する。なお、図23は、本実施形態におけるサーバ装置9の情報処理手段980が実行する配布区域内拡散処理について説明するフローチャートである。
本動作は、図22に示す基点重点拡散処理におけるステップS329の配布区域内拡散処理が実行されたときに、実行される処理である。
まず、情報処理手段980は、クーポン本体情報から該当する未取得のクーポンにおけるクーポン現在位置Pcmn、提供半径Zx及び店舗位置Psを読み出すとともに、未取得クーポン拡散情報に規定された配布区域分割数i及び各配布区域境界半径割合とを読み出して、未取得のクーポン現在位置Pcmnが存在している配布区域iを設定する(ステップS412)。
次いで、情報処理手段980は、当該配布区域iが最も外側の配布区域であるか否か、すなわち、配布区域iが配布区域分割数Iと同一であるか否かの判断を行う(ステップS414)。このとき、情報処理手段980は、当該配布区域iが最も外側の配布区域Iでないと判断した場合には(ステップS414:No)、ステップS416の処理に移行し、当該配布区域iが最も外側の配布区域Iであると判断した場合には(ステップS414:Yes)、ステップS420の処理に移行する、
次いで、情報処理手段980は、ステップS414の処理において、キャラクタが属する配布区域iが最も外側の配布区域Iでないと判断した場合には、充満フラグに基づいて、配布区域iよりも基点となる店舗から一つ外側の配布区域i+1におけるキャラクタの数がクーポン許容数に到達しているか否かの判断を行う(ステップS416)。このとき、情報処理手段980は、配布区域i+1におけるキャラクタの数がクーポン許容数に到達していないと判断した場合には(ステップS416:No)、拡散移動を続けるべく、次のステップS418に移行し、配布区域i+1におけるキャラクタの数がクーポン許容数に到達していると判断した場合には(ステップS416:Yes)、ステップS420の処理に移行する。
次いで、情報処理手段980は、ステップS416の処理において、配布区域i+1におけるキャラクタの数がクーポン許容数に到達していないと判断した場合には、移動方向θfmnを放射状(θfmn=2πn/N+θx)に決定し(ステップS418)、ステップS440の処理に移行する。
一方、情報処理手段980は、ステップS414の処理において、配布区域iが最も外側の配布区域Iであると判断した場合には、または、ステップS416の処理において、配布区域i+1におけるキャラクタの数がクーポン許容数に到達していると判断した場合には、キャラクタにおける移動方向θfmnをランダム(θfmn=2πRnd/Rndx+θx)に決定し(ステップS418)、ステップS440の処理に移行する。
次いで、情報処理手段980は、未取得クーポン拡散情報から該当する移動距離Rcaを読み出して移動距離Rmnに決定する(ステップS440)。
次いで、情報処理手段980は、ステップS418、S420またはS446の処理によって決定された移動方向θfmnと、ステップS440の処理によって設定された移動距離Rmnを、R−θ座標系からX−Y座標系に変換する処理を行いつつ、キャラクタのクーポン現在位置Pcmnに加算し、次の移動先であるクーポン次位置Pfmnを算出する(ステップS442)。
次いで、情報処理手段980は、ステップS442またはステップS452において算出したクーポン次位置Pfmnと、クーポン本体情報から読み出された店舗位置Ps及び提供半径Zxとに基づいて、クーポン次位置Pfmnが、店舗位置Psを中心とする提供半径Zx内の提供圏内に存在しているか否かの判断を行う(ステップS444)。このとき、情報処理手段980は、クーポン次位置Pfmnが提供圏内に存在していない(提供圏外に存在している)と判断した場合には(ステップS444:No)、ステップS446の処理に移行し、クーポン次位置Pfmnが提供圏内に存在していると判断した場合には(ステップS444:Yes)、ステップS448の処理に移行する。
次いで、情報処理手段980は、ステップS444の処理において、クーポン次位置Pfmnが提供圏内に存在していないと判断した場合には、キャラクタの移動方向θfmnを反転させて所定の値を加算し(ステップS446)、ステップS442の処理に移行する。このとき、情報処理手段980は、算出された値を新たな移動方向としてθfmnに設定する。
次いで、情報処理手段980は、ステップS444の処理において、クーポン次位置Pfmnが提供圏内に存在していると判断した場合には、算出したクーポン次位置Pfmnが、クーポン本体情報に規定された禁止区域IDに関連づけられた進入禁止区域情報で規定されるクーポン進入禁止区域内(W)に存在しているか否かの判断を行う(ステップS448)。具体的には、情報処理手段980は、クーポン本体情報に規定された禁止区域IDを読み出すとともに、読み出された禁止区域IDに関連づけられた進入禁止区域情報を読み出す。そして、情報処理手段980は、当該進入禁止区域情報に含まれる中心緯度及び中心経度と、進入禁止区域半径とに基づいて、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在しているか否かの判断を行う。このとき、情報処理手段980は、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在している判断した場合には(ステップS448:Yes)、ステップS450の処理に移行し、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していない判断した場合には(ステップS448:No)、ステップS456の処理に移行する。
次いで、情報処理手段980は、ステップS448の処理において、算出したクーポン次位置Pfmnが、クーポン進入禁止区域内(W)に存在していると判断した場合には、算出された移動方向θfmnがステップS420のランダムに決定されたものであるか否かの判断を行う(ステップS450)。このとき、情報処理手段980は、算出された移動方向θfmnがランダムに決定されたものでないと判断した場合には(ステップS450:No)、ステップS452の処理に移行し、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には(ステップS450:Yes)、ステップS454の処理に移行する。
次いで、情報処理手段980は、ステップS450の処理において、算出された移動方向θfmnがランダムに決定されたものでないと判断した場合には、次位置Pfmnに基づいて新たな次位置Pfmnを計算し(ステップS452)、ステップS444の処理に移行する。具体的には、情報処理手段980は、移動方向θfmnと、移動距離Rmnとの座標変換を行いつつ、更にクーポン次位置Pfmnに加算して、再度クーポン次位置Pfmnを算出する。なお、この処理は、クーポン進入禁止区域を素通りして、クーポン進入禁止区域を超えた先までキャラクタを移動させるための処理である。
次いで、情報処理手段980は、ステップS450の処理において、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には、クーポン本体情報に対してクーポン次位置Pfmnを更新し(ステップS454)、配布区域内拡散処理が終了させて基点重点拡散処理に戻る。具体的には、情報処理手段980は、ステップS442またはステップS452において算出されたクーポン次位置Pfmnを、クーポン本体情報に対して更新する。ただし、情報処理手段980は、携帯用端末装置7の表示手段772上では、キャラクタがクーポン進入禁止区域域の手前に表示させるための情報を補足情報としてクーポン本体情報に規定する。
次いで、情報処理手段980は、ステップS448の処理において、算出された移動方向θfmnがランダムに決定されたものであると判断した場合には、クーポン本体情報に対してクーポン次位置Pfmnを更新し(ステップS456)、配布区域内拡散処理が終了させて基点重点拡散処理に戻る。具体的には、情報処理手段980は、ステップS142またはステップS452において算出されたクーポン次位置Pfmnを、RAM981に記録されたクーポン本体情報に対して更新する。
[クーポン表示処理及びクーポン提供処理]
次に、図24及び図25を用いて携帯用端末装置7の情報処理手段780が実行するクーポン表示処理及びサーバ装置9の情報処理手段980が実行するクーポン提供処理について説明する。なお、図24及び図25は、サーバ装置9の情報処理手段980が実行するクーポン提供処理と、携帯用端末装置7の情報処理手段780が実行するクーポン表示処理について説明するフローチャートである。
本動作において、携帯用端末装置7においては、電源が投入されているものとし、サーバ装置9においては、クーポン提供処理のプログラムが起動されているものとする。また、携帯用端末装置7は、クーポン表示処理を実行している際に、クーポン取得処理を実行し、クーポンを取得した後には、すなわち、クーポンコンテンツ情報を取得した後には、サーバ装置9によって実行される店舗誘導処理に連動してキャラクタ画像の表示を実行する。また、クーポン提供処理は、サーバメイン処理とは別に、携帯用端末装置7からの端末位置及び撮像方向のデータとともに送信されたキャラクタ画像の取得要求に基づいてサーバ装置9によって実行される処理である。
はじめに、携帯用端末装置7におけるクーポン取得処理を含むクーポン表示処理について説明する。
まず、情報処理手段780は、入力手段770を介してクーポン表示プログラムの起動を検出すると(ステップS801)、撮像手段750によって撮像(具体的には、現実空間の撮像)を開始させる(ステップS802)。
次いで、情報処理手段780は、位置検出手段758から携帯用端末装置7が存在している端末位置と、方向検出手段760から撮像方向を取得するとともに、端末位置情報と撮像方向とを携帯用端末装置7の端末IDとともにデータとしてサーバ装置9に送信する(ステップS803)。このとき、情報処理手段780は、広域無線通信手段764または近距離無線通信手段765を介してサーバ装置9との通信回線を確立し、各情報を送信する。
次いで、情報処理手段780は、クーポン番号、キャラクタ画像とその位置を受信すると(ステップS804)、受信したキャラクタ画像とその位置に従って、撮像手段750によって撮像された現実画像と、当該現実画像上に重畳されたキャラクタ画像を表示手段772に表示させる(ステップS805)。なお、情報処理手段780は、進入禁止に関する補足情報がある場合には、当該補足情報に規定された位置に当該キャラクタ画像を表示する。
次いで、情報処理手段780は、入力手段770によって表示手段772に表示されているキャラクタ画像が選択されたか否かを判断し、すなわち、キャラクタ画像に対応するクーポンの取得要求が実行されたか否かを判断する(ステップS806)。このとき、情報処理手段780は、キャラクタ画像に対応するクーポンの取得要求が実行されていないと判断した場合には(ステップS806:No)、ステップS810の処理に移行し、キャラクタ画像に対応するクーポンの取得要求が実行されたと判断した場合には(ステップS806:Yes)、ステップS820の処理に移行する。
次いで、情報処理手段780は、ステップS806の処理において、キャラクタ画像に対応するクーポンの取得要求が実行されていないと判断した場合には、携帯用端末装置7が所定の距離以上移動したか否か及び撮像方向が所定角度回転したか否かの判断を行う(ステップS810)。このとき、情報処理手段780は、携帯用端末装置7が所定の距離以上移動している、または、撮像方向が所定の角度回転していると判断した場合には(ステップS810:Yes)、ステップS803の処理に戻り、携帯用端末装置7が所定の距離以上移動しておらず、かつ、撮像方向が所定の角度回転していないと判断した場合には(ステップS810:No)、ステップS805の処理に戻る。
次いで、情報処理手段780は、ステップS806の処理において、キャラクタ画像に対応するクーポンの取得要求が実行されたと判断した場合には、サーバ装置9にクーポン取得要求及び取得を要求するクーポン番号を当該携帯用端末装置7の端末IDとともに送信するとともに、店舗誘導処理に基づく表示処理を開始する(ステップS820)。具体的には、情報処理手段780は、表示手段772に店舗誘導を介する旨の表示などを実行し、サーバ装置9から店舗誘導処理に伴って送信されたキャラクタの位置情報の受信を待機する。
次いで、情報処理手段780は、サーバ装置9から店舗誘導処理に伴って、取得要求を実行したクーポンに対応するキャラクタ画像の位置情報を受信すると(ステップS822)、受信した位置情報に従って、撮像手段750によって撮像された現実画像と、当該現実画像上に重畳されたキャラクタ画像を表示手段772に表示させる(ステップS824)。
次いで、情報処理手段780は、ステップS822によって受信したキャラクタの位置情報とともに店舗に到達したことを示すフラグ情報(ゴールフラグ情報)を受信したか否かを判断する(ステップS826)。このとき、情報処理手段780は、ゴールフラグ情報を受信したと判断した場合に(ステップS826:Yes)、ゴールの旨を表示手段772に表示しつつクーポンコンテンツ情報を表示して(ステップS828)、本動作を終了させる。また、情報処理手段780は、ゴールフラグ情報を受信していないと判断した場合に(ステップS826:No)、ステップS830の処理に移行する。
次いで、情報処理手段780は、ステップS826の処理において、ゴールフラグ情報を受信していないと判断した場合には、位置検出手段758から携帯用端末装置7が存在している端末位置情報と、方向検出手段760から撮像方向を取得する(ステップS830)。
次いで、情報処理手段780は、ステップS822によって受信したキャラクタの位置情報とともに当該キャラクタ画像に対応付けられたクーポンコンテンツ情報が取得可能であることを示すフラグ情報(クーポン取得可能フラグ)が受信されたか否か判断する(ステップS831)。このとき、情報処理手段780は、クーポンコンテンツ情報が取得可能であると判断した場合には(ステップS831:Yes)、ステップS832の処理に移行し、クーポンコンテンツ情報が取得可能でないと判断した場合には(ステップS831:No)、ステップS834の処理に移行する。
次いで、情報処理手段780は、ステップS831の処理において、情報処理手段780は、クーポンコンテンツ情報が取得可能であると判断した場合には、表示手段772にその旨を表示し、クーポン取得可能フラグの情報をRAM781に記録する(ステップS832)。例えば、情報処理手段780は、キャラクタ画像の色を変化させ、または、当該キャラクタ画像とともにクーポンコンテンツ情報が取得可能である旨を表示させる。
次いで、情報処理手段780は、ステップS830の処理において取得した端末位置と撮像方向をデータとして、ステップS832の処理において記録されたクーポン取得可能フラグがある場合に、そのフラグとともにサーバ装置9に送信する(ステップS834)。
次いで、情報処理手段780は、ステップS834の処理においてサーバ装置9にデータを送信してから一定の期間内に当該サーバ装置9によって送信されたクーポンコンテンツ情報を受信したか否かを判断する(ステップS836)。このとき、情報処理手段780は、ステップS834の処理においてサーバ装置9にデータを送信してから一定の期間内に当該サーバ装置9によって送信されたクーポンコンテンツ情報を受信したと判断した場合には(ステップS836:Yes)、受信したクーポンコンテンツ情報を端末クーポン情報に登録し(ステップS838)、ステップS822の処理に移行する。
一方、情報処理手段780は、ステップS834の処理においてサーバ装置9にデータを送信してから一定の期間内に当該サーバ装置9によって送信されたクーポンコンテンツ情報を受信していないと判断した場合には(ステップS836:No)、ステップS822の処理に移行する。
次に、サーバ装置9におけるクーポン提供処理について説明する。
まず、情報処理手段980は、何れか一の携帯用端末装置7から端末IDとともに端末位置及び撮像方向のデータを受信すると(ステップS652)、クーポン本体情報において取得済判定フラグ及びチェック済み判定フラグがFALSEとなっている全てのクーポン番号、クーポン位置Pcmnと、キャラクタ画像情報を当該端末IDを有する携帯用端末装置7に送信する(ステップS653)。なお、クーポン本体情報において取得済判定フラグ及びチェック済み判定フラグがTRUEとなっているクーポン番号nについては、店舗誘導中であるか、または、既にクーポンが取得されているので、当該クーポン番号nに対応するキャラクタ画像については送信されない。また、情報処理手段980は、クーポン本体情報に補足情報が規定されている場合には、当該補足情報も送信する。
次いで、情報処理手段980は、クーポン番号、クーポン位置Pcmnと、キャラクタ画像情報を送信してから一定の時間以内に同一の端末IDを有する携帯用端末装置7から送信されたクーポンの取得要求を受信したか否かを判断する(ステップS654)。一定期間経過すると、キャラクタは現実空間内の異なる位置に移動するため、移動した後には、その位置を基準にクーポンを提供することができないからである。
このとき、情報処理手段980は、ステップS654において、ステップS652の処理を実行した際の同一の端末IDを有する携帯用端末装置7から一定期間内にクーポンの取得要求を受信した場合には(ステップS654:Yes)、ステップS658の処理に移行し、同一の端末IDを有する携帯用端末装置7から一定期間内にクーポンの取得要求を受信しなかった場合には(ステップS654:No)、本動作を終了させる。
次いで、情報処理手段980は、ステップS654の処理において、ステップS652の処理を実行した際の同一の端末IDを有する携帯用端末装置7から一定期間内にクーポンの取得要求を受信した場合には、当該取得要求とともに受信した端末IDをクーポン本体情報のチェック端末IDに登録し、チェック済み判定をTRUEに書き換える(ステップS658)。
次いで、情報処理手段980は、クーポン本体情報に規定された店舗位置Ps及びクーポン現在位置Pcmnに基づいて当該キャラクタが存在する現実空間の位置から店舗までの誘導ルートを地図データを参照しつつ生成する(ステップS660)。
次いで、情報処理手段980は、生成された誘導ルートに基づいてクーポン現在位置Pcmnに予め定められた距離の値(例えば、5m)を加算し、クーポン次位置Pfmnを算出し、クーポン本体情報のクーポン次位置Pfmnを更新する(ステップS662)。
次いで、情報処理手段980は、クーポン本体情報においてステップS662の処理において更新されたクーポン次位置Pfmnが店舗位置Psから所定の範囲以内であるか否かを判断する(ステップS664)。このとき、情報処理手段980は、更新されたクーポン次位置Pfmnが店舗位置Psから所定の範囲以内であると判断した場合には(ステップS664:Yes)、クーポン取得可能フラグをRAM981に記憶して(ステップS666)、ステップS668に移行する。また、情報処理手段980は、更新されたクーポン次位置Pfmnが店舗位置Psから所定の範囲以内でないと判断した場合には(ステップS664:No)、ステップS668に移行する。
次いで、情報処理手段980は、クーポン本体情報においてステップS662の処理において更新されたクーポン次位置Pfmnが店舗位置Psと同一であるか否かを判断する(ステップS668)。このとき、情報処理手段980は、更新されたクーポン次位置Pfmnが店舗位置Psと同一でないと判断した場合には(ステップS668:No)、ステップS670に移行する。そして、情報処理手段980は、更新されたクーポン次位置Pfmnが店舗位置Psと同一であると判断した場合には(ステップS668:Yes)、ゴール到達フラグをRAM981に記憶して(ステップS670)、ステップS671に移行する。
次いで、情報処理手段980は、クーポン取得可能フラグ及びゴール到達フラグがRAM981に記録されている場合には、各フラグ情報とともに、各フラグがRAM981に記録されていない場合には、単独でクーポン本体情報においてステップS662の処理において更新されたクーポン次位置Pfmnの情報をキャラクタの位置情報として該当する携帯用端末装置7に送信する(ステップS671)。このとき、情報処理手段980は、送信したクーポン次位置Pfmnをクーポン本体情報において該当するクーポン現在位置Pcmnとして更新する。
次いで、情報処理手段980は、該当する携帯用端末装置7から送信された端末位置と撮像方向のデータを受信すると(ステップS672)、当該携帯用端末装置7においてクーポンコンテンツ情報が受信可能である旨を示すフラグ情報を受信したか否かを判断する(ステップS674)。このとき、情報処理手段980は、クーポンコンテンツ情報が受信可能である旨を示すフラグ情報を受信しなかったと判断した場合には(ステップS674:No)、ステップS678の処理に移行する。また、情報処理手段980は、クーポンコンテンツ情報が受信可能である旨を示すフラグ情報を受信したと判断した場合には(ステップS674:Yes)、クーポン本体情報に規定されたクーポンコンテンツ情報を該当する携帯用端末装置7に送信し(ステップS676)、ステップS678の処理に移行する。ステップS676の処理において、サーバ装置9は、該当するキャラクタの(すなわち、クーポンの)クーポン本体情報における取得済みフラグをTRUEに更新する。
次いで、情報処理手段980は、ステップS670の処理において、RAM981にゴール到達フラグが記録されているか否かを判断し(ステップS678)、記録していると判断した場合には(ステップS678:Yes)、本動作を終了させる。一方、情報処理手段980は、ステップS670の処理において、RAM981にゴール到達フラグが記録されていないと判断した場合には、ステップS662の処理に移行する。
[作用効果]
以上本実施形態のサーバ装置9は、現実空間において刻々と拡散移動するようにキャラクタを携帯用端末装置7に現実画像とともに表示させることが可能であって、当該キャラクタを用いて店舗までの経路誘導を実行しつつ、経路誘導中に店舗のクーポンをクーポンコンテンツ情報として携帯用端末装置7に取得させることができる。したがって、サーバ装置9は、クーポンを取得するための起因として用いられるキャラクタを利用者に探索させることによって、利用者にクーポンの取得における趣向性を持たせることができるとともに、当該キャラクタの現実空間内における移動に従って店舗に携帯用端末装置7を用いて利用者を誘導すること、及び、店舗に来訪する利用者にクーポンを的確に取得させることを両立させることができる。この結果、サーバ装置9は、利用者に対するクーポンの取得に対する興趣を維持させつつ、当該その利用を促進させることができるので、クーポンの利用率を高めて宣伝効果を向上させることができる。
[変形例]
上記の説明では、携帯用端末装置7の位置が店舗誘導処理中にクーポンを提供している店舗に対して所定の範囲内に属した際に、クーポンコンテンツ情報の取得を許可するようになっているが、当該店舗誘導処理中に、キャラクタの現実空間内における移動速度を所定のタイミングで、携帯用端末装置7の移動速度よりも遅くし、または、キャラクタ画像の現実空間内における移動速度徐々に遅くし、当該店舗誘導処理中であって店舗に到達するまでに、キャラクタの現実空間内における位置と携帯用端末装置7の位置を接近させつつ、キャラクタの現実空間内の位置が携帯用端末装置7から所定の範囲内になった場合に、利用者の携帯用端末装置7における操作に基づいて、クーポンコンテンツ情報を取得させるようにしてもよい。
例えば、サーバ装置9は、店舗誘導処理中に受信した携帯用端末装置7の端末位置情報に基づいて、利用者の歩行速度を算出するとともに、店舗位置から所定の距離手前で、携帯用端末装置7の位置がキャラクタに所定の距離に接近してクーポンコンテンツ情報を取得することが可能な位置となるように、キャラクタにおける移動速度、すなわち、現実空間内において表示されている位置を制御する。
また、本実施形態のランダム拡散処理及び基点重点拡散処理においては、キャラクタが同一タイミングによって同一速度で各方向に現実空間を移動するようにその位置を制御するようになっているが、各方向毎に異なる速度によって、または、異なるタイミングで各方向に現実空間を移動するようにその位置を制御してもよい。
また、本実施形態のランダム拡散処理の一つとしては、キャラクタを現実空間において一定方向に順次移動させるようになっているが、所定の情報サーバ装置から店舗位置を基準とした気圧情報または風向き情報を取得し、店舗位置を基準に気圧の高い方向から気圧の低い方向にキャラクタを移動させるように現実空間内における位置を設定するようにしてもよい。また、ライバル店の位置または店舗位置の最寄りの駅など特定の場所に向けて店舗位置からキャラクタが移動するように現実空間内における位置を設定するようにしてもよい。
また、上記の説明では、汎用のサーバ装置9の情報処理手段980にクーポン提供用のプログラムをインストールして実行する実施形態を示したが、本発明はこれに限定するものではなく、各々の処理ついてハードウェアを構成して、クーポンの提供を実現することも可能である。