(実施例)
(キャラクタ通信システム2の構成;図1〜図3)
図1に示すキャラクタ通信システム2は、ユーザが所持する端末装置10に所定のキャラクタ画面を表示させ、ユーザがキャラクタと意志疎通を図るいわゆるキャラクタ通信を行うためのシステムである。以下、本明細書では、キャラクタ通信システム2を「システム2」と呼ぶ。システム2は、ユーザが所持する端末装置10と、複数個の遊技機類60a〜60dと、複数個の台ユニット(以下「DU」と呼ぶ)70a,70bと、1個以上の島ユニット(以下「SU」と呼ぶ)80と、ホールコンピュータ(以下「H/C」と呼ぶ)90と、サーバ100と、AP(Access Pointの略)200と、AP300と、を備える。端末装置10はユーザによって所持されている。H/C90と、SU80と、DU70a,70bと、遊技機類60a〜60bと、AP200と、はパチンコ店等の遊技店4内に配置されている。図1の例では、4個の遊技機類60a〜60dと、2個のDU70a,70bと、1個のSU80のみを図示しているが、実際の遊技店内にはこれら以外の遊技機、DU、SUが設置されていてもよい。以下では、遊技機類60a〜60dを区別せずに呼ぶ場合、「遊技機類60」と総称する場合がある。同様に、DU70a,70bを区別せずに呼ぶ場合、「DU70」と総称する場合がある。
サーバ100、H/C90、AP200、300は、インターネット6に接続されている。サーバ100とH/C90はインターネット6を介して通信可能である。本実施例のシステム2では、H/C90の設置者(即ち遊技店4の管理者)と、キャラクタ通信の提供者(即ちサーバ100)とが提携関係にある。H/C90は、SU80と有線通信可能に接続されている。SU80は、DU70a,70bと有線通信可能に接続されている。DU70aは、遊技機類60a,60bと有線通信可能に接続されており、DU70bは、遊技機類60c,60dと有線通信可能に接続されている。端末装置10は、AP200との間でWi−Fi方式に従った無線接続(以下「Wi−Fi接続」と呼ぶ)を確立することで、AP200との間でWi−Fi方式に従った無線通信(以下「Wi−Fi通信」と呼ぶ)を実行することができる。同様に、端末装置10は、AP300との間でWi−Fi接続を確立することで、AP300との間でWi−Fi通信を実行することができる。端末装置10は、AP200(又はAP300)との間でWi−Fi通信を実行することにより、インターネット6を介してサーバ100と通信を実行することができる。また、端末装置10は、遊技機類60(例えば遊技機類60b)との間で、Bluetooth(登録商標)方式に従った近距離無線接続(以下「BT接続」と呼ぶ)を確立することで、当該遊技機類60との間で、Bluetooth方式に従った近距離無線通信(以下「BT通信」と呼ぶ)を実行することができる(図1の破線矢印参照)。以下では、Bluetoothのことを「BT」と呼ぶ場合がある。
(端末装置10の構成;図1、図2)
端末装置10は、ユーザが所持する端末装置である。端末装置10は、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。図2に示すように、端末装置10は、表示部12と、操作部14と、マイク16と、スピーカ18と、カメラ19と、Wi−Fiインターフェース20と、BTインターフェース22と、制御部30と、メモリ32と、を備える。以下では、インターフェースのことを「I/F」と記載する場合がある。
表示部12は、様々な情報を表示させるためのディスプレイである。操作部14は、複数個のキーを含む。また、表示部12と操作部14は、両者が一体に構成されたタッチパネルであってもよい。ユーザは、操作部14を操作して、様々な指示を端末装置10に入力することができる。マイク16は、ユーザが音声(例えばユーザが発話する声)を入力することができる音声入力部である。スピーカ18は、音声(例えば様々な報知音や声)を出力するための音声出力部である。カメラ19は、ユーザの顔等の画像を撮影可能な撮影部である。Wi−FiI/F20は、Wi−Fi通信を実行するためのI/Fである。BTI/F22は、BT通信を実行するためのI/Fである。
制御部30は、メモリ32に記憶されているOSプログラム34、キャラクタ通信アプリケーションプログラム36(以下「キャラクタ通信アプリ36」と呼ぶ)等に従って、様々な処理を実行する。メモリ32は、ROM(Read Only Memoryの略)、RAM(Random Access Memoryの略)等によって構成される。キャラクタ通信アプリ36は、キャラクタ通信のサービスを提供する提供者(例えばサーバ100の管理者)によって提供され、キャラクタ通信を行うための各処理を実行するためのプログラムである。キャラクタ通信アプリ36は、サーバ100から端末装置10にインストールされる。また、メモリ32には、キャラクタ通信アプリ36がインストールされた際の初期設定においてユーザに割り当てられる会員ID「U1」が記憶されている。この他にも、メモリ32には、制御部30がキャラクタ通信の実行に伴う各種処理を実行することによって生成される情報を一時的に記憶するための領域(図示省略)を有する。
(遊技機類60の構成;図1)
遊技機類60は、遊技者(例えば端末装置10のユーザ)が遊技を行うための各種サービスを提供する装置の組合せである。本実施例では、遊技機類60a,60b,60c,60dには、それぞれ、当該遊技機類を示す識別情報である遊技機ID「D01」、「D02」、「D03」、「D04」が割り当てられている。遊技機類60は、遊技機、アウトメータ、サンド、及び、呼出ランプ(図示省略)を備えている。遊技機類60を構成する遊技機、アウトメータ、サンド、及び、呼出ランプは、対応するDU70を介して相互に有線通信可能である。
遊技機は、パチンコ玉を遊技媒体とするパチンコ台である。他の例では、遊技機は、メダルを遊技媒体とするスロットマシンであってもよい。遊技機は、自機の遊技状態を示す各種信号(例えば、セーフ信号、特賞信号等)を出力する。
アウトメータは、遊技機に遊技媒体が投入される場合にアウト信号を出力する。サンドは、入金を受け付けて遊技媒体を貸し出したり、会員カードを受け付けたりする等、ユーザに各種サービスを提供する。本実施例では、サンドは、入金を受け付けた場合に、入金を受け付けたこと、及びその金額を示す入金情報を出力する。
呼出ランプは、遊技機の上部に配置されている装置であり、遊技機に関する情報(例えば遊技機の稼働状況)を表示する。呼出ランプは、遊技機が出力した各種信号、アウトメータが出力したアウト信号を受信し、受信した信号に基づいて、遊技機における遊技状況を示す遊技情報を生成し、生成された遊技情報と自機の遊技機ID(例えば遊技機ID「D01」)とを対応付けて、DU70に出力する。また、呼出ランプは、サンドが出力した入金情報を受信し、受信した入金情報と自機の遊技機IDとを対応付けて、DU70に出力する。また、呼出ランプは、BTI/F(図示省略)を備えている。従って、例えば図1に示すように、端末装置10を所持するユーザが遊技店4内に入店し、遊技機類60bの呼出ランプのBTI/Fの通信可能範囲内(例えばBTI/Fから数メートルの範囲内)に入ると、端末装置10のBTI/F22と遊技機類60bのBTI/Fとの間でBT接続が確立される(図1の破線矢印参照)。その場合、遊技機類60bの呼出ランプは、BT通信を利用して端末装置10から会員ID「U1」を受信することができる。呼出ランプは、受信した会員IDを、自機の遊技機ID及び遊技情報(又は、遊技機ID及び入金情報)と対応付けてDU70に出力することができる。本実施例では、呼出ランプが遊技機類60のBTI/Fを備えるが、他の例では、他の装置(遊技機、サンド、又はアウトメータ)が遊技機類60のBTI/Fを備えていてもよい。
(DU70、SU80、H/C90の構成;図1)
DU70は、対応する遊技機類60と有線通信可能に接続されている中継装置である。SU80は、対応するDU70と有線通信可能に接続されている中継装置である。DU70は、遊技機類60から受信した各種情報を、SU80を中継してH/C90に送信する。
H/C90は、遊技店4に設置される管理コンピュータである。H/C90は、各SU80と有線通信可能に接続されている。また、H/C90は、インターネット6に接続されており、インターネット6を介してサーバ100と通信可能である。H/C90は、DU70、SU80を介して、各遊技機類60から出力される各種情報(遊技機ID、遊技情報、入金情報、会員ID等)を受信する。H/C90は、受信した各種情報を記憶し、遊技店4の管理に利用する。また、特に、H/C90は、各遊技機類60から、会員ID(例えば「U1」)及び遊技機ID(例えば「D02」)と対応付けられた入金情報を受信する場合には、受信した会員IDと入金情報とを、インターネット6経由でサーバ100に送信する。
(サーバ100の構成;図1、図3)
サーバ100は、キャラクタ通信の提供者によって設置される情報処理装置である。サーバ100と、キャラクタ通信アプリ36がインストールされた端末装置10と、が各種処理を実行することで、ユーザに、端末装置10を介してキャラクタ通信を行わせることができる。
図3に示すように、サーバ100は、通信I/F106と、制御部130と、メモリ132と、を備える。通信I/F106は、インターネット6に接続されている。制御部130は、通信I/F106及びインターネット6を介して、ユーザの端末装置10、及び、提携する遊技店4のH/C90等の外部機器と通信を実行することができる。
制御部130は、メモリ132に記憶されたプログラム134に従って様々な処理を実行する。メモリ132は、ROM、RAM等によって構成される。また、メモリ132は、キャラクタ通信のサービスを利用するユーザ毎のユーザデータ150,152,154等を記憶するためのユーザデータ記憶領域140を備えている。
各ユーザデータ150〜154は、各ユーザが、自身の端末装置10にキャラクタ通信アプリ36をインストールし、初期設定を行うことによって、サーバ100のユーザデータ記憶領域140に記憶される。例えば、ユーザデータ150は、図1の端末装置10のユーザに割り当てられた会員ID「U1」に対応するデータである。同様に、ユーザデータ152、154は、それぞれ、図示しない他の端末装置のユーザに割り当てられた会員ID「U2」、「U3」に対応するデータである。ユーザデータ150は、会員ID「U1」が割り当てられたユーザに関する各種データを含む。具体的には、ユーザデータ150は、キャラクタ設定データ、学習データ、ポイントデータを含む。もっとも、ユーザデータ150は、これら以外の任意の情報を含んでいてもよい。ユーザデータ152、154についても同様である。
キャラクタ設定データは、初期設定の際に会員ID「U1」のユーザが選択した会話相手のキャラクタを示す情報と、現在のキャラクタの服装等の表示態様を表わす情報と、を含む。学習データは、会員ID「U1」のユーザのこれまでのキャラクタとの会話内容、語調、表情等の各種データに基づくユーザの行動パターンを示すデータである。ここで、ユーザの行動パターンは、ユーザの好み、表情や語調に基づく感情、ユーザの思考パターン、ユーザの癖、ユーザの指向、ユーザの話題傾向等、任意の行動パターンを含む。ポイントデータは、会員ID「U1」に対応付けられたポイントの値を示すデータである。ここで言う「ポイント」は、アプリの起動、遊技店4への来店、遊技機類60への入金等によってユーザに与えられるポイントのことであり、キャラクタ通信サービスにおいて、商品(例えば、キャラクタに贈与するアクセサリ等)の購入に利用可能なポイントのことである。
他にも、メモリ132には、制御部130がキャラクタ通信の実行に伴う各種処理を実行することによって生成される情報を一時的に記憶するための領域(図示省略)も有する。
(AP200の構成;図1)
AP200は、遊技店4内に配置され、遊技店4内で形成されるWi−Fiネットワークの親局として動作する。また、AP200はインターネット6に接続されている。AP200は、自機の通信可能範囲内(例えば遊技店4の店内全域)に存在する他の機器(例えば端末装置10)とWi−Fi接続を確立することで、当該他の機器を子局としてWi−Fiネットワークに参加させることができる。その場合、AP200は、子局である他の機器との間でWi−Fi通信を実行可能である。また、AP200は、子局に、インターネット6を介して外部機器(例えばサーバ100等)と通信を実行させることもできる。AP200には、SSID「xxx200」が割り当てられている。「xxx200」は、キャラクタ通信の提供者(即ちサーバ100の設置者)の提携先の遊技店4であることを示す文字列「xxx」を含んでいる。
(AP300の構成;図1)
AP300は、遊技店4外(例えば、端末装置10のユーザの自宅等)に配置され、Wi−Fiネットワークの親局として動作する。また、AP300もインターネット6に接続されている。AP300によって形成されるWi−Fiネットワークは、AP200によって形成されるWi−Fiネットワークとは異なる。AP300も、AP200と同様に、通信可能範囲内の他の機器とWi−Fi接続を確立することで、当該他の機器を子局としてWi−Fiネットワークに参加させることができる。AP300には、SSID「aaa300」が割り当てられている。「aaa300」は、キャラクタ通信の提供者(即ちサーバ100の設置者)の提携先の遊技店4であることを示す文字列「xxx」を含んでいない。
(インストール及び初期設定)
続いて、ユーザが、端末装置10でキャラクタ通信を行うために事前に行っておくインストール及び初期設定について説明しておく。キャラクタ通信サービスの提供を希望するユーザは、まず、端末装置10の操作部14を操作して、インターネット6を介してサーバ100にアクセスし、キャラクタ通信アプリをサーバ100からダウンロードする。端末装置10の制御部30は、ダウンロードされたキャラクタ通信アプリ36をメモリ32にインストールする。そして、制御部30は、キャラクタ通信アプリ36を起動させる。この際、制御部30は、所定の初期設定画面を表示部12に表示させる。初期設定画面には、ユーザが利用する会員ID(例えば「U1」)、認証に利用するパスワード、その他のユーザ情報(ニックネーム、年齢、性別、ユーザの好みを示す情報等)を入力するための各入力欄が含まれる。さらに、初期設定画面には、ユーザの会話相手となるキャラクタを選択するための選択欄も含まれる。
ユーザは、操作部14を操作して、各入力欄に必要な情報を入力し、選択欄において所望のキャラクタを選択する。制御部30は、ユーザが初期設定画面で入力した各情報を含む新規登録リクエストをサーバ100に送信する。
サーバ100の制御部130は、端末装置10から新規登録リクエストを受信すると、新規登録リクエストに含まれる会員ID「U1」を含む新たなユーザデータ150(図3参照)を作成し、メモリ132のユーザデータ記憶領域140に記憶させる。この時点のユーザデータ150に含まれるキャラクタ設定データは、ユーザが選択したキャラクタを示すキャラクタ名と、キャラクタのデフォルトの表示態様を示す情報が含まれる。この時点の学習データには、ユーザが初期設定画面で入力した各情報の一部が含まれる。この時点のポイントデータは、新規登録のボーナスポイント(例えば100ポイント)が付与された状態の初期ポイント値を示す。以上の各処理が実行されることで、インストール及び初期設定が完了し、ユーザは、端末装置10を用いてキャラクタ通信を実行可能となる。
(サーバ100の制御部130が実行するサーバ処理;図4)
続いて、図4を参照して、本実施例のシステム2において、サーバ100の制御部130が実行するサーバ処理の内容を説明する。サーバ100が稼働している間、制御部130は、図4のサーバ処理を継続して実行している。なお、以下の説明では、理解の容易のため、サーバ100の通信相手の端末装置が端末装置10である例について説明する。ただし、当然に、サーバ100は、端末装置10以外の端末装置と通信を実行することもできる。
制御部130は、図4のS10、S30、S40、S50、S60の各監視を継続して実行している。
S10では、制御部130は、キャラクタ通信アプリ36をインストール済みの端末装置10から、メイン画面リクエストを受信することを監視する。メイン画面リクエストは、所定のメイン画面の表示をサーバ100に要求するためのリクエスト信号である。端末装置10の制御部30は、所定の起動指示が入力されると、キャラクタ通信アプリ36を起動させる。制御部30は、端末装置10がその時点でWi−Fi接続を確立している接続先のAP(AP200、AP300等)のSSIDと、認証情報(即ち、会員ID「U1」とパスワード)を含むメイン画面リクエストを生成し、サーバ100に送信することができる。サーバ100の制御部130は、端末装置10からメイン画面リクエストを受信すると、S10でYESと判断してS12に進む。
S12では、制御部130は、認証が成功したか否かを判断する。S12では、制御部130は、受信したメイン画面リクエスト(S10)に含まれる認証情報を利用して認証を実行する。制御部130は、ユーザデータ記憶領域140を参照し、メイン画面リクエストに含まれる認証情報(会員ID及びパスワード)と同じ会員ID及びパスワードを含むユーザデータ(以下、「特定のユーザデータ」と呼ぶ場合がある)が記憶されているか否かを判断する。そのような特定のユーザデータが記憶されている場合、制御部130はS12でYESと判断し、S14に進む。一方、特定のユーザデータが記憶されていない場合、制御部130はS12でNOと判断し、S10、S30、S40、S50、S60の各監視に戻る。
S14では、制御部130は、メイン画面リクエストの送信元の端末装置10が遊技店4内に存在しているか否かを判断する。具体的には、S14では、制御部130は、受信したメイン画面リクエストに含まれるSSIDが、遊技店4であることを示す文字列「xxx」を含んでいるか否かを判断する。例えば、端末装置10を所持するユーザが遊技店4内におり、端末装置10がAP200とWi−Fi接続を確立している状態では、メイン画面リクエストに含まれるSSIDは「xxx200」である。SSID「xxx200」は、文字列「xxx」を含む。そのため、制御部130は、S14でYES(即ち、端末装置10が遊技店4内に存在する)と判断し、S16に進む。一方、例えば、端末装置10が遊技店4外のAP300とWi−Fi接続を確立している状態では、メイン画面リクエストに含まれるSSIDは「aaa300」である。この場合、制御部130は、S14でNO(即ち、端末装置10が遊技店4内に存在しない)と判断し、S20に進む。
S16では、制御部130は、ポイントデータを更新する。具体的には、S16では、制御部130は、特定のユーザデータに含まれるポイントデータが示すポイントの値を、所定数だけ加算する。S16で加算されるポイントは、遊技店4への来店に伴うボーナスポイントであるため、比較的大きい値であることが好ましい。
続くS18では、制御部130は、店内用メイン画面データを生成し、端末装置10に送信する。店内用メイン画面データは、端末装置10の表示部12に、店内用メイン画面(図5の符号500参照)を表示させるための画面データである。端末装置10の制御部30は、店内用メイン画面データを受信すると、図5に示すような店内用メイン画面500を表示部12に表示させる。
図5に示すように、店内用メイン画面500は、端末装置10が遊技店4内に存在する場合に表示されるメイン画面である。店内用メイン画面500は、キャラクタ画像502、メッセージ504、ステータス情報506、トークボタン508、買い物ボタン510、お店情報ボタン512を有する。キャラクタ画像502は、ユーザが選択したキャラクタを示す画像である。店内用メイン画面500では、キャラクタ画像502は、キャラクタが遊技店4の制服を身に着けている様子を示す。メッセージ504は、メインメニュー画面であることを伝えるメッセージに加えて、キャラクタが来店を歓迎する旨のメッセージを含む。ステータス情報506は、ユーザの会員ID、現在のポイント数等、ユーザの状態を示す。トークボタン508は、キャラクタとのトーク(会話)を開始するためのボタンである。買い物ボタン510は、キャラクタに贈与するための商品(例えば、アクセサリ等)を購入するための画面を表示させるためのボタンである。お店情報ボタン512は、端末装置10が存在している遊技店4に関する各種情報を閲覧するためのボタンである。ユーザは、操作部14を操作して、ボタン508〜512のうちのいずれかを選択する操作を行うことができる。
S18で店内用メイン画面データを送信すると、制御部130は、再び、S10、S20、S30、S40、S50、S60の各監視に戻る。
一方、S20でも、制御部130は、ポイントデータを更新する。具体的には、S20では、制御部130は、特定のユーザデータに含まれるポイントデータが示すポイントの値を、所定数だけ加算する。S20で加算されるポイントは、アプリ起動に伴うボーナスポイントであるため、比較的小さい値であってもよい。
続くS22では、制御部130は、店外用メイン画面データを生成し、端末装置10に送信する。店外用メイン画面データは、端末装置10の表示部12に、店外用メイン画面(図6の符号550参照)を表示させるための画面データである。端末装置10の制御部30は、店外用メイン画面データを受信すると、図6に示すような店外用メイン画面550を表示部12に表示させる。
図6に示すように、店外用メイン画面550は、端末装置10が遊技店4内に存在しない場合に表示されるメイン画面(通常のメイン画面と呼んでもよい)である。店外用メイン画面550は、キャラクタ画像552、メッセージ554、ステータス情報556、トークボタン558、買い物ボタン560を有する。店外用メイン画面550には、図5のお店情報ボタン512に相当するボタンは存在しない。店外用メイン画面550では、キャラクタ画像552は、キャラクタが遊技店4の制服ではない私服を身に着けている様子を示す。メッセージ504は、メインメニュー画面であることを伝えるメッセージのみを含む。ユーザは、操作部14を操作して、ボタン558〜560のうちのいずれかを選択する操作を行うことができる。
S22で店外用メイン画面データを送信すると、制御部130は、再び、S10、S20、S30、S40、S50、S60の各監視に戻る。
S30では、制御部130は、端末装置10からトークリクエストを受信することを監視する。トークリクエストは、キャラクタとのトーク(会話)の開始を要求する信号である。端末装置10の表示部12に店内用メイン画面500又は店外用メイン画面550が表示されている間に、ユーザによってトークボタン508が選択されると、端末装置10の制御部30は、サーバ100にトークリクエストを送信する。サーバ100の制御部130は、このトークリクエストを受信すると、S30でYESと判断し、S32に進む。
S32では、制御部130は、トーク処理(図7参照)を開始する。S32でトーク処理を開始させると、制御部130は、再び、S10、S20、S30、S40、S50、S60の各監視に戻る。
(トーク処理;図7)
図7を参照して、制御部130が実行するトーク処理の内容を説明する。S80では、制御部130は、デフォルトトーク画面データを端末装置10に送信する。デフォルトトーク画面データは、端末装置10の表示部12に所定の初期状態のトーク画面を表示させるためのデータである。端末装置10の制御部30は、デフォルトトーク画面データ(S80)を受信すると、デフォルトトーク画面データに従ってデフォルトトーク画面を表示部12に表示させる。デフォルトトーク画面には、キャラクタを示すキャラクタ画像のみが含まれ、トークメッセージ等の他の情報が含まれない。なお、他の例では、デフォルトトーク画面に、キャラクタによるトークメッセージ(例えば、「おはよう、元気?」など)が最初から含まれていてもよい。
続くS82では、制御部130は、端末装置10から画像データ及び音声データを受信する。端末装置10のカメラ19は、ユーザの顔の画像を撮影して画像データを生成する。また、マイク16は、ユーザが発声する音声を取得して音声データを生成する。端末装置10の制御部30は、生成された画像データ及び音声データをサーバ100に送信する。S82では、サーバ100の制御部130は、端末装置10から送信された画像データ及び音声データを受信することができる。
S84では、制御部130は、S82で受信された画像データ及び音声データに基づいて、特定のユーザデータ(この例ではユーザデータ150)内の学習データを更新する。具体的には、例えば、制御部130は、画像データが表すユーザの表情、及び、音声データが表すユーザ音声の語調や発話内容を分析し、ユーザの行動パターン(ユーザの好み、表情や語調に基づく感情、ユーザの思考パターン、ユーザの癖、ユーザの指向、ユーザの話題傾向等)を特定し、特定されたユーザの行動パターンを学習データとしてメモリ132に記憶させる。これにより、ユーザデータ150には、ユーザの行動パターンが蓄積される。
S86では、制御部130は、テキストデータを生成する。S86で生成されるテキストデータは、S82で受信された音声データが示すユーザの発話内容を表わすテキストデータと、ユーザの発話内容に応答するキャラクタの発話内容を表わすテキストデータと、を含む。この際、制御部130は、学習データを参照し、ユーザの発言及び行動パターンに合わせたキャラクタの発話内容を決定し、決定した発話内容を表わすテキストデータを生成する。例えば、ユーザが犬好きと思われる発言又は行動を行う(又は過去に行った)場合、キャラクタの発話内容をそれに合わせて従順なものに代えたり、ユーザが猫好きと思われる発言又は行動を行う(又は過去に行った)場合、キャラクタの発話内容をそれに合わせて気まぐれなものに代えたりすることができる。
S88では、制御部130は、会話内容に適した態様のキャラクタを表わすキャラクタ画像を生成する。この際、制御部130は、学習データを参照し、S86で特定された発話内容に適した表示態様(しぐさ、表情等)のキャラクタを表わすキャラクタ画像を生成する。例えば、ユーザが犬好きと思われる発言又は行動を行う(又は過去に行った)場合、キャラクタのしぐさや表情をそれに合わせて従順なものに代えたり、ユーザが猫好きと思われる発言又は行動を行う(又は過去に行った)場合、キャラクタのしぐさや表情をそれに合わせて気まぐれなものに代えたりすることができる。
S90では、制御部130は、S82で受信した画像データ及び音声データ、S86で生成したテキストデータ、及び、S88で生成したキャラクタ画像、を利用してトーク画面データを生成する。S90で生成されるトーク画面データは、端末装置10の表示部12に、現在の会話の状態を表わすトーク画面(図8の符号600参照)を表示させるための画面データである。
S92では、制御部130は、S90で生成されたトーク画面データを端末装置10に送信する。端末装置10の制御部30は、トーク画面データを受信すると、図8に示すようなトーク画面600を表示部12に表示させる。
図8に示すように、トーク画面600は、キャラクタ画像602、ユーザ画像604、及び、トークメッセージ606を含む。キャラクタ画像602は、図7のS88で生成されたキャラクタ画像であり、S86で特定された発話内容に適した表示態様(しぐさ、表情等)のキャラクタを表わしている。キャラクタ画像602は、ユーザの行動パターンに応じた表示態様のキャラクタを表わしていると言うこともできる。従って、ユーザの行動パターン、会話の流れ等に応じて、キャラクタ画像602に代えて、画像610〜616のような様々な表示態様のキャラクタ画像が表示されてもよい。画像610は、喜んでいる様子のキャラクタを示す。画像612は、怒っている様子のキャラクタを示す。画像614は、悲しんでいる様子のキャラクタを示す。画像616は、ユーザが購入して贈与したアクセサリ(この例では眼鏡)を着用した様子のキャラクタを示す。ユーザ画像604は、S82で端末装置10がサーバ100に送信した画像データによって表されるユーザの顔の画像である。トークメッセージ606は、S86で生成されたテキストメッセージによって表される文字列である。トークメッセージ606は、キャラクタの発話内容と、ユーザの発話内容とが区別できる態様(例えば、別々の吹き出し(バルーン)内に記述される等)で表示されている。ユーザは、トーク画面600を見ながら、キャラクタとリアルタイムで会話を行っているという感覚を抱くことができる。
続くS94では、制御部130は、終了信号が受信された否かを判断する。ユーザが、端末装置10の操作部14に所定のトーク終了指示を入力すると、制御部30は、所定の終了信号をサーバ100に送信する。この場合、制御部130は、終了信号を受信し、S94でYESと判断して図7の処理を終了する。一方、制御部130は、この時点で終了信号を受信しない場合には、S94でNOと判断し、S82に戻り、S82〜S92の各処理を再度実行する。
(図4の続き;S40)
図4のS40では、制御部130は、端末装置10から買い物リクエストを受信することを監視する。買い物リクエストは、商品を購入するための買い物画面の表示をサーバ100に要求するためのリクエスト信号である。端末装置10の表示部12に店内用メイン画面500又は店外用メイン画面550(図5、図6参照)が表示されている間に、ユーザによって買い物ボタン510が選択されると、端末装置10の制御部30は、サーバ100に買い物リクエストを送信する。サーバ100の制御部130は、この買い物リクエストを受信すると、S40でYESと判断し、S42に進む。
S42では、制御部130は、買い物処理(図9参照)を開始する。S42で買い物処理を開始させると、制御部130は、再び、S10、S20、S30、S40、S50、S60の各監視に戻る。
(買い物処理;図9)
図9を参照して、制御部130が実行する買い物処理の内容を説明する。S100では、制御部130は、買い物画面データを端末装置10に送信する。端末装置10の制御部30は、買い物画面データ(S100)を受信すると、図10に示すような買い物画面700を表示部12に表示させる。
図10に示すように、買い物画面700は、キャラクタ画像702、メッセージ704、商品ボタン706,708,710、及び、購入ボタン712を含む。キャラクタ画像702は、ユーザが初期設定時に選択したキャラクタを示す画像である。図10の例では、キャラクタ画像702が示すキャラクタは、ユーザが購入して贈与した帽子を被った表示態様を有している。メッセージ704は、キャラクタの性格、買い物中の状況等に応じたキャラクタの言葉を表す。図10の例では、メッセージ704は、キャラクタが帽子を喜んでいる旨の言葉を含む。商品ボタン706,708,710は、それぞれ、ユーザが買い物画面700において購入可能な商品(例えば「帽子」)とその価格(例えば「1000P」)を示す。購入ボタン712は、ユーザが商品ボタン706,708,710を押して選択した商品を購入するためのボタンである。
続く図9のS102では、制御部130は、端末装置10から購入リクエストを受信したか否かを判断する。購入リクエストは、ユーザが選択した商品の購入を希望することを示すリクエスト信号である。ユーザは、端末装置10の表示部12に買い物画面700(図10参照)が表示されている間に、所望の商品の商品ボタン706,708,710を選択し、次いで購入ボタン712を選択することができる。その場合、端末装置10の制御部30は、サーバ100に購入リクエストを送信する。購入リクエストは、ユーザが選択した商品を示す情報を含む。サーバ100の制御部130は、端末装置10から購入リクエストを受信すると、S102でYESと判断し、S104に進む。一方、この時点で端末装置10から購入リクエストを受信していない場合、制御部130は、S102でNOと判断してS114に進む。
S104では、制御部130は、端末装置10から決済情報を受信することを監視する。決済情報は、ユーザが購入を希望した商品の決済に必要な情報(例えば、ポイント利用情報、クレジットカード情報等)を含む。ユーザは、端末装置10の操作部14を操作して、決済情報を入力することができる。ユーザは、現在有しているポイントを利用して商品を購入する場合、ポイント利用情報を入力する。ユーザが現在有しているポイントが商品の購入に必要なポイント数に達していない場合、ユーザは、ポイントを購入するための購入手続きを別途行った上で、商品をポイントによって購入することができる。ユーザが決済情報を入力すると、端末装置10の制御部30は、入力された決済情報をサーバ100に送信する。この場合、サーバ100の制御部130は、端末装置10から決済情報を受信し、S104でYESと判断してS106に進む。
S106では、制御部130は、受信された決済情報を利用して決済を実行する。
続くS108では、制御部130は、会員ID「U1」に対応するユーザデータ150(即ち特定のユーザデータ)に含まれるポイントデータを更新する。具体的には、制御部130は、決済の際にユーザが支払った金額に応じてポイントを付加したり、決済の際にユーザが利用したポイントの数に応じてポイントを減算したりする。
続くS110では、制御部130は、商品の購入結果を反映した買い物画面データを生成する。例えば、ユーザが、キャラクタのための商品(例えば、キャラクタが身に着ける帽子等)を購入した場合、S110では、制御部130は、商品を着用したキャラクタを示すキャラクタ画像、及び、キャラクタが商品に関する感想を述べているメッセージ等を含む買い物画面データを新たに生成する。この際、制御部130は、ユーザデータ150に含まれるキャラクタ設定データを更新し、今後キャラクタが表示される際に商品の購入結果が反映されるようにする。例えば、ユーザが帽子を購入した場合、今後各画面(図5、図6、図8等)が表示される際に、キャラクタが帽子を被った態様で表示される。
続くS112では、制御部130は、S110で生成された買い物画面データを端末装置10に送信する。端末装置10の制御部30は、買い物画面データ(S112)を受信すると、受信された新たな買い物画面データに従って表示部12に新しい買い物画面を表示させる。
S114では、制御部130は、終了信号が受信されたか否かを判断する。ユーザが、端末装置10の操作部14に所定の買い物終了指示を入力すると、制御部30は、所定の終了信号をサーバ100に送信する。この場合、制御部130は、終了信号を受信し、S114でYESと判断して図9の処理を終了する。一方、制御部130は、この時点で終了信号を受信しない場合には、S114でNOと判断し、S102に戻り、S102〜S112の各処理を再度実行する。
(図4の続き;S50)
図4のS50では、制御部130は、端末装置10から店内情報リクエストを受信することを監視する。店内情報リクエストは、端末装置10を所持したユーザが現在訪れている遊技店4に関する情報の閲覧をサーバ100に要求するためのリクエスト信号である。端末装置10の表示部12に店内用メイン画面500(図5参照)が表示されている間に、ユーザによって店内情報ボタン512が選択されると、端末装置10の制御部30は、サーバ100に店内情報リクエストを送信する。サーバ100の制御部130は、この店内情報リクエストを受信すると、S50でYESと判断し、S52に進む。なお、端末装置10が遊技店4外に存在する場合には、表示部12に表示される店外用メイン画面550(図6参照)には店内情報ボタンが含まれない。そのため、制御部130は、遊技店4外に存在する端末装置10から店内情報リクエストを受信することはできない。
S52では、制御部130は、店内情報処理(図11参照)を開始する。S52で店内情報処理を開始させると、制御部130は、再び、S10、S20、S30、S40、S50、S60の各監視に戻る。
(店内情報処理;図11)
図11を参照して、制御部130が実行する店内情報処理の内容を説明する。S120では、制御部130は、店内情報画面データを端末装置10に送信する。端末装置10の制御部130は、店内情報画面データ(S120)を受信すると、図12に示すような店内情報画面800を表示部12に表示させる。
図12に示すように、店内情報画面800は、キャラクタ画像802、メッセージ804、イベント情報ボタン806、及び、おすすめ情報ボタン808を含む。キャラクタ画像802は、ユーザが初期設定時に選択したキャラクタを示す画像である。店内情報画面800では、キャラクタ画像802は、キャラクタが遊技店4の制服を身に着けている様子を示す。メッセージ804は、キャラクタの言葉を表す。イベント情報ボタン806は、遊技店4内で行われるイベント(例えばドリンク割引サービス等)に関する情報を閲覧するためのボタンである。おすすめ情報ボタン808は、遊技店4内におけるおすすめの機種や遊技機等に関する情報を閲覧するためのボタンである。ユーザは、操作部14を操作して、ボタン806,808のうち一方を選択する操作を行うことができる。
S120で店内情報画面データを送信すると、制御部130は、S122、S126、S130の各監視を行なう。S122では、制御部130は、端末装置10からイベント情報リクエストを受信することを監視する。イベント情報リクエストは、サーバ100に、イベント情報の閲覧を要求するためのリクエスト信号である。端末装置10の表示部12に店内情報画面800が表示されている間に、ユーザが、イベント情報ボタン806を選択すると、端末装置10の制御部30は、イベント情報リクエストをサーバ100に送信する。この場合、制御部130は、イベント情報リクエストを受信し、S122でYESと判断してS124に進む。
S124では、制御部130は、イベント情報画面データを端末装置10に送信する。この際、制御部130は、特定のユーザデータ(この例ではユーザデータ150)内の学習データを参照し、学習データに基づいて特定されるユーザの好みに合わせたイベント情報画面データを生成して、端末装置10に送信する。端末装置10の制御部30は、イベント情報画面データ(S124)を受信すると、図12に示すようなイベント情報画面810を表示部12に表示させる。図12に示すように、イベント情報画面810は、遊技店4で行われているイベントに関する情報が表示されている。イベント情報画面810に表示される情報は、ユーザの好みが反映された内容を示す。図12の例では、イベント情報画面810には、遊技店4内で利用可能なコーヒークーポン券を配布中であることを知らせるメッセージが表示されている。別の例では、イベント情報画面810には、ユーザの好みに応じて、別の商品の購入に利用できるクーポン券(例えば、紅茶クーポン券等)を配布中であることを知らせるメッセージが表示されてもよい。
S124でイベント情報画面データを端末装置10に送信すると、制御部130は、再びS122、S126、S130の監視に戻る。
S126では、制御部130は、端末装置10からおすすめ情報リクエストを受信することを監視する。おすすめ情報リクエストは、サーバ100に、おすすめ情報の閲覧を要求するためのリクエスト信号である。端末装置10の表示部12に店内情報画面800が表示されている間に、ユーザが、おすすめ情報ボタン808を選択すると、端末装置10の制御部30は、おすすめ情報リクエストをサーバ100に送信する。この場合、制御部130は、おすすめ情報リクエストを受信し、S126でYESと判断してS128に進む。
S128では、制御部130は、おすすめ情報画面データを端末装置10に送信する。この際、制御部130は、特定のユーザデータ(この例ではユーザデータ150)内の学習データを参照し、学習データに基づいて特定されるユーザの好みに合わせたおすすめ情報画面データを生成して、端末装置10に送信する。端末装置10の制御部30は、おすすめ情報画面データ(S128)を受信すると、図12に示すようなおすすめ情報画面812を表示部12に表示させる。おすすめ情報画面812に表示される情報は、ユーザの好みが反映された内容を示す。図12の例では、おすすめ情報画面812は、遊技店4で機種名「XXXX」の遊技台が好評であることを示すメッセージが表示されている。別の例では、おすすめ情報画面812には、ユーザの好みに応じて、別の機種の遊技台が好評であることを示すメッセージが表示されてもよい。
S128でおすすめ情報画面データを端末装置10に送信すると、制御部130は、再びS122、S126、S130の監視に戻る。
S130では、制御部130は、終了信号が受信されることを監視する。ユーザが、端末装置10の操作部14に所定の店内情報終了指示を入力すると、制御部30は、所定の終了信号をサーバ100に送信する。この場合、制御部130は、終了信号を受信し、S130でYESと判断して図11の処理を終了する。
(図4の続き;S60)
図4のS60では、制御部130は、H/C90から入金情報及び会員IDを受信することを監視する。上記の通り、H/C90は、各遊技機類60から、会員ID(例えば「U1」)及び遊技機ID(例えば「D02」)と対応付けられた入金情報を受信する場合には、受信した会員IDと入金情報とを、インターネット6経由でサーバ100に送信する。その場合、制御部130は、H/C90から入金情報及び会員IDを受信する。制御部130は、S60でYESと判断してS62に進む。
続くS62では、制御部130は、受信された会員IDに対応するユーザデータに含まれるポイントデータを更新する。例えば、受信された会員IDが「U1」であった場合、S62では、制御部130は、ユーザデータ150(図3参照)に含まれるポイントデータを更新する。この際、制御部130は、入金情報が示す金額に応じてポイント数を加算する。
続くS64では、制御部130は、インターネット6及びAP200を介して、遊技店4内に存在する端末装置10に対して、ポイント更新通知を送信する。ポイント更新通知は、更新後のポイント値をユーザに通知するための信号である。端末装置10の制御部30は、サーバ100からポイント更新通知を受信すると、更新後のポイント値を示すメッセージを表示部12に表示させる。S64を終えると、制御部130は、再び、S10、S20、S30、S40、S50、S60の各監視に戻る。
(端末装置10が遊技店4内に存在する場合の各装置の動作の一例;図13)
続いて、図13を参照して、端末装置10が遊技店4内に存在する場合における各装置の動作の一例を説明する。
端末装置10を所持するユーザが遊技店4内に入店すると、端末装置10は、AP200の通信可能範囲に入る。そのため、A01では、端末装置10とAP200との間でWi−Fi接続が確立される。
A02では、端末装置10は、ユーザの起動指示に従ってキャラクタ通信アプリ36を起動させる。A03では、端末装置10は、サーバ100にメイン画面リクエストを送信する。このメイン画面リクエストは、ユーザの会員ID「U1」、パスワード、及び、AP200のSSID「xxx200」を含む。
A04では、サーバ100は、メイン画面リクエストに含まれる認証情報(会員ID、パスワード)を用いた認証に成功する(図4のS10でYES、S12でYES)。そして、サーバ100は、端末装置10が店内に存在していると判断する(S14でYES)。続くA05では、サーバ100は、会員ID「U1」に対応するユーザデータ150に含まれるポイントデータを更新する(S16)。そして、A06では、サーバ100は、店内用メイン画面データを端末装置10に送信する(S18)。
A07では、端末装置10は、店内用メイン画面データに基づいて店内用メイン画面500(図5参照)を表示する。
その後、A10において、端末装置10を所持するユーザが、遊技機類60bを利用して遊技を行うために遊技機類60bに近づくと、端末装置10と遊技機類60bとの間でBT接続が確立される。その場合、A11において、端末装置10は、BT通信を利用して、遊技機類60bに会員ID「U1」を送信する。
その後、ユーザは、遊技機類60bで遊技を開始する。この場合、A12において、遊技機類60bは、遊技状態を示す遊技情報と、会員ID「U1」と、自機の遊技機ID「D02」とを、DU70a及びSU80経由でH/C90に送信する。
A13では、H/C90は、受信された各情報を記憶する。
その後、A14において、ユーザは、遊技機類60bに入金する。この場合、A15において、遊技機類60bは、入金額を示す入金情報と、会員ID「U1」と、自機の遊技機ID「D02」とを、DU70a及びSU80経由でH/C90に送信する。
A16では、H/C90は、受信された各情報を記憶する。そして、A17において、H/C90は、会員ID「U1」と入金情報とをサーバ100に送信する。
A18では、サーバ100は、受信された会員ID「U1」と入金情報とに基づいて、会員ID「U1」に対応するユーザデータ150に含まれるポイントデータを更新する(図4のS40でYES、S62)。そして、A19では、サーバ100は、ポイント更新通知を端末装置10に送信する(S64)。
A20では、端末装置10は、更新後のポイント値を示すメッセージを表示する。
以上、本実施例のシステム2について説明した。本実施例では、サーバ100のメモリ132に記憶されるユーザデータ150は、ユーザの行動パターンを示す学習データが含まれる。そして、制御部130は、トーク処理(図7)において、端末装置10から受信した画像データ及び音声データに基づいて、学習データを更新する(S82、S84)。そして、制御部130は、制御部130は、学習データを参照し、ユーザの行動パターン(表情、語調、発話内容、感情等)に応じたトーク画面データを生成し、端末装置10に送信する(S86〜S92)。本実施例のサーバ100によると、ユーザが所持する端末装置10の表示部12に表示されるキャラクタ画像によって表されるキャラクタに、ユーザの行動パターン(状況)に応じた行動(例えば、表示態様、態度、会話内容等)をとらせることができる。そのため、ユーザは、自身が所持する端末装置10の表示部12に表示されているキャラクタの画像を見ながら、ユーザの行動パターン(状況)に応じた行動をとるキャラクタと意志疎通を図ることができる。
また、本実施例では、図7のS84において、制御部130は、画像データが表すユーザの表情、及び、音声データが表すユーザ音声の語調や発話内容を分析し、ユーザの行動パターン(ユーザの好み、表情や語調に基づく感情、ユーザの思考パターン、ユーザの癖、ユーザの指向、ユーザの話題傾向等)を特定し、特定されたユーザの行動パターンを学習データとしてメモリ132に記憶させる。これにより、ユーザデータ150には、ユーザの感情を含む行動パターンが蓄積される。そのため、ユーザは、自身の感情(喜び、怒り、悲しみ等)に応じた行動をとるキャラクタと意志疎通を図ることができる。即ち、ユーザが、キャラクタとの間で深い意志疎通を図っていることを実感し易い。
また、上記の通り、本実施例で制御部130が参照するユーザの行動パターンは、画像データによって特定されるユーザの表情も含む。本実施例のサーバ100によると、ユーザは、自身の表情も含む行動パターンに応じたキャラクタと意志疎通を図ることができる。
また、本実施例では、制御部130は、買い物処理(図9)において、端末装置10から、ユーザが選択した商品を示す情報を含む購入リクエストを受信し(図9のS102でYES)、さらに、決済情報を受信し(S104でYES)、決済を実行する(S106)。制御部130は、決済が完了する場合に、商品購入結果を反映した買い物画面データを生成し、端末装置10に送信する(S110、S112)。また、制御部130は、ユーザデータ150に含まれるキャラクタ設定データを更新し、今後キャラクタが表示される際に商品の購入結果が反映されるようにする。そのため、ユーザは、キャラクタに商品を贈与することで、キャラクタとの意志疎通をより深めているという実感を得ることができる。ユーザに、キャラクタに対する愛着を強く持たせることができる。
また、本実施例では、制御部130は、遊技店4内に存在する端末装置10からメイン画面リクエストを受信する場合に(図4のS10、S12、S14でYES)、ユーザの会員IDに対応するユーザデータに含まれるポイントデータを更新し、ポイントを増加させる(S16)。そのため、サーバ100は、ユーザが端末装置10を所持した状態で遊技店4内に入る場合に、そのユーザにポイントを付与することができる。ユーザにとっては、遊技店4内に入ることで、商品の購入に利用可能なポイントを獲得することができる。そのため、本実施例のサーバ100によると、遊技店4への顧客誘引力を向上させることができる。
また、本実施例では、制御部130は、遊技店4内に存在する端末装置10からイベント情報リクエストを受信する場合に(図11のS122でYES)、特定のユーザデータ内の学習データを参照し、学習データに基づいて特定されるユーザの好みに合わせたイベント情報画面データを生成して、端末装置10に送信する(S124)。同様に、本実施例130では、遊技店4内に存在する端末装置10からおすすめ情報リクエストを受信する場合に(図11のS126でYES)、特定のユーザデータ内の学習データを参照し、学習データに基づいて特定されるユーザの好みに合わせたおすすめ情報画面データを生成して、端末装置10に送信する(S128)。そのため、サーバ100は、ユーザが端末装置10を所持した状態で遊技店4内に入る場合に、ユーザの行動パターンに応じて、適切なイベント情報又はおすすめ情報をユーザに提供することができる。サーバ100は、ユーザにとって価値のある情報を提供することができる。
また、本実施例では、制御部130は、H/C90から、会員IDと入金情報とを受信すると(図4のS60でYES)、その会員IDに対応するユーザデータに含まれるポイントデータを更新し、ポイントを増加させる(S62)。そのため、本実施例では、サーバ100は、ユーザが遊技店4で遊技機類60への入金を行った場合に、ユーザにポイントを付与する。ユーザにとっては、遊技店4内で金銭を支払う(具体的には遊技機類60への入金を行う)ことで、商品の購入に利用可能なポイントを獲得することができる。そのため、本実施例のサーバ100によると、遊技店4への顧客誘引力をさらに向上させることができる。
(対応関係)
サーバ100が「情報処理装置」の一例である。メモリ132が「記憶装置」の一例である。店内用メイン画面500、店外用メイン画面550、トーク画面600、買い物画面700、及び、店内情報画面800が「キャラクタ画面」の一例である。店内用メイン画面データ、店外用メイン画面データ、トーク画面データ、買い物画面データ、及び、店内情報画面データが「キャラクタデータ」の一例である。図7のS82で受信される画像データ及び音声データが「ユーザ行動情報」の一例である。図9のS102で受信される購入リクエストが「商品情報」の一例である。遊技店4が「特定の店舗」の一例である。会員IDが「識別情報」の一例である。図4のS60で受信される入金情報が「支払情報」の一例である。図12のイベント情報画面810及びおすすめ情報画面812が「店舗情報画面」の一例である。イベント情報画面データ及びおすすめ情報画面データが「店舗情報画面データ」の一例である。図4のS14でYESの場合が「特定の場合」の一例である。
以上、実施例を詳細に説明したが、これらは例示に過ぎず、請求の範囲を限定するものではない。請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
(変形例1)図7のS90において、制御部130は、トーク画面データに加えて、音声データ(ユーザが発話した声を表わす音声データ、及び、それに応じてキャラクタが発話する声を表わす音声データ)を生成してもよい。S92では、制御部130は、トーク画面データ及び音声データを端末装置10に送信してもよい。その場合、制御部30は、トーク画面データ及び音声データを受信すると、図8に示すようなトーク画面600を表示部12に表示させることに加えて、音声データに従ってスピーカ18から音声(即ち、ユーザ及びキャラクタの声)を出力するようにしてもよい。この場合、ユーザは、キャラクタと実際に会話を行っているという感覚を強く抱くことができる。この変形例におけるトーク画面データ及び音声データが「キャラクタデータ」の一例である。
(変形例2)上記の実施例では、端末装置10は、遊技店4外に存在する場合に、AP300とのWi−Fi接続を利用してサーバ100と通信をする。これに限られず、端末装置10は、遊技店4外に存在する場合に、他のインターネット通信手法(例えば、LTE、4G、3G)を利用してサーバ100と通信を行ってもよい。
(変形例3)上記の実施例では、制御部130は、端末装置10が遊技店4内に存在するのか否かを、端末装置10がWi−Fi接続を確立している相手のAPのSSIDを利用して判断している(図4のS14参照)。これに限られず、制御部130は、他の手法で、端末装置10が遊技店4内に存在するのか否かを判断してもよい。例えば、制御部130は、端末装置10からGPS位置情報を受信し、受信されたGPS位置情報が示す座標が遊技店4内を示すか否かに応じて、端末装置10が遊技店4内に存在するのか否かを判断してもよい。
(変形例4)本システム2における遊技店4は、他の店舗に置き換えられてもよい。例えば、本システム2の遊技店4を、飲食店や小売店等に置き換えてもよい。その場合、飲食店や小売店等においてユーザが金銭を支払った場合にポイントが付与されるようにすればよい。この変形例の飲食店や小売店等も「特定の店舗」の一例である。
(変形例5)各ユーザデータ150〜154は、ポイントデータを含まなくてもよい。即ち、本システム2において、ユーザにポイントが付与されなくてもよい。
(変形例6)図7のS82において、制御部130は、端末装置10から、音声データと画像データの一方のみを受信するようにしてもよい。また、制御部130は、端末装置10から、音声データ、画像データに代えて、ユーザが入力したテキストデータを受信してもよい。ユーザの行動を表わす動画データを受信してもよい。ユーザが複数個の選択肢のうちから所望の選択肢を選択するための選択データを受信してもよい。本実施例で制御部130が端末装置10から受信する各データも、「ユーザ行動情報」の一例である。
(変形例7)上記の実施例では、図8に示すトーク画面600には、ユーザ画像604が含まれる。これに限られず、トーク画面600にユーザ画像が含まれていなくてもよい。この変形例によると、ユーザはキャラクタと実際に会話をしている感覚を抱き得る。
(変形例8)買い物処理(図9参照)において、購入商品をすぐにキャラクタに贈与せず、所定のストレージボックスにストックするようにしてもよい。その場合、ユーザは、所望のタイミングで、所望のキャラクタに対して、購入商品を贈与することができる。ユーザが、自身の希望するタイミングで、自身の希望する商品を、自身の希望するキャラクタに対して贈与することができる。
(変形例9)複数のキャラクタを会話相手として選択可能であってもよい。その場合、トーク処理(図7参照)において、複数のキャラクタとの会話を実行できてもよい。また、その際、複数のキャラクタが、相互にコミュニケーションを行ってもよい。複数のキャラクタが相互に商品(プレゼント)を交換したり、ユーザが、複数のキャラクタのうちの1人以上に商品(プレゼント)を贈与できてもよい。複数のキャラクタが、相互にコミュニケーションを行うことで、各キャラクタがユーザの行動パターン(行動、性格など)や各キャラクタの行動パターン(行動、性格など)について理解を深めるようにしてもよい。
(変形例10)買い物処理(図9参照)において、商品の購入形式がいわゆるガチャ形式であってもよい。「ガチャ形式」とは、所定ポイント(又は金額)の支払に対し、得られる商品の内容がランダムに決定される形式のことである。
(変形例11)制御部130は、各ユーザの会話相手のキャラクタ同士でコンテストを行うイベント(いわゆるキャラクタコンテスト)を定期的に行ってもよい。キャラクタコンテストでは、キャラクタの装飾性などが競われる。キャラクタコンテストの相手となる他のキャラクタは、架空のキャラクタであってもよい。コンテストで上位評価を得ることがモチベーションになるため、各ユーザの商品購入意欲が刺激され、商品購入が促進され得る。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。