(実施の形態1)
図1は、本発明の実施の形態によるマッチングシステムの構成図である。マッチングシステムは、複数のゲーム装置1及びサーバ3を含む。ゲーム装置1は、アミューズメント施設等の店舗に設置されている。また、ゲーム装置1は、ルータ2及びネットワークNTを介してサーバ3と通信可能に接続されている。サーバ3は、例えば、サーバ機能を備えるコンピュータにより構成され、複数のユーザがゲーム装置1を操作することで行うゲームを管理する。
ゲーム装置1は、ユーザがモニタに表示されるゲーム画面を参照して行う所定の操作を受け付け、操作情報を他のゲーム装置1やサーバ3に送信する。また、ゲーム装置1は、サーバ3や他のゲーム装置1から送信される種々の情報を受信する。このように、ゲーム装置1は、他のゲーム装置1及びサーバ3と情報を送受しながらゲームを進行させる。
なお、ゲーム装置1には、各ゲーム装置1を一意的に特定するための識別情報が予め付与されている。識別番号としては、ゲーム装置1が配設されている店舗の識別情報と、ゲーム装置1の店舗内での識別情報(端末番号という)とを組み合わせた記号列が採用される。ルータ2は、各店舗に設置され、ゲーム装置1及びサーバ3を通信可能に接続する。ここで、ゲーム装置1及びサーバ3は、例えば、TCP/IP等の通信プロトコルにしたがってデータを送受する。
図2は、本発明の実施の形態によるゲーム装置1の外観を示す斜視図である。なお、以下の説明では、ゲーム装置1として、モニタが一体に構成された業務用ビデオゲーム装置を採用するが、本発明はこれに限定されず、家庭用のゲーム機を採用してもよいし、ゲームプログラムを実行することでゲーム装置1として機能するパーソナルコンピュータ或いはスマートフォン等の携帯端末を採用してもよい。
また、本実施の形態において、ゲーム装置1を用いて行なわれるゲームとしては、ユーザ同士が対戦する麻雀ゲームを採用する。但し、これは一例にすぎず、対戦相手をマッチングするゲームであればどのようなゲームを採用してもよい。例えば、野球ゲーム、サッカーゲーム等のスポーツゲームや格闘ゲーム等が挙げられる。或いは、対戦相手のみならず、複数のユーザが協力して一つの目的を達成するゲームにあっては、ゲームの協力者を探索するために本マッチングシステムは採用されてもよい。
ゲーム装置1は、モニタ11、スピーカ12、カードリーダ13、及びコイン受付部14を備えている。モニタ11は、例えば、液晶ディスプレイや有機ELディスプレイにより表示され、ゲーム画面を表示する。
モニタ11は、タッチパネル11aを備えている。タッチパネル11aは、モニタ11においてユーザがタッチした位置を検出する。
ゲーム装置1は、ユーザがタッチした位置にボタンが表示されていれば、そのボタンをユーザが押したと判定する。スピーカ12は、ゲームの効果音等の種々の音声を出力する。カードリーダ13は、例えば、ICカードリーダや磁気カードリーダにより構成され、ユーザが所持する個人カードに記憶されたユーザID等のユーザ情報を読み込む。コイン受付部14は、ユーザが投入するコインを受け付ける。
個人カードは、例えば、磁気カードやICカードにより構成され、ユーザID等のユーザの個人情報を記憶する。なお、カードリーダ13は、個人カードが所定のカード挿入口に差し込まれる或いは所定のタッチ位置にかざされたときに個人カードから個人情報を読み出す。読み出された個人情報はサーバ3にゲーム装置1を通じて送信され、関連するより多くのユーザ情報を得るために利用される。また、個人情報にはユーザIDが含まれているため、サーバ3は、ユーザIDをキーにして、該当するユーザに関する情報を特定することができる。
図3は、本発明の実施の形態によるゲーム装置1のハードウェア構成を示すブロック図である。ゲーム装置1は、制御部110、ネットワーク通信部120、描画処理部130、音声再生部140、及び外部I/F(インターフェイス)150を備える。
制御部110は、ゲーム装置1の全体制御を司り、CPU111、RAM112、及びROM123を備える。CPU111は、ゲームプログラムをROM113から読み出し、ゲームプログラムをデコードし、ゲームを進行させる。RAM112は、CPU111の作業領域として用いられる。ROM113は、ゲーム画面の画像データやゲームプログラム等を記憶する。
外部I/F150は、タッチパネル11a、カードリーダ13、及びコイン受付部15から出力された信号をバスラインBAを介して制御部110に出力する。また、外部IF150は、制御部110から出力された制御信号をタッチパネル11a、カードリーダ13、及びコイン受付部14に出力する。
描画処理部130は、例えば、ビデオRAMを備え、制御部110からの画像表示指示に従ってゲーム画像をモニタ11に表示させる。具体的には、描画処理部130は、3次元のゲーム空間に麻雀牌の3次元モデルデータを配置し、3次元モデルデータに所定のテクスチャを貼り付けてレンダリングする。そして、描画処理部130は、レンダリングにより得られた画像データを所定の背景画像と合成して所定のフレームレートでビデオRAMに書き込むことで、ゲーム画像をモニタ11に表示させる。
音声再生部140は、制御部110の制御の下、ゲームのメッセージやBGM等の音声をスピーカ12から出力させる。
ROM113は、麻雀牌オブジェクトや麻雀卓の3次元モデルデータ、麻雀牌や麻雀卓のテクスチャ、及び背景画像等のゲームに用いられる種々の画像データを記憶する。
ネットワーク通信部120は、ゲーム装置1をインターネットに接続するための通信装置により構成され、麻雀ゲームの実行中に発生する種々の情報をネットワークNTを介してサーバ3や対戦相手となる他のゲーム装置1に送信する。
図4は、本発明の実施の形態によるサーバ3の機能構成を示すブロック図である。サーバ3は、ユーザ情報管理部301、グループ管理部302、グループ生成部303、グループパラメータ設定部304、相手決定部305、ゲーム進行管理部308、及び通信部309を含む。
ユーザ情報管理部301は、ユーザ情報を記憶する記憶装置と、その記憶装置にデータの書き込み及び読み出しを行うプログラムモジュールにより構成され、ユーザ情報を管理する。ここで、ユーザ情報としては、一般ユーザ情報及び特定ユーザ情報が含まれる。特定ユーザ情報には、ゲーム内で予め登録された特定ユーザに関する情報が登録されている。一般ユーザ情報には、特定ユーザとは異なる一般ユーザに関する情報が登録されている。
図7は、一般ユーザ情報のデータ構造の一例を示す図である。一般ユーザ情報は、本麻雀ゲームに会員登録をしている一般ユーザの個人情報を格納するデータベースである。一般ユーザ情報は、1人の一般ユーザに対して1つのレコードが割り当てられたリレーショナルデータベースにより構成され、ユーザID、ユーザ名、店舗情報、SNS属性情報、血液型、出身地、レベル、サポータポイント、及び対戦履歴のフィールドを備えている。
なお、一般ユーザは、ゲーム装置1を通じて会員登録することができる。その際、一般ユーザが個人カードを予め保有していれば、その個人カードを本麻雀ゲームの個人カードにすることができる。
ユーザIDのフィールドには、各一般ユーザに一意的に割り当てられた記号列が格納されている。ユーザ名のフィールドには、一般ユーザの個人名やニックネームが格納されている。店舗情報のフィールドには、一般ユーザが所属している店舗の識別IDが格納されている。
例えば、ある一般ユーザが本麻雀ゲームをある店舗SH1に設置されたゲーム装置1を用いて会員登録したとする。この場合、店舗SH1が一般ユーザの店舗情報として一般ユーザ情報に登録される。但し、これは一例であり、一般ユーザの店舗情報は動的に変更されるようにしてもよい。例えば、店舗情報が店舗SH1の一般ユーザが別の店舗SH2で本麻雀ゲームをプレイしたとする。この場合、サーバ3は、この一般ユーザの店舗情報を店舗SH2に変更してもよい。
これを実現するために、ゲーム装置1は、一般ユーザがプレイする都度、一般ユーザがプレイした店舗の識別情報をサーバ3に送信し、サーバ3は、この識別情報から該当する一般ユーザの店舗情報を更新すればよい。また、ゲーム装置1は、一般ユーザがプレイする都度、一般ユーザに対して店舗情報を更新するか否かを伺い、一般ユーザが更新に同意するとの指示を入力した場合、該当する店舗の識別情報をサーバ3に送信してもよい。或いは、サーバ3は、一般ユーザの店舗情報を、本麻雀ゲームを最初にプレイした店舗に固定してもよい。この場合、一般ユーザは、いずれの店舗で本麻雀ゲームをプレイしても、会員登録時に入力した店舗が店舗情報となる。
SNS属性情報のフィールドには、一般ユーザがソーシャルネットワークサービス(以下、「SNS」と記述する。)上で所属しているグループの識別IDが格納されている。例えば、サーバ3を管理するゲーム運営会社がSNS上で本麻雀ゲームの愛好者のためのSNSサイトを立ち上げていることがある。このSNSサイトでは、複数のグループが形成され、一般ユーザはいずれかのグループに所属することができる。具体的には、一般ユーザは、このSNSサイトにおいて、所属を希望するグループに対して登録申請を行うことで、そのグループに所属することができる。そこで、本実施の形態では、このグループの識別IDをSNS属性情報として採用する。
なお、ユーザ情報管理部301は、SNSサイトが立ち上げられているSNSサーバに定期的にアクセスし、各一般ユーザのSNS属性情報を取得し、一般ユーザ情報に登録すればよい。或いは、一般ユーザの個人カードにSNS属性情報が書き込まれている場合は、ユーザ情報管理部301は、個人カードに記録されたSNS属性情報をゲーム装置1に送信させることでSNS属性情報を取得してもよい。
血液型のフィールドには各一般ユーザの血液型を示す情報が格納されている。出身地は、各一般ユーザの出身地を示す情報が格納されている。血液型及び出身地は、例えば、一般ユーザが会員登録する際に一般ユーザにより入力される。レベルのフィールドには各一般ユーザのレベルが格納されている。本実施の形態では、麻雀ゲームが採用されているため、レベルとしては各一般ユーザの麻雀ゲームの技量を示す段位及び級位が採用される。段位及び級位は、それぞれ例えば、1〜10の十段階に分けられている。級位は技量が上がるにつれて数値が減少する。段位は技量が上達するにつれて数値が増大する。
なお、級位や段位は、例えば、一般ユーザが麻雀ゲームを継続的に行うことで獲得したゲーム上の点数の累積値に応じて決定される。或いは、ゲーム上で開催される進級試験や昇段試験のようなイベントにおいて一般ユーザが一定の成績を出した場合に昇級又は昇段させるようにしてもよい。
サポータポイントのフィールドには、各一般ユーザが支持する特定ユーザの支持の度合いを示すサポータポイントが格納されている。本実施の形態では、特定ユーザとして、実在するプロの麻雀士を採用する。本麻雀ゲームのサービスサイトにおいては、一般ユーザが、予め定められたプロの麻雀士の中から所望するプロの麻雀士に投票するサービスが提供されている。一般ユーザは、例えば、本麻雀ゲームを1回行う度に投票権が付与され、所望するプロの麻雀士に投票することができる。サポータポイントは、この投票した回数が増大するにつれて値が上昇する。例えば、ある一般ユーザがあるプロの麻雀士に2回投票したとすると、この一般ユーザのこのプロの麻雀士に対するサポータポイントは例えば2となる。
図7の例では、一般ユーザU1は、プロの麻雀士である特定ユーザSU1に対して10回投票したため、サポータポイントが10であることを示す「SU1・・・10」がサポータポイントのフィールドに格納されている。また、一般ユーザU2は、特定ユーザSU2に対して20回投票したため、サポータポイントが20であることを示す「SU2・・・20」が格納されている。
そして、サポータポイントが上昇すると投票したプロの麻雀士と一般ユーザとの親密度が高いとみなされ、一般ユーザは投票したプロの麻雀士と対戦する可能性が高くなる。よって、あるプロの麻雀士との対戦を希望する一般ユーザは、このプロの麻雀士に対するサポータポイントを上昇させようとする努力目標が生まれる。同時に、投票権を獲得するために一般ユーザに対して麻雀ゲームをプレイしようとする動機付けも生まれる。但し、本実施の形態では、後述するように、一般ユーザが個々に持つサポータポイントではなく、一般ユーザが属するグループのグループパラメータを用いて、プロの麻雀士と一般ユーザとのマッチングを行うことを特徴としている。
対戦履歴のフィールドには、各一般ユーザが過去に行った麻雀ゲームの対戦結果が対戦履歴として格納されている。対戦履歴には、例えば、1つの対戦における、対戦相手、対戦相手のそれぞれが獲得した点数、ゲーム終了時における各対戦者の麻雀牌の配列、対戦時刻、対戦時間等の情報が含まれる。
図8は、特定ユーザ情報のデータ構造の一例を示す図である。特定ユーザ情報は、予め登録されているプロの麻雀士の個人情報が格納されている。特定ユーザ情報は、1人の特定ユーザに対して1つのレコードが割り当てられたリレーショナルデータベースにより構成され、ユーザID、ユーザ名、レベル、血液型、出身地、及び対戦履歴のフィールドを備えている。
なお、特定ユーザのデータ構造は、図8で示したものに限定されず、一般ユーザ情報と同じデータ構造を採用してもよい。これにより、ある一般ユーザの特定ユーザへの移行を円滑に行うことができる。
ユーザIDのフィールドには、各特定ユーザに一意的に割り当てられた記号列が格納されている。ユーザ名のフィールドには、特定ユーザの個人名やニックネームが格納されている。
レベルのフィールドには、特定ユーザの麻雀ゲームの技量を示すレベルが格納されている。特定ユーザはプロの麻雀士であるため、8段、9段といった高い値がレベルのフィールドに格納されている。血液型及び出身地のフィールドには、特定ユーザの血液型及び出身地が格納されている。
対戦履歴のフィールドには、一般ユーザ情報の対戦履歴と同様、特定ユーザが過去に行った麻雀ゲームの対戦結果が対戦履歴として格納されている。
図4に戻り、グループ生成部303は、一般ユーザを複数のグループにグループ化する。本実施の形態では、グループ生成部303は、一般ユーザ情報に基づいて、一般ユーザを複数のグループにグループ化する。具体的には、グループ生成部303は、一般ユーザ情報を参照し、店舗が同一である一般ユーザを1つのグループとして纏めることで、一般ユーザをグループ化する。図7の例では、一般ユーザU1、U3は店舗情報が「SH1」であるため、同じグループになる。また、一般ユーザU2は、店舗情報が「SH2」であるため、一般ユーザU1、U2とは別のグループになる。
また、グループ生成部303は、生成したグループを管理するためのグループ情報を生成し、グループ管理部302に管理させる。図9は、グループ情報のデータ構造の一例を示す図である。グループ情報は、1つのグループに1つのレコードが割り当てられたリレーショナルデータベースにより構成され、グループID、所属ユーザ、グループパラメータ、及び特定ユーザのフィールドを備えている。
グループIDのフィールドには、各グループに一意的に割り当てられた記号列が格納されている。所属ユーザのフィールドには、各グループに所属する一般ユーザのユーザIDが格納されている。グループパラメータのフィールドには、後述するグループパラメータ設定部304により設定されたグループパラメータが格納されている。特定ユーザのフィールドには、後述する割当部306により各グループに割り当てられた特定ユーザのユーザIDが格納されている。
図4に戻り、グループパラメータ設定部304は、ユーザ情報に基づき、各グループの特徴を示すグループパラメータを各グループに設定する。本実施の形態では、グループパラメータ設定部304は、各グループにおいて、サポータポイントの特定ユーザ別の合計値を算出し、算出した合計値が最も高い特定ユーザの当該合計値をグループパラメータとして設定する。
図9のグループG1を例に挙げて説明すると、グループG1には、一般ユーザU1、U3、U6、U7、U8、U9が属しているとする。これらの一般ユーザのうち、一般ユーザU1、U3、U7、U9は、それぞれ、特定ユーザSU1を支持しており、それぞれの特定ユーザSU1に対するサポータポイントがP11、P13、P17、P19であり、これらの合計値がP1であったとする。
また、一般ユーザU6、U8は、それぞれ、特定ユーザSU2を支持しており、それぞれの特定ユーザSU2に対するサポータポイントがP26、P28であり、これらの合計値がP1´であったとする。
そして、合計値P1が合計値P1´よりも大きかったとする。この場合、グループパラメータ設定部304は、合計値P1をグループG1のグループパラメータとして設定する。グループパラメータ設定部304は、他のグループG2、G3、・・・に対してもグループG1と同様にしてグループパラメータを設定する。そして、グループパラメータ設定部304は、設定した各グループのグループパラメータをグループ情報に登録する。
なお、この例では、サポータポイントの合計値が最大の特定ユーザの当該合計値をグループパラメータとして設定したが、本発明はこれに限定されず、支持者が最も多い特定ユーザのサポータポイントの合計値をグループパラメータとして設定してもよい。
例えば、先のグループG1の例において、合計値P1が合計値P1´より小さいとする。この場合、グループパラメータ設定部304は、特定ユーザSU1の支持者は一般ユーザU1、U3、U7、U9の4名であり、特定ユーザSU2の支持者は一般ユーザU6、U8の2名であるため、支持者の多い特定ユーザSU1の合計値P1をグループG1のグループパラメータとして設定してもよい。
相手決定部305は、特定ユーザのマッチング相手となる一般ユーザを、一般ユーザが属するグループのグループパラメータに応じて優先的に決定する。
具体的には、相手決定部305は、割当部306及び優先決定部307を含む。割当部306は、グループパラメータに応じて、各グループに特定ユーザを割り当てる。本実施の形態では、グループパラメータとして、サポータポイントの合計値が、最大の特定ユーザの当該合計値を採用している。そのため、割当部306は、サポータポイントの合計値が最大の特定ユーザをグループに割り当てる。
図9のグループG1の例では、サポータポイントの合計値が最大である特定ユーザは特定ユーザSU1であるため、割当部306は、グループG1に特定ユーザSU1を割り当てる。また、グループG2の例では、サポータポイントの合計値が最大である特定ユーザは特定ユーザSU2であるため、割当部306は、グループG2に特定ユーザSU2を割り当てる。
優先決定部307は、特定ユーザのマッチング相手となる一般ユーザを、特定ユーザが割り当てられたグループに属する一般ユーザの中から優先的に決定する。図9の例では、グループG1には特定ユーザSU1が割り当てられているが、グループG2には特定ユーザSU1ではなく、特定ユーザSU2が割り当てられている。この場合、優先決定部307は、グループG1に属する一般ユーザU1、U3を、グループG2に属する一般ユーザU2、U4よりも優先的に、特定ユーザSU1のマッチング相手として決定する。
ここで、優先決定部307は、ある特定ユーザのマッチング相手を決定するに際し、この特定ユーザとの対戦を希望している一般ユーザとこの特定ユーザとの優先度を算出し、この優先度に基づいてマッチング相手を決定すればよい。
例えば、特定ユーザをSU1、特定ユーザSU1に対戦を希望している一般ユーザをU1、両者の優先度をPR_SU1_U1とすると、優先度PR_SU1_U1は、例えば、下記の式(1)により決定される。
PR_SU1_U1=α*(一般ユーザU1が属するグループのグループパラメータ)+β*(一般ユーザU1の特定ユーザSU1に対するサポータポイント) (1)
なお、α、βは予め定められた重み係数である。
図9の例では、一般ユーザU1はグループG1に属しており、グループG1には、特定ユーザSU1が割り当てられ、グループG1のグループパラメータはP1である。この場合、式(1)の第1項はα*P1となる。また、一般ユーザU1の特定ユーザSU1に対するサポータポイントがP11であったとする。この場合、式(1)の第2項はβ*P11となる。よって、優先度は、PR_SU1_U1=α*P1+β*P11となる。
次に、一般ユーザU1と特定ユーザSU2との優先度PR_SU2_U1について図9を用いて説明する。特定ユーザSU2は、グループG2に割り当てられている。そのため、式(1)の第1項は、0となる。また、一般ユーザU1の特定ユーザSU2に対するサポータポイントは0であったとすると、式(1)の第2項も0となる。よって、優先度は、PR_SU2_U1=0となる。なお、一般ユーザU1が特定ユーザSU2を支持しており、そのサポータポイントがP12であったとする。この場合、優先度は、PR_SU2_U1=β*P12となる。
このようにして、優先決定部307は、ある特定ユーザとの対戦を希望している各一般ユーザの優先度を算出し、以下の手法を用いて特定ユーザと一般ユーザとをマッチングさせる。
手法1:優先度決定部307は、ある特定ユーザとの対戦を希望している一般ユーザの中から、優先度が高い上位3名の一般ユーザを特定ユーザとマッチングさせる。
手法2:優先度決定部307は、ある特定ユーザとの対戦を希望している各一般ユーザの優先度に応じた抽選処理を実行し、当選した3名の一般ユーザを特定ユーザとマッチングさせる。
手法3:優先度決定部307は、優先度に基準値を設け、基準値以上の優先度を持つ一般ユーザを特定ユーザとのマッチング対象として抽出する。
手法4:優先度決定部307は、上記の手法1〜3のいずれ手法を用いても3名の特定ユーザのマッチング相手を決定することができなかった場合、ゲーム装置1が制御する人工知能を持つ仮想ユーザを特定ユーザのマッチング相手として決定する。
このように、本実施の形態では、一般ユーザが属しているグループのグループパラメータを用いて、特定ユーザのマッチング相手が決定されている。そのため、本麻雀ゲームを始めて間もないような、特定ユーザに対するサポータポイントが低い一般ユーザであっても、その一般ユーザが属しているグループのグループパラメータが高ければ、その一般ユーザが特定ユーザとマッチングされる可能性が高くなる。よって、サポータポイントが低い一般ユーザであっても、特定ユーザとマッチングされる可能性が高められ、このような一般ユーザに対するゲームへの感心を高めることができる。
また、各グループにおいて、サポータポイントの合計値が最大の特定ユーザが割り当てられている。このことは、別の見方をすると、各グループには、各グループに属する一般ユーザにとって関心の高い特定ユーザが割り当てられることになる。そして、ある特定ユーザが割り当てられているグループに属する一般ユーザは、この特定ユーザに対するサポータポイントを上昇させると、グループパラメータが上昇し、この特定ユーザと対戦できる可能性が高まる。その結果、グループで感心の高い特定ユーザのサポータポイントをグループに属する一般ユーザ全員で押し上げようとする動機付けを一般ユーザに与えることができ、グループに属する一般ユーザの連帯感を育むことができる。
また、優先度は式(1)の第2項に示すように、グループパラメータのみならず、グループに割り当てられた特定ユーザに対する一般ユーザ自身のサポータポイントも考慮されている。その結果、個々の一般ユーザに対してグループが押している特定ユーザのサポータポイントを押し上げようとする動機付けを与え、サポータポイントの投票の場を活性化することができる。
なお、式(1)では、第2項を設けたが、グループパラメータのみを重要視し、各グループを構成する個々の一般ユーザを公平に取り扱う場合は、第2項を省くことが好ましい。
なお、優先決定部307は、一般ユーザU1が特定ユーザSU1とマッチングされなかった場合、従来のマッチング手法を用いて、現在対戦を希望している別の一般ユーザの中から一般ユーザU1のマッチング相手を決定すればよい。従来のマッチング手法としては、例えば、レベルの近い一般ユーザ同士を選ぶ方法を採用すればよい。
ゲーム進行管理部308は、優先決定部307によりマッチングされた一般ユーザのゲーム装置1に対して、マッチング結果を送信し、両ユーザのゲーム装置1にマッチング結果を通知する。そして、通知を受け取ったゲーム装置1同士でデータリンクを確立させ、両ゲーム装置1間を直接通信させ、両ゲーム装置1間で麻雀ゲームを進行させる。或いは、ゲーム進行管理部308は、両ユーザのゲーム装置1から対戦開始指示を受け付けると、両ユーザのゲーム装置1同士にデータリンク確立させ、両ゲーム装置1間をゲーム進行管理部308を通して通信させ、両ゲーム装置1間で麻雀ゲームを進行させてもよい。なお、ゲーム進行管理部308は、対戦中に両ゲーム装置1に、適宜、定期通信情報を送信させ、両ゲーム装置1を監視する。
また、ゲーム進行管理部308は、麻雀ゲームが終了すると、両ゲーム装置1から対戦結果を受信し、一般ユーザ情報及び特定ユーザ情報に登録する。
通信部309は、サーバ3をネットワークNTに接続させる通信装置により構成され、ゲーム装置1から送信された情報を受信すると共に、サーバ3から送信される情報をゲーム装置1に送信する。
また、通信部309は、本麻雀ゲームのサービスサイトから適宜送信される会員登録を申請した一般ユーザのユーザ情報を受信し、ユーザ情報管理部301に渡す。また、通信部309は、ユーザ情報管理部301の指示にしたがって、本麻雀ゲームのSNSサイトにアクセスし、SNS属性情報等のSNSで管理されている情報を取得する。また、通信部309は、ゲーム進行管理部308の指示にしたがって、マッチングされた一般ユーザのゲーム装置1にマッチング結果を送信したり、ゲーム装置1から対戦結果を受信したりして、ゲーム進行管理部308に渡す。
グループ管理部302は、グループ情報を記憶する記憶装置とその記憶装置に対してデータの読み出し及び書き込みを行うプログラムモジュールにより構成され、グループ情報を管理する。
なお、図4において、ユーザ情報管理部301〜ゲーム進行管理部308は、例えば、コンピュータをサーバ3として機能させるマッチング制御プログラムを実行することで実現される。
図5は、本発明の実施の形態によるサーバ3の処理を示すフローチャートである。なお、図5の処理は、ユーザ情報管理部301に新たにユーザ情報が登録されたときに実行されてもよいし、所定の時間間隔(例えば、1日1回)で実行されてもよいし、ユーザ情報に登録されている一般ユーザ数が一定の人数増加する都度、実行されてもよい。
まず、グループ生成部303は、ユーザ情報管理部301から一般ユーザ情報を読み出す(S501)。次に、グループ生成部303は、一般ユーザ情報から各一般ユーザの店舗情報を特定する(S502)。次に、グループ生成部303は、店舗情報が同じ一般ユーザを1つのグループに纏め、一般ユーザを複数のグループに分ける(S503)。
次に、グループ生成部303は、各グループにグループIDを付与し、各グループに1つのレコードを割り当ててグループ情報を生成する(S504)。ここで、グループ生成部303は、所属ユーザのフィールドに各グループに属する一般ユーザのユーザIDを登録する。
次に、グループパラメータ設定部304は、各グループを構成する一般ユーザのサポータポイントを一般ユーザ情報から特定し、各グループにおいて、特定したサポータポイントの特定ユーザ別の合計値を算出する(S505)。次に、グループパラメータ設定部304は、各グループにおいて、サポータポイントの合計値が最大となる特定ユーザを決定する(S506)。次に、グループパラメータ設定部304は、S506でグループ別に決定した特定ユーザのサポータポイントの合計値を、該当するグループのグループパラメータとしてグループ情報に登録する(S507)。
次に、割当部306は、図9に示すグループ情報を参照し、各グループにおいて、サポータポイントの合計値がグループパラメータとして採用された特定ユーザ、つまり、サポータポイントの合計値が最大の特定ユーザを割り当てる(S508)。そして、割当部306は、割り当てた特定ユーザをグループ情報の特定ユーザのフィールドに登録する。
図6は、本発明の実施の形態によるマッチングシステムがマッチング相手を決定する際の処理を示すフローチャートである。以下の説明では、特定ユーザSU1のマッチング相手を決定する際の処理について説明する。また、特定ユーザSU1のゲーム装置1をゲーム装置1_SU1と表す。また、特定ユーザSU1との対戦を希望するある一般ユーザを一般ユーザU1とし、一般ユーザU1が操作するゲーム装置1をゲーム装置1_U1と表す。
まず、本フローチャートの開始に先立って、特定ユーザSU1との対戦を受け付けることが本麻雀ゲームのサービスサイトや、SNSサイトに告知される。告知の態様としては、例えば、「2013年5月5日14時から特定ユーザSU1との対戦が開始される。特定ユーザSU1との対戦を希望する方は、2013年5月5日13時30分から14時までに特定ユーザとの対戦を申し込んで下さい。」といった態様が採用される。
この告知に伴って、受け付け開始時刻になると、サーバ3は、対戦依頼の受け付けを開始する(S611)。
この告知を見た一般ユーザU1は、受け付けが開始されると、自身が所属する店舗に赴き、ゲーム装置1_U1を操作して、特定ユーザSU1との対戦依頼をサーバ3に送信し(S631)、サーバ3が対戦依頼を受信する(S612)。ここで、一般ユーザU1は、個人カードをゲーム装置1_U1にかざす又は挿入して、個人カードに記録された個人情報をゲーム装置1_U1に読み取らせる。そして、一般ユーザU1はゲーム装置1_U1に表示されたゲーム画面に対戦候補として表示された特定ユーザSU1を選択する。すると、ゲーム装置1_U1は、一般ユーザU1の個人情報と、一般ユーザU1が対戦候補として特定ユーザSU1を選択したことを示す情報とを含む対戦依頼をサーバ3に送信する。
次に、サーバ3は、対戦依頼の受け付けが終了すると(S613でYES)、処理をS614に進め、対戦依頼の受け付け中であれば(S613でNO)、処理をS612に戻す。つまり、サーバ3は、対戦の受付期間が終了するまで、1又は複数のゲーム装置1から対戦依頼を随時受け付ける。
次に、優先決定部307は、一般ユーザU1を含む、対戦受付期間中に対戦依頼を行った、各一般ユーザの優先度を算出する(S614)。ここでは、一般ユーザU1の優先度の算出について例を挙げて説明する。まず、優先決定部307は、図7に示す一般ユーザ情報を参照し、一般ユーザU1が属しているグループを特定する。図7の例では、一般ユーザU1は、グループG1に属しているため、グループG1が特定される。
また、優先決定部307は、図7を参照し、一般ユーザU1が支持する特定ユーザと、サポータポイントとを特定する。図7の例では、一般ユーザU1は特定ユーザSU1に対して10のサポータポイントを持っているため、一般ユーザU1は特定ユーザSU1を支持し、そのサポータポイントが10であることが特定される。
次に、優先決定部307は、図9を参照し、一般ユーザU1が属しているグループG1に割り当てられた特定ユーザと、グループパラメータとを特定する。図9の例では、グループG1には特定ユーザSU1が割り当てられ、グループパラメータがP1であるため、特定ユーザとしてSU1が特定され、グループパラメータとしてP1が特定される。
次に、優先決定部307は、一般ユーザU1自身のサポータポイントと、一般ユーザU1が属するグループG1のグループパラメータとから、一般ユーザU1の特定ユーザSU1に対する優先度PR_SU1_U1を算出する。
ここでは、一般ユーザU1が支持する特定ユーザはSU1であり、一般ユーザU1が属するグループG1に割り当てられた特定ユーザもSU1であるため、優先度は、PR_SU1_U1=α*P1+β*10と算出される。なお、一般ユーザU1が例えば特定ユーザSU2を支持している場合であっても、グループG1に割り当てられた特定ユーザがSU1であれば、優先度はPR_SU1_U1=α*P1となり、0とはならないため、一般ユーザU1が特定ユーザSU1とマッチングされる可能性はある。つまり、一般ユーザU1が直接支持していない特定ユーザであっても、その特定ユーザが一般ユーザの属しているグループに割り当てられていれば、一般ユーザU1に対してその特定ユーザがマッチングされることもあり得る。これにより、一般ユーザU1に対して意外性を付与することができ、一般ユーザU1のゲームへの興味を増大させることができる。
S615において、優先決定部307は、特定ユーザSU1との対戦を希望した各一般ユーザの中から優先度が上位3名の一般ユーザを特定し、この一般ユーザを特定ユーザSU1のマッチング相手として決定する。ここでは、一般ユーザU1の優先度が最大であり、一般ユーザU1が特定ユーザSU1のマッチング相手として決定されたものとする。
次に、ゲーム進行管理部308は、一般ユーザU1のゲーム装置1_U1と、特定ユーザSU1のゲーム装置1_SU1とに対して、対戦相手情報を送信する(S616)。
次に、ゲーム装置1_SU1は対戦相手情報を受信し(S601)、ゲーム装置1_U1は対戦相手情報を受信する(S632)。
ここでは、ゲーム装置1_U1に対しては特定ユーザSU1が対戦相手として決定されたことを示す対戦相手情報が送信され、ゲーム装置1_SU1に対しては一般ユーザU1が対戦相手として決定されたことを示す対戦相手情報が送信される。
また、ゲーム進行管理部308は、ゲーム装置1_U1と、ゲーム装置1_SU1とのそれぞれに対して、通信相手となるゲーム装置の通信アドレス等の情報を送信し、ゲーム装置1_U1とゲーム装置1_SU1との間でデータリンクを確立させる。
次に、ゲーム装置1_SU1とゲーム装置1_U1との間でデータの送受が行われ、麻雀ゲームが進行される(S602、S633)。
また、ゲーム進行管理部308は、ゲーム装置1_SU1とゲーム装置1_U1との対戦中に、ゲーム装置1_SU1とゲーム装置1_U1とのそれぞれに定期通信情報を送信させ、ゲーム装置1_SU1とゲーム装置1_U1との状態を監視する(S617)。ここで、定期通信情報としては、例えば、対戦中の両ユーザの手牌やスコア等の情報が送信される。また、対戦が終了したときには、定期通信情報としては、対戦結果が送信される。対戦結果としては、各ユーザのスコアや手牌や勝者等の情報が含まれる。
次に、ゲーム進行管理部308は、対戦が終了するとそのとき受信した定期通信情報から対戦結果を特定し、その対戦結果を対戦履歴として、一般ユーザ情報及び特定ユーザ情報の該当するレコードに記録する(S618)。
図11は、本実施の形態で採用される麻雀ゲームの対戦画面1100の一例を示した図である。この対戦画面1100は、一般ユーザU1のゲーム装置1_U1に表示される対戦画面である。
対戦画面1100には、画面下側、画面上側及び左右両側に4人の対戦者の手牌を表わすオブジェクトである手牌オブジェクト1102が表示されている。一般ユーザU1の手牌オブジェクト1102は画面下側に表示され、特定ユーザSU1の手牌オブジェクト1102は画面上側に表示されている。画面左側及び右側にはゲーム装置1により制御される仮想ユーザの手牌オブジェクト1102が表示されている。
対戦画面1100の中央には、ドラ表示稗を含む山を表わす山オブジェクト1103が表示されている。山オブジェクト1103の周囲には、各ユーザの捨て稗を表わす捨て稗オブジェクト1104が表示されている。
山オブジェクト1103と捨て稗オブジェクト1104との間に各対戦者のゲーム内での呼称を表示する呼称表示部1105が表示されている。画面下側の呼称表示部1105には一般ユーザU1の呼称「U1」が表示されている。画面上側の呼称表示部1105には特定ユーザSU1の呼称「SU1」が表示されている。画面左側の呼称表示部1105には仮想ユーザの呼称「CPU1」が表示され、画面右側の呼称表示部1105には仮想ユーザの呼称「CPU2」が表示されている。
画面右側に表示された長考ボタンPBHは、一般ユーザU1がツモから捨て牌を決定するまでの時間を延長するためのボタンである。情報ボタンPBIは、対戦者となる特定ユーザ及び仮想ユーザの詳細な情報を表示するためのボタンである。
なお、実施の形態1においては、グループパラメータを一般ユーザ情報に基づいて生成する例を示したが、グループパラメータの生成方法はこれに限定されず、一般ユーザ情報に基づかずに生成されてもよい。例えば、ある店舗において、その店舗と個々の特定ユーザとのサポータポイントを、その店舗のオペレータが直接設定できるようにしてもよい。
この場合、オペレータは、ゲーム装置1にオペレータ用の設定画面を表示させ、この設定画面を通じてサポータポイントを設定できるようにすればよい。或いは、ゲームの運営側がサポータポイントを直接設定できるようにしてもよい。
そして、サーバ3のグループパラメータ設定部304は、ある店舗において、オペレータにより設定されたサポータポイントが最大の特定ユーザのサポータポイントをその店舗のグループパラメータとして設定する。
以下、実施の形態1の手法を用いてマッチングを行えばよい。具体的には、割当部306は、ある店舗において、オペレータにより設定されたサポータポイントが最大となる特定ユーザをその店舗に割り当る。そして、優先決定部307は、上述した手法1〜4のいずれかを用いて一般ユーザと特定ユーザとのマッチングを行う。
この手法によれば、一般ユーザ情報の更新の影響を受けることなく、一般ユーザ情報とは独立してグループパラメータを設定することができる。したがって、例えば、「本日、ある店舗に属する一般ユーザをある特定ユーザとマッチングさせやすくする」といった調整をゲームの運営側が自由に行うことが可能となる。
(実施の形態2)
実施の形態1では、一般ユーザが属する店舗に応じてグループ化を行った。実施の形態2では、一般ユーザが属するソーシャルネットワークサービス上のグループを示すSNS属性情報に基づいて、一般ユーザをグループ化することを特徴とする。なお、本実施の形態において、実施の形態1と同一のものは説明を省略する。
本実施の形態において、グループ生成部303は、図7に示す一般ユーザ情報を参照し、SNS属性情報が同一である一般ユーザを1つのグループとして纏めることで、一般ユーザをグループ化する。
図7の例では、一般ユーザU1、U3はSNS属性情報が共に「SNS1」であり同一であるため、同じグループとなる。また、一般ユーザU2は、SNS属性情報が「SNS2」であるため、一般ユーザU1、U2とは別のグループになる。そして、グループ生成部303は、実施の形態1と同様にして、グループ情報を生成する。
以下、実施の形態1と同様にして、各グループのグループパラメータが設定され、各グループに特定ユーザが割り当てられ、特定ユーザと一般ユーザとのマッチングが行われる。
このように実施の形態2によれば、SNS属性情報を用いて一般ユーザがグループ化されている。そのため、一般ユーザは、自身が属しているSNSのグループに割り当てられている特定ユーザ、つまり、自身が属しているSNSのグループが押している特定ユーザとマッチングされる易くなる。その結果、SNSのグループが押している特定ユーザのサポータポイントをグループに属する一般ユーザ全員で押し上げようとする動機付けを一般ユーザに与えるとことができ、グループに属する一般ユーザの連帯感を育むことができる。これに伴い、現在、SNSのグループに属していない一般ユーザに対して、自分が好きな特定ユーザを押しているSNSのグループに加入しようとする動機付けを与え、SNSサイトの場を盛り上げることができる。
(実施の形態3)
実施の形態3は、一般ユーザが固有に持つユーザ固有情報にしたがって、一般ユーザをグループ化することを特徴とする。ここで、ユーザ固有情報としては、一般ユーザの血液型、出身地、性別、星座、生年月日等を採用することができる。以下の説明では、ユーザ固有情報として血液型を用いて説明する。なお、本実施の形態において、実施の形態1、2と同じものは説明を省略する。
本実施の形態において、グループ生成部303は、図7に示す一般ユーザ情報を参照し、血液型が同一である一般ユーザを1つのグループとして纏めることで、一般ユーザをグループ化する。
図7の例では、一般ユーザU1、U3は血液型が同じであるため、同じグループに振り分けられる。なお、図7の例では、ユーザ固有情報として、出身地及び血液型のみが記載されているが、性別や星座といった他のユーザ固有情報を用いて一般ユーザをグループ化する場合、他のユーザ固有情報を一般ユーザ情報に含めればよい。
以下、実施の形態1と同様にして、各グループのグループパラメータが設定され、各グループに特定ユーザが割り当てられ、特定ユーザと一般ユーザとのマッチングが行われる。
このように、実施の形態3によれば、一般ユーザは、ユーザ固有情報を用いてグループ分けされるため、自身が全く想定していなかった特定ユーザとマッチングされる事象が発生し、一般ユーザに意外性を与えることができる。
(実施の形態4)
実施の形態1では、サポータポイントを用いて各グループに特定ユーザを割り当てたが、実施の形態4では、ユーザ固有情報を用いて各グループに特定ユーザを割り当てることを特徴とする。なお、本実施の形態において、実施の形態1〜3と同じものは説明を省略する。
例えば、グループ生成部303が血液型を用いて一般ユーザをクループ化したとする。この場合、グループパラメータ設定部304は、グループパラメータとして、グループ化する際に使用した血液型を採用する。
図10は、本発明の実施の形態4によるグループ情報のデータ構造の一例を示した図である。図10に示すように、グループG1は血液型がA型のグループであるため、グループパラメータとしてA型が設定され、グループG2は血液型がB型のグループであるため、グループパラメータとしてB型が設定されている。
割当部306は、あるグループのグループパラメータと、特定ユーザ毎に予め定められた規定値とに応じて、当該グループに特定ユーザを割り当てる。ここでは、特定ユーザの規定値として血液型を採用する。したがって、割当部306は、グループパラメータがA型のグループには、血液型がA型の特定ユーザを割り当て、グループパラメータがB型のグループには、血液型がB型の特定ユーザを割り当てる。このように、割当部306は、グループパラメータに対して等しい規定値を持つ特定ユーザを各グループに割り当てていく。なお、割当部306は、特定ユーザの規定値を図8に示す特定ユーザ情報から特定すればよい。例えば、規定値として血液型を採用する場合、割当部306は、特定ユーザ情報の血液型のフィールドを参照して特定ユーザの血液型を特定すればよい。また、規定値として出身地を採用する場合、割当部306は、特定ユーザ情報の出身地のフィールドを参照して特定ユーザの出身地を特定すればよい。なお、図8の例では、特定ユーザのユーザ固有情報として血液型及び出身地のみが記載されているが、規定値として星座や生年月日を採用する場合であれば、これらの情報を特定ユーザ情報に含ませればよい。
本実施の形態において、優先決定部307は、特定ユーザをSU1、特定ユーザSU1に対戦を希望している一般ユーザをU1とすると、両者の優先度PR_SU1_U1を例えば、下記の式(2)により決定する。
PR_SU1_U1=α*(グループG1のグループパラメータに応じた定数)+β*(一般ユーザU1の特定ユーザSU1に対するサポータポイント) (2)
α、βは式(1)と同様、重み係数である。第1項のサポータポイントに応じた定数としては、一般ユーザU1の属するグループG1に特定ユーザSU1が割り当てられていれば、定数K1が設定され、一般ユーザU1の属するグループG1に特定ユーザSU1が割り当てられていなければ、定数K2(<K1)が設定される。
そして、優先決定部307は、特定ユーザSU1と対戦を希望する各一般ユーザとの優先度を算出し、上記の手法1〜4のいずれかを用いて特定ユーザSU1のマッチング相手となる一般ユーザを決定する。或いは、優先決定部307は、優先度の順位が上位3名の一般ユーザを特定ユーザSU1のマッチング相手として決定する。
このように、式(2)では、第1項の存在により、一般ユーザU1の属しているグループG1に一般ユーザU1が対戦を希望する特定ユーザSU1が割り当てられている場合、割り当てられていない場合に比べて、優先度が高く算出される。そのため、ユーザ固有情報(血液型)が特定ユーザの規定値(血液型)と同じ一般ユーザがこの特定ユーザとマッチングされ易くなる。
また、式(2)では、第2項の存在により、一般ユーザU1は、対戦を希望する特定ユーザSU1へのサポータポイントが高くなるにつれて、特定ユーザSU1とマッチングされ易くなる。そのため、一般ユーザU1に対して特定ユーザSU1にサポータポイントを付与しようとする動機付けを与えることができる。
なお、式(2)において第2項は省略してもよい。この場合、一般ユーザU1は、自己のサポータポイントに拘わらず、特定ユーザSU1と血液型が同じというだけで、特定ユーザSU1とマッチングされ易くなる。
次に、一般ユーザを出身地に基づいてグループ化し、特定ユーザ毎に予め定められた規定値として出身地を採用した場合について説明する。まず、グループ生成部303は、図7に示す一般ユーザ情報を参照し、一般ユーザを出身地別にグループ化する。図7の例では、一般ユーザU1、U3は出身地が共に大阪であるため、同じグループに割り振られるが、一般ユーザU2は出身地が東京であるため、一般ユーザU1、U3とは別のグループに割り振られる。
グループパラメータ設定部304は、出身地が大阪である一般ユーザのグループには、グループパラメータとして大阪を設定し、出身地が東京である一般ユーザのグループには、グループパラメータとして東京を設定するというように、グループ化する際に用いたユーザ固有情報をグループパラメータとして設定する。
割当部306は、出身地が同じグループに特定ユーザを割り当てる。例えば、図8の例では、特定ユーザSU1は出身地が大阪であるため、グループパラメータが大阪のグループに割り当てられる。
優先決定部307は、式(2)を用いて、特定ユーザSU1に対戦を希望する各一般ユーザの優先度を算出し、上記の手法1〜4のいずれかを用いて特定ユーザSU1のマッチング相手となる一般ユーザを決定する。
なお、上記説明では、血液型或いは出身地等のユーザ固定情報をグループパラメータとして採用したが、本発明はこれに限定されない。例えば、グループ生成部303に血液型或いは出身地等のユーザ固定情報を用いて一般ユーザをグループ分けさせ、グループパラメータ設定部304に、実施の形態1と同様、各グループのサポータポイントの合計値が最大の特定ユーザの当該合計値を各グループのグループパラメータとして設定させてもよい。
例えば、グループG1がA型の一般ユーザからなるグループであり、グループG1において、サポータポイントの合計値が最大の特定ユーザが特定ユーザSU1であったとする。この場合、この場合、グループG1には特定ユーザSU1が割り当てられる。
(実施の形態5)
実施の形態5は、割当部306は、同じ特定ユーザを複数のグループに割り当てた場合、グループパラメータが最大のグループに特定ユーザを割り当てることを特徴とする。
例えば、グループ生成部303により、サポータポイントに基づいてグループG1〜G10のグループが生成されたとする。そして、グループG1、G4、G5のそれぞれにおいて、サポータポイントの合計値が最大の特定ユーザが特定ユーザSU1であったとする。この場合、実施の形態1では、グループG1、G4、G5のそれぞれに特定ユーザSU1が割り当てられていた。
一方、本実施の形態では、グループG1、G4、G5のうち、特定ユーザSU1に対するサポータポイントであるグループパラメータが最大のグループに対してのみ特定ユーザSU1が割り当てられる。
例えば、グループG1、G4、G5の特定ユーザSU1に対するサポータポイントの合計値、つまり、グループG1、G4、G5のグループパラメータがP1_SU1、P4_SU4、P5_SU5であり、P1_SU1>P4_SU4>P5_SU5であったとする。この場合、割当部306は、グループパラメータが最大であるグループG1にのみ特定ユーザSU1を割り当て、グループG4、G5に対しては特定ユーザSU1を割り当てない。
そして、優先決定部307は、式(1)を用いて、特定ユーザSU1と対戦を希望する各一般ユーザの優先度を算出し、上記の手法1〜4のいずれかを用いて特定ユーザSU1のマッチング相手となる一般ユーザを決定する。
なお、上記説明では、グループG1、G4、G5において、グループパラメータが最大であるグループG1を特定ユーザSU1に割り当てたが、本発明はこれに限定されない。例えば、グループG1、G4、G5のうち、所定順位(例えば上位2位)までのグループG1、G4に特定ユーザSU1を割り当ててもよい。
この場合、特定ユーザが全く割り当てられないグループの個数が減少し、グループパラメータを用いたマッチング相手の決定がより多く行われることになる。
(実施の形態6)
実施の形態4では、特定ユーザ毎に予め定められた規定値(例えば血液型)がグループパラメータ(例えば血液型)と等しいグループに特定ユーザを割り当てた。実施の形態6では、特定ユーザ毎に予め定められた規定値とグループパラメータとに優先順位を設定し、規定値の優先順位とグループパラメータの優先順位とを比較することで、各グループに特定ユーザを割り当てることを特徴とする。なお、本実施の形態において実施の形態1〜5と同じものは説明を省く。
例えば、グループパラメータ及び規定値として血液型を採用し、O型、AB型、A型、B型の優先順位を1位、2位、3位、4位としたとする。この場合、割当部306は、規定値の優先順位≧グループパラメータの優先順位の基準で、各グループに特定ユーザを割り当てればよい。
例えば、グループG1がA型のグループであり、特定ユーザSU1、SU2、SU3の血液型がA型、B型、O型であったとする。この場合、A型、B型、O型の優先順位はそれぞれ、3位、4位、1位である。そのため、グループG1のグループパラメータであるA型(優先順位:3位)以上の規定値の優先順位を持つ特定ユーザは、A型(優先順位:3位)の特定ユーザSU1、O型(優先順位:1位)の特定ユーザSU3となる。この場合、割当部306は、グループG1に対して特定ユーザSU1と特定ユーザSU3とを割り当てる。
このように、本実施の形態によれば、規定値の優先順位とグループパラメータの優先順位とが比較され、グループパラメータの優先順位以上の規定値を持つ特定ユーザがグループに割り当てられる。そのため、1つのグループに対して複数の特定ユーザが割り当てられ、特定ユーザの割り当てのバリエーションを増大させることができる。
なお、上記説明では、規定値の優先順位≧グループパラメータの優先順位の基準で各グループに特定ユーザを割り当てたが、本発明はこれに限定されず、規定値の優先順位≦グループパラメータの優先順位の基準で各グループに特定ユーザを割り当ててもよい。
(実施の形態7)
実施の形態7は、ゲーム装置1において一般ユーザにどのグループに属するかを決定させることを特徴とする。ゲーム装置1は、一般ユーザから本麻雀ゲームの開始の指示を受け付けた場合、一般ユーザにどのグループに所属するかを選択させるためのグループ選択画面を表示する。
ここでは、グループとして、一般ユーザは所属する店舗を選択できるものとして説明する。ここでは、対戦を希望する一般ユーザをU1とし、現在、特定ユーザSU1、SU2が対戦を受け付けているものとする。
この場合、ゲーム装置1は、まず、各店舗にどの特定ユーザが割り当てられているか、つまり、各店舗が押している特定ユーザを表示する。各店舗にどの特定ユーザが割り当てられているかを示す情報は、実施の形態1による手法を用いてサーバ3に予め算出させてゲーム装置1に持たせておけばよい。この場合、ゲーム装置1は、「好きな特定ユーザを押している店舗を選択すると、その特定ユーザと対戦できる可能性が高まる」との文言をゲーム画面に表示させればよい。
ここでは、一般ユーザU1は特定ユーザSU1が割り当てられている店舗を選択したとする。すると、優先決定部307は、その店舗に一般ユーザU1が属しているとして一般ユーザU1と特定ユーザSU1との優先度を算出する。この場合、優先決定部307は、特定ユーザSU1と一般ユーザU1との優先度を上記の式(1)を用いて算出すればよい。
本実施の形態によれば、現在、どの店舗にどの特定ユーザが割り当てられているかの情報が一般ユーザに報知され、ゲーム開始時に一般ユーザは自身の属する店舗を任意に選択することができる。そのため、対戦を希望する特定ユーザが割り当てられている店舗を一般ユーザに選択させることで、一般ユーザがその特定ユーザと対戦できる可能性を高めることができる。
(実施の形態8)
実施の形態8は、SNSサイトを通じて、現在、どのグループにどの特定ユーザが割り当てられているかをユーザに告知するものである。現在、特定ユーザSU1、SU2が対戦を受け付けているとする。ここで、グループ生成部303は、血液型でグループ分けを行い、割当部306は、A型のグループに特定ユーザSU1を割り当て、B型のグループに特定ユーザSU2を割り当てているものとする。
この場合、サーバ3は、「現在、特定ユーザSU1、SU2が対戦を受け付けており、血液型がA型のグループには特定ユーザSU1が割り当てられ、血液型がB型のグループには特定ユーザSU2が割り当てられている」ことを本麻雀ゲームのSNSサイト上に告知する。
一般ユーザU1は、血液型がA型であり、以前から特定ユーザSU1との対戦を希望していたとする。この告知を見た一般ユーザU1は、特定ユーザSU1と対戦できるとの期待を持って店舗に赴き、個人カードをかざしてゲーム装置1にゲームの開始指示を行う。すると、優先決定部307は、実施の形態3の手法を用いて一般ユーザU1と特定ユーザSU1との優先度を算出し、特定ユーザSU1のマッチング相手を決定する。
本実施の形態によれば、SNSサイトを通じて、現在、どのグループにどの特定ユーザが割り当てられているかが告知されるため、この告知を見た一般ユーザに店舗に赴く動機付けを与えることができる。
(実施の形態9)
実施の形態9は、ゲーム開始時に一般ユーザにグループ化の指標を選択させることを特徴とする。グループ化の指標としては、店舗を用いたグループ化指標RG1、血液型を用いたグループ化指標RG2、SNS属性情報を用いたグループ化指標RG3等が挙げられる。
店舗を用いたグループ化指標RG1は、実施の形態1で説明したように一般ユーザが属する店舗に応じて一般ユーザをグループ化する指標である。血液型を用いたグループ化指標RG2は、実施の形態3で説明したように一般ユーザが持つ血液型を用いて一般ユーザをグループ化する指標である。SNS属性情報を用いたグループ化指標RG3は、実施の形態2で説明したように、SNS属性情報が同じ一般ユーザを1つのグループにグループ化する指標である。
サーバ3は、店舗を指標として一般ユーザをグループ分けし、実施の形態1の手法を用いて、各グループに特定ユーザを予め割り当てる。また、サーバ3は、血液型を指標として一般ユーザをグループ分けし、実施の形態3の手法を用いて、各グループに特定ユーザを予め割り当てる。また、サーバ3は、SNS属性情報を指標として一般ユーザをグループ分けし、実施の形態2の手法を用いて、各グループに特定ユーザを予め割り当てる。
そして、サーバ3は、割当結果をゲーム装置1に予め送信しておく。ゲーム装置1は、ある一般ユーザU1が個人カードをかざしてゲーム装置1に入力したゲーム開始指示を受け付けたとする。すると、ゲーム装置1は、グループ化指標RG1を用いた場合、どの店舗にどの特定ユーザが割り当てられているかを示す情報と、グループ化指標RG2を用いた場合、どの血液型にどの特定ユーザが割り当てられているかを示す情報と、グループ化指標RG3を用いた場合、どのSNSサイトのグループにとの一般ユーザが割り当てられているかを示す情報とを含む割当情報を表示する。
現在、特定ユーザSU1、SU2、SU3の対戦が受け付けられており、割当情報では、一般ユーザU1の属する店舗に特定ユーザSU1が割り当てられ、一般ユーザU1の血液型には特定ユーザSU2が割り当てられ、一般ユーザU1が属するSNSのグループには特定ユーザSU3が割り当てられていることが示されていたとする。ここで、一般ユーザU1が特定ユーザSU1との対戦を希望していたとすると、一般ユーザU1はグループ化指標RG1を選択する。
すると、この情報がサーバ3に送信され、サーバ3は、一般ユーザU1と特定ユーザSU1との優先度を実施の形態1の手法を用いて算出する。これにより、一般ユーザU1は対戦を希望する特定ユーザSU1とマッチングされる可能性が高くなる。
一方、一般ユーザU1が特定ユーザSU2との対戦を希望していたとすると、一般ユーザU1はグループ化指標RG2を選択する。
すると、この情報がサーバ3に送信され、サーバ3は、一般ユーザU1と特定ユーザSU2との優先度を実施の形態3の手法を用いて算出する。これにより、一般ユーザU1は対戦を希望する特定ユーザSU2とマッチングされる可能性が高くなる。
一方、一般ユーザU1が特定ユーザSU3との対戦を希望していたとすると、一般ユーザU1はグループ化指標RG2を選択する。
すると、この情報がサーバ3に送信され、サーバ3は、一般ユーザU1と特定ユーザSU3との優先度を実施の形態2の手法を用いて算出する。これにより、一般ユーザU1は対戦を希望する特定ユーザSU3とマッチングされる可能性が高くなる。
以上のように実施の形態9によれば、一般ユーザは、自身が対戦を希望する特定ユーザとマッチングされやすくなるグループ化指標を選択することができるため、一般ユーザが対戦を希望する特定ユーザとマッチングされる可能性をより高めることができる。
(他の実施の形態)
なお、実施の形態1〜9においては、ユーザ情報管理部301、グループ管理部302、グループ生成部303、グループパラメータ設定部304、及び相手決定部305を1台のサーバ3に設けたが、これらを複数のサーバ3で分担して設けてもよい。或いは、ユーザ情報管理部301、グループ管理部302、グループ生成部303、グループパラメータ設定部304、及び相手決定部305をゲーム装置1とサーバ3とで分担して設けてもよい。
実施の形態1〜9においては、特定ユーザとしてプロの麻雀士を採用したが本発明はこれに限定されない。例えば、有名芸能人や、本麻雀ゲームにおいてランキングの高い一般ユーザや、有名スポーツ選手等を特定ユーザに含めてもよい。