JP5634468B2 - ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置 - Google Patents

ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置 Download PDF

Info

Publication number
JP5634468B2
JP5634468B2 JP2012215806A JP2012215806A JP5634468B2 JP 5634468 B2 JP5634468 B2 JP 5634468B2 JP 2012215806 A JP2012215806 A JP 2012215806A JP 2012215806 A JP2012215806 A JP 2012215806A JP 5634468 B2 JP5634468 B2 JP 5634468B2
Authority
JP
Japan
Prior art keywords
user
numerical information
search
game
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012215806A
Other languages
English (en)
Other versions
JP2014071567A (ja
Inventor
雄一 中原
雄一 中原
栄花 卓郎
卓郎 栄花
貴彦 吉川
貴彦 吉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2012215806A priority Critical patent/JP5634468B2/ja
Publication of JP2014071567A publication Critical patent/JP2014071567A/ja
Application granted granted Critical
Publication of JP5634468B2 publication Critical patent/JP5634468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のユーザの各々の操作に応じて、各ユーザによるゲームの進行を制御する技術に関する。
近年、特定のサービス提供者によるソーシャルネットワーキングサービス(SNS)においてウェブブラウザ上で動作するAPI(Application Programming Interface)などの動作環境を基に作成されるゲーム用アプリケーションによって実行される、いわゆるソーシャルゲーム(Social Game)が普及している。ソーシャルゲームは、不特定多数のユーザ間でコミュニケーションをとりながらプレイするオンラインゲームの一種であると言える。ユーザは、インターネットに接続可能であって、かつウェブブラウザが搭載された通信端末を備えていれば、時間と場所を問わずソーシャルゲームを楽しむことができる。
上述したソーシャルゲームでは、従来のオンラインゲームよりも、ユーザ間の交流を図るためのコミュニケーション機能が充実している点が特徴の1つとなっている。ソーシャルゲームでは、例えば、関係付けられたユーザ(仲間)間で協力したゲームの実行のほか、仲間との挨拶や連絡など仲間とコミュニケーションを取ることによる情報交換、仲間との間のゲーム上のアイテムのプレゼントあるいはアイテムの交換が行なわれている。このようなソーシャルゲームの一例として、下記の非特許文献1に記載されたデジタルカードゲーム(ドラゴンコレクション(登録商標))が知られている。
アプリSTYLE Vol.5(株式会社イースト・プレス、平成23年11月15日発行)、7-8頁
従来のソーシャルゲームとして、例えば、複数のユーザが協力して共通の敵キャラクタを攻撃する複数のユーザ間の協力ゲームが知られている。協力ゲームにおいて、所定の期間内で、協力してゲームを行っている複数のユーザのうちいずれかのユーザが連続して敵キャラクタに対して攻撃を行った回数に応じて特典をユーザに付与するゲームについて知られている。しかしながら、従来の協力ゲームでは、協力ゲームに参加する複数のユーザが固定化された互いに既知のユーザに限られる傾向にあり、新たなユーザ間のコミュニケーションを拡大するように構成されていなかった。言い換えれば、従来の協力ゲームは、新たなユーザ間の関係を構築することを促進するような仕組みがなされていなかった。
本発明は上述した観点に鑑みてなされたもので、新たなユーザ間の関係を構築することを促進できるゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、及び情報処理装置を提供することを目的とする。
本発明の第1の観点は、ゲーム制御装置であって、
ユーザ間を関係付ける関係付け手段(51)と、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段(52)と、
目標ユーザに所定の第1の数値情報を対応付ける第1対応付け手段(53)と、
各ユーザが所定の条件を満たすか否か判定する判定手段(54)と、
前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報が対応付けられている第2ユーザを特定する特定手段(55)と、
前記特定手段(55)によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける第2対応付け手段(56)と、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段(57)と、
前記変更手段(57)によって基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する提示手段(58)と、
を備える。
このゲーム制御装置において、探索開始時の「基準ユーザ」は特定のユーザに限定するものではない。探索開始時の「基準ユーザ」は、探索ユーザであってもよいし、探索ユーザ以外の特定のユーザであってもよい。
このゲーム制御装置において「所定の条件」は任意に設定してよいが、処理の負荷の分散を図る観点から、ユーザ毎に満足するタイミングが異なる条件が好ましい。例えば、所定の条件として、ユーザがゲームにアクセスしたことを条件としてもよい。
このゲーム制御装置において「ユーザの入力」は、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力のほか、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力(ジェスチャ入力)であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。また、音声認識プログラムを実行可能な通信端末の場合には、ユーザの入力は音声によって行われてもよい。
このゲーム制御装置において「数値情報」は、ユーザ間の関係付けを示すリンクに基づいて形成されるユーザ間のネットワークを、各ユーザをノードとしたソーシャルグラフとしてみたときに、処理対象のユーザを示すノードと、目標ユーザを示すノードとの間の最短経路上のリンク数(つまり、ネットワーク上の距離)であってもよい。リンク数は、例えばユーザ間の関係の程度等によって、ユーザ間のリンクに重み付けが設定されてもよい。「数値情報に基づく情報」は、数値情報自体に限られず、数値情報に応じたテキスト情報(例えば、「まだ遠い」、「もう少し」等のテキスト)であってもよいし、数値情報に応じた強さ若しくは周波数の音声情報であってもよい。
このゲーム制御装置では、探索ユーザは、基準ユーザを順次変更し、ユーザ間の関係付けを示すリンクに基づくネットワークを辿ることによって目標ユーザを探索する探索ゲームを実行するように構成されている。基準ユーザと目標ユーザとの間の距離等の数値情報に基づく情報が探索ユーザに提示されるため、探索ユーザは目標ユーザとの距離を認識しながら探索を進めることができる。この探索ゲームでは、目標ユーザが探索ユーザと関係付けられていない場合、探索ユーザは、目標ユーザを探索する過程で、あるいは目標ユーザを効率的に探し当てるために、自らと関係付けられていない他のユーザ(例えば基準ユーザ)とコミュニケーションをとることが動機付けられる。よって、このゲーム制御装置によれば、新たなユーザ間の関係を構築することを促進できる。
このゲーム制御装置では、所定の条件を満たす各ユーザを第1ユーザとした場合に、第1ユーザに対応付ける数値情報は、第2ユーザの既知の数値情報と、第2ユーザと第1のユーザの間のリンク数とに基づいて、決定される。そして、所定の第1の数値情報が予め対応付けられている目標ユーザとの間のリンク数が少ないユーザから、所定の条件を満足したことを契機として順次、数値情報が対応付けられていく。このような各ユーザに対する数値情報の決定は、各ユーザが所定の条件を満たす度に行われるため、処理の負荷のタイミングが分散されることに加え、処理自体も第1ユーザから目標ユーザまでの最短経路を求める処理ではないため、比較的低い負荷の処理となる。
このゲーム制御装置では、第1ユーザに数値情報を対応付ける処理(つまり、判定手段、特定手段、及び第2対応付け手段に関連する処理)は、探索の処理(つまり、変更手段及び提示手段に関連する処理)自体とは並行して行われてよい。両者が並行に行われる場合であっても、第1ユーザに数値情報を対応付ける処理はネットワーク内のユーザが所定の条件を満足するタイミングで行われ、探索において基準ユーザに対応付けられている数値情報に基づく情報を探索ユーザに提示する処理は基準ユーザが変更されたタイミングで行われる。つまり、第1ユーザに数値情報を対応付ける処理と、探索の処理とが時間軸上で分散して行われる。
このゲーム制御装置では、探索ユーザの入力情報に応じて基準ユーザが変更される場合、変更後の基準ユーザに対応付けられている数値情報を参照することによって目標ユーザまでの距離がわかるため、基準ユーザの変更の都度に基準ユーザから目標ユーザまでの距離(リンク数)を算出する必要がなく、探索のための処理負荷が極めて低いという利点がある。
上記ゲーム制御装置において、前記所定の条件は、ユーザがゲームにアクセスしたことであってもよい。
上記ゲーム制御装置では、ネットワーク内の各ユーザが所定の条件を満足する場合に、各ユーザの数値情報に対する対応付けが行われる。つまり、各ユーザに対応付けられている数値情報が新たに対応付けられるか、既に対応付けられている数値情報が更新される処理が行われる。このような処理のタイミングは、処理の負荷を低減させるために分散している方が好ましい。ネットワーク内の各ユーザがゲームにアクセスするタイミングは比較的ランダムであると考えられるため、所定の条件をユーザがゲームにアクセスしたこととすることは、処理の負荷を低減させる上で好都合である。
なお、「アクセス」は、ゲームへのアクセス等、認証処理を伴うアクセスのほか、ゲーム内の特定のイベントや特定のゲーム要素(ミニゲーム等)、特定のステージに対するアクセスであってもよい。
上記ゲーム制御装置において、前記所定の条件は、ユーザ毎にランダムに割り当てられた時刻、あるいはユーザ毎に所定の規則に従って割り当てられた時刻に達したことであってもよい。これによっても、各ユーザの数値情報に対する対応付けの処理のタイミングが分散するため、処理の負荷を低減させる上で好都合である。
上記ゲーム制御装置において、前記設定手段(52)は、複数の目標ユーザを設定し、前記第2対応付け手段(56)は、目標ユーザ毎に前記第1ユーザに数値情報を対応付けてもよい。この構成では、ユーザは、複数の目標ユーザに対する探索を並行して実行することができるため、探索ゲームとしての興趣性を高めることができる。
上記ゲーム制御装置において、ユーザ間の関係の程度に応じた親密度を、前記関係付け手段(51)によって関係付けられたユーザ間に設定する親密度設定手段(59)、を備え、前記第2対応付け手段(56)は、前記ネットワーク上で隣接するユーザ間のリンク数が当該ユーザ間の親密度に応じて調整されるようにして、前記第1ユーザに数値情報を対応付けてもよい。
この構成では、ネットワーク上で隣接するユーザ間の関係の程度に応じて、各ユーザに数値情報が対応付けられる。つまり、ネットワーク上のリンクの重み付けがユーザ間で一定ではなく、ユーザ間の関係の程度に応じたリンクの重み付けに基づいて、各ユーザに数値情報が対応付けられる。これにより、例えば、基準ユーザと目標ユーザとの間で複数の経路が存在する場合に、ユーザの入力による基準ユーザの変更次第で、つまりユーザが採用する経路次第で、ユーザに提供される数値情報に基づく情報が異なる場合が生ずるため、探索ゲームとして興趣性をさらに高めることができる。
上記ゲーム制御装置において、基準ユーザと前記目標ユーザが一致した場合に、探索ユーザに特典を付与する付与手段(60)、を備えてもよい。
「特典」は任意に設定することができ、ゲーム上で利用可能なポイントの付与や、ゲーム上の進行を有利にするゲーム上の設定、調整、あるいはゲーム上の進行を有利にするアイテムの付与であってもよく、ゲームの進行とは直接関係のないアイテムが付与されることであってもよい。付与手段(60)を設けることで、探索ユーザが目標ユーザを探し当てる動機付けを高めることができる。
上記ゲーム制御装置において、前記第2対応付け手段(56)は、前記特定手段(55)によって特定された数値情報と、前記第2ユーザと前記第1ユーザの間のリンク数とを加算して、前記第1ユーザに対応付ける数値情報を算出してもよい。
この構成では、ネットワーク上の各ユーザに対応付ける数値情報が加算演算によって算出されるため、数値情報を算出するときの処理の負荷が軽減される。例えば、第2ユーザを第1ユーザと関係付けられた仲間のユーザとした場合には、リンク数が1であるため、第1ユーザに対応付けられる数値情報を単に、第2ユーザの数値情報に対して1を加算する演算によって算出することができる。
本発明の第2の観点は、
ユーザ間を関係付けるステップと、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定するステップと、
目標ユーザに所定の第1の数値情報を対応付けるステップと、
各ユーザが所定の条件を満たすか否か判定するステップと、
前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報が対応付けられている第2ユーザを特定するステップと、
前記特定するステップによって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付けるステップと、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更するステップと、
基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示するステップと、
を備えた、ゲーム制御方法である。
本発明の第3の観点は、コンピュータに、
ユーザ間を関係付ける機能、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する機能、
目標ユーザに所定の第1の数値情報を対応付ける機能、
各ユーザが所定の条件を満たすか否か判定する機能、
前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報が対応付けられている第2ユーザを特定する機能、
前記特定する機能によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける機能、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する機能、及び、
基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する機能、
を実現させるためのプログラムである。
コンピュータは、例えばネットワークサーバ、大型計算機等であってよい。また、このプログラムは、DVD−ROMやCD−ROM等のコンピュータが読み取り可能な情報記憶媒体に格納されてもよい。
本発明の第4の観点は、通信端末(10)と、当該通信端末(10)からアクセス可能に構成され、前記通信端末(10)によるゲームの実行を制御するサーバ(20)と、を含むゲームシステムであって、
ユーザ間を関係付ける関係付け手段(51)、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段(52)、
目標ユーザに所定の第1の数値情報を対応付ける第1対応付け手段(53)、
各ユーザが所定の条件を満たすか否か判定する判定手段(54)、
前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報が対応付けられている第2ユーザを特定する特定手段(55)、
前記特定手段(55)によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける第2対応付け手段(56)、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段(57)、及び、
前記変更手段(57)によって基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する提示手段(58)、
の各手段を、前記通信端末(10)又は前記サーバ(20)のいずれか一方が備える。
本発明の第5の観点は、情報処理装置であって、
ユーザ間を関係付ける関係付け手段(51)と、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段(52)と、
目標ユーザに所定の第1の数値情報を対応付ける第1対応付け手段(53)と、
各ユーザが所定の条件を満たすか否か判定する判定手段(54)と、
前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報を特定する特定手段(55)と、
前記特定手段(55)によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける第2対応付け手段(56)と、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段(57)と、
前記変更手段(57)によって基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する提示手段(58)と、
を備える。
なお、上記では、本発明の理解を容易にするため、適宜図面に記載された符号を括弧書きで記載しているが、これにより本発明に係るゲーム制御装置等が図示の態様に限定されるものではない。
本発明のゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、及び情報処理装置によれば、新たなユーザ間の関係を構築することを促進できる。
実施形態のゲームシステムの基本構成を示す図。 実施形態の通信端末の外観の例を示す図。 実施形態の通信端末の構成を示すブロック図。 実施形態のゲームサーバの構成を示すブロック図。 実施形態のデータベースサーバの構成を示すブロック図。 ユーザデータベースの構成例を示す図。 探索データベースの構成例を示す図。 仲間関係を示すソーシャルグラフの隣接リストのデータ構成例を示す図。 距離データの構成例を示す図。 仲間関係を示すソーシャルグラフの一例を示す図。 ソーシャルグラフにおいてリンク数が設定される態様の一例を示す図。 ソーシャルグラフにおいてリンク数が設定される態様の一例を示す図。 ソーシャルグラフにおいてリンク数が設定される態様の一例を示す図。 ソーシャルグラフにおいてリンク数が設定される態様の一例を示す図。 ソーシャルグラフにおいてリンク数が設定される態様の一例を示す図。 ユーザの通信端末において表示される一連のウェブページを例示する図。 (a)はユーザの通信端末において表示されるウェブページを例示し、(b)は当該ウェブページに対応するソーシャルグラフを示す図。 (a)はユーザの通信端末において表示されるウェブページを例示し、(b)は当該ウェブページに対応するソーシャルグラフを示す図。 (a)はユーザの通信端末において表示されるウェブページを例示し、(b)は当該ウェブページに対応するソーシャルグラフを示す図。 (a)はユーザの通信端末において表示されるウェブページを例示し、(b)は当該ウェブページに対応するソーシャルグラフを示す図。 (a)はユーザの通信端末において表示されるウェブページを例示し、(b)は当該ウェブページに対応するソーシャルグラフを示す図。 (a)はユーザの通信端末において表示されるウェブページを例示し、(b)は当該ウェブページに対応するソーシャルグラフを示す図。 実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図。 実施形態の隣接リストの更新処理を示すフローチャート。 実施形態の距離データの更新処理を示すフローチャート。 実施形態の探索処理を示すフローチャート。 実施形態の変形例において、ユーザの通信端末において表示されるウェブページを例示する図。 実施形態の変形例に係るゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図。 親密度データの構成例を示す図。 実施形態の変形例に係るゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図。 ゲーム制御装置の各機能について、通信端末と、ゲームサーバ及びデータベースサーバとの間の分担例を示す図。
以下、本発明の実施形態について説明する。
(1)ゲームシステムの構成
図1は、実施形態のゲームシステムのシステム構成例を示している。図1に示すように、このゲームシステムは、例えばインターネットなどの通信網NW(ネットワーク)に接続可能な通信端末10a,10b,10c,…と、通信網NWに接続されているゲームサーバ20と、データベースサーバ30とによって構成されている。各通信端末10a,10b,10c,…はそれぞれ、個々のユーザによって操作される端末であり、例えば、携帯端末、スマートフォン、PDA(Personal Digital Assistant)、パーソナルコンピュータ、双方向の通信機能を備えたテレビジョン受像機(いわゆる多機能型のスマートテレビも含む。)などの通信端末である。なお、以下の説明において、各通信端末10a,10b,10c,…に共通して言及するときには、通信端末10と表記する。
このゲームシステムにおいて、ゲームサーバ20は、クライアントである通信端末10と通信可能に構成されており、通信端末10に対してゲーミングサービスを提供する。ゲームサーバ20には、ゲーム用アプリケーションとしてウェブブラウザ上で動作可能なアプリケーションが実装されている。データベースサーバ30は、ゲームを実行する上での後述する様々な情報を格納しており、それらの情報の読み書きのためにゲームサーバ20と例えば有線で接続される。
通信端末10は、ゲームサーバ20によって提供されるウェブページを表示可能なウェブブラウザを備えており、ユーザは、通信端末10でウェブページに対する操作をしてゲームを実行する。
また、図1には図示していないが、ゲームサーバ20とは別に各通信端末10のユーザを認証するための認証サーバを設けてもよい。また、多くの通信端末10からのアクセスを受け入れるために複数のゲームサーバ20を設ける場合は、その複数のゲームサーバ20間の負荷を調整するためのロードバランサを設けてもよい。また、ゲームサーバ20は単一のサーバ装置として構成してもよいが、機能を分散させた複数のサーバ装置として構成してもよい。
(2)通信端末の構成
図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を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス18が設けられている。
CPU11は、ROM12内のウェブブラウザをRAM13にロードして実行する。そして、CPU11は、指示入力部15等によってユーザに入力されるURL(Uniform Resource Locator)の適切な指定に基づき、通信インタフェース部17を介して、ゲームサーバ20からウェブページを表示するためのデータ、すなわち、HTML(HyperText Markup Language)文書や当該文書と関連付けられた画像などのオブジェクトのデータ(以下、総称して適宜「HTMLデータ」と表記する。)を通信インタフェース部17を介して取得し、そのHTMLデータを解釈する。なお、通信端末10には、ウェブブラウザのブラウザ機能を拡張するための様々なプラグインが実装されていてよい。
なお、HTMLデータの取得に当たって、CPU11は、予め登録されたユーザID(ユーザ識別情報)、あるいは指示入力部15を介して入力されるユーザIDを含むアクセス要求メッセージを、通信インタフェース部17を介してゲームサーバ20へ通知する。
ウェブブラウザは、画像処理部14を介して、取得したHTMLデータに基づき、ゲームサーバ20から提供されるウェブページを表示部16に表示する。また、ウェブブラウザは、ユーザが指示入力部15の操作によってウェブページ上のハイパーリンク(Hyperlink)またはメニューが選択されると、その選択に応じたウェブページを表示するための新たなHTMLデータの送信(つまり、ウェブページの更新)をゲームサーバ20へ要求する。
画像処理部14は、HTMLデータの解析結果としてCPU11から与えられる表示用画像データに基づいて、表示部16にウェブページを表示する。表示部16は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むLCD(Liquid Cristal Display)モニタであり、表示用画像データに基づいて薄膜トランジスタを駆動することでウェブページの画像を表示画面16aに表示する。
通信端末10が釦入力方式の通信端末(図2(a))である場合、指示入力部15は、ユーザの操作入力を受け入れるための方向指示釦と決定釦などの複数の指示入力釦を含む釦群15a、及び、テンキーなどの複数の指示入力釦を含む釦群15bを備え、各釦の押下(操作)入力を認識してCPU11へ出力するためのインタフェース回路を含む。例えば、方向指示釦は、表示部16に表示されているウェブページをスクロールして表示することをCPU11へ指示するために設けられる。また、決定釦は、例えばウェブページ上で複数のハイパーリンクまたはメニューが表示されるときに、アクティブ表示(例えば強調表示)されている1つのハイパーリンクまたはメニューをユーザが選択することをCPU11へ指示するために設けられる。なお、通信端末10を小型の携帯端末によって構成する場合には、これらの釦は、ユーザが通信端末10を片手で保持したままその親指で操作(クリック)しやすいように、通信端末10の前面に配置されていることが好ましい。図2(a)に示す例では、釦群15bは、釦群15aの下方に配置され、「0」〜「9」、「*」、「#」(テンキー)が表記された複数の指示入力釦を含む。
通信端末10がタッチパネル入力方式の通信端末(図2(b))である場合、指示入力部15は、主として表示画面16aに指先あるいはペンで触れることによるタッチパネル方式の入力を受け付ける。タッチパネル入力方式は、静電容量方式などの公知の方式でよい。なお、図2(b)に示すように、通信端末10がタッチパネル入力方式の場合であっても釦群15aが設けられる場合もある。
通信端末10に表示されるウェブページ上のメニューの選択操作は、例えば通信端末10が携帯端末である場合には、方向指示釦の押下操作によってメニューを選択し、決定釦の押下操作によって、選択したメニューを確定することによって行われる。また、選択操作は、例えば通信端末10がタッチパネル入力方式の場合には、ウェブページが表示されている表示画面16a上のメニューの位置を指あるいはペンで指示(タッチ操作)することによって行われる。
(3)ゲームサーバの構成
図4を参照してゲームサーバ20の構成について説明する。
ゲームサーバ20は、例えば階層構造の複数のウェブページからなるゲームのウェブサイトを管理しており、通信端末10に対してゲームのウェブサービスを提供する。図3に示すように、ゲームサーバ20は、CPU21、ROM22、RAM23、データベース(DB)アクセス部24、及び、通信インタフェース部25を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス26が設けられている。なお、ゲームサーバ20は、ハードウエアに関しては汎用のウェブサーバと同一の構成をとることができる。
ROM22には、クライアントである通信端末10のウェブブラウザに対してHTML文書や画像などのオブジェクトの表示(ウェブページの表示)のサービスを提供するアプリケーションプログラムが格納されている。ROM22には、アプリケーションプログラム以外にもCPU21によって参照される各種データが格納されている。
CPU21は、ROM22内のゲームプログラムをRAM23にロードして実行し、通信インタフェース部25を介して、各種の処理を行う。
例えば、CPU21は、通信インタフェース部25を介して、HTMLデータを通信端末10宛に送信する。なお、ゲームサーバ20が通信端末10のユーザの認証処理を行う場合には、CPU21はその認証処理を行う。
CPU21は、通信インタフェース部を介して、通信端末10で表示されるウェブページ上でユーザにより選択されたハイパーリンクまたはメニューに応じた処理を行う。その処理は、例えば、新たなHTMLデータの送信、または、ゲームサーバ20内の演算処理あるいはデータ処理などを含む。
データベースアクセス部24は、CPU21がデータベースサーバ30に対してデータの読み書きを行うときのインタフェースである。
(4)データベースサーバの構成
データベースサーバ30(記憶装置)は、大容量のハードディスク装置やRAID(Redundant Arrays of Inexpensive Disks)等の形態の装置等、汎用ストレージで実現できる。データベースサーバ30内の各データベースは、ゲームサーバ20のデータベースアクセス部24を介してCPU21からのデータの読み書きが可能となるように構成されている。
図5に、データベースサーバ30の構成の一例を示す。図5に示すように、データベースサーバ30は、ユーザデータベース31と、ゲームデータベース32とを備える。
本実施形態のゲームシステムによって実現されるゲームのタイプは特に限定されるものではないが、以下では、本実施形態のゲームの一例として、ゲームに登録している複数のユーザの中から目標となるユーザを探し当てる探索ゲーム(以下、適宜「本実施形態のゲーム」という。)を採り上げる。本実施形態のゲームにおいて、探索を行うユーザを「探索ユーザ」といい、探索の目標となるユーザである「目標ユーザ」という。本実施形態のゲームでは、後述するように特定のユーザ間を仲間として関係付けることが可能であり、探索ユーザは、自らを起点としてユーザ間の仲間関係を辿ることで目標ユーザを探し当てる仕組みとなっている。目標ユーザを探し当てるまでに探索ユーザは、仲間関係を辿るようにして探索の基準となるユーザを順次変更していく。探索の基準となるユーザを、以下では「基準ユーザ」という。
ここで、ユーザをノード、ユーザ間の関係付けをリンク(エッジともいう。)としてみた場合には、ゲームに参加しているユーザ全体がソーシャルグラフを形成していると考えることができる。このソーシャルグラフにおいて、探索ユーザに相当するノードを「出発ノード」、基準ユーザに相当するノードを「基準ノード」、目標ユーザに相当するノードを「目標ノード」、とした場合、本実施形態の探索ゲームは、ユーザ間の関係付けを示すリンクに基づくソーシャルグラフ(ユーザのネットワーク)において、出発ノードから目標ノードまでの経路を、基準ノードを順次変更させながら探索することに相当する。
図6に、本実施形態のゲームにおいて適用されるユーザデータベース31の一例を示す。この例では、ユーザデータベース31は、ユーザID(ユーザ識別情報)ごとに、ユーザ名、ユーザ画像、進行レベル、体力ポイント、探索データ(探索ID,基準ユーザ)、特典ポイント、仲間のユーザIDの各項目についての情報を含む。ユーザデータベース31に含まれる情報は、ゲームサーバ20によって逐次更新されうる。
以下の説明では、ユーザデータベース31に含まれるユーザID、あるいはユーザを特定するユーザ名(後述する)ごとのデータを総称してユーザデータという。ユーザデータを構成する各項目の情報は、以下のとおりである。
・ユーザ名
ゲームの実行時に通信端末10のユーザを特定するために表示されるユーザ名である。ユーザ名はユーザによって予め指定される所定長以下のテキストである。ユーザ名は、ゲームサーバ20によって提供されるネットワーク環境(あるいはゲームコミュニティ)上でユーザを特定する名称である。
・ユーザ画像
ユーザ画像は例えばユーザによって予め選択されるアバタ画像である。
・進行レベル
ゲーム上のユーザの進行レベルを示すデータである。例えばLv1(レベル1)からLv100(レベル100)までの範囲のレベル値である。例えば、ゲームの実行回数が所定回数に達する度に、進行レベルが上昇させるようにしてもよい。
・体力ポイント
本実施形態のゲームにおいて、ゲームを進行させる上で必要となるユーザの体力に相当するポイントである。例えば、本実施形態のゲームでは、基準ユーザを変更する度に、所定量の体力ポイントが消費され、所定の時間が経過する毎に所定量回復(増加)するようにしてもよい。
・探索データ
探索データは、探索IDと基準ユーザとなるユーザのユーザIDとを含む。探索IDは、探索のミッションを特定するための識別情報である。
・特典ポイント
本実施形態のゲームにおいて、探索に成功して目標ユーザを探し当てたことでユーザが得た特典ポイントの累積値である。
・仲間のユーザID
対象となるユーザIDと関係付けられた他のユーザIDのデータである。
図5に戻り、ゲームデータベース32は、ゲームサーバ20からのアクセスに基づき、ゲームサーバ20によって実行されたゲームの進行に関する情報、探索データベースを記憶する。ゲームの進行に関する情報は、ゲームの性質によって多様な情報を含みうる。本実施形態のゲームの場合を例に挙げれば、ゲームの進行に関する情報は、各ユーザの探索についての詳細結果などを含んでもよい。
探索データベースは、本実施形態のゲームにおいてユーザに与えられる複数の探索のミッションの各々についてのデータが記述されている。探索データベースのデータ構成例を図7に示す。図7に示すように、各ミッションは、探索IDに対応付けられている。図7に示す探索データベースの各項目のデータは以下のとおりである。
・目標ユーザ
特定のミッションの探索の目標ユーザとなるユーザのユーザIDである。
・終了時刻
特定のミッションの探索が終了する時刻である。本実施形態のゲームでは、探索ユーザは、終了時刻までに目標ユーザを探し当てたときに特典ポイントが付与される。
・特典ポイント
特定のミッションの探索に成功したときに探索ユーザに付与される特典ポイントである。
なお、本実施形態のゲームでは、ユーザの仲間関係を示すリンクからなるネットワークが、ソーシャルグラフによって管理される。例えば、ユーザデータベースに書き込まれている仲間のユーザIDのデータに基づいて、仲間関係を示すソーシャルグラフを示す隣接リストが生成されてRAM23に記憶される。図8に、隣接リストのデータ構成例を示す。図8に示すように、隣接リストは、各ユーザIDと、ユーザIDに仲間として対応付けられた他の1又は複数のユーザとを、ソーシャルグラフ上の隣接ノードとして示すデータである。
本実施形態のゲームでは、ネットワーク内の各ユーザに対して、目標ユーザとの間の距離情報(数値情報)を対応付ける距離データがRAM23に記憶される。図9に、距離データのデータ構成例を示す。図9の距離データでは、探索IDに対応する複数の目標ユーザの各々に対して、各ユーザと目標ユーザの間の距離情報(例えば、目標ユーザまでの最短のリンク数)が対応付けられている。目標ユーザに対する距離情報が記述されていない場合、目標ユーザまでの距離情報が現時点で不明であることを示す。距離データにおいて、目標ユーザに相当するユーザID(例えば図9では、456789,765432)に対応する距離情報は、初期値として「0」が書き込まれている。
距離データは、各ユーザが所定の条件を満たす度に更新される場合がある。
(5)目標ユーザまでの距離を算出する処理の原理
前述したように、本実施形態のゲームでは、目標ユーザを探し当てるまでに、探索ユーザが、探索の基準となる基準ユーザを順次変更するが、このとき、基準ユーザとなるユーザに目標ユーザまでの距離情報が距離データ上で対応付けられている場合には、その距離情報に基づく情報が探索ユーザに提示される。そのため、基準ユーザを変更する度に、基準ユーザと目標ユーザとの間の距離を算出する必要がないため、処理負荷が軽減される。
以下、ネットワーク内の各ユーザについて、目標ユーザまでの距離情報を算出する処理の原理について、図10、及び図11A〜11Eを参照して説明する。
図10は、ユーザの仲間関係を示すソーシャルグラフ(無向グラフ)の一例を概念的に示す図である。図10に示すソーシャルグラフの例では、出発ノードNsはユーザKNMであり、目標ノードNgはユーザXYZ(つまり、目標ユーザはユーザXYZ)である。ソーシャルグラフでは、ユーザ間の仲間関係の有無は、ノード間のリンク(「エッジ」ともいう。)の有無によって表現される。図10に例示するソーシャルグラフにおいて、目標ユーザXYZに対応する距離情報の値は「0」である。
図11A〜11Eはそれぞれ図10と同様の例のソーシャルグラフを示している。図11A〜11Eはそれぞれ、連続する期間T1〜T5において、ネットワーク内のユーザが順次所定の条件を満たし、目標ユーザを基準として周囲のユーザに対応する距離情報の値が決定されていく例を示している。本実施形態では、各ユーザについての所定の条件は、「ユーザがゲームにアクセスしたこと」とする。
図11A〜11Eにおいて、既に距離情報が対応付けられているユーザの仲間であって(つまり、当該ユーザとの間のリンク数が1であって)、かつ該当する期間にゲームにアクセスしたユーザ(つまり、所定の条件を満たしたユーザ)を示す円を、太線で表している。既に距離情報が対応付けられているユーザの仲間ではないが、単にゲームにアクセスしたユーザについては、対応する距離情報の値が決定されないため、当該ユーザを示す円は太線で表していない。
(i)期間T1
期間T1の開始時刻では、既に距離情報が対応付けられているユーザは目標ユーザのみである。目標ユーザには、初期値として「0」が対応付けられている(図10参照)。ここで、期間T1内に、目標ユーザの仲間の一人であるユーザKFCがゲームにログインした場合を想定する。この場合、ユーザKFCにとって仲間のユーザである目標ユーザXYZに対応付けられている距離情報が「0」であるため、ユーザKFCに対応付けられる距離情報は目標ユーザのそれに1を加えて「1」となる。その結果、期間T1の終了時刻において、ネットワーク内の各ユーザに対応付けられている距離情報は、図11Aに示したとおりとなる。
(ii)期間T2
期間T1に続く期間T2内に、既に距離情報が対応付けられているユーザ(ここでは、目標ユーザXYZとユーザKFC)のいずれかの仲間であるユーザSAM,EST,DCTがゲームにログインした場合を想定する。この場合、ユーザEST,DCTにとって仲間のユーザである目標ユーザXYZに対応付けられている距離情報が「0」であるため、ユーザEST,DCTに対応付けられる距離情報は共に、目標ユーザのそれに1を加えて「1」となる。ユーザSAMは、目標ユーザXYZとユーザKFCの2人と仲間である。ユーザSAMに対応付ける距離情報として、目標ユーザXYZ(距離情報:0)を基準とすると「1」(0+1=1)となり、ユーザKFC(距離情報:1)を基準とすると「2」(1+1=2)となる。このように、複数の距離情報が対応付け可能である場合には、より小さい値を対応付ける。すなわち、ユーザSAMに対応付けられる距離情報は、「1」となる。以上の結果、期間T2の終了時刻において、ネットワーク内の各ユーザに対応付けられている距離情報は、図11Bに示したとおりとなる。
(iii)期間T3
期間T2に続く期間T3内に、既に距離情報が対応付けられているユーザSAMの仲間であるユーザDSGがゲームにログインした場合を想定する。この場合、ユーザDSGにとって仲間のユーザであるユーザSAMに対応付けられている距離情報が「1」であるため、ユーザDSGに対応付けられる距離情報は、ユーザSAMのそれに1を加えて「2」となる。その結果、期間T3の終了時刻において、ネットワーク内の各ユーザに対応付けられている距離情報は、図11Cに示したとおりとなる。
(iv)期間T4
期間T3に続く期間T4内に、既に距離情報が対応付けられているユーザSAM,DSGの仲間であるユーザGTRがゲームにログインした場合を想定する。ユーザGTRに対応付ける距離情報として、目標ユーザSAM(距離情報:1)を基準とすると「2」(1+1=2)となり、ユーザDSG(距離情報:2)を基準とすると「3」(2+1=3)となる。この場合、前述したように、ユーザGTRに対応付けられる距離情報は、より小さい値をとるため「2」となる。その結果、期間T4の終了時刻において、ネットワーク内の各ユーザに対応付けられている距離情報は、図11Dに示したとおりとなる。
(v)期間T5
期間T4に続く期間T5内に、既に距離情報が対応付けられているユーザKFC,GTRのそれぞれの仲間であるユーザFSR,BJCがゲームにログインした場合を想定する。この場合、ユーザFSRにとって仲間のユーザであるユーザKFCに対応付けられている距離情報が「1」であるため、ユーザFSRに対応付けられる距離情報は、ユーザKFCのそれに1を加えて「2」となる。ユーザBJCにとって仲間のユーザであるユーザGTRに対応付けられている距離情報が「2」であるため、ユーザBJCに対応付けられる距離情報は、ユーザGTRのそれに1を加えて「3」となる。以上の結果、期間T5の終了時刻において、ネットワーク内の各ユーザに対応付けられている距離情報は、図11Eに示したとおりとなる。
以上、具体例を基に説明したように、本実施形態のゲーム制御装置において、目標ユーザまでの距離情報を算出する処理は、ネットワーク内の各ユーザがゲームにアクセスした場合(所定の条件を満たした場合)に、目標ユーザを起点としてリンクを辿って外側に順次、目標ユーザまでの距離情報が各ユーザに対応付けられていくようにして行われる。各ユーザに対応付ける距離情報は、その仲間に距離情報が対応付けられている場合に1(つまり、仲間のユーザとの間のリンク数)を加えるだけでよいため、各ユーザについて目標ユーザまでの距離を都度算出する必要がなく、処理負荷が低いものとなっている。
(6)本実施形態のゲーム
次に、本実施形態のゲームの内容について、図12〜18を参照しながら説明する。図12〜18は、本実施形態のゲームにおいて、探索ユーザの通信端末10に表示される一連のウェブページを示す図である。なお、各ウェブページは、一例として、図11Eに示したようにネットワーク内の各ユーザに距離情報が対応付けられた後に探索が行われた場合を想定する。
以下の説明において、通信端末10に表示されるウェブページ上で表示されるメニュー、マーク等はウェブページ上で所望の位置に配置されるものであって、通信端末10で視認されるメニュー、マーク等の表示画面上の位置は、ユーザの方向指示釦あるいはタッチパネル操作によるウェブページのスクロール操作によって変化しうる。
図12に例示する本実施形態のゲームのトップページP0は、個々のユーザIDに応じたウェブページで構成される。図12の例では、ユーザ画像とともに、ユーザデータ表示領域、及びメニュー表示領域を含む。図12では、一例としてユーザKNM(ユーザ名;KNM)の通信端末10に表示されるウェブページの例を示している。
ユーザデータ表示領域は、対象となるユーザIDのユーザデータに含まれる、進行レベル、体力ポイントの各項目のデータ(図6参照)が表示される領域である。メニュー表示領域は、本実施形態のゲームにおいて、ユーザの仲間を辿ることによって目標ユーザを探し当てる処理である探索処理の実行を開始するためのメニューm1(「ユーザ探索」)を含む複数のメニュー(メニューm1以外は図示せず)が表示される領域である。
図12のゲームのトップページP0上でメニューm1(「ユーザ探索」)が選択操作されると、P1に示すようにウェブページが更新される。このウェブページP1には、現在選択可能な(つまり、終了時刻に達していない)1又は複数の探索のミッションの一覧が表示される。各ミッションには、目標ユーザ(XYZ等)、終了時刻までの時間(1時間35分等)、及び特典ポイント(1000pt等)が対応付けて表示される。各ミッションに対応付けて、メニューm11,12,…(「この人を探す」)が表示される。ウェブページP1において、例えばメニューm11が選択操作されると、図13(a)のP2に示すようにウェブページが更新される。ウェブページP2は、例えば、表示領域101,102,104によって構成される。なお、複数の探索のミッションのいずれかが選択された後に、目標ユーザに対する探索の過程で表示されるウェブページを、以下では「探索ページ」ということもある。
図13(b)には、ウェブページP2がユーザKNMの通信端末10に表示された時点において、基準ノードNrの位置を示すソーシャルグラフを概念的に表している。ソーシャルグラフ自体は、図11Eに例示したものと同じである。この時点では、ソーシャルグラフ上で、ユーザKNMは、基準ノードNrに相当する。
図13(a)のウェブページP2において、表示領域101は、基準ユーザに距離情報が対応付けられている場合に、その距離情報を、目標位置(ソーシャルグラフ上の目標ノードに相当する)を基準として棒状に表示するための領域である。ユーザKNMがゲームにアクセスする前には、図11Eに示したようにユーザKNMに距離情報が対応付けられていないが、その後にユーザKNMがゲームにアクセスすることによって、仲間のユーザBJCに対応付けられている距離情報:3を基にユーザKNMに対して距離情報:4が対応付けられる。それによって、ウェブページP2の表示領域101には、距離情報:4が棒状に表示される。なお、ウェブページP2の表示領域101において、「現在位置」は、探索の基礎となるソーシャルグラフ上の基準ノードに相当する。表示領域102には、ユーザKNMによってP1で選択されたミッションについて、ユーザの現在位置(P2では、探索ユーザであると同時に基準ユーザでもある「KNM」が表示される。)と、探索の終了時刻までの残り時間とが表示される。
表示領域104には、探索ユーザが基準ユーザを更新するために、基準ユーザの仲間のユーザの一覧(仲間リスト)が表示される。P2の例では、探索ユーザであると同時に基準ユーザでもあるユーザKNMの仲間リストが表示される。
図13(a)のウェブページP2において、新たな基準ユーザとして例えばユーザBJCが選択操作された場合、図14(a)のP3に示すようにウェブページが更新される。ウェブページP3は、例えば、上述した表示領域101,102,104に加え、表示領域103を含む。表示領域103は、探索ユーザと基準ユーザが異なる場合に表示されるウェブページに含まれる。
ウェブページP2の表示領域103は、基準ユーザとなるユーザのユーザ画像と、当該ユーザに対して挨拶メッセージを送信するためのメニューm21(「挨拶する」)と、当該ユーザを新たに仲間として関係付ける申請を行うためのメニューm22(「仲間に誘う」)とを含む。このようなメニューを設けることで、探索ユーザは、探索の過程で認識した他のユーザと直接的にコミュニケーションをとることができ、他のユーザと仲間の関係を構築できる機会が与えられる。例えば、メニューm21が選択操作されると、テキストメッセージを入力するためのテキストボックスと、送信釦とを含むウェブページ(図示せず)に更新される。そのテキストボックス内にメッセージが入力された状態で送信釦を選択操作することで、当該メッセージが受け付けられ、基準ユーザに届けられる仕組みとなっている。本実施形態のゲームにおいて探索ユーザは、基準ユーザを変更する度に、自らの仲間ではない他のユーザを認識するようになるため、例えば目標ユーザに関する情報を質問する、あるいは探索ゲームとは無関係の内容についてのメッセージを送信する等の様々なコミュニケーションをとる機会が得られることになる。
図14(b)に示すように、ウェブページP3が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザBJCを示すノードに相当する。この時点では、図14(b)に示すように、基準ユーザであるユーザBJCに距離情報(「3」)が対応付けられているため、図14(a)のウェブページP3に示すように、表示領域101には、その距離情報が棒状に表示される(つまり、3目盛り分表示される)。
図14(a)のウェブページP3において、新たな基準ユーザとして例えばユーザGTRが選択操作された場合、図15(a)のP4に示すようにウェブページが更新される。ウェブページP4は、P3と同様の表示形式のウェブページである。
図15(b)に示すように、ウェブページP4が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザGTRを示すノードに相当する。この時点では、図15(b)に示すように、基準ユーザであるユーザGTRに距離情報(「2」)が対応付けられているため、表示領域101には、その距離情報が棒状に表示される(つまり、2目盛り分表示される)。
図15(a)のウェブページP4において、新たな基準ユーザとして例えばユーザSAMが選択操作された場合、図16(a)のP5に示すようにウェブページが更新される。ウェブページP5は、P3と同様の表示形式のウェブページである。
図16(b)に示すように、ウェブページP5が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザSAMを示すノードに相当する。この時点では、図16(b)に示すように、基準ユーザであるユーザSAMに距離情報(「1」)が対応付けられているため、表示領域101には、その距離情報が棒状に表示される(つまり、1目盛り分表示される)。
図16(a)のウェブページP5において、新たな基準ユーザとして例えばユーザXYZが選択操作された場合、図17(a)のP6に示すようにウェブページが更新される。選択操作対象のユーザXYZは目標ユーザであるため、この選択操作によって目標ユーザを探し当てることができたことになる。この場合、ウェブページP6に示すように表示領域105を設け、目標ユーザの探索に成功したことを通知するためのテキストが表示される。
図17(b)に示すように、ウェブページP6が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザXYZを示すノードに相当する。この時点では、図17(b)に示すように、基準ユーザであるユーザXYZに距離情報(「0」)が対応付けられているため、表示領域101では、ユーザKNMの現在位置と目標位置が一致する。
以上、探索ユーザであるユーザKNMが、ユーザ間の仲間関係を辿ることによって、目標ユーザであるユーザXYZを探し当てる場合について説明した。ウェブページP2〜P6に示した例では、ユーザKNMがソーシャルグラフ上の最短経路に沿ってユーザXYZを探し当てた場合の例であるが、このようにうまくいかない場合もある。例えば、ウェブページP3(図14)が表示されているときに、基準ユーザをユーザBJCからユーザGTRではなく、別のユーザに変更された場合を想定する。この場合の表示例を図18(a)に示す。図18(a)に示すウェブページP4aでは、基準ユーザをユーザBJCからユーザZAPに変更した場合の表示例である。この基準ユーザの変更は、図18(b)に示すように、ソーシャルグラフ上での基準ノードNrがユーザZAPを示すノードに変更されたことに相当する。基準ユーザがユーザBJCからユーザZAPに変更された場合、ユーザZAPはゲームにアクセスしていないため距離情報が対応付けられておらず、ウェブページP4aの表示領域101には、距離情報が棒状に表示されない。このような場合、表示領域101をみた探索ユーザは、基準ユーザとしてユーザZAPを選択したことで目標ユーザとの距離が離れてしまった可能性が高いことがわかる。つまり、距離情報のユーザへの対応付けは、目標ユーザを起点として、所定の条件を満たした順(例えば、ゲームへのアクセスが行われた順)に行われるため、距離情報が対応付けられていないユーザは、ネットワーク上で目標ユーザとの距離が離れていることが推定される。
なお、探索ユーザは、選択した基準ユーザに距離情報が対応づけられていない場合、その基準ユーザ(P6の例では、ユーザZAP)に対して、所定の条件を満たすように(例えば、ゲームへのアクセスを行うように)ミニメールを送信できるように構成されてもよい。
(7)ゲーム制御装置における各処理の概要
次に、上述した本実施形態のゲームを実現するためゲーム制御装置における各処理について説明する。
本実施形態では、ゲームサーバ20及びデータベースサーバ30によってゲーム制御装置が構成されている。以下では、上述したゲームが適用される場合を例として、本実施形態のゲーム制御装置で実現される機能について、図19を参照して説明する。図19は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。
関係付け手段51は、ユーザ間を関係付ける機能を備える。例えば、関係付け手段51は、ユーザIDに基づく申請を契機として、当該ユーザIDと他のユーザIDとを仲間として関係付ける機能を備える。
関係付け手段51の機能は例えば、以下のとおり実現される。ゲームサーバ20のCPU21は、通信インタフェース部25を介して、あるユーザIDに対応するユーザの通信端末10から、仲間になりたいユーザID(あるいは、対応するユーザ名)を指定した申請メッセージ(申請)を受け付ける。この申請メッセージの送信は、ユーザの通信端末10に提供されるウェブページの機能として予め設定されている。CPU21は、申請メッセージを受け付けると、申請メッセージに含まれるユーザIDに基づくアクセスがあったタイミングで、そのユーザIDに対応する通信端末10宛に、他のユーザIDに基づく申請を承認するか否かを返信することを要求するためのウェブページを表示させるHTMLデータを送信する。その申請を承認することが返信されれば、CPU21は、両者を仲間として登録する。具体的には、CPU21は、ユーザデータベース31内の対応する2つのユーザIDのユーザデータの「仲間のユーザID」の箇所(図6参照)にデータを書き込む。
なお、ユーザ同士を関係付ける条件は、上記のような申請と承認を必要とする形式に限らず、同一の進行レベルのユーザ同士を、ゲーム内で関係付けられたユーザ同士と位置付け、仲間として登録してもよい。あるいは、所定回数の挨拶メッセージを送信するユーザ同士を自動的に仲間として登録してもよいし、ユーザ間でバトルや協力プレイを行うゲーム上のモードが存在する場合には、所定回数以上バトル又は協力プレイを行ったユーザ同士を自動的に仲間として登録してもよい。また、協力プレイでは、応援の要請を行ったユーザと、当該ユーザからの所定回数以上の応援の要請に対して承諾したユーザとを仲間として登録してもよい。
設定手段52は、ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する機能を備える。
設定手段52の機能を実現するために、ゲームサーバ20のCPU21は、新たな探索のミッションを生成する場合、新たな探索IDを発行し、探索IDに対応する目標ユーザ、終了時刻、及び特典ポイントを決定して、探索データベースに書き込む。
なお、目標ユーザの設定は適宜行われてもよく、例えば、所定の条件を満たすユーザを目標ユーザとして設定してもよい。例えば、複数のユーザからなるグループがゲーム上で設定されている場合に、グループ内のいずれかのユーザがグループに対して不利となる処理を行ったことを条件として、当該ユーザを目標ユーザに設定し、グループ内の他のユーザを探索ユーザに設定してもよい。この場合、例えば、グループ内で目標ユーザを「裏切り者」として探し当てるゲーム設定としてもよい。
第1対応付け手段53は、目標ユーザに所定の距離情報(第1の数値情報)を対応付ける機能を備える。本実施形態において、目標ユーザまでの距離情報(目標ユーザまでの最短のリンク数)は、本発明の数値情報の一例である。本実施形態の例では、第1の数値情報は「0」である。
第1対応付け手段53の機能を実現するために、ゲームサーバ20のCPU21は、距離データにアクセスして、目標ユーザに対応するユーザIDについて、自らが目標ユーザとなっている距離情報として「0」を書き込む。図9の例では、ユーザID:456789のユーザと、ユーザID:765432のユーザがそれぞれ、探索ID:01,探索ID:02の目標ユーザに設定されており、対応付けられる距離情報として「0」が書き込まれる。
判定手段54は、各ユーザが所定の条件を満たすか否か判定する機能を備える。前述したように、本実施形態において、各ユーザについての所定の条件は、「ユーザがゲームにアクセスしたこと」である。
判定手段54の機能を実現するために、ゲームサーバ20のCPU21は、ユーザの通信端末10から、本実施形態のゲームのURLを指定したHTTPリクエストを通信インタフェース部25を介して取得すると、当該ユーザがゲームにアクセスしたと判断する。
特定手段55は、ネットワーク上で、ゲームにアクセスしたユーザ(所定の条件を満たすユーザ;「第1ユーザ」という。)の仲間のユーザ(リンク数が1の範囲内のユーザ)に対応付けられている距離情報のうち、最も小さい距離情報(第1の数値情報(「0」)に最も近い数値情報)を特定する機能を備える。なお、特定手段55によって特定される距離情報に対応付けられたユーザを「第2ユーザ」という。
特定手段55の機能を実現するために、ゲームサーバ20のCPU21は、ユーザ(処理対象のユーザ;第1ユーザ)がゲームにアクセスしたと判断した場合、当該ユーザの仲間に対応付けられている距離情報のうち、最も小さい距離情報(第2ユーザに対応付けられた距離情報)を特定する。この場合、CPU21は、ユーザデータにアクセスして第1ユーザの仲間のユーザIDを読み出し、そのユーザIDに対応する距離情報を距離データから読み出し、その中で最も小さい距離情報を特定する。距離情報を特定する処理は、ネットワーク内のいずれかのユーザがゲームにアクセスしたと判断する度に逐次行われる。
第2対応付け手段56は、特定手段55によって特定された距離情報(数値情報)と、第2ユーザと第1ユーザの間のリンク数とに基づいて、第1ユーザに距離情報(数値情報)を対応付ける機能を備える。なお、本実施形態では、第1ユーザと第2ユーザは仲間の関係にあるため、「第2ユーザと第1ユーザの間のリンク数」は1である。
第2対応付け手段56の機能を実現するために、ゲームサーバ20のCPU21は、仲間に対応付けられている距離情報のうち最も小さい距離情報を特定した後、その特定した距離情報に1(仲間の間のリンク数)を加えた値を、処理対象のユーザ(第1ユーザ)に対応付けられる距離情報として、距離データに書き込む。
変更手段57は、目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザをネットワークのリンクに基づき順次変更する機能を備える。なお、本実施形態では、探索開始時の基準ユーザを探索ユーザとする場合の例である。
変更手段57の機能は、以下のようにして実現できる。ゲームサーバ20のCPU21は、例えば定期的に、あるいは逐次、各ユーザのユーザデータの仲間のユーザIDを読み出し、隣接リストを生成してRAM23に記憶させる。隣接リストは、ユーザをノードで表し、ユーザ間の関係付けの有無をノード間のリンクの有無で表したときのソーシャルグラフを表現するためのデータ構造の例である。なお、ソーシャルグラフを表すデータ構造は、図8に例示した隣接リストに限られず、隣接行列であってもよい。隣接行列は、行番号及び列番号がそれぞれユーザIDに対応した正方行列であり、関係付けの有無を示す1又は0の値により成分を記述した行列である。
探索ユーザとなるユーザが特定の探索IDについての探索ページにアクセスした場合、当該探索IDについての探索が途中であるときには、探索IDとともに基準ユーザのユーザIDがユーザデータに書き込まれている。そこで、CPU21は、探索ユーザのユーザデータにアクセスして、対象となる探索IDが書き込まれていると判断した場合、当該探索IDに対応付けられた基準ユーザのユーザIDを読み出して、現在の基準ユーザとしてRAM23に記憶させる。一方、当該探索IDについての探索が初めてであるときには、対象となる探索IDがユーザデータに書き込まれていない。そこで、CPU21は、探索ユーザのユーザデータにアクセスして、対象となる探索IDが書き込まれていないと判断した場合、自身の(つまり、探索ユーザの)ユーザIDを現在の基準ユーザとしてRAM23に記憶させる。
CPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する場合、隣接リストを参照して、現在の基準ユーザのユーザIDに対応する1又は複数のユーザのユーザIDを読み出し、読み出したユーザIDに対応するユーザの情報を一覧形式で表示するためのHTMLデータを生成して、探索ユーザの通信端末10へ送信する。また、CPU21は、基準ユーザの変更先のユーザについての選択結果(入力情報)を含むHTTPリクエストを取得した場合、探索ユーザに対応付けられる基準ユーザを更新する。基準ユーザが更新された場合には、RAM23内の基準ユーザのユーザIDを逐次、あるいは定期的にユーザデータに書き込む。つまり、ユーザデータ内の基準ユーザのデータを更新する。
提示手段58は、変更手段57によって基準ユーザを変更する度に、変更後の基準ユーザに距離情報(数値情報)が対応付けられている場合には、当該距離情報に基づく情報を探索ユーザに提示する機能を備える。
提示手段58の機能を実現するために、ゲームサーバ20のCPU21は、ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザについての選択結果を含むHTTPリクエストを取得した場合、距離データにアクセスして、選択されたユーザに対応付けられた距離情報を読み出し、その距離情報を含むHTMLデータを生成して探索ユーザの通信端末10へ送信する。このHTMLデータを解釈することで通信端末10に表示されるウェブページは、図13〜15に例示したP2〜P6であり、これらのウェブページの表示領域101には、選択されたユーザ(変更後の基準ユーザ)に距離情報が対応付けられている場合には、現在位置と目標位置の距離情報としてリンク数が棒状に表示される。
(8)本実施形態のゲーム制御装置の主要な処理のフロー
次に、本実施形態のゲーム制御装置により行われる主要な処理のフローの一例について、図20〜22のフローチャートを参照して説明する。図20は、本実施形態のゲームにおいて、ユーザの仲間関係を示すソーシャルグラフの隣接リストを更新する処理のフローチャートである。図21は、図9に例示した距離データを更新する処理のフローチャートである。図22は、探索処理を示すフローチャートである。なお、図22に示すフローチャートには、HTTPリクエストの送受信、及びウェブページの表示処理については、煩雑にならないように記載せず、その代わりに、例示したウェブページP1〜P6が表示されるタイミングをP1〜P6の符号で示してある。
(8−1)隣接リストの更新処理(図20)
図20に示す隣接リストの更新処理は、例えば毎日所定の時刻になると実行される場合が示されている。所定の時刻になったと判断した場合(ステップS10:YES)、ゲームサーバ20のCPU21は、各ユーザのユーザデータの仲間のユーザIDを読み出す(ステップS20)。次いでCPU21は、各ユーザのユーザIDと、各ユーザの仲間のユーザIDとを対応付けて隣接リストを生成し、RAM23に記憶されている隣接リストのデータを更新する(ステップS30)。これにより、任意のタイミングで構築あるいは破棄されうるユーザ間の仲間関係は、毎日所定の時刻に、探索処理に使用される隣接リストに反映されることになる。このような更新処理は、後述する探索処理の実行中に、当該探索処理の基礎となる隣接リストが変更されない点で好都合である。
なお、隣接リストの更新は、定期的に行われる場合に限られず、逐次行われてもよい。例えば、CPU21は、ユーザ間の仲間関係が新たに形成される度に(例えば、一方のユーザからの仲間の申請に対して他方のユーザからの承諾が受け付けられたタイミングで)、隣接リストを更新してもよい。
(8−2)距離データの更新処理(図21)
図21に示す距離データの更新処理は、ユーザ単位で順次行われる。ゲームサーバ20のCPU21は、ステップS60以降の処理について、処理対象のユーザが所定の条件を満たす場合(ステップS50:YES)、すなわち、ゲームにアクセスしたと判断した場合に行う。ステップS50の判断は、ユーザの通信端末10から、本実施形態のゲームのURLを指定したHTTPリクエストを通信インタフェース部25を介して取得した結果に基づいて行われる。処理対象のユーザがゲームにアクセスしたと判断されない場合には(ステップS50:NO)、終了する。
ステップS50の判断がYESである場合、CPU21は、処理対象のユーザの仲間のうち、距離情報が対応付けられている仲間がいるか否かを判断する(ステップS60)。距離情報が対応付けられている仲間がいなければ終了する(ステップS60:NO)。CPU21は、距離情報が対応付けられている仲間がいる場合(ステップS60:YES)、その仲間に対応付けられている距離情報の中で最も小さい距離情報を特定する(ステップS70)。距離情報が対応付けられている仲間が1人の場合には、その仲間の距離情報がステップS70で特定される。
次いでCPU21は、ステップS70で特定した距離情報に1(仲間の間のリンク数)を加えた値を、処理対象のユーザ(第1ユーザ)に対応付けられる距離情報として決定し(ステップS80)、処理対象のユーザに対応付けて、決定した距離情報を距離データに書き込む(ステップS90)。
(8−3)探索処理(図22)
ゲームサーバ20のCPU21は、トップページP0上でメニューm1(「ユーザ探索」)の選択操作結果を含むHTTPリクエストを取得すると、探索データベースにアクセスしてユーザが選択可能な(つまり、終了時刻に達していない)1又は複数の探索のミッションのデータを読み出して当該データを含むHTMLデータを生成してユーザの通信端末10へ送信する。これにより、ウェブページP1(図12参照)がユーザの通信端末10に表示される。ウェブページP1において、探索ユーザとなるユーザが、いずれかの探索のミッションを選択することにより、図22の探索処理が開始される。ゲームサーバ20のCPU21は、ミッションの選択結果(つまり、メニューm11,12,…のいずれかの選択操作結果)を含むHTTPリクエストを取得すると(ステップS100:YES)、選択されたミッションに対応する探索IDについての探索の処理(ステップS110以降の処理)を実行する。CPU21は、ミッションの選択結果を含むHTTPリクエストを取得しない場合には(ステップS100:NO)、終了する。
ステップS100:YESの場合、CPU21は、基準ユーザと目標ユーザの各々のユーザIDをRAM23に記憶させる(ステップS110)。具体的には、CPU21は、探索ユーザのユーザデータにアクセスして、対象となる探索IDが書き込まれていると判断した場合、当該探索IDに対応付けられた基準ユーザのユーザIDを読み出して、現在の基準ユーザとしてRAM23に記憶させる。一方、当該探索IDについての探索が初めてであるときには、探索ユーザのユーザIDを現在の基準ユーザとしてRAM23に記憶させる。CPU21は、探索データベースから読み出した、対象となる探索IDの目標ユーザのユーザIDをRAM23に記憶させる。
次いでCPU21は、距離データを参照して、RAM23に記憶されている基準ユーザに対応付けられている距離情報を読み出す(ステップS120)。CPU21は、読み出した距離情報が「0」でない場合(ステップS130:NO)、つまり距離情報が1以上であるか、又は、未だ距離情報が対応付けられていない場合には、ステップS140へ進み、読み出した距離情報が「0」である場合(ステップS130:YES)、ステップS180へ進む。
ステップS140へ進む場合、CPU21は、隣接リストを参照して、現在の基準ユーザのユーザIDに対応する1又は複数のユーザのユーザIDを読み出す(ステップS140)。次いでCPU21は、ステップS140で読み出した仲間からなる仲間リストと、ステップS120で読み出した距離情報とを含むHTMLデータを生成して、探索ユーザの通信端末10へ送信する(ステップS150)。このHTMLデータを解釈して表示されるウェブページは、例えば図13のウェブページP2に示すように、距離情報に関する情報を表示するための表示領域101と、ステップS140で読み出した仲間からなる仲間リストを表示するための表示領域104とを含む。
CPU21は、基準ユーザの変更先のユーザについての選択結果(入力情報)を含むHTTPリクエストを取得した場合(ステップS160:YES)、探索ユーザに対応付けられるRAM23内の基準ユーザを更新して(ステップS170)、ステップS120に戻る。CPU21は、基準ユーザの変更先のユーザについての選択結果(入力情報)を含むHTTPリクエストを取得しない場合(ステップS160:NO)、待機する。
ステップS120〜S170の処理は、基準ユーザと目標ユーザが一致するまで繰り返し行われる。基準ユーザと目標ユーザが一致した場合、つまり、ステップS120で読み出した距離情報が0であると判断した場合には(ステップS130:YES)、CPU21は、通信インタフェース部25を介して、探索ユーザの通信端末10に対して、例えば図17のウェブページP6に示すように、探索が成功したことを示すテキストを含むHTMLデータを送信する。つまり、探索が成功したことが通知される(ステップS180)。
以上詳述したように、本実施形態において実現される探索ゲームでは、探索を行う探索ユーザは、基準ユーザを順次変更し、ユーザ間の関係付けを示すリンクに基づくネットワークを辿ることによって目標ユーザを探索し、探索に成功した場合に特典が探索ユーザに付与される探索ゲームを実行するように構成されている。基準ユーザと目標ユーザとの間の最短経路の距離に関する情報が探索ユーザに提示されるため、探索ユーザは目標ユーザとの距離を認識しながら探索を進めることができる。そして、この探索ゲームでは、目標ユーザが探索ユーザと関係付けられていない場合、探索ユーザは、目標ユーザを探索する過程で、あるいは目標ユーザを効率的に探し当てるために、自らと関係付けられていない他のユーザ(基準ユーザ)との間で、例えば目標ユーザに関する情報を質問する等の様々なコミュニケーションをとる機会が得られることになる。よって、本実施形態のゲーム制御装置によれば、新たなユーザ間の関係を構築することを促進できる。
このゲーム制御装置では、ゲームにアクセスした(つまり、所定の条件を満たす)各ユーザを第1ユーザとした場合に、第1ユーザに対応付ける距離情報(数値情報)は、第1ユーザの仲間(第2ユーザ)の既知の距離情報(数値情報)の値に1(第2ユーザと第1のユーザの間のリンク数)を加えることで決定される。そして、予め距離情報として「0」(第1の数値情報)が対応付けられている目標ユーザとの間のリンク数が少ないユーザから、ゲームにアクセスしたことを契機として順次、距離情報が対応付けられていく。このような各ユーザに対応付ける距離情報の決定は、各ユーザがゲームにアクセスする度に行われるため、処理の負荷のタイミングが分散されることに加え、処理自体も第1ユーザから目標ユーザまでの最短経路を求める処理ではなく、単に加算演算で済み、低い負荷の処理となる。
上述した実施形態において、各ユーザに距離情報を対応付ける処理は、探索の処理自体とは並行して行われてよい。両者が並行に行われる場合であっても、各ユーザに距離情報を対応付ける処理はネットワーク内のユーザがゲームにアクセスしたタイミングで行われ、探索において基準ユーザに対応付けられた距離情報を読み出す処理は基準ユーザが変更されたタイミングで行われる。つまり、2つの処理が時間軸上で分散して行われる。
このゲーム制御装置では、探索ユーザの入力情報に応じて基準ユーザが変更される場合、距離データを参照することで、基準ユーザから目標ユーザまでの距離が直ちにわかるため、基準ユーザの変更の都度に基準ユーザから目標ユーザまでの距離(リンク数)を算出する必要がなく、探索のための処理負荷が極めて低いという利点がある。
図7及び図9に示したように、上述した実施形態のゲームでは、探索ID毎の複数の探索が行われ、各探索について目標ユーザが設定される場合について説明した。この場合、設定手段52は、複数の目標ユーザを設定し、第2対応付け手段56は、目標ユーザ毎にゲームにアクセスした処理対象のユーザ(第1ユーザ)に対して距離情報(数値情報)を対応付ける機能を備える。複数の目標ユーザを設定することで、ユーザが複数の探索を並行して実行することができるため、探索ゲームとしての興趣性を高めることができる。しかし、複数の探索が行われる場合に限られず、単一の探索のみが行われる場合であってもよい。
実施形態に係るゲーム制御装置において、第2対応付け手段56は、第2ユーザに対応付けられている距離情報(数値情報)と、第2ユーザと第1ユーザの間のリンク数とを加算して、第1ユーザ(ゲームにアクセスした処理対象のユーザ)に対応付ける距離情報を算出する機能を備える場合について説明した。つまり、当該機能を実現するために、ゲームサーバ20のCPU21が、第1ユーザの仲間に対応付けられている距離情報の中で最も小さい距離情報を特定した後、その特定した距離情報に1(仲間の間のリンク数)を加えた値を、処理対象のユーザ(第1ユーザ)に対応付けられる距離情報として算出する場合について説明した。この場合には、この構成では、ネットワーク上の各ユーザに対応付ける距離情報(数値情報)が加算処理によって算出されるため、距離情報を算出するときの処理の負荷が軽減される。
しかし、第1ユーザに対応付ける距離情報を算出する処理は、上述したように加算演算を用いる方法に限られない。第1ユーザに対応付ける距離情報が目標ユーザから遠ざかる毎に、距離情報を低下させてもよい。例えば、CPU21は、第1ユーザの仲間に対応付けられている距離情報の中で最も大きい距離情報を特定した後、その特定した距離情報から1(仲間の間のリンク数)だけ減らした値を、処理対象のユーザ(第1ユーザ)に対応付けられる距離情報として算出する。この場合、目標ユーザに予め対応付ける距離情報を「0」としたならば、目標ユーザ以外のユーザに対応付けられている距離情報の絶対値が、目標ユーザからそのユーザまでの距離を表すことになる。つまり、距離情報は、減算処理によって算出されてもよい。
なお、上述した実施形態では、第2ユーザと第1ユーザの間のリンク数が1である場合、つまり、第2ユーザと第1ユーザが仲間の関係にある場合を例として説明したが、第2ユーザと第1ユーザの間のリンク数は2以上であってもよい。第2ユーザと第1ユーザの間のリンク数は2以上であっても大きな数字でなければ、ユーザに距離情報を対応付ける処理の負荷は大きくなることはない。例えば、第1ユーザとの間のリンク数が2であるユーザについて、ユーザに対応付けられている距離情報を読み出す場合、各ユーザの仲間の数が30である場合、総当りでみた場合でも900(=30)人のユーザに対応付けられている距離情報を読み出せば済む。第1ユーザから所定のリンク数の範囲にある第2ユーザを基にして、第1ユーザに対して距離情報を対応付ける場合に、第2ユーザと第1ユーザの間のリンク数を2以上とすることで、目標ユーザにより近い第2ユーザに基づいて第1ユーザに対応付ける距離情報を決定することができるため、ネットワーク内の各ユーザに対して距離情報をより素早く対応付けることができるようになる。なお、第2ユーザと第1ユーザの間のリンク数を大きくするにつれて処理の負荷が増大していくため、CPU21の処理能力に基づいて、第2ユーザと第1ユーザの間の適切なリンク数を設定することが好ましい。
ここで、第2ユーザと第1ユーザの間のリンク数が2以上である場合でも、第2ユーザ自体を特定する必要はない。第1ユーザから2以上の所定数の範囲内にいるユーザに対応付けられた距離情報の中で、目標ユーザに対応付けられている距離情報(第1の数値情報;上記実施形態では「0」)に最も小さい距離情報が特定できればよい。このような距離情報を特定するに当たって、CPU21は、以下のように処理を行ってもよい。CPU21は先ず、第1ユーザの仲間のユーザ(第1ユーザからのリンク数が1のユーザ)に対応付けられている数値情報のうち最も小さい数値情報を特定し、その数値情報に1を加えることで、第1ユーザに対応付ける数値情報を決定する。CPU21は、第1ユーザの仲間のユーザの中に数値情報が対応付けられているユーザが存在しないと判断した場合には、次に、第1ユーザの仲間のユーザの仲間(第1ユーザからのリンク数が2のユーザ)に対応付けられている数値情報のうち最も小さい数値情報を特定し、その数値情報に2を加えることで、第1ユーザに対応付ける数値情報を決定する。同様にして、第1ユーザから3以上リンク数が離れたユーザに対応付けられた数値情報に基づいて、第1ユーザに対応付ける数値情報が決定される。
(9)変形例
上述した実施形態では、変更手段57は、探索ユーザを起点として、探索の基準となるユーザである基準ユーザをネットワークのリンクに基づき順次変更する場合について説明したが、探索ユーザを起点とする場合に限られない。出発ノードに対応するユーザは、仲間関係によって形成されるネットワーク上の任意のユーザであってよく、探索ユーザと異なっていてもよい。
さらに以下において、上述した実施形態のいくつかの変形例について説明する。
(9−1)変形例1
上述した実施形態のゲーム制御装置では、特定手段55及び第2対応付け手段56において、ネットワーク内の各ユーザが所定の条件を満足する場合に、各ユーザの距離情報(数値情報)に対する対応付けが行われる。つまり、各ユーザに対応付けられている距離情報が新たに対応付けられるか、既に対応付けられている距離情報が更新される処理が行われる。このような処理のタイミングは、処理の負荷を低減させるために分散している方が好ましい。かかる観点から、上述した実施形態では、所定の条件をユーザがゲームにアクセスしたこととした。ネットワーク内の各ユーザがゲームにアクセスするタイミングは比較的ランダムであると考えられるため、所定の条件をユーザがゲームにアクセスしたこととすることは、処理の負荷を低減させる上で好都合である。なお、「アクセス」は、ゲームへのアクセス等、認証処理を伴うアクセスのほか、ゲーム内の特定のイベントや特定のゲーム要素(ミニゲーム等)、特定のステージに対するアクセスであってもよい。
なお、ユーザのアクセスが過度に行われる場合には、各ユーザに対する距離情報の対応付けの処理が頻繁に行われ、処理の負荷が高まる虞もある。その場合には、例えばゲームへのアクセスが所定の回数ある度に、所定の条件を満たしたと判断してもよい。あるいは、ゲームにアクセスし、かつ当該アクセスを基準として過去の所定時間(例えば、1時間)内にゲームにアクセスしていないことを所定の条件としてもよい。
しかし所定の条件は、ユーザがゲームにアクセスしたことに限られない。所定の条件は、ユーザ毎にランダムに割り当てられた時刻、あるいはユーザ毎に所定の規則に従って割り当てられた時刻に達したことであってもよい。これによっても、各ユーザの距離情報(数値情報)に対する対応付けの処理のタイミングが分散するため、処理の負荷を低減させる上で好都合である。所定の規則の一例として、10分間隔で、ユーザIDの下1桁が1のユーザ群、ユーザIDの下1桁が2のユーザ群、…といった具合に、順に処理対象のユーザ群を時刻に割り当ててもよい。
所定の条件は、探索ユーザの入力に基づいて基準ユーザとして選択されたことであってもよい。また、所定の条件は、ユーザによって仲間関係の更新(他のユーザを仲間として追加すること、あるいは仲間のユーザとの間の仲間関係を解除すること)が行われたことであってもよい。仲間関係が更新されると、基準ユーザと目標ユーザとの間の距離が変わる可能性があるが、仲間関係の更新があったことを上記所定の条件とすることで、基準ユーザと目標ユーザとの間の距離が適正化されるように各ユーザに対応付けられる距離情報が更新されるため、仲間関係の更新が探索の結果に適時に反映されるようになる。
(9−2)変形例2
上述した実施形態のゲームでは、探索ユーザは、自らを起点としてユーザ間の仲間関係を辿ることで目標ユーザを探し当てる仕組みとしたが、ユーザ間の関係は仲間関係に限られず、様々な関係態様によって決定してもよい。例えば、ユーザ間で挨拶メッセージを送信する機能が設けられている場合(例えば、図14のメニューm21等)、挨拶メッセージの送受信が行われたユーザ間を、挨拶履歴のある関係とし、その関係を辿ることによって目標ユーザを探し当てる仕組みとしてもよい。その場合、ユーザ毎に、挨拶履歴のあるユーザ間を関係付けて、例えばユーザデータに記憶しておき、隣接リストは、挨拶履歴のあるユーザのユーザIDを対応付けたものとする。本変形例の場合、例えば図14(a)のP3に示したウェブページは、例えば図23のP3aに示したように表示される。図23に示すように、本変形例では、基準ユーザの変更は、現在の基準ユーザと挨拶履歴のある他のユーザの中から選択して行われるように構成される。
本変形例は、上述した実施形態において、仲間の関係を、挨拶履歴のある関係に置き換えたものであり、上述した実施形態と同様にして実現することができる。つまり、本変形例では、関係付け手段51は、挨拶履歴のあるユーザ間を関係付ける機能を備える。
(9−3)変形例3
上述した実施形態において、変更手段57は、仲間のネットワーク内の基準ユーザを変更するに当たって、当該基準ユーザの仲間(つまり、基準ユーザに関係付けられた複数のユーザ)の中から一部のユーザを、変更後の基準ユーザの候補として探索ユーザに提示する機能を備えてもよい。つまり、図13〜16のウェブページP2〜P5に示した仲間リストでは、現在の基準ユーザのすべての仲間のユーザを選択可能に提示される場合を例示したが、このような場合に限られない。仲間リストでは、現在の基準ユーザの一部の仲間のユーザが表示される場合でもよい。
一部の仲間のユーザのみを仲間リストとして提示するのは、例えば、探索ゲームの難易度を調整する目的で行われてもよい。つまり、ネットワーク内の各ユーザの仲間が多数存在する場合には、探索ユーザにとって、基準ユーザを順次変更しながら目標ユーザを探索することが困難となりうる。そこで、探索ゲームの難易度を低下させる目的で、基準ユーザを変更するに当たってその基準ユーザの仲間のユーザの中から変更後の基準ユーザの候補を制限するようにしてもよい。
本変形例は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する場合、隣接リストを参照して、現在の基準ユーザのユーザIDに対応するユーザのユーザIDのうち一部(例えば、所定数のユーザID)を読み出し、読み出したユーザIDに対応するユーザの情報を一覧形式で表示するためのHTMLデータを生成する。このとき、読み出し対象となる一部のユーザIDの中には、距離情報が対応付けられている仲間のユーザIDが含まれていることが好ましく、距離情報が対応付けられている仲間の中で距離情報の値が最も小さい仲間のユーザIDが含まれていることがさらに好ましい。当該ユーザIDが含まれていない場合には、探索ユーザが目標ユーザに辿り着けないか、遠回りせざるを得ないため、探索ゲームの難易度が却って増加する虞があるためである。
(9−4)変形例4
上述した実施形態において、設定手段52は、探索開始時の基準ユーザと目標ユーザとの間のリンク数が所定の範囲内となるように、目標ユーザを設定する機能を備えてもよい。
探索の初期において基準ユーザと目標ユーザとの間のリンク数が大きい(つまり、ネットワーク上でユーザ間の距離が離れている)場合には、探索ユーザにとって、基準ユーザを順次変更しながら目標ユーザを探索することが困難となりうる。ネットワーク内の各ユーザの仲間(各ユーザに関係付けられたユーザ)が多数存在する場合には尚更である。そこで、探索開始時の基準ユーザと目標ユーザとの間のリンク数が所定の範囲内となるように、目標ユーザとなるユーザを設定するようにしてもよい。
本変形例を実現するためには、ゲームサーバ20のCPU21は、トップページP0上でメニューm1(「ユーザ探索」)の選択操作結果を含むHTTPリクエストを取得すると、探索データベースにアクセスしてユーザが選択可能な(つまり、終了時刻に達していない)1又は複数の探索のミッションのうち、処理対象のユーザ(つまり、探索開始時の基準ユーザ)からみて距離(リンク数)が所定の範囲内にある目標ユーザが設定されているミッションのデータを読み出し、当該データを含むHTMLデータを生成してユーザの通信端末10へ送信する。これにより、探索ユーザとなるユーザによって選択されるミッションは、目標ユーザまでのリンク数が所定の範囲内にあるミッションに限定される。
なお、探索データベースに記述されるミッションごとの(各探索ID)のデータは、目標ユーザを予め固定的に設定されていなくてもよい。例えば探索開始時の基準ユーザを探索ユーザとする場合、各ミッションの目標ユーザは、探索ユーザとなるユーザによっていずれかの探索のミッションが選択された時点で、当該ユーザからのリンク数が所定の範囲内にあるユーザのいずれかを目標ユーザとして決定するようにしてもよい。
(9−5)変形例5
上述した実施形態において、変更手段57は、仲間のネットワーク内の少なくとも1つのリンクに基づく基準ユーザの変更を制限する機能を備えてもよい。
この構成では、例えばネットワーク内のリンクを遮断して特定のユーザ間の関係付けのリンクを辿ることが禁止されるため、探索ユーザに応じた探索の難易度の設定等、探索ゲームの設定を柔軟に変更することができる。なお、基準ユーザの変更の「制限」は、ユーザ間のリンクを辿ることを完全に遮断する場合に限られず、所定の時間の間のみ遮断する場合であってもよく、特定の探索ユーザに対してのみ遮断されることであってもよい
本変形例は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する場合、隣接リストを参照して、現在の基準ユーザのユーザIDに対応するユーザのユーザIDのうち一部を読み出し、読み出したユーザIDに対応するユーザの情報を一覧形式で表示するためのHTMLデータを生成する。このとき、CPU21は、距離データを参照して、現在の基準ユーザのユーザIDに対応するユーザの中で最も小さい距離情報が対応付けられているユーザのユーザIDを、読み出し対象のユーザIDから除外してもよい。これにより、探索ユーザは、目標ユーザに辿り着けないか、遠回りせざるを得なくなるため、探索ゲームの難易度を上昇させることができる。
なお、リンクの制限は、そのリンクに関連する2ユーザ(つまり、仲間のユーザ同士)のいずれか一方の入力操作に応じて行われてもよいし、そのリンクに関連する2ユーザの双方の合意に基づいて行われてもよい。後者の場合には、リンクに関連する2ユーザのうち一方のユーザからの、リンクを制限することの要求メッセージに対して、他方のユーザが承諾メッセージを送信することで、リンクを制限するようにしてもよい。
また、リンクの制限は、現在の基準ユーザからその仲間のユーザへの基準ユーザの変更を、当該仲間のユーザの属性等に応じて制限することによって行われてもよい。例えば、ネットワーク内の複数のユーザが2グループに分かれており、基準ユーザの変更が同一グループのユーザ間でのみ可能とするゲーム設定を想定する。この場合、基準ユーザの変更として、現在の基準ユーザ(例えば、探索ユーザと同じグループAに属しているものとする。)から、当該基準ユーザの仲間のユーザのうちグループAに属しているユーザへの変更のみが許可される。
例えば、基準ユーザの変更の制限は、目標ユーザと、目標ユーザの仲間(目標ユーザと関係付けられている複数のユーザ)との間の少なくともいずれかのリンクに基づく基準ユーザの変更を制限することにより行われてもよい。これにより、目標ユーザと他のユーザの関係付けを示すリンクを辿るような基準ユーザの変更が制限されるため、効果的にゲームの設定を変更することができる。例えば、探索ユーザからみた場合、目標ユーザに至るリンクが遮断されてしまうと、そのリンク以外のリンクを辿って目標ユーザを探し当てる必要が生ずるため、大きく迂回せざるを得ない状況になる。また、目標ユーザの仲間のユーザが目標ユーザとのリンクを遮断して目標ユーザを匿う(つまり、目標ユーザが探し当てられることを防ぐ)ことを可能とするゲーム設定とすることもできる。
目標ユーザの仲間との間の少なくともいずれかのリンクに基づく基準ユーザの変更を制限するには、ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する際に、当該基準ユーザが目標ユーザの仲間である場合には(つまり、距離情報の値として1が対応付けられている場合には)、隣接リストを参照して、現在の基準ユーザのユーザIDに対応するユーザのユーザIDのうち一部を読み出すときに、読み出し対象となるユーザIDの中に目標ユーザのユーザIDが含まれないようにする。なお、目標ユーザに至るすべてのリンクを遮断してしまうと、探索ユーザが目標ユーザを探し当てることができなくなってしまうため、目標ユーザに至るすべてのリンクを遮断することを禁止することが好ましい。
本変形例では、変更手段57は、基準ユーザの変更を制限する(つまり、リンクを辿ることを制限する)時間を所定時間に設定するようにしてもよい。例えばネットワーク内のリンクを遮断して探索ユーザが特定のユーザ間の仲間関係のリンクを辿ることを禁止することは、探索ゲームの設定を柔軟に変更する上で有効であるが、リンクの遮断を長時間継続することは探索ユーザにとって酷な場合(つまり、ゲームの難易度が高くなり過ぎる場合)もある。そこで、ユーザ間のリンクが遮断される時間を所定時間に制限するようにしてもよい。その場合、ゲームサーバ20のCPU21は先ず、特定のユーザ間のリンク(例えば、目標ユーザとその仲間とのリンク)、又は、ランダムに若しくは所定の規則に従ったリンクを、遮断対象のリンクとして決定する。CPU21は、探索ユーザが基準ユーザを変更したときに、変更後の基準ユーザとその仲間の間のリンクが遮断対象のリンクである場合には、基準ユーザを変更した時点を起点として一定時間、当該リンクによる基準ユーザの変更を禁止する。
なお、リンクを辿ることを制限する所定時間は、当該リンクに関連する2ユーザ(つまり、仲間のユーザ同士)についての、後述する親密度(仲間のユーザ間の関係性の高さを一定の基準で数値化したもの)に応じて変更してもよい。例えばユーザ間の親密度が所定値よりも高い場合には、上記所定時間を長くしてもよい。例えば、ゲームのシナリオにもよるが、目標ユーザと、目標ユーザの仲間との間の親密度が高い場合には、上記所定時間を長くすることで、仲間が目標ユーザを匿う(つまり、目標ユーザが探し当てられるのを妨げる)時間が長くなるように設定することができる。
(9−6)変形例6
上述した実施形態では、仲間のユーザ間のリンク数を「1」とした場合について説明したが、仲間のユーザ間のリンク数は、そのユーザ間の関係の程度に応じて重み付けを設定してもよい。例えば、仲間のユーザ間のリンク数は、1より大きくてもよいし、1より小さくてもよい。
本変形例のゲーム制御装置は、ユーザ間の関係の程度に応じた親密度を、関係付け手段51によって関係付けられたユーザ間に設定する親密度設定手段59、を備える。第2対応付け手段56は、ネットワーク上で隣接するユーザ間のリンク数が当該ユーザ間の親密度に応じて調整されるようにして、第1ユーザ(例えば、ゲームにアクセスした各ユーザ)に距離情報(数値情報)を対応付ける機能を備える。
本変形例の機能ブロック図を図24に示す。図24に示す機能ブロック図は、図19に示したものに対して、親密度設定手段59が追加された点で異なる。
この構成では、ネットワーク上で隣接するユーザ間の関係の程度に応じて、各ユーザに距離情報(数値情報)が対応付けられる。つまり、ネットワーク上のリンクの重み付けがユーザ間で一定ではなく、ユーザ間の関係の程度に応じたリンクの重み付けに基づいて、各ユーザに距離情報が対応付けられる。これにより、例えば、基準ユーザと目標ユーザとの間で複数の経路が存在する場合に、ユーザの入力による基準ユーザの変更次第で、つまりユーザが採用する経路次第で、ユーザに提供される、距離情報に基づく情報が異なる場合が生ずるため、探索ゲームとして興趣性をさらに高めることができる。
本変形例は、以下のようにして実現することができる。
親密度とは、仲間のユーザ間の関係性の高さを一定の基準で数値化したものである。親密度のデータ(親密度データ)の一例を図25に示す。図25に示す親密度データの例では、各ユーザの仲間のユーザ(ユーザID)と対応付けて、ユーザ間の応援メッセージの送信あるいは受信の頻度(応援頻度)、ゲーム上で使用可能なアイテムなどのプレゼントを送信あるいは受信した回数(プレゼント回数)などが記録され、これらの頻度や回数に基づいて一定の基準で親密度の値が設定される。応援頻度やプレゼント回数が多いほど親密度が高く設定される。また、一定の基準では、親密度の設定の基礎となる項目(図25では、応援頻度やプレゼント回数など)ごとに、重み付けを考慮したものであってもよい。例えば、応援頻度が少なくてもプレゼント回数が多い場合に親密度を高く設定してもよい。このような親密度データは、例えば、ユーザデータベース31内に記録される。
ゲームサーバ20のCPU21は、CPU21は、ユーザ(処理対象のユーザ;第1ユーザ)がゲームにアクセスしたと判断した場合、当該ユーザの仲間のうち、距離情報が対応付けられている仲間がいるか否かを判断する。CPU21は、距離情報が対応付けられている仲間がいる場合、その仲間の中で、対応付けられている距離情報が最も小さい仲間を特定する。次いでCPU21は、特定した仲間に対応付けられている距離情報に対して、処理対象のユーザと、特定した仲間との間の親密度に応じた値を加えた値を、処理対象のユーザ(第1ユーザ)に対応付けられる距離情報として決定し、距離データに書き込む。
「親密度に応じた値」は、親密度が高いほど小さな値に設定してもよい。例えば、親密度が低い場合(例えば、親密度:1〜3)に1とし、親密度が中程度の場合(例えば、親密度:4〜6)に0.7とし、親密度が高い場合(例えば、親密度:7〜10)に0.3としてもよい。
(9−7)変形例7
上述した実施形態の探索ゲームでは、探索ユーザが目標ユーザを探し当てた場合に、探索ユーザに対して特典を付与してもよい。
本変形例のゲーム制御装置は、基準ユーザと目標ユーザが一致した場合に、探索ユーザに特典を付与する付与手段60を備える。付与手段60を設けることで、探索ユーザが目標ユーザを探し当てる動機付けを高めることができる。本変形例の機能ブロック図を図26に示す。図26に示す機能ブロック図は、図19に示したものに対して、付与手段60が追加された点で異なる。
付与手段60の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザについての選択結果を含むHTTPリクエストを取得した場合、選択された基準ユーザに対応付けられている距離情報が「0」である場合には、探索データベースを参照して、対象となる探索IDに対応付けられている特典ポイントを、探索ユーザに付与することを決定する。探索ユーザが探索に成功したことと、探索ユーザに付与される特典ポイントの量は、上記HTTPリクエストに応答するHTMLデータに含まれる。CPU21は、探索ユーザのユーザデータにアクセスして、探索ユーザに付与すべき特典ポイントを加算して書き込む処理を行う。
なお、付与手段60は、ゲーム設定あるいはゲームシナリオに基づき、付加的な条件を満たした上で探索ユーザに特典を付与する機能を備えてもよい。例えば、付与手段60は、基準ユーザと目標ユーザが一致した後に、探索ユーザと目標ユーザとの間でバトルを行い、探索ユーザが目標ユーザに勝利した場合に、探索ユーザに特典を付与してもよい。あるいは、付与手段60は、基準ユーザと目標ユーザが一致した後に、探索ユーザが目標ユーザに対して所定のアイテムを付与した場合に、探索ユーザに特典を付与してもよい。
なお、付与手段60は、探索開始時の基準ユーザと目標ユーザとの間のリンク数が大きいほど、探索が成功したときに探索ユーザに付与される特典を大きくする機能を備えてもよい。
探索開始時の基準ユーザと目標ユーザとの間のリンク数が大きい(つまり、ネットワーク上でユーザ間の距離が離れている)ほど、探索ユーザが目標ユーザを探し当てるまでに基準ユーザの変更回数が多くなると考えられる。そこで、探索ユーザに付与する特典を、探索開始時の基準ユーザと目標ユーザとの間の距離に応じて設定することで、探索の難易度に応じた特典を探索ユーザに付与することができる。
本変形例では、探索データベースにおいて、探索IDごとに特典ポイントを予め設定しなくてもよい。ゲームサーバ20のCPU21は、処理対象のユーザがいずれかの探索IDのミッションを選択して探索を開始した時点(つまり、初期の時点)の基準ユーザ(例えば上記実施形態では、探索ユーザ)と目標ユーザとの間の距離(リンク数)を記憶しておく。初期の時点の基準ユーザと目標ユーザとの間の距離の算出方法として、例えばダイクストラ法(Dijkstra's Algorithm)やワーシャル-フロイド法(Warshall-Floyd Algorithm)などの公知の如何なるアルゴリズム(グラフ上の最短経路を求めるアルゴリズム)を適用してもよい。CPU21は、目標ユーザとの間の距離が0であると判断した場合に、探索ユーザに特典ポイントを付与することを決定する。このとき、CPU21は、付与される特典ポイントの量を、探索開始時の基準ユーザと目標ユーザとの間の距離が大きいほど大きくする。なお、特典ポイントの量は、初期の距離(つまり、初期の時点の基準ユーザと目標ユーザとの間の距離)と特典ポイントの量の関係を記述したテーブルを参照して決定してもよいし、初期の距離に対して所定の演算式を当てはめることによって特典ポイントを算出してもよい。
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に限定されない。また、上記実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。例えば、上記実施形態及び各変形例に記載された特徴は適宜組み合せて適用してもよい。
上述した実施形態では、本発明の「ユーザの入力」の一例として、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力の場合を採り上げたが、ユーザの入力はこれらの入力方法に限られない。ユーザの入力は、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力(ジェスチャ入力)であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。また、音声認識プログラムを実行可能な通信端末の場合には、ユーザの入力は音声によって行われてもよい。
このゲーム制御装置において、第1ユーザに対応付けられる「数値情報」が距離情報である場合について説明したが、これに限られない。第1ユーザに対応付けられる数値情報が、目標ユーザとの間の距離に等しいという前提は、目標ユーザに対応付けられる数値情報を「0」とした場合である。目標ユーザに対応付けられる数値情報を、「0」以外の数値、例えば「N」(N≠0)とした場合、目標ユーザを起点としてネットワーク上で周囲のユーザに対して、N+1,N+2,…といった具合に、数値が対応付けられていく。その場合には、数値が対応付けられたユーザと目標ユーザとの間の距離は、両者の数値の差分をとることによって容易に算出することができる。また、目標ユーザを起点としてネットワーク上の周囲のユーザに対して、N−1,N−2,…といった具合に、目標ユーザから遠ざかる毎にデクリメントした値を各ユーザに対応付けるようにしてもよい。この場合、数値が対応付けられたユーザと目標ユーザとの間の距離は、例えば、両者の数値の差分の絶対値をとることによって容易に算出することができる。
上述した実施形態では、本発明の「数値情報に基づく情報」として、目標ユーザまでの距離を示す棒状の情報が探索ユーザに提示される場合について例示したが、これに限られない。「リンク数に基づく情報」は、リンク数に応じたテキスト情報(例えば、「まだ遠い」、「もう少し」等のテキスト)であってもよいし、リンク数に応じた強さ若しくは周波数の音声情報であってもよい。
上述した変形例では、本発明の「特典」の一例として特典ポイントを採り上げたが、本発明の特典は任意の形式で設定することができる。例えば、本発明の特典の他の例として、ゲーム上の進行を有利にするゲーム上の設定、調整、あるいはゲーム上の進行を有利にするアイテムの付与であってもよく、ゲームの進行とは直接関係のないアイテムが付与されることであってもよい。
上述した実施形態では、ソーシャルゲームに適用される場合を例として説明したが、これに限られない。例えば、ネットワーク上に置かれたサーバ装置と家庭用オンラインゲーム機とを接続した、いわゆるオンラインゲームシステムにおいても、上述した実施形態と同様に、各ユーザに距離情報を対応付けることができ、探索の処理を行うことができる。
上述した実施形態では、ネットワーク上のゲームサーバ20及びデータベースサーバ30によって、図19に示した各手段の機能を実現する構成としたが、この構成に限られない。これらのすべての手段を通信端末10によって実現する構成としてもよいし、少なくとも一部の手段を通信端末10によって実現する構成としてもよい。通信端末10とゲームサーバ20とでは実質的に同一のハードウエア構成を採るため、上記実施形態に記載したようにして通信端末10によっても各機能を実現できる。図27(a),(b)には、本実施形態のゲーム制御装置の各機能(図19に示す各機能)について、通信端末10と、ゲームサーバ20及びデータベースサーバ30との間の分担例を示す。
上述した実施形態では、探索ゲームについて説明したが、ユーザを探索する処理はゲームに利用される場合に限られない。例えばソーシャルネットワーク上で、ユーザが他の特定のユーザを探索するときに、一定の関係(例えば、メッセージの送受信履歴のある関係、同一のコミュニティに登録している関係、友達登録している関係等)があるユーザ間をリンクを辿ることによって、特定のユーザのマイページ等を探し当てることを補助する仕組みとすることができる。このような仕組みを実現するネットワークサーバ等の情報処理装置は、図19に示した各機能と同一の機能を備えていればよい。すなわち、そのような情報処理装置は、図3〜5に示したものと同一のハードウエア構成を用いて、上述した実施形態と同様にして実現することができる。
10…通信端末
11…CPU
12…ROM
13…RAM
14…画像処理部
15…指示入力部
16…表示部
17…通信インタフェース部
18…バス
20…ゲームサーバ
21…CPU
22…ROM
23…RAM
24…データベースアクセス部
25…通信インタフェース部
26…バス
30…データベースサーバ
31…ユーザデータベース
32…ゲームデータベース
51…関係付け手段
52…設定手段
53…第1対応付け手段
54…判定手段
55…特定手段
56…第2対応付け手段
57…変更手段
58…提示手段
59…親密度設定手段
60…付与手段

Claims (10)

  1. ユーザ間を関係付ける関係付け手段と、
    ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段と、
    目標ユーザに所定の第1の数値情報を対応付ける第1対応付け手段と、
    各ユーザが所定の条件を満たすか否か判定する判定手段と、
    前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報を特定する特定手段と、
    前記特定手段によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける第2対応付け手段と、
    目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段と、
    前記変更手段によって基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する提示手段
    と、
    を備えた、ゲーム制御装置。
  2. 前記所定の条件は、ユーザがゲームにアクセスしたことであることを特徴とする、
    請求項1に記載されたゲーム制御装置。
  3. 前記所定の条件は、ユーザ毎にランダムに割り当てられた時刻、あるいはユーザ毎に所定の規則に従って割り当てられた時刻に達したことであることを特徴とする、
    請求項1に記載されたゲーム制御装置。
  4. 前記設定手段は、複数の目標ユーザを設定し、
    前記第2対応付け手段は、目標ユーザ毎に前記第1ユーザに数値情報を対応付けることを特徴とする、
    請求項1〜3のいずれかに記載されたゲーム制御装置。
  5. ユーザ間の関係の程度に応じた親密度を、前記関係付け手段によって関係付けられたユーザ間に設定する親密度設定手段、を備え、
    前記第2対応付け手段は、前記ネットワーク上で隣接するユーザ間のリンク数が当該ユーザ間の親密度に応じて調整されるようにして、前記第1ユーザに数値情報を対応付けることを特徴とする、
    請求項1〜4のいずれかに記載されたゲーム制御装置。
  6. 基準ユーザと前記目標ユーザが一致した場合に、探索ユーザに特典を付与する付与手段、を備えたことを特徴とする、
    請求項1〜5のいずれかに記載されたゲーム制御装置。
  7. 前記第2対応付け手段は、前記特定手段によって特定された数値情報と、前記第2ユーザと前記第1ユーザの間のリンク数とを加算して、前記第1ユーザに対応付ける数値情報を算出することを特徴とする、
    請求項1〜6のいずれかに記載されたゲーム制御装置。
  8. コンピュータに、
    ユーザ間を関係付ける機能、
    ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する機能、
    目標ユーザに所定の第1の数値情報を対応付ける機能、
    各ユーザが所定の条件を満たすか否か判定する機能、
    前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報が対応付けられている第2ユーザを特定する機能、
    前記特定する機能によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける機能、
    目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する機能、及び、
    基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する機能、
    を実現させるためのプログラム。
  9. 通信端末と、当該通信端末からアクセスされるサーバとを含むゲームシステムであって、
    ユーザ間を関係付ける関係付け手段、
    ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段、
    目標ユーザに所定の第1の数値情報を対応付ける第1対応付け手段、
    各ユーザが所定の条件を満たすか否か判定する判定手段、
    前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報が対応付けられている第2ユーザを特定する特定手段、
    前記特定手段によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける第2対応付け手段、
    目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段、及び、
    前記変更手段によって基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する提示手段、
    の各手段を、前記通信端末又は前記サーバのいずれか一方が備えた、
    ゲームシステム。
  10. ユーザ間を関係付ける関係付け手段と、
    ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段と、
    目標ユーザに所定の第1の数値情報を対応付ける第1対応付け手段と、
    各ユーザが所定の条件を満たすか否か判定する判定手段と、
    前記ネットワーク上で前記所定の条件を満たす第1ユーザから所定のリンク数の範囲内のユーザに対応付けられている数値情報のうち、前記第1の数値情報に最も近い数値情報を特定する特定手段と、
    前記特定手段によって特定された数値情報と、当該数値情報に対応付けられた第2ユーザと前記第1ユーザの間のリンク数とに基づいて、前記第1ユーザに数値情報を対応付ける第2対応付け手段と、
    目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段と、
    前記変更手段によって基準ユーザを変更する度に、変更後の基準ユーザに数値情報が対応付けられている場合には、当該数値情報に基づく情報を探索ユーザに提示する提示手段
    と、
    を備えた、情報処理装置。
JP2012215806A 2012-09-28 2012-09-28 ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置 Active JP5634468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012215806A JP5634468B2 (ja) 2012-09-28 2012-09-28 ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012215806A JP5634468B2 (ja) 2012-09-28 2012-09-28 ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置

Publications (2)

Publication Number Publication Date
JP2014071567A JP2014071567A (ja) 2014-04-21
JP5634468B2 true JP5634468B2 (ja) 2014-12-03

Family

ID=50746734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012215806A Active JP5634468B2 (ja) 2012-09-28 2012-09-28 ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置

Country Status (1)

Country Link
JP (1) JP5634468B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6621064B2 (ja) * 2016-06-02 2019-12-18 グリー株式会社 プログラム
JP6719748B2 (ja) * 2016-06-21 2020-07-08 国立研究開発法人物質・材料研究機構 探索システム、探索方法および物性データベース管理装置
US11167207B2 (en) * 2019-12-13 2021-11-09 Niantic, Inc. Region division with cell merging using spanning tree
JP7239838B2 (ja) * 2020-07-15 2023-03-15 株式会社カプコン ゲームプログラムおよびゲームシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7749084B2 (en) * 2004-12-07 2010-07-06 Microsoft Corporation Tool for real-time graphical exploration of interconnected friends and groups
US20100241580A1 (en) * 2009-03-19 2010-09-23 Tagged, Inc. System and method of selecting a relevant user for introduction to a user in an online environment
US8226485B1 (en) * 2009-08-13 2012-07-24 Zynga Inc. Multiuser game with friend proxy automated characters

Also Published As

Publication number Publication date
JP2014071567A (ja) 2014-04-21

Similar Documents

Publication Publication Date Title
JP5580854B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5551210B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5832982B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP5714542B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
WO2013161731A1 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、記録媒体、ゲームシステム
JP5265794B1 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5634468B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置
JP5290460B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5847302B2 (ja) コミュニケーション装置、プログラム、コミュニケーションシステム
JP5529923B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置
JP2014133149A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5692731B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP2013248085A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、コミュニケーション装置
JP5574545B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP5529924B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置
JP5763600B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP6069612B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP6508636B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP6176864B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP5576418B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5860510B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP2019088976A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP5995934B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP2014076383A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP2014208168A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141014

R150 Certificate of patent or registration of utility model

Ref document number: 5634468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250