以下、本発明の実施の形態によるゲームシステムについて説明する。<実施形態> <ゲームシステムの構成> 図1は、本発明の実施形態1によるゲームシステムの全体構成図である。図1に示すように、このゲームシステムは、通信網NW(ネットワーク)に接続可能なユーザ端末装置10a、10b、10c、…と、通信網NWに接続されているゲームサーバ装置20と、データベースサーバ装置30とを備えている。なお、ゲームサーバ装置20とデータベースサーバ装置30とでゲームサーバシステム1が構成される。また、図1の例では、ゲームサーバ装置20とデータベースサーバ装置30とに分けてゲームサーバシステム1を構成したが、本発明はこれに限定されず、ゲームサーバ装置20とデータベースサーバ装置30とを一台のサーバ装置に実装してもよい。ユーザ端末装置10a、10b、10c、・・・はそれぞれ、個々のユーザによって操作される端末である。以下、ユーザ端末装置10a、10b、10c等を総称するときはユーザ端末装置10と記述する。ユーザ端末装置10としては、例えば、携帯端末、スマートフォン、PDA(Personal Digital Assistant)、パーソナルコンピュータ、或いは双方向の通信機能を備えたテレビジョン受像機(いわゆる多機能型のスマートテレビも含む。)等の通信端末を採用することができる。
ゲームサーバ装置20は、クライアントであるユーザ端末装置10と通信可能に構成されており、ユーザ端末装置10に対してゲームサービスを提供する。ゲームサーバ装置20には、ゲーム用アプリケーションとしてウェブブラウザ上で動作可能なアプリケーションが実装されている。
データベースサーバ装置30は、ゲームサーバ装置20と例えば有線を介して接続され、ユーザ端末装置10にゲームサービスを提供する上で必要となる後述する種々の情報を記憶する。
ユーザ端末装置10は、ゲームサーバ装置20によって提供されるウェブページが表示可能なウェブブラウザを備え、ゲームサーバ装置20から適宜配信されるデータをウェブブラウザ上で実行する。これにより、ユーザは、ユーザ端末装置10上でウェブページを操作し、ゲームをプレイすることができる。
なお、図1において、ゲームサーバ装置20とは別に各ユーザ端末装置10を操作するユーザを認証するための認証サーバを設けてもよい。また、多くのユーザ端末装置10からのアクセスを受け入れるために複数のゲームサーバ装置20を設ける場合は、その複数のゲームサーバ装置20間の負荷を調整するためのロードバランサを設けてもよい。また、ゲームサーバ装置20は単一のサーバ装置として構成してもよいが、機能を分散させた複数のサーバ装置として構
成してもよい。データベースサーバ装置30も単一のデータベースサーバ装置として構成してもよいが、複数のサーバ装置として構成してもよい。
<ユーザ端末装置の構成> 次に、図2及び図3を参照してユーザ端末装置10について説明する。図2は、ユーザ端末装置10の外観図であり、(a)は折り畳み式の携帯端末(携帯電話機)などのボタン入力方式のユーザ端末装置の一例を示す外観図であり、(b)は、例えばスマートフォンなどのタッチパネル入力方式のユーザ端末装置の一例を示す外観図である。
図3は、ユーザ端末装置10の内部構成を示すブロック図である。図3に示すように、ユーザ端末装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、画像処理部14、指示入力部15、表示部16、無線通信インタフェース部17、および、GPS18を備えている。CPU11〜GPS18は、バス19を介して相互に接続されている。バス19は、各部間の制御信号あるいはデータ信号を伝送する。
CPU11は、ROM12内のウェブブラウザをRAM13にロードして実行する。そして、CPU11は、指示入力部15等によってユーザに入力されるURL(Uniform Resource Locator)に基づき、ゲームサーバ装置20からウェブページを表示するためのHTML(Hyper Text Markup Language)等のマークアップ言語で記述されたデータを、無線通信インタフェース部17を介して取得し、取得したデータを解釈する。また、ゲームサーバ装置20からの要求に応じて所定のデータを、無線通信インタフェース部17を介してゲームサーバ装置20へ送信する。例えば、ゲームサーバ装置20からユーザ端末10の現在位置のデータの要求に応じて、現在位置の緯度経度を検出する機能を有するGPS18が検出した緯度経度をゲームサーバ装置20に送信する。
なお、ユーザ端末装置10には、ウェブブラウザのブラウザ機能を拡張するための様々なプラグインが実装されていてよい。なお、データの取得に当たって、CPU11は、予め登録されたユーザID(ユーザ識別情報)、或いは指示入力部15を介して入力されるユーザIDを含むアクセス要求を、無線通信インタフェース部17を介してゲームサーバ装置20へ送信する。
ウェブブラウザは、取得したデータに基づき、ゲームサーバ装置20から提供されるウェブページを表示部16に表示するための描画指令を画像処理部14に通知する。また、ウェブブラウザは、指示入力部15を操作することでウェブページ上のハイパーリンク(Hyperlink)やメニュー等がユーザにより選択されると、その選択に応じたウェブページを表示するための新たなデータの送信要求をゲームサーバ装置20へ送信する。
画像処理部14は、CPU11から供給される描画指令に基づき、ウェブページの表示用画像データを生成し、ウェブページを表示部16に表示させる。表示部16は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むLCD(Liquid Cristal Display)モニタや、有機EL(Electro-Luminesence)ディスプレイ、及び、プラズマディスプレイ等のディスプレイ16aを含んで構成され、表示用画像データに基づいて薄膜トランジスタ等を駆動することでウェブページをディスプレイ16aに表示させる。
ユーザ端末装置10が図2(a)に示すボタン入力方式のユーザ端末である場合、指示入力部15は、ユーザの操作入力を受け入れるための方向指示ボタンや決定ボタン等の複数の指示入力ボタンを含むボタン群15aと、テンキーなどの複数の指示入力ボタンを含むボタン群15bとを含んで構成され、各ボタンの押下(操作)入力を認識してCPU11へ出力するためのインタフェース回路を含む。
方向指示ボタンは、例えば、ディスプレイ16aに表示されているウェブページをユーザがスクロールする際に使用される。決定ボタンは、例えば、ウェブページ上で複数のハイパーリンクやメニュー等のうち、あるハイパーリンクやメニュー等をユーザが選択する際に使用される。
図2(a)の例では、ボタン群15bは、ボタン群15aの下方に配置され、「0」〜「9」、「*」、「#」(テンキー)が表記された複数の指示入力ボタンを含む。
ユーザ端末装置10が図2(b)に示すタッチパネル入力方式の通信端末である場合、指示入力部15は、タッチパネルにより構成される。この場合、ユーザは、指先やペン等の指示体をディスプレイ16aにタッチさせることで操作入力を行う。タッチパネルとしては、例えば、抵抗膜方式や静電容量方式等のタッチパネルが採用される。なお、図2(b)に示すように、ユーザ端末装置10がタッチパネル入力方式の通信端末である場合であっても、ボタン群15aが設けられる場合もある。
ユーザ端末装置10が図2(a)に示すような携帯端末装置である場合、ユーザは、例えば、方向指示ボタンの押下操作によってウェブページのメニューを選択し、決定ボタンの押下操作によって、メニューの選択操作を行う。また、ユーザ端末装置10が図2(b)に示すようなタッチパネル入力方式の通信端末である場合、ユーザはウェブページが表示されているディスプレイ16a上のメニューの位置を指示体でタッチすることでメニューの選択操作を行う。
<ゲームサーバ装置の構成> 次に、図4を参照してゲームサーバ装置20の構成について説明する。図4は、ゲームサーバ装置20の構成の一例を示すブロック図である。ゲームサーバ装置20は、例えば階層構造の複数のウェブページからなるゲームのウェブサイトを管理しており、ユーザ端末装置10に対してゲームサービスを提供する。図4に示すように、ゲームサーバ装置20は、CPU21、ROM22、RAM23、データベース(DB)アクセス部24、及び無線通信インタフェース部25を備える。CPU21〜無線通信インタフェース部25は、各部間の制御信号やデータ信号等を伝送するためのバス26を介して相互に接続されている。なお、ゲームサーバ装置20は、ハードウエアに関しては汎用のウェブサーバ装置と同一の構成をとることができる。
ROM22は、クライアントであるユーザ端末装置10のウェブブラウザに対してデータを提供し、ユーザ端末装置10においてユーザにゲームをプレイさせるためのゲーム制御プログラムを格納する。また、ROM22は、ゲーム制御プログラム以外にもCPU21によって参照される各種データを格納する。
CPU21は、ROM22内のゲーム制御プログラムをRAM23にロードして実行し、各種の処理を行う。また、CPU21は、無線通信インタフェース部25を介して、データをユーザ端末装置10に送信する。なお、ゲームサーバ装置20がユーザ端末装置10のユーザの認証処理を行う場合、CPU21はその認証処理を行う。
CPU21は、ユーザ端末装置10で表示されるウェブページ上でユーザにより選択されたハイパーリンクまたはメニューに応じた処理を行う。その処理は、例えば、新たなデータの送信や、ゲームサーバ装置20内の演算処理や、データ処理等を含む。DBアクセス部24は、CPU21がデータベースサーバ装置30に対してデータの読み書きを行うためのインタフェースである。
<データベースサーバ装置の構成> データベースサーバ装置30は、大容量のハードディスク装置やRAID(Redundant Arrays of Inexpensive Disks)等の形態の装置等、汎用ストレージで実現できる。データベースサーバ装置30内の各データベースは、ゲームサーバ装置20のDBアクセス部24を介してCPU21からのデータの読み書きが可能となるように構成されている。
図5は、データベースサーバ装置30の構成の一例を示すブロック図である。図5に示すように、データベースサーバ装置30は、ユーザデータベース31と、ゲームデータベース32とを備える。なお、データベースサーバ装置30もゲームサーバ装置20と同様、CPU、ROM、RAM等を備えているが図5では図示を省略している。
ユーザデータベース31は、ゲームサーバ装置20からのアクセスに基づき、ゲームサーバ装置20によって実行されるゲームをプレイするために登録しているユーザの個人情報や、技能レベルなどに関する情報等を記憶する。
ゲームデータベース32は、ゲームサーバ装置20からのアクセスに基づき、ゲームサーバ装置20によって実行されるゲームの設定についての情報、キャラクターの画像データ、ゲーム結果などのゲームに関する情報を記憶する。ゲーム結果に関する情報は、ゲームの性質によって多様な情報を含みうる。本デジタルカードゲームの場合を例に挙げれば、ゲーム結果に関する情報は、異なるユーザID同士の対戦の結果(スコア等)、特定の技能レベルの複数のユーザIDの間のリーグ戦の結果(スコア、ランキング等)などを含む。
<ゲーム> 本実施形態において、ゲームサーバ装置20によって実現されるゲームのタイプは特に限定されるものではないが、以下では、説明の便宜上、ゲームサーバ装置20によって実現されるゲームの一例として、野球形式のデジタルカードゲームを採り上げる。
野球形式のデジタルカードゲームは、ユーザが野球選手に対応する選手カードを収集することによって自らのチームを作り上げ、他のユーザのチームと野球の対戦をしたり、技能レベルごとに野球のリーグ戦を行ったりするゲームである。
野球形式のデジタルカードゲームには、自らのチームを作り上げていくために選手カードを探索するスカウトモードや、抽選によって選手カードを入手するための抽選モードや、2枚以上の選手カードを一体化して特定の選手カードの能力値を上昇させる強化モード等の種々のゲームモードが設けられている。
ここで、ゲームのトップページの例をもとに、ゲームモードの例を説明する。図6は、ユーザ端末装置10のディスプレイ16aに表示されるゲームのトップページの一例を示した画面図である。図6に示すトップページには、ゲームで実行される複数の処理が各々割り当てられた複数のメニューが含まれている。なお、トップページのデータは、後述するゲームサーバ装置20のゲーム進行制御部201により生成される。
このトップページは、各ユーザに応じて異なり、ユーザ名やユーザのチーム名が表示されている。このトップページは、データ表示領域とメニュー表示領域に大別され、データ表示領域には、ユーザデータ表示領域および選手画像表示領域が含まれている。
ユーザデータ表示領域には、対象ユーザに関するゲーム上の情報、例えば、技能レベル、行動ポイント、運営ポイント、強化ポイント、エールポイント、所有している選手数、及び仲間に関する情報が表示される。なお、ユーザデータ表示領域に表示される情報のうち、X/Yの形式で表記されている情報は、Xがユーザの保有するポイント又は数を示し、Yがそのポイント又は数の最大値を示す。例えば、選手数が“40/60”と表記されていれば、ユーザが現在所持している選手数が40人であり、所有可能な最大の選手数が60人であることを示す。
選手画像表示領域には、ユーザによって予め選択された選手カードの画像データが表示される。
メニュー表示領域には、“スカウト”、“強化”、“試合”、“抽選”、“オーダー”、“選手カード”、“プレゼントボックス”と表記された各メニューm1〜m7が表示さている。メニューm1〜m7は、それぞれ、スカウトモード、強化モード、試合モード、抽選モード、オーダー処理、選手カード処理、および、プレゼントボックス処理に対応している。なお、処理もゲームモードの1つである。
・スカウトモードは、ユーザが自身のチームを作り上げていくために選手カードを所定の地域毎に探索し、収集するため
のゲームモードである。ユーザによりスカウトモードがプレイされると、ユーザが所持する行動ポイントのうち所定ポイントが消費され、その対価として選手カードがユーザに付与され、付与された選手カードが持つ能力値に応じてユーザの強化ポイントが増加される。
・強化モードは、2枚以上の選手カードを一体化して特定の選手カードの能力値を上昇させるゲームモードである。ユーザにより強化モードがプレイされると、ユーザが所持する強化ポイントのうち所定ポイントが消費され、その対価として、特定の選手カードの能値が向上する。
・試合モードは、ユーザが自身のチームを他のユーザのチームと対戦させるゲームモードである。ユーザにより試合モードがプレイされると、運営ポイントのうち所定ポイントが消費され、その対戦に勝利すれば強化ポイントが所定ポイント増加される。
・抽選モードは、抽選によって選手カードをユーザに付与するゲームモードである。ユーザにより抽選モードがプレイされると、エールポイントのうち所定ポイントが消費されて抽選処理が実行され、予め定められた複数枚の選手カードの中から1枚の選手カードが選択され、ユーザに付与される。
・オーダー処理は、ユーザがスターティングメンバーとなる選手の選手カードの打順を入れ替えたり、控え選手の選手カードをスターティングメンバーの選手の選手カードと入れ替えたりするための処理である。ユーザによりオーダー処理が選択されると、ユーザは操作入力に応じて選手カードの打順を入れ替えたり、控え選手の選手カードをスターティングメンバーに加えたりできる。
・選手カード処理は、ユーザがゲーム上保有している選手カードを確認するための処理である。選手カード処理がユーザにより選択されると、対象ユーザが所持する選手カードに関する情報がディスプレイ16aに一覧表示される。
・プレゼントボックス処理は、ユーザがゲーム上保有しているプレゼントを確認するための処理である。プレゼントボックス処理がユーザにより選択されると、対象ユーザのプレゼントボックスに入っているプレゼントがディスプレイ16aに一覧表示される。
プレゼントは、仲間からプレゼントされたり、運営からプレゼントされたりするものであり、ゲーム内で使用するポイントや、チケット、回復薬などのアイテムがある。実施形態では、更に、現実世界のスタジアムに実際に足を運び、所定の野球の試合を観戦したユーザであって、アンケートに答えたユーザにのみ、ポイント等の特典がプレゼント(付与)される。
この特典は、ユーザがスタジアム観戦を行ったときの満足度に応じてプレゼントされる。ユーザが試合内容に不満があればあるほど、すなわち、ユーザの満足度が低いほど、大きな特典が付与される。また、逆に、ユーザが試合内容に対する満足度が高いほど、小さな特典が付与される。不満が大きなユーザには、大きな特典を付与することで、ユーザの不満の解消を図るものである。
ユーザの満足度は、試合中に行われるアンケートへの回答の有無、回答を取得した際の状況、および、アンケートへの回答内容を基に判断する。回答を取得した際の状況とは、回答を取得したタイミング、回答した時のユーザの位置、試合の状況などである。回答を取得したタイミングとは、例えば、アンケートを表示してから回答を取得するまでの時間であり、回答した時のユーザの位置とは、例えば、スタジアムの内か外かである。また、試合の状況とは、例えば、ユーザの贔屓チームが大量得点したなどである。
アンケートの回答内容以外に、ユーザがアンケートに回答したときの状況(以下、「回答状況」という。)から満足度を判断するのは、ユーザの回答内容が、必ずしもユーザの気持ちを反映していない場合もあり得ると考えられるからである。例えば、今の気持ちにぴったりの選択肢が無い場合である。一般に、アンケートは、記入に要する時間の短縮、集計のしやすさ等の観点から、選択式となっている場合が多く、また、選択項目の数もあまり多くはない。この場合、ユーザは自分の感想に近い項目を選択することとなるため、アンケートの回答とユーザの真の感想との間でずれが生じることがある。
また、間違ってボタンを選択する場合、特典欲しさから適当にアンケートのボタンを選択する場合もある。更に、何度かアンケートに参加して、不満が大きい試合で貰える特典が大きいことに気付いたユーザが、大きな特典がもらえるように贔屓チームが勝っている場合でも不満足を示すボタンを選択する場合も考えられる。
このような場合でも、ユーザが回答した状況からユーザの満足度を判断することにより、より正確な満足度を求めることが可能となる。
実施形態における満足度の算出方法については、<満足度の求め方>の項で説明する。
なお、実施形態では、ユーザ端末装置10でユーザがプレイしているゲームとして野球形式のデジタルカードゲームを例に説明していることから、現実世界においても、ゲームと関連する野球の試合を観戦することを、特典を付与する要件としている。しかし、ユーザ端末装置10でプレイしているゲームの内容と関連しない現実世界での試合を観戦したり、催し物などに参加したりしたことを、特典付与の要件としてもよい。以下、現実世界での試合や催し物などを総称して「イベント」という。
また、実施形態では、ゲーム内で使用できるポイント等を付与することとしているが、ゲームのキャラクタの能力を向上させることとしてもよい。この場合、ゲームキャラクタの能力の向上度合いを、不満が大きなユーザほどより大きく向上させる。また、所定のゲームモードにおいて所定期間の間は通常よりもメリットを与えることとしてもよい。例えば、スカウトモードでプレイする際には、探索の度合いを上げる、または、行動ポイントの消費ポイント数を少なくする、例えば、通常は5ポイント消費されるところを2ポイントにするなどである。また、試合モードでプレイする際には、対戦に勝利した場合に増加される強化ポイントを通常よりも多くする等である。この場合、不満が大きなユーザほど、メリットを得ている所定期間をより長くする。また、不満が大きなユーザほど、スカウトモードでプレイする際には、探索の度合いをより上げたり、消費ポイントをより少なくしたりする。また、試合モードでプレイする際には、もらえる強化ポイントをより大きくする。
<ゲームサーバシステムおよびユーザ端末装置の機能の概要> 次に、本発明の実施形態によるゲームサーバシステム1およびユーザ端末装置10の機能構成について説明する。図7は、本発明の実施形態によるゲームサーバシステム1およびユーザ端末装置10の機能ブロック図である。
<ユーザ端末装置> ユーザ端末装置10は、ゲーム制御部101、出力部102、操作部103、通信部104、および、現在位置検出部105を備えて構成される。
出力部102は、図3の表示部16に相当する機能部であり、ゲーム制御部101からの指示により、ディスプレイ16aに選手カード、文字、図等を表示し、また、更に、ゲームの効果音等を出力する。
操作部103は、図3の指示入力部15に相当する機能部であり、ゲームを進行する上で必要となる種々の入力操作を検出し、ゲーム制御部101に通知する機能を有する。
通信部104は、図3の無線通信インタフェース部17に相当する機能部であり、ネットワークNWを介してゲームサーバ装置20と通信する機能を有する。
現在位置検出部105は、図3のGPS18に相当する機能を有し、ユーザ端末10の現在位置を検出する機能を有する。なお、実施形態では、GPS機能によって自装置の位置を検出することとしているが、他の方法であってもよい。例えば、現在つながっている無線基地局(アクセスポイント)の位置を自装置の位置とみなして検出するなどであってもよい。この場合、無線基地局の位置として、例えば、無線基地局の識別子や、住所等を検出する。
ゲーム制御部101は、例えば、CPU11およびその周辺回路等を備えて構成され、通信部104を介してゲームサーバ装置20と通信し、データをやり取りしながら、ゲームを進行させる機能を有する。
<ゲームサーバシステム> ゲームサーバシステム1は、ゲームサーバ装置20およびデータベースサーバ装置30で構成され、ゲームサーバ装置20は、ゲーム進行制御部201、端末位置取得部202、存在判定部203、アンケート実行部204、満足度算出部205、特典付与部206、タイマー207、通信部208、データ管理部209、および、イベント経過情報取得部210を備える。
ゲーム進行制御部201は、ユーザからの操作入力に応じてユーザ端末装置10から適宜送信される操作情報を受信し、受信した操作情報に応じてユーザ端末装置10に表示されるウェブページを適宜更新するためのデータをユーザ端末装置10に送信することで、ゲームを進行させる機能を有する。
図6のトップページで示すように、本デジタルカードゲームには、スカウトモード、強化モード、試合モード、抽選モード、オーダー処理、選手カード処理、プレゼントボックス処理等のゲームモードが含まれている。したがって、ゲーム進行制御部201は、ユーザが選択したゲームモードを進行させる。
トップページをユーザのユーザ端末装置10に表示する場合、ゲーム進行制御部201は以下の処理を行う。まず、ゲーム進行制御部201は、データベースサーバ装置30から、ユーザデータ表示領域に含まれる各項目のデータと、選手画像表示領域に表示すべき選手カードの画像データとを読み出す。次に、ゲーム進行制御部201は、図6に示すトップページのデータを生成し、ユーザ端末装置10に送信する。ここで生成されるデータは、ユーザごと(つまり、ユーザIDごと)に異なるものとなる。ユーザ端末装置10は、受信したデータを解釈してトップページをディスプレイ16aに表示する。
ゲーム進行制御部201は、ウェブページ上に表示される各メニューm1〜m7に、上記のゲームモードを進行させるための処理を予め割り当てている。そして、ゲーム進行制御部201は、ユーザ端末装置10においてウェブページ上のメニューがユーザにより選択されたとき、選択されたメニューについての情報をユーザ端末装置10から受信し、受信した情報に基づいて、選択されたメニューに割り当てられた処理を実行する。例えば、メニューm1の選択指示がユーザにより入力されると、ユーザ端末装置10はユーザによりスカウトモードが選択されたことを示すデータをゲーム制御装置20に送信する。そして、このデータにしたがってゲーム進行制御部201は、スカウトモードを進行するためのデータをユーザ端末装置10に適宜送信し、ユーザ端末装置10とデータを送受しながら、スカウトモードを進行させる。また、ゲーム進行中に、ユーザがアイテムを使用する指示を行ったことをユーザ端末装置10から受信すると、ゲーム進行制御部201は、そのアイテムを使用する処理を行う。
更に、また、ゲーム進行制御部201は、イベント経過情報取得部210から割り込みがあると、アンケート実行部204にアンケートの実行を指示する機能を有する。なお、アンケート実行部204からアンケートを中止する旨が通知されたユーザについては、その通知後はアンケート実行部204にアンケートの実行を指示しない。
どのような試合経過状態となったときに、イベント経過情報取得部210がゲーム進行制御部201に割り込みを行うかは、予め定めてあるものとし、実施形態では、イニングが終了したときとする。なお、実施形態では、予め定められた試合経過状態となったときに、イベント経過情報取得部210がゲーム進行制御部201に割り込む(通知する)こととしている
が、ゲーム進行制御部201が定期的にイベント経過情報取得部210から情報を取得し、取得した試合経過情報に応じてアンケート実行部204にアンケートの実行を指示することとしてもよい。
端末位置取得部202は、ユーザ端末装置10の現在位置を取得する機能を有する。具体的には、ユーザ端末装置10に対して現在位置の位置情報を要求し、ユーザ端末装置10から送信されてくる緯度経度を位置情報として受信する。なお、ユーザ端末装置10が位置情報として無線基地局(アクセスポイント)の識別子や住所等を検出して送信してくる場合は、それらから緯度経度を求める。
存在判定部203は、ゲーム進行制御部201の依頼に応じて、端末位置取得部202が取得したユーザ端末装置10の現在位置情報と、タイマー206から取得した現在の日時とに基づいて、ユーザ端末装置10のユーザがスタジアムで野球の試合観戦中であるか否かを判定する機能を有する。具体的には、存在判定部203は、ゲームデータベース32に記憶されているイベントに関する情報から、ユーザ端末装置10の現在地の緯度経度が含まれるスタジアムを検索し、そのスタジアムで現在イベントが行われている場合に、観戦中であると判断する。
また、存在判定部203は、アンケート実行部204の依頼に応じて、端末位置取得部202が取得したユーザ端末装置10の現在位置情報に基づいて、ユーザ端末装置10のユーザが、アンケート実行部204の指定したスタジアム内に居るのか、スタジアムの外に居るのかを判定する機能を有する。
実施形態において、存在判定部203は、ユーザ端末装置10が検出した緯度経度と現在日時とをもとにスタジアムで試合の観戦中であるか否かを判定することとしているが、他の方法で判定してもよい。例えば、スタジアム内でしか知ることが出来ないパスワードをユーザ端末装置10から受信した場合には、存在判定部203はユーザがスタジアムで試合の観戦中であると判定する等である。具体的には、スタジアムのスクリーンに特定の文字列(数値を含む)のパスワードを表示し、または、場内アナウンスで報知し、ユーザがそのパスワードをユーザ端末装置10に操作部103を介して入力し、ゲームサーバ装置20の端末位置取得部202が緯度経度に代えてパスワードを位置情報として受信する。そして、受信したパスワードが予め記憶されているパスワードと同じである場合に、存在判定部203は、ユーザがスタジアムで試合の観戦中であると判定する。
また、ユーザが所定時間の間スタジアムにいた場合にのみ、スタジアム観戦中であると判断することとしてもよい。一時的に立ち寄ったり、スタジアムの近くを通過した場合に、スタジアム観戦中であると判断されることを排除するためである。この場合、存在判定部203は、スタジアムにいると判断されたら、周期的にユーザ端末装置10から現在位置を示す現在位置情報を取得してスタジアムにいるか否かを判断し、連続して所定時間の間スタジアムにいると判断された場合に、スタジアム観戦中であると判断する。この場合、存在判定部203が周期的に現在位置情報を取得する間、ユーザ端末装置10はログイン状態である必要がある。または、例えば、存在判定部203からの指示に応じてユーザ端末装置10が、所定期間の間、ゲームサーバ装置20に対して現在位置情報を周期的に送信する機能を有するものとしてもよい。
アンケート実行部204は、ユーザがスタジアムで試合の観戦中であると存在判定部203が判定した場合に、そのユーザのユーザ端末装置10にアンケート画面を送信し、ユーザから回答を取得し、回答を記憶する機能を有する。また、アンケート実行部204は、ユーザから回答を取得したときの周囲の状況からユーザの満足度を判断し、記憶する機能を有する。
実施形態では、アンケート実行部204は、2種類のアンケートを実施する。1つ目は、イニングの終了ごとに、終了したイニングに対するユーザの満足度を取得するためのアンケートであり、2つ目は、観戦中の試合における贔屓チームを選択させるためのアンケートである。実施形態では、観戦中のユーザすべてに贔屓チームを選択させるためのアンケートを行うこととするが、贔屓チームを自動的に選択することができる場合は、自動で選択してアンケートは行わない。例えば、本デジタルカードゲームにおいて、ユーザ登録時にユーザが指定したチームが、ユーザが観戦する試合で対戦するチームのうちの1つと同じ名前である場合は、そのチームを贔屓チームとするなどである。
アンケート実行部204は、ゲーム進行制御部201からの指示により各アンケートを行う。ゲーム進行制御部201は、イベント経過情報取得部210から割り込みがあったときに、アンケート実行部204にアンケートの実行を指示する。
また、アンケート実行部204は、必要に応じて、イベント経過情報取得部210から試合状況、例えば、イニングでの得点数および得点チーム、ホームランによる得点であるか否か等の情報を取得できるものとする。
ここで、アンケート画面の例を説明する。図8は、1つ目のアンケートで使用する、イニングの終了ごとに表示するアンケート回答画面1024の例を示す図である。図8では、第3イニングが終了したときに表示される画面例を示している。ユーザは、アンケート回答画面1024に表示されている2つの回答ボタン、すなわち、「やったね!」、「がっかり」の2つの回答ボタンから、今の気分に最も近いものを1つ選択する。また、アンケート回答画面1024の「アンケート終了」ボタン1025は、アンケート自体の終了を指示するボタンである。この「アンケート終了」ボタン1025が選択されると、以後、アンケート回答画面1024は表示されない。なお、このアンケート回答画面1024は、ユーザが回答ボタンまたは「アンケート終了」ボタン1025を選択した時、あるいは、回答ボタンが選択されずに所定の待ち時間、例えば、15分が経過したら消去される。実施形態では、所定の待ち時間が経過したらアンケートを消去することとしているが、次のイニングが開始されたときに消去することとしてもよい。また、最終イニング終了後のアンケート、すなわち、試合における最後のアンケート画面は、ボタンが選択されるか、ボタンが選択されずに所定時間、例えば、1時間が経過した時に消去される。
ユーザは、試合中のイニング毎にその場でアンケートに答えることにより、自分の喜びやくやしさといった感情をリアルタイムに吐露できることになる。感情をその場で吐露することで、ユーザが試合に満足している場合には、その満足感を増大させることができ、不満を抱いている場合には、その思いを若干なりとも沈静化することができることになる。
図9は、2つ目のアンケートで使用する、贔屓チーム選択画面1026の例を示す図である。贔屓チーム選択画面1026のエリア1027には、ユーザに答えて欲しい内容が表示され、選択エリア1028には、ユーザが観戦している試合を行うチーム名が表示される。ユーザは、この試合で応援するチームを贔屓チームとして選択する。この贔屓チーム選択画面1026は、ユーザが、試合観戦中に最初に野球形式のデジタルカードゲームにログインした際に、1回表示される。
満足度算出部205は、アンケート実行部204が実施したアンケートへのユーザの回答内容、および、アンケート実行部204が回答状況から判断した満足度に基づいて、ユーザの試合に対する最終的な満足度を算出する機能を有する。アンケートの回答内容からだけでなく、ユーザが感じている本当の満足度により近い満足度を求める為である。具体的な満足度の算出方法については、<満足度の求め方>の項で説明する。
特典付与部206は、満足度算出部205が算出した満足度に応じて、ユーザに、すなわち、そのユーザのユーザ端末装置10に特典をプレゼント(付与)する機能を有する。具体的には、特典付与部206は、ユーザデータベース31に記憶されているそのユーザのプレゼントボックスの情報に、プレゼントである特典の情報を追加する。図10に、プレゼント一覧画面1021を示す。プレゼント一覧画面1021には、プレゼントボックスに含まれるプレゼントが、それぞれ矩形で囲まれて表示される。例えば、プレゼント項目1022は、スタジアム観戦でのプレゼントを示し、ゲーム内コインの画像と、そのプレゼントを受け取ることを指示する受取ボタン1023が表示されている。
次に、タイマー207は、現在の日時を出力する機能を有する。このタイマー207が出力する日時に基づいて、各機能部が時間に関する処理を必要に応じて行う。例えば、存在判定部203は、ユーザが現在、スタジアム観戦中か否かの判定を行う等である。
通信部208は、図4の無線通信インタフェース部25に相当する機能部であり、ネットワークNWを介してユーザ端末装置10と通信する機能を有する。
データ管理部209は、図4のDBアクセス部24に相当する機能部であり、データベースサーバ装置30にアクセスし、ユーザデータベース31およびゲームデータベース32を管理する機能を有する。具体的には、データベースサーバ装置30が備える各記憶部へのデータの書き込み、読み込み、削除等を制御する。ゲームサーバ装置20が備える各機能部が、データベースサーバ装置30が備える各記憶部にアクセスする場合には、データ管理部209を介して行う。
イベント経過情報取得部210は、ユーザが観戦中の試合の経過情報を取得し、予め定められた試合経過状況となったときに、具体的には、イニングが終了するとゲーム進行制御部201に割り込みを行う機能を有する。また、イベント経過情報取得部210は、ゲーム進行制御部201およびアンケート実行部204からの要求により、試合の経過情報を提供する機能を有する。イベント経過情報取得部210が、試合の経過情報を取得する方法は、例えば、ゲームサーバシステム1のオペレータが、ゲームサーバ装置20の入力装置(不図示)を介して試合の経過情報を入力する。また、実況中継の文字情報から取得するなどであってもよい。
なお、ゲーム進行制御部201〜イベント経過情報取得部210は、本実施形態におけるゲーム制御プログラムに含まれ、無線通信インタフェース部25及びDBアクセス部24を制御するプログラムモジュールにより構成され、CPU21に実行されることで実現される。
なお、実施形態ではゲームサーバ装置20が備えることとしている機能の一部を、ユーザ端末装置10が備えることとしてもよい。また、以下で説明するデータベースサーバ装置30が記憶しているデータの一部をユーザ端末装置10が記憶することとしてもよい。
<データベースサーバ装置> データベースサーバ装置30は、図5に示すように、ユーザデータベース31およびゲームデータベース32で構成される。ユーザデータベース31には、ユーザ情報記憶部3100が含まれ、ゲームデータベース32には、ゲーム情報記憶部3200、イベント情報記憶部3300、および、満足度情報記憶部3400が含まれる。
<ユーザ情報記憶部> ユーザ情報記憶部3100は、ゲームをプレイするユーザに関する情報を記憶しておく機能を有する。図11および図12を用いて、ユーザ情報記憶部3100に記憶されているデータについて説明する。
図11は、ユーザ情報テーブル3110の構成例及びその内容例を示す図である。ユーザ情報テーブル3110は、ゲームサーバ装置20が行うゲームをプレイするユーザを管理するためのテーブルであり、1ユーザにつき1レコードが記憶されている。
ユーザ情報テーブル3110は、項目3111で示される複数の項目を有する複数のレコードで構成される。
項目3111として、「
ユーザID」、「ユーザ名」、「表示画像」、「チーム」、「技能レベル」、「行動ポイント」、「運営ポイント」、「強化ポイント」、「エールポイント」、「選手数」、「仲間」が登録されている。
「ユーザID」は、複数のユーザから個々のユーザを特定し区別するためのユーザ識別子である。
「ユーザ名」は、本デジタルカードゲームの実行時において、ユーザを特定するためにユーザ端末装置10に表示されるユーザ名についてのデータである。ユーザ名としては、例えば、ユーザによって予め指定された所定長以下のテキストデータが採用される。ユーザ名によって、ゲームサーバ装置20によって提供されるゲームコミュニティ内でユーザは特定される。
「表示画像」は、ユーザを特定するためにユーザ端末装置10に表示される表示画像表示画像についてのデータである。表示画像としては、例えばユーザによって予め選択されたアバタの画像データが採用される。
「チーム」は、本デジタルカードゲームにおいて、ユーザ登録時に、ユーザにより指定されたチームの名称である。本デジタルカードゲームでは、例えば、P1〜P6の6チームからなるPリーグと、Q1〜Q6の6チームからなるQリーグとが設けられており、ユーザはこの12チームの中からいずれかのチームをユーザ登録時に選択する。これらのリーグ構成、および、チームの名称は、現実世界の野球チームの名称と同じであってもよい。
「技能レベル」は、本デジタルカードゲームにおけるユーザの現在の技能レベルを示す。技能レベルは、例えばLv1(レベル1)からLv100(レベル100)までの範囲で表される整数値で表される。技能レベルが高くなるにつれて技能レベルの数値が増大する。
「行動ポイント」は、本デジタルカードゲームにおいて、例えばユーザが上記のスカウトモードを実施する上で必要となるポイントである。行動ポイントの値は、スカウトモードが実施される都度、所定ポイント減少し、所定時間が経過する都度に回復(増加)する。
「運営ポイント」は、本デジタルカードゲームにおいて、例えばユーザが上記の対戦モードを行う上で必要となるポイントである。運営ポイントの値は、他のユーザとの対戦等によって減少し、所定時間が経過する都度に回復(増加)する。
「強化ポイント」は、本デジタルカードゲームにおいて、例えばユーザが上記の強化モードを実施する上で必要となるポイントである。強化ポイントの値は、選手カードの強化を行うことで減少し、他のユーザとの対戦で勝利するか、あるいは所定時間が経過する都度に回復(増加)する。
「エールポイント」は、本デジタルカードゲームにおいて、ユーザが自身の仲間となる仲間ユーザに応援メッセージを送信することでユーザに付与されるポイントである。
「選手数」は、ユーザが保有する選手カードの数である。選手数は、スカウト処理や強化処理の実行によって増減する。選手数の最大値(例えば、60)は予め規定されている。
「仲間」は、ユーザに対する仲間ユーザを特定するためのデータであり、ここでは、各仲間ユーザのユーザIDが採用されている。
ゲームサーバ装置20のゲーム進行制御部201は、トップページ(図6参照)を作成する際に、トップページを作成するユーザのユーザIDが、項目3111「ユーザID」として設定されているユーザ情報テーブル3110のレコードを参照する。具体的には、ゲーム進行制御部201は、ユーザ情報テーブル3110のうち、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110のレコードの内容を参照して、項目3111として設定されているデータを項目毎に読み出して、トップページに表示するデータを作成していく。例えば、項目3111「技能レベル」として設定されている「85」を読み出して、ユーザデータ表示部の「レベル:Lv85」という表示データを作成するなどである。
図12は、プレゼントボックス情報テーブル3120の構成例及びその内容例を示す図である。プレゼントボックス情報テーブル3120は、ゲームサーバ装置20が行うゲームをプレイするユーザのプレゼントボックスの中身を管理するためのテーブルであり、1ユーザにつき1テーブルが記憶されている。プレゼントボックス情報テーブル3120には、1プレゼントにつき、1レコードが登録されている。なお、スタジアムに試合観戦に行ってアンケートに答えたり、ゲームで高得点を上げた場合等に付与される特典は、このプレゼントボックス情報テーブル3120に登録される。
プレゼントボックス情報テーブル3120は、プレゼント3121、付与日3122、有効期限3123、および、コメント3124で構成される。
プレゼント3121は、プレゼントボックスに入っているプレゼントの内容を示す。例えば、ゲーム内で使用できるアイテム、ゲーム内で使用するポイント、選手カードなどである。
付与日3122は、プレゼント3121で示されるプレゼントが、付与された日、すなわち、そのレコードが追加された日を示す。
有効期限3123は、プレゼント3121で示されるプレゼントの有効期限、すなわち、そのプレゼントを使用できる期限である。プレゼントには有効期限を設定し、ユーザに対して早期の積極的な活用を促している。
コメント3124は、プレゼント3121で示されるプレゼントに対するコメントを示す。例えば、プレゼントが付与された理由等が記載されている。例えば、試合観戦に行ってアンケートに答えたことに対するプレゼントである旨である。これらのコメントは、図10のプレゼント一覧画面1021の各プレゼントの説明として表示されるものである。
<ゲーム情報記憶部> ゲーム情報記憶部3200は、ゲームサーバ装置20によって実行される野球形式のデジタルカードゲームに関する情報を記憶しておく機能を有する。例えば、ゲームの設定についての情報や、各種画像データ、ゲーム結果に関する情報である。また、選手カード毎に、カードに関する情報を管理するテーブルを記憶している。このテーブルでは、カード毎に、カードの画像データ、カードを所有するユーザのユーザID、選手カードのレベル、基本能力等を登録しておき、ゲームの進行に応じて適時、更新がなされる。
また、ゲーム情報記憶部3200は、ユーザの満足度に応じてユーザに付与する特典を決定するためのテーブルを記憶しておく機能を有する。実施形態では、野球形式のデジタルカードゲームにおいて使用できる特典が付与される。
図13は、特典情報テーブル3210の構成例及びその内容例を示す図である。特典情報テーブル3210は、現実世界でのスタジアム観戦によってユーザが得た満足度に応じて、そのユーザに付与される特典を管理するためのテーブルである。
特典情報テーブル3210は、満足度3211、および、特典アイテム3212で構成される。
満足度3211は、ユーザの満足度を示す。満足度は、数値で示され、数値が大きいほど満足度が高いものとする。例えば、満足度3211として「30〜50」と設定されている場合は、満足度が30点以上であり50点未満であることを示す。
特典アイテム3212は、満足度3211で示される満足度を得たユーザに特典として付与されるアイテムを示す。ここでは、ゲーム内通貨であるエールポイントや回復薬、選手カードを特典アイテムとしているが、他のアイテムであってもよい。図13において、例えば、満足度3211として「70〜90」が設定されたレコードに特典アイテム3212として「200エールポイント」と設定されているので、満足度が70点以上で90点未満であるユーザには、200エールポイントが特典として付与されることになる。
実施形態では、ユーザが試合内容に不満であればあるほど、付与する特典を大きくし(特典のレベルを高くして)、ユーザの不満感の解消を図る。従って、満足度3211で示される数値が高いほど、すなわち、満足度が高いほど、特典アイテム3212で示される特典が小さく、すなわち、例えば、エールポイントの数値が小さくなる。
すなわち、不満が大きいユーザには、より大きな特典を付与するようにしているので、イベントに対する不満を託ったまま帰宅するユーザの不満を低減し、イベントから足が遠のくことを防ぐことができるようになる。
なお、実施形態では、野球形式のデジタルカードゲーム内の一つのモードとしてアンケートを行っているが、ゲーム以外のアプリケーション内でアンケートを行う場合には、特別な画像や楽曲などを特典として付与することとしてもよい。例えば、プロ野球チームの公式サイト内でアンケートを行う場合は、選手の画像やチームの応援歌などを特典として付与するなどである。
<イベント情報記憶部> イベント情報記憶部3300は、現実世界で行われるイベントの情報を記憶しておく機能を有する。図14を用いて、イベント情報記憶部3300に記憶されているデータについて説明する。
図14は、イベント情報テーブル3310の構成例及びその内容例を示す図である。イベント情報テーブル3310は、現実世界で行われるイベントを管理するためのテーブルであり、1イベントにつき1レコードが登録されている。
イベント情報テーブル3310は、場所名称3311、位置3312、イベント内容3313、開催日時3314、および、結果3315で構成される。
場所名称3311は、イベントが行われる現実世界の場所の名称を示す。実施形態では、野球の試合が行われるスタジアムの名称、例えば「Aスタジアム」などである。
位置3312は、場所名称3311で示される場所の位置を示す。実施形態では、場所を矩形で規定し、矩形の北西の角と南東の角との緯度経度が設定される。
イベント内容3313は、場所名称3311で示される場所で行われるイベントの内容を示す。実施形態では、野球の試合の対戦チームが設定される。
開催日時3314は、場所名称3311で示される場所で、イベント内容3313で示されるイベントが開催される日時(開催期間)を示す。実施形態では、野球の試合の開催日と、開始時刻と、終了予定時刻が設定される。なお、既に試合が終了している場合は、実際の終了時刻が設定される。
結果3315は、イベント内容3313で示されるイベントの結果を示す。実施形態では、野球の試合が、何対何で終了したかが設定される。まだ、試合が行われていない場合、または、試合中の場合には「−」が設定されている。この試合の結果は、試合が終了したときに、オペレータによって設定されるものとする。
なお、実施形態では、位置3312は、場所名称3311で示される場所を矩形で規定し、ユーザ端末装置10の現在位置が矩形の中に含まれるか否かで、その場所に居るか居ないかを判断することとしているが、位置3312として、場所名称3311で示される場所の中心位置の緯度経度と半径とを記憶しておき、ユーザ端末装置10の現在位置が、その場所の中心位置と半径から示される円の中に含まれるか否かで、その場所に居るか居ないかを判断することとしてもよい。
<満足度情報記憶部> 満足度情報記憶部3400は、満足度を算出する際に必要となる情報を記憶しておく機能を有する。図15〜図19を用いて、満足度情報記憶部3400に記憶されているデータについて説明する。
図15は、回答点数テーブル3410の構成例及びその内容例を示す図である。回答点数テーブル3410は、アンケート(図8参照)への回答に対する点数を記憶しておくテーブルである。
回答点数テー
ブル3410は、回答3411、および、点数3412で構成される。
回答3411は、アンケート回答画面1024における回答ボタンを示す。回答3411が「やったね!」は、アンケート回答画面1024の「やったね!」ボタンがユーザにより選択された場合を示す。
点数3412は、回答3411で示す回答ボタンが選択された場合の、満足度の点数を示す。
図16は、回答補完テーブル3420の構成例及びその内容例を示す図である。回答補完テーブル3420は、アンケート(図8参照)への回答を、アンケート実行部204が取得できなかったときに、取得できなかった回答を補完するためのデータを記憶しておくテーブルである。回答をユーザから取得できなかったときとは、アンケート回答画面1024が表示された後、アンケート回答画面1024のいずれのボタンも選択されずに所定時間が経過したときである。
試合中に複数回実施するアンケートにおいて、ユーザが回答しない場合がある。例えば、ユーザが試合に夢中になっている場合には、アンケートに回答するのを忘れる場合がある。また、試合内容に大きな不満がある場合には、意識的にアンケートに回答しない場合もある。そこで、ユーザがアンケートに回答しなかった場合に、その時の試合状況に基づいて、ユーザの回答を推定する。
アンケート実行部204は、回答を取得できなかったときに、回答補完テーブル3420を参照することで、そのイニングの試合状況などに基づいて回答を推定し、推定した回答を用いて補完を行う。
回答補完テーブル3420は、試合状況3421、推定回答3422、および、説明3423で構成される。なお、説明3423は、説明の便宜上、回答補完テーブル3420の一項目として記載しているが、ゲームサーバシステム1においてゲーム制御処理が実行される際に参照等される項目ではなく、回答補完テーブル3420を参照して回答を補完する際の判断についての説明を記載している。
試合状況3421は、アンケートの回答を得られなかったイニング、即ち直前のイニングの試合状況を示す。
推定回答3422は、試合状況3421で示される試合状況から推定される回答を示す。
説明3423は、試合状況3421で示される試合状況から、推定回答3422で示される回答を推定した理由の説明である。
例えば、試合状況3421に「前イニングで贔屓チームが大量得点」が設定されているレコードには、推定回答3422として「やったね!」、コメント3423として「大喜びで回答を忘れた?」と設定されている。これは、贔屓チームが大量得点したイニングが終了した直後のアンケートに答えなかったのは、大喜びしてアンケートに答えるのを忘れたと考えられるので、アンケートに答えていたとしたら「やったね!」ボタンを選択していたであろうと推測することを示している。また、例えば、試合状況3421に「前イニングで贔屓チームが大量失点」が設定されているレコードには、推定回答3422として「がっかり」、説明3423として「呆れて回答したくない?」と設定されている。これは、贔屓チームが大量失点したイニングが終了した直後のアンケートに答えなかったのは、贔屓チームの不甲斐なさに呆れて回答したくなかったと考えられるので、アンケートに答えていたとしたら「がっかり」ボタンを選択していたであろうと推測することを示している。なお、試合状況3421として「その他」と設定されているレコードの推定回答3422として設定されている「(点数1.5)」は、回答自体は推定しないが、回答に対する点数として1.5点を記録することを意味している。
図17は、満足度修正テーブル3430の構成例及びその内容例を示す図である。満足度修正テーブル3430は、ユーザのアンケートへの回答内容および回答状況から求めたユーザの満足度を、修正するための修正要件を記憶しておくテーブルである。修正要件は、アンケートを行ったときの状況、例えば、試合の戦況や、アンケートを回答するまでの時間など、アンケートの回答内容以外のもので、ユーザの満足度を測れるものであれば何でもよい。
実施形態では、ユーザが、アンケート回答画面1024の「アンケート終了」ボタン1025(図8参照)を選択した場合の、選択した時刻、位置、および、試合状況に基づいて、ユーザの満足度を修正する。
満足度修正テーブル3430は、試合状況3431、終了指示位置3432、終了指示時刻3433、修正点数3434、および、説明3435で構成される。なお、説明3435は、説明の便宜上、満足度修正テーブル3430の一項目として記載しているが、ゲームサーバシステム1においてゲーム制御処理が実行される際に参照等される項目ではなく、満足度修正テーブル3430を参照して行う修正の判断についての説明を記載している。
試合状況3431は、試合状況を示す。試合の最終結果、試合の途中経過、特定イニングの試合状況、大量得点または大量失点などの特定の状況などである。実施形態では、「大量得点」、「大量失点」とは、5点以上をいうものとする。すなわち、贔屓チームが大量得点した場合とは、贔屓チームがイニング中に、例えば、5点以上得点した場合をいい、大量失点した場合とは、相手チームが5点以上得点した場合をいう。なお、この点数は、適時、適切な値を採用することとしてもよい。
終了指示位置3432は、「アンケート終了」ボタン1025が選択された場所を示す。具体的には、スタジアムの外か内かである。
終了指示時刻3433は、「アンケート終了」ボタン1025が選択された時刻を示す。具体的には、試合の終了後所定時間以内か、特定状況の直後かなどである。例えば、大領失点後10分以内などである。
修正点数3434は、満足度を修正するための点数である。例えば、「−10」と設定されている場合は、アンケートへの回答内容および回答状況から求めた満足度から、10減算した値を満足度とする。また、「=100」と設定されている場合は、最終的な満足度を100点とすることを意味する。すなわち、試合中のアンケートから求めた満足度が低くても、満足度を100とする。例えば、贔屓チームが最終イニングに大量に得点し、逆転勝利したときに、ユーザが「アンケート終了」ボタン1025を選択した場合である。また、「=0」と設定されている場合は、最終的な満足度を0点とすることを意味する。すなわち、最終イニングで逆転サヨナラ負けして、がっくりしたユーザが「アンケート終了」ボタン1025を選択した場合である。
説明3435は、試合状況3421〜終了指示時刻3433で示される要件において、ユーザが「アンケート終了」ボタン1025を選択した場合の、推測される理由を示す。すなわち、ユーザが「アンケート終了」ボタン1025を選択した場合に、修正点数3434で示される点数で満足度を修正する理由の説明である。
例えば、試合状況3431に「贔屓チームが大量失点」が設定されている1つ目のレコードには、終了指示位置3432として「スタジアム外」、終了指示時刻3433として「大量失点後10分以内」、修正点数3434として「=0」、コメント3435として「怒って帰った?」と設定されている。これは、贔屓チームが大量失点した状況において、大量失点した直後に、「アンケート終了」ボタン1025がスタジアムの外で選択されたのは、贔屓チームの不甲斐なさに怒って、勝利を諦めて試合途中で帰ったと推測できる。従って、ユーザは非常に大きな不満を持っていると考えられるので、満足度を0点に修正を行うことを示している。また、試合状況3431に「贔屓チームが大量失点」が設定されている2つ目のレコードでは、終了指示位置3432として「スタジアム内」、終了指示時刻3433として「大量失点後10分以内」、修正点数3434として「−10」、コメント3435として「怒った?」と設定されている。これは、スタジアム内で「アンケート終了」ボタン1025が選択された場合の方が、スタジアム外で選択された場合に比べてユーザの不満度がまだ少ないと考えられるので、満足度を10点下げる修正を行うこととしている。
また、試合状況3431に「贔屓チームが勝利」が設定されているレコードには、終了指示位置3432として「スタジアム内」、終了指示時刻3433として「試合終了後10分〜30分」、修正点数3434として「=100」、コメント3435として「スタジアムに残って勝利を祝ってる?」と設定されている。これは、贔屓チームが勝利した状況において、試合終了後しばらくしてから、「アンケート終了」ボタン1025がスタジアムの内で選択されたのは、勝利を祝ってスタジアムに残っていると推測できる。従って試合中の満足度が低かったとしても、ユーザは満足していると考えられるので、満足度を100点に修正することを示している。
図18は、満足度判定テーブル3450の構成例及びその内容例を示す図である。満足度判定テーブル3450は、アンケート毎に、回答状況から満足度を判定するために用いるテーブルである。
満足度判定テーブル3450は、試合状況3451、回答速度3452、点数3453、および、説明3454で構成される。なお、説明3454は、説明の便宜上、満足度判定テーブル3450の一項目として記載しているが、ゲームサーバシステム1においてゲーム制御処理が実行される際に参照等される項目ではなく、満足度判定テーブル3450を参照して行う判定についての説明を記載している。
試合状況3451は、試合状況を示す。試合の最終結果、試合の途中経過、特定イニングの試合状況、大量得点または大量失点などである。
回答速度3452は、アンケートを表示してから回答ボタンを選択するまでの時間を示す。例えば、1分以内に選択された場合は「早い」と判断し、選択までに5分以上かかった場合は「遅い」と判断する。なお、「−」は、回答を取得しなかった場合を示し、回答速度3452として「−」が設定されているレコードは、ユーザからの回答が取得できなかった場合の回答状況からの満足度を判定するために用いる。すなわち、アンケート実行部204は、回答補完テーブル3420を用いて回答を補完し、さらに、回答状況から満足度を判定する。
点数3453は、アンケートの回答状況から判断した満足度を示す点数である。
説明3454は、試合状況3451で示される試合状況において、ユーザがアンケートの回答ボタンを選択するまでの時間が回答速度3452で示す速さ、「早い」または「遅い」、である理由として推測されるものを示す。また、試合状況3451で示される試合状況において、ユーザがアンケートの回答ボタンを選択しなかった理由として推測されるものを示す。すなわち、ユーザがアンケートの回答ボタンを選択した場合、または、回答しなかった場合に、回答状況の満足度を点数3453で示される点数とする理由の説明である。
試合状況3451として「贔屓チームが劣勢」が設定され、回答速度3452として「早い」が設定されているレコードには、点数3453として「+1」、コメント3454として「次イニングに期待している?」と設定されている。これは、贔屓チームが劣勢である状況において、アンケート画面表示後すぐに回答ボタンが選択されたので、ユーザは次のイニングこそは得点してくれるだろうと期待していると推測できる。従って、ユーザは試合に満足はしていないが、楽しんでいると思われるので、回答状況による満足度を1点とする。
また、試合状況3451として「贔屓チームが劣勢」が設定され、回答速度3452として「−」が設定されているレコードには、点数3453として「−1」、コメント3454として「次イニングに期待してい
る?」と設定されている。これは、贔屓チームが劣勢である状況において、アンケートに回答しなかったので、ユーザは次のイニングこそは得点してくれるだろうと期待しているが少しは不満を持っていると推測できる。従って、回答状況による満足度を−1点とする。
試合状況3451として「贔屓チームが優勢」が設定され、回答速度3452として「早い」が設定されているレコードには、点数3453として「+10」、コメント3454として「結構満足してる?」と設定されている。これは、贔屓チームが優勢である状況において、アンケート画面表示後すぐに回答ボタンが選択されたので、ユーザは結構満足していると推測できる。従って、回答状況によるユーザの満足度を10点とする。
また、試合状況3451として「贔屓チームが優勢」が設定され、回答速度3452として「−」が設定されているレコードには、点数3453として「+7」、コメント3454として「結構満足してる?」と設定されている。これは、贔屓チームが優勢である状況において、アンケートへの回答ボタンが選択されなかったので、ユーザは結構満足しているが回答ボタンを選択するほど満足はしていないと推測できる。従って、回答状況によるユーザの満足度を7点とする。
実施形態では、「劣勢」、「優勢」とは、得点数が多いか少ないかをいうものとする。すなわち、贔屓チームが優勢の場合とは、贔屓チームの得点数が相手チームの得点数よりも多い場合、すなわち、勝っている場合をいい、贔屓チームが劣勢の場合とは、贔屓チームの得点数が相手チームの得点数より少ない場合、すなわち、負けている場合をいう。なお、2点以上の点差がある場合に「劣勢」、「優勢」とすることとしてもよく、適時、適切な値を採用することとしてもよい。
図19に、ユーザアンケート結果テーブル3460の構成例及びその内容例を示す。ユーザアンケート結果テーブル3460は、アンケートへの回答内容を管理するためのテーブルであり、1試合ごとに1テーブルが作成される。そして、ユーザアンケート結果テーブル3460には、1ユーザにつき1レコードが登録される。
ユーザアンケート結果テーブル3460は、ユーザID3461、贔屓チーム3462、第1イニング3463、第2イニング3464、第3イニング3465を含んで構成される。
ユーザID3461は、複数のユーザから個々のユーザを特定し区別するためのユーザ識別子である。ユーザアンケート結果テーブル3460が管理する試合を観戦し、且つ、贔屓チーム選択画面1026(図9参照)に回答したユーザのユーザIDを示す。ユーザが贔屓チーム選択画面1026に回答すると、ユーザアンケート結果テーブル3460にそのユーザのユーザIDがユーザID3461として設定されたレコードが追加される。
贔屓チーム3462は、ユーザID3461で示されるユーザの贔屓チーム、すなわち、贔屓チーム選択画面1026で選択されたチームを示す。
第1イニング3463は、第1イニング3463等は、「回答内容」及び「回答状況」から成る。「回答内容」は、第1イニングの終了直後に行われたアンケートの回答に対する満足度の点数を示す。具体的には、アンケート回答画面1024(図8参照)で選択された回答、または、回答補完テーブル3420を用いて補完した回答に対応した点数(図15の回答点数テーブル3410参照)が、アンケート実行部204によって設定される。「回答状況」は、第1イニングの終了直後に行われたアンケートの回答状況から判断された満足度を示す。具体的には、アンケート時の状況が、満足度判定テーブル3450の試合状況3451および回答速度3452に該当する場合は、点数3453として設定されている値が設定され、該当しない場合には、「0」が設定される。アンケート実行部204が、回答が行われた時の状況等から、満足度判定テーブル3450等を参照して、点数を決定する。
第2イニング3444は、第2イニングの終了直後に行われたアンケートの回答内容および回答状況を示し、第3イニング3445は、第3イニングの終了直後に行われたアンケートの回答内容および回答状況を示す。図19では、第4イニング以降の欄を省略して記載しているが、実際には、試合が終了するまでのイニングが登録される。
<満足度の求め方> ここで、満足度の求め方について説明する。
基本的には、試合が終了した時点で、すなわち、通常は9イニング、延長があれば最終イニングのアンケートの回答を取得したときに、ユーザアンケート結果テーブル3460の第1イニング3463から最終イニングまでの回答内容および回答状況として設定されている点数の合計点を算出する。また、試合途中で「アンケート終了」ボタン1025が選択されてアンケートが中止された場合は、その時点までの点数の合計を算出する。この合計点が、アンケートから求めた満足度となる。
すなわち、アンケートへの回答内容が示すユーザの満足度と、回答がなされた状況から判定したユーザの満足度とを合わせて、イニングごとのユーザの満足度とし、全イニングの満足度を合計した点数を、試合に対するユーザの満足度とする。言い換えれば、回答状況の点数の合計が示す満足度を、回答内容が示す満足度で修正して、試合に対するユーザの満足度を求める。実施形態では、回答内容が示す満足度と回答状況から判断した満足度とを合わせてユーザの満足度としているが、これに限られない。例えば、回答状況から判断した満足度のみを用いて、ユーザの満足度としてもよく、また、回答内容が示す満足度と回答状況から判断した満足度との重み付けを変えてもよい。
そして、満足度修正テーブル3430に示す修正要件を満たす場合には、アンケートの回答内容および回答状況から求めた満足度を修正して、最終的な満足度とする。修正要件を満たさない場合には、アンケートの回答内容および回答状況から求めた満足度が最終的な満足度となる。実施形態では、「アンケート終了」ボタン1025が選択された場合に、満足度を修正するものとする。
例えば、贔屓チームが大量失点した10分後に、スタジアムの外で「アンケート終了」ボタン1025が選択された場合は、アンケートの回答内容から求めた満足度を0点とするなどである。
実施形態では、まず、イニングごとの満足度を、アンケートへの回答および回答状況から求め、その合計点を、ユーザの試合に対する満足度とするが、試合の展開次第では、それまでの対戦に対する満足度が覆る場合がある。そのような場合に、一旦求めた満足度を修正することで、より正確な満足度を求めることとしている。
<動作> 以下、ゲームサーバシステム1のゲーム制御処理について説明する。図20は、ゲーム制御処理のフローチャートである。フローチャートにおいて、破線の矢印は装置間のデータの送受信を示す。
ユーザは、野球形式のデジタルカードゲーム(以下、「野球ゲーム」という。)をプレイするために、ユーザ端末装置10の操作部103を操作して、野球ゲームの開始を指示する操作を行う。
ユーザの操作を検出した操作部103は、検出した操作をゲーム制御部101に通知する。操作部103から操作を通知されたゲーム制御部101は、野球ゲームの開始指示であると判断し、通信部104を介してゲームサーバ装置20に、ユーザIDを送信するとともに野球ゲームの開始を指示する(ステップS10)。
ゲームサーバ装置20において、野球ゲームのプレイを開始する旨の指示を、通信部207を介して受信したゲーム進行制御部201は、必要に応じてユーザ端末装置10と通信しながらログイン処理を行い、野球ゲームの開始処理を行う(ステップS20)。
ゲームの開始処理を行ったゲーム進行制御部201は、受信したユーザIDを端末位置取得部202に渡して、ログインしたユーザ端末装置10の現在位置の取得を依頼する。以下、受信したユーザIDを「ログインユーザID」といい、ログインユーザIDが示すユーザを「ログインユーザ」というものとする。
依頼を受けた端末位置取得部202は、渡されたログインユーザIDのユーザ端末装置10から現在位置を取得する。端末位置取得部202は、具体的には、ログインユーザのユーザ端末装置10に対して現在位置の要求を行う。要求を受けたユーザ端末装置10のゲーム制御部101は、現在位置検出部105から現在位置の緯度経度を取得し、取得した緯度経度を現在位置情報としてゲームサーバ装置20に送信する(ステップS11)。ゲームサーバ装置20の端末位置取得部202は、ユーザ端末装置10から現在位置情報を受信する(ステップS21)。端末位置取得部202は、受信した現在位置情報をゲーム進行制御部201に渡す。
ユーザ端末装置10の現在位置情報を渡されたゲーム進行制御部201は、渡された現在位置情報を存在判定部203に渡して、ユーザ端末装置10のユーザがスタジアム観戦中か否かの判定を依頼する。
依頼を受けた存在判定部203は、渡された現在位置情報に基づいて、ログインユーザがスタジアム観戦中か否かの判定を行う(ステップS22)。ここで、スタジアム観戦中か否かの判定処理(所在判定処理)の詳細を、図21を用いて説明する。
図21は、スタジアム観戦中か否かの判定処理(所在判定処理)のフローチャートである。
存在判定部203は、ゲーム進行制御部201から渡された現在位置情報で示される位置が、いずれかのスタジアム内の位置であるか、すなわち、現在位置情報を送信してきたユーザ端末装置10のユーザ、すなわち、ログインユーザがスタジアムにいるかいないかを判断する(ステップS30)。具体的には、存在判定部203は、イベント情報記憶部3300のイベント情報テーブル3310をデータ管理部208を介して読み出す。そして、存在判定部203は、イベント情報テーブル3310から、渡された現在位置情報で示される位置が含まれる緯度経度の領域が、位置3312として設定されているレコードを検索する。該当するレコードが検出された場合に、存在判定部203は、ログインユーザがスタジアム内にいると判定する。例えば、現在位置情報が(35.705000、139.200000)である場合は、位置3312として「(35.706451、139.751104)(35.704700、139.152799)」が設定されているレコード、すなわち、場所名称3311として「Aスタジアム」が設定されたレコードが検出される。
レコードが検出された場合(ステップS30:Yes)、存在判定部203は、次に、ログインユーザがいるスタジアムにおいてイベント開催中であるか否かを判断する(ステップS31)。具体的には、存在判定部203は、まず、タイマー207から現在の日時を取得する。そして、イベント情報テーブル3310から検出したレコードから、開催日時3314として設定されている開催期間に現在の日時が入っているレコードを検索する。現在の日時が入っている開催期間が開催日時3314として設定されているレコードが検出された場合、存在判定部203は、イベント開催中であると判断する。例えば、現在の日時が2012年5月6日の15時である場合、場所名称3311として「Aスタジアム」が設定されたレコードのうち、開催日時3314として「2012/5/6 14:00−17:00」が設定されているレコードが検出される。
レコードが検出された場合、すなわち、ログインユーザがいるスタジアムでイベント開催中であると判断した場合、存在判定部203は、ログインユーザがイベント観戦中である旨をゲーム進行制御部201に通知する(ステップS32)。この際、存在判定部203は、ステップS31において検出したレコード(以下、「イ
ベント情報レコード」という。)をゲーム進行制御部201に渡し、処理を終了する。以下、「レコードを渡す」とは、参照するレコードを指定することを意味し、レコードが更新された場合には、更新後の内容にアクセスするものとする。
一方、ステップS30においてログインユーザはスタジアムにいないと判断した場合(ステップS30:No)、または、ステップS31においてイベント開催中でないと判断した場合(ステップS31:No)、存在判定部203は、ログインユーザがイベント観戦中ではない旨をゲーム進行制御部201に通知し(ステップS33)、処理を終了する。
これで、図20のステップS22の判断処理が終了する。図20のステップ22において、存在判定部203からログインユーザがスタジアム観戦中である旨の通知を受けた場合(ステップS22:Yes)、ゲーム進行制御部201は、アンケート実行部204にイベント情報レコードを渡して、アンケート処理の開始を依頼する。また、ゲーム進行制御部201は、イベント経過情報取得部210がイベントの経過情報の取得を行っていない場合には、取得の開始を依頼する。
依頼を受けたアンケート実行部204は、まず、ログインユーザが贔屓チームを登録済みか否かを判断する(ステップS23)。具体的には、アンケート実行部204は、ユーザアンケート結果テーブル3440から、ログインユーザIDがユーザID3441として設定されたレコードを検索し、該当するレコードが検出された場合は、ログインユーザは贔屓チームを登録済みであると判断し、該当するレコードを検出できなかった場合は、ログインユーザは贔屓チームを登録していないと判断する。
ログインユーザが贔屓チームを登録していない(ステップS23:No)と判断したアンケート実行部204は、贔屓チーム選択画面1026(図9参照)をユーザ端末装置10に送信し、ログインユーザから贔屓チームを取得する(ステップS24)。具体的には、アンケート実行部204は、ゲーム進行制御部201から渡されたイベント情報レコードのイベント内容3313として設定されているイベントの内容から試合を行っているチームを読み出し、選択エリア1028にこれら2つのチーム名を選択肢として表示させた贔屓チーム選択画面1026を作成し、ユーザ端末装置10に送信する。
贔屓チーム選択画面1026を受信したユーザ端末装置10のゲーム制御部101は、出力部102に贔屓チーム選択画面1026を表示する。ユーザ端末装置10の操作部103は、ユーザが選択した選択エリア1028の選択肢を検出してゲーム制御部101に通知し、ゲーム制御部101は選択された選択肢をゲームサーバ装置20に送信する(ステップS12)。選択肢を受信したゲームサーバ装置20のアンケート実行部204は、選択肢が示すチーム名を贔屓チーム3442として設定し、ログインユーザIDをユーザID3441として設定したレコードを、ユーザアンケート結果テーブル3440に追加し、ログインユーザの贔屓チームの登録が完了した旨を、ゲーム進行制御部201に通知する。
ログインユーザの贔屓チームの登録が完了した旨の通知を受けた場合、または、ステップ22において、存在判定部203からユーザがスタジアム観戦中ではない旨の通知を受けた場合(ステップS22:No)、または、ステップ23において、ログインユーザの贔屓チームが登録済みであった場合(ステップS23:Yes)に、ゲーム進行制御部201は、ログインユーザのトップページ(ユーザページ)(図6参照)を作成する。そして、ゲーム進行制御部201は、作成したページをログインユーザのユーザ端末装置10に送信し、野球ゲームを開始する。その後は、ユーザ端末装置10とゲームサーバ装置20とが通信を行いながら、ログインユーザの操作に応じて野球ゲームを実行する(ステップS13、ステップS25)。
野球ゲームを実行しているゲーム進行制御部201は、ゲーム実行中(ステップS25)にイベント経過情報取得部210からイニングが終了した旨の割り込みを受けると(ステップS26:Yes)、アンケート実行部204にアンケートの実施を依頼する。
依頼を受けたアンケート実行部204は、ユーザ端末装置10に対しアンケート処理を行う(ステップS27、ステップS14)。アンケート実行部204からアンケート処理が終了した旨の通知を受けると、ゲーム進行制御部201は、ゲームの処理を続行する。ここで、アンケート処理の詳細を、図22を用いて説明する。
図22は、アンケート処理のフローチャートである。
ゲーム進行制御部201からアンケート実施の依頼を受けたアンケート実行部204は、アンケート回答画面1024(図8参照)を作成し、ログインユーザのユーザ端末装置10に送信する(ステップS50)。アンケート回答画面1024を受信したユーザ端末装置10のゲーム制御部101は、出力部102に表示する(ステップS40)。ユーザ端末装置10の操作部103は、ユーザが回答ボタン又は「アンケート終了」ボタン1025をユーザが選択したことを検出した場合は、選択されたボタンをゲーム制御部101に通知する。ゲーム制御部101は選択された選択ボタンをゲームサーバ装置20に送信し(ステップS41)、アンケート回答画面1024を消去して、元のゲーム画面を表示する。
ステップS50において、アンケート回答画面1024をユーザ端末装置10に送信したアンケート実行部204は、送信したアンケートが最終イニングに対するアンケートの場合は(ステップS51:Yes)、タイマー207に所定の待ち時間として、60分のカウントを依頼する(ステップS53)。また、最終イニングに対するアンケートではない場合は(ステップS51:No)、所定の待ち時間として、15分のカウントを依頼する(ステップS52)。
アンケート実行部204は、ログインユーザの回答をユーザ端末装置10から受信する前に、所定の待ち時間が経過した場合(ステップS54:Yes)は、ユーザ端末装置10に対してアンケート回答画面1024を消去する旨の指示を出す。ユーザ端末装置10のゲーム制御部101は、消去する旨の指示を受信すると、アンケート回答画面1024を消去して、元のゲーム画面を表示する。
ユーザ端末装置10のアンケート回答画面1024の消去指示を出したアンケート実行部204は、イベント経過情報取得部210から試合状況を取得し、取得した試合状況に応じて、回答を推定する(ステップS55)。この際、アンケート実行部204は、回答補完テーブル3420(図16参照)を参照する。
そして、アンケート実行部204は、回答による満足度を求めて保存する(ステップS56)。具体的には、アンケート実行部204は、推定した回答に応じた点数を、回答点数テーブル3410を参照して求め、求めた点数を回答内容から求めた満足度の点数として保存する。詳細には、ログインユーザIDがユーザID3441として設定されているユーザアンケート結果テーブル3460のレコードに、該当イニング、例えば、第3イニング終了後のアンケートを行った場合には、第3イニング3465の「回答内容」として設定する。また、アンケート実行部204は、満足度判定テーブル3450(図18参照)を参照して、イベント経過情報取得部210から取得した試合状況を基に、点数を求め、回答状況から求めた満足度の点数として保存する。詳細には、ログインユーザIDがユーザID3441として設定されているユーザアンケート結果テーブル3460のレコードに、該当イニング、例えば、第3イニング終了後のアンケートを行った場合には、第3イニング3465の「回答状況」として設定する。
一方、アンケート実行部204は、所定の待ち時間が経過する前に、ログインユーザが選択したボタン(回答)をユーザ端末装置10から受信した場合(ステップS54:No)には、ボタンが回答ボタンであるか「アンケート終了」ボタン1025であるかを判断する(ステップS57)。ログインユーザが選択したボタンが回答ボタンである場合(ステップS57:No)、アンケート実行部204は、回答による満足度を求めて保存する(ステップS58)。具体的には、ユーザが選択した回答に応じた点数を、回答点数テーブル3410を参照して求め、求めた点数を、回答内容から求めたユーザの満足度の点数としてユーザアンケート結果テーブル3460に保存し、イベント経過情報取得部210から取得した試合状況を基に、満足度判定テーブル3450を参照して、点数を求め、回答状況から求めたユーザの満足度の点数としてユーザアンケート結果テーブル3460に保存する。
ステップS56またはステップS58において、ログインユーザの回答結果を保存したアンケート実行部204は、試合が終了したか否かをイベント経過情報取得部210に問い合わせ(ステップS59)、未だ終了していない場合はアンケート処理を終了し(ステップS59:No)、ゲームの実行処理を続ける(図20のステップS25参照)。
試合が終了している場合(ステップS59:Yes)、アンケート実行部204は、ステップ60からの処理を行う。
ステップS57において、ログインユーザが選択したボタンが「アンケート終了」ボタン1025である場合、アンケート実行部204は、ログインユーザIDのユーザ端末装置10の現在位置を端末位置取得部202から取得し、取得した現在位置およびイベント情報レコードを存在判定部203に渡してスタジアム内に居るのか、スタジアムの外に居るのかの判定を依頼する。このイベント情報レコードには、ログインユーザが観戦しているスタジアムを示す情報が含まれており、アンケート実行部204は、イベント情報レコードを渡すことでスタジアムを指定する。依頼を受けた存在判定部203は、現在位置が、イベント情報レコード(図14のイベント情報テーブル3310参照)の位置3312で示される矩形に入っている場合は、ログインユーザはスタジアム内に居ると判定し、矩形に入っていない場合は、ログインユーザはスタジアムの外にいると判定する(ステップS60)。
次に、アンケート実行部204は、タイマー207から現在時刻を取得し(ステップS61)、ゲーム進行制御部201に、ログインユーザのアンケートを中止する旨を通知する(ステップS62)。
ステップS62でアンケートの中止を通知した場合(ステップS62)、または、ステップS59において試合が終了していると判断した場合(ステップS59:Yes)、アンケート実行部204は、終了ボタンが選択されたか否か、ステップS57で求めたログインユーザの位置(スタジアム内に居るのか外に居るのか)、ステップS58で求めた現在時刻、および、イベント経過情報取得部210から取得した試合状況を満足度算出部205に渡して、満足度の算出を依頼する。依頼を受けた満足度算出部205は、満足度を算出する。ここで、満足度算出処理(ステップS63)を、図23を用いて説明する。
図23は、満足度算出処理のフローチャートである。
依頼を受けた満足度算出部205は、アンケート実行部204から渡された情報、具体的には、終了ボタンが選択されたか否か、ログインユーザがスタジアム内に居るのか外に居るのか、現在時刻、および、試合状況を基に、満足度修正テーブル3430(図17参照)を参照し、満足度を算出する。
具体的には、満足度算出部205は、終了ボタンが選択(押下)されている場合(ステップS70:Yes)には、贔屓チームが大量失点したか否かを試合状況から判断する(ステップS71)。贔屓チームが大量失点したと判断した場合(ステップS71:Yes)、満足度算出部205は、現在時刻が、大量失点した時刻から10分以内
か否かを判断する(ステップS72)。現在時刻が、大量失点した時刻から10分以内である場合(ステップS72:Yes)、満足度算出部205は、ユーザがスタジアムの外に居る場合(ステップS73:Yes)には満足度を0点とし(ステップS74)、ユーザがスタジアムの内に居る場合(ステップS73:No)には、修正点数「−10」を作業メモリに記憶する(ステップS84)。
ステップS70において終了ボタンが選択(押下)されていない場合(ステップS70:No)、または、ステップS71において贔屓チームが大量失点していないと判断した場合(ステップS71:No)、満足度算出部205は、試合が終了しているか否かを試合状況から判断する(ステップS75)。試合が終了している場合(ステップS75:Yes)には、満足度算出部205は、贔屓チームが勝利したか否かを試合状況から判断する(ステップS76)。なお、ステップS70において終了ボタンが選択(押下)されておらず(ステップS70:No)、試合が終了している場合(ステップS75:Yes)とは、最後のイニングに対するアンケートで回答ボタンを選択した場合であり、試合が終了していない場合(ステップS75:No)とは、贔屓チームは大量失点していないが、試合途中で終了ボタンを選択した場合である。
ステップ76において、贔屓チームが勝利したと判断した場合(ステップS76:Yes)、満足度算出部205は、現在時刻が、試合終了後10分以後30分以内であるか否かを判断する(ステップS77)。現在時刻が、試合が終了後10分以後30分以内である場合(ステップS77:Yes)、満足度算出部205は、ユーザがスタジアムの内に居る場合(ステップS78:Yes)には満足度を100点とする(ステップS79)。
ステップS70において終了ボタンが選択されておらず試合が終了していない場合(ステップS70:No、ステップS75:No)、ステップS72において贔屓チームが大量失点した時刻から10分以内ではないと判断された場合(ステップS72:No)、ステップS73においてユーザはスタジアム内に居る場合(ステップS73:No)には、アンケートの回答内容および回答状況を用いた満足度を算出する。また、ステップS76において贔屓チームが勝利しなかったと判断された場合(ステップS76:No)、ステップS77において現在時刻が、試合終了後10分以後30分以内でないと判断された場合(ステップS77:No)、ステップS77においてユーザがスタジアムの外に居る場合(ステップS78:No)には、アンケートの回答内容および回答状況を用いた満足度を算出する。
具体的には、満足度算出部205は、ログインユーザIDがユーザID3461として設定されているユーザアンケート結果テーブル3460(図19参照)のレコードの、第1イニング3463等の「回答状況」として設定されている点数を読み出し、設定されているイニングすべてについての合計値を算出する(ステップS80)。また、そのレコードの、第1イニング3463等の「回答内容」として設定されている点数を読み出し、設定されているイニングすべてについての合計値を算出する(ステップS81)。試合途中で「アンケート終了」ボタン1025が選択された場合には、アンケート実行部204は、回答されているイニングについてのみ合計点を算出する。
次に、満足度算出部205は、「回答状況」の合計点数と、「回答内容」の合計点数とを合計して、満足度を求める(ステップS82)。さらに、満足度算出部205は、作業メモリに修正点数が記憶されている場合には、記憶されている修正点数で満足度を修正して、最終的な満足度を求める(ステップS83)。例えば、作業メモリに「−10」と記憶されている場合は、ステップS81で求めた満足度から10点減算して、最終的な満足度とする。
ステップS74またはステップS78またはステップS82において、最終的な満足度を求めた満足度算出部205は、求めた満足度をアンケート実行部204に渡す。
これで、図22のステップS63の満足度算出処理が終了する。図22のステップ63において、満足度を算出したアンケート実行部204は、満足度算出部205から渡された満足度とログインユーザIDを特典付与部206に渡し、特典の付与を依頼する。
依頼を受けた特典付与部206は、特典情報テーブル3210(図13参照)を参照し、算出した満足度に応じた特典を付与する(ステップS64)。具体的には、特典付与部206は、受け取った満足度が、特典情報テーブル3210(図13参照)の満足度3211が示す値の範囲に該当するレコードの、特典アイテム3212設定されている特典を読み出す。そして、読み出した特典をプレゼント3121として設定し、タイマー207から取得した本日の日付を付与日3122として設定し、本日から1か月後の日付を有効期限3123として設定し、イベント情報レコードに基づいて作成した「Aスタジアム観戦、アンケート報酬」をコメント3124として設定したレコードを、ログインユーザのプレゼントボックス情報テーブル3120(図12参照)に追加する。特典を付与した特典付与部206は、特典を付与した旨をアンケート実行部204に通知する。アンケート実行部204は、アンケート実行処理が終了した旨をゲーム進行制御部201に通知する。
これで、図20のステップS14およびステップS27のアンケート処理が終了する。
図20のステップ15において、ログインユーザが、ユーザ端末装置10の操作部103を操作して、ゲームの終了操作を行う。ユーザの操作を検出した操作部103は、検出した操作をゲーム制御部101に通知する。操作部103から操作を通知されたゲーム制御部101は、ゲームの終了の指示であると判断し(ステップS15:Yes)、通信部104を介してゲームサーバ装置20に、ユーザIDを通知するとともにゲーム終了指示を送信する(ステップS16)。ゲーム終了指示を送信したゲーム制御部101は、ゲームの終了処理を行う(ステップS17)。一方、ゲームの終了指示を受信したゲームサーバ装置20のゲーム進行制御部201は、ゲームの終了処理を行う(ステップS28)。
実施形態では、アンケートは試合中に行うこととしているが、試合開始前に行ってもよい。例えば、試合開始2時間前にスタジアム内でログインされた場合には、試合前の練習を視察したか否か、贔屓チームの選手の調子の具合などをアンケートで回答してもらうなどである。視察したユーザは、かなり熱心であることが想定されるので、贔屓チームが試合に負けたときの満足度をより低くしたり、特典を追加するなどしてもよい。
また、実施形態では、アンケート実行部204は、アンケート回答画面1024を表示することで、ユーザにアンケートへの回答を促すこととしているが、ユーザが、ユーザ端末装置10に表示されているアンケート画面に気が付かなかったり、アンケート画面が表示されていることには気付いてはいるが、回答を忘れたり、面倒がって回答しないことも考えられる。従って、例えば、音や振動によって、ユーザにアンケートが表示されていることを認識させたり、回答を促すこととしてもよい。図24に示すように、アンケート回答画面1024がユーザ端末装置10に表示されると、「今の気持ちを教えて!」などと、アナウンス(音声)が流れたり、振動が発生する、贔屓チームの応援歌などの楽曲が流れる等であってもよい。また、回答ボタンが選択されるまで繰り返し応援歌が流れるなどであってもよい。
アナウンスを流す場合は、例えば、図22のステップS50の処理において、ゲームサーバ装置20のアンケート実行部204は、アンケート回答画面1024の画面データをユーザ端末装置10に送信する際に、「今の気持ちを教えて!」の音声データを画面データとともに送信する。そして、ステップS40の処理において、アンケート回答画面1024を受信したユーザ端末装置10のゲーム制御部101は、出力部102にアンケート回答画面1024を表示するとともに、音声データを再生する。また、振動を発生させる場合は、ゲームサーバ装置20のアンケート実行部204は、振動のリズム、大きさ、発生期間(例えば、5秒間)等の振動情報を、アンケート回答画面1024とともにユーザ端末装置10に送信し、ユーザ端末装置10のゲーム制御部101は、振動情報に応じた振動を発生させる。また、楽曲を流す場合は、ゲームサーバ装置20のアンケート実行部204は楽曲の音声データをアンケート回答画面1024とともに送信し、ユーザ端末装置10のゲーム制御部101はアンケート回答画面1024の表示とともに楽曲を繰り返し再生し、回答ボタンが選択されるかタイムアウトになったときに、楽曲の再生を停止するなどである。なお、アナウンス、振動、応援歌を流すなどのうち、何れか1つを行っても、組み合わせて行ってもよい。例えば、「今の気持ちを教えて!」の音声データを流し、その後、回答ボタンが選択されるまで応援歌を流す等である。このようにすることで、ユーザがアンケートに回答する機会が増えて、ユーザがイベントに対する思いをアンケートという形で表現する機会が増えるので、ユーザのイベントに対するより正確な満足度を求めることが可能となる。
この場合、図18に示した満足度判定テーブル3450における回答速度3452は、アナウンス等を行ってから、また、楽曲を繰り返し流す場合は楽曲を流し始めてから、ユーザが回答ボタンを選択するまでの時間を示すこととなり、例えば、20秒以内に選択された場合は「早い」と判断し、選択までに1分以上かかった場合は「遅い」と判断する。
また、実施形態では、アンケートを終了させるための指示は、ユーザがアンケート回答画面1024の「アンケート終了」ボタン1025を選択することで指示することとしているが、アンケート回答画面1024が表示されていないときでも、終了を指示できるようにしてもよい。例えば、アンケート実施中には、トップページ(図6参照)にアンケート終了ボタンを設ける等である。この場合、図20のフローチャートのステップS25において、アンケート終了ボタンが選択されたことを検出したゲーム進行制御部201は、アンケート実行部204に通知し、アンケート実行部204は、図22のフローチャートのステップS60以降の処理を行う。