添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
先ず、図1を参照して、本実施の形態の全体的な装置構成を説明する。図1は、本実施の形態のゲームシステム1を示すブロック図である。
ゲームシステム1は、コマを購入したユーザに、コマ毎に1日1回ゲーム(コンピュータゲーム)を提供するシステムである。コマは、いわゆる現代のベーゴマであり、遊技台上で回転させ、対戦相手のコマと対戦させる。対戦相手のコマを遊技台から弾き飛ばすこと等により勝敗がつけられる。
図1に示すように、ゲームシステム1は、サーバ10と、ゲーム筐体20と、第1形象物としての情報ロガー装置40と、第2形象物としてのコマ50と、を備える。サーバ10は、ゲームシステム1の情報を管理するクラウド上の情報処理装置である。
ゲーム筐体20は、玩具店、ゲームセンター等のコマ50を販売する店舗等に設置され、ユーザにゲームを提供する装置である。ゲームを遊ぶには、少なくともコマ50が必要であり、さらに、情報ロガー装置40により、当該コマ50を所有するユーザのゲームに関する情報が管理される。このため、ゲーム筐体20は、情報ロガー装置40及びコマ50との通信機能を有する。
また、ゲーム筐体20は、設置場所の通信環境等に応じて、通信ネットワークNを介してサーバ10に通信接続されたオンライン筐体と、サーバ10に通信接続されていないオフライン筐体と、が用意されている。ゲームシステム1は、複数のオンライン筐体としてのゲーム筐体20と、複数のオフライン筐体としてのゲーム筐体20と、を備えることが可能である。通信ネットワークNは、インターネット等のネットワークである。
情報ロガー装置40は、基本的に、1人のユーザが1台所有する装置である。情報ロガー装置40は、コマ50に回転力を与えるランチャー(図示略)に接続可能であり、ランチャーにより回転力を与えられたコマ50の回転速度を検出して記録する装置である。ランチャーは、コマ50が取り付け可能であり、ひもを介したハンドルが設けられ、ユーザによるハンドルを引っ張る動作に応じてコマ50に回転力を与え、回転したコマ50がランチャーから離れる。
コマ50は、1人のユーザが少なくとも1つ所有する。コマ50は、遊戯台上で回転させるための略円錐形状をしており、また、複数のパーツから構成されている。コマ50のメインパーツは、ゲーム筐体20との通信用に、近距離無線通信が可能なNFC(Near Field Communication)チップを有する。
次いで、図2を参照して、ゲーム筐体20の外観構成を説明する。図2は、ゲーム筐体20の外観図である。
図2に示すように、ゲーム筐体20は、表示部24と、ボタン22a,22bと、ワインダー22cと、ロガーセット部27aと、コマセット部28aと、カプセル収納部29aと、カプセル取出部29bと、を備える。
表示部24は、LCD(Liquid Crystal Display)、EL(ElectroLuminescence)ディスプレイ等で構成され、タイトル画面、ゲーム画面等を表示する。
ボタン22aは、主として「決定」の押下操作入力を受け付ける操作部である。ボタン22bは、主として「キャンセル」の押下操作入力を受け付ける操作部である。ワインダー22cは、ひもに接続された環状のハンドルを有し、コマ50に回転力を与えるランチャーのハンドルを引く動作と同様に、環状のハンドルの引っ張り操作入力を受け付ける操作部である。
ロガーセット部27aは、情報ロガー装置40がセットされる部分であり、情報ロガー装置40がセットされることにより、情報ロガー装置40とゲーム筐体20との赤外線通信が可能となる。
コマセット部28aは、コマ50が1つずつセット(載置)される部分であり、コマ50がセットされることにより、コマ50とゲーム筐体20との近距離無線通信が可能となる。
カプセル収納部29aは、ゲームで対戦相手に勝利した場合の景品としてのコマ50のパーツを格納したカプセルの収納部である。カプセル収納部29aは、例えば透明な樹脂で構成され、ユーザが外部から残りのカプセルを目視できるようになっている。カプセル取出部29bは、カプセル収納部29aから排出されたカプセルの取り出し口である。
また、ゲーム筐体20は、コイン投入部29cと、ダイヤル29dと、を備える。ユーザは、コイン投入部29cにコインを投入し、ダイヤル29dを回転させて、カプセルをカプセル取出部29bから取り出して、カプセルを購入することもできる。
次いで、図3〜図6を参照して、ゲームシステム1の各装置の機能構成を説明する。図3は、サーバ10の機能構成を示すブロック図である。図4は、ゲーム筐体20の機能構成を示すブロック図である。図5は、情報ロガー装置40の機能構成を示すブロック図である。図6は、コマ50の機能構成を示すブロック図である。
図3を参照して、サーバ10の内部の機能構成を説明する。サーバ10は、制御部11と、操作部12と、計時部13と、表示部14と、記憶部15と、通信部16と、を備える。サーバ10の各部は、バス17を介して互いに接続されている。
制御部11は、サーバ10の各部を制御する。制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)を有する。制御部11において、CPUが、記憶部15から読み出して適宜RAMに展開したプログラムとの協働で、各種処理を実行する。
操作部12は、キーボードや、マウス等のポインティングデバイスを有し、管理者からのキーボードを介する各種キー入力や、ポインティングデバイスを介する位置情報の入力を受け付け、それらの操作情報を制御部11に出力する。
計時部13は、リアルタイムクロックであり、現在の日時を計時し、その現在日時情報を制御部11に出力する。表示部14は、LED、ELディスプレイ等で構成され、制御部11の指示に基づき各種情報を表示する。
記憶部15は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等で構成され、各種データ及びプログラムを読み出し及び書き込み可能に記憶する。記憶部15は、後述するユーザ情報テーブル100を記憶する。
通信部16は、通信ネットワークNに接続され、通信ネットワークN上のゲーム筐体20等の機器と情報の送受信を行う通信部である。
図4を参照して、ゲーム筐体20の内部の機能構成を説明する。ここでは、オンライン筐体とオフライン筐体とが同じ装置構成であるものとして、ゲーム筐体20の機能構成を説明するが、これに限定されるものではない。例えば、オフライン筐体としてのゲーム筐体20が、通信部26を有しない構成としてもよい。
ゲーム筐体20は、制御部21と、操作部22と、計時部23と、表示部24と、記憶部25と、第3通信部としての通信部26と、第1通信部としての赤外線通信部27と、第2通信部としてのNFC通信部28と、景品提供部29と、を備える。ゲーム筐体20の各部は、バス30を介して互いに接続されている。
制御部21、計時部23、表示部24、通信部26は、サーバ10の制御部21、計時部23、表示部24、通信部26と同様であり、同様の説明を省略し、異なる部分を主として説明する。
制御部21は、ゲーム筐体20の各部を制御する。操作部22は、ボタン22a,22b、ワインダー22cを有し、ボタン22a,22b、ワインダー22cへの操作入力を受け付け、その操作情報を制御部21に出力する。
記憶部25は、ROM(Read Only Memory)、フラッシュメモリ等で構成され、各種データ及びプログラムを記憶する。記憶部25には、ゲーム提供プログラム251が記憶されているものとする。
通信部26は、通信ネットワークNを介して、サーバ10と情報の送受信を行う。赤外線通信部27は、ロガーセット部27aにセットされた情報ロガー装置40と、赤外線通信方式で情報の送受信を行う通信部である。NFC通信部28は、コイルアンテナ等を有し、コマセット部28aにセットされたコマ50と、NFCの近距離無線通信方式で情報の送受信を行う通信部である。NFC通信部28は、電磁界の出力により、コマ50に電力供給を行うアクティブの通信部である。なお、赤外線通信部27の通信方式は、赤外線に限定されるものではなく、NFC等、他の通信方式としてもよい。また、NFC通信部28の通信方式は、NFCに限定されるものではなく、赤外線等、他の通信方式としてもよい。
景品提供部29は、制御部21の制御により、カプセル収納部29aに収納されたカプセルを1つずつカプセル取出部29bに排出制御する。
図5を参照して、情報ロガー装置40の内部の機能構成を説明する。情報ロガー装置40は、制御部41と、脱着検出部42と、回転速度検出部43と、表示部44と、記憶部45と、赤外線通信部46と、通信部47と、を備える。情報ロガー装置40の各部は、バス48を介して互いに接続されている。
制御部41、赤外線通信部46は、ゲーム筐体20の制御部21、赤外線通信部27と同様であり、同様の説明を省略し、異なる部分を主として説明する。
制御部41は、情報ロガー装置40の各部を制御する。脱着検出部42は、ランチャーの脱着を検出し、その検出情報を制御部41に出力する。回転速度検出部43は、装着されたランチャーにより回転力が与えられたコマ50の回転速度を検出し、その検出した回転速度を制御部41に出力する。回転速度検出部43は、例えば、計数部、計時部、算出部と、光源と、PD(Photo Diode)等の受光部と、を備え、コマ50の円周方向に白黒で塗り分けらえたランチャーの回転体の領域に光源から光を照射し、その反射光を受光部で受光して電気信号に変換し、当該電気信号を用いてランチャーからコマ50が離脱するまでの回転数を検出し、計時部によりランチャーからコマ50が離脱するまでの時間を検出し、算出部により検出された回転数及び時間から回転速度を算出する。
表示部44は、複数のLED(Light Emitting Diode)を有し、制御部41の指示により、例えば、回転速度検出部43で検出された回転速度を8段階で表示する。記憶部45は、フラッシュメモリ等の情報の読み出し及び書き込みが可能な記憶部である。記憶部45には、後述するユーザ情報400が記憶される。
赤外線通信部46は、ゲーム筐体20と、赤外線通信方式により情報の送受信を行う。通信部47は、PC(Personal Computer)、スマートフォン等の情報処理装置と有線通信方式で通信を行うための通信部である。通信部47は、無線通信方式の通信部としてもよい。
図6を参照して、コマ50の内部(NFCチップ)の機能構成を説明する。コマ50は、制御部51と、NFC通信部52と、記憶部53と、を備える。コマ50の各部は、バス54を介して互いに接続されている。
制御部51、NFC通信部52は、ゲーム筐体20の制御部21、NFC通信部28と同様であり、同様の説明を省略し、異なる部分を主として説明する。
制御部51は、コマ50の各部を制御する。NFC通信部52は、コイルアンテナ等を有し、ゲーム筐体20と、NFCの近距離無線通信方式で情報の送受信を行う通信部である。NFC通信部52は、ゲーム筐体20(NFC通信部28)からの電磁界の入力により、コマ50の各部に電力供給を行うパッシブのタグである。
記憶部53は、情報の読み出し及び書き込みが可能な記憶部である。記憶部53は、後述するゲーム情報500を記憶する。
次に、図7(a)〜図7(c)を参照して、情報ロガー装置40、コマ50、サーバ10に記憶される情報を説明する。図7(a)は、ユーザ情報400の構成を示す図である。図7(b)は、ゲーム情報500の構成を示す図である。図7(c)は、ユーザ情報テーブル100の構成を示す図である。
情報ロガー装置40の記憶部45には、情報ロガー装置40を所有するユーザに関する情報であるユーザ情報400が記憶される。図7(a)に示すように、ユーザ情報400は、ユーザID401、ニックネーム402、シュート回数403、累積回転速度404、ベスト1位回転速度405、ベスト2位回転速度406、ベスト3位回転速度407、平均回転速度408、全ユーザ平均回転速度409、全ユーザベスト回転速度410等を有する。
ユーザID401は、情報ロガー装置40を所有するユーザの識別情報である。ニックネーム402は、ユーザID401のユーザのニックネームである。シュート回数403は、ユーザID401のユーザの全てのコマ50のシュート回数である。以下、「シュート」とは、コマ50を回転させる動作を意味し、「プレイ」とは、ゲーム筐体20のゲームを遊ぶ動作を意味するものとする。
累積回転速度404は、ユーザID401のユーザの今までの全てのコマ50の累積回転速度である。ベスト1位回転速度405は、ユーザID401のユーザの今までのベスト1位のコマ50の回転速度である。ベスト2位回転速度406は、ユーザID401のユーザの今までのベスト2位のコマ50の回転速度である。ベスト3位回転速度407は、ユーザID401のユーザの今までのベスト3位のコマ50の回転速度である。
平均回転速度408は、ユーザID401のユーザの今までの全てのコマ50の平均回転速度である。全ユーザ平均回転速度409は、全ユーザのコマ50の平均回転速度である。全ユーザベスト回転速度410は、全ユーザのコマ50のベスト1位の回転速度である。
ユーザID401は、サーバ10により割り振られたユニークなIDである。ニックネーム402は、通信部47に接続された情報処理装置にユーザ入力され、サーバ10に登録し、情報処理装置から情報ロガー装置40に送信された情報である。シュート回数403、累積回転速度404、ベスト1位回転速度405、ベスト2位回転速度406、ベスト3位回転速度407、平均回転速度408は、コマ50がセットされたランチャーに接続された情報ロガー装置40により、ユーザのシュート動作に応じて、適宜検出、算出及び書き換えられる情報である。全ユーザ平均回転速度409、全ユーザベスト回転速度410は、サーバ10から情報処理装置等を介して情報ロガー装置40に送信された情報である。
コマ50の記憶部53には、当該コマ50を用いて遊んだゲームに関するゲーム情報500が記憶される。図7(b)に示すように、ゲーム情報500は、コマID501、プレイ回数502、オフラインプレイ回数503、最後プレイ日付情報504、コマポイント505、累積コマポイント506を有する。
コマID501は、コマ50の識別情報である。コマIDには、コマ50(メインパーツ)の形状、機能等の種類が含まれているものとするが、これに限定されるものではなく、コマIDと別にコマの種類情報が設定される構成としてもよい。
プレイ回数502は、コマID501のコマ50を用いた1日のゲームのプレイ回数であり、ゲームがプレイできる回数は1日1回という制限があるので、0又は1の値をとる。オフラインプレイ回数503は、コマID501のコマ50を用いたオフライン筐体のゲーム筐体20でのゲームのプレイ回数であり、オンライン筐体のプレイによりリセットされる。最後プレイ日付情報504は、コマID501のコマ50を用いてゲームをプレイした最後の日付情報である。
コマポイント505は、コマID501のコマ50を用いて得た現在のコマポイントである。累積コマポイント506は、コマID501のコマ50を用いて得た累積のコマポイントである。
ここで、ゲーム筐体20に提供されるゲームは、コンピュータ上でコマ同士が対戦するゲーム(コマ対戦ゲーム)であるものとする。ゲーム筐体20にセットしたコマ50に対応する仮想のコマと、対戦相手の仮想のコマとが、実際のコマ50の対戦を模した遊戯台上で対戦し、勝敗が付けられる。ユーザのコマが勝利すると、景品としてのカプセル収納部29aのカプセルとコマポイントとがユーザに付与される。コマポイントは、例えば、カプセルとは別の景品に交換可能なポイントとなる。このため、コマポイント505は、景品交換を反映した残りのコマポイントとなる。
サーバ10の記憶部15には、全ユーザのゲーム情報を含むユーザ情報テーブル100が記憶される。図7(c)に示すように、ユーザ情報テーブル100は、ユーザID101、コマID102、プレイ回数103、累積プレイ回数104、コマポイント105、累積コマポイント106等の項目を有する。
ユーザID101は、ユーザの識別情報である。コマID102は、ユーザID101のユーザがシュートに使用したコマ50の識別情報である。プレイ回数103は、コマID102のコマ50の1日のプレイ回数である。また、サーバ10の制御部11は、計時部13からの現在日時情報を監視し、現在日時情報が24時00分(1日の終わり)になった場合に、全てのプレイ回数502の値を0にリセットすることとしてもよい。
累積プレイ回数104は、コマID102のコマ50を用いたゲームの累積プレイ回数である。コマポイント105は、コマID102のコマ50の現在のポイント情報である。累積コマポイント106は、コマID102のコマ50の累積のポイント情報である。
ユーザ情報テーブル100は、例えば、ニックネーム402、シュート回数403、累積回転速度404、ベスト1位回転速度405、ベスト2位回転速度406、ベスト3位回転速度407、平均回転速度408にそれぞれ対応するニックネーム、シュート回数、累積回転速度、ベスト1位回転速度、ベスト2位回転速度、ベスト3位回転速度、平均回転速度等、他の項目を有するものとする。
次に、図8〜図12を参照して、ゲームシステム1の動作を説明する。より具体的には、ゲーム筐体20で実行されるゲーム提供処理を説明する。図8は、ゲーム提供処理を示すフローチャートである。図9は、図8のゲーム提供処理のタイトル処理を示すフローチャートである。図10は、図8のゲーム提供処理のメニュー処理を示すフローチャートである。図11は、図8のゲーム提供処理のリザルト処理を示すフローチャートである。図12は、図11のリザルト処理の続きを示すフローチャートである。
ゲーム提供処理は、コマ50を所有するユーザにゲーム(コマ対戦ゲーム)を提供する処理であり、オンライン筐体とオフライン筐体とで同じ処理とする。ゲームをするために、ユーザは、所有する情報ロガー装置40と少なくとも一つのコマ50とを所持して、オンライン筐体又はオフライン筐体のゲーム筐体20の設置場所に行く。但し、情報ロガー装置40がない場合には、コマ50のみでもゲームのプレイが可能である。
ゲーム筐体20において、例えば、電源投入されたことや、前回のゲーム提供処理が終了したことをトリガとして、制御部21は、記憶部25に記憶されたゲーム提供プログラム251に従い、ゲーム提供を実行する。
図8に示すように、制御部21は、タイトル画面表示等の初期設定の処理を行うタイトル処理を実行する(ステップS1)。ここで、図9を参照して、ステップS1のタイトル処理を説明する。
図9に示すように、制御部21は、タイトル画面情報を表示部24に表示する(ステップS11)。タイトル画面情報は、提供するゲームのタイトル情報、コマ50の1つをコマセット部28aにセットさせる指示情報等を含むものとする。ユーザは、タイトル画面情報に従い、所持しているコマ50の1つをコマセット部28aにセットする。なお、ステップS11で、プレイ回数、回転速度等のランキング情報等、他の情報が、タイトル画面情報と画面切り替えにより表示されることとしてもよい。
そして、制御部21は、NFC通信部28を介してコマ50との通信を行い、その成否により、コマ50がコマセット部28aにセットされたか否かを判別する(ステップS12)。コマ50がセットされていない場合(ステップS12;NO)、制御部21は、ステップS11に移行する。
コマ50がセットされた場合(ステップS12;YES)、制御部21は、NFC通信部28を介してコマ50にゲーム情報500を要求して読み出す(ステップS13)。コマ50の制御部51は、NFC通信部52を介してゲーム情報500の要求をゲーム筐体20から受信すると、記憶部53からゲーム情報500を読み出して、NFC通信部52を介してゲーム筐体20に送信する。
そして、制御部21は、ステップS13でゲーム情報500の読み出しをできたか否かを判別する(ステップS14)。ゲーム情報500を読み出せない場合(ステップS14;NO)、制御部21は、ステップS11に移行する。ゲーム情報500を読み出せた場合(ステップS14;YES)、制御部21は、例えば、通信部26を介してサーバ10と通信ができるか否かにより、自機のゲーム筐体20がオンライン筐体であるか否かを判別する(ステップS15)。オフライン筐体である場合(ステップS15;NO)、制御部21は、自機のゲーム筐体20がオフライン筐体である旨の情報を表示部24に表示する(ステップS16)。
そして、制御部21は、計時部23から現在日時情報を取得し、ステップS13で読み出したゲーム情報500のプレイ回数502、最後プレイ日付情報504から、最後のプレイ日付が、現在日時情報の日付と同日でないか否かを判別する(ステップS17)。プレイ回数502が0である場合は、同日でなく、プレイ回数502が1である場合、最後プレイ日付情報504の日付が現在日時情報の日付と同日であるか否かが判別される。同日でない場合(ステップS17;YES)、制御部21は、タイトル処理を終了する。
オンライン筐体である場合(ステップS15;YES)、制御部21は、計時部23から現在日時情報を取得し、ステップS13で読み出したゲーム情報500のプレイ回数502、最後プレイ日付情報504から、最後のプレイ日付が、現在日時情報の日付と同日でないか否かを判別する(ステップS18)。同日である場合(ステップS18;NO)、制御部21は、ステップS12でセットされたコマ50を用いていずれかのゲーム筐体20で当日にゲームをプレイ済である旨のエラー情報を表示部24に表示し(ステップS19)、ステップS11に移行する。同日である場合(ステップS17;NO)、制御部21は、ステップS19に移行する。
同日でない場合(ステップS18;YES)、制御部21は、通信部26を介して、ステップS13で読み出したゲーム情報500のコマID501をサーバ10に送信する(ステップS20)。サーバ10は、当日にゲームをプレイ済のコマ50のコマIDのリストを記憶部15に記憶しているものとする。サーバ10の制御部11は、通信部16を介して、コマID501をゲーム筐体20から受信し、コマID501が記憶部15のリストにあるか否かを判別し、通信部16を介してその判別結果をコマID送信元のゲーム筐体20に送信する。
そして、制御部21は、ステップS20でサーバ10へのコマID501の送信が成功したか否かを判別する(ステップS21)。コマID501送信が失敗した場合(ステップS21;NO)、制御部21は、サーバ10への通信接続が失敗した旨のエラー情報を表示部24に表示し(ステップS22)、ステップS11に移行する。
コマID501送信が成功した場合(ステップS21;YES)、制御部21は、ステップS20で受信した判別結果に応じて、サーバ10のコマIDのリストに、ステップS13で読み出したコマID501がないか否かを判別する(ステップS23)。コマID501がある場合(ステップS23;NO)、制御部21は、ステップS19に移行する。
コマID501がない場合(ステップS23;YES)、制御部21は、通信部26を介して、リストへのステップS13で読み出したコマID501の登録要求を送信して、サーバ10に登録し、計時部13から現在日時情報を取得し、NFC通信部28を介して、現在日時情報に対応する現在日付情報をコマ50に送信し、ゲーム情報500の最後プレイ日付情報504に現在日付情報を書き込ませる(ステップS24)。サーバ10の制御部11は、通信部16を介して、登録要求をゲーム筐体20から受信し、ステップS20で送信されたコマID501を記憶部15のリストに追加して登録する。コマ50の制御部51は、NFC通信部52を介して、現在日付情報をゲーム筐体20から受信し、記憶部53の最後プレイ日付情報504に現在日付情報を書き込む。
そして、制御部21は、ステップS24の両方の処理が成功したか否かを判別する(ステップS25)。両方の処理が成功した場合(ステップS25;YES)、制御部21は、タイトル処理を終了する。両方の処理が成功していない場合(ステップS25;NO)、制御部21は、ステップS24のサーバ10へのコマID501のリスト登録ができたか否かを判別する(ステップS26)。サーバ10へのリスト登録ができなかった場合(ステップS26;NO)、制御部21は、サーバ10への通信接続が失敗した旨のエラー情報を表示部24に表示し(ステップS27)、ステップS11に移行する。
サーバ10へのリスト登録ができた場合(ステップS26;YES)、制御部21は、コマセット部28aへのコマ50の再セットを促す旨の情報を表示部14に表示する(ステップS28)。ユーザは、コマ50をコマセット部28aへ再セットする。
そして、制御部21は、ステップS26;YESでの連続したエラー回数が2回以上か2回未満かを判別する(ステップS29)。エラー回数が2回未満である場合(ステップS29;2回未満)、制御部21は、ステップS28に対応して、計時部13からの現在日時情報を用いて、ステップS28で所定の制限時間内に、NFC通信部28を介してコマ50と通信できて再セットされたか否かを判別する(ステップS30)。制限時間内に再セットされた場合(ステップS30;YES)、制御部21は、ステップS24に移行する。
エラー回数が2回以上である場合(ステップS29;2回以上)、又は制限時間内に再セットされない場合(ステップS30;NO)、制御部21は、セットされたコマ50に情報が書き込めない旨のエラー情報を表示部24に表示する(ステップS31)。そして、制御部21は、通信部26を介して、リストからのステップS13で読み出したコマID501の削除要求をサーバ10に送信し(ステップS32)、ステップS11に移行する。サーバ10の制御部11は、通信部16を介して、削除要求をゲーム筐体20から受信し、ステップS20で送信されたコマID501を記憶部15のリストから削除する。
図8に戻り、制御部21は、ユーザ認識に関する処理やゲームを提供するメニュー処理を実行する(ステップS2)。ここで、図10を参照して、ステップS2のメニュー処理を説明する。
図10に示すように、制御部21は、ロガーセット画面情報を表示部24に表示する(ステップS41)。ロガーセット画面情報は、情報ロガー装置40をロガーセット部27aにセットさせる指示情報等を含むものとする。ユーザは、ロガーセット画面情報に従い、所持している情報ロガー装置40をロガーセット部27aにセットする。
そして、制御部21は、操作部22の決定のボタン22aが押下入力されたか否かを判別する(ステップS42)。ボタン22aが押下入力されていない場合(ステップS42;NO)、制御部21は、操作部22のキャンセルのボタン22bが押下入力されたか否かを判別する(ステップS43)。ボタン22bが押下入力されていない場合(ステップS43;NO)、制御部21は、計時部23から取得した現在日時情報を用いて、ロガーセット画面情報の表示開始から所定の制限時間が経過したか否かを判別する(ステップS44)。制限時間が経過していない場合(ステップS44;NO)、制御部21は、ステップS41に移行する。
ボタン22aが押下入力された場合(ステップS42;YES)、制御部21は、赤外線通信部27を介して、情報ロガー装置40にユーザ情報400を要求して読み出す(ステップS45)。情報ロガー装置40の制御部41は、赤外線通信部46を介してユーザ情報400の要求をゲーム筐体20から受信すると、記憶部45からユーザ情報400を読み出して、赤外線通信部46を介してゲーム筐体20に送信する。
そして、制御部21は、ステップS45でユーザ情報400の読み出しをできたか否かを判別する(ステップS46)。ユーザ情報400を読み出せない場合(ステップS46;NO)、制御部21は、ユーザ情報400を読み出せない旨のエラー情報を表示部24に表示し(ステップS47)、ステップS41に移行する。
ユーザ情報400を読み出せた場合(ステップS46;YES)、制御部21は、例えば、通信部26を介してサーバ10と通信ができるか否かにより、自機のゲーム筐体20がオンライン筐体であるか否かを判別する(ステップS48)。オフライン筐体である場合(ステップS48;NO)、制御部21は、ユーザにゲームを提供するゲーム処理を実行し(ステップS49)、メニュー処理を終了する。ボタン22bが押下入力された場合(ステップS43;YES)、又は制限時間が経過した場合(ステップS44;YES)、制御部21は、ステップS49に移行する。
ステップS49のゲーム処理では、制御部21は、先ず、ユーザのコマとコンピュータ上の対戦相手のコマとの対戦の勝敗結果を所定の計算式により算出し、ステップS13で読み出したコマIDのコマの種類に応じた3DCG(Computer Graphics)のコマをユーザのコマとし、対戦相手のコマの種類を設定し、これら2つのコマを遊技台上に置いた対戦画面情報を表示部24に表示する。そして、制御部21は、ワインダー22cを介してユーザからの引っ張り操作入力を受け付け、コマの対戦開始〜終了まで、様々なエフェクトを加えるとともに対戦画面情報を変化させて表示する。このとき、制御部21は、ワインダー22cへの引っ張り操作入力の強さ情報は、RAMに保持しておくものとする。
オンライン筐体である場合(ステップS48;YES)、制御部21は、通信部26を介して、ステップS45で読み出したユーザ情報400のユーザID401の登録確認要求を送信して、確認結果をサーバ10から受信し、当該確認結果に応じて、情報ロガー装置40が、そのコマID501がユーザ情報テーブル100に登録されていない新規ロガーであるか否かを判別する(ステップS50)。サーバ10の制御部11は、通信部16を介して、登録確認要求をゲーム筐体20から受信し、受信したユーザID401が、記憶部15のユーザ情報テーブル100のユーザID101にあるか否かを確認し、通信部16を介して、確認結果をゲーム筐体20に送信する。
新規ロガーである場合(ステップS50;YES)、制御部21は、通信部26を介して、ユニークなユーザIDの要求を送信して、ユーザIDをサーバ10から受信し、ユーザIDを受信して取得したか否かを判別する(ステップS51)。サーバ10の制御部11は、通信部16を介して、ユーザIDの要求をゲーム筐体20から受信し、記憶部15のユーザ情報テーブル100のユーザID101にないユーザIDを新たに生成し、通信部16を介して、生成したユーザIDをゲーム筐体20に送信する。
ユーザIDを取得していない場合(ステップS51;NO)、制御部21は、サーバ10との通信接続が失敗した旨のエラー情報を表示部24に表示し(ステップS52)、ステップS49に移行する。ユーザIDを取得した場合(ステップS51;YES)、制御部21は、赤外線通信部27を介して、ステップS51で取得したユーザIDを情報ロガー装置40に送信してユーザID401に書き込む(ステップS53)。情報ロガー装置40の制御部41は、赤外線通信部46を介して、ユーザIDをゲーム筐体20から受信し、記憶部45のユーザ情報400のユーザID401に書き込み、赤外線通信部46を介して、書き込みの成否情報をゲーム筐体20に送信する。
そして、制御部21は、赤外線通信部27を介して、ユーザIDの書き込みの成否情報を情報ロガー装置40から受信し、当該成否情報に応じて、ユーザIDの書き込みが成功したか否かを判別する(ステップS54)。ユーザIDの書き込みが成功した場合(ステップS54;YES)、制御部21は、新規ユーザである旨と、情報処理装置を用いたユーザ情報の本登録を促すアナウンス画面情報を表示部24に表示し(ステップS55)、ステップS49に移行する。
ユーザ情報の本登録では、ゲーム提供処理とは別に、情報ロガー装置40の通信部47に情報処理装置を接続し、登録されたユーザIDに紐づけるニックネーム等のユーザ情報を情報処理装置の操作部に入力し、情報処理装置が、入力した情報をユーザIDとともにサーバ10に送信し、制御部11は、入力された情報を、ユーザ情報テーブル100の受信したユーザID101に対応して登録させる。このとき、制御部11は、ユーザID101に対応するパスワードを生成し、ユーザIDに対応付けて記憶部15に記憶するとともに、通信部16を介して、当該パスワードを情報処理装置に送信する。情報処理装置は、通信部47を介してパスワードを情報ロガー装置40に送信し、ユーザIDに対応付けて記憶部45に記憶させる。
ユーザIDの書き込みが失敗した場合(ステップS54;NO)、制御部21は、情報ロガー装置40へのユーザID書き込みが失敗した旨のエラー情報を表示部24に表示する(ステップS56)。そして、制御部21は、操作部22のボタン22a,22bの押下入力を受け付け、その入力された操作が何であるかを判別する(ステップS57)。
操作がボタン22a押下である場合(ステップS57;ボタン22a)、制御部21は、ステップS54に移行する。操作がボタン22b押下である場合(ステップS57;ボタン22b)、制御部21は、ステップS41に移行する。操作がなく所定の制限時間のタイムアウトである場合(ステップS57;なし)、制御部21は、ステップS49に移行する。
新規ロガーでない場合(ステップS50;NO)、制御部21は、赤外線通信部27を介してステップS45で読み出したユーザ情報400のユーザID401に対応するパスワードを読み出し、通信部26を介して、ニックネーム等のユーザ情報要求をパスワードとともにサーバ10に送信して、そのユーザ情報をサーバ10から受信し、ユーザ情報を受信したか否かを判別する(ステップS58)。サーバ10の制御部11は、通信部16を介して、ユーザIDに対応するユーザ情報要求をパスワードとともにゲーム筐体20から受信すると、受信したユーザIDに対応するパスワードを記憶部15から読み出し、受信したパスワードが読み出したパスワードと同一か否かを判別し、同一である場合に、記憶部15のユーザ情報テーブル100の受信したユーザID101に対応するニックネーム等の項目からユーザ情報を読み出し、通信部16を介してゲーム筐体20に送信する。
ユーザ情報を受信した場合(ステップS58;YES)、制御部21は、ステップS13で取得したユーザ情報と、ステップS58で取得したユーザ情報とを最新の情報にするよう同期をとり、通信部26を介して、同期したユーザ情報をサーバ10に送信してユーザ情報テーブル100に反映させ、赤外線通信部27を介して、同期したユーザ情報を情報ロガー装置40に送信してユーザ情報400に反映させ(ステップS59)、ステップS49に移行する。サーバ10の制御部11は、通信部16を介して、ユーザIDに対応するユーザ情報をゲーム筐体20から受信し、受信した最新のシュート回数等の項目を記憶部15のユーザ情報テーブル100の受信したユーザID101に対応する項目に書き込む。情報ロガー装置40の制御部41は、赤外線通信部46を介して、ユーザ情報をゲーム筐体20から受信し、受信した最新のニックネーム等の項目を記憶部45のユーザ情報400の受信したユーザID401に対応する項目に書き込み、サーバ10に同期する。
ユーザ情報を受信していない場合(ステップS58;NO)、制御部21は、ステップS58でサーバ10に通信接続できたか否かを判別する(ステップS60)。サーバ10に通信接続できていない場合(ステップS60;NO)、制御部21は、サーバ10への通信接続が失敗した旨のエラー情報を表示部24に表示し(ステップS61)、ステップS41に移行する。
サーバ10に通信接続できた場合(ステップS60;YES)、制御部21は、通信部26を介するサーバ10への問い合わせにより、ステップS58でサーバ10に送信したパスワードがOK(サーバ10のパスワードと同一)であるか否かを判別する(ステップS62)。パスワードがOKでない場合(ステップS62;NO)、制御部21は、パスワードが異なっている旨のエラー情報を表示部24に表示し(ステップS63)、ステップS41に移行する。パスワードがOKである場合(ステップS62;YES)、制御部21は、ログインのエラー情報を表示部24に表示し(ステップS64)、ステップS41に移行する。
図8に戻り、制御部21は、ゲームの結果表示や、後処理を行うリザルト処理を実行し(ステップS3)、ゲーム提供処理を終了する。ここで、図11、図12を参照して、ステップS3のリザルト処理を説明する。
図11に示すように、制御部21は、リザルト画面情報を表示部24に表示する(ステップS71)。リザルト画面情報は、ゲームの勝敗の結果、勝利した場合の獲得できる景品(カプセル収納部29aのカプセル)、コマポイントの情報を含む。獲得できるコマポイントは、ステップS49で保持されたワインダー22cへの引っ張り操作入力の強さ情報に応じて、変化されるものとしてもよい。ユーザが勝利した場合、制御部21は、景品提供部29により、カプセルをカプセル収納部29aからカプセル取出部29bに排出する。ユーザは、カプセル取出部29bからカプセルを取り出す。
そして、制御部21は、情報ロガー装置40、コマ50への書き込み画面情報を表示部24に表示する(ステップS72)。書き込み画面情報は、情報ロガー装置40をロガーセット部27aにセットさせる指示情報、コマ50をコマセット部28aにセットさせる指示情報等を含むものとする。ユーザは、書き込み画面情報に従い、所持している情報ロガー装置40をロガーセット部27aにセットし、所持しているコマ50をコマセット部28aにセットする。
そして、制御部21は、ステップS2で情報ロガー装置40が正常に使用されたか(ステップS55又はS59が実行されたか)否かを判別する(ステップS73)。情報ロガー装置40が使用された場合(ステップS73;YES)、制御部21は、例えば、通信部26を介してサーバ10と通信ができるか否かにより、自機のゲーム筐体20がオンライン筐体であるか否かを判別する(ステップS74)。
オフライン筐体である場合(ステップS74;NO)、制御部21は、自機のゲーム筐体20がオンライン筐体である旨の情報を表示部24に表示する(ステップS75)。そして、ステップS13と同様に、制御部21は、制御部21は、NFC通信部28を介してコマ50にゲーム情報500を要求して読み出す(ステップS76)。
オンライン筐体である場合(ステップS74;YES)、制御部21は、通信部26を介して、ステップS13で読み出したゲーム情報500と、ステップS49でのゲームの結果情報(ゲームのプレイ回数+1、+獲得したコマポイント)とをサーバ10に送信してユーザ情報テーブル100を更新させ、ユーザ情報を更新できたか否かを判別する(ステップS77)。ステップS77でも、ステップS58と同様に、制御部21は、ユーザID及びパスワードを情報ロガー装置40から読み出し、当該ユーザID及びパスワードとともに、ゲーム情報500及び結果情報をサーバ10へ送信する。制御部11は、受信したパスワードが、記憶部15の受信したユーザに対応するパスワードと同一である場合に、受信したゲーム情報500のオフライン時の情報(オフラインプレイ回数503、コマポイント505、累積コマポイント506)とステップS49での結果情報とで、コマID102に対応するプレイ回数103、累積プレイ回数104、コマポイント105、累積コマポイント106を更新し、更新完了情報をゲーム筐体20に送信する。なお、サーバ10のユーザIDに対応する情報書き込み毎に、当該ユーザIDのパスワードが変更されるため、ステップS77でもサーバ10の記憶部15に記憶される当該ユーザIDのパスワードが変更され、ゲーム筐体20を介して、当該ユーザID及び変更後のパスワードが情報ロガー装置40に送信され、記憶部45に記憶される。
ユーザ情報を更新できた場合(ステップS77;YES)、制御部21は、通信部26を介して、更新完了情報をサーバ10から受信したか否かにより、更新完了情報をサーバ10から受信したか否かにより、サーバ10へのユーザ情報のアップロードが成功したか否かを判別する(ステップS78)。アップロードが成功していない場合(ステップS78;NO)、制御部21は、サーバ10へのユーザ情報のアップロードが失敗した旨のエラー情報を表示部24に表示し(ステップS79)、ステップS77に移行する。アップロードが成功した場合(ステップS78;YES)、制御部21は、ステップS76に移行する。
ユーザ情報を更新できない場合(ステップS77;NO)、制御部21は、ステップS80を実行する。ステップS80〜S84は、ステップS60〜S64と同様である。ステップS81,S83,S84の後、制御部21は、ステップS76に移行する。
ステップS76の後、制御部21は、ステップS76でゲーム情報500の読み出しができたか否かを判別する(ステップS85)。ゲーム情報500の読み出しができない場合(ステップS85;NO)、制御部21は、ステップS85;NOでの連続したエラー回数が2回以上か2回未満かを判別する(ステップS86)。エラー回数が2回未満である場合(ステップS86;2回未満)、制御部21は、ステップS76でゲーム情報の読み出しエラーでありコマセット部28aへのコマ50の再セットを促す旨のエラー情報を表示部24に表示する(ステップS87)。
そして、制御部21は、NFC通信部28を介するコマ50との通信の有無により、ステップS87で所定の制限時間内にコマ50が再セットされたか否かを判別する(ステップS88)。制限時間内に再セットされた場合(ステップS88;YES)、制御部21は、ステップS76に移行する。エラー回数が2回以上である場合(ステップS86;2回以上)、又は制限時間内に再セットされない場合(ステップS88;NO)、制御部21は、ゲーム情報読み出しのエラー情報を表示部24に表示する(ステップS89)。
図12に示すように、ゲーム情報500の読み出しができた場合(ステップS85;YES)、制御部21は、ステップS76で読み出したコマID501とステップS13で読み出したコマID501とが同じか否かを判別する(ステップS90)。コマID501が同じ場合(ステップS90;YES)、制御部21は、計時部23から現在日時情報を取得し、NFC通信部28を介して、ステップS49のゲームの結果情報(ゲームのプレイ回数+1、+獲得したコマポイント)と現在日時情報に対応する日付情報とをコマ50に送信し、記憶部53のゲーム情報500に書き込ませる(ステップS91)。コマ50の制御部51は、NFC通信部52を介して、結果情報、日付情報を受信し、ゲームのプレイ回数+1をゲーム情報500のプレイ回数502に書き込み、日付情報を最後プレイ日付情報504に書き込み、+獲得したコマポイントをコマポイント505、累積コマポイント506に書き込む。また、制御部51は、制御部21の指示により、ステップS73でサーバ10へのアップロードが成功した場合に、オフラインプレイ回数503をリセットする。
そして、制御部21は、ステップS91でのゲーム情報の書き込みが成功したか否かを判別する(ステップS92)。書き込みが成功した場合(ステップS92;YES)、制御部21は、ゲーム提供処理の終了を示す情報を表示部24に表示し(ステップS93)、リザルト処理を終了する。ステップS89の実行後、制御部21は、ステップS93に移行する。
コマID501が同じでない場合(ステップS90;NO)、制御部21は、ステップS90;NO又はステップS92;NOでの連続したエラー回数が2回以上か2回未満かを判別する(ステップS94)。書き込みが成功していない場合(ステップS92;NO)、制御部21は、ステップS94に移行する。エラー回数が2回未満である場合(ステップS94;2回未満)、制御部21は、ステップS90でコマID501が不一致又はステップS91でゲーム情報500の書き込み失敗でありコマセット部28aへのコマ50の再セットを促す旨のエラー情報を表示部24に表示する(ステップS95)。
そして、制御部21は、NFC通信部28を介するコマ50との通信の有無により、ステップS94で所定の制限時間内にコマ50が再セットされたか否かを判別する(ステップS96)。制限時間内に再セットされた場合(ステップS96;YES)、制御部21は、ステップS76に移行する。エラー回数が2回以上である場合(ステップS94;2回以上)、又は制限時間内に再セットされない場合(ステップS96;NO)、制御部21は、コマ50セットのエラー情報を表示部24に表示し(ステップS97)、ステップS93に移行する。
以上、本実施の形態によれば、ゲーム筐体20は、ユーザIDを記憶した情報ロガー装置40と通信する赤外線通信部27と、ゲーム情報を読み出し及び書き込み可能に記憶したコマ50と通信するNFC通信部28と、NFC通信部28を介してコマ50と通信可能な場合に、赤外線通信部27を介してユーザIDを情報ロガー装置40から受信し、ゲームを提供し、当該提供したゲームの結果情報でコマ50に記憶されたゲーム情報を更新する制御部21と、を備える。
このため、コマ50を用いたゲームを提供する場合に、情報ロガー装置40のユーザIDを用いて、ユーザ毎のゲーム情報を容易に管理でき、ユーザが、ユーザIDを変えることなく、コマ50を集めることで、コマ50の分だけゲームをプレイでき、ユーザのコマ50収集の楽しみを増加させることができる。
また、ゲーム筐体20は、サーバ10と通信する通信部26を備え、制御部21は、通信部26を介してゲームの結果情報を前記読み出されたユーザIDに対応付けてサーバ10に送信し、ユーザIDに対応するゲーム情報としてサーバ10に管理させる。このため、サーバ10が、ユーザIDを用いて、ユーザ毎のゲーム情報を容易に管理できるとともに、サーバ10のユーザ毎のゲーム情報を、サーバ10に通信接続される他のスマートフォン等の情報処理装置におけるゲーム等の処理に応用できる。
また、コマ50及びサーバ10に記憶されているゲーム情報は、ゲームを行ったプレイ回数502,103を含み、制御部21は、通信可能なコマ50のプレイ回数502に応じて、当該コマ50に対応して提供するゲームの回数を制限する。このため、全てのコマ50のゲーム回数を管理することで、従来のカードゲームのように複数のカードのうち所定のカードを使わないことを避け、不要なコマ50が無くなり、各コマ50を有効活用できるとともに、所定のユーザがゲーム筐体20を長時間独占することを防ぐことができる。
また、コマ50に記憶されているゲーム情報は、ゲームを最後にプレイした所定時間(1日)を示す最後プレイ日付情報504を含み、制御部21は、通信可能なコマ50のプレイ回数502及び最後プレイ日付情報504に応じて、当該コマ50に対応して前記所定時間に提供するゲームの回数を制限する。このため、所定時間毎にゲームの回数制限をリセットでき、ゲーム筐体20が置いてあるお店にユーザに足を運んでもらいやすくできる。
ゲームシステム1は、ゲーム筐体20と、情報ロガー装置40と、コマ50と、サーバ10と、を備える構成とできる。
なお、上記実施の形態における記述は、本発明に係る好適なゲーム装置の一例であり、これに限定されるものではない。
例えば、上記実施の形態では、ゲームのプレイ回数がコマ50毎に1日1回に制限されているが、これに限定されるものではない。例えば、ゲームのプレイ回数が、1日に所定の複数回に制限してもよいし、所定時間毎に1回又は複数回に制限してもよい。例えば、ゲームのプレイ回数を1日に複数回に制限する場合、図9のタイトル処理において、セットされたコマ50に記憶された最後時間情報としての最後プレイ日付情報504が現在日付でない場合に、プレイ回数502がリセットされてゲームを提供し(メニュー処理に進み)、コマ50に記憶された最後プレイ日付情報504が現在日付である場合に、プレイ回数502が1日の制限回数未満の場合に、ゲームを提供する(メニュー処理に進む)構成とする。
また、上記実施の形態では、第1形象物を情報ロガー装置40とし、第2形象物をコマ50としたが、これに限定されるものではない。
また、以上の実施の形態におけるゲームシステム1を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。