以下、本発明の実施の形態によるゲームシステムについて説明する。
<実施形態1>
<ゲームシステムの構成>
図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-Luminescence)ディスプレイ、及び、プラズマディスプレイ等のディスプレイ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内のログイン制御部2011により生成される。
このトップページは、各ユーザに応じて異なり、ユーザ名やユーザのチーム名が表示されている。このトップページは、データ表示領域とメニュー表示領域に大別され、データ表示領域には、ユーザデータ表示領域および選手画像表示領域が含まれている。
ユーザデータ表示領域には、対象ユーザに関するゲーム上の情報、例えば、技能レベル、行動ポイント、運営ポイント、強化ポイント、エールポイント、所有している選手数、及び仲間に関する情報が表示される。なお、ユーザデータ表示領域に表示される情報のうち、X/Yの形式で表記されている情報は、Xがユーザの保有するポイント又は数を示し、Yがそのポイント又は数の最大値を示す。例えば、選手数が“40/60”と表記されていれば、ユーザが現在所持している選手数が40人であり、所有可能な最大の選手数が60人であることを示す。
選手画像表示領域には、ユーザによって予め選択された選手カードの画像データが表示される。
メニュー表示領域には、“スカウト”、“強化”、“試合”、“抽選”、“オーダー”、“アイテム”、“位置限定ゲーム”と表記された各メニューm1〜m7が表示さている。メニューm1〜m7は、それぞれ、スカウトモード、強化モード、試合モード、抽選モード、オーダー処理、アイテム処理、及び位置限定ゲームモードに対応している。なお、処理もゲームモードの1つである。
・スカウトモードは、ユーザが自身のチームを作り上げていくために選手カードを所定の地域毎に探索し、収集するためのゲームモードである。ユーザによりスカウトモードがプレイされると、ユーザが所持する行動ポイントのうち所定ポイントが消費され、その対価として選手カードがユーザに付与され、付与された選手カードが持つ能力値に応じてユーザの強化ポイントが増加される。
・強化モードは、2枚以上の選手カードを一体化して特定の選手カードの能力値を上昇させるゲームモードである。ユーザにより強化モードがプレイされると、ユーザが所持する強化ポイントのうち所定ポイントが消費され、その対価として、特定の選手カードの能値が向上する。
・試合モードは、ユーザが自身のチームを他のユーザのチームと対戦させるゲームモードである。ユーザにより試合モードがプレイされると、運営ポイントのうち所定ポイントが消費され、その対戦に勝利すれば強化ポイントが所定ポイント増加される。
・抽選モードは、抽選によって選手カードをユーザに付与するゲームモードである。ユーザにより抽選モードがプレイされると、エールポイントのうち所定ポイントが消費されて抽選処理が実行され、予め定められた複数枚の選手カードの中から1枚の選手カードが選択され、ユーザに付与される。
・オーダー処理は、ユーザがスターティングメンバーとなる選手の選手カードの打順を入れ替えたり、控え選手の選手カードをスターティングメンバーの選手の選手カードと入れ替えたりするための処理である。ユーザによりオーダー処理が選択されると、ユーザは操作入力に応じて選手カードの打順を入れ替えたり、控え選手の選手カードをスターティングメンバーに加えたりできる。
・アイテム処理は、ユーザがゲーム上保有しているアイテムの内容を確認するための処理である。アイテム処理がユーザにより選択されると、対象ユーザが所持する選手カードに関する情報がディスプレイ16aに一覧表示される。
・位置限定ゲームモードは、ユーザがプレイすることができる期間が限定されたゲームモードである。このメニューm7”位置限定ゲーム”のボタン(ゲーム選択部に相当)は、現実世界のスタジアムに実際に足を運び、所定の野球の試合を観戦したユーザのトップページにのみ表示される。すなわち、この位置限定ゲームモードをプレイすることができるのは、現実世界のスタジアムで試合を観戦したユーザのみということになる。ユーザは、スタジアムで野球観戦を楽しむと同時に、この位置限定ゲームに参加する権利を取得することができる。また、実施形態では、位置限定ゲームに参加し、また高得点を上げたユーザには、特典が付与される。ユーザは、この位置限定ゲームを楽しむことに加え、位置限定ゲームに参加することや、位置限定ゲームで高得点を挙げることで、自身のチームを強化するための種々の特典を特別に得ることができる。
なお、上記では、メニューm7”位置限定ゲーム”は、現実世界のスタジアムに実際に足を運び、所定の野球の試合を観戦したユーザのトップページにのみ表示されるとしたが、別の態様としては、スタジアムに行っているか否かには関わらず、トップページには、メニューm7”位置限定ゲーム”を常に表示されるようにしておき、条件を満足したときにのみ、同メニューがアクティブとなり、そのメニューのボタンを押すことで(メニューを選択することで)位置限定ゲームに移行できるようにしてもよい。すなわち、ユーザがスタジアム外にいる場合は、メニューm7”位置限定ゲーム”のボタンを押しても反応しないか、あるいは、条件を満足していない旨のメッセージ、例えば、「スタジアム観戦以外ではエントリーできません。」を表示するようにしてもよい。この構成においては、ユーザに対して、位置限定ゲームの存在を意識づけることができ、位置限定ゲームへの関心を喚起することになるため、誘引力のあるゲームとすることができる。
このように、ユーザは位置限定ゲームをプレイすることで、自身のチームの技能レベルや各種ポイントを効率良く上昇させることができる。そのため、位置限定ゲームモードを提供することで、ゲームサービスの提供者は、ユーザのゲームに対する興味を持続させたり、ユーザのログイン回数を増やさせてゲームの活性化を図ったりすることができる。
また、スタジアム観戦者のみを対象とした位置限定ゲームを行うので、ゲームサービスの提供者は、ユーザに、スタジアムに観戦に行こうとする動機づけを与えることができるだけでなく、ゲームと現実世界のスタジアム球団とに対する興味が相乗効果となって、長時間にわたってユーザのゲームに対する興味を持続させることが可能となる。
なお、実施形態では、ユーザ端末装置10でユーザがプレイしているゲームとして野球形式のデジタルカードゲームを例に説明していることから、現実世界においても、ゲームと関連する野球の試合を観戦することを位置限定ゲームに参加できる要件としている。しかし、ユーザ端末装置10でプレイしているゲームの内容と関連しない現実世界での試合を観戦したり、催し物などに参加したりしたことを、位置限定ゲームに参加できる要件としてもよい。以下、現実世界での試合や催し物などを総称して「イベント」という。
位置限定ゲームの一例としては、野球クイズゲーム、ミニ野球ゲーム等が挙げられる。例えば、野球クイズゲームが、観戦日から5日間開催され、毎日、野球またはスタジアム球団に関するクイズが所定数出題される。そして、ゲームに参加したり、正解の数に応じて、ポイントやカードが特典として付与される。このことにより、ユーザは、位置限定ゲームをプレイすることで、特典が貰えたことによる喜びを感じることができ、さらに、特典への期待感から位置限定ゲームへの参加権を得るために、スタジアムに足を運ぶことが楽しみとなる。
ユーザにとっては、現実世界におけるスタジアム観戦により位置限定ゲームに参加でき、そのゲーム結果に応じて特典が貰える点は、他のユーザにはないメリットであり楽しみでもある。しかし、その一方で、位置限定ゲームをプレイしている間は、他のゲームモードを行えない、あるいは両方のゲームモードを行おうとするとユーザの負荷が増大する事にもなり得る。従って、実施形態では、他のゲームモードをプレイする際に発生する不利益な状況に対する補償を行うために、位置限定ゲームの開催期間中は、他のゲームモードでプレイする場合にメリットを与える。例えば、スカウトモードでプレイする際には、探索の度合いを上げる、または、行動ポイントの消費ポイント数を少なくする、例えば、通常は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を備える。
ゲーム進行制御部201は、ユーザからの操作入力に応じてユーザ端末装置10から適宜送信される操作情報を受信し、受信した操作情報に応じてユーザ端末装置10に表示されるウェブページを適宜更新するためのデータをユーザ端末装置10に送信することで、ゲームを進行させる機能を有する。ゲーム進行制御部201は、ログイン制御部2011を有し、ログイン制御部2011は、ユーザ端末装置10のゲーム制御部101からのゲームのログイン要求(接続要求)に対し、必要に応じてユーザ認証等の処理等の処理を行う。また、ログイン制御部2011は、ログインしたユーザ用のトップページを作成する機能を有する。
図6のトップページで示すように、本デジタルカードゲームには、スカウトモード、強化モード、試合モード、抽選モード、位置限定ゲームモード等のゲームモードが含まれている。したがって、ゲーム進行制御部201は、ユーザが選択したゲームモードを進行させる。
トップページをユーザのユーザ端末装置10に表示する場合、ゲーム進行制御部201は以下の処理を行う。まず、ゲーム進行制御部201のログイン制御部2011は、データベースサーバ装置30から、ユーザデータ表示領域に含まれる各項目のデータと、選手画像表示領域に表示すべき選手カードの画像データとを読み出す。次に、ログイン制御部2011は、図6に示すトップページのデータを生成し、ゲーム進行制御部201に渡す。ゲーム進行制御部201は、ログイン制御部2011が生成したトップページを、ユーザ端末装置10に送信する。ここで生成されるデータは、ユーザごと(つまり、ユーザIDごと)に異なるものとなる。ユーザ端末装置10は、受信したデータを解釈してトップページをディスプレイ16aに表示する。
ゲーム進行制御部201は、ウェブページ上に表示される各メニューm1〜m7に、上記のゲームモードを進行させるための処理を予め割り当てている。そして、ゲーム進行制御部201は、ユーザ端末装置10においてウェブページ上のメニューがユーザにより選択されたとき、選択されたメニューについての情報をユーザ端末装置10から受信し、受信した情報に基づいて、選択されたメニューに割り当てられた処理を実行する。例えば、メニューm1の選択指示がユーザにより入力されると、ユーザ端末装置10はユーザによりスカウトモードが選択されたことを示すデータをゲーム制御装置20に送信する。そして、このデータにしたがってゲーム進行制御部201は、スカウトモードを進行するためのデータをユーザ端末装置10に適宜送信し、ユーザ端末装置10とデータを送受しながら、スカウトモードを進行させる。なお、図6に示すトップページに、メニューm7”位置限定ゲーム”を常に表示させておく仕様とする場合、ログイン制御部2011は、ログインしたユーザ用のトップページとして、メニューm7”位置限定ゲーム”が表示されたトップページを作成する。ゲーム進行制御部201は、ユーザにより位置限定ゲームモードが選択されたことを示すデータをユーザ端末装置10から受信した際に、当該ユーザの位置限定ゲームを開始する権利の有無を確認する。そして、権利を有している場合には、ゲーム進行制御部201は、位置限定ゲームを進行するためのデータをユーザ端末装置10と送受しながら、位置限定ゲームを進行させる。一方、権利を有していない場合には、ゲーム進行制御部201は、例えば、ゲームを行うことができない旨のメッセージをユーザ端末装置10に送信し、位置限定ゲームの開始は行わない。
端末位置取得部202は、ユーザ端末装置10の現在位置を取得する機能を有する。具体的には、ユーザ端末装置10に対して現在位置の位置情報を要求し、ユーザ端末装置10から送信されてくる緯度経度を位置情報として受信する。なお、ユーザ端末装置10が位置情報として無線基地局(アクセスポイント)の識別子や住所等を検出して送信してくる場合は、それらから緯度経度を求める。
存在判定部203は、端末位置取得部202が取得したユーザ端末装置10の現在位置情報と、タイマー205から取得した現在の日時とに基づいて、ユーザ端末装置10のユーザがスタジアムで野球の試合観戦中であるか否かを判定する機能を有する。具体的には、存在判定部203は、ゲームデータベース32に記憶されているイベントに関する情報から、ユーザ端末装置10の現在地の緯度経度が含まれるスタジアムを検索し、そのスタジアムで現在イベントが行われている場合に、観戦中であると判断する。
実施形態では、ユーザ端末装置10が検出した緯度経度と現在日時とをもとにスタジアムで試合の観戦中であるか否かを判定することとしているが、他の方法で判定してもよい。例えば、スタジアム内でしか知ることが出来ないパスワードをユーザ端末装置10から受信した場合には、存在判定部203はユーザがスタジアムで試合の観戦中であると判定する等である。具体的には、スタジアムのスクリーンに特定の文字列(数値を含む)のパスワードを表示し、または、場内アナウンスで報知し、ユーザがそのパスワードをユーザ端末装置10に操作部103を介して入力し、ゲームサーバ装置20の端末位置取得部202が緯度経度に代えてパスワードを位置情報として受信する。そして、受信したパスワードが予め記憶されているパスワードと同じである場合に、存在判定部203は、ユーザがスタジアムで試合の観戦中であると判定する。
また、ユーザが所定時間の間スタジアムにいた場合にのみ、スタジアム観戦中であると判断することとしてもよい。一時的に立ち寄ったり、スタジアムの近くを通過した場合に、スタジアム観戦中であると判断されることを排除するためである。この場合、存在判定部203は、スタジアムにいると判断されたら、周期的にユーザ端末装置10から現在位置を示す現在位置情報を取得してスタジアムにいるか否かを判断し、連続して所定時間の間スタジアムにいると判断された場合に、スタジアム観戦中であると判断する。この場合、存在判定部203が周期的に現在位置情報を取得する間、ユーザ端末装置10はログイン状態である必要がある。または、例えば、存在判定部203からの指示に応じてユーザ端末装置10が、所定期間の間、ゲームサーバ装置20に対して現在位置情報を周期的に送信する機能を有するものとしてもよい。
ゲーム権利付与部204は、ユーザがスタジアムで試合の観戦中であると存在判定部203が判定した場合に、そのユーザ、すなわち、そのユーザのユーザ端末装置10に位置限定ゲームへの参加権を付与する機能を有する。具体的には、ゲーム権利付与部204は、ユーザデータベース31に記憶されているそのユーザのユーザ情報に、位置限定ゲームへの参加権を有している旨の情報を追加する。ゲーム進行制御部201は、位置限定ゲームへの参加権を有している旨の情報がユーザ情報に含まれている場合には、そのユーザのトップページ(図6参照)として、メニューm7”位置限定ゲーム”が含まれたトップページを作成する。
タイマー205は、現在の日時を出力する機能を有する。このタイマー205が出力する日時に基づいて、各機能部が時間に関する処理を必要に応じて行う。例えば、存在判定部203は、ユーザが現在、スタジアム観戦中か否かの判定を行う等である。
通信部206は、図4の無線通信インタフェース部25に相当する機能部であり、ネットワークNWを介してユーザ端末装置10と通信する機能を有する。
データ管理部207は、図4のDBアクセス部24に相当する機能部であり、データベースサーバ装置30にアクセスし、ユーザデータベース31およびゲームデータベース32を管理する機能を有する。具体的には、データベースサーバ装置30が備える各記憶部へのデータの書き込み、読み込み、削除等を制御する。ゲームサーバ装置20が備える各機能部が、データベースサーバ装置30が備える各記憶部にアクセスする場合には、データ管理部207を介して行う。
なお、ゲーム制御部101〜データ管理部207は、本実施形態におけるゲーム制御プログラムに含まれ、無線通信インタフェース部25及びDBアクセス部24を制御するプログラムモジュールにより構成され、CPU21に実行されることで実現される。なお、実施形態ではゲームサーバ装置20が備えることとしている機能の一部を、ユーザ端末装置10が備えることとしてもよい。また、以下で説明するデータベースサーバ装置30が記憶しているデータの一部をユーザ端末装置10が記憶することとしてもよい。
<データベースサーバ装置>
データベースサーバ装置30は、図5に示すように、ユーザデータベース31およびゲームデータベース32で構成される。ユーザデータベース31には、ユーザ情報記憶部3100が含まれ、ゲームデータベース32には、ゲーム情報記憶部3200、イベント情報記憶部3300および位置限定ゲーム情報記憶部3400が含まれる。
<ユーザ情報記憶部>
ユーザ情報記憶部3100は、ゲームをプレイするユーザに関する情報を記憶しておく機能を有する。図8、および、図9を用いて、ユーザ情報記憶部3100に記憶されているデータについて説明する。
図8は、ユーザ情報テーブル3110の構成例及びその内容例を示す図である。ユーザ情報テーブル3110は、ゲームサーバ装置20が行うゲームをプレイするユーザを管理するためのテーブルであり、1ユーザにつき1レコードが記憶されている。
ユーザ情報テーブル3110は、項目3111で示される複数の項目を有する複数のレコードで構成される。
項目3111として、「ユーザID」、「ユーザ名/表示画像」、「位置限定ゲーム」、「チーム」、「技能レベル」、「行動ポイント」、「運営ポイント」、「強化ポイント」、「エールポイント」、「選手数」、「仲間」が登録されている。なお、図示していないが、ゲーム上保有しているアイテムの数及びアイテムの種類、スカウトモード等の各モードにおける進捗度等のゲームの状況も登録されているものとする。また、ユーザ認証に必要なパスワード等の情報も、登録されていてもよい。
「ユーザID」は、複数のユーザから個々のユーザを特定し区別するためのユーザ識別子である。
「ユーザ名」は、本デジタルカードゲームの実行時において、ユーザを特定するためにユーザ端末装置10に表示されるユーザ名についてのデータである。ユーザ名としては、例えば、ユーザによって予め指定された所定長以下のテキストデータが採用される。ユーザ名によって、ゲームサーバ装置20によって提供されるゲームコミュニティ内でユーザは特定される。
「表示画像」は、ユーザを特定するためにユーザ端末装置10に表示される表示画像表示画像についてのデータである。表示画像としては、例えばユーザによって予め選択されたアバタの画像データが採用される。
「位置限定ゲーム」は、ユーザが位置限定ゲームへの参加権を有している位置限定ゲームの識別子を示す。位置限定ゲームの識別子として、例えば「G10」が設定される。ユーザが位置限定ゲームへの参加権を有しない場合は、「−」が設定されるものとする。なお、図8では、位置限定ゲームの識別子が1つ設定されているが、複数であってもよい。
「チーム」は、本デジタルカードゲームにおいて、ユーザ登録時に、ユーザにより指定されたチームの名称である。本デジタルカードゲームでは、例えば、P1〜P6の6チームからなるPリーグと、Q1〜Q6の6チームからなるQリーグとが設けられており、ユーザはこの12チームの中からいずれかのチームをユーザ登録時に選択する。これらのリーグ構成、および、チームの名称は、現実世界の野球チームの名称と同じであってもよい。
「技能レベル」は、本デジタルカードゲームにおけるユーザの現在の技能レベルを示す。技能レベルは、例えば、1(レベル1)から100(レベル100)までの範囲で表される整数値で表される。技能レベルが高くなるにつれて技能レベルの数値が増大する。
「行動ポイント」は、本デジタルカードゲームにおいて、例えばユーザが上記のスカウトモードを実施する上で必要となるポイントである。行動ポイントの値は、スカウトモードが実施される都度、所定ポイント減少し、所定時間が経過する都度に回復(増加)する。
「運営ポイント」は、本デジタルカードゲームにおいて、例えばユーザが上記の対戦モードを行う上で必要となるポイントである。運営ポイントの値は、他のユーザとの対戦等によって減少し、所定時間が経過する都度に回復(増加)する。
「強化ポイント」は、本デジタルカードゲームにおいて、例えばユーザが上記の強化モードを実施する上で必要となるポイントである。強化ポイントの値は、選手カードの強化を行うことで減少し、他のユーザとの対戦で勝利するか、あるいは所定時間が経過する都度に回復(増加)する。
「エールポイント」は、本デジタルカードゲームにおいて、ユーザが自身の仲間となる仲間ユーザに応援メッセージを送信することでユーザに付与されるポイントである。
「選手数」は、ユーザが保有する選手カードの数である。選手数は、スカウト処理や強化処理の実行によって増減する。選手数の最大値(例えば、60)は予め規定されている。
「仲間」は、ユーザに対する仲間ユーザを特定するためのデータであり、ここでは、各仲間ユーザのユーザIDが採用されている。
ゲームサーバ装置20のゲーム進行制御部201は、トップページ(図6参照)を作成する際に、トップページを作成するユーザのユーザIDが、項目3111「ユーザID」として設定されているユーザ情報テーブル3110のレコードを参照する。
図9は、プレゼントボックス情報テーブル3120の構成例及びその内容例を示す図である。プレゼントボックス情報テーブル3120は、ゲームサーバ装置20が行うゲームをプレイするユーザのプレゼントボックスの中身を管理するためのテーブルであり、1ユーザにつき1テーブルが記憶されている。プレゼントボックス情報テーブル3120には、1プレゼントにつき、1レコードが登録されている。なお、位置限定ゲームに参加したり、高得点を上げた場合等に付与される特典は、このプレゼントボックス情報テーブル3120に登録される。
プレゼントボックス情報テーブル3120は、プレゼント3121、付与日3122、有効期限3123、および、コメント3124で構成される。
プレゼント3121は、プレゼントボックスに入っているプレゼントの内容を示す。例えば、ゲーム内で使用できるアイテムカード、ゲーム内で使用するポイントなどである。
付与日3122は、プレゼント3121で示されるプレゼントが、付与された日、すなわち、そのレコードが追加された日を示す。
有効期限3123は、プレゼント3121で示されるプレゼントの有効期限、すなわち、そのプレゼントを使用できる期限である。プレゼントには有効期限を設定し、ユーザに対して早期の積極的な活用を促している。
コメント3124は、プレゼント3121で示されるプレゼントに対するコメントを示す。例えば、プレゼントが付与された理由等が記載されている。
ユーザが、プレゼントボックスの中身を知りたい場合には、ユーザ端末装置10に所定の指示を行うことで、ディスプレイ16aにプレゼントの一覧を表示させる。なお、ユーザ端末装置10およびゲームサーバ装置20は、以下のように動作してプレゼントの一覧を表示する。
ユーザがユーザ端末装置10の操作部103を介して、プレゼントボックスの表示を指示すると、ゲーム制御部101は通信部104を介してプレゼントボックスの表示要求をゲームサーバ装置20に送信する。要求を受信したゲームサーバ装置20のゲーム進行制御部201は、そのユーザのプレゼントボックス情報テーブル3120を読み出して、プレゼントの一覧であるプレゼントボックスページを作成し、通信部206を介してユーザ端末装置10に送信する。ユーザ端末装置10のゲーム制御部101は、受信したプレゼントボックスページを出力部102に表示する。ユーザは、ユーザ端末装置10のディスプレイ16aに表示されたプレゼントボックスページを見ることで、どのようなプレゼントが、いつ、どのような理由でプレゼントされたのかを知ることができる。
<ゲーム情報記憶部>
ゲーム情報記憶部3200は、ゲームサーバ装置20によって実行されるゲームに関する情報を記憶しておく機能を有する。例えば、ゲームの設定についての情報や、各種画像データ、ゲーム結果に関する情報である。また、選手カード毎に、カードに関する情報を管理するテーブルを記憶している。このテーブルでは、カード毎に、カードの画像データ、カードを所有するユーザのユーザID、選手カードのレベル、基本能力等を登録しておき、ゲームの進行に応じて適時、更新がなされる。
<イベント情報記憶部>
イベント情報記憶部3300は、現実世界で行われるイベントの情報を記憶しておく機能を有する。図10を用いて、イベント情報記憶部3300に記憶されているデータについて説明する。
図10は、イベント情報テーブル3310の構成例及びその内容例を示す図である。イベント情報テーブル3310は、現実世界で行われるイベントを管理するためのテーブルであり、1イベントにつき1レコードが登録されている。
イベント情報テーブル3310は、場所名称3311、位置3312、イベント内容3313、開催日時3314、結果3315、および、位置限定ゲームID3316で構成される。
場所名称3311は、イベントが行われる現実世界の場所の名称を示す。実施形態では、野球の試合が行われるスタジアムの名称、例えば「Aスタジアム」などである。
位置3312は、場所名称3311で示される場所の位置を示す。実施形態では、場所を矩形で規定し、矩形の北西の角と南東の角との緯度経度が設定される。
イベント内容3313は、場所名称3311で示される場所で行われるイベントの内容を示す。実施形態では、野球の試合の対戦チームが設定される。
開催日時3314は、場所名称3311で示される場所で、イベント内容3313で示されるイベントが開催される日時(開催期間)を示す。実施形態では、野球の試合の開催日と、開始時刻と、終了予定時刻が設定される。なお、既に試合が終了している場合は、実際の終了時刻が設定される。
結果3315は、イベント内容3313で示されるイベントの結果を示す。実施形態では、野球の試合が、何対何で終了したかが設定される。まだ、試合が行われていないものについては「−」が設定されている。この試合の結果は、試合が終了したときに、オペレータによって設定されるものとする。
位置限定ゲームID3316は、場所名称3311で示される場所で、イベント内容3313で示されるイベントに行ったユーザに、参加権が付与される位置限定ゲームの識別子を示す。「無し」は、イベントに行ったとしても、参加権が付与される位置限定ゲームは無いことを示す。なお、過去の位置限定ゲームへのユーザの参加具合等に応じて、位置限定ゲームの識別子が設定されたり、変更される場合がある。
なお、実施形態では、位置3312は、場所名称3311で示される場所を矩形で規定し、ユーザ端末装置10の現在位置が矩形の中に含まれるか否かで、その場所に居るか居ないかを判断することとしているが、位置3312として、場所名称3311で示される場所の中心位置の緯度経度と半径とを記憶しておき、ユーザ端末装置10の現在位置が、その場所の中心位置と半径から示される円の中に含まれるか否かで、その場所に居るか居ないかを判断することとしてもよい。
実施形態では、位置限定ゲームID3316として、1イベントにつき1つのゲームが設定されているが、複数のゲームが設定されてもよい。この場合、例えば、トップページ(図6参照)のメニューm7”位置限定ゲーム”をユーザが選択すると、複数のゲーム名の一覧が表示されて、何れか1つのゲームをユーザが選択できるようにする。又は、選択できるゲームをトップページに表示することとしてもよい。
<位置限定ゲーム情報記憶部>
位置限定ゲーム情報記憶部3400は、位置限定ゲームに関する情報を記憶しておく機能を有する。図11、および、図12を用いて、位置限定ゲーム情報記憶部3400に記憶されているデータについて説明する。
図11は、位置限定ゲーム情報テーブル3410の構成例及びその内容例を示す図である。位置限定ゲーム情報テーブル3410は、位置限定ゲームを管理するためのテーブルであり、1ゲームにつき1レコードが登録されている。
位置限定ゲーム情報テーブル3410は、位置限定ゲームID3411、開催期間3412、ゲーム内容3413、および、特典3414で構成される。
位置限定ゲームID3411は、複数の位置限定ゲームから個々のゲームを特定し区別するための位置限定ゲーム識別子である。イベント情報テーブル3310(図10参照)の位置限定ゲームID3316には、位置限定ゲームID3411として設定されている位置限定ゲーム識別子のいずれかが設定される。
開催期間3412は、位置限定ゲームID3411で示される位置限定ゲームが、開催される期間を示す。
ゲーム内容3413は、位置限定ゲームID3411で示される位置限定ゲームの内容を示す。例えば、チームAに関する問題が出題される「チームAクイズ」である。なお、図示していないが、クイズの問題および回答等、クイズゲームを行うために必要なデータも、ゲーム内容3413として記憶されているものとする。開催期間中に毎日異なる問題を出題する場合には、日付に対応して問題が記憶されている。また、クイズ以外の他のゲームの場合は、そのゲームを行うために必要なデータが記憶されているものとする。
特典3414は、位置限定ゲームID3411で示される位置限定ゲームのプレイ結果に応じて付与される特典を示す。例えば、位置限定ゲームID3411が「G01」の位置限定ゲームでは、特典3414として「参加賞:300エールポイント 高得点者:選手カード」と設定されている。これは、このゲームに参加すれば、すなわち、ゲームをプレイすれば、得点にかかわらず、300エールポイントが貰えることを示し、開催期間終了時の高得点者、例えば、上位10000人は選手カードがもらえることを示す。
図12は、ユーザ得点情報テーブル3420の構成例及びその内容例を示す図である。ユーザ得点情報テーブル3420は、位置限定ゲームにおけるユーザの得点を管理するためのテーブルであり、位置限定ゲーム毎に1テーブルが作成される。そして、ユーザ得点情報テーブル3420には、1ユーザにつき1レコードが登録される。図12のユーザ得点情報テーブル3420は、野球クイズゲームであり、2012年5月1日〜5日まで5日間開催され、毎日異なるクイズが所定数出題されるものとする。なお、位置限定ゲームの種類に応じてユーザ得点情報テーブル3420の構成は異なる。
ユーザ得点情報テーブル3420は、ユーザID3421、得点3422、得点3423、合計得点3424、および、順位3425で構成される。
ユーザID3421は、複数のユーザから個々のユーザを特定し区別するためのユーザ識別子である。ユーザ得点情報テーブル3420が得点を管理する位置限定ゲームの参加権を付与されたユーザであって、ゲームに参加したユーザのユーザIDを示す。ユーザがゲームに初めて参加すると、ユーザ得点情報テーブル3420にそのユーザのユーザIDがユーザID3421として設定されたレコードが追加される。
得点3422は、ユーザID3421で示すユーザの、位置限定ゲームが開催された日である2012年5月1日の得点を示す。また、得点3423は、位置限定ゲームが開催された日である2012年5月5日の得点を示す。図12では、2012年5月2日〜4日までの得点欄を省略して記載している。
合計得点3424は、ユーザID3421で示すユーザが、位置限定ゲームの開催期間で獲得した得点の合計を示す。
順位3425は、ユーザID3421で示すユーザの、位置限定ゲームの開催期間で獲得した得点の順位を示す。
図13に、位置限定ゲームの一つである野球クイズゲームのクイズ画面の例を示す。図13(a)は、クイズの問題の出題画面1021である。問題エリア1022には、問題が表示され、回答選択エリア1023には、選択肢が表示される。ユーザは、正しいと思われる選択肢を選択することで回答する。
図13(b)は、クイズの回答画面1024である。ユーザが選択した選択肢が正しい場合には、正解である旨の表示1025が表示され、選択肢が間違っている場合には、不正解である旨が表示される(不図示)。
例えば、ユーザが2012年5月1日にクイズに正解した場合、ゲーム進行制御部201は、ユーザID3421としてそのユーザのユーザIDが設定されたレコードの、得点3422として設定されている数値に1問につき5点を加算する。ゲーム進行制御部201は、1日分の位置限定ゲームが終了すると、正解の数に応じて、そのユーザの得点に点数を設定する。また、ユーザが位置限定ゲームのクイズに回答する都度、回答が正解であれば、そのユーザの得点に加算することとしてもよい。そして、位置限定ゲームの開催期間が経過すると、ユーザ毎に合計得点を算出し、順位をつけ、位置限定ゲーム情報テーブル3410の特典3414の記載に応じて、該当ユーザのプレゼントボックス情報テーブル3120に特典のレコードを追加する。すなわち、位置限定ゲームの結果に応じて、ユーザに特典を付与する。
<動作>
以下、ゲームサーバシステム1のゲーム制御処理について説明する。図14は、ゲーム制御処理のフローチャートである。フローチャートにおいて、破線の矢印は装置間のデータの送受信を示す。また、一点鎖線で囲った処理は、後述する実施形態2において置き換わる処理を示す。
ユーザは、野球形式のデジタルカードゲーム(以下、「野球ゲーム」という。)をプレイするために、ユーザ端末装置10の操作部103を操作して、野球ゲームの開始を指示する操作を行う。
ユーザの操作を検出した操作部103は、検出した操作をゲーム制御部101に通知する。操作部103から操作を通知されたゲーム制御部101は、野球ゲームの開始指示であると判断し、通信部104を介してゲームサーバ装置20に、ユーザIDを送信するとともに野球ゲームの開始を指示する(ステップS10)。
ゲームサーバ装置20において、野球ゲームのプレイを開始する旨の指示を、通信部206を介して受信したゲーム進行制御部201は、ログイン制御部2011にログイン処理の開始を指示する。指示を受けたログイン制御部2011は、必要に応じてユーザ端末装置10及びデータベースサーバ装置30と通信しながら、ユーザ認証等を含むログイン処理を行い、野球ゲームの開始処理を行う(ステップS20)。
ゲームの開始処理を行ったログイン制御部2011は、受信したユーザIDを端末位置取得部202に渡して、ログインしたユーザ端末装置10の現在位置の取得を依頼する。以下、受信したユーザIDを「ログインユーザID」といい、ログインユーザIDが示すユーザを「ログインユーザ」というものとする。
依頼を受けた端末位置取得部202は、渡されたログインユーザIDのユーザ端末装置10から現在位置を取得する。端末位置取得部202は、具体的には、ログインユーザのユーザ端末装置10に対して現在位置の要求を行う。要求を受けたユーザ端末装置10のゲーム制御部101は、現在位置検出部105から現在位置の緯度経度を取得し、取得した緯度経度を現在位置情報としてゲームサーバ装置20に送信する(ステップS11)。ゲームサーバ装置20の端末位置取得部202は、ユーザ端末装置10から現在位置情報を受信する(ステップS21)。端末位置取得部202は、受信した現在位置情報をログイン制御部2011に渡す。
ユーザ端末装置10の現在位置情報を渡されたログイン制御部2011は、渡された現在位置情報を存在判定部203に渡して、ユーザ端末装置10のユーザがスタジアム観戦中か否かの判定を依頼する。
依頼を受けた存在判定部203は、渡された現在位置情報に基づいて、ログインユーザがスタジアム観戦中か否かの判定を行う(ステップS22)。ここで、スタジアム観戦中か否かの判定処理(所在判定処理)の詳細を、図15を用いて説明する。
図15は、スタジアム観戦中か否かの判定処理(所在判定処理)のフローチャートである。
存在判定部203は、ログイン制御部2011から渡された現在位置情報で示される位置が、いずれかのスタジアム内の位置であるか、すなわち、現在位置情報を送信してきたユーザ端末装置10のユーザ、すなわち、ログインユーザがスタジアムにいるかいないかを判断する(ステップS30)。具体的には、存在判定部203は、イベント情報記憶部3300のイベント情報テーブル3310からデータ管理部207を介して読み出す。そして、存在判定部203は、イベント情報テーブル3310から、渡された現在位置情報で示される位置が含まれる緯度経度の領域が、位置3312として設定されているレコードを検索する。該当するレコードが検出された場合に、存在判定部203は、ログインユーザがスタジアム内にいると判定する。例えば、現在位置情報が(35.705000、139.200000)である場合は、位置3312として「(35.706451、139.751104)(35.704700、139.152799)」が設定されているレコード、すなわち、場所名称3311として「Aスタジアム」が設定されたレコードが検出される。
レコードが検出された場合(ステップS30:Yes)、存在判定部203は、次に、ログインユーザがいるスタジアムにおいてイベント開催中であるか否かを判断する(ステップS31)。具体的には、存在判定部203は、まず、タイマー205から現在の日時を取得する。そして、イベント情報テーブル3310から検出したレコードから、開催日時3314として設定されている開催期間に現在の日時が入っているレコードを検索する。現在の日時が入っている開催期間が開催日時3314として設定されているレコードが検出された場合、存在判定部203は、イベント開催中であると判断する。例えば、現在の日時が2012年5月6日の15時である場合、場所名称3311として「Aスタジアム」が設定されたレコードのうち、開催日時3314として「2012/5/6 14:00−17:00」が設定されているレコードが検出される。
レコードが検出された場合、すなわち、ログインユーザがいるスタジアムでイベント開催中であると判断した場合、存在判定部203は、ログインユーザがイベント観戦中である旨をログイン制御部2011に通知する(ステップS32)。この際、存在判定部203は、ステップS31において検出したレコードをログイン制御部2011に渡し、処理を終了する。以下、「レコードを渡す」とは、参照するレコードを指定することを意味し、レコードが更新された場合には、更新後の内容にアクセスするものとする。
一方、ステップS30においてログインユーザはスタジアムにいないと判断した場合(ステップS30:No)、または、ステップS31においてイベント開催中でないと判断した場合(ステップS31:No)、存在判定部203は、ログインユーザがイベント観戦中ではない旨をログイン制御部2011に通知し(ステップS33)、処理を終了する。
これで、図14のステップS22の判断処理が終了する。図14のステップ22において、存在判定部203からログインユーザがスタジアム観戦中である旨の通知を受けた場合(ステップS22:Yes)、ログイン制御部2011は、通知とともに渡されたイベント情報テーブル3310の1レコード(図10参照)とログインユーザIDとをゲーム権利付与部204に渡して、ログインユーザIDで示されるユーザに、位置限定ゲームの参加権の付与を依頼する。
依頼を受けたゲーム権利付与部204は、渡されたレコードの位置限定ゲームID3316として設定されているゲームIDを読み出す。そして、ユーザ情報記憶部3100に記憶されているユーザ情報テーブル3110(図8参照)のうち、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110のレコードに、項目3111「位置限定ゲーム」として、読み出したゲームIDを設定する(ステップS23)。ゲームIDの設定を行ったゲーム権利付与部204は、参加権の付与が終了した旨をログイン制御部2011に通知する。
参加権の付与が終了した旨の通知を受けた場合、または、ステップ22において、存在判定部203からユーザがスタジアム観戦中ではない旨の通知を受けた場合(ステップS22:No)、ログイン制御部2011は、ログインユーザのトップページ(ユーザページ)(図6参照)を作成する(ステップS24)。具体的には、ユーザ情報記憶部3100に記憶されているユーザ情報テーブル3110のうち、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110のレコードの内容を参照して、項目3111として設定されているデータを項目毎に読み出して、トップページに表示するデータを作成していく。例えば、項目3111「技能レベル」として設定されている「85」を読み出して、ユーザデータ表示部の「レベル:Lv85」という表示データを作成する。また、項目3111「位置限定ゲーム」としてゲーム識別子、例えば「G01」設定されている場合、ログイン制御部2011は、設定されているゲーム識別子が示す位置限定ゲームの開催期間中であれば、メニューm7“位置限定ゲーム”を作成し、開催期間が終了している場合には、メニューm7は作成せずに、項目3111「位置限定ゲーム」として「−」を設定する。また、ログイン制御部2011は、項目3111「位置限定ゲーム」としてゲーム識別子が設定されていない場合、すなわち、「−」が設定されている場合には、メニューm7は作成しない。位置限定ゲームの開催期間についての判断として、ログイン制御部2011は、設定されているゲームIDが位置限定ゲームID3411として設定されている位置限定ゲーム情報テーブル3410(図11参照)のレコードに、開催期間3412として設定されている開催期間に、今日の日付が入っているかで否かで判断する。今日の日付が開催期間に入っている場合は、開催期間中であると判断する。また、今日の日付が開催期間後であれば、開催期間が終了していると判断する。
ログインユーザのトップページを作成したログイン制御部2011は、トップページを作成した旨をゲーム進行制御部201に通知する。通知を受けたゲーム進行制御部201は、ログイン制御部2011が作成したページをログインユーザのユーザ端末装置10に送信し、野球ゲームを開始する。その後は、ユーザ端末装置10とゲームサーバ装置20とが通信を行いながら、ログインユーザの操作に応じて野球ゲームを実行する(ステップS12、ステップS25)。ここで、野球ゲームの実行処理の詳細を、図16を用いて説明する。
図16は、野球ゲームの実行処理のフローチャートである。
ゲームサーバ装置20のゲーム進行制御部201は、ログインユーザのトップページを、ログインユーザのユーザ端末装置10に送信する(ステップS50)。トップページを受信したユーザ端末装置10のゲーム制御部101は、トップページ(マイページ)を出力部102に表示する(ステップS40)。
ログインユーザは、ユーザ端末装置10の出力部102に表示されたトップページ(図7参照)から、操作部103を操作して、プレイしたいゲームモード、すなわち、メニューm1〜m7のいずれかを選択する。ユーザの操作を検出した操作部103は、ユーザが選択したメニューをゲーム制御部101に通知する。選択されたメニューを通知されたゲーム制御部101は、選択されたメニューをゲームサーバ装置20に送信する(ステップS41)。
選択されたメニューを受信したゲームサーバ装置20のゲーム進行制御部201は、選択されたメニューに対応付けられているゲームモードが何であるか、すなわち、ログインユーザが選択したゲームモードを判断する(ステップS51)。
ログインユーザが選択したゲームモードが位置限定ゲームモードである場合(ステップS51:位置限定ゲームモード)、ゲーム進行制御部201は位置限定ゲームを開始し、ユーザ端末装置10とともに位置限定ゲームを実行する(ステップS42、ステップS52)。
具体的には、ゲーム進行制御部201は、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110(図8参照)のレコードに、項目3111「位置限定ゲーム」として設定されているゲームIDを読み出す。そして、読み出したゲームIDが位置限定ゲームID3411として設定されている位置限定ゲーム情報テーブル3410(図11参照)のレコードに、ゲーム内容3413として設定されているゲームを実行する。例えば、「スタジアムAクイズ」であればゲーム進行制御部201は、タイマー205から今日の日付を取得し、今日のクイズ問題から、図13(a)に示すような問題画面1021を作成して、ユーザ端末装置10に送信する。問題画面1021を受信したユーザ端末装置10のゲーム制御部101は、出力部102に問題画面1021を表示する。操作部103は、ユーザが選択した回答選択エリア1023の選択肢を検出してゲーム制御部101に通知し、ゲーム制御部101は選択された選択肢をゲームサーバ装置20に送信する。選択肢を受信したゲームサーバ装置20のゲーム進行制御部201は、選択肢が正解であるか否かを判断し、正解である場合は正解である旨を示す回答画面1024を作成し、また、不正解である場合不正解である旨を示す回答画面を作成して、ユーザ端末装置10に送信する。回答画面を受信したユーザ端末装置10は出力部102に回答画面を表示する。ユーザが次の問題を要求する指示行ったことを操作部103が検出すると、その旨をゲーム制御部101に通知し、ゲーム制御部101はゲームサーバ装置20に次の問題を要求する。ゲームサーバ装置20は、次の問題の出題画面1021を作成し、ユーザ端末装置10に送信する。このような処理を、今日1日分の全ての問題について行う。
位置限定ゲームが終了すると、ゲーム進行制御部201は、ユーザ得点情報テーブル3420(図12参照)のユーザID3421としてログインユーザIDが設定されているレコードに、今日の日付の得点3422等として、正解の数に応じた点数を設定する(ステップS53)。
得点を設定したゲーム進行制御部201は、実行した位置限定ゲームのゲームIDが位置限定ゲームID3411として設定されているレコードの、特典3414として設定されている内容に応じて、ログインユーザに特典を付与する。すなわち、ログインユーザのプレゼントボックス情報テーブル3120(図9参照)に、付与する特典のレコードを追加する(ステップS54)。
なお、ゲーム進行制御部201は、今日の日付が、位置限定ゲームの最終日である場合、すなわち、実行した位置限定ゲームのゲームIDが位置限定ゲームID3411として設定されている位置限定ゲーム情報テーブル3410のレコードの、開催期間3412として設定されている開催期間の最終日である場合には、得点3422〜得点3423として設定されている点数の合計を算出し、合計得点3424として設定する。そして、開催期間が終了した場合には、得点の高い方から順に順位をつけて順位3425として設定し、位置限定ゲーム情報テーブル3410の特典3414の記載に応じて、該当ユーザのプレゼントボックス情報テーブル3120に特典のレコードを追加する。すなわち、位置限定ゲームの結果に応じて、ユーザに特典が付与される。
ステップS51において、ログインユーザによって選択されたメニューに対応付けられているゲームモードが位置限定ゲームモード以外のゲームモードである場合(ステップS51:他のゲームモード)、ゲーム進行制御部201は、ログインユーザが位置限定ゲームへの参加権を有しているか否か、すなわち、ログインユーザが位置限定ゲームをプレイしている可能性があるか否かを判断する(ステップS55)。具体的には、ゲーム進行制御部201は、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110(図8参照)のレコードに、項目3111「位置限定ゲーム」としてゲームIDが設定されているかを判断する。ゲームIDが設定されている場合には、ゲーム進行制御部201は、ログインユーザが位置限定ゲームへの参加権を有していると判断し、ログインIDが設定されていない場合、すなわち「−」が設定されている場合には、位置限定ゲームへの参加権を有していないと判断する。
ログインユーザが位置限定ゲームへの参加権を有していると判断した場合(ステップS55:Yes)、ゲーム進行制御部201は、ログインユーザが指定したゲームモードで、上記<ゲーム>の項で説明したようなメリットをログインユーザに与えながらゲームを実行する(ステップS43、ステップS56)。
一方、ログインユーザが位置限定ゲームへの参加権を有していないと判断した場合(ステップS55:No)、ゲーム進行制御部201は、ログインユーザが指定したゲームモードで、通常の通り、すなわち、ログインユーザにメリットを与えることなく、ゲームを実行する(ステップS43、ステップS57)。
これで、図14のステップS12およびステップS25のゲーム実行処理が終了する。図14のステップ13において、ログインユーザが、ユーザ端末装置10の操作部103を操作して、ゲームの終了操作を行う。ユーザの操作を検出した操作部103は、検出した操作をゲーム制御部101に通知する。操作部103から操作を通知されたゲーム制御部101は、ゲームの終了の指示であると判断し(ステップS13:Yes)、通信部104を介してゲームサーバ装置20に、ユーザIDを通知するとともにゲーム終了指示を送信する(ステップS14)。ゲーム終了指示を送信したゲーム制御部101は、ゲームの終了処理を行う(ステップS15)。一方、ゲームの終了指示を受信したゲームサーバ装置20のゲーム進行制御部201は、ゲームの終了処理を行う(ステップS26)。
<実施形態2>
実施形態1では、スタジアム観戦を行ったユーザにのみ、位置限定ゲームへの参加権を付与することとしている。実施形態2では、スタジアム観戦を行ったユーザであって、観戦した試合の結果を予想し、予想が的中したユーザにのみ、位置限定ゲームへの参加権を付与するものである。ユーザは、試合の結果の予想が的中した時に位置限定ゲームをプレイすることができるので、予想する楽しみが増し、さらに、予想が的中したユーザのみが位置限定ゲームをプレイできるという喜びが増し、野球ゲームとスタジアムでの野球の試合との双方への興味が持続することとなる。
本実施形態では、現実世界の野球の試合の対戦結果(勝利チーム等)をユーザが事前に予想し、その対戦結果(イベント情報)が、ユーザ予想と合致した場合(所定の条件)に、位置限定ゲームへの参加権を付与する例を説明するが、このようにユーザ自身が予想という形で所定の条件に関与していない場合であってもよい。例えば、現実世界の野球の試合でのホームラン数(イベント情報)が3本以上出た場合(所定の条件)、現実世界のサッカーの試合の観客動員数(イベント情報)が5000人を超えた場合(所定の条件)等であってもよい。さらにまた、コンサート会場でのCDの売り上げ枚数(イベント情報)が500枚以上になった場合(所定の条件)等であってもよい。
図17は、実施形態2によるゲームサーバシステム1およびユーザ端末装置10の機能ブロック図である。図7に示した実施形態1によるゲームサーバシステム1およびユーザ端末装置10の機能ブロック図と異なる点は、ゲームサーバ装置20のイベント情報取得部208が追加されている点である。また、この追加に応じた処理を他の機能部で行うことになる。
イベント情報取得部208は、スタジアム観戦中のユーザから、試合の結果予想を取得し、予想を記憶する機能を有する。
また、ゲーム進行制御部201のログイン制御部2011は、実施形態1における機能に加えて、ユーザの予想が的中しているか否かを判定する機能を有する。予想が的中した場合に、位置限定ゲームへの参加権を付与する。
図18は、予想情報テーブル3320の構成例及びその内容例を示す図である。予想情報テーブル3320は、イベント情報記憶部3300に記憶されており、試合(イベント)の結果予想をユーザごとに管理するためのテーブルであり、予想投票を行った1ユーザにつき1レコードが登録される。また、この予想情報テーブル3320は、1つのイベントにつき、1つのテーブルが作成される。
予想情報テーブル3320は、ユーザID3321、および、予想3322で構成される。
ユーザID3321は、複数のユーザから個々のユーザを特定し区別するためのユーザ識別子である。
予想3322は、ユーザID3321で示されるユーザの予想内容を示す。実施形態では、スタジアム観戦する野球の試合の勝利チームを予想するものとする。なお、実施形態では、イベントが野球の試合であり、勝利チームを予想することとしているが、試合の結果ではなく、試合の状況を予想することとしてもよい。例えば、ホームランが何本か、先発ピッチャーが何回でマウンドを降りるなどでもよい。また、イベントが野球の試合でない場合、例えば、イベントが競馬であれば、勝ち馬を予想し、ボクシングであれば、勝敗が決定するラウンド数を予想すること等であってもよい。
図19に、予想投票画面1026の例を示す。予想投票画面1026のエリア1027には、ユーザに予想して欲しい内容が表示され、選択エリア1028には、ユーザが観戦している試合を行うチーム名が表示される。ユーザは、試合に勝つと思うチームを選択することで結果予想を行う。
実施形態2におけるゲーム制御処理について説明する。実施形態2におけるゲーム制御処理は、図14を用いて説明した実施形態1のゲーム制御処理のフローチャートのうち一点鎖線で囲んだ処理以外は、同じである。
従って、図14のフローチャートのうちの一点鎖線で囲んだ処理に代わる、実施形態2での処理を、図20を用いて説明する。図20は、実施形態2の予想判定処理のフローチャートである。なお、ステップS22およびステップS23は、実施形態1と同じ処理を示す。ステップ22の処理から説明を行う。
ログインユーザのユーザ端末装置10の現在位置情報を、端末位置取得部202から渡されたゲーム進行制御部201のログイン制御部2011は、渡された現在位置情報を存在判定部203に渡して、ユーザ端末装置10のユーザがスタジアム観戦中か否かの判定を依頼する。
依頼を受けた存在判定部203は、渡された現在位置情報に基づいて、ログインユーザがスタジアム観戦中か否かの判定を行い、その判定結果をログイン制御部2011に通知する(ステップS22)。なお、ログインユーザがスタジアム観戦中であると判定した場合、存在判定部203は、ログインユーザがイベント観戦中である旨をログイン制御部2011に通知するとともに、図15のステップS31において検出したレコード、すなわち、イベント情報テーブル3310のうちの、観戦中のイベントに関するレコードをログイン制御部2011に渡す。
存在判定部203からログインユーザがスタジアム観戦中である旨の通知を受けた場合(ステップS22:Yes)、ログイン制御部2011は、ログインユーザの予想投票が済んでいるかを確認する(ステップS70)。具体的には、ログイン制御部2011は、予想情報テーブル3320(図18参照)から、ユーザID3321としてログインユーザIDが設定されているレコードを検索する。該当するレコードが検出された場合は、ログイン制御部2011は予想投票が済んでいると判断し、該当するレコードが検出されなかった場合は、予想投票が未だであると判断する。
予想投票が未だであると判断した場合(ステップS70:No)、ログイン制御部2011は、存在判定部203から渡されたレコードのイベント内容3313として設定されているイベントの内容から試合を行っているチームを読み出し、選択エリア1028にこれら2つのチーム名を選択肢として表示させた予想投票画面1026(図19参照)を作成し、ユーザ端末装置10に送信する。
予想投票画面1026を受信したユーザ端末装置10のゲーム制御部101は、102に予想投票画面1026を表示する。ユーザ端末装置10の操作部103は、ユーザが選択した選択エリア1028の選択肢を検出してゲーム制御部101に通知し、ゲーム制御部101は選択された選択肢をゲームサーバ装置20に送信する。選択肢を受信したゲームサーバ装置20のログイン制御部2011は、選択肢が示すチーム名を予想3322として設定し、ログインユーザIDをユーザID3321として設定したレコードを、予想情報テーブル3320に追加する(ステップS60、ステップS71)。
次に、ログイン制御部2011は、ログインユーザが結果予想をした試合が、終了しているか否かを判断する(ステップS72)。具体的には、存在判定部203から渡されたレコードの結果3315として、結果が設定されている場合は、試合が終了していると判断し、結果が設定されていない場合は、試合が終了していないと判断する。
試合が終了していると判断した場合(ステップS72:Yes)、ログイン制御部2011は、ログインユーザの予想が的中しているか否かを判断する(ステップS73)。具体的には、存在判定部203から渡されたレコードの結果3315として設定されている内容から勝利したチームを判断する。そして、予想情報テーブル3320から、ユーザID3321としてログインユーザIDが設定され、予想3322として勝利したチーム名が設定されているレコードを検索する。該当するレコードが検出された場合、予想が的中したと判断し、該当するレコードが検出されなかった場合には、予想が外れたと判断する。
予想が的中したと判断した場合(ステップS73:Yes)、ログイン制御部2011は、存在判定部203から渡されたレコードとログインユーザIDとをゲーム権利付与部204に渡して、ログインユーザIDで示されるユーザに、位置限定ゲームの参加権の付与を依頼する。
依頼を受けたゲーム権利付与部204は、存在判定部203から渡されたレコードの位置限定ゲームID3316として設定されているゲームIDを読み出す。そして、ユーザ情報記憶部3100に記憶されているユーザ情報テーブル3110のうち、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110のレコードに、項目3111「位置限定ゲーム」として、読み出したゲームIDを設定する(ステップS23)。ゲームIDの設定を行ったゲーム権利付与部204は、参加権の付与が終了した旨をログイン制御部2011に通知する。
一方、ステップS72において、試合が終了していないと判断した場合(ステップS72:No)、または、ステップS73において、予想が外れたと判断した場合(ステップS73:No)、ログイン制御部2011は、ログインユーザに位置限定ゲームへの参加権は付与しない。
実施形態2では、ユーザが勝利チームを予想することとしているが、ユーザが野球ゲーム上で設定している自分のチーム(図8の項目3111「チーム」参照)と同じ名称のチームが勝利した場合に、予想が当たったこととしてもよい。
また、実施形態2では、予想が的中したユーザにのみ位置限定ゲームへの参加権を付与することとしているが、予想が的中したユーザと的中しなかったユーザとで、異なる位置限定ゲームの参加権を付与することとしてもよい。
<実施形態3>
実施形態1では、スタジアム観戦を行ったユーザにのみ、位置限定ゲームへの参加権を付与することとし、実施形態2では、スタジアム観戦を行ったユーザであって、観戦した試合の結果を予想し、予想が的中したユーザにのみ、位置限定ゲームへの参加権を付与することとしている。実施形態3では、スタジアム観戦を行うためにスタジアムに行く前に、予め所定の条件を満たしていた場合に、位置限定ゲームへの参加権を付与するものである。
予め満たしておく所定の条件とは、いわゆるユーザのゲーム状況、例えば、ゲームにおける仲間数、ゲームのレベル(技能レベル)、保有するアイテムの数、保有するアイテムの種類、ゲームモードの進捗度等に関する条件である。仲間数、技能レベル、アイテム数は、それぞれの閾値以上である場合に、位置限定ゲームへの参加権を付与する。アイテムの種類に関しては、例えば、当日観戦する対戦チームの選手のアイテムカードを10枚以上保有している場合に、位置限定ゲームへの参加権を付与する。ゲームモードの進捗度は、例えば、スカウトモードで回った都道府県の数が20を超えている場合に、位置限定ゲームへの参加権を付与する等である。また、所定の条件の判断対象となるゲームは、観戦する試合と関係がないゲームであっても、関係があるゲームであってもよい。例えば、観戦する試合と関係があるゲームとは、観戦する試合が野球の試合である場合は、野球ゲームである。観戦する試合と関係あるゲームのゲーム状況を用いて判断することで、観戦する試合とゲームとの双方への興味を持続させることが可能となる。
また、予め満たしておく所定の条件は、ユーザの過去の観戦履歴(観戦情報)であってもよい(観戦条件)。例えば、存在判定部によってユーザの端末が野球観戦中のスタジアムに存在すると判定された時が、直近に判定された時から所定期間経過前である場合、具体的には、過去1月以内に同じスタジアムで観戦している、という条件であってもよい。所定期間は、例えば半月、あるいは2月等であってもよい。なお、当日観戦する試合と1か月以内に観戦した試合とが、同じ対戦カード(チーム)である場合にのみ、位置限定ゲームへの参加権を付与することとしてもよい。また、別の条件として、期間は問わず、同じスタジアムで過去、5回以上観戦していることであってもよい。さらにまた、スタジアムは異なってもよいが、期間は問わず、同じ対戦カードの試合を観戦するのが7回目以上である場合に、位置限定ゲームへの参加権を付与する等としてもよい。
このように、スタジアムに観戦に行く前に予め条件(観戦条件)を満足していると、ユーザは、スタジアムに行くことで、位置限定ゲームのプレイを楽しむことができる。また、ユーザは、位置限定ゲームをプレイしたい場合には、スタジアムに行く前に予め条件を満足させることが必要となるので、ゲームをプレイすることへの動機づけとなる。
実施形態3では、1か月以内に同じスタジアムで観戦を行っていること、または、ゲームで保有しているアイテム数が、閾値「20」以上であることを、予め満たしていなければならない所定の条件とする。
図21は、実施形態3によるゲームサーバシステム1およびユーザ端末装置10の機能ブロック図である。図7に示した実施形態1によるゲームサーバシステム1およびユーザ端末装置10の機能ブロック図と異なる点は、ゲームサーバ装置20のユーザゲーム情報取得部209、及び、ユーザ観戦情報取得部(観戦情報取得部)210が追加されている点である。また、この追加に応じた処理を他の機能部で行うことになる。
ユーザゲーム情報取得部209は、ログインユーザのゲーム状況に関する情報を取得する機能を有する。実施形態では、ユーザゲーム情報取得部209は、ユーザ情報記憶部3100に記憶されているユーザ情報テーブル3110(図8参照)から、ログインユーザが保有する選手数(アイテム数)を読み出す。
ユーザ観戦情報取得部210は、ログインユーザの観戦履歴を読み出す機能を有する。具体的には、本日から過去に遡る1か月分の履歴を読み出す。また、ユーザ観戦情報取得部210は、ログイン制御部2011から渡された履歴レコードを観戦履歴に追加する機能も有する。
また、ゲーム進行制御部201のログイン制御部2011は、実施形態1における機能に加えて、ユーザが、スタジアムに来る前に、所定の条件を満たしているか否かを判断する機能を有する。所定の条件を満たしていた場合に、位置限定ゲームへの参加権を付与する。
図22は、観戦履歴情報テーブル3130の構成例及びその内容例を示す図である。観戦履歴情報テーブル3130は、ユーザ情報記憶部3100に記憶されており、ユーザが観戦した試合(イベント)をユーザごとに管理するためのテーブルである。この観戦履歴情報テーブル3130は、ユーザ毎に、1つのテーブルが作成され、ユーザがスタジアムに行くと1レコードが登録される。実施形態3では、存在判定部203から、ユーザがスタジアム観戦中である旨の通知を受けたログイン制御部2011が、1レコードを作成し、ユーザ観戦情報取得部210に追加を依頼する。なお、他の方法で、ユーザの観戦履歴を収集してもよい。例えば、観戦チケットにコードを記載しておき、ユーザは観戦中又は観戦後にそのコードをユーザ端末装置10から入力する等である。
観戦履歴情報テーブル3130は、場所名称3131、イベント内容3132、および、開催日時3133で構成される。
場所名称3131は、ユーザが参加したイベントが行われた現実世界の場所の名称を示す。実施形態では、ユーザが観戦した野球の試合が行われたスタジアムの名称、例えば「Aスタジアム」などである。
イベント内容3132は、場所名称3131で示される場所で行われたイベントの内容を示す。実施形態では、野球の試合の対戦チームが設定される。
開催日時3133は、場所名称3131で示される場所で、イベント内容3132で示されるイベントが開催された日時(開催期間)を示す。実施形態では、ユーザが観戦した野球の試合の開催日と、開始時刻と、終了時刻が設定される。
次に、実施形態3におけるゲーム制御処理について説明する。実施形態3におけるゲーム制御処理は、図14を用いて説明した実施形態1のゲーム制御処理のフローチャートのうち一点鎖線で囲んだ処理以外は、同じである。
従って、図14のフローチャートのうちの一点鎖線で囲んだ処理に代わる、実施形態3での処理を、図23を用いて説明する。図23は、実施形態3の所定条件判断処理のフローチャートである。なお、ステップS22およびステップS23は、実施形態1と同じ処理を示す。ステップ22の処理から説明を行う。
ログインユーザのユーザ端末装置10の現在位置情報を、端末位置取得部202から渡されたゲーム進行制御部201のログイン制御部2011は、渡された現在位置情報を存在判定部203に渡して、ユーザ端末装置10のユーザがスタジアム観戦中か否かの判定を依頼する。
依頼を受けた存在判定部203は、渡された現在位置情報に基づいて、ログインユーザがスタジアム観戦中か否かの判定を行い、その判定結果をログイン制御部2011に通知する(ステップS22)。なお、ログインユーザがスタジアム観戦中であると判定した場合、存在判定部203は、ログインユーザがイベント観戦中である旨をログイン制御部2011に通知するとともに、図15のステップS31において検出したレコード、すなわち、イベント情報テーブル3310のうちの、観戦中のイベントに関するレコードをログイン制御部2011に渡す。
存在判定部203からログインユーザがスタジアム観戦中でない旨の通知を受けた場合(ステップS22:No)、ログイン制御部2011は、ログインユーザに、位置限定ゲームの参加権は付与せずに、図14のステップS24から処理を実行する。
存在判定部203からログインユーザがスタジアム観戦中である旨の通知を受けた場合(ステップS22:Yes)、ログイン制御部2011は、観戦履歴情報テーブル3130に、レコードを追加する(ステップS80)。具体的には、ログイン制御部2011は、存在判定部203から渡されたレコードの場所名称3311として設定されているスタジアム名(以下、「観戦中スタジアム名」という。)を読み出し、場所名称3131して設定する。また、存在判定部203から渡されたレコードのイベント内容3313、及び、開催日時3314として設定されている対戦チーム、及び、日時を読み出し、それぞれイベント内容3132、及び、開催日時3133として設定する。ログイン制御部2011は、作成したレコードを、ユーザ観戦情報取得部210に渡す。レコードを渡されたユーザ観戦情報取得部210は、渡されたレコードを観戦履歴情報テーブル3130に登録する。
次に、ログイン制御部2011は、ログインユーザの観戦履歴レコードの読出しをユーザ観戦情報取得部210に依頼する。依頼を受けたユーザ観戦情報取得部210は、観戦履歴情報テーブル3130から、本日から1か月分の観戦履歴レコードを読み出してログイン制御部2011に渡す。ログイン制御部2011は、渡された観戦履歴レコードの場所名称3131として、観戦中スタジアム名が設定された観戦履歴レコードを検索する。観戦中スタジアム名が設定された観戦履歴レコードが検出された場合は、同じスタジアムでの観戦は1か月以内であると判断し(ステップS81:Yes)、ログイン制御部2011は、存在判定部203から渡されたレコードとログインユーザIDとをゲーム権利付与部204に渡して、ログインユーザIDで示されるユーザに、位置限定ゲームの参加権の付与を依頼する。
依頼を受けたゲーム権利付与部204は、存在判定部203から渡されたレコードの位置限定ゲームID3316として設定されているゲームIDを読み出す。そして、ユーザ情報記憶部3100に記憶されているユーザ情報テーブル3110のうち、項目3111「ユーザID」としてログインユーザIDが設定されているユーザ情報テーブル3110のレコードに、項目3111「位置限定ゲーム」として、読み出したゲームIDを設定する(ステップS23)。ゲームIDの設定を行ったゲーム権利付与部204は、参加権の付与が終了した旨をログイン制御部2011に通知する。
一方、ステップS81において、観戦中スタジアム名が設定された観戦履歴レコードが検出されなかった場合は、同じスタジアムでの観戦は1か月以内にはないと判断し(ステップS81:No)、ログイン制御部2011は、ユーザゲーム情報取得部209に、ログインユーザIDを渡して、ログインユーザ保有する選手数(アイテム数)の読出しを依頼する。
依頼を受けたユーザゲーム情報取得部209は、ユーザ情報テーブル3110(図8参照)のユーザID3111としてログインユーザIDが設定されたレコードから、「選手数」として設定されている選手数(アイテム数)を読み出し、ログイン制御部2011に渡す。
選手数(アイテム数)を受け取ったログイン制御部2011は、受け取った選手数(アイテム数)が、予め決められている閾値、例えば「20」より多いか否かを判断する。選手数(アイテム数)が閾値より多い場合(ステップS82:Yes)、ログイン制御部2011は、存在判定部203に、ログインユーザに位置限定ゲームの参加権の付与を依頼し、存在判定部203は、ログインユーザに位置限定ゲームの参加権を付与する(ステップS23)。
ステップS82において、選手数(アイテム数)が閾値以下である場合(ステップS82:No)、ログイン制御部2011は、ログインユーザに位置限定ゲームへの参加権は付与せずに、図14のステップS24から処理を実行する。
実施形態2、3では、スタジアム観戦を行ったという条件以外に、ログインユーザに位置限定ゲームへの参加権を付与するための様々な所定の条件を判断しているが、これらの所定の条件を組み合わせてもよい。例えば、実施形態2の試合予想が的中するという条件と、ゲームにおいて保有しているアイテム数が閾値を越えている条件との双方を満たす場合にのみ、位置限定ゲームへの参加権を付与する等である。
また、最優先する条件を決めてもよい。例えば、1か月以内に同じスタジアムで観戦した場合は、他の条件を満たすか否かに関わらず、位置限定ゲームへの参加権を付与する。また、ユーザが所定時間の間スタジアムにいた場合にのみ、スタジアム観戦中であると判断する場合であっても、1か月以内に同じスタジアムに足を運んだ場合は、位置限定ゲームへの参加権を付与する等でもよい。
また、位置限定ゲームへの参加権を付与するための所定の条件は、位置限定ゲーム毎に異なってもよい。また、所定の条件を、スタジアム毎に異なることとしてもよい。