説明

サーバシステム

【課題】従来の「すれ違い通信」とは異なる新たな手法でマッチングの機会を創出すること。マッチングの機会のバラツキを低減すること。
【解決手段】サーバシステム1100は、データ交換を要請するユーザ端末から受信した位置情報に基づいて、接続エリアを判定する。そして、判定した接続エリアにおける同ゲームをプレイしている推定プレーヤ密度の粗/密に応じて、大/小に設定される位置ズレ許容量PGT及び時間ズレ許容量TGTを決定する。そして、現在時刻から時間ズレ許容量TGT分拡張されたマッチング許容時間範囲7にて、データ交換を要請するユーザ端末から位置ズレ許容量PGT内に位置した他ユーザ端末の中から、マッチング相手端末を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のユーザ端末が無線機能を用いて通信接続可能なサーバシステムに関するものである。
【背景技術】
【0002】
近年のゲーム装置、特に携帯性を向上させた携帯型ゲーム装置は、無線通信機能を備え、通信回線を介して、或いは無線が届く範囲ならば直接にゲームサーバや他のゲーム装置とデータ通信を行うことができるものがある。勿論、スマートフォン等の携帯電話機も、こういった携帯型ゲーム装置として機能し、同様の特徴を有している。
【0003】
そうした通信機能を利用したゲームに関する技術としては、例えば、GPSを利用して自機の絶対位置を検出できるゲーム装置がサーバにアクセスし、検出した絶対位置を送信すると、当該サーバが、ゲーム装置同士の距離と所定の1点から見た配置とを算出して相対的な位置関係を判断し、判断結果に基づいて各ゲーム装置に指示を送信して、ゲーム装置の相対的な位置関係が反映されるゲームを実現する技術が知られている(例えば、特許文献1を参照)。
【0004】
また、近距離無線によるアドホック通信を利用して、ゲーム機同士がその時々にアドホック接続した装置間で、ゲーム内で利用できる情報を自動的に交換する所謂「すれちがい通信」を利用するゲームも知られる所である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−27853号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
同じゲームタイトルをプレイするプレーヤ間で、ゲーム内で利用できる情報を「すれちがい通信」により交換できることは、ゲームプレイに現実世界における偶然性に基づく多様性をもたらすばかりでなく、プレーヤ間のコミュニケーションを促進し、当該ゲームをプレイする楽しみを一層盛り上げる要因となる。
【0007】
ところが、人口密度に粗密(時間的な粗密の変化を含む)があるように、同じゲームをプレイするプレーヤの密度にも粗密が生じる。例えば、人口の多い都市部のプレーヤならば、「すれちがい通信」が実現する機会も多いであろうが、人口の少ない町村部のプレーヤでは、そもそも同じゲームをプレイするプレーヤの密度が低く「すれちがい通信」が実現する機会が少ない。そのため、人口密度の粗密によって、公平にゲームを楽しんでもらえない場合がある。
【0008】
「すれちがい通信」はマッチングの一種と言える。上述の例では、マッチングに成功した場合には、データ交換がなされることとなる。しかし、マッチングに成功した場合にデータ交換以外の他の処理を実行することとしてもよい。
【0009】
本発明はこうした事情を鑑みてなされたものであり、その目的とするところは、第1には、従来の「すれちがい通信」とは異なる新たな手法でマッチングの機会を創出することである。また、第2には、プレーヤの居るエリアにおけるプレーヤ人口の分布特性の影響により生じるマッチングの機会のバラツキを低減することである。
【課題を解決するための手段】
【0010】
以上の課題を解決するための第1の形態は、無線機能を有する複数のユーザ端末(例えば、図1の携帯型ゲーム装置1400、スマートフォン1300)が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置及び当該位置での所在時刻を取得する所在情報取得手段(例えば、図8のサーバ処理部202、ゲームサーバ演算部220、所在情報取得制御部221、図15のステップS100)と、
一のユーザ端末の前記端末位置及び前記所在時刻を用いて、当該端末位置を含むマッチング許可位置範囲と当該所在時刻を含むマッチング許可時間範囲とを定めたマッチング条件を設定するマッチング条件設定手段(例えば、図8のサーバ処理部202、マッチング管理部224、マッチング条件設定部224a、図16のステップS192)と、
前記ユーザ端末それぞれの前記端末位置及び前記所在時刻を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出する検出手段(例えば、図8のサーバ処理部202、マッチング管理部224、図16のステップS194〜S230)と、
前記検出手段による検出がなされた場合に、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段(例えば、図8のサーバ処理部202、マッチング時処理部226、図17のマッチング時処理)と、
を備えたサーバシステムである。
【0011】
第1の形態によれば、マッチングを希望するユーザ端末の端末位置及び所在時刻を取得し、それらを用いて、当該端末位置を含むマッチング許可位置範囲と当該所在時刻を含むマッチング許可時間範囲とを定め、そこからマッチング相手を選択することができる。つまり、マッチング相手を選択する条件は、マッチングを希望するユーザ端末の端末位置と所在時刻に応じて変更できる。よって、プレーヤの居るエリアにおけるプレーヤ人口の分布特性の影響により生じるマッチングの機会のバラツキを低減することも可能となる。
【0012】
マッチング許可位置範囲の設定に関しては、第2の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、第1の形態のサーバシステムを構成すると、ユーザ端末の端末位置の情報との比較処理が容易となるので好適である。
【0013】
同様の理由から、マッチング許可時間範囲の設定に関しては、第3の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、第1又は第2の形態のサーバシステムを構成すると好適である。
【0014】
また更に、マッチング許可位置範囲の設定に関しては、第4の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記所在時刻が予め定められた何れの時間帯に属するかに応じて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、第1の形態のサーバシステムを構成すると更に好適である。
【0015】
この場合、例えば日常生活の時間帯を区切りにして位置ズレ許容量を決定すれば、日常生活におけるプレーヤ密度の変化に応じて、マッチングの機会のバラツキを低減することができる。勿論、時間帯には、平日・休日・祝日、年末年始、祭日、長期休暇、季節、月別などを適宜含めることができる。
【0016】
同様の理由から、第5の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記所在時刻が予め定められた何れの時間帯に属するかに応じて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、第1、第2又は第4の形態のサーバシステムを構成すると、好適である。
【0017】
また更に、マッチング許可位置範囲の設定に関しては、第6の形態として、前記マッチング条件設定手段が、前記一のユーザ端末について定められた所与のパラメータ値に基づいて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、第1の形態のサーバシステムを構成すると、より好適である。
【0018】
この場合、ユーザ端末、又は当該ユーザ端末を使用しているにプレーヤの状態に応じてマッチング条件を調整することができる。「所与のパラメータ値」としては、プレイ履歴が反映された値(例えば、プレーヤ自身に付与されるプレーヤレベル(例えば、段位や、階級、ランキングなど)、プレーヤが操作するキャラクタのゲーム内におけるレベルや職業、種族、性別、クリア済のステージ数、攻略済の敵キャラクタ数、総プレイ時間、などゲーム内容に応じて適宜設定可)とするならば、プレーヤのゲームの習熟度や、対戦系のゲームであればプレーヤの強さに応じて調整することができる。調整の仕方は、ゲームの習熟度や強さが低い場合にはマッチング条件が緩くなるように、反対にゲームの習熟度や強さが高い場合にはマッチング条件が厳しくなるように調整すると好適である。
【0019】
同様の理由から、第7の形態として、前記マッチング条件設定手段が、前記一のユーザ端末について定められた所与のパラメータ値に基づいて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、第1、第2、第4又は第6の形態のサーバシステムを構成すると、より好適である。
【0020】
第8の形態は、前記一のユーザ端末とのマッチング成功確率を設定するマッチング成功確率設定手段(例えば、図8のマッチング管理部224、マッチング条件設定部224a、サーバ記憶部502、図9のマッチングパラメータ設定データ532、成功確率535、図16のステップS186)と、
前記マッチング成功確率を用いて前記一のユーザ端末とのマッチングの成否を抽選する成否抽選手段(例えば、図8のサーバ処理部202、マッチング管理部224、成否抽選部224b、図16のステップS188)と、
前記成否抽選手段の抽選結果が失敗(いわゆるハズレ)の場合に、前記マッチング時処理手段による前記マッチング時処理の実行を抑止するマッチング抑止手段(例えば、図8のマッチング管理部224、図16のステップS190)と、
を更に備えた第1〜第7の何れかの形態のサーバシステムである。
【0021】
第8の形態によれば、第1〜第7の形態の何れかと同様の効果が得られるとともに、抽選を利用することにより、プレーヤが居るエリアのプレーヤ人口の分布特性の影響により生じるマッチングの機会のバラツキを比較的簡単に低減することができる。
【0022】
マッチング成功確率の設定に関しては、第9の形態として、前記マッチング成功確率設定手段は、前記一のユーザ端末の前記端末位置が予め定められた何れの地域(エリア)に属するかに応じて前記マッチング成功確率を可変に設定する、第8の形態のサーバシステムを構成すると、より好適である。
地域を単位にすると、推定されるプレーヤの人口分布特性により適切にマッチング成功確率を設定できる。例えば、地域を、行政区分、土地用途区分、交通量調査単位など、人口が明確又は比較的明確に推定できる区切りとするならば、その効果は特に高くなる。
【0023】
更にマッチング成功確率の設定に関しては、第10の形態として、前記マッチング成功確率設定手段が、前記一のユーザ端末と前記マッチング相手端末との最接近時距離、及び/又は、最接近時時間差に基づいて前記マッチング成功確率を可変に設定する、第8又は第9の形態のサーバシステムを構成することができる。
この場合、一のユーザ端末と位置的に及び/又は時間的にどれだけ離れているかに応じて成功確率を調整できる。
【0024】
第11の形態は、前記マッチング条件設定手段が、前記一のユーザ端末の特定の前記端末位置及び前記所在時刻を用いて前記マッチング条件を設定する、第1〜第10の何れかの形態のサーバシステムである。
【0025】
第11の形態によれば、第1〜第10の何れかの形態と同様の効果が得られるとともに、ユーザ端末が居た特定の場所及び特定のタイミングに適合するマッチング相手端末を選択できるようになる。
【0026】
第12の形態は、前記ユーザ端末それぞれの移動経路を当該ユーザ端末の前記端末位置を用いて算出する移動経路算出手段(例えば、図8のサーバ処理部202、マッチング管理部224、図18のステップS193、S197)を更に備え、
マッチング条件設定手段は、前記一のユーザ端末の前記移動経路及び前記所在時刻を用いて前記マッチング条件を設定し、
前記検出手段は、前記ユーザ端末それぞれの前記移動経路及び前記所在時刻を用いて前記マッチング条件を満たす前記マッチング相手端末を検出することで、前記一のユーザ端末に対して、時間的には前記マッチング許可時間範囲内の時間差で、地理的には前記マッチング許可位置範囲内の距離差まで接近したユーザ端末である前記マッチング相手端末を検出する、第1〜第10の何れかの形態のサーバシステムである。
【0027】
第12の形態によれば、第1〜第10の形態の何れかと同様の効果が得られるとともに、マッチング条件に移動経路の要素を加えることができる。
【0028】
マッチング条件に移動経路の要素を加える観点からすると、第13の形態として、無線機能を有する複数のユーザ端末が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置を取得する所在情報取得手段と、
前記ユーザ端末それぞれの移動経路を当該ユーザ端末の前記端末位置を用いて算出する移動経路算出手段と、
一のユーザ端末の前記移動経路を用いて、当該移動経路を含むマッチング許可位置範囲を定めたマッチング条件を設定するマッチング条件設定手段と、
前記ユーザ端末それぞれの前記移動経路を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出する検出手段と、
前記検出手段による検出がなされた場合に、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段と、を備えたサーバシステムを構成することができる。
【0029】
第13の形態によれば、マッチングを希望するユーザ端末の端末位置を取得し、その時間的履歴からユーザ端末の移動経路を求めることができる。そして、データ交換を希望する一のユーザ端末の移動経路を元にマッチング許可位置範囲を定めてマッチング条件を決定し、当該マッチング相手を選択することができる。
移動経路をどれだけ過去まで遡って求めるか、また移動経路を元にどのようにマッチング許可位置範囲を定めるかによって、マッチング条件を厳しくもまた緩くもできることになる。そこに、プレーヤ人口の分布特性の影響を加味することでマッチングの機会のバラツキを低減することも可能となる
【0030】
第14の形態は、前記マッチング時処理は、前記一のユーザ端末について定められた所与の交換データと、前記マッチング相手端末について予め定められた所与の交換データとの交換処理であり、
前記一のユーザ端末から交換相手の希望条件を受信する希望条件受信手段(例えば、図8のサーバ処理部202、仮想設置データ管理部222、通信制御部272、通信部372)を更に備え、
前記マッチング条件設定手段は、前記マッチング相手方について定められた交換データの条件である前記希望条件を前記マッチング条件に含めて設定する、第1〜第13の何れかの形態のサーバシステムである。
【0031】
第14の形態によれば、第1〜第13の何れかの形態と同様の効果が得られるとともに、プレーヤが希望する相手とデータ交換したり、希望するデータが得られるようにできる。
【図面の簡単な説明】
【0032】
【図1】ゲームシステムの構成例を示す図。
【図2】ユーザ端末である携帯型ゲーム装置の構成例を説明するための外観図。
【図3】ゲームの概要を説明するための図。
【図4】マッチング条件の調整ファクタとして位置を用い、マッチング相手の選択方法の原理を説明するための概念図。
【図5】マッチング条件の調整ファクタとして時間を用い、マッチング相手の選択方法の原理を説明するための概念図。
【図6】提供情報を仮想空間に設定する考え方に基づくマッチング候補の選択方法の原理を説明するための概念図。
【図7】ユーザ端末である携帯型ゲーム装置の機能構成例を示す機能ブロック図。
【図8】サーバシステムの機能構成例を示す機能ブロック図。
【図9】マッチングパラメータ設定データのデータ構成の一例を示す図。
【図10】端末登録データのデータ構成の一例を示す図。
【図11】ユーザ端末における携帯型ゲーム装置での処理の流れを説明するためのフローチャート。
【図12】データ交換準備処理の流れを説明するためのフローチャート。
【図13】データ交換要請処理の流れを説明するためのフローチャート。
【図14】サーバ接続処理の流れを説明するためのフローチャート。
【図15】仮想設置データ管理処理の流れを説明するためのフローチャート。
【図16】マッチング処理の流れを説明するためのフローチャート。
【図17】マッチング時処理の流れを説明するためのフローチャート。
【図18】マッチング処理の第1変形例を説明するためのフローチャート。
【図19】マッチング処理の第2変形例を説明するためのフローチャート。
【図20】マッチング処理の第3変形例を説明するためのフローチャート。
【発明を実施するための形態】
【0033】
〔第1実施形態〕
本発明を適用した第1実施形態として、同じタイトルのRPG(ロールプレイングゲーム)が実行されているユーザ端末でのデータ交換をサポートするサーバシステムを例に挙げて説明する。
尚、本明細書にて交換されるデータは、ゲームプレイに際して有意な情報である。例えば、アイテムの識別情報、扉を開けるパスワード、ヒント、飼育している仮想動物、交配させたい仮想動物、売りたい仮想商品などの情報である。テキストデータであってもよいし、画像データであってもよいし、音データであってもよい。また、ゲームの種類はRPGに限らず、プレーヤ間でデータ交換できる仕様が盛り込まれているビデオゲームであればなんであれ同様に適用できる。
【0034】
[ゲームシステムの構成]
図1は、本実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステムは、携帯電話基地局4や無線基地局6を介して通信回線1に接続するスマートフォン1300や携帯型ゲーム装置1400といった複数のユーザ端末と、ユーザ端末が通信回線1を介してアクセスするサーバシステム1100と、を含んで構成される。
【0035】
通信回線1は、データ通信が可能な通信路を意味する。すなわち、通信回線1とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0036】
通信回線1に接続できるサーバシステム1100は、複数のブレードサーバ1102を備えた筐体1104と、ブレードサーバ1102の管理操作に用いるキーボード1106及びディスプレイモニタ1108と、各ブレードサーバ1102からアクセスできるハードディスク等のストレージ1140とを備える。また、筐体1104には、各ブレードサーバ1102等に電力を供給する図示されない電源モジュールや、通信回線1に接続するための通信装置等を適宜搭載するものとする。尚、ブレードサーバ1102は、ラックマウント型サーバで構成しても良い。
【0037】
サーバシステム1100は、例えばCGI(Common gateway interface)プログラム実装言語をシステムサポートし、ユーザ登録手続きや、登録ユーザの認証(所謂ログイン処理)、ユーザ端末で実行されるビデオゲームをサポートする各種機能を実現できる。これにより、ブレードサーバ1102の幾つかは、ユーザ端末から受信したデータ交換用のデータを管理する仮想設置データ管理サーバ1110、マッチングサーバ1112、マッチングされたプレーヤ間でデータ交換を実現させるデータ交換サーバ1114、としてそれぞれ機能する。
【0038】
尚、サーバシステム1100は、専用のサーバ装置に限らず、例えば据え置き型の家庭用ゲーム装置がサーバ装置としての機能を実現する構成であっても良い。
【0039】
スマートフォン1300や、携帯型ゲーム装置1400は、いずれもゲームプログラムを実行させることのできるコンピュータであり、本実施形態におけるユーザ端末となる。ユーザ端末は、ゲームプログラムを実行することにより、その一部機能として、サーバシステム1100にアクセスして、所定の手続きに従ってデータ送受信を実現し、様々なサポートを享受することができる。また、本実施形態のユーザ端末は、何れも位置情報を取得するための測位装置を搭載している。
尚、以下ではユーザ端末の例として、携帯型ゲーム装置1400を用いて説明するが、ゲームプログラムが実行可能なスマートフォン1300などその他の電子機器に適宜読み替えることができる。また、ビデオゲームをブラウザゲームとして実現する構成の場合には、ウェブブラウザプログラムや、スクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインなどをアプリケーションとして実行できる電子機器であればユーザ端末とすることができる。
【0040】
図2は、ユーザ端末の一種とされる携帯型ゲーム装置1400の構成例を示す図である。本実施形態における携帯型ゲーム装置1400は、方向入力キー1402及びボタンスイッチ1404と、第1液晶ディスプレイ1406と、第2液晶ディスプレイ1408と、スピーカ1410と、GPS(Global Positioning System)アンテナ1428と、制御ユニット1450とを、ヒンジ1414で開閉自在な折り畳み型の装置本体1401に備えている。そして、第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408の表示面上には、スタイラスペン1416などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル1407、1409がそれぞれ装着されている。
【0041】
また、装置本体1401には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード1440からデータを読み書きできるメモリカード読取装置1418が備えられている。メモリカード1440には、制御ユニット1450がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体1401には、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【0042】
制御ユニット1450は、ゲーム装置の制御基板に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM,ROM等の各種ICメモリを搭載する。
【0043】
そして、制御ユニット1450には、無線基地局6と無線接続するための無線通信モジュール1412や、第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408のドライバ回路、タッチパネル1407及びタッチパネル1409のドライバ回路、方向入力キー1402及びボタンスイッチ1404からの信号を受信する回路、スピーカ1410へ音声信号を出力するためのアンプ回路、メモリカード読取装置1418への信号入出力回路といった所謂I/F回路(インターフェース回路)、GPSモジュール1424が搭載されている。これら制御ユニット1450に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0044】
GPSモジュール1424は、GPSアンテナ1428とともに測位装置を構成する。そして、GPSモジュール1424は、GPSアンテナ1428で受信したGPS衛星からの信号から、所定時間毎(例えば、1秒毎)に、位置情報(例えば、緯度・経度)及びその他の情報(絶対時間)を、制御ユニット1450で演算処理可能なデータとして出力する。
尚、測位に利用するシステムは、GPSに限らない。その他の衛星測位システムでも良いし、衛星を用いない測位システムを用いることもできる。後者の例としては、例えば、無線通信モジュール1412が無線接続している無線基地局6に対応して予め設定されている位置情報を当該無線基地局6から取得する構成としても良い。また、スマートフォン1300をユーザ端末とした場合には、接続している携帯電話基地局4に対応して予め設定されている位置情報を当該携帯電話基地局4から取得するとしても良い。
【0045】
そして制御ユニット1450は、メモリカード読取装置1418によってメモリカード1440に格納されているプログラムやデータを読み出して、搭載するICメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー1402やボタンスイッチ1404、タッチパネル1407及び1409からの操作入力に応じて携帯型ゲーム装置1400の各部を制御して、RPG(ロールプレイングゲーム)を実行する。
【0046】
尚、本実施形態では、携帯型ゲーム装置1400は必要なプログラムや各種設定データをメモリカード1440から読み出す構成としているが、制御ユニット1450に搭載されている主要なプログラムやデータをICメモリに予め記憶している構成とすることができる。或いは、無線通信モジュール1412を介して、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)などの有線/無線の通信回線1に接続して外部装置からダウンロードして取得する構成としても良い。
【0047】
[ゲームの概要の説明]
図3は、本実施形態におけるゲームの概要を説明するための図である。携帯型ゲーム装置1400で実行されるRPGは、ゲーム画面例W2に示すように、プレーヤ2(2a)がプレーヤキャラクタ10(10a,10b,10c)を操作して、マップ中に出現する敵キャラクタ12と交戦しながらゲームを進める。プレーヤキャラクタ10は、それぞれ武器アイテム14を装備することができる。
【0048】
武器アイテム14は、ゲーム世界のショップで購入したり、特定の敵を倒すことで入手したり、ダンジョンを攻略することで入手できる。その他の入手方法を設定しても良い。
プレーヤ2(2a)は、武器アイテム14をプレーヤキャラクタ10の数以上に所有することが可能であり、敵キャラクタ12の種類に応じて適宜ゲーム中に武器アイテム14の持ち替えをさせることができる。そして、本実施形態のRPGでは、この武器アイテム14を他プレーヤとの間で交換できる仕様になっている。
【0049】
武器アイテム14を他プレーヤとの間で交換するためには、敵キャラクタ12がドロップするデータ交換許可アイテムである仮想ボックス16を入手する必要がある。ゲーム内容によって、仮想ボックス16のような設定がゲーム世界観や演出上の観点から不自然となる場合には、データ交換許可アイテムの設定を省略することができる。
【0050】
仮想ボックス16は、交換用のアイテムを収容するアイテムである。プレーヤが所定のデータ交換準備操作をすると、所有する武器アイテム14の一覧が表示され、他プレーヤに提供するアイテムが選択可能になる。そして、一覧から何れかの武器アイテム14を選択すると、選択された武器アイテム14は、仮想ボックス16内に入れられたと見なされる。武器アイテム14が選択されれば準備完了、データ交換が実施可能となる。処理は、選択された武器アイテム14(14a)を使用可能にする識別情報が、交換相手に提供される「提供情報」として設定される。
【0051】
データ交換の準備ができたところで、所定のデータ交換要請操作を入力すると、提供情報がサーバシステム1100に送られる。そして、サーバシステム1100によって自分の仮想ボックス16(16a)に入れた武器アイテム14(14a)と、他プレーヤが同様に仮想ボックス16(16b)に入れた武器アイテム14(14b)とが交換される。この際、文字通りデータを「交換」しても良いが、互いの提供する情報を相手に供与する構成であっても良い。
【0052】
さて、データ交換を実現するためには、少なくとも2名のプレーヤをマッチングさせる必要がある。マッチングにあたっては、公知のオンライン対戦ゲーム等におけるマッチングと同様に、オンラインしているプレーヤ内からデータ交換の相手を選択することによっても実現できる。しかし、それでは同じゲームを楽しむプレーヤ同士の存在感が希薄である。そこで、ある範囲内に存在する他プレーヤからマッチング相手を選択することで、間接的にでも同じゲームをプレイする仲間の存在を感じられるようにする。
【0053】
近距離無線によりアドホック接続するゲーム装置をプレーヤが持ち歩き、偶然通りかかった他プレーヤのゲーム装置との間でデータ交換を実現する所謂「すれちがい通信」が公知である。しかし、人口密度に粗密があるのにほぼ比例して、同じゲームをプレイするプレーヤの密度にも粗密が生じる。人口の多い都市部のプレーヤならば、「すれちがい通信」が実現する機会も多いであろうが、人口の少ない町村部のプレーヤでは、そもそも同じゲームをプレイするプレーヤの密度が低く、「すれちがい通信」が実現する機会が少ない。結果、ゲーム製作者が望むように公平にゲームを楽しんでもらえないケースが生まれてしまう。
そこで、本実施形態では、マッチングさせようとする一方のプレーヤの所在位置から推定されるプレーヤ密度に応じて、マッチング相手を選択するための条件、すなわちマッチング条件を調整して、そうした懸念に対処する。
【0054】
具体的には、携帯型ゲーム装置1400からサーバシステム1100に送信される現在の位置座標を元に、人口密度が明らか、或いは人口密度が概ね推測できる複数のエリア(例えば、市町村や地区など)の中からプレーヤの居るエリアを判定する。「人口密度が概ね推測できる」とは、日常生活の体感的な感覚から得られる人が多い少ないといったおおざっぱな推測や、サーバシステム1100がオンラインしているユーザ端末の位置情報を統計処理することにより得られるプレーヤ密度も含まれる意味である。
そして、人口密度がプレーヤ密度に概ね比例するとの考えに基づいて、判定したエリアの人口密度が小さいほど推定プレーヤ密度が低いと判断し、マッチング条件を相対的に緩和してマッチングし易く設定する。反対に、判定したエリアの人口密度が大きいほど推定プレーヤ密度が高いと判断して、マッチング条件を祖対的に厳格にしてマッチングし難く設定する。そして、設定したマッチング条件を満たすマッチング相手を選択する。
【0055】
図4は、マッチング条件の調整ファクタとして位置情報を用いるマッチング候補の選択方法の原理を説明するための概念図である。
これからマッチングしようとする一方のプレーヤ2(2a)が、データ交換要請操作を入力すると、彼の携帯型ゲーム装置1400(1400a)は、最寄りの無線基地局6と無線通信を実現し、ゲームサーバ1100にアクセスする。このとき携帯型ゲーム装置1400(1400a)は、GPS衛星18より測位信号を受信して位置情報を取得し、自機の識別情報と、取得した位置情報と、用意された提供情報とを、ゲームサーバ1100へ送信する。他プレーヤ2b,2cについても同様である。
【0056】
ゲームサーバ1100は、携帯型ゲーム装置1400(1400a)から受信した位置情報がプレーヤ2(2a)の現在位置、つまりは端末位置を示すと見なし、受信した位置情報に基づいて人口密度が明らかとなっている複数の現実のエリアの中から、プレーヤ2(2a)の居るエリアを判定する。そして、判定したエリアの推定プレーヤ密度(人口密度に概ね比例)の粗密に応じて、位置ズレ許容量PGTを決定する。位置ズレ許容量PGTは、判定したエリアの人口密度が高いほど小さい値、人口密度が低いほど大きい値を設定する。
【0057】
位置ズレ許容量PGTを設定したならば、プレーヤ2(2a)の現在位置と、他プレーヤ2b,2cそれぞれの現在位置との位置ズレを求める。そして、求めた位置ズレが、位置ズレ許容量PGT以下であれば、当該他プレーヤ(図4の例では他プレーヤ2bが該当)をマッチング候補と見なす。つまり、プレーヤ2(2a)の現在位置を基準点として、半径が位置ズレ許容量PGTの球形範囲が、マッチング許可位置範囲3であり、マッチング条件となる。位置ズレ許容量PGTは、マッチング許可位置範囲3が、携帯型ゲーム装置1400単独の無線通信範囲5よりも大きくなるように設定される。
【0058】
よって、人口の少ない町村部に住むプレーヤであっても、位置ズレ許容量PGTが都市部でプレイするときよりも大きく設定されることにより、携帯型ゲーム装置1400の無線通信範囲5を大きく超えた広い範囲内からマッチング相手を探すことが可能となる。データ交換の機会が、都市部に住むプレーヤのそれに近づくことになる。
【0059】
さて、位置ズレ許容量PGTを設定することで、マッチング候補と見なす他プレーヤの選択範囲は推定プレーヤ密度の低いエリアほど広くなる。しかし、必ずしもプレーヤ2(2a)と同時刻に他プレーヤ2b,2cがサーバシステム1100にアクセスしているとは限らない。そこで、本実施形態では更に、マッチング条件に時間要素を含め、時間的な幅を設けてマッチング候補を選択する。
【0060】
図5は、マッチング条件の調整ファクタとして更に時間情報を加えたマッチング候補の選択方法の原理を説明するための概念図である。データ交換を希望しているとあるプレーヤ2(2c)は、第1の時刻(図5では5:00)に無線基地局6に接続してサーバシステム1100にアクセスできる状態にあったとする。また、データ交換を希望している別のプレーヤ2(2b)は、第2の時刻(図5では6:00)に同様の状態にあったとする。そして、現在時刻(図5では7:00)の時点で、データ交換を希望しているプレーヤ2(2a)が同様の状態にあるとする。現在時刻では、位置ズレ許可範囲PGTを用いたマッチング許可位置範囲3を設定しただけでは、プレーヤ2(2b)とプレーヤ2(2c)の何れもマッチング相手として選ぶことができない。
【0061】
そこで、サーバシステム1100は、プレーヤ2(2a)の現在位置に基づいて、時間ズレ許容量TGTを設定する。
時間ズレ許容量TGTは、現在時刻(最新の所在時刻)からどれだけ過去まで遡ることを許容するかを示す値である。ゲームサーバ1100は、携帯型ゲーム装置1400(1400a)から受信した位置情報がプレーヤ2(2a)の現在位置(最新の所在位置)を示すと見なし、受信した位置情報に基づいて人口密度が明らかとなっている複数の現実のエリアの中から、プレーヤ2(2a)の居るエリアを判定する。そして、判定したエリアの推定プレーヤ密度(人口密度に概ね比例)の粗密に応じて、時間ズレ許容量TGTを決定する。時間ズレ許容量TGTは、判定したエリアの人口密度が高いほど小さい値、人口密度が低いほど大きい値を設定する。
【0062】
時間ズレ許容量TGTを設定したならば、現在時刻から時間ズレ許容量TGTだけ過去の時点までをマッチング許可時間範囲7とし、これをマッチング条件の要素として追加する。そして、マッチング許可時間範囲7の時間範囲において、プレーヤ2(2a)の所在位置を中心としたマッチング許可位置範囲3に居る(それが過去の時点ならば正しくは「居た」)プレーヤ2(2b)をマッチング相手として選択することとする。
よって、プレーヤ2(2a)が、同じゲームをプレイしているプレーヤが少ないと推定されるエリアに居て、同時刻にプレーヤが同じようにサーバシステム1100にアクセスしている可能性が低くとも、データ交換の機会、すなわちマッチングの機会が更に得易くなる。尚、マッチング許可時間範囲7は、現在時刻から時間ズレ許容量TGTだけ過去と未来に設定しても良いし、現在時刻から未来に向けて設定しても良い。
【0063】
さて、マッチング許可時間範囲7の時間範囲において、マッチング許可位置範囲3に居る或いは居たプレーヤを抽出する方法としては、サーバシステム1100が各プレーヤ2の位置履歴を逐次記憶し、その位置履歴の中に、マッチング許可時間範囲7の時間範囲においてマッチング許可位置範囲3が含まれるかを判定するとしても良い。
【0064】
しかし、多数のプレーヤの膨大な位置履歴についてマッチング許可位置範囲3が含まれるかを判定するための処理負荷を考慮して、本実施形態では処理負荷軽減の工夫を加えている。具体的には、データ交換を希望するプレーヤ2(2a,2b,2c)が、データ交換用にそれぞれが用意した提供情報を、サーバシステム1100に初回送信した時点の位置に仮想世界(現実世界で測位した位置情報を用いて座標を特定できる仮想空間)に設置されるものと見なす。つまり、マッチング許可位置範囲3が含まれるかを判定する対象を位置履歴全体ではなく、仮想世界に設置されたその時の時点に限定することで処理負荷の軽減を図る。
【0065】
図6は、提供情報を仮想空間に設定する考え方に基づくマッチング候補の選択方法の原理を説明するための概念図である。
サーバシステム1100は、各携帯型ゲーム装置1400(1400a、1400b、1400c)から、識別情報と、位置情報と、提供情報とを受信すると、それら受信した情報を含む仮想設置データを生成する。これにより、各携帯型ゲーム装置1400(1400a、1400b、1400c)で準備された提供情報に相当する仮想ボックス16(16a、16b、16c)を仮想世界22に設置したものとみなす。
【0066】
そして、プレーヤ2(2a)のマッチング相手を選択しようとする場合、マッチング許可時間範囲7の時間範囲において設定された仮想ボックス16を1次抽出し、1次抽出した仮想ボックス16の中から、プレーヤ2(2a)の仮想ボックス16(16a)の設置位置を基点とするマッチング許可位置範囲3に設定されている仮想ボックスを2次抽出する。そして、2次抽出された中から所定数(1対1のデータ交換なら1つ、1対多や、複数で巡回的にデータ交換するなら複数)を選択し、選択された仮想ボックス16を仮想設置した他プレーヤ(厳密には、当該他プレーヤのユーザ端末)をマッチング相手(厳密にはマッチング相手機)とする。
【0067】
[機能ブロックの説明]
次に、上述のようなデータ交換を実行するための機能構成例について説明する。
図7は、本実施形態におけるユーザ端末である携帯型ゲーム装置1400の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態のユーザ端末は、操作入力部100と、処理部200と、音出力部350と、画像表示部360と、通信部370と、測位信号受信部380と、記憶部500とを備える。
【0068】
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。図2の方向入力キー1402やボタンスイッチ1404、タッチパネル1407,1409がこれに該当する。
【0069】
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む携帯型ゲーム装置1400の各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置1400の動作を制御する。図2では制御ユニット1450が処理部200に該当する。
そして、処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270と、測位制御部280とを備える。
【0070】
ゲーム演算部210は、ビデオゲームを実行するための各種処理を実行する。例えば、(1)仮想3次元空間内に各種オブジェクトを配置してゲーム空間を形成し、そこにプレーヤキャラクタ10や敵キャラクタ12のキャラクタオブジェクトを配置する処理、(2)プレーヤキャラクタ10を操作入力部100からの操作入力に応じて動作させる処理、(3)敵キャラクタ12を自動的に移動及び動作させるいわゆるAI制御をする処理、(4)プレーヤキャラクタ10と敵キャラクタ12の攻撃や接触の判定処理、(5)攻撃によるダメージの反映処理、(6)プレーヤキャラクタ10及び敵キャラクタ12の様子を撮影する仮想カメラの位置や姿勢など撮影パラメータを自動制御する処理、(6)プレーヤキャラクタ10へ装備させる武装アイテム14の選択処理、(7)アイテムの獲得や消費の処理、(8)ゲーム結果の算出処理、などを実行する。その他、テクスチャの展開、ヒット判定、フラグ設定などビデオゲームの実行に必要な各種処理を実行する。
【0071】
そして、本実施形態のゲーム演算部210は、データ交換制御部212と、日時やタイマーなどの計時処理、カウンタの計数処理を実行する計時カウント部214とを含む。
【0072】
データ交換制御部212は、データ交換の準備と、実行に関する各種処理を実行する。具体的には、(1)所定のデータ交換準備操作を検知した場合に、データ交換用の情報を選択するために武器アイテム14の一覧から何れかを選択させる処理を実行する。また、(2)データ交換用の情報を含む提供情報の生成処理、(3)所定のデータ交換要請操作を検知した場合に位置情報を取得し、サーバシステム1100にアクセスして、取得した位置情報とともに未送信の提供情報を送信する処理、(4)サーバシステム1100からデータ交換で受領したデータ(相手が用意した提供情報)を、ゲーム内で使用可能にする処理、などを実行する。
【0073】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0074】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図2ではスピーカ1410がこれに該当する。
【0075】
画像生成部260は、例えば、GPU(Graphics Processing Unit)、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現される。画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部360に出力する。
【0076】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。
本実施形態では、図2の第1液晶ディスプレイ1406及び第2液晶ディスプレイ1408が該当する。
【0077】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置(例えば、図1の携帯電話基地局4や無線基地局6)とのデータのやりとりを実現する。
【0078】
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図2の無線通信モジュール1412がこれに該当する。
【0079】
測位制御部280は、測位信号受信部380(例えば、図2のGPSアンテナ1428)で受信した、測位システムが提供する信号から位置情報を求める。図2のGPSモジュール1424がこれに該当する。測位制御部280及び測位信号受信部380のハードウェア及び位置情報の算出方法は、利用する測位システムの仕様に準拠するものとする。
【0080】
記憶部500は、処理部200に携帯型ゲーム装置1400をコンピュータとして統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図2では制御ユニット1450が搭載するICメモリやメモリカード1440がこれに該当する。
【0081】
本実施形態では、記憶部500はシステムプログラム504と、ゲームプログラム506とを記憶している。システムプログラム504は、携帯型ゲーム装置1400のコンピュータとしての入出力の基本機能を実現するためのプログラムである。ゲームプログラム506は、処理部200が読み出して実行することによってゲーム演算部210としての機能を実現させるためのアプリケーションソフトであるが、システムプログラム504の一部として組み込まれた構成であっても良い。
尚、特定のウェブサイトからゲーム画面表示やゲーム進行に必要なデータを受信してゲーム画面の表示やゲームを進行させ、操作入力部100に為された操作入力に応じた要求をウェブサイトに返信し、更なるゲーム画面やゲーム進行に必要な情報の提供を受けるいわゆる「ウェブゲーム」「ブラウザゲーム」として実現することもできる。その場合には、ゲームプログラム506を専用のアプリケーションソフトとして構成するのではなく、ウェブブラウザプログラムや、スクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインなどで構成するとしても良い。
【0082】
また、記憶部500には、予め用意されるデータとして、キャラクタ毎に用意されるキャラクタ設定データ510と、ゲーム空間設定データ512と、アイテム設定データ514とが記憶されている。また、ゲームの準備や進行に伴って随時生成や更新が行われるデータとして、プレイデータ520が記憶される。その他、ゲームの進行に係る処理を実行するにあたり必要となるデータ(例えば、タイマー値やカウンタ)なども適宜記憶されるものとする。
【0083】
キャラクタ設定データ510は、ゲームに登場するプレーヤキャラクタ10(10a,10b,10c)や敵キャラクタ12などキャラクタ毎に用意され、対応するキャラクタを表示させ動作制御するための各種データ、出現条件及び出現座標などを格納している。
【0084】
ゲーム空間設定データ512は、ゲームの舞台となるゲーム空間を3次元仮想空間内に形成し表示させるための各種データを格納する。例えば、遠景とする画像、背景物となる各種オブジェクトのモデルデータやテクスチャデータ、地面の凹凸を定義するモデルデータやテクスチャデータなどを含む。また、仮想カメラの初期配置位置に関する情報を含むとしても良い。これらは、公知のビデオゲームにおける同種のデータと同様に実現される。
【0085】
アイテム設定データ514は、ゲーム内に登場する各種アイテムを表示させ、ゲーム中で使用するための各種情報を格納する。例えば、アイテムの識別情報と対応づけて、モデルデータ、テクスチャデータ、使用時に発動するエフェクトデータ、攻撃力や防御力といったダメージ算出に使用されるパラメータ値、出現条件などが設定される。武器アイテム14、仮想ボックス16に関するデータも当該データに含まれる。
【0086】
プレイデータ520は、ゲームの進行状況を示す各種データを格納する。例えば、プレーヤキャラクタ10及び敵キャラクタ12のゲーム世界での位置情報と動作制御に関する情報、ヒットポイントなどを含む。また、プレーヤが獲得したポイント、プレーヤキャラクタ10の成長レベルやスキルの情報、仮想カメラの位置や姿勢などの撮影パラメータなども格納する。
【0087】
また、プレイデータ520は、プレーヤが所持しているアイテムを登録する所持アイテムリスト522を含む。所持アイテムリスト522には、仮想ボックス16の所持数を示すデータ交換許可アイテム数524と、データ交換用に設定された情報(本実施形態では、少なくとも武器アイテム14の識別情報)を含む提供情報526と、を含む。提供情報526は更に、当該提供情報がサーバシステム1100に送信されると「1」に設定される送信フラグ528を含む。
【0088】
図8は、本実施形態におけるサーバシステム1100の機能構成例を示す機能ブロック図である。本実施形態におけるサーバシステム1100は、操作入力部102と、サーバ処理部202と、画像表示部362と、通信部372と、サーバ記憶部502とを備える。
【0089】
操作入力部102は、サーバの管理のための各種操作を入力するための手段であり、携帯型ゲーム装置1400の操作入力部100と同様に実現される。図1のキーボード1106がこれに該当する。
【0090】
サーバ処理部202は、例えばCPUやGPU等のマイクロプロセッサや、ASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部102やサーバ記憶部502を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部102からの操作入力信号、通信回線1を介してアクセスしてきた外部装置から受信した信号等に基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。そして、本実施形態では、ゲームサーバ演算部220と、画像生成部262と、通信制御部272とを含む。
【0091】
ゲームサーバ演算部220は、本実施形態のRPGを実行するユーザ端末へ各種サービス機能を提供するためのサーバとしての機能を担う。具体的には、所在情報取得制御部221と、仮想設置データ管理部222と、マッチング管理部224と、マッチング時処理部226と、日時やタイマーなどの計時処理、カウンタの計数処理を実行する計時カウント部228とを含む。
【0092】
所在情報取得制御部221は、アクセスしているユーザ端末の所在情報を取得するための処理を実行する。本実施形態では、携帯型ゲーム装置1400などのユーザ端末がアクセスする際に送信してきた位置情報を「端末位置」とし、位置情報を受信した時点でサーバシステム1100で保持している現在日時を「所在時刻」とする。つまり、端末位置及び所在時刻が本実施形態におけるユーザ端末の所在情報となる。尚、所在情報の取得方法はこれに限らず、例えば携帯電話基地局4や無線基地局6の設置位置情報を取得する公知技術を用いて、得られた設置位置情報をもって端末位置としても良い。また、ユーザ端末がアクセスした時にGPSを利用して取得できる絶対時間をサーバシステム1100に送信する構成とした場合には、アクセス時に受信した絶対時間を所在時間としても良い。
本実施形態では、図1の仮想設置データ管理サーバ1110が所在情報取得制御部221としての機能を担うが、別途ブレードサーバ1102を割り当てても良い。
【0093】
仮想設置データ管理部222は、ユーザ端末から受信したデータ交換用のデータを管理する。具体的には、仮想設置データ管理部222は、ユーザ端末から受信した識別情報と、位置情報と、提供情報とに基づいて仮想設置データを生成し、サーバ記憶部502の端末登録データ540に格納する。そして、データ交換された仮想設置データや生成されてから期限が過ぎたデータを抹消するなどの管理に係わる処理を実行する。つまり、仮想ボックス16を仮想世界22に設置したり、撤去することに関する処理を実行する。図1の仮想設置データ管理サーバ1110がこれに該当する。
【0094】
マッチング管理部224は、マッチングに必要な各種情報を算出し、それらを用いてデータ交換する対象を組み合わせする。図1のマッチングサーバ1112がこれに該当する。そして、本実施形態のマッチング管理部224は、マッチング条件設定部224aと、成否抽選部224bとを含む。
【0095】
マッチング条件設定部224aは、データ交換を要請している一のユーザ端末の端末位置及び所在時刻を用いて、当該端末位置を含むマッチング許可位置範囲3と当該所在時刻を含むマッチング許可時間範囲7とをマッチング条件として定める。
【0096】
より具体的には、マッチングを要請しているプレーヤ2(2a)の携帯型ゲーム装置1400aから受信した位置情報に基づいてプレーヤ2(2a)の居るエリアを判定する。より具体的には、マッチングを要請している携帯型ゲーム装置1400aに対応づけられている仮想設置データの設置位置に基づいて接続エリアを判定する。そして、マッチングパラメータ設定データ532を参照して、判定したエリアにおける推定プレーヤ密度に応じて位置ズレ許容量PGTと、時間ズレ許容量TGTとを決定する。
【0097】
位置ズレ許容量PGTの決定により、マッチング許可位置範囲3が決まることとなる。
また時間ズレ許容量TGTが決まると、当該プレーヤ2(2a)或いは彼の携帯型ゲーム装置1400aの仮想設置データの設置日時を基準として、時間的に過去・未来の少なくとも一方又は両方(本実施形態では過去のみ)に時間ズレ許容量TGTの幅を有するマッチング許可時間範囲7が決まることとなる。
【0098】
更に、マッチング条件設定部224aは、位置ズレ許容量PGT及び時間ズレ許容量TGTを設定する際、所在時刻が予め定められた何れの時間帯に属するかに応じて位置ズレ許容量PGT及び時間ズレ許容量TGTを更に調整することができる。これにより、推定されるプレーヤ密度が時間帯に応じて増減する現象に対応させることができる。
そして、マッチング管理部224は、両範囲内であることを選択条件に含めてマッチング候補を選択し、マッチング候補内からマッチング相手端末を確定する。
【0099】
また、マッチング条件設定部224aは、マッチングそのものの発生確率に相当する成功確率(マッチング成功確率)を、判定したエリアにおける推定プレーヤ密度に応じて設定する。例えば、推定プレーヤ密度が高いほど成功確率を低くし、推定プレーヤ密度が低いほど成功確率を高く設定する。
【0100】
成否抽選部224bは、設定された成功確率で抽選処理を実行する。マッチング管理部224は、抽選処理で当選したらマッチングを実行し、ハズレならばマッチングを行わない。つまり、マッチング管理部224は、マッチング時に実行される処理の実行を抑止する機能を果たすことができる。
【0101】
マッチング時処理部226は、マッチングを希望する一のユーザ端末と、当該端末に応じて選択されたマッチング相手端末との間でマッチング時処理を実行する。本実施形態では、図1のデータ交換サーバ1114がこれに該当する。また、本実施形態では、マッチング時処理として、マッチングされたユーザ端末間でゲーム内で使用できるデータの交換を実現するための処理を実行するが、一方から他方へ一方的な情報供与をする処理を実行できる構成としても良い。
【0102】
画像生成部262は、サーバシステム1100の保守に関する画像を生成し、画像表示部362へ出力する。
画像表示部362は、画像生成部262から入力される画像信号に基づいてシステム管理のための各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1のディスプレイモニタ1108がこれに該当する。
【0103】
通信制御部272は、データ通信に係るデータ処理を実行し、通信部372を介して外部装置とのデータのやりとりを実現する。
【0104】
通信部372は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、回線終端装置、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【0105】
サーバ記憶部502は、サーバ処理部202にサーバシステム1100を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームサーバ装置として機能させるために必要なプログラム、各種データ等を記憶する。また、サーバ処理部202の作業領域として用いられ、サーバ処理部202が各種プログラムに従って実行した演算結果など一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。図1ではブレードサーバ1102が搭載するICメモリやストレージ1140などの情報記憶媒体がこれに該当する。
【0106】
そして、本実施形態のサーバ記憶部502は、サーバシステムプログラム503と、ゲームサーバプログラム505と、接続エリア判定基準データ530と、マッチングパラメータ設定データ532とを記憶する。また、ゲームサーバとしての機能実行にともない、生成・管理される情報として、端末登録データ540と、データ交換待ちリスト560と、データ交換中リスト562と、を記憶する。その他、サーバ装置として機能するのに必要な、タイマー、カウンタ、フラグなどの情報を格納することができる。
【0107】
サーバシステムプログラム503は、サーバ処理部202が読み出して実行することでサーバシステム1100に必要な基本的な入出力機能を実現する為のシステムプログラムである。ゲームサーバプログラム505は、本実施形態のRPGを実行するユーザ端末のアクセスに応答して、各種サービスを提供するゲームサーバ装置として機能させるためのプログラムである。サーバ処理部202が読み出して実行することでゲームサーバ演算部220としての機能を実現できる。
【0108】
接続エリア判定基準データ530は、想定されるプレーヤの居住範囲(例えば、日本国内向けに販売されるゲームであれば「日本」に相当)を人口密度が明らかとなっている複数のエリア、或いは概ね人口密度が推定できる複数のエリアに分割し、各エリアの範囲を定義する情報が格納されている。具体的には、エリアの外周を定義する複数の地点を、ユーザ端末で取得される位置情報(例えば、緯度・経度)と同じデータフォーマットで規定する。ユーザ端末で取得される位置情報が緯度、経度であれば、例えば、緯度の範囲及び経度の範囲として規定される。
【0109】
マッチングパラメータ設定データ532は、マッチング条件として設定できるパラメータ値を定義する。例えば、図9に示すように、適用時間帯533毎にデータセットを定義する。一のデータセットでは、接続エリア534と対応づけて、成功確率535と、位置ズレ許容量設定値536と、時間ズレ許容量設置値537とを格納する。勿論、その他のパラメータ値を利用する場合には、適宜含めることができる。
【0110】
適用時間帯533は、当該データセットが適用される時間条件を定義する。時間帯の設定は、早朝、日中、深夜など日常生活において、プレーヤ密度が変化する区分に応じて適宜設定することができる。また、設定できる時間は1日の時間帯に限らず、休日、平日、祝祭日、月別、季節別、特定の日時などを含めることもできる。
【0111】
接続エリア534は、日本の県単位の例を示しているがこれに限らない。行政単位としての市町村や都市部の区を用いても良い。これらの単位は、人口密度が明確或いは高い確度で推定できるので好適である。しかし、推定されるプレーヤ密度をゲーム提供者サイドが、大まかに想定する考えを採用すれば、現実の人口密度が明確でない、或いはそこそこの確度で推定できる範囲を単位とすることもできる。例えば、人通りの多い繁華街や通り、駅やバスステーションなどの交通の要所、学校や競技場、特定の店舗などの施設、これらを単位として用いることもできる。勿論、それらが混在しても良い。接続エリア判定基準データ530は、接続エリア534として設定可能なエリアを定義している。
【0112】
成功確率535、位置ズレ許容量設定値536及び時間ズレ許容量設定値537は、対応する接続エリアにて推定されるプレーヤ密度に応じて設定されている。
成功確率535は、マッチングそのものの実行される確率を設定するので、推定プレーヤ密度が高いほど低い確率、推定プレーヤ密度が低いほど高い確率が設定されている。
位置ズレ許容量設置値536及び時間ズレ許容量設定値537は、推定プレーヤ密度が高いほど小さい値、推定プレーヤ密度が低いほど大きい値が設定されている。尚、前者は、ユーザ端末で取得できる位置情報と比較できるように同じデータフォーマットであると好ましい。
【0113】
また、適用時間帯533別に着目すれば、推定されるプレーヤ密度が相対的に低くなる時間帯の成功確率535や、位置ズレ許容量設定値536、時間ズレ許容量537を相対的に大きく設定してマッチング条件が緩やかになるように設定されている。反対に、プレーヤ密度が相対的に高くなる時間帯の成功確率535や、位置ズレ許容量設定値536、時間ズレ許容量537を相対的に小さく設定されている。
【0114】
端末登録データ540は、ユーザ端末個別の状態を示す各種パラメータ値を格納する。例えば、図10に示すように、予めユーザ登録されたタイミングなどにユーザ端末毎に端末ステータスデータ542が用意される。一つの端末ステータスデータ542は、端末識別情報543と、オンラインフラグ544と、位置履歴データ545と、仮想設置データ546とを含む。
【0115】
端末識別情報543は、対応する端末を個体識別する情報である。通信回線1を介してデータ通信する際に使用する識別情報を含むとしても良い。
オンラインフラグ544は、当該ユーザ端末がサーバシステム1100にアクセスしていれば「1(オンライン)」を格納する。
位置履歴データ545は、当該ユーザ端末から受信した位置情報を格納する端末位置545aと、受信日時を格納する所在時刻545bとを対応づけて蓄積する。
【0116】
仮想設置データ546は、当該ユーザ端末とのデータ交換に必要な情報を格納する。例えば、データID546aと、当該データが生成されたときに受信した位置情報(つまりはその時の端末位置)を格納する設置位置546bと、生成された日時を格納する設置日時546cと、データ交換用として受信した提供情報546d(仮想ボックス16の中身)と、データ交換が実行されてマッチング相手端末から供与された情報を格納する受領情報546eとを含む。
受領情報546eは、初期状態は何も情報が入っていない「空」を示す値が格納されており、データ交換が実行されると具体的な情報が格納される。
【0117】
図8に戻り、データ交換機ちリスト560は、マッチングの結果として、データ交換するユーザ端末の組み合わせ情報を格納する。例えば、マッチング組毎のユーザ端末の識別情報を格納する。
【0118】
データ交換中リスト562は、既にマッチングされデータ交換の処理が行われているユーザ端末を登録する。例えば、データ交換中のユーザ端末の識別情報の組み合わせを格納する。
【0119】
[処理の流れの説明]
次に、本実施形態におけるデータ交換に係る各種処理の流れについて説明する。
[1・ゲーム実行に係る処理]
図11は、ユーザ端末である携帯型ゲーム装置1400での処理の流れを説明するためのフローチャートである。ここで説明する一連の処理の流れは、携帯型ゲーム装置1400の処理部200がゲームプログラム506を読み出して実行することによって、実現される。尚、ゲームの進行そのものに関する処理や、レンダリングされたゲーム空間の画像に各種情報表示を合成しゲーム画面を生成する処理、並びにゲーム音の生成に関する説明は省略するが、公知のRPGにおける制御と同様にして適宜行われるものとする。
【0120】
携帯型ゲーム装置1400の処理部200は、ゲームを開始したならば(ステップS2)、現在、自機がゲーム休止モードに設定されているかを判定する(ステップS4)。ゲーム休止モードは、ゲーム操作(プレーヤキャラクタ10の移動や行動の選択、アイテムの管理などの操作)の受付を一時休止している状態であって、携帯タイプのユーザ端末を持ち歩く時に適したモードである。
【0121】
もし、自機がゲーム休止モードになっていなければ(ステップS4のNO)、処理部200はゲーム演算処理を開始する(ステップS6)。すなわち、操作入力部100からの操作入力に応じてプレーヤキャラクタ10を動作させる。また、NPCである敵キャラクタ12の自動制御、データ交換許可アイテム(仮想ボックス16;図3参照)のドロップなどを行い、ゲームを進行させる。
【0122】
ゲームが進行した結果、データ交換許可アイテムを取得したならば(ステップS8のYES)、所持アイテムリスト522のデータ交換許可アイテム数524を加算する(ステップS10)。
【0123】
また、所定のデータ交換準備操作を検出した場合には(ステップS12のYES)、処理部200はデータ交換準備処理を実行する(ステップS14)。
【0124】
データ交換準備処理は、プレーヤがデータ交換用のデータを選択し、データ交換用のデータをまとめた提供情報526を生成する処理である。
例えば、図12に示すように、処理部200は先ず、データ交換許可条件を満たすかを判定する(ステップS20)。データ交換許可条件とは、データ交換を実行許可するための条件であり、本実施形態ではデータ交換許可アイテムである仮想ボックス16をプレーヤがゲーム内で入手・所持していることを条件としている。当該条件は、その他、プレーヤキャラクタ10がゲーム世界の所定位置に居る、特別な敵キャラクタを倒し、特定のNPCキャラクタに勝利した、特定のイベントをクリアしている、などゲーム内容に応じて適宜設定することができる。その都度、操作入力を要求する構成では、同ステップにおいて、所定の操作入力(例えば、決められた順に決められた種類のボタンスイッチ1404を時間内に入力するなど)を要求する処理と、その判定処理を含む構成とすれば良い。
【0125】
そして、データ交換許可条件を満たすと判定された場合には(ステップS20のYES)、処理部200はアイテム選択処理を実行する(ステップS22)。
アイテム選択処理は、本実施形態における交換用のデータの選択または入力を補佐する処理である。例えば、ゲーム画面に現在所持している武器アイテム14の一覧を表示し、操作入力部100への入力に応じてその何れかを選択する処理を実行する。交換用のデータとして「パスワード」などのテキスト情報を設定できる仕様とするならば、ソフトウェアキーボードをゲーム画面に表示させ、パスワードとするテキスト入力を補佐する処理を実行すれば良い。
【0126】
アイテム選択が行われたならば、そのアイテムの識別情報を含む提供情報526を生成し、記憶部500に記憶させる(ステップS24)。この時、送信フラグ528を「0(未送信)」に初期化しておく。そして、データ交換の対価支払い処理を実行し(ステップS26)、データ交換準備処理を終了する。
尚、対価支払いは、本実施形態ではデータ交換許可アイテムである仮想ボックス16の所有数を「1」減らすことである。ゲームの内容によっては、プレーヤキャラクタ10の所持金やヒットポイントを減らしたりすることで対価を支払うとしても良い。
【0127】
図11のフローチャートに戻って、もし所定のデータ交換要請操作を検出したならば(ステップS40のYES)、処理部200はデータ交換要請処理を実行し、データ交換の実行をサーバシステム1100に要請するとともに、交換の成果等を受領する(ステップS42)。
【0128】
データ交換要請処理では、例えば図13に示すように、処理部200は、送信フラグ528が「0(未送信)」の提供情報526が有るかを判定する(ステップS44)。そして、該当する提供情報526がある場合には(ステップS44のYES)、サーバ接続処理を実行する(ステップS46)。詳細は後述するが、サーバ接続処理を実行することにより、送信フラグ528が「0(未送信)」の提供情報526をサーバシステム1100へ送信して、データ交換の実行を要請することができる。このとき、既に提供情報526を送信したことがあり、それについてデータ交換が実現していれば、成果として情報(受領情報)を受信すること、などができる。
【0129】
次に、処理部200は、当該提供情報526の送信フラグ528を「1(送信済)」に変更し(ステップS48)、当該提供情報526に含まれる情報をゲーム内で使用できないように設定を変更し(ステップS50)、データ交換要請処理を終了する。
【0130】
本実施形態のデータ交換は、武器アイテム14の物々交換的位置づけとなる。ステップS50では、データ交換対象としてサーバシステム1100に一時的に預けた武器アイテム14は、データ交換が成功するか失敗するかの結果が出るまで、一時的に使えなくなる状態を作り出す。
【0131】
図11のフローチャートに戻って、ゲーム休止モード設定操作を検出した場合には(ステップS60のYES)、処理部200はゲーム休止モードに変更し、ゲーム操作の受付を一時休止させる(ステップS62)。反対に、ゲーム休止モード解除操作を検出したならば(ステップS64のYES)、ゲーム休止モードを解除する(ステップS66)。
【0132】
ゲーム休止モードが設定されていても、また解除されていたとしても、所定周期が到来すると(ステップS68のYES)、処理部200は自動的にサーバ接続処理を実行する(ステップS70)。そして、これまでのステップは、ゲーム終了条件を満たすと判定されるまで繰り返される(ステップS150)。
【0133】
[2・サーバ接続処理、仮想設置データ管理処理]
ではここで、サーバ接続処理について説明する。
図14は、本実施形態におけるサーバ接続処理の流れを説明するためのフローチャートである。同処理では、処理部200は先ず自機の位置情報を取得する(ステップS80)。本実施形態では、GPSを用いて位置情報を取得するが、携帯電話基地局4や無線基地局6から位置情報を取得できる場合には、これを利用するとしても良い。
【0134】
そして、通信回線1に接続できて(ステップS82のYES)、ゲームサーバ1100に接続できる状態で(ステップS84のYES)、「未送信」の提供情報526が無ければ(ステップS86のNO)、自機の識別情報と、先に取得した最新の位置情報とをサーバシステム1100に送信する(ステップS88)。一方、「未送信」の提供情報526が残っていれば(ステップS86のYES)、自機の識別情報と、先に取得した最新の位置情報と、残っていた提供情報526とをサーバシステム1100に送信する(ステップS90)。この際、自機で計時している日時を所在時刻の情報として併せて送信してもよい。
【0135】
データ交換要請処理においてサーバ接続処理を実行すると(図13のステップS46参照)、ステップS90によって、準備した提供情報568がサーバシステム1100に送信されることになる。勿論、準備はされているがデータ交換要請処理が行われなくとも、周期的にサーバ接続処理が実行されるタイミング(図11のステップS70参照)で自動的にサーバシステム1100に送信されることになる。
【0136】
ここで、サーバ接続処理によるデータ送信に対応するサーバシステム1100側での処理の流れについて説明する。
図15は、サーバシステム1100、より具体的には仮想設置データ管理サーバ1110により実行される仮想設置データ管理処理の流れを説明するためのフローチャートである。当該処理は、仮想設置データ管理サーバ1110において常時実行状態にある。
【0137】
サーバ処理部202は、ユーザ端末から端末の識別情報と位置情報とを受信すると、(ステップS100のYES)、送信元のユーザ端末のオンラインフラグ544を変更して「オンライン」として認識できるようにする(ステップS102)。そして、受信した最新の位置情報を、最新の端末位置545aとして当該送信元のユーザ端末の位置履歴データ545に、所在時刻545bとともに追加する(ステップS104;図10参照)。所在時刻545bは、サーバシステム1100内部で計時している日時情報から取得してもよいし、ユーザ端末から送信される情報の中から取得してもよい。
【0138】
もし、端末の識別情報や位置情報とともに提供情報を受信した場合には(ステップS106のYES)、送信元のユーザ端末の端末ステータスデータ542に、新たに仮想設置データ546を設定する(ステップS108;図10参照)。尚、新たに設定される仮想設置データ546の受領情報546eは、何も格納されていないことを意味する所定値(例えば、NULL)を格納し初期化しておく。
【0139】
次に、サーバ処理部202は、送信元のユーザ端末の端末ステータスデータ542を参照し、受領情報546eが「空」でない仮想設置データ546を検索する。
受領情報546eには、データ交換の成果として、マッチングされた他プレーヤから提供された情報(他プレーヤが設定した仮想ボックス16(16b)の中身;図3参照)が格納される。よって、受領情報546eが「空」でない仮想設置データがあるということは、他プレーヤとのデータ交換が成功したことを意味する。
【0140】
そして、受領情報546eが「空」でない仮想設置データ546が有る場合(ステップS110のYES)、サーバ処理部202は、当該仮想設置データに含まれる情報(設置位置情報、設定日時、提供情報、受領情報など)を、送信元のユーザ端末へ送信し(ステップS112)当該仮想設置データを削除する(ステップS114)。
【0141】
また、サーバ処理部202は、一定時間以上、識別情報が受信されていないユーザ端末のオンラインフラグ544を変更して「オフライン」として認識できるようにする(ステップS122)。
【0142】
ここで、ユーザ端末でのサーバ接続処理の流れに戻ると(図14参照)、サーバシステム1100からステップS112で送出された受領情報546eを受信した場合(ステップS140のYES)、携帯型ゲーム装置1400の処理部200は、データ交換が成功した旨の通知処理を実行する(ステップS142)。
例えば、ゲーム休止モードでなければ、ゲーム画面に、サーバシステム1100からステップS112で送出された設置位置546aの周囲の地図画面を表示するとともに、設置位置を地図内に表示し、受領情報546eとされる武器アイテム14のアイコンなどを表示すると好適である。
【0143】
次いで、受信した受領情報546eをゲーム内で使用可能に設定する(ステップS144)。本実施形態では、武器アイテム14を交換するので、受信した受領情報546eが示す武器アイテム14を、所持アイテムリスト522(図7参照)に追加する。受領情報546eが、パスワードやヒントなどのテキスト情報であれば、ゲーム中に所定の閲覧操作で閲覧できるようにプレイデータ520内に記憶すると良い。
【0144】
また、サーバシステム1100からステップS118で送出された「期限切れ通知」を受信した場合(ステップS146のYES)、処理部200は、データ交換ができなかったと見なし、同時に受信した提供情報546dが示す武器アイテム14(これは、プレーヤが以前選択した)のオリジナルを使用可能に戻して(ステップS148)、サーバ接続処理を終了する。尚、データ交換が、単に情報の相互供与のサービスとしての位置づけであるならば、ステップS146〜S148は省略することができる。
【0145】
[3・マッチング処理]
次に、サーバシステム1100、より具体的にはマッチングサーバ1112により実行されるマッチング処理について説明する。当該処理は、マッチングサーバ1112において常時実行状態にある。
【0146】
図16は、本実施形態におけるマッチング処理の流れを説明するためのフローチャートである。当該処理において、サーバ処理部202は先ず、データ交換中ではないユーザ端末で、且つ受領情報546eが初期化された空(カラ)のままの仮想設置データ546を有するユーザ端末を、データ交換を要請していてマッチングを要する対象機、すなわち「マッチング対象機」として選択する(ステップS170)。図6の例では、プレーヤ2(2a)がマッチング対象機として選択されることになる。もし、プレーヤ2(2b)やプレーヤ2(2c)についても、まだ受領情報546eが初期化された空(カラ)のまま残っていれば、選択されることとなる。尚、データ交換中であるかは、データ交換中リスト562を参照して判定する。
【0147】
マッチング対象機を選択したならば、それら全てのマッチング対象機についてループAの処理を実行し、マッチングの相手を選択・設定する(ステップS180〜S264)。
【0148】
具体的には、ループAでは先ず、ループ処理対象機の仮想設置データ546の設置位置546bと、接続エリア判定基準データ530とを用いて当該ループ処理対象機の居る接続エリアを判定する(ステップS184)。
次いで、マッチングパラメータ設定データ532の中から、ループ処理対象機の仮想設置データ546の設置日時546cが適合する適用時間帯533のデータセットを選択して、先に判定した接続エリアに対応する成功確率535を読み出し、今回適用する成功確率を決定する(ステップS186)。尚、ステップS184及びステップS186では、ループ処理対象機の最新の端末位置545aに代えて、現在時刻を用いるとしても良い。
【0149】
そして、決定した成功確率を当選確率とする抽選処理を実行する(ステップS188)。抽選の結果、当選しなければ(ステップS190のNO)、サーバ処理部202は、マッチング失敗と見なしてループAを終了する(ステップS264)。
【0150】
一方、抽選で当選した場合には(ステップS190のYES)、サーバ処理部202はループ処理対象機のマッチング相手端末の選択を行う。具体的には、マッチングパラメータ設定データ532の中から、ループ処理対象機の仮想設置データ546の設置日時546cに適合する適用時間帯533のデータセットを選択し、ステップS184で判定した接続エリアに対応する位置ズレ許容量設定値536及び時間ズレ許容量設置値537を読み出し、今回適用する位置ズレ許容量PGT及び時間ズレ許容量TGTを決定する(ステップS192)。これにより、実質的にマッチング許可位置範囲3と、マッチング許可時間範囲7とが決まることとなる(図6参照)。
【0151】
次いで、ループ処理対象機以外のマッチング対象機である他のユーザ端末の中から、当該他のユーザ端末の仮想設置データ546の設置日時546cと、ループ処理対象機の仮想設置データ546の設置日時546cとの時間ズレが、今回適用される時間ズレ許容量TGT以下であるユーザ端末を1次抽出する(ステップS194;図10参照)。
図6の例において、プレーヤ2a、2b、2c全員がマッチング対象機と選ばれていた場合、1次抽出の段階で、プレーヤ2(2c)の携帯型ゲーム装置1400cがマッチング対象外となる。この1次抽出された他のユーザ端末の、1次抽出の元となった仮想設置データ546を用いて2次抽出を行う。
【0152】
すなわち1次抽出された他のユーザ端末の中から、当該他のユーザ端末の1次抽出のもとになった仮想設置データ546の設置位置546bと、ループ処理対象機の設置位置546bとのズレが、今回適用される位置ズレ許容量PGT以下となる仮想設置データを有するユーザ端末を2次抽出する(ステップS196)。
図6の例において、もしプレーヤ2(2c)がプレーヤ2(2b)と同時刻に、サーバシステム1100にアクセスして提供情報を初回送信していたとしても、マッチング許可位置範囲3に入らないので、携帯型ゲーム装置1400cはマッチング対象外となる。
【0153】
もし、2次抽出されたユーザ端末の数が「0」ならば(ステップS198のYES)、サーバ処理部202は、マッチング相手端末が見つからなかったと見なしてループAを終了する。もし、「0」でなければ(ステップS198のNO)、2次抽出された中から、所定数をループ処理対象機の「マッチング相手端末」として選択する(ステップS230)。本実施形態では、1対1でデータ交換するので、マッチング相手端末は1台のみ選択されるが、1対多や複数の端末が巡回的にペアでデータ交換する構成では、複数選択する構成としても良い。
図6の例では、結果、プレーヤ2(2b)の携帯型ゲーム装置1400bがマッチング相手端末として選ばれることとなる。
【0154】
マッチング相手端末が確定したならば、サーバ処理部202は当該マッチング相手端末を、ステップS170で選択した「マッチング対象機」から除外し(ステップS250)、ループ処理対象機とマッチング相手端末のそれぞれの端末の識別情報を、データ交換待ちリスト560へ登録し(ステップS252)、ループAを終了する。
【0155】
全てのマッチング対象機についてループAを実行したならば、再びステップS170に戻って、新たなマッチング対象機の選択を行う。尚、ステップS170でマッチング対象機が1台も選択されなかった場合には、そのままループAをスキップするものとする。
【0156】
[4・マッチング時処理]
次に、サーバシステム1100、より具体的にはデータ交換サーバ1114により実行されるマッチング時処理について説明する。当該処理は、データ交換サーバ1114において常時実行状態にある。
【0157】
図17は、本実施形態におけるマッチング時処理の流れを説明するためのフローチャートである。当該処理において、サーバ処理部202は先ず、データ交換待ちリスト560を参照して、処理待ちが残っているかを判定する。当該リストに登録されたまま残っている交換待ちの組があれば(ステップS260のYES)、当該リストの登録順が最も古い組を選択し(ステップS262)、その組に含まれるユーザ端末を、今度はデータ交換中リスト562に登録する(ステップS262)。
【0158】
そして、選択した交換待ち組に含まれるユーザ端末間で、互いの提供情報546dを、相手の受領情報564eに複製・格納する(ステップS266)。これで、各プレーヤがデータ交換用に選択した情報が、交換相手の受領情報564eに設定されたことになる。
【0159】
次いで、サーバ処理部202は、選択した交換待ち組を、データ交換中リスト562から抹消し(ステップS268)、データ交換待ちリスト560からも抹消する(ステップS270)。尚、ステップS260で交換待ち組が無ければ、ステップS262〜S270はスキップされる。
【0160】
マッチング時処理により、マッチング処理により交換相手として組み合わされたユーザ端末それぞれの仮想設置データ540の受領情報546eが初期状態の空(カラ)ではなくなり、仮想設置データ管理処理(図15参照)のステップS110で該当有りと判定されれば、ステップS112にてデータ交換の成果として受領情報546eがユーザ端末へ送信されることとなる。
【0161】
以上、本実施形態によれば、プレーヤが、同じゲームをプレイするプレーヤが少ない、或いは少ないと推測されるエリアでゲームプレイしていても、同じゲームをプレイするプレーヤが多い、或いは多いと推測されるエリアでプレイしていているに近いデータ交換の機会を得ることができるようになる。
【0162】
また、位置ズレ許容量と時間ズレ許容量の両方をゼロにし、成功確率を100%に設定した場合、時間と位置の両方が同時に近接した場合にのみ発生するマッチング方法とすることもできる。
【0163】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用可能な実施形態が上述の実施形態に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【0164】
[その1]
例えば、上記実施形態ではユーザ端末として携帯型ゲーム装置1400を例示したが、据え置き型の家庭用ゲーム装置や業務用ゲーム装置として実現しても良い。更には“ゲーム装置”とされる電子機器(コンピュータ)に限らず、アプリケーションソフトが実行可能な携帯電話機(スマートフォン1300;図1参照)や情報端末装置、コンパクトデジタルカメラ、音楽プレーヤ、パソコン、カーナビと言った電子機器も、プログラムを実行可能なコンピュータを内蔵している、或いはコンピュータそのものと言えるため、ユーザ端末とすることができる。
【0165】
[その2]
また、マッチング処理において、マッチングの相手を見つける地理的、時間的範囲(すなわちマッチング条件)は、仮想ボックス16が設置された位置を中心とした半径が位置ズレ許容量PGTの球形範囲とする構成に限らない。
【0166】
例えば、サーバ処理部202のマッチング管理部224が、プレーヤの移動経路を算出し、移動経路から位置ズレ許容量PGTの範囲、すなわち移動経路に沿って湾曲した長円形又は湾曲した円筒形範囲からマッチング相手端末を見つける機能を更に有する構成に変更することができる。
【0167】
具体的には、図18に示すように、マッチング処理において、ステップS170に代えて、ステップS171を実行する。当該ステップでは、データ交換中でなく、且つオンラインで、且つ受領情報546eが空(カラ)のままの仮想設置データ546を有するユーザ端末を「マッチング対象機」として選択する。ステップS170と比較すると、オンラインしていることを、更に選択条件に含めている。
【0168】
そして、ループAに代えて、ループBの処理を実行する。すなわち、今回のループ処理で適用される位置ズレ許容量PGTと時間ズレ許容量TGTとを求めたならば(ステップS192)、ループ処理対象機の位置履歴データ545を参照して、所定時間分だけ過去までの端末位置545aからその間の移動経路を求める(ステップS193)。ここで言う所定時間として、時間ズレ許容量TGTを用いるとしても良い。
更に、求めた移動経路を基準に全方向に位置ズレ許容量PGTだけ拡幅し、マッチング許可位置範囲3を求める(ステップS195)。
【0169】
次に、サーバ処理部202は、ループ処理対象機以外のマッチング対象機となるユーザ端末についても同様にして現在から時間ズレ許容量TGT分まで過去(所定時間分まで過去分としても可)の移動経路を求め(ステップS197)、先に求めたマッチング許可位置範囲3と交差する移動経路を有するループ処理対象機以外のユーザ端末を抽出する(ステップS199)。
【0170】
もし、抽出数が「0」ならば(ステップS201のYES)、マッチング失敗と見なしてループBを終了する(ステップS266)。もし、抽出数が「0」でなければ(ステップS201のNO)、サーバ処理部202は抽出されたなかから所定数をマッチング相手端末として選択する(ステップS232)。以下、ステップS250とステップS252を実行してループBを終了する。
【0171】
尚、ステップS197にて、ループ処理対象機以外のマッチング対象機となるユーザ端末移動経路の算出の際に、時間ズレ許容量TGTを用いずに、所定時間分過去までの移動経路を求める構成とするとしてもよい。その場合は、ユーザ端末それぞれの端末位置での所在時刻を取得し管理するための機能部や、ステップS192にて時間ズレ許容量TGTを求める処理など時間ズレ許容量TGTに係る構成要素を省略することができる。
【0172】
[その3]
また、マッチングの発生確率、すなわちマッチングの成功確率をエリアに応じて設定する構成を(図9参照)、マッチング候補として抽出されたユーザ端末毎に設定する構成に変更できる。
【0173】
具体的には、図19に示すように、マッチング処理においてループAに代えて、ループCを実行する。ループCでは、第1実施形態と同様にして、ステップS184、S192〜S198を実行する。ここで、サーバ処理部202は、ステップS196で2次抽出されたユーザ端末毎に、個別の成功確率を決定する(ステップS222)。例えば、ループ処理対象機の仮想データ546の設置位置546bから2次抽出されたユーザ端末の仮想データ546の設置位置546bまでの位置ズレ量(最接近時距離が好適)が大きくなるほど個別成功確率を低くし、またループ処理対象機の仮想データ546の設置日時546cと2次抽出されたユーザ端末の仮想データ546の設置日時546cとの時間ズレ量(最接近時時間差が好適)が大きくなるほど個別成功確率を低くするように設定する。
そして、2次抽出されたユーザ端末毎に、各々に設定された個別成功確率を当選確率として抽選処理を実行し、当選したもののみを3次抽選し(ステップS224)、3次抽選された中からマッチング相手端末を選択する(ステップS234)。
こうした構成の場合、ループ処理対象機と、位置的にまた時間的にニアミスしている度合が高いユーザ端末をマッチングの相手として選択し易くできる。
尚、個別成功確率の調整は、ループ処理対象機との位置ズレ量と時間ズレ量の何れかのみに応じて設定するとしても良い。
【0174】
[その4]
また、マッチングパラメータ設定データ532(図9参照)において、予め明らかな人口密度から推定されるプレーヤ密度、或いはゲーム提供者が想定するプレーヤ密度に基づいてパラメータ値を予め設定しておく構成も変更することができる。
【0175】
例えば、マッチング処理(図16参照)のステップS184でループ処理対象機の接続エリアを判定した後に、ループ対象機以外のユーザ端末の最新の端末位置545aから、ステップS184で判定した接続エリア内にあるユーザ端末数をカウントするステップを設ける。そして、ステップS186に代えて、カウントしたユーザ端末数を変数とする所定の第1の関数で成功確率を求めるステップを実行し、ステップS192に代えて、算出したプレーヤ密度を変数とする所定の第2及び第3の関数によって位置ズレ許容量PGT、時間ズレ許容量TGTをそれぞれ算出するステップを実行する構成に変更できる。尚、第1〜第3の関数は、カウントしたユーザ端末数が大きい程、成功確率、位置ズレ許容量PGT、時間ズレ許容量TGTの値が小さくなり、カウントしたユーザ端末数が小さい程、反対に大きくように設定されているものとする。
【0176】
[その5]
また、ユーザ端末が仮想ボックス16を設置する例を挙げたが、ゲーム提供者がサーバシステム1100にて設置可能にしても良い。
具体的には、サーバシステム1100が、特定の仮想ボックス設定操作を検出した場合に(或いは、仮想ボックスを設定しない構成では、データ交換モードに設定した操作を検出した場合に)、ゲーム提供者が用意した情報を含む提供情報を生成するステップと、ノンプレーヤの端末ステータスデータ542(図10参照)を特別に生成して、先に生成した提供情報を含む特別な仮想設置データ546を生成するステップを実行する。後者のステップでは、仮想設置データ546の設置位置546bを、ゲーム提供者が入力指定するサブステップと、一度に生成される仮想設置データ546の数を入力指定するサブステップとを含むと好適である。これにより、例えば、サービスキャンペーンとしてレアアイテムが交換可能な限定100個の仮想ボックスをゲーム提供者が設置するといった使い方が可能となる。
【0177】
[その6]
また、マッチングパラメータ設定データ532に、適用時間帯533別に分けた複数のデータセットを設けることで、時間帯によるプレーヤ密度の変化に対応できるようにしたが、データセットは時間帯の区分に限らず適宜設けることができる。
【0178】
例えば、サーバシステム1100に、公知のオンラインゲームにおけるユーザ情報管理と同様にして、ユーザ端末又は当該ユーザ端末を使用しているにプレーヤの状態を示す「所与のパラメータ値」を逐次記憶する構成を追加する。
「所与のパラメータ値」としては、例えば、プレーヤ自身に付与されるプレーヤレベル(例えば、段位や、階級、ランキングなど)、プレーヤが操作するキャラクタのゲーム内におけるレベルや職業、種族、性別、クリア済のステージ数、攻略済の敵キャラクタ数、総プレイ時間、などゲーム内容に応じて適宜設定可とすることができる。
勿論、「所与のパラメータ値」がユーザ端末側で決定される値であれば、ユーザ端末でもサーバシステム1100にアクセスする都度、「所与のパラメータ値」をサーバに提供するステップを適宜実行するものとする。
【0179】
一方、マッチングパラメータ設定データ532を、更に、適用条件として適用時間帯533とは別に、或いは適用時間帯533とともに「所与のパラメータ値」を含めて、適用条件別にデータセットを用意しておく。成功確率535や位置ズレ許容量設定値536、時間ズレ許容量設定値537の設定値は、プレーヤのゲームの習熟度や強さが低いと判断される場合にはマッチング条件が緩くなるように、反対にゲームの習熟度や強さが高いと判断される場合にはマッチング条件が厳しくなるように調整すると好適である。
【0180】
そして、マッチング処理(図16参照)のステップS184及びステップS192では、適用条件に適合するデータセットを選択し、選択したデータセットから成功確率535や位置ズレ許容量設定値536、時間ズレ許容量設定値537を読み出す構成とする。
こうした構成とするならば、ユーザ端末の状態やプレーヤの状態に応じてデータ交換の機会頻度を調整することができる。
【0181】
[その7]
また、データ交換に情報提供者の希望を加えるように変更することができる。
具体的には、ユーザ端末の処理部200のデータ交換制御部212に、プレーヤに希望条件を選択させる機能と、選択された希望条件を、提供情報に加える機能を追加する。
より具体的には、データ交換準備処理(図12参照)において、プレーヤに希望条件を指定する画面表示制御するステップと、操作入力に応じて希望条件を決定し、提供情報に含めるステップとを加える。ここで言う「希望条件」とは、データ交換の相手、又は当該相手が提供する提供情報に関する条件である。例えば、上記実施形態では、武器アイテム14をデータ交換の対象としているので、希望条件としては、武器の種類であったり、攻守の区別であったり、武器のレベルであったりを設定すると良い。何れの武器の種類でも良いとする「種類を問わない」などを選択肢に含めると好適である。
【0182】
一方、サーバシステム1100は、ゲームサーバ演算部220の仮想設置データ管理部222に、ユーザ端末から提供情報と共に希望条件の情報を受信し、仮想設置データ546に追加する機能を持たせる。また、マッチング管理部224には、マッチング条件に希望条件を加えて設定する機能を持たせる。
具体的には、図16、図18、図19の何れかのマッチング処理において次にような変更を施す。図16のマッチング処理を元に説明すると、図20に示すように、ユーザ端末を2次抽出したステップS198の後に、ループ処理対象機の希望条件と自身の希望条件とが合致するユーザ端末を2次抽出されたユーザ端末の中から更に抽出する3次抽出のステップ(ステップS223)を追加する。そして、ステップS230に代えて、3次抽出された中からマッチング相手端末を選択する(ステップS234)。
【符号の説明】
【0183】
2 プレーヤ
3 マッチング許可位置範囲
4 携帯電話基地局
6 無線基地局
7 マッチング許可時間範囲
10 プレーヤキャラクタ
14 武器アイテム
16 仮想ボックス
18 GPS衛星
200 処理部
202 サーバ処理部
210 ゲーム演算部
212 データ交換制御部
220 ゲームサーバ演算部
221 所在情報取得制御部
222 仮想設置データ管理部
224 マッチング管理部
224a マッチング条件設定部
224b 成否抽選部
226 マッチング時処理部
500 記憶部
502 サーバ記憶部
520 プレイデータ
526 提供情報
530 接続エリア判定基準データ
532 マッチングパラメータ設定データ
534 接続エリア
536 位置ズレ許容量設定値
537 時間ズレ許容量設定値
540 端末登録データ
546 仮想設置データ
1100 サーバシステム

【特許請求の範囲】
【請求項1】
無線機能を有する複数のユーザ端末が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置及び当該位置での所在時刻を取得する所在情報取得手段と、
一のユーザ端末の前記端末位置及び前記所在時刻を用いて、当該端末位置を含むマッチング許可位置範囲と当該所在時刻を含むマッチング許可時間範囲とを定めたマッチング条件を設定するマッチング条件設定手段と、
前記ユーザ端末それぞれの前記端末位置及び前記所在時刻を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出する検出手段と、
前記検出手段による検出がなされた場合に、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段と、
を備えたサーバシステム。
【請求項2】
前記マッチング条件設定手段は、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、
請求項1に記載のサーバシステム。
【請求項3】
前記マッチング条件設定手段は、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、
請求項1又は2に記載のサーバシステム。
【請求項4】
前記マッチング条件設定手段は、前記一のユーザ端末の前記所在時刻が予め定められた何れの時間帯に属するかに応じて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、
請求項1に記載のサーバシステム。
【請求項5】
前記マッチング条件設定手段は、前記一のユーザ端末の前記所在時刻が予め定められた何れの時間帯に属するかに応じて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、
請求項1、2又は4に記載のサーバシステム。
【請求項6】
前記マッチング条件設定手段は、前記一のユーザ端末について定められた所与のパラメータ値に基づいて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、
請求項1に記載のサーバシステム。
【請求項7】
前記マッチング条件設定手段は、前記一のユーザ端末について定められた所与のパラメータ値に基づいて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、
請求項1、2、4又は6に記載のサーバシステム。
【請求項8】
前記一のユーザ端末とのマッチング成功確率を設定するマッチング成功確率設定手段と、
前記マッチング成功確率を用いて前記一のユーザ端末とのマッチングの成否を抽選する成否抽選手段と、
前記成否抽選手段の抽選結果が失敗の場合に、前記マッチング時処理手段による前記マッチング時処理の実行を抑止するマッチング抑止手段と、
を更に備えた請求項1〜7の何れか一項に記載のサーバシステム。
【請求項9】
前記マッチング成功確率設定手段は、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて前記マッチング成功確率を可変に設定する、
請求項8に記載のサーバシステム。
【請求項10】
前記マッチング成功確率設定手段は、前記一のユーザ端末と前記マッチング相手端末との最接近時距離、及び/又は、最接近時時間差に基づいて前記マッチング成功確率を可変に設定する、
請求項8又は9に記載のサーバシステム。
【請求項11】
前記マッチング条件設定手段は、前記一のユーザ端末の特定の前記端末位置及び前記所在時刻を用いて前記マッチング条件を設定する、
請求項1〜10の何れか一項に記載のサーバシステム。
【請求項12】
前記ユーザ端末それぞれの移動経路を当該ユーザ端末の前記端末位置を用いて算出する移動経路算出手段を更に備え、
マッチング条件設定手段は、前記一のユーザ端末の前記移動経路及び前記所在時刻を用いて前記マッチング条件を設定し、
前記検出手段は、前記ユーザ端末それぞれの前記移動経路及び前記所在時刻を用いて前記マッチング条件を満たす前記マッチング相手端末を検出することで、前記一のユーザ端末に対して、時間的には前記マッチング許可時間範囲内の時間差で、地理的には前記マッチング許可位置範囲内の距離差まで接近したユーザ端末である前記マッチング相手端末を検出する、
請求項1〜10の何れか一項に記載のサーバシステム。
【請求項13】
無線機能を有する複数のユーザ端末が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置を取得する所在情報取得手段と、
前記ユーザ端末それぞれの移動経路を当該ユーザ端末の前記端末位置を用いて算出する移動経路算出手段と、
一のユーザ端末の前記移動経路を用いて、当該移動経路を含むマッチング許可位置範囲を定めたマッチング条件を設定するマッチング条件設定手段と、
前記ユーザ端末それぞれの前記移動経路を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出する検出手段と、
前記検出手段による検出がなされた場合に、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段と、
を備えたサーバシステム。
【請求項14】
前記マッチング時処理は、前記一のユーザ端末について定められた所与の交換データと、前記マッチング相手端末について予め定められた所与の交換データとの交換処理であり、
前記一のユーザ端末から交換相手の希望条件を受信する希望条件受信手段を更に備え、
前記マッチング条件設定手段は、前記マッチング相手方について定められた交換データの条件である前記希望条件を前記マッチング条件に含めて設定する、
請求項1〜13の何れか一項に記載のサーバシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−151735(P2012−151735A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−9855(P2011−9855)
【出願日】平成23年1月20日(2011.1.20)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】