(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のソーシャルゲームとして、例えば、複数のユーザが協力して共通の敵キャラクタを攻撃する複数のユーザ間の協力ゲームが知られている。協力ゲームにおいて、所定の期間内で、協力してゲームを行っている複数のユーザのうちいずれかのユーザが連続して敵キャラクタに対して攻撃を行った回数に応じて特典をユーザに付与するゲームについて知られている。しかしながら、従来の協力ゲームでは、協力ゲームに参加する複数のユーザが固定化された互いに既知のユーザに限られる傾向にあり、新たなユーザ間のコミュニケーションを拡大するように構成されていなかった。言い換えれば、従来の協力ゲームは、新たなユーザ間の関係を構築することを促進するような仕組みがなされていなかった。
【0006】
本発明は上述した観点に鑑みてなされたもので、新たなユーザ間の関係を構築することを促進できるゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の観点は、ゲーム制御装置であって、
ユーザ間を関係付ける関係付け手段(51)と、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段(52)と、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段(53)と、
前記変更手段(53)によって基準ユーザを変更する度に、基準ユーザと目標ユーザとの間のリンク数を取得する取得手段(54)と、
前記変更手段(53)によって基準ユーザを変更する度に、前記取得手段(54)が取得したリンク数に基づく情報を探索ユーザに提示する提示手段(55)と
、
を備える。
【0008】
このゲーム制御装置において「目標ユーザ」は、探索の目標となるユーザであるが、必ずしも特定のユーザに限られない。例えば、ゲーム上のアイテムがユーザ間で授受可能であって、アイテムを保有するユーザが探索対象となる場合には、アイテムの授受に伴って目標ユーザとなるユーザが変更されることがあってもよい。
このゲーム制御装置において、探索開始時の「基準ユーザ」は特定のユーザに限定するものではない。探索開始時の「基準ユーザ」は、探索ユーザであってもよいし、探索ユーザ以外の特定のユーザであってもよい。
「基準ユーザと目標ユーザとの間のリンク数」は、ユーザ間の関係付けを示すリンクに基づいて形成されるユーザ間のネットワークを、各ユーザをノードとしたソーシャルグラフとしてみたときに、基準ユーザを示すノードと、目標ユーザを示すノードとの間の最短経路上のリンク数(つまり、ネットワーク上の距離)であってもよい。リンク数は、例えばユーザ間の関係の程度等によって、ユーザ間のリンクに重み付けが設定されてもよい。
このゲーム制御装置において「ユーザの入力」は、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力のほか、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力(ジェスチャ入力)であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。
このゲーム制御装置において「リンク数に基づく情報」は、リンク数を示す数値情報に限られず、リンク数に応じたテキスト情報(例えば、「まだ遠い」、「もう少し」等のテキスト)であってもよいし、リンク数に応じた強さ若しくは周波数の音声情報であってもよい。
【0009】
このゲーム制御装置では、探索ユーザは、基準ユーザを順次変更し、ユーザ間の関係付けを示すリンクに基づくネットワークを辿ることによって目標ユーザを探索
する探索ゲームを実行するように構成されている。基準ユーザと目標ユーザとの間の距離を示す指標としてリンク数が探索ユーザに提示されるため、探索ユーザは目標ユーザとの距離を認識しながら探索を進めることができる。この探索ゲームでは、目標ユーザが探索ユーザと関係付けられていない場合、探索ユーザは、目標ユーザを探索する過程で、あるいは目標ユーザを効率的に探し当てるために、自らと関係付けられていない他のユーザ(例えば基準ユーザ)とコミュニケーションをとることが動機付けられる。よって、このゲーム制御装置によれば、新たなユーザ間の関係を構築することを促進できる。
【0010】
上記ゲーム制御装置において、前記変更手段(53)は、前記ネットワーク内の基準ユーザを変更するに当たって、当該基準ユーザに関係付けられた複数のユーザの中から一部のユーザを、変更後の基準ユーザの候補として前記探索ユーザに提示してもよい。
ネットワーク内の各ユーザに関係付けられたユーザが多数存在する場合には、探索ユーザにとって、基準ユーザを順次変更しながら目標ユーザを探索することが困難となりうる。そこで、探索ゲームの難易度を低下させる目的で、基準ユーザを変更するに当たってその基準ユーザに関係付けられたユーザの中から変更後の基準ユーザの候補を制限するようにしてもよい。
【0011】
上記ゲーム制御装置において、前記設定手段(52)は、探索開始時の基準ユーザと前記目標ユーザとの間のリンク数が所定の範囲内となるように、前記目標ユーザを設定してもよい。
探索の初期において基準ユーザと目標ユーザとの間のリンク数が大きい(つまり、ネットワーク上でユーザ間の距離が離れている)場合には、探索ユーザにとって、基準ユーザを順次変更しながら目標ユーザを探索することが困難となりうる。ネットワーク内の各ユーザに関係付けられたユーザが多数存在する場合には尚更である。そこで、探索開始時の基準ユーザと目標ユーザとの間のリンク数が所定の範囲内となるように、目標ユーザとなるユーザを設定するようにしてもよい。
【0012】
上記ゲーム制御装置において、基準ユーザと前記目標ユーザが一致した場合に、探索ユーザに特典を付与する付与手段(56)、を備えてもよい。
「特典」は任意に設定することができ、ゲーム上で利用可能なポイントの付与や、ゲーム上の進行を有利にするゲーム上の設定、調整、あるいはゲーム上の進行を有利にするアイテムの付与であってもよく、ゲームの進行とは直接関係のないアイテムが付与されることであってもよい。付与手段を設けることで、探索ユーザが目標ユーザを探し当てる動機付けを高めることができる。
【0013】
付与手段(56)を備える場合、前記付与手段(56)は、探索開始時の基準ユーザと前記目標ユーザとの間のリンク数が大きいほど、前記特典を大きくしてもよい。
探索開始時の基準ユーザと目標ユーザとの間のリンク数が大きい(つまり、ネットワーク上でユーザ間の距離が離れている)ほど、探索ユーザが目標ユーザを探し当てるまでに基準ユーザの変更回数が多くなると考えられる。そこで、探索ユーザに付与する特典を、探索開始時の基準ユーザと目標ユーザとの間の距離に応じて設定することで、探索の難易度に応じた特典を探索ユーザに付与することができる。
【0014】
上記ゲーム制御装置において、前記変更手段(53)は、前記ネットワーク内の少なくとも1つのリンクに基づく前記基準ユーザの変更を制限してもよい。
この構成では、例えばネットワーク内のリンクを遮断して特定のユーザ間の関係付けのリンクを辿ることが禁止されるため、探索ユーザに応じた探索の難易度の設定等、探索ゲームの設定を柔軟に変更することができる。なお、基準ユーザの変更の「制限」は、ユーザ間のリンクを辿ることを完全に遮断する場合に限られず、所定の時間の間のみ遮断する場合であってもよく、特定の探索ユーザに対してのみ遮断されることであってもよい。
【0015】
上記ゲーム制御装置において、前記変更手段(53)は、前記目標ユーザと、前記目標ユーザと関係付けられている複数のユーザとの間の少なくともいずれかのリンクに基づく前記基準ユーザの変更を制限してもよい。
この構成では、目標ユーザと他のユーザの関係付けを示すリンクを辿るような基準ユーザの変更が制限されるため、効果的にゲームの設定を柔軟に変更することができる。また、この構成によれば、目標ユーザと関係付けられたユーザが目標ユーザとのリンクを遮断して目標ユーザを匿う(つまり、目標ユーザが探し当てられることを防ぐ)ことを可能とするゲーム設定とすることもできる。
【0016】
上記ゲーム制御装置において、前記変更手段(53)は、前記基準ユーザの変更を制限する時間を所定時間に設定してもよい。
例えばネットワーク内のリンクを遮断して探索ユーザが特定のユーザ間の関係付けのリンクを辿ることを禁止することは、探索ゲームの設定を柔軟に変更する上で有効であるが、リンクの遮断を長時間継続することは探索ユーザにとって酷な場合(つまり、ゲームの難易度が高くなり過ぎる場合)もある。そこで、ユーザ間のリンクが遮断される時間を所定時間に制限するようにしてもよい。
【0017】
上記ゲーム制御装置において、前記設定手段(52)は、前記基準ユーザと前記目標ユーザが一致するまでの間、前記目標ユーザとなるユーザを他のユーザに変更してもよい。
この構成では、探索ユーザが目標ユーザを探索する過程で、目標ユーザとするユーザが別のユーザに変更される。そのため、探索ユーザが目標ユーザを単に探し当てるのではなく目標ユーザを追い掛ける構成となり、探索ゲームとして興趣性を高めることができる。
【0018】
上記ゲーム制御装置において、ユーザ間の関係の程度に応じた親密度を、前記関係付け手段(51)によって関係付けられたユーザ間に設定する親密度設定手段(57)、を備え、前記取得手段(54)は、前記ネットワーク上で隣接するユーザ間のリンク数が当該ユーザ間の親密度に応じて調整されるようにして、基準ユーザと目標ユーザとの間のリンク数を取得してもよい。
この構成では、ネットワーク上で隣接するユーザ間の関係の程度に応じて基準ユーザと目標ユーザとの間のリンク数が決定される。つまり、ネットワーク上のリンクの重み付けが一定ではなく、ユーザ間の関係の程度に応じてユーザ間の重み付けが設定される。これにより、例えば、基準ユーザと目標ユーザとの間でネットワーク上の最短経路が複数存在する場合に、取得されるリンク数を経路毎に異なる値とすることができるため、探索ゲームとして興趣性をさらに高めることができる。
【0019】
本発明の第2の観点は、
ユーザ間を関係付けるステップと、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定するステップと、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更するステップと、
基準ユーザを変更する度に、基準ユーザと目標ユーザとの間のリンク数を取得するステップと、
基準ユーザを変更する度に、前記取得するステップが取得したリンク数に基づく情報を探索ユーザに提示するステップと、
を備えた、ゲーム制御方法である。
【0020】
本発明の第3の観点は、コンピュータに、
ユーザ間を関係付ける機能、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する機能、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する機能、及び、
基準ユーザを変更する度に、基準ユーザと目標ユーザとの間のリンク数を取得する機能、
基準ユーザを変更する度に、前記取得する機能が取得したリンク数に基づく情報を探索ユーザに提示する機能、
を実現させるためのプログラムである。
【0021】
コンピュータは、例えばネットワークサーバ、大型計算機等であってよい。また、このプログラムは、DVD−ROMやCD−ROM等のコンピュータが読み取り可能な情報記憶媒体に格納されてもよい。
【0022】
本発明の第4の観点は、通信端末(10)と、当該通信端末(10)からアクセス可能に構成され、前記通信端末(10)によるゲームの実行を制御するサーバ(20)と、を含むゲームシステムであって、
ユーザ間を関係付ける関係付け手段(51)、
ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する設定手段(52)、
目標ユーザの探索を行う探索ユーザの入力情報に応じて、当該探索ユーザを起点として、探索の基準となるユーザである基準ユーザを前記ネットワークのリンクに基づき順次変更する変更手段(53)、
前記変更手段(53)によって基準ユーザを変更する度に、基準ユーザと目標ユーザとの間のリンク数を取得する取得手段(54)、及び、
前記変更手段(53)によって基準ユーザを変更する度に、前記取得手段(54)が取得したリンク数に基づく情報を探索ユーザに提示する提示手段(55)、
の各手段を、前記通信端末(10)又は前記サーバ(20)のいずれか一方が備えた、
を備えた、ゲームシステムである。
【0023】
なお、上記では、本発明の理解を容易にするため、適宜図面に記載された符号を括弧書きで記載しているが、これにより本発明に係るゲーム制御装置等が図示の態様に限定されるものではない。
【発明の効果】
【0024】
本発明のゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステムによれば、新たなユーザ間の関係を構築することを促進できる。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について説明する。
【0027】
(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でウェブページに対する操作をしてゲームを実行する。
【0028】
また、
図1には図示していないが、ゲームサーバ20とは別に各通信端末10のユーザを認証するための認証サーバを設けてもよい。また、多くの通信端末10からのアクセスを受け入れるために複数のゲームサーバ20を設ける場合は、その複数のゲームサーバ20間の負荷を調整するためのロードバランサを設けてもよい。また、ゲームサーバ20は単一のサーバ装置として構成してもよいが、機能を分散させた複数のサーバ装置として構成してもよい。
【0029】
(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が設けられている。
【0030】
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へ通知する。
【0031】
ウェブブラウザは、画像処理部14を介して、取得したHTMLデータに基づき、ゲームサーバ20から提供されるウェブページを表示部16に表示する。また、ウェブブラウザは、ユーザが指示入力部15の操作によってウェブページ上のハイパーリンク(Hyperlink)またはメニューが選択されると、その選択に応じたウェブページを表示するための新たなHTMLデータの送信(つまり、ウェブページの更新)をゲームサーバ20へ要求する。
【0032】
画像処理部14は、HTMLデータの解析結果としてCPU11から与えられる表示用画像データに基づいて、表示部16にウェブページを表示する。表示部16は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むLCD(Liquid Cristal Display)モニタであり、表示用画像データに基づいて薄膜トランジスタを駆動することでウェブページの画像を表示画面16aに表示する。
【0033】
通信端末10が釦入力方式の通信端末(
図2(a))である場合、指示入力部15は、ユーザの操作入力を受け入れるための方向指示釦と決定釦などの複数の指示入力釦を含む釦群15a、及び、テンキーなどの複数の指示入力釦を含む釦群15bを備え、各釦の押下(操作)入力を認識してCPU11へ出力するためのインタフェース回路を含む。例えば、方向指示釦は、表示部16に表示されているウェブページをスクロールして表示することをCPU11へ指示するために設けられる。また、決定釦は、例えばウェブページ上で複数のハイパーリンクまたはメニューが表示されるときに、アクティブ表示(例えば強調表示)されている1つのハイパーリンクまたはメニューをユーザが選択することをCPU11へ指示するために設けられる。なお、通信端末10を小型の携帯端末によって構成する場合には、これらの釦は、ユーザが通信端末10を片手で保持したままその親指で操作(クリック)しやすいように、通信端末10の前面に配置されていることが好ましい。
図2(a)に示す例では、釦群15bは、釦群15aの下方に配置され、「0」〜「9」、「*」、「#」(テンキー)が表記された複数の指示入力釦を含む。
【0034】
通信端末10がタッチパネル入力方式の通信端末(
図2(b))である場合、指示入力部15は、主として表示画面16aに指先あるいはペンで触れることによるタッチパネル方式の入力を受け付ける。タッチパネル入力方式は、静電容量方式などの公知の方式でよい。なお、
図2(b)に示すように、通信端末10がタッチパネル入力方式の場合であっても釦群15aが設けられる場合もある。
【0035】
通信端末10に表示されるウェブページ上のメニューの選択操作は、例えば通信端末10が携帯端末である場合には、方向指示釦の押下操作によってメニューを選択し、決定釦の押下操作によって、選択したメニューを確定することによって行われる。また、選択操作は、例えば通信端末10がタッチパネル入力方式の場合には、ウェブページが表示されている表示画面16a上のメニューの位置を指あるいはペンで指示(タッチ操作)することによって行われる。
【0036】
(3)ゲームサーバの構成
図4を参照してゲームサーバ20の構成について説明する。
ゲームサーバ20は、例えば階層構造の複数のウェブページからなるゲームのウェブサイトを管理しており、通信端末10に対してゲームのウェブサービスを提供する。
図3に示すように、ゲームサーバ20は、CPU21、ROM22、RAM23、データベース(DB)アクセス部24、及び、通信インタフェース部25を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス26が設けられている。なお、ゲームサーバ20は、ハードウエアに関しては汎用のウェブサーバと同一の構成をとることができる。
【0037】
ROM22には、クライアントである通信端末10のウェブブラウザに対してHTML文書や画像などのオブジェクトの表示(ウェブページの表示)のサービスを提供するアプリケーションプログラムが格納されている。ROM22には、アプリケーションプログラム以外にもCPU21によって参照される各種データが格納されている。
CPU21は、ROM22内のゲームプログラムをRAM23にロードして実行し、通信インタフェース部25を介して、各種の処理を行う。
【0038】
例えば、CPU21は、通信インタフェース部25を介して、HTMLデータを通信端末10宛に送信する。なお、ゲームサーバ20が通信端末10のユーザの認証処理を行う場合には、CPU21はその認証処理を行う。
CPU21は、通信インタフェース部を介して、通信端末10で表示されるウェブページ上でユーザにより選択されたハイパーリンクまたはメニューに応じた処理を行う。その処理は、例えば、新たなHTMLデータの送信、または、ゲームサーバ20内の演算処理あるいはデータ処理などを含む。
データベースアクセス部24は、CPU21がデータベースサーバ30に対してデータの読み書きを行うときのインタフェースである。
【0039】
(4)データベースサーバの構成
データベースサーバ30(記憶装置)は、大容量のハードディスク装置やRAID(Redundant Arrays of Inexpensive Disks)等の形態の装置等、汎用ストレージで実現できる。データベースサーバ30内の各データベースは、ゲームサーバ20のデータベースアクセス部24を介してCPU21からのデータの読み書きが可能となるように構成されている。
図5に、データベースサーバ30の構成の一例を示す。
図5に示すように、データベースサーバ30は、ユーザデータベース31と、ゲームデータベース32とを備える。
【0040】
本実施形態のゲームシステムによって実現されるゲームのタイプは特に限定されるものではないが、以下では、本実施形態のゲームの一例として、ゲームに登録している複数のユーザの中から目標となるユーザを探し当てる探索ゲーム(以下、適宜「本実施形態のゲーム」という。)を採り上げる。本実施形態のゲームにおいて、探索を行うユーザを「探索ユーザ」といい、探索の目標となるユーザである「目標ユーザ」という。本実施形態のゲームでは、後述するように特定のユーザ間を仲間として関係付けることが可能であり、探索ユーザは、自らを起点としてユーザ間の仲間関係を辿ることで目標ユーザを探し当てる仕組みとなっている。目標ユーザを探し当てるまでに探索ユーザは、仲間関係を辿るようにして探索の基準となるユーザを順次変更していく。探索の基準となるユーザを、以下では「基準ユーザ」という。
【0041】
ここで、ユーザをノード、ユーザ間の関係付けをリンク(エッジともいう。)としてみた場合には、ゲームに参加しているユーザ全体がソーシャルグラフを形成していると考えることができる。このソーシャルグラフにおいて、探索ユーザに相当するノードを「出発ノード」、基準ユーザに相当するノードを「基準ノード」、目標ユーザに相当するノードを「目標ノード」、とした場合、本実施形態の探索ゲームは、ユーザ間の関係付けを示すリンクに基づくソーシャルグラフ(ユーザのネットワーク)において、出発ノードから目標ノードまでの経路を、基準ノードを順次変更させながら探索することに相当する。
【0042】
図6に、本実施形態のゲームにおいて適用されるユーザデータベース31の一例を示す。この例では、ユーザデータベース31は、ユーザID(ユーザ識別情報)ごとに、ユーザ名、ユーザ画像、進行レベル、体力ポイント、探索データ(探索ID,基準ユーザ)、特典ポイント、仲間のユーザIDの各項目についての情報を含む。ユーザデータベース31に含まれる情報は、ゲームサーバ20によって逐次更新されうる。
以下の説明では、ユーザデータベース31に含まれるユーザID、あるいはユーザを特定するユーザ名(後述する)ごとのデータを総称してユーザデータという。ユーザデータを構成する各項目の情報は、以下のとおりである。
【0043】
・ユーザ名
ゲームの実行時に通信端末10のユーザを特定するために表示されるユーザ名である。ユーザ名はユーザによって予め指定される所定長以下のテキストである。ユーザ名は、ゲームサーバ20によって提供されるネットワーク環境(あるいはゲームコミュニティ)上でユーザを特定する名称である。
・ユーザ画像
ユーザ画像は例えばユーザによって予め選択されるアバタ画像である。
・進行レベル
ゲーム上のユーザの進行レベルを示すデータである。例えばLv1(レベル1)からLv100(レベル100)までの範囲のレベル値である。例えば、ゲームの実行回数が所定回数に達する度に、進行レベルが上昇させるようにしてもよい。
・体力ポイント
本実施形態のゲームにおいて、ゲームを進行させる上で必要となるユーザの体力に相当するポイントである。例えば、本実施形態のゲームでは、基準ユーザを変更する度に、所定量の体力ポイントが消費され、所定の時間が経過する毎に所定量回復(増加)するようにしてもよい。
・探索データ
探索データは、探索IDと基準ユーザとなるユーザのユーザIDとを含む。探索IDは、探索のミッションを特定するための識別情報である。
・特典ポイント
本実施形態のゲームにおいて、探索に成功して目標ユーザを探し当てたことでユーザが得た特典ポイントの累積値である。
・仲間のユーザID
対象となるユーザIDと関係付けられた他のユーザIDのデータである。
【0044】
図5に戻り、ゲームデータベース32は、ゲームサーバ20からのアクセスに基づき、ゲームサーバ20によって実行されたゲームの進行に関する情報、探索データベースを記憶する。ゲームの進行に関する情報は、ゲームの性質によって多様な情報を含みうる。本実施形態のゲームの場合を例に挙げれば、ゲームの進行に関する情報は、各ユーザの探索についての詳細結果などを含んでもよい。
【0045】
探索データベースは、本実施形態のゲームにおいてユーザに与えられる複数の探索のミッションの各々についてのデータが記述されている。各ミッションは、探索IDに対応付けられている。探索データベースの各項目のデータは以下のとおりである。
【0046】
・目標ユーザ
特定のミッションの探索の目標ユーザとなるユーザのユーザIDである。
・終了時刻
特定のミッションの探索が終了する時刻である。本実施形態のゲームでは、探索ユーザは、終了時刻までに目標ユーザを探し当てたときに特典ポイントが付与される。
・特典ポイント
特定のミッションの探索に成功したときに探索ユーザに付与される特典ポイントである。
【0047】
なお、本実施形態のゲームでは、ユーザの仲間関係を示すリンクからなるネットワークが、ソーシャルグラフによって管理される。例えば、ユーザデータベースに書き込まれている仲間のユーザIDのデータに基づいて、仲間関係を示すソーシャルグラフを示す隣接リストが生成されてRAM23に記憶される。
図8に、隣接リストのデータ構成例を示す。
図8に示すように、隣接リストは、各ユーザIDと、ユーザIDに仲間として対応付けられた他の1又は複数のユーザとを、ソーシャルグラフ上の隣接ノードとして示すデータである。
図9は、ユーザの仲間関係を示すソーシャルグラフ(無向グラフ)の一例を概念的に示す図である。
図9に示すソーシャルグラフにおいて、出発ノードNsはユーザKNMであり、目標ノードNgはユーザXYZである。ソーシャルグラフでは、ユーザ間の仲間関係の有無は、ノード間のリンク(「エッジ」ともいう。)の有無によって表現される。
【0048】
(5)本実施形態のゲーム
以下、本実施形態のゲームの内容について、
図10〜16を参照しながら説明する。
図10〜16は、本実施形態のゲームにおいて、探索ユーザの通信端末10に表示される一連のウェブページを示す図である。
なお、以下の説明において、通信端末10に表示されるウェブページ上で表示されるメニュー、マーク等はウェブページ上で所望の位置に配置されるものであって、通信端末10で視認されるメニュー、マーク等の表示画面上の位置は、ユーザの方向指示釦あるいはタッチパネル操作によるウェブページのスクロール操作によって変化しうる。
【0049】
図10に例示する本実施形態のゲームのトップページP0は、個々のユーザIDに応じたウェブページで構成される。
図10の例では、ユーザ画像とともに、ユーザデータ表示領域、及びメニュー表示領域を含む。
図10では、一例としてユーザKNM(ユーザ名;KNM)の通信端末10に表示されるウェブページの例を示している。
ユーザデータ表示領域は、対象となるユーザIDのユーザデータに含まれる、進行レベル、体力ポイントの各項目のデータ(
図6参照)が表示される領域である。メニュー表示領域は、本実施形態のゲームにおいて、ユーザの仲間を辿ることによって目標ユーザを探し当てる処理である探索処理の実行を開始するためのメニューm1(「ユーザ探索」)を含む複数のメニュー(メニューm1以外は図示せず)が表示される領域である。
【0050】
図10のゲームのトップページP0上でメニューm1(「ユーザ探索」)が選択操作されると、P1に示すようにウェブページが更新される。このウェブページP1には、現在選択可能な(つまり、終了時刻に達していない)1又は複数の探索のミッションの一覧が表示される。各ミッションには、目標ユーザ(XYZ等)、終了時刻までの時間(1時間35分等)、及び特典ポイント(1000pt等)が対応付けて表示される。各ミッションに対応付けて、メニューm11,12,…(「この人を探す」)が表示される。ウェブページP1において、例えばメニューm11が選択操作されると、
図11(a)のP2に示すようにウェブページが更新される。ウェブページP2は、例えば、表示領域101,102,104によって構成される。なお、複数の探索のミッションのいずれかが選択された後に、目標ユーザに対する探索の過程で表示されるウェブページを、以下では「探索ページ」ということもある。
【0051】
表示領域101には、ユーザKNMの現在位置からの目標位置までの距離(P2の例では、4)が棒状に表示される。なお、「現在位置」は、探索の基礎となるソーシャルグラフ上の基準ノードに相当し、「目標位置」は、ソーシャルグラフ上の目標ノードに相当し、現在位置から目標位置までの「距離」は、ソーシャルグラフ上において基準ノードから目標ノードまでの最短経路のリンク数に相当する。
表示領域102には、ユーザKNMによってP1で選択されたミッションについて、ユーザの現在位置(P2では、探索ユーザであると同時に基準ユーザでもある「KNM」が表示される。)と、探索の終了時刻までの残り時間とが表示される。
表示領域104には、探索ユーザが基準ユーザを更新するために、基準ユーザの仲間のユーザの一覧(仲間リスト)が表示される。P2の例では、探索ユーザであると同時に基準ユーザでもあるユーザKNMの仲間リストが表示される。
【0052】
図11(b)には、ウェブページP2がユーザKNMの通信端末10に表示された時点において、基準ノードNrの位置を示すソーシャルグラフを概念的に表している。ソーシャルグラフ自体は、
図9に例示したものと同じである。
【0053】
図11(a)のウェブページP2において、新たな基準ユーザとして例えばユーザBJCが選択操作された場合、
図12(a)のP3に示すようにウェブページが更新される。ウェブページP3は、例えば、上述した表示領域101,102,104に加え、表示領域103を含む。表示領域103は、探索ユーザと基準ユーザが異なる場合に表示されるウェブページに含まれる。
ウェブページP2の表示領域103は、基準ユーザとなるユーザのユーザ画像と、当該ユーザに対して挨拶メッセージを送信するためのメニューm21(「挨拶する」)と、当該ユーザを新たに仲間として関係付ける申請を行うためのメニューm22(「仲間に誘う」)とを含む。このようなメニューを設けることで、探索ユーザは、探索の過程で認識した他のユーザと直接的にコミュニケーションをとることができ、他のユーザと仲間の関係を構築できる機会が与えられる。例えば、メニューm21が選択操作されると、テキストメッセージを入力するためのテキストボックスと、送信釦とを含むウェブページ(図示せず)に更新される。そのテキストボックス内にメッセージが入力された状態で送信釦を選択操作することで、当該メッセージが受け付けられ、基準ユーザに届けられる仕組みとなっている。本実施形態のゲームにおいて探索ユーザは、基準ユーザを変更する度に、自らの仲間ではない他のユーザを認識するようになるため、例えば目標ユーザに関する情報を質問する、あるいは探索ゲームとは無関係の内容についてのメッセージを送信する等の様々なコミュニケーションをとる機会が得られることになる。
【0054】
図12(b)に示すように、ウェブページP3が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザBJCを示すノードに相当する。基準ユーザをユーザKNMからユーザBJCへ変更することで、ウェブページP3の表示領域101に示すように、ユーザKNMの現在位置からの目標位置までの距離(P3では、3)は、ウェブページP2に示したときよりも1つ短縮される。
【0055】
図12(a)のウェブページP3において、新たな基準ユーザとして例えばユーザGTRが選択操作された場合、
図13(a)のP4に示すようにウェブページが更新される。ウェブページP4は、P3と同様の表示形式のウェブページである。
図13(b)に示すように、ウェブページP4が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザGTRを示すノードに相当する。基準ユーザをユーザBJCからユーザGTRへ変更することで、ウェブページP4の表示領域101に示すように、ユーザKNMの現在位置からの目標位置までの距離(P4では、2)は、ウェブページP3に示したときよりも1つ短縮される。
【0056】
図13(a)のウェブページP4において、新たな基準ユーザとして例えばユーザSAMが選択操作された場合、
図14(a)のP5に示すようにウェブページが更新される。ウェブページP5は、P3と同様の表示形式のウェブページである。
図14(b)に示すように、ウェブページP5が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザSAMを示すノードに相当する。基準ユーザをユーザGTRからユーザSAMへ変更することで、ウェブページP5の表示領域101に示すように、ユーザKNMの現在位置からの目標位置までの距離(P5では、1)は、ウェブページP4に示したときよりも1つ短縮される。
【0057】
図14(a)のウェブページP5において、新たな基準ユーザとして例えばユーザXYZが選択操作された場合、
図15(a)のP6に示すようにウェブページが更新される。選択操作対象のユーザXYZは目標ユーザであるため、この選択操作によって目標ユーザを探し当てることができたことになる。この場合、ウェブページP6に示すように表示領域105を設け、目標ユーザの探索に成功したことと、探索ユーザ(この場合、ユーザKNM)に付与される特典ポイントとを通知するためのテキストが表示される。
図15(b)に示すように、ウェブページP6が表示された時点では、ソーシャルグラフ上での基準ノードNrは、ユーザXYZを示すノードに相当する。基準ユーザをユーザSAMからユーザXYZへ変更することで、ウェブページP6の表示領域101に示すように、ユーザKNMの現在位置からの目標位置までの距離が、ウェブページP5に示したときよりも1つ短縮され、ユーザKNMの現在位置と目標位置が一致する。
【0058】
以上、探索ユーザであるユーザKNMが、ユーザ間の仲間関係を辿ることによって、目標ユーザであるユーザXYZを探し当てる場合について説明した。ウェブページP2〜P6に示した例では、ユーザKNMがソーシャルグラフ上の最短経路に沿ってユーザXYZを探し当てた場合の例であるが、このようにうまくいかない場合もある。例えば、ウェブページP3(
図12)が表示されているときに、基準ユーザをユーザBJCからユーザGTRではなく、別のユーザに変更された場合を想定する。この場合の表示例を
図16(a)に示す。
図16(a)に示すウェブページP4aでは、基準ユーザをユーザBJCからユーザZAPに変更した場合の表示例である。この基準ユーザの変更は、
図16(b)に示すように、ソーシャルグラフ上での基準ノードNrがユーザZAPを示すノードに変更されたことに相当する。基準ユーザがユーザBJCからユーザZAPに変更されたことで、ウェブページP4aの表示領域101に示すように、ユーザKNMの現在位置からの目標位置までの距離(P4aでは、4)は、ウェブページP3に示したときよりも1つ伸びて表示される。このような場合、表示領域101をみた探索ユーザは、基準ユーザとしてユーザZAPを選択したことで目標ユーザとの距離が離れてしまったことがわかる。
【0059】
(6)ゲーム制御装置における各処理の概要
次に、上述した本実施形態のゲームを実現するためゲーム制御装置における各処理について説明する。
本実施形態では、ゲームサーバ20及びデータベースサーバ30によってゲーム制御装置が構成されている。以下では、上述したゲームが適用される場合を例として、本実施形態のゲーム制御装置で実現される機能について、
図17を参照して説明する。
図17は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。なお、付与手段56は本発明に必須の構成要素ではない。
【0060】
関係付け手段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参照)にデータを書き込む。
なお、ユーザ同士を関係付ける条件は、上記のような申請と承認を必要とする形式に限らず、同一の進行レベルのユーザ同士を、ゲーム内で関係付けられたユーザ同士と位置付け、仲間として登録してもよい。あるいは、所定回数の挨拶メッセージを送信するユーザ同士を自動的に仲間として登録してもよいし、ユーザ間でバトルや協力プレイを行うゲーム上のモードが存在する場合には、所定回数以上バトル又は協力プレイを行ったユーザ同士を自動的に仲間として登録してもよい。また、協力プレイでは、応援の要請を行ったユーザと、当該ユーザからの所定回数以上の応援の要請に対して承諾したユーザとを仲間として登録してもよい。
【0061】
設定手段52は、ユーザ間の関係付けを示すリンクに基づくネットワークにおいて、探索の目標となるユーザである目標ユーザを設定する機能を備える。
設定手段52の機能を実現するために、ゲームサーバ20のCPU21は、新たな探索のミッションを生成する場合、新たな探索IDを発行し、探索IDに対応する目標ユーザ、終了時刻、及び特典ポイントを決定して、探索データベースに書き込む。
なお、目標ユーザの設定は適宜行われてもよく、例えば、所定の条件を満たすユーザを目標ユーザとして設定してもよい。例えば、複数のユーザからなるグループがゲーム上で設定されている場合に、グループ内のいずれかのユーザがグループに対して不利となる処理を行ったことを条件(所定の条件)として、当該ユーザを目標ユーザに設定し、グループ内の他のユーザを探索ユーザに設定してもよい。この場合、例えば、グループ内で目標ユーザを「裏切り者」として探し当てるゲーム設定としてもよい。
【0062】
変更手段53は、目標ユーザの探索を行う探索ユーザの入力情報に応じて、探索の基準となるユーザである基準ユーザをネットワークのリンクに基づき順次変更する機能を備える。なお、本実施形態では、探索開始時の基準ユーザを探索ユーザとする場合の例である。
変更手段53の機能は、以下のようにして実現できる。ゲームサーバ20のCPU21は、例えば定期的に、あるいは逐次、各ユーザのユーザデータの仲間のユーザIDを読み出し、隣接リストを生成してRAM23に記憶させる。隣接リストは、ユーザをノードで表し、ユーザ間の関係付けの有無をノード間のリンクの有無で表したときのソーシャルグラフを表現するためのデータ構造の例である。なお、ソーシャルグラフを表すデータ構造は、
図8に例示した隣接リストに限られず、隣接行列であってもよい。隣接行列は、行番号及び列番号がそれぞれユーザIDに対応した正方行列であり、関係付けの有無を示す1又は0の値により成分を記述した行列である。
【0063】
探索ユーザとなるユーザが特定の探索IDについての探索ページにアクセスした場合、当該探索IDについての探索が途中であるときには、探索IDとともに基準ユーザのユーザIDがユーザデータに書き込まれている。そこで、CPU21は、探索ユーザのユーザデータにアクセスして、対象となる探索IDが書き込まれていると判断した場合、当該探索IDに対応付けられた基準ユーザのユーザIDを読み出して、現在の基準ユーザとしてRAM23に記憶させる。一方、当該探索IDについての探索が初めてであるときには、対象となる探索IDがユーザデータに書き込まれていない。そこで、CPU21は、探索ユーザのユーザデータにアクセスして、対象となる探索IDが書き込まれていないと判断した場合、自身の(つまり、探索ユーザの)ユーザIDを現在の基準ユーザとしてRAM23に記憶させる。
【0064】
CPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する場合、隣接リストを参照して、現在の基準ユーザのユーザIDに対応する1又は複数のユーザのユーザIDを読み出し、読み出したユーザIDに対応するユーザの情報を一覧形式で表示するためのHTMLデータを生成して、探索ユーザの通信端末10へ送信する。また、CPU21は、基準ユーザの変更先のユーザについての選択結果(入力情報)を含むHTTPリクエストを取得した場合、探索ユーザに対応付けられる基準ユーザを更新する。基準ユーザが更新された場合には、RAM23内の基準ユーザのユーザIDを逐次、あるいは定期的にユーザデータに書き込む。つまり、ユーザデータ内の基準ユーザのデータを更新する。
【0065】
取得手段54は、変更手段53によって基準ユーザを変更する度に、基準ユーザと目標ユーザとの間のリンク数を取得する機能を備える。取得手段54によって取得されるリンク数は、隣接リストによって表されるソーシャルグラフにおいて、基準ノードから目標ノードまでの隣接ノード間のリンクの重みを1とする(つまり、隣接ノード間のリンク数を1とする)場合の最短経路を求めることによって得ることができる。このような最短経路を求めるアルゴリズムとして、公知の如何なるアルゴリズムを適用してもよいが、代表的なアルゴリズムを挙げるとすれば、例えばダイクストラ法(Dijkstra's Algorithm)やワーシャル-フロイド法(Warshall-Floyd Algorithm)などが知られている。
【0066】
取得手段54の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザについての選択結果を含むHTTPリクエストを取得した場合、上記アルゴリズムを実行することによって、新たな基準ユーザに対応する基準ノードから、既知の目標ユーザに対応する目標ノードまでの最短経路を求め、基準ノードと目標ノードの間のリンク数を算出する。なお、CPU21が自らリンク数を算出する場合に限られない。隣接リストを外部のサーバに記憶されている場合には、CPU21は、通信インタフェース部25を介してその外部のサーバに対して基準ユーザと目標ユーザの各々のユーザIDを送信し、外部のサーバによるリンク数の算出結果を通信インタフェース部25を介して受信することで、リンク数についての情報を取得してもよい。
【0067】
提示手段55は、変更手段53によって基準ユーザを変更する度に、取得手段54が取得したリンク数に基づく情報を探索ユーザに提示する機能を備える。
提示手段55の機能を実現するために、ゲームサーバ20のCPU21は、ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザについての選択結果を含むHTTPリクエストを取得した場合、上述したようにして算出あるいは取得したリンク数を含むHTMLデータを生成して探索ユーザの通信端末10へ送信する。このHTMLデータを解釈することで通信端末10に表示されるウェブページは、
図11〜15に例示したP2〜P6であり、これらのウェブページの表示領域101には、現在位置と目標位置の距離としてリンク数が棒状に表示される。
【0068】
付与手段56は、基準ユーザと目標ユーザが一致した場合に、探索ユーザに特典を付与する機能を備える。
付与手段56の機能は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザについての選択結果を含むHTTPリクエストを取得した場合、上述したようにしてリンク数を算出あるいは取得し、算出あるいは取得したリンク数が0であると判断した場合には、探索データベースを参照して、対象となる探索IDに対応付けられている特典ポイントを、探索ユーザに付与することを決定する。探索ユーザが探索に成功したことと、探索ユーザに付与される特典ポイントの量は、上記HTTPリクエストに応答するHTMLデータに含まれる。CPU21は、探索ユーザのユーザデータにアクセスして、探索ユーザに付与すべき特典ポイントを加算して書き込む処理を行う。
なお、付与手段56は、ゲーム設定あるいはゲームシナリオに基づき、付加的な条件を満たした上で探索ユーザに特典を付与する機能を備えてもよい。例えば、付与手段56は、基準ユーザと目標ユーザが一致した後に、探索ユーザと目標ユーザとの間でバトルを行い、探索ユーザが目標ユーザに勝利した場合に、探索ユーザに特典を付与してもよい。あるいは、付与手段56は、基準ユーザと目標ユーザが一致した後に、探索ユーザが目標ユーザに対して所定のアイテムを付与した場合に、探索ユーザに特典を付与してもよい。
【0069】
(7)本実施形態のゲーム制御装置の主要な処理のフロー
次に、本実施形態のゲーム制御装置により行われる主要な処理のフローの一例について、
図18及び
図19のフローチャートを参照して説明する。
図18は、本実施形態のゲームにおいて、ユーザの仲間関係を示すソーシャルグラフの隣接リストを更新する処理のフローチャートである。
図19は、探索処理を示すフローチャートである。なお、図
19に示すフローチャートには、HTTPリクエストの送受信、及びウェブページの表示処理については、煩雑にならないように記載せず、その代わりに、例示したウェブページP1〜P6が表示されるタイミングをP1〜P6の符号で示してある。
【0070】
(7−1)隣接リストの更新処理(
図18)
図18に示す隣接リストの更新処理は、例えば毎日所定の時刻になると実行される場合が示されている。所定の時刻になったと判断した場合(ステップS10:YES)、ゲームサーバ20のCPU21は、各ユーザのユーザデータの仲間のユーザIDを読み出す(ステップS20)。次いでCPU21は、各ユーザのユーザIDと、各ユーザの仲間のユーザIDとを対応付けて隣接リストを生成し、RAM23に記憶されている隣接リストのデータを更新する(ステップS30)。これにより、任意のタイミングで構築あるいは破棄されうるユーザ間の仲間関係は、毎日所定の時刻に、探索処理に使用される隣接リストに反映されることになる。このような更新処理は、後述する探索処理の実行中に、当該探索処理の基礎となる隣接リストが変更されない点で好都合である。
なお、隣接リストの更新は、定期的に行われる場合に限られず、逐次行われてもよい。例えば、CPU21は、ユーザ間の仲間関係が新たに形成される度に(例えば、一方のユーザからの仲間の申請に対して他方のユーザからの承諾が受け付けられたタイミングで)、隣接リストを更新してもよい。
【0071】
(7−2)探索処理(
図19)
ゲームサーバ20のCPU21は、トップページP0上でメニューm1(「ユーザ探索」)の選択操作結果を含むHTTPリクエストを取得すると、探索データベースにアクセスしてユーザが選択可能な(つまり、終了時刻に達していない)1又は複数の探索のミッションのデータを読み出して当該データを含むHTMLデータを生成してユーザの通信端末10へ送信する。これにより、ウェブページP1がユーザの通信端末10に表示される。ウェブページP1(
図10参照)において、探索ユーザとなるユーザが、いずれかの探索のミッションを選択することにより、
図19の探索処理が開始される。ゲームサーバ20のCPU21は、ミッションの選択結果(つまり、メニューm11,12,…のいずれかの選択操作結果)を含むHTTPリクエストを取得すると(ステップS100:YES)、選択されたミッションに対応する探索IDについての探索の処理(ステップS110以降の処理)を実行する。CPU21は、ミッションの選択結果を含むHTTPリクエストを取得しない場合には(ステップS100:NO)、終了する。
【0072】
ステップS110:YESの場合、CPU21は、基準ユーザと目標ユーザの各々のユーザIDをRAM23に記憶させる(ステップS110)。具体的には、CPU21は、探索ユーザのユーザデータにアクセスして、対象となる探索IDが書き込まれていると判断した場合、当該探索IDに対応付けられた基準ユーザのユーザIDを読み出して、現在の基準ユーザとしてRAM23に記憶させる。一方、当該探索IDについての探索が初めてであるときには、自身の(つまり、探索ユーザの)ユーザIDを現在の基準ユーザとしてRAM23に記憶させる。CPU21は、探索データベースから読み出した、対象となる探索IDの目標ユーザのユーザIDをRAM23に記憶させる。
【0073】
次いでCPU21は、RAM23に記憶されている隣接リストに基づいて、基準ユーザから目標ユーザまで、ユーザ間の仲間関係を辿ったときの最短経路のリンク数を算出する(ステップS120)。リンク数は、隣接リストによって表されるソーシャルグラフにおいて、基準ノードから目標ノードまでの隣接ノード間のリンクの重みを1とする(つまり、隣接ノード間のリンク数を1とする)場合の最短経路を求めることによって得ることができる。CPU21は、ダイクストラ法(Dijkstra's Algorithm)やワーシャル-フロイド法(Warshall-Floyd Algorithm)などの公知のアルゴリズムに従って最短経路を求める。
【0074】
ステップS120で算出したリンク数が0でないと判断した場合には(ステップS130:NO)、CPU21は、隣接リストを参照して、現在の基準ユーザのユーザIDに対応する1又は複数のユーザのユーザIDを読み出す(ステップS140)。次いでCPU21は、ステップS140で読み出した仲間からなる仲間リストと、ステップS120で算出したリンク数に関する情報とを含むHTMLデータを生成して、探索ユーザの通信端末10へ送信する(ステップS150)。
図11のウェブページP2に示す例では、ステップS120で算出したリンク数に関する情報が表示領域101に表示され、ステップS140で読み出した仲間からなる仲間リストが表示領域104に表示される。
CPU21は、基準ユーザの変更先のユーザについての選択結果(入力情報)を含むHTTPリクエストを取得した場合(ステップS160:YES)、探索ユーザに対応付けられるRAM23内の基準ユーザを更新して(ステップS170)、ステップS120に戻る。CPU21は、基準ユーザの変更先のユーザについての選択結果(入力情報)を含むHTTPリクエストを取得しない場合(ステップS160:NO)、待機する。
【0075】
ステップS120〜S170の処理は、基準ユーザと目標ユーザが一致するまで繰り返し行われる。基準ユーザと目標ユーザが一致した場合、つまり、ステップS120で算出したリンク数が0であると判断した場合には(ステップS130:YES)、探索データベースを参照して、対象となる探索IDに対応付けられている特典ポイントを、探索ユーザ(処理対象のユーザ)に付与することを決定する(ステップS180)。探索ユーザが探索に成功したことを示すテキストと、探索ユーザに付与される特典ポイントの量についてのデータは、上記HTTPリクエストに応答するHTMLデータに含まれる。CPU21は、探索ユーザのユーザデータにアクセスして、探索ユーザに付与すべき特典ポイントを加算して書き込む処理を行う。
【0076】
以上詳述したように、本実施形態において実現される探索ゲームでは、探索を行う探索ユーザは、基準ユーザを順次変更し、ユーザ間の関係付けを示すリンクに基づくネットワークを辿ることによって目標ユーザを探索し、探索に成功した場合に特典が探索ユーザに付与される探索ゲームを実行するように構成されている。基準ユーザと目標ユーザとの間の最短経路の距離を示す指標としてリンク数が探索ユーザに提示されるため、探索ユーザは目標ユーザとの距離を認識しながら探索を進めることができる。そして、この探索ゲームでは、目標ユーザが探索ユーザと関係付けられていない場合、探索ユーザは、目標ユーザを探索する過程で、あるいは目標ユーザを効率的に探し当てるために、自らと関係付けられていない他のユーザ(基準ユーザ)との間で、例えば目標ユーザに関する情報を質問する等の様々なコミュニケーションをとる機会が得られることになる。よって、本実施形態のゲーム制御装置によれば、新たなユーザ間の関係を構築することを促進できる。
なお、前述したように、付与手段56は本発明に必須の構成要素ではないが、付与手段56を設けることで、探索ユーザが目標ユーザを探し当てる動機付けを高めることができる。
【0077】
(8)変形例
上述した実施形態では、変更手段53は、探索ユーザを起点として、探索の基準となるユーザである基準ユーザをネットワークのリンクに基づき順次変更する場合について説明したが、探索ユーザを起点とする場合に限られない。出発ノードに対応するユーザは、仲間関係によって形成されるネットワーク上の任意のユーザであってよく、探索ユーザと異なっていてもよい。
さらに以下において、上述した実施形態のいくつかの変形例について説明する。
【0078】
(8−1)変形例1
上述した実施形態のゲームでは、探索ユーザは、自らを起点としてユーザ間の仲間関係を辿ることで目標ユーザを探し当てる仕組みとしたが、ユーザ間の関係は仲間関係に限られず、様々な関係態様によって決定してもよい。例えば、ユーザ間で挨拶メッセージを送信する機能が設けられている場合(例えば、
図12のメニューm21等)、挨拶メッセージの送受信が行われたユーザ間を、挨拶履歴のある関係とし、その関係を辿ることによって目標ユーザを探し当てる仕組みとしてもよい。その場合、ユーザ毎に、挨拶履歴のあるユーザ間を関係付けて、例えばユーザデータに記憶しておき、隣接リストは、挨拶履歴のあるユーザのユーザIDを対応付けたものとする。本変形例の場合、例えば
図12(a)のウェブページP3に示したウェブページは、例えば
図20のP3aに示したように表示される。
図20に示すように、本変形例では、基準ユーザの変更は、現在の基準ユーザと挨拶履歴のある他のユーザの中から選択して行われるように構成される。
本変形例は、上述した実施形態において、仲間の関係を、挨拶履歴のある関係に置き換えたものであり、上述した実施形態と同様にして実現することができる。つまり、本変形例では、関係付け手段51は、挨拶履歴のあるユーザ間を関係付ける機能を備える。
【0079】
(8−2)変形例2
上述した実施形態において、変更手段53は、仲間のネットワーク内の基準ユーザを変更するに当たって、当該基準ユーザの仲間(つまり、基準ユーザに関係付けられた複数のユーザ)の中から一部のユーザを、変更後の基準ユーザの候補として探索ユーザに提示する機能を備えてもよい。つまり、
図11〜14のウェブページP2〜P5に示した仲間リストでは、現在の基準ユーザのすべての仲間のユーザを選択可能に提示される場合を例示したが、このような場合に限られない。仲間リストでは、現在の基準ユーザの一部の仲間のユーザが表示される場合でもよい。
一部の仲間のユーザのみを仲間リストとして提示するのは、例えば、探索ゲームの難易度を調整する目的で行われてもよい。つまり、ネットワーク内の各ユーザの仲間が多数存在する場合には、探索ユーザにとって、基準ユーザを順次変更しながら目標ユーザを探索することが困難となりうる。そこで、探索ゲームの難易度を低下させる目的で、基準ユーザを変更するに当たってその基準ユーザの仲間のユーザの中から変更後の基準ユーザの候補を制限するようにしてもよい。
本変形例は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する場合、隣接リストを参照して、現在の基準ユーザのユーザIDに対応するユーザのユーザIDのうち一部(例えば、所定数のユーザID)を読み出し、読み出したユーザIDに対応するユーザの情報を一覧形式で表示するためのHTMLデータを生成する。このとき、読み出し対象となる一部のユーザIDの中には、ソーシャルグラフ上で基準ノードから目標ノードまでの最短経路に含まれるノードに対応するユーザのユーザIDが含まれるようにすることが好ましい。当該ユーザIDが含まれていない場合には、探索ユーザが目標ユーザに辿り着けないか、遠回りせざるを得ないため、探索ゲームの難易度が却って増加する虞があるためである。
【0080】
(8−3)変形例3
上述した実施形態において、設定手段52は、探索開始時の基準ユーザと目標ユーザとの間のリンク数が所定の範囲内となるように、目標ユーザを設定する機能を備えてもよい。
探索の初期において基準ユーザと目標ユーザとの間のリンク数が大きい(つまり、ネットワーク上でユーザ間の距離が離れている)場合には、探索ユーザにとって、基準ユーザを順次変更しながら目標ユーザを探索することが困難となりうる。ネットワーク内の各ユーザの仲間(各ユーザに関係付けられたユーザ)が多数存在する場合には尚更である。そこで、探索開始時の基準ユーザと目標ユーザとの間のリンク数が所定の範囲内となるように、目標ユーザとなるユーザを設定するようにしてもよい。
本変形例を実現するためには、ゲームサーバ20のCPU21は、トップページP0上でメニューm1(「ユーザ探索」)の選択操作結果を含むHTTPリクエストを取得すると、探索データベースにアクセスしてユーザが選択可能な(つまり、終了時刻に達していない)1又は複数の探索のミッションのうち、処理対象のユーザ(つまり、探索開始時の基準ユーザ)からみてリンク数が所定の範囲内にある目標ユーザが設定されているミッションのデータを読み出し、当該データを含むHTMLデータを生成してユーザの通信端末10へ送信する。これにより、探索ユーザとなるユーザによって選択されるミッションは、目標ユーザまでのリンク数が所定の範囲内にあるミッションに限定される。
なお、探索データベースに記述されるミッションごとの(各探索ID)のデータは、目標ユーザを予め固定的に設定されていなくてもよい。例えば探索開始時の基準ユーザを探索ユーザとする場合、各ミッションの目標ユーザは、探索ユーザとなるユーザによっていずれかの探索のミッションが選択された時点で、当該ユーザからのリンク数が所定の範囲内にあるユーザのいずれかを目標ユーザとして決定するようにしてもよい。
【0081】
(8−4)変形例4
上述した実施形態において、付与手段56は、探索開始時の基準ユーザと目標ユーザとの間のリンク数が大きいほど、探索が成功したときに探索ユーザに付与される特典を大きくする機能を備えてもよい。
探索開始時の基準ユーザと目標ユーザとの間のリンク数が大きい(つまり、ネットワーク上でユーザ間の距離が離れている)ほど、探索ユーザが目標ユーザを探し当てるまでに基準ユーザの変更回数が多くなると考えられる。そこで、探索ユーザに付与する特典を、探索開始時の基準ユーザと目標ユーザとの間の距離に応じて設定することで、探索の難易度に応じた特典を探索ユーザに付与することができる。
本変形例では、探索データベースにおいて、探索IDごとに特典ポイントを予め設定しなくてもよい。ゲームサーバ20のCPU21は、処理対象のユーザがいずれかの探索IDのミッションを選択して探索を開始した時点(つまり、初期の時点)の基準ユーザ(例えば上記実施形態では、探索ユーザ)と目標ユーザとの間のリンク数を記憶しておく。CPU21は、目標ユーザとの間のリンク数が0であると判断した場合に、探索ユーザに特典ポイントを付与することを決定する。このとき、CPU21は、付与される特典ポイントの量を、探索開始時の基準ユーザと目標ユーザとの間のリンク数が大きいほど大きくする。なお、特典ポイントの量は、リンク数と特典ポイントの量の関係を記述したテーブルを参照して決定してもよいし、リンク数に対して所定の演算式を当てはめることによって特典ポイントを算出してもよい。
【0082】
(8−5)変形例5
上述した実施形態において、変更手段53は、仲間のネットワーク内の少なくとも1つのリンクに基づく基準ユーザの変更を制限する機能を備えてもよい。
この構成では、例えばネットワーク内のリンクを遮断して特定のユーザ間の関係付けのリンクを辿ることが禁止されるため、探索ユーザに応じた探索の難易度の設定等、探索ゲームの設定を柔軟に変更することができる。なお、基準ユーザの変更の「制限」は、ユーザ間のリンクを辿ることを完全に遮断する場合に限られず、所定の時間の間のみ遮断する場合であってもよく、特定の探索ユーザに対してのみ遮断されることであってもよい
本変形例は、以下のようにして実現することができる。ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する場合、隣接リストを参照して、現在の基準ユーザのユーザIDに対応するユーザのユーザIDのうち一部を読み出し、読み出したユーザIDに対応するユーザの情報を一覧形式で表示するためのHTMLデータを生成する。このとき、読み出し対象となる一部のユーザIDの中には、ソーシャルグラフ上で基準ノードから目標ノードまでの最短経路に含まれるノードに対応するユーザのユーザIDが含まれないようにしてもよい。これにより、探索ユーザは、目標ユーザに辿り着けないか、遠回りせざるを得なくなるため、探索ゲームの難易度を上昇させることができる。
また、リンクの制限は、そのリンクに関連する2ユーザ(つまり、仲間のユーザ同士)のいずれか一方の入力操作に応じて行われてもよいし、そのリンクに関連する2ユーザの双方の合意に基づいて行われてもよい。後者の場合には、リンクに関連する2ユーザのうち一方のユーザからの、リンクを制限することの要求メッセージに対して、他方のユーザが承諾メッセージを送信することで、リンクを制限するようにしてもよい。
なお、リンクの制限は、現在の基準ユーザからその仲間のユーザへの基準ユーザの変更を、当該仲間のユーザの属性等に応じて制限することによって行われてもよい。例えば、ネットワーク内の複数のユーザが2グループに分かれており、基準ユーザの変更が同一グループのユーザ間でのみ可能とするゲーム設定を想定する。この場合、基準ユーザの変更として、現在の基準ユーザ(例えば、探索ユーザと同じグループAに属しているものとする。)から、当該基準ユーザの仲間のユーザのうちグループAに属しているユーザへの変更のみが許可される。
【0083】
例えば、基準ユーザの変更の制限は、目標ユーザと、目標ユーザの仲間(目標ユーザと関係付けられている複数のユーザ)との間の少なくともいずれかのリンクに基づく基準ユーザの変更を制限することにより行われてもよい。これにより、目標ユーザと他のユーザの関係付けを示すリンクを辿るような基準ユーザの変更が制限されるため、効果的にゲームの設定を柔軟に変更することができる。例えば、探索ユーザからみた場合、目標ユーザに至るリンクが遮断されてしまうと、そのリンク以外のリンクを辿って目標ユーザを探し当てる必要が生ずるため、大きく迂回せざるを得ない状況になる。また、目標ユーザの仲間のユーザが目標ユーザとのリンクを遮断して目標ユーザを匿う(つまり、目標ユーザが探し当てられることを防ぐ)ことを可能とするゲーム設定とすることもできる。
目標ユーザの仲間との間の少なくともいずれかのリンクに基づく基準ユーザの変更を制限するには、ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザの候補を探索ユーザに提示する際に、当該基準ユーザが目標ユーザの仲間である場合には(つまり、リンク数が1である場合には)、隣接リストを参照して、現在の基準ユーザのユーザIDに対応するユーザのユーザIDのうち一部を読み出すときに、読み出し対象となるユーザIDの中に目標ユーザのユーザIDが含まれないようにする。なお、目標ユーザに至るすべてのリンクを遮断してしまうと、探索ユーザが目標ユーザを探し当てることができなくなってしまうため、目標ユーザに至るすべてのリンクを遮断することを禁止することが好ましい。
【0084】
本変形例では、変更手段53は、基準ユーザの変更を制限する(つまり、リンクを辿ることを制限する)時間を所定時間に設定するようにしてもよい。例えばネットワーク内のリンクを遮断して探索ユーザが特定のユーザ間の仲間関係のリンクを辿ることを禁止することは、探索ゲームの設定を柔軟に変更する上で有効であるが、リンクの遮断を長時間継続することは探索ユーザにとって酷な場合(つまり、ゲームの難易度が高くなり過ぎる場合)もある。そこで、ユーザ間のリンクが遮断される時間を所定時間に制限するようにしてもよい。その場合、ゲームサーバ20のCPU21は先ず、特定のユーザ間のリンク(例えば、目標ユーザとその仲間とのリンク)、又は、ランダムに若しくは所定の規則に従ったリンクを、遮断対象のリンクとして決定する。CPU21は、探索ユーザが基準ユーザを変更したときに、変更後の基準ユーザとその仲間の間のリンクが遮断対象のリンクである場合には、基準ユーザを変更した時点を起点として一定時間、当該リンクによる基準ユーザの変更を禁止する。
なお、リンクを辿ることを制限する所定時間は、当該リンクに関連する2ユーザ(つまり、仲間のユーザ同士)についての、後述する親密度(仲間のユーザ間の関係性の高さを一定の基準で数値化したもの)に応じて変更してもよい。例えばユーザ間の親密度が所定値よりも高い場合には、上記所定時間を長くしてもよい。例えば、ゲームのシナリオにもよるが、目標ユーザと、目標ユーザの仲間との間の親密度が高い場合には、上記所定時間を長くすることで、仲間が目標ユーザを匿う(つまり、目標ユーザが探し当てられるのを妨げる)時間が長くなるように設定することができる。
【0085】
(8−6)変形例6
上述した実施形態では、探索における目標ユーザが特定のユーザに設定される場合について説明したが、目標ユーザとなるユーザは必ずしも特定のユーザに限られない。例えば、ゲーム上のアイテムがユーザ間で授受可能であって、アイテムを保有するユーザが探索対象となる場合には、アイテムの授受に伴って目標ユーザとなるユーザが変更されることがあってもよい。
つまり、上述した実施形態において、設定手段52は、基準ユーザと目標ユーザが一致するまでの間、目標ユーザとなるユーザを他のユーザに変更してもよい。
この構成では、探索ユーザが目標ユーザを探索する過程で、目標ユーザとするユーザが別のユーザに変更される。そのため、探索ユーザが目標ユーザを単に探し当てるのではなく目標ユーザを追い掛ける構成となり、探索ゲームとして興趣性を高めることができる。
本変形例では、探索データベースにおいて、探索IDごとに設定されている目標ユーザは、目標ユーザとなる初期のユーザに過ぎない。探索が開始されると、目標ユーザとなるユーザは、初期のユーザから例えば一定時間毎に、仲間関係を辿るか、あるいは仲間関係を辿らずにアイテムの授受に応じて更新される。ゲームサーバ20のCPU21は、目標ユーザとなるユーザの変更時刻から一定時間が経過すると、探索データベースにアクセスして、処理対象となる探索IDに対応する目標ユーザとして、現在の目標ユーザから他のユーザに書き換える。
【0086】
(8−7)変形例7
上述した実施形態では、仲間のユーザ間のリンク数を「1」とした場合について説明したが、仲間のユーザ間のリンク数は、そのユーザ間の関係の程度に応じて重み付けを設定してもよい。例えば、仲間のユーザ間のリンク数は、1より大きくてもよいし、1より小さくてもよい。
本変形例のゲーム制御装置は、ユーザ間の関係の程度に応じた親密度を、関係付け手段51によって関係付けられたユーザ間に設定する親密度設定手段57、を備え、取得手段54は、仲間のネットワーク上で隣接するユーザ間のリンク数が当該ユーザ間の親密度に応じて調整されるようにして、基準ユーザと目標ユーザとの間のリンク数を取得してもよい。本変形例の機能ブロック図を
図21に示す。
図21に示す機能ブロック図は、
図17に示したものに対して、親密度設定手段57が追加された点で異なる。
この構成では、ネットワーク上で隣接するユーザ間の関係の程度に応じて基準ユーザと目標ユーザとの間のリンク数が決定される。つまり、ネットワーク上のリンクの重み付けが一定ではなく、ユーザ間の関係の程度に応じてユーザ間の重み付けが設定される。これにより、例えば、基準ユーザと目標ユーザとの間でネットワーク上の最短経路が複数存在する場合に、取得されるリンク数を経路毎に異なる値とすることができるため、探索ゲームとして興趣性をさらに高めることができる。
【0087】
本変形例は、以下のようにして実現することができる。
親密度とは、仲間のユーザ間の関係性の高さを一定の基準で数値化したものである。親密度のデータ(親密度データ)の一例を
図22に示す。
図22に示す親密度データの例では、各ユーザの仲間のユーザ(ユーザID)と対応付けて、ユーザ間の応援メッセージの送信あるいは受信の頻度(応援頻度)、ゲーム上で使用可能なアイテムなどのプレゼントを送信あるいは受信した回数(プレゼント回数)などが記録され、これらの頻度や回数に基づいて一定の基準で親密度の値が設定される。応援頻度やプレゼント回数が多いほど親密度が高く設定される。また、一定の基準では、親密度の設定の基礎となる項目(
図22では、応援頻度やプレゼント回数など)ごとに、重み付けを考慮したものであってもよい。例えば、応援頻度が少なくてもプレゼント回数が多い場合に親密度を高く設定してもよい。このような親密度データは、例えば、ユーザデータベース31内に記録される。
【0088】
ゲームサーバ20のCPU21は、基準ユーザの変更先のユーザについての選択結果を含むHTTPリクエストを取得した場合、上記アルゴリズムを実行することによって、新たな基準ユーザに対応する基準ノードから、既知の目標ユーザに対応する目標ノードまでの最短経路を求め、基準ノードと目標ノードの間のリンク数を算出する。このとき、CPU21は、親密度データを参照して、求めた最短経路の個々のリンク間の重み付けを取得し、取得した個々のリンク間の重み付けに基づいて、求めた最短経路のリンク数を算出する。例えば、親密度が高いほどリンク数が大きくなるように設定しておく。
【0089】
図11に示した例において、
・ユーザKNM(出発ノード)〜ユーザBJCの間のリンク数=1
・ユーザBJC〜ユーザGTRの間のリンク数=1.3
・ユーザGTR〜ユーザSAMの間のリンク数=0.9
・ユーザSAM〜ユーザXYZ(目標ノード)の間のリンク数=1.3
とした場合には、CPU21は、ユーザKNM(出発ノード)〜ユーザXYZ(目標ノード)の間のリンク数を、4.5と算出する。
探索ユーザ(この場合、ユーザKNM)が基準ユーザを変更しながら目標ユーザを探索する過程において、探索経路上のユーザ間のリンク数の変化に意外性をもたらすことになって、ゲームの興趣性を高めることができる。
【0090】
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に限定されない。また、上記実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。例えば、上記実施形態及び各変形例に記載された特徴は適宜組み合せて適用してもよい。
【0091】
上述した実施形態では、本発明の「ユーザの入力」の一例として、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力の場合を採り上げたが、ユーザの入力はこれらの入力方法に限られない。ユーザの入力は、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力(ジェスチャ入力)であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。
【0092】
上述した実施形態では、本発明の「リンク数に基づく情報」として、リンク数を示す数値を示す棒状の情報が探索ユーザに提示される場合について例示したが、これに限られない。「リンク数に基づく情報」は、リンク数に応じたテキスト情報(例えば、「まだ遠い」、「もう少し」等のテキスト)であってもよいし、リンク数に応じた強さ若しくは周波数の音声情報であってもよい。
上述した実施形態では、本発明の「特典」の一例として特典ポイントを採り上げたが、本発明の特典は任意の形式で設定することができる。例えば、本発明の特典の他の例として、ゲーム上の進行を有利にするゲーム上の設定、調整、あるいはゲーム上の進行を有利にするアイテムの付与であってもよく、ゲームの進行とは直接関係のないアイテムが付与されることであってもよい。
【0093】
上述した実施形態では、ソーシャルゲームに適用される場合を例として説明したが、これに限られない。例えば、ネットワーク上に置かれたサーバ装置と家庭用オンラインゲーム機とを接続した、いわゆるオンラインゲームシステムにおいても、上述した実施形態と同様に、ユーザ間のアイテム情報の移転を実現できることは言うまでもない。
【0094】
上述した実施形態では、ネットワーク上のゲームサーバ20及びデータベースサーバ30によって、
図17に示した各手段の機能を実現する構成としたが、この構成に限られない。これらのすべての手段を通信端末10によって実現する構成としてもよいし、少なくとも一部の手段を通信端末10によって実現する構成としてもよい。通信端末10とゲームサーバ20とでは実質的に同一のハードウエア構成を採るため、上記実施形態に記載したようにして通信端末10によっても各機能を実現できる。
図23(a),(b)には、本実施形態のゲーム制御装置の各機能(
図17に示す各機能)について、通信端末10と、ゲームサーバ20及びデータベースサーバ30との間の分担例を示す。