(57)【特許請求の範囲】
【請求項１】
無線機能を有する複数のユーザ端末が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置及び当該位置での所在時刻を取得する所在情報取得手段と、
一のユーザ端末の前記端末位置及び前記所在時刻を用いて、当該端末位置を含むマッチング許可位置範囲と当該所在時刻を含むマッチング許可時間範囲とを定めたマッチング条件を設定するマッチング条件設定手段と、
前記一のユーザ端末とのマッチング成功確率を設定するマッチング成功確率設定手段と、
前記マッチング成功確率を用いて前記一のユーザ端末とのマッチングの成否を抽選する成否抽選手段と、
前記ユーザ端末それぞれの前記端末位置及び前記所在時刻を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出し、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段と、
前記成否抽選手段の抽選結果が失敗の場合に、前記マッチング時処理手段による前記マッチング時処理の実行を抑止するマッチング抑止手段と、
を備えたサーバシステム。
【請求項２】
前記マッチング成功確率設定手段は、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて前記マッチング成功確率を可変に設定する、
請求項１に記載のサーバシステム。
【請求項３】
前記マッチング成功確率設定手段は、前記一のユーザ端末と前記マッチング相手端末との最接近時距離、及び／又は、最接近時時間差に基づいて前記マッチング成功確率を可変に設定する、
請求項１又は２に記載のサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザ端末が無線機能を用いて通信接続可能なサーバシステムに関するものである。
【背景技術】
【０００２】
近年のゲーム装置、特に携帯性を向上させた携帯型ゲーム装置は、無線通信機能を備え、通信回線を介して、或いは無線が届く範囲ならば直接にゲームサーバや他のゲーム装置とデータ通信を行うことができるものがある。勿論、スマートフォン等の携帯電話機も、こういった携帯型ゲーム装置として機能し、同様の特徴を有している。
【０００３】
そうした通信機能を利用したゲームに関する技術としては、例えば、ＧＰＳを利用して自機の絶対位置を検出できるゲーム装置がサーバにアクセスし、検出した絶対位置を送信すると、当該サーバが、ゲーム装置同士の距離と所定の１点から見た配置とを算出して相対的な位置関係を判断し、判断結果に基づいて各ゲーム装置に指示を送信して、ゲーム装置の相対的な位置関係が反映されるゲームを実現する技術が知られている（例えば、特許文献１を参照）。
【０００４】
また、近距離無線によるアドホック通信を利用して、ゲーム機同士がその時々にアドホック接続した装置間で、ゲーム内で利用できる情報を自動的に交換する所謂「すれちがい通信」を利用するゲームも知られる所である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２７８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
同じゲームタイトルをプレイするプレーヤ間で、ゲーム内で利用できる情報を「すれちがい通信」により交換できることは、ゲームプレイに現実世界における偶然性に基づく多様性をもたらすばかりでなく、プレーヤ間のコミュニケーションを促進し、当該ゲームをプレイする楽しみを一層盛り上げる要因となる。
【０００７】
ところが、人口密度に粗密（時間的な粗密の変化を含む）があるように、同じゲームをプレイするプレーヤの密度にも粗密が生じる。例えば、人口の多い都市部のプレーヤならば、「すれちがい通信」が実現する機会も多いであろうが、人口の少ない町村部のプレーヤでは、そもそも同じゲームをプレイするプレーヤの密度が低く「すれちがい通信」が実現する機会が少ない。そのため、人口密度の粗密によって、公平にゲームを楽しんでもらえない場合がある。
【０００８】
「すれちがい通信」はマッチングの一種と言える。上述の例では、マッチングに成功した場合には、データ交換がなされることとなる。しかし、マッチングに成功した場合にデータ交換以外の他の処理を実行することとしてもよい。
【０００９】
本発明はこうした事情を鑑みてなされたものであり、その目的とするところは、第１には、従来の「すれちがい通信」とは異なる新たな手法でマッチングの機会を創出することである。また、第２には、プレーヤの居るエリアにおけるプレーヤ人口の分布特性の影響により生じるマッチングの機会のバラツキを低減することである。
【課題を解決するための手段】
【００１０】
以上の課題を解決するための第１の形態は、無線機能を有する複数のユーザ端末（例えば、図１の携帯型ゲーム装置１４００、スマートフォン１３００）が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置及び当該位置での所在時刻を取得する所在情報取得手段（例えば、図８のサーバ処理部２０２、ゲームサーバ演算部２２０、所在情報取得制御部２２１、図１５のステップＳ１００）と、
一のユーザ端末の前記端末位置及び前記所在時刻を用いて、当該端末位置を含むマッチング許可位置範囲と当該所在時刻を含むマッチング許可時間範囲とを定めたマッチング条件を設定するマッチング条件設定手段（例えば、図８のサーバ処理部２０２、マッチング管理部２２４、マッチング条件設定部２２４ａ、図１６のステップＳ１９２）と、
前記ユーザ端末それぞれの前記端末位置及び前記所在時刻を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出する検出手段（例えば、図８のサーバ処理部２０２、マッチング管理部２２４、図１６のステップＳ１９４〜Ｓ２３０）と、
前記検出手段による検出がなされた場合に、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段（例えば、図８のサーバ処理部２０２、マッチング時処理部２２６、図１７のマッチング時処理）と、
を備えたサーバシステムである。
【００１１】
第１の形態によれば、マッチングを希望するユーザ端末の端末位置及び所在時刻を取得し、それらを用いて、当該端末位置を含むマッチング許可位置範囲と当該所在時刻を含むマッチング許可時間範囲とを定め、そこからマッチング相手を選択することができる。つまり、マッチング相手を選択する条件は、マッチングを希望するユーザ端末の端末位置と所在時刻に応じて変更できる。よって、プレーヤの居るエリアにおけるプレーヤ人口の分布特性の影響により生じるマッチングの機会のバラツキを低減することも可能となる。
【００１２】
マッチング許可位置範囲の設定に関しては、第２の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、第１の形態のサーバシステムを構成すると、ユーザ端末の端末位置の情報との比較処理が容易となるので好適である。
【００１３】
同様の理由から、マッチング許可時間範囲の設定に関しては、第３の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記端末位置が予め定められた何れの地域に属するかに応じて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、第１又は第２の形態のサーバシステムを構成すると好適である。
【００１４】
また更に、マッチング許可位置範囲の設定に関しては、第４の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記所在時刻が予め定められた何れの時間帯に属するかに応じて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、第１の形態のサーバシステムを構成すると更に好適である。
【００１５】
この場合、例えば日常生活の時間帯を区切りにして位置ズレ許容量を決定すれば、日常生活におけるプレーヤ密度の変化に応じて、マッチングの機会のバラツキを低減することができる。勿論、時間帯には、平日・休日・祝日、年末年始、祭日、長期休暇、季節、月別などを適宜含めることができる。
【００１６】
同様の理由から、第５の形態として、前記マッチング条件設定手段が、前記一のユーザ端末の前記所在時刻が予め定められた何れの時間帯に属するかに応じて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、第１、第２又は第４の形態のサーバシステムを構成すると、好適である。
【００１７】
また更に、マッチング許可位置範囲の設定に関しては、第６の形態として、前記マッチング条件設定手段が、前記一のユーザ端末について定められた所与のパラメータ値に基づいて位置ズレ許容量を決定し、決定した位置ズレ許容量を用いて前記マッチング許可位置範囲を設定する、第１の形態のサーバシステムを構成すると、より好適である。
【００１８】
この場合、ユーザ端末、又は当該ユーザ端末を使用しているにプレーヤの状態に応じてマッチング条件を調整することができる。「所与のパラメータ値」としては、プレイ履歴が反映された値（例えば、プレーヤ自身に付与されるプレーヤレベル（例えば、段位や、階級、ランキングなど）、プレーヤが操作するキャラクタのゲーム内におけるレベルや職業、種族、性別、クリア済のステージ数、攻略済の敵キャラクタ数、総プレイ時間、などゲーム内容に応じて適宜設定可）とするならば、プレーヤのゲームの習熟度や、対戦系のゲームであればプレーヤの強さに応じて調整することができる。調整の仕方は、ゲームの習熟度や強さが低い場合にはマッチング条件が緩くなるように、反対にゲームの習熟度や強さが高い場合にはマッチング条件が厳しくなるように調整すると好適である。
【００１９】
同様の理由から、第７の形態として、前記マッチング条件設定手段が、前記一のユーザ端末について定められた所与のパラメータ値に基づいて時間ズレ許容量を決定し、決定した時間ズレ許容量を用いて前記マッチング許可時間範囲を設定する、第１、第２、第４又は第６の形態のサーバシステムを構成すると、より好適である。
【００２０】
第８の形態は、前記一のユーザ端末とのマッチング成功確率を設定するマッチング成功確率設定手段（例えば、図８のマッチング管理部２２４、マッチング条件設定部２２４ａ、サーバ記憶部５０２、図９のマッチングパラメータ設定データ５３２、成功確率５３５、図１６のステップＳ１８６）と、
前記マッチング成功確率を用いて前記一のユーザ端末とのマッチングの成否を抽選する成否抽選手段（例えば、図８のサーバ処理部２０２、マッチング管理部２２４、成否抽選部２２４ｂ、図１６のステップＳ１８８）と、
前記成否抽選手段の抽選結果が失敗（いわゆるハズレ）の場合に、前記マッチング時処理手段による前記マッチング時処理の実行を抑止するマッチング抑止手段（例えば、図８のマッチング管理部２２４、図１６のステップＳ１９０）と、
を更に備えた第１〜第７の何れかの形態のサーバシステムである。
【００２１】
第８の形態によれば、第１〜第７の形態の何れかと同様の効果が得られるとともに、抽選を利用することにより、プレーヤが居るエリアのプレーヤ人口の分布特性の影響により生じるマッチングの機会のバラツキを比較的簡単に低減することができる。
【００２２】
マッチング成功確率の設定に関しては、第９の形態として、前記マッチング成功確率設定手段は、前記一のユーザ端末の前記端末位置が予め定められた何れの地域（エリア）に属するかに応じて前記マッチング成功確率を可変に設定する、第８の形態のサーバシステムを構成すると、より好適である。
地域を単位にすると、推定されるプレーヤの人口分布特性により適切にマッチング成功確率を設定できる。例えば、地域を、行政区分、土地用途区分、交通量調査単位など、人口が明確又は比較的明確に推定できる区切りとするならば、その効果は特に高くなる。
【００２３】
更にマッチング成功確率の設定に関しては、第１０の形態として、前記マッチング成功確率設定手段が、前記一のユーザ端末と前記マッチング相手端末との最接近時距離、及び／又は、最接近時時間差に基づいて前記マッチング成功確率を可変に設定する、第８又は第９の形態のサーバシステムを構成することができる。
この場合、一のユーザ端末と位置的に及び／又は時間的にどれだけ離れているかに応じて成功確率を調整できる。
【００２４】
第１１の形態は、前記マッチング条件設定手段が、前記一のユーザ端末の特定の前記端末位置及び前記所在時刻を用いて前記マッチング条件を設定する、第１〜第１０の何れかの形態のサーバシステムである。
【００２５】
第１１の形態によれば、第１〜第１０の何れかの形態と同様の効果が得られるとともに、ユーザ端末が居た特定の場所及び特定のタイミングに適合するマッチング相手端末を選択できるようになる。
【００２６】
第１２の形態は、前記ユーザ端末それぞれの移動経路を当該ユーザ端末の前記端末位置を用いて算出する移動経路算出手段（例えば、図８のサーバ処理部２０２、マッチング管理部２２４、図１８のステップＳ１９３、Ｓ１９７）を更に備え、
マッチング条件設定手段は、前記一のユーザ端末の前記移動経路及び前記所在時刻を用いて前記マッチング条件を設定し、
前記検出手段は、前記ユーザ端末それぞれの前記移動経路及び前記所在時刻を用いて前記マッチング条件を満たす前記マッチング相手端末を検出することで、前記一のユーザ端末に対して、時間的には前記マッチング許可時間範囲内の時間差で、地理的には前記マッチング許可位置範囲内の距離差まで接近したユーザ端末である前記マッチング相手端末を検出する、第１〜第１０の何れかの形態のサーバシステムである。
【００２７】
第１２の形態によれば、第１〜第１０の形態の何れかと同様の効果が得られるとともに、マッチング条件に移動経路の要素を加えることができる。
【００２８】
マッチング条件に移動経路の要素を加える観点からすると、第１３の形態として、無線機能を有する複数のユーザ端末が当該無線機能を用いて通信接続可能なサーバシステムであって、
前記ユーザ端末それぞれの端末位置を取得する所在情報取得手段と、
前記ユーザ端末それぞれの移動経路を当該ユーザ端末の前記端末位置を用いて算出する移動経路算出手段と、
一のユーザ端末の前記移動経路を用いて、当該移動経路を含むマッチング許可位置範囲を定めたマッチング条件を設定するマッチング条件設定手段と、
前記ユーザ端末それぞれの前記移動経路を用いて、前記マッチング条件を満たすユーザ端末であるマッチング相手端末を検出する検出手段と、
前記検出手段による検出がなされた場合に、前記一のユーザ端末と前記マッチング相手端末との間で、所定のマッチング時処理を実行するマッチング時処理手段と、を備えたサーバシステムを構成することができる。
【００２９】
第１３の形態によれば、マッチングを希望するユーザ端末の端末位置を取得し、その時間的履歴からユーザ端末の移動経路を求めることができる。そして、データ交換を希望する一のユーザ端末の移動経路を元にマッチング許可位置範囲を定めてマッチング条件を決定し、当該マッチング相手を選択することができる。
移動経路をどれだけ過去まで遡って求めるか、また移動経路を元にどのようにマッチング許可位置範囲を定めるかによって、マッチング条件を厳しくもまた緩くもできることになる。そこに、プレーヤ人口の分布特性の影響を加味することでマッチングの機会のバラツキを低減することも可能となる
【００３０】
第１４の形態は、前記マッチング時処理は、前記一のユーザ端末について定められた所与の交換データと、前記マッチング相手端末について予め定められた所与の交換データとの交換処理であり、
前記一のユーザ端末から交換相手の希望条件を受信する希望条件受信手段（例えば、図８のサーバ処理部２０２、仮想設置データ管理部２２２、通信制御部２７２、通信部３７２）を更に備え、
前記マッチング条件設定手段は、前記マッチング相手方について定められた交換データの条件である前記希望条件を前記マッチング条件に含めて設定する、第１〜第１３の何れかの形態のサーバシステムである。
【００３１】
第１４の形態によれば、第１〜第１３の何れかの形態と同様の効果が得られるとともに、プレーヤが希望する相手とデータ交換したり、希望するデータが得られるようにできる。
【図面の簡単な説明】
【００３２】
【図１】ゲームシステムの構成例を示す図。
【図２】ユーザ端末である携帯型ゲーム装置の構成例を説明するための外観図。
【図３】ゲームの概要を説明するための図。
【図４】マッチング条件の調整ファクタとして位置を用い、マッチング相手の選択方法の原理を説明するための概念図。
【図５】マッチング条件の調整ファクタとして時間を用い、マッチング相手の選択方法の原理を説明するための概念図。
【図６】提供情報を仮想空間に設定する考え方に基づくマッチング候補の選択方法の原理を説明するための概念図。
【図７】ユーザ端末である携帯型ゲーム装置の機能構成例を示す機能ブロック図。
【図８】サーバシステムの機能構成例を示す機能ブロック図。
【図９】マッチングパラメータ設定データのデータ構成の一例を示す図。
【図１０】端末登録データのデータ構成の一例を示す図。
【図１１】ユーザ端末における携帯型ゲーム装置での処理の流れを説明するためのフローチャート。
【図１２】データ交換準備処理の流れを説明するためのフローチャート。
【図１３】データ交換要請処理の流れを説明するためのフローチャート。
【図１４】サーバ接続処理の流れを説明するためのフローチャート。
【図１５】仮想設置データ管理処理の流れを説明するためのフローチャート。
【図１６】マッチング処理の流れを説明するためのフローチャート。
【図１７】マッチング時処理の流れを説明するためのフローチャート。
【図１８】マッチング処理の第１変形例を説明するためのフローチャート。
【図１９】マッチング処理の第２変形例を説明するためのフローチャート。
【図２０】マッチング処理の第３変形例を説明するためのフローチャート。
【発明を実施するための形態】
【００３３】
〔第１実施形態〕
本発明を適用した第１実施形態として、同じタイトルのＲＰＧ（ロールプレイングゲーム）が実行されているユーザ端末でのデータ交換をサポートするサーバシステムを例に挙げて説明する。
尚、本明細書にて交換されるデータは、ゲームプレイに際して有意な情報である。例えば、アイテムの識別情報、扉を開けるパスワード、ヒント、飼育している仮想動物、交配させたい仮想動物、売りたい仮想商品などの情報である。テキストデータであってもよいし、画像データであってもよいし、音データであってもよい。また、ゲームの種類はＲＰＧに限らず、プレーヤ間でデータ交換できる仕様が盛り込まれているビデオゲームであればなんであれ同様に適用できる。
【００３４】
［ゲームシステムの構成］
図１は、本実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステムは、携帯電話基地局４や無線基地局６を介して通信回線１に接続するスマートフォン１３００や携帯型ゲーム装置１４００といった複数のユーザ端末と、ユーザ端末が通信回線１を介してアクセスするサーバシステム１１００と、を含んで構成される。
【００３５】
通信回線１は、データ通信が可能な通信路を意味する。すなわち、通信回線１とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮ（Local Area Network）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。
【００３６】
通信回線１に接続できるサーバシステム１１００は、複数のブレードサーバ１１０２を備えた筐体１１０４と、ブレードサーバ１１０２の管理操作に用いるキーボード１１０６及びディスプレイモニタ１１０８と、各ブレードサーバ１１０２からアクセスできるハードディスク等のストレージ１１４０とを備える。また、筐体１１０４には、各ブレードサーバ１１０２等に電力を供給する図示されない電源モジュールや、通信回線１に接続するための通信装置等を適宜搭載するものとする。尚、ブレードサーバ１１０２は、ラックマウント型サーバで構成しても良い。
【００３７】
サーバシステム１１００は、例えばＣＧＩ（Common gateway interface）プログラム実装言語をシステムサポートし、ユーザ登録手続きや、登録ユーザの認証（所謂ログイン処理）、ユーザ端末で実行されるビデオゲームをサポートする各種機能を実現できる。これにより、ブレードサーバ１１０２の幾つかは、ユーザ端末から受信したデータ交換用のデータを管理する仮想設置データ管理サーバ１１１０、マッチングサーバ１１１２、マッチングされたプレーヤ間でデータ交換を実現させるデータ交換サーバ１１１４、としてそれぞれ機能する。
【００３８】
尚、サーバシステム１１００は、専用のサーバ装置に限らず、例えば据え置き型の家庭用ゲーム装置がサーバ装置としての機能を実現する構成であっても良い。
【００３９】
スマートフォン１３００や、携帯型ゲーム装置１４００は、いずれもゲームプログラムを実行させることのできるコンピュータであり、本実施形態におけるユーザ端末となる。ユーザ端末は、ゲームプログラムを実行することにより、その一部機能として、サーバシステム１１００にアクセスして、所定の手続きに従ってデータ送受信を実現し、様々なサポートを享受することができる。また、本実施形態のユーザ端末は、何れも位置情報を取得するための測位装置を搭載している。
尚、以下ではユーザ端末の例として、携帯型ゲーム装置１４００を用いて説明するが、ゲームプログラムが実行可能なスマートフォン１３００などその他の電子機器に適宜読み替えることができる。また、ビデオゲームをブラウザゲームとして実現する構成の場合には、ウェブブラウザプログラムや、スクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインなどをアプリケーションとして実行できる電子機器であればユーザ端末とすることができる。
【００４０】
図２は、ユーザ端末の一種とされる携帯型ゲーム装置１４００の構成例を示す図である。本実施形態における携帯型ゲーム装置１４００は、方向入力キー１４０２及びボタンスイッチ１４０４と、第１液晶ディスプレイ１４０６と、第２液晶ディスプレイ１４０８と、スピーカ１４１０と、ＧＰＳ（Global Positioning System）アンテナ１４２８と、制御ユニット１４５０とを、ヒンジ１４１４で開閉自在な折り畳み型の装置本体１４０１に備えている。そして、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表示面上には、スタイラスペン１４１６などで触れることによって表示画面の任意位置を接触入力することのできるタッチパネル１４０７、１４０９がそれぞれ装着されている。
【００４１】
また、装置本体１４０１には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード１４４０からデータを読み書きできるメモリカード読取装置１４１８が備えられている。メモリカード１４４０には、制御ユニット１４５０がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体１４０１には、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【００４２】
制御ユニット１４５０は、ゲーム装置の制御基板に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種ＩＣメモリを搭載する。
【００４３】
そして、制御ユニット１４５０には、無線基地局６と無線接続するための無線通信モジュール１４１２や、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８のドライバ回路、タッチパネル１４０７及びタッチパネル１４０９のドライバ回路、方向入力キー１４０２及びボタンスイッチ１４０４からの信号を受信する回路、スピーカ１４１０へ音声信号を出力するためのアンプ回路、メモリカード読取装置１４１８への信号入出力回路といった所謂Ｉ／Ｆ回路（インターフェース回路）、ＧＰＳモジュール１４２４が搭載されている。これら制御ユニット１４５０に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【００４４】
ＧＰＳモジュール１４２４は、ＧＰＳアンテナ１４２８とともに測位装置を構成する。そして、ＧＰＳモジュール１４２４は、ＧＰＳアンテナ１４２８で受信したＧＰＳ衛星からの信号から、所定時間毎（例えば、１秒毎）に、位置情報（例えば、緯度・経度）及びその他の情報（絶対時間）を、制御ユニット１４５０で演算処理可能なデータとして出力する。
尚、測位に利用するシステムは、ＧＰＳに限らない。その他の衛星測位システムでも良いし、衛星を用いない測位システムを用いることもできる。後者の例としては、例えば、無線通信モジュール１４１２が無線接続している無線基地局６に対応して予め設定されている位置情報を当該無線基地局６から取得する構成としても良い。また、スマートフォン１３００をユーザ端末とした場合には、接続している携帯電話基地局４に対応して予め設定されている位置情報を当該携帯電話基地局４から取得するとしても良い。
【００４５】
そして制御ユニット１４５０は、メモリカード読取装置１４１８によってメモリカード１４４０に格納されているプログラムやデータを読み出して、搭載するＩＣメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー１４０２やボタンスイッチ１４０４、タッチパネル１４０７及び１４０９からの操作入力に応じて携帯型ゲーム装置１４００の各部を制御して、ＲＰＧ（ロールプレイングゲーム）を実行する。
【００４６】
尚、本実施形態では、携帯型ゲーム装置１４００は必要なプログラムや各種設定データをメモリカード１４４０から読み出す構成としているが、制御ユニット１４５０に搭載されている主要なプログラムやデータをＩＣメモリに予め記憶している構成とすることができる。或いは、無線通信モジュール１４１２を介して、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などの有線／無線の通信回線１に接続して外部装置からダウンロードして取得する構成としても良い。
【００４７】
［ゲームの概要の説明］
図３は、本実施形態におけるゲームの概要を説明するための図である。携帯型ゲーム装置１４００で実行されるＲＰＧは、ゲーム画面例Ｗ２に示すように、プレーヤ２（２ａ）がプレーヤキャラクタ１０（１０ａ，１０ｂ，１０ｃ）を操作して、マップ中に出現する敵キャラクタ１２と交戦しながらゲームを進める。プレーヤキャラクタ１０は、それぞれ武器アイテム１４を装備することができる。
【００４８】
武器アイテム１４は、ゲーム世界のショップで購入したり、特定の敵を倒すことで入手したり、ダンジョンを攻略することで入手できる。その他の入手方法を設定しても良い。
プレーヤ２（２ａ）は、武器アイテム１４をプレーヤキャラクタ１０の数以上に所有することが可能であり、敵キャラクタ１２の種類に応じて適宜ゲーム中に武器アイテム１４の持ち替えをさせることができる。そして、本実施形態のＲＰＧでは、この武器アイテム１４を他プレーヤとの間で交換できる仕様になっている。
【００４９】
武器アイテム１４を他プレーヤとの間で交換するためには、敵キャラクタ１２がドロップするデータ交換許可アイテムである仮想ボックス１６を入手する必要がある。ゲーム内容によって、仮想ボックス１６のような設定がゲーム世界観や演出上の観点から不自然となる場合には、データ交換許可アイテムの設定を省略することができる。
【００５０】
仮想ボックス１６は、交換用のアイテムを収容するアイテムである。プレーヤが所定のデータ交換準備操作をすると、所有する武器アイテム１４の一覧が表示され、他プレーヤに提供するアイテムが選択可能になる。そして、一覧から何れかの武器アイテム１４を選択すると、選択された武器アイテム１４は、仮想ボックス１６内に入れられたと見なされる。武器アイテム１４が選択されれば準備完了、データ交換が実施可能となる。処理は、選択された武器アイテム１４（１４ａ）を使用可能にする識別情報が、交換相手に提供される「提供情報」として設定される。
【００５１】
データ交換の準備ができたところで、所定のデータ交換要請操作を入力すると、提供情報がサーバシステム１１００に送られる。そして、サーバシステム１１００によって自分の仮想ボックス１６（１６ａ）に入れた武器アイテム１４（１４ａ）と、他プレーヤが同様に仮想ボックス１６（１６ｂ）に入れた武器アイテム１４（１４ｂ）とが交換される。この際、文字通りデータを「交換」しても良いが、互いの提供する情報を相手に供与する構成であっても良い。
【００５２】
さて、データ交換を実現するためには、少なくとも２名のプレーヤをマッチングさせる必要がある。マッチングにあたっては、公知のオンライン対戦ゲーム等におけるマッチングと同様に、オンラインしているプレーヤ内からデータ交換の相手を選択することによっても実現できる。しかし、それでは同じゲームを楽しむプレーヤ同士の存在感が希薄である。そこで、ある範囲内に存在する他プレーヤからマッチング相手を選択することで、間接的にでも同じゲームをプレイする仲間の存在を感じられるようにする。
【００５３】
近距離無線によりアドホック接続するゲーム装置をプレーヤが持ち歩き、偶然通りかかった他プレーヤのゲーム装置との間でデータ交換を実現する所謂「すれちがい通信」が公知である。しかし、人口密度に粗密があるのにほぼ比例して、同じゲームをプレイするプレーヤの密度にも粗密が生じる。人口の多い都市部のプレーヤならば、「すれちがい通信」が実現する機会も多いであろうが、人口の少ない町村部のプレーヤでは、そもそも同じゲームをプレイするプレーヤの密度が低く、「すれちがい通信」が実現する機会が少ない。結果、ゲーム製作者が望むように公平にゲームを楽しんでもらえないケースが生まれてしまう。
そこで、本実施形態では、マッチングさせようとする一方のプレーヤの所在位置から推定されるプレーヤ密度に応じて、マッチング相手を選択するための条件、すなわちマッチング条件を調整して、そうした懸念に対処する。
【００５４】
具体的には、携帯型ゲーム装置１４００からサーバシステム１１００に送信される現在の位置座標を元に、人口密度が明らか、或いは人口密度が概ね推測できる複数のエリア（例えば、市町村や地区など）の中からプレーヤの居るエリアを判定する。「人口密度が概ね推測できる」とは、日常生活の体感的な感覚から得られる人が多い少ないといったおおざっぱな推測や、サーバシステム１１００がオンラインしているユーザ端末の位置情報を統計処理することにより得られるプレーヤ密度も含まれる意味である。
そして、人口密度がプレーヤ密度に概ね比例するとの考えに基づいて、判定したエリアの人口密度が小さいほど推定プレーヤ密度が低いと判断し、マッチング条件を相対的に緩和してマッチングし易く設定する。反対に、判定したエリアの人口密度が大きいほど推定プレーヤ密度が高いと判断して、マッチング条件を祖対的に厳格にしてマッチングし難く設定する。そして、設定したマッチング条件を満たすマッチング相手を選択する。
【００５５】
図４は、マッチング条件の調整ファクタとして位置情報を用いるマッチング候補の選択方法の原理を説明するための概念図である。
これからマッチングしようとする一方のプレーヤ２（２ａ）が、データ交換要請操作を入力すると、彼の携帯型ゲーム装置１４００（１４００ａ）は、最寄りの無線基地局６と無線通信を実現し、ゲームサーバ１１００にアクセスする。このとき携帯型ゲーム装置１４００（１４００ａ）は、ＧＰＳ衛星１８より測位信号を受信して位置情報を取得し、自機の識別情報と、取得した位置情報と、用意された提供情報とを、ゲームサーバ１１００へ送信する。他プレーヤ２ｂ，２ｃについても同様である。
【００５６】
ゲームサーバ１１００は、携帯型ゲーム装置１４００（１４００ａ）から受信した位置情報がプレーヤ２（２ａ）の現在位置、つまりは端末位置を示すと見なし、受信した位置情報に基づいて人口密度が明らかとなっている複数の現実のエリアの中から、プレーヤ２（２ａ）の居るエリアを判定する。そして、判定したエリアの推定プレーヤ密度（人口密度に概ね比例）の粗密に応じて、位置ズレ許容量ＰＧＴを決定する。位置ズレ許容量ＰＧＴは、判定したエリアの人口密度が高いほど小さい値、人口密度が低いほど大きい値を設定する。
【００５７】
位置ズレ許容量ＰＧＴを設定したならば、プレーヤ２（２ａ）の現在位置と、他プレーヤ２ｂ，２ｃそれぞれの現在位置との位置ズレを求める。そして、求めた位置ズレが、位置ズレ許容量ＰＧＴ以下であれば、当該他プレーヤ（図４の例では他プレーヤ２ｂが該当）をマッチング候補と見なす。つまり、プレーヤ２（２ａ）の現在位置を基準点として、半径が位置ズレ許容量ＰＧＴの球形範囲が、マッチング許可位置範囲３であり、マッチング条件となる。位置ズレ許容量ＰＧＴは、マッチング許可位置範囲３が、携帯型ゲーム装置１４００単独の無線通信範囲５よりも大きくなるように設定される。
【００５８】
よって、人口の少ない町村部に住むプレーヤであっても、位置ズレ許容量ＰＧＴが都市部でプレイするときよりも大きく設定されることにより、携帯型ゲーム装置１４００の無線通信範囲５を大きく超えた広い範囲内からマッチング相手を探すことが可能となる。データ交換の機会が、都市部に住むプレーヤのそれに近づくことになる。
【００５９】
さて、位置ズレ許容量ＰＧＴを設定することで、マッチング候補と見なす他プレーヤの選択範囲は推定プレーヤ密度の低いエリアほど広くなる。しかし、必ずしもプレーヤ２（２ａ）と同時刻に他プレーヤ２ｂ，２ｃがサーバシステム１１００にアクセスしているとは限らない。そこで、本実施形態では更に、マッチング条件に時間要素を含め、時間的な幅を設けてマッチング候補を選択する。
【００６０】
図５は、マッチング条件の調整ファクタとして更に時間情報を加えたマッチング候補の選択方法の原理を説明するための概念図である。データ交換を希望しているとあるプレーヤ２（２ｃ）は、第１の時刻（図５では５：００）に無線基地局６に接続してサーバシステム１１００にアクセスできる状態にあったとする。また、データ交換を希望している別のプレーヤ２（２ｂ）は、第２の時刻（図５では６：００）に同様の状態にあったとする。そして、現在時刻（図５では７：００）の時点で、データ交換を希望しているプレーヤ２（２ａ）が同様の状態にあるとする。現在時刻では、位置ズレ許可範囲ＰＧＴを用いたマッチング許可位置範囲３を設定しただけでは、プレーヤ２（２ｂ）とプレーヤ２（２ｃ）の何れもマッチング相手として選ぶことができない。
【００６１】
そこで、サーバシステム１１００は、プレーヤ２（２ａ）の現在位置に基づいて、時間ズレ許容量ＴＧＴを設定する。
時間ズレ許容量ＴＧＴは、現在時刻（最新の所在時刻）からどれだけ過去まで遡ることを許容するかを示す値である。ゲームサーバ１１００は、携帯型ゲーム装置１４００（１４００ａ）から受信した位置情報がプレーヤ２（２ａ）の現在位置（最新の所在位置）を示すと見なし、受信した位置情報に基づいて人口密度が明らかとなっている複数の現実のエリアの中から、プレーヤ２（２ａ）の居るエリアを判定する。そして、判定したエリアの推定プレーヤ密度（人口密度に概ね比例）の粗密に応じて、時間ズレ許容量ＴＧＴを決定する。時間ズレ許容量ＴＧＴは、判定したエリアの人口密度が高いほど小さい値、人口密度が低いほど大きい値を設定する。
【００６２】
時間ズレ許容量ＴＧＴを設定したならば、現在時刻から時間ズレ許容量ＴＧＴだけ過去の時点までをマッチング許可時間範囲７とし、これをマッチング条件の要素として追加する。そして、マッチング許可時間範囲７の時間範囲において、プレーヤ２（２ａ）の所在位置を中心としたマッチング許可位置範囲３に居る（それが過去の時点ならば正しくは「居た」）プレーヤ２（２ｂ）をマッチング相手として選択することとする。
よって、プレーヤ２（２ａ）が、同じゲームをプレイしているプレーヤが少ないと推定されるエリアに居て、同時刻にプレーヤが同じようにサーバシステム１１００にアクセスしている可能性が低くとも、データ交換の機会、すなわちマッチングの機会が更に得易くなる。尚、マッチング許可時間範囲７は、現在時刻から時間ズレ許容量ＴＧＴだけ過去と未来に設定しても良いし、現在時刻から未来に向けて設定しても良い。
【００６３】
さて、マッチング許可時間範囲７の時間範囲において、マッチング許可位置範囲３に居る或いは居たプレーヤを抽出する方法としては、サーバシステム１１００が各プレーヤ２の位置履歴を逐次記憶し、その位置履歴の中に、マッチング許可時間範囲７の時間範囲においてマッチング許可位置範囲３が含まれるかを判定するとしても良い。
【００６４】
しかし、多数のプレーヤの膨大な位置履歴についてマッチング許可位置範囲３が含まれるかを判定するための処理負荷を考慮して、本実施形態では処理負荷軽減の工夫を加えている。具体的には、データ交換を希望するプレーヤ２（２ａ，２ｂ，２ｃ）が、データ交換用にそれぞれが用意した提供情報を、サーバシステム１１００に初回送信した時点の位置に仮想世界（現実世界で測位した位置情報を用いて座標を特定できる仮想空間）に設置されるものと見なす。つまり、マッチング許可位置範囲３が含まれるかを判定する対象を位置履歴全体ではなく、仮想世界に設置されたその時の時点に限定することで処理負荷の軽減を図る。
【００６５】
図６は、提供情報を仮想空間に設定する考え方に基づくマッチング候補の選択方法の原理を説明するための概念図である。
サーバシステム１１００は、各携帯型ゲーム装置１４００（１４００ａ、１４００ｂ、１４００ｃ）から、識別情報と、位置情報と、提供情報とを受信すると、それら受信した情報を含む仮想設置データを生成する。これにより、各携帯型ゲーム装置１４００（１４００ａ、１４００ｂ、１４００ｃ）で準備された提供情報に相当する仮想ボックス１６（１６ａ、１６ｂ、１６ｃ）を仮想世界２２に設置したものとみなす。
【００６６】
そして、プレーヤ２（２ａ）のマッチング相手を選択しようとする場合、マッチング許可時間範囲７の時間範囲において設定された仮想ボックス１６を１次抽出し、１次抽出した仮想ボックス１６の中から、プレーヤ２（２ａ）の仮想ボックス１６（１６ａ）の設置位置を基点とするマッチング許可位置範囲３に設定されている仮想ボックスを２次抽出する。そして、２次抽出された中から所定数（１対１のデータ交換なら１つ、１対多や、複数で巡回的にデータ交換するなら複数）を選択し、選択された仮想ボックス１６を仮想設置した他プレーヤ（厳密には、当該他プレーヤのユーザ端末）をマッチング相手（厳密にはマッチング相手機）とする。
【００６７】
［機能ブロックの説明］
次に、上述のようなデータ交換を実行するための機能構成例について説明する。
図７は、本実施形態におけるユーザ端末である携帯型ゲーム装置１４００の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態のユーザ端末は、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、測位信号受信部３８０と、記憶部５００とを備える。
【００６８】
操作入力部１００は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボールといった直接プレーヤが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサなど、運動や姿勢を検知する素子などによっても実現できる。図２の方向入力キー１４０２やボタンスイッチ１４０４、タッチパネル１４０７，１４０９がこれに該当する。
【００６９】
処理部２００は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００を含む携帯型ゲーム装置１４００の各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置１４００の動作を制御する。図２では制御ユニット１４５０が処理部２００に該当する。
そして、処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０と、測位制御部２８０とを備える。
【００７０】
ゲーム演算部２１０は、ビデオゲームを実行するための各種処理を実行する。例えば、（１）仮想３次元空間内に各種オブジェクトを配置してゲーム空間を形成し、そこにプレーヤキャラクタ１０や敵キャラクタ１２のキャラクタオブジェクトを配置する処理、（２）プレーヤキャラクタ１０を操作入力部１００からの操作入力に応じて動作させる処理、（３）敵キャラクタ１２を自動的に移動及び動作させるいわゆるＡＩ制御をする処理、（４）プレーヤキャラクタ１０と敵キャラクタ１２の攻撃や接触の判定処理、（５）攻撃によるダメージの反映処理、（６）プレーヤキャラクタ１０及び敵キャラクタ１２の様子を撮影する仮想カメラの位置や姿勢など撮影パラメータを自動制御する処理、（６）プレーヤキャラクタ１０へ装備させる武装アイテム１４の選択処理、（７）アイテムの獲得や消費の処理、（８）ゲーム結果の算出処理、などを実行する。その他、テクスチャの展開、ヒット判定、フラグ設定などビデオゲームの実行に必要な各種処理を実行する。
【００７１】
そして、本実施形態のゲーム演算部２１０は、データ交換制御部２１２と、日時やタイマーなどの計時処理、カウンタの計数処理を実行する計時カウント部２１４とを含む。
【００７２】
データ交換制御部２１２は、データ交換の準備と、実行に関する各種処理を実行する。具体的には、（１）所定のデータ交換準備操作を検知した場合に、データ交換用の情報を選択するために武器アイテム１４の一覧から何れかを選択させる処理を実行する。また、（２）データ交換用の情報を含む提供情報の生成処理、（３）所定のデータ交換要請操作を検知した場合に位置情報を取得し、サーバシステム１１００にアクセスして、取得した位置情報とともに未送信の提供情報を送信する処理、（４）サーバシステム１１００からデータ交換で受領したデータ（相手が用意した提供情報）を、ゲーム内で使用可能にする処理、などを実行する。
【００７３】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）や、音声合成ＩＣなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７４】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図２ではスピーカ１４１０がこれに該当する。
【００７５】
画像生成部２６０は、例えば、ＧＰＵ（Graphics Processing Unit）、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、ビデオ信号ＩＣ、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ＩＣメモリ、テクスチャデータの展開用に使用されるＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（例えば１／６０秒）で１枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部３６０に出力する。
【００７６】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。
本実施形態では、図２の第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８が該当する。
【００７７】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置（例えば、図１の携帯電話基地局４や無線基地局６）とのデータのやりとりを実現する。
【００７８】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図２の無線通信モジュール１４１２がこれに該当する。
【００７９】
測位制御部２８０は、測位信号受信部３８０（例えば、図２のＧＰＳアンテナ１４２８）で受信した、測位システムが提供する信号から位置情報を求める。図２のＧＰＳモジュール１４２４がこれに該当する。測位制御部２８０及び測位信号受信部３８０のハードウェア及び位置情報の算出方法は、利用する測位システムの仕様に準拠するものとする。
【００８０】
記憶部５００は、処理部２００に携帯型ゲーム装置１４００をコンピュータとして統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図２では制御ユニット１４５０が搭載するＩＣメモリやメモリカード１４４０がこれに該当する。
【００８１】
本実施形態では、記憶部５００はシステムプログラム５０４と、ゲームプログラム５０６とを記憶している。システムプログラム５０４は、携帯型ゲーム装置１４００のコンピュータとしての入出力の基本機能を実現するためのプログラムである。ゲームプログラム５０６は、処理部２００が読み出して実行することによってゲーム演算部２１０としての機能を実現させるためのアプリケーションソフトであるが、システムプログラム５０４の一部として組み込まれた構成であっても良い。
尚、特定のウェブサイトからゲーム画面表示やゲーム進行に必要なデータを受信してゲーム画面の表示やゲームを進行させ、操作入力部１００に為された操作入力に応じた要求をウェブサイトに返信し、更なるゲーム画面やゲーム進行に必要な情報の提供を受けるいわゆる「ウェブゲーム」「ブラウザゲーム」として実現することもできる。その場合には、ゲームプログラム５０６を専用のアプリケーションソフトとして構成するのではなく、ウェブブラウザプログラムや、スクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインなどで構成するとしても良い。
【００８２】
また、記憶部５００には、予め用意されるデータとして、キャラクタ毎に用意されるキャラクタ設定データ５１０と、ゲーム空間設定データ５１２と、アイテム設定データ５１４とが記憶されている。また、ゲームの準備や進行に伴って随時生成や更新が行われるデータとして、プレイデータ５２０が記憶される。その他、ゲームの進行に係る処理を実行するにあたり必要となるデータ（例えば、タイマー値やカウンタ）なども適宜記憶されるものとする。
【００８３】
キャラクタ設定データ５１０は、ゲームに登場するプレーヤキャラクタ１０（１０ａ，１０ｂ，１０ｃ）や敵キャラクタ１２などキャラクタ毎に用意され、対応するキャラクタを表示させ動作制御するための各種データ、出現条件及び出現座標などを格納している。
【００８４】
ゲーム空間設定データ５１２は、ゲームの舞台となるゲーム空間を３次元仮想空間内に形成し表示させるための各種データを格納する。例えば、遠景とする画像、背景物となる各種オブジェクトのモデルデータやテクスチャデータ、地面の凹凸を定義するモデルデータやテクスチャデータなどを含む。また、仮想カメラの初期配置位置に関する情報を含むとしても良い。これらは、公知のビデオゲームにおける同種のデータと同様に実現される。
【００８５】
アイテム設定データ５１４は、ゲーム内に登場する各種アイテムを表示させ、ゲーム中で使用するための各種情報を格納する。例えば、アイテムの識別情報と対応づけて、モデルデータ、テクスチャデータ、使用時に発動するエフェクトデータ、攻撃力や防御力といったダメージ算出に使用されるパラメータ値、出現条件などが設定される。武器アイテム１４、仮想ボックス１６に関するデータも当該データに含まれる。
【００８６】
プレイデータ５２０は、ゲームの進行状況を示す各種データを格納する。例えば、プレーヤキャラクタ１０及び敵キャラクタ１２のゲーム世界での位置情報と動作制御に関する情報、ヒットポイントなどを含む。また、プレーヤが獲得したポイント、プレーヤキャラクタ１０の成長レベルやスキルの情報、仮想カメラの位置や姿勢などの撮影パラメータなども格納する。
【００８７】
また、プレイデータ５２０は、プレーヤが所持しているアイテムを登録する所持アイテムリスト５２２を含む。所持アイテムリスト５２２には、仮想ボックス１６の所持数を示すデータ交換許可アイテム数５２４と、データ交換用に設定された情報（本実施形態では、少なくとも武器アイテム１４の識別情報）を含む提供情報５２６と、を含む。提供情報５２６は更に、当該提供情報がサーバシステム１１００に送信されると「１」に設定される送信フラグ５２８を含む。
【００８８】
図８は、本実施形態におけるサーバシステム１１００の機能構成例を示す機能ブロック図である。本実施形態におけるサーバシステム１１００は、操作入力部１０２と、サーバ処理部２０２と、画像表示部３６２と、通信部３７２と、サーバ記憶部５０２とを備える。
【００８９】
操作入力部１０２は、サーバの管理のための各種操作を入力するための手段であり、携帯型ゲーム装置１４００の操作入力部１００と同様に実現される。図１のキーボード１１０６がこれに該当する。
【００９０】
サーバ処理部２０２は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、操作入力部１０２やサーバ記憶部５０２を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部１０２からの操作入力信号、通信回線１を介してアクセスしてきた外部装置から受信した信号等に基づいて各種の演算処理を実行して、サーバシステム１１００の動作を統合的に制御する。そして、本実施形態では、ゲームサーバ演算部２２０と、画像生成部２６２と、通信制御部２７２とを含む。
【００９１】
ゲームサーバ演算部２２０は、本実施形態のＲＰＧを実行するユーザ端末へ各種サービス機能を提供するためのサーバとしての機能を担う。具体的には、所在情報取得制御部２２１と、仮想設置データ管理部２２２と、マッチング管理部２２４と、マッチング時処理部２２６と、日時やタイマーなどの計時処理、カウンタの計数処理を実行する計時カウント部２２８とを含む。
【００９２】
所在情報取得制御部２２１は、アクセスしているユーザ端末の所在情報を取得するための処理を実行する。本実施形態では、携帯型ゲーム装置１４００などのユーザ端末がアクセスする際に送信してきた位置情報を「端末位置」とし、位置情報を受信した時点でサーバシステム１１００で保持している現在日時を「所在時刻」とする。つまり、端末位置及び所在時刻が本実施形態におけるユーザ端末の所在情報となる。尚、所在情報の取得方法はこれに限らず、例えば携帯電話基地局４や無線基地局６の設置位置情報を取得する公知技術を用いて、得られた設置位置情報をもって端末位置としても良い。また、ユーザ端末がアクセスした時にＧＰＳを利用して取得できる絶対時間をサーバシステム１１００に送信する構成とした場合には、アクセス時に受信した絶対時間を所在時間としても良い。
本実施形態では、図１の仮想設置データ管理サーバ１１１０が所在情報取得制御部２２１としての機能を担うが、別途ブレードサーバ１１０２を割り当てても良い。
【００９３】
仮想設置データ管理部２２２は、ユーザ端末から受信したデータ交換用のデータを管理する。具体的には、仮想設置データ管理部２２２は、ユーザ端末から受信した識別情報と、位置情報と、提供情報とに基づいて仮想設置データを生成し、サーバ記憶部５０２の端末登録データ５４０に格納する。そして、データ交換された仮想設置データや生成されてから期限が過ぎたデータを抹消するなどの管理に係わる処理を実行する。つまり、仮想ボックス１６を仮想世界２２に設置したり、撤去することに関する処理を実行する。図１の仮想設置データ管理サーバ１１１０がこれに該当する。
【００９４】
マッチング管理部２２４は、マッチングに必要な各種情報を算出し、それらを用いてデータ交換する対象を組み合わせする。図１のマッチングサーバ１１１２がこれに該当する。そして、本実施形態のマッチング管理部２２４は、マッチング条件設定部２２４ａと、成否抽選部２２４ｂとを含む。
【００９５】
マッチング条件設定部２２４ａは、データ交換を要請している一のユーザ端末の端末位置及び所在時刻を用いて、当該端末位置を含むマッチング許可位置範囲３と当該所在時刻を含むマッチング許可時間範囲７とをマッチング条件として定める。
【００９６】
より具体的には、マッチングを要請しているプレーヤ２（２ａ）の携帯型ゲーム装置１４００ａから受信した位置情報に基づいてプレーヤ２（２ａ）の居るエリアを判定する。より具体的には、マッチングを要請している携帯型ゲーム装置１４００ａに対応づけられている仮想設置データの設置位置に基づいて接続エリアを判定する。そして、マッチングパラメータ設定データ５３２を参照して、判定したエリアにおける推定プレーヤ密度に応じて位置ズレ許容量ＰＧＴと、時間ズレ許容量ＴＧＴとを決定する。
【００９７】
位置ズレ許容量ＰＧＴの決定により、マッチング許可位置範囲３が決まることとなる。
また時間ズレ許容量ＴＧＴが決まると、当該プレーヤ２（２ａ）或いは彼の携帯型ゲーム装置１４００ａの仮想設置データの設置日時を基準として、時間的に過去・未来の少なくとも一方又は両方（本実施形態では過去のみ）に時間ズレ許容量ＴＧＴの幅を有するマッチング許可時間範囲７が決まることとなる。
【００９８】
更に、マッチング条件設定部２２４ａは、位置ズレ許容量ＰＧＴ及び時間ズレ許容量ＴＧＴを設定する際、所在時刻が予め定められた何れの時間帯に属するかに応じて位置ズレ許容量ＰＧＴ及び時間ズレ許容量ＴＧＴを更に調整することができる。これにより、推定されるプレーヤ密度が時間帯に応じて増減する現象に対応させることができる。
そして、マッチング管理部２２４は、両範囲内であることを選択条件に含めてマッチング候補を選択し、マッチング候補内からマッチング相手端末を確定する。
【００９９】
また、マッチング条件設定部２２４ａは、マッチングそのものの発生確率に相当する成功確率（マッチング成功確率）を、判定したエリアにおける推定プレーヤ密度に応じて設定する。例えば、推定プレーヤ密度が高いほど成功確率を低くし、推定プレーヤ密度が低いほど成功確率を高く設定する。
【０１００】
成否抽選部２２４ｂは、設定された成功確率で抽選処理を実行する。マッチング管理部２２４は、抽選処理で当選したらマッチングを実行し、ハズレならばマッチングを行わない。つまり、マッチング管理部２２４は、マッチング時に実行される処理の実行を抑止する機能を果たすことができる。
【０１０１】
マッチング時処理部２２６は、マッチングを希望する一のユーザ端末と、当該端末に応じて選択されたマッチング相手端末との間でマッチング時処理を実行する。本実施形態では、図１のデータ交換サーバ１１１４がこれに該当する。また、本実施形態では、マッチング時処理として、マッチングされたユーザ端末間でゲーム内で使用できるデータの交換を実現するための処理を実行するが、一方から他方へ一方的な情報供与をする処理を実行できる構成としても良い。
【０１０２】
画像生成部２６２は、サーバシステム１１００の保守に関する画像を生成し、画像表示部３６２へ出力する。
画像表示部３６２は、画像生成部２６２から入力される画像信号に基づいてシステム管理のための各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１のディスプレイモニタ１１０８がこれに該当する。
【０１０３】
通信制御部２７２は、データ通信に係るデータ処理を実行し、通信部３７２を介して外部装置とのデータのやりとりを実現する。
【０１０４】
通信部３７２は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、回線終端装置、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【０１０５】
サーバ記憶部５０２は、サーバ処理部２０２にサーバシステム１１００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームサーバ装置として機能させるために必要なプログラム、各種データ等を記憶する。また、サーバ処理部２０２の作業領域として用いられ、サーバ処理部２０２が各種プログラムに従って実行した演算結果など一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図１ではブレードサーバ１１０２が搭載するＩＣメモリやストレージ１１４０などの情報記憶媒体がこれに該当する。
【０１０６】
そして、本実施形態のサーバ記憶部５０２は、サーバシステムプログラム５０３と、ゲームサーバプログラム５０５と、接続エリア判定基準データ５３０と、マッチングパラメータ設定データ５３２とを記憶する。また、ゲームサーバとしての機能実行にともない、生成・管理される情報として、端末登録データ５４０と、データ交換待ちリスト５６０と、データ交換中リスト５６２と、を記憶する。その他、サーバ装置として機能するのに必要な、タイマー、カウンタ、フラグなどの情報を格納することができる。
【０１０７】
サーバシステムプログラム５０３は、サーバ処理部２０２が読み出して実行することでサーバシステム１１００に必要な基本的な入出力機能を実現する為のシステムプログラムである。ゲームサーバプログラム５０５は、本実施形態のＲＰＧを実行するユーザ端末のアクセスに応答して、各種サービスを提供するゲームサーバ装置として機能させるためのプログラムである。サーバ処理部２０２が読み出して実行することでゲームサーバ演算部２２０としての機能を実現できる。
【０１０８】
接続エリア判定基準データ５３０は、想定されるプレーヤの居住範囲（例えば、日本国内向けに販売されるゲームであれば「日本」に相当）を人口密度が明らかとなっている複数のエリア、或いは概ね人口密度が推定できる複数のエリアに分割し、各エリアの範囲を定義する情報が格納されている。具体的には、エリアの外周を定義する複数の地点を、ユーザ端末で取得される位置情報（例えば、緯度・経度）と同じデータフォーマットで規定する。ユーザ端末で取得される位置情報が緯度、経度であれば、例えば、緯度の範囲及び経度の範囲として規定される。
【０１０９】
マッチングパラメータ設定データ５３２は、マッチング条件として設定できるパラメータ値を定義する。例えば、図９に示すように、適用時間帯５３３毎にデータセットを定義する。一のデータセットでは、接続エリア５３４と対応づけて、成功確率５３５と、位置ズレ許容量設定値５３６と、時間ズレ許容量設置値５３７とを格納する。勿論、その他のパラメータ値を利用する場合には、適宜含めることができる。
【０１１０】
適用時間帯５３３は、当該データセットが適用される時間条件を定義する。時間帯の設定は、早朝、日中、深夜など日常生活において、プレーヤ密度が変化する区分に応じて適宜設定することができる。また、設定できる時間は１日の時間帯に限らず、休日、平日、祝祭日、月別、季節別、特定の日時などを含めることもできる。
【０１１１】
接続エリア５３４は、日本の県単位の例を示しているがこれに限らない。行政単位としての市町村や都市部の区を用いても良い。これらの単位は、人口密度が明確或いは高い確度で推定できるので好適である。しかし、推定されるプレーヤ密度をゲーム提供者サイドが、大まかに想定する考えを採用すれば、現実の人口密度が明確でない、或いはそこそこの確度で推定できる範囲を単位とすることもできる。例えば、人通りの多い繁華街や通り、駅やバスステーションなどの交通の要所、学校や競技場、特定の店舗などの施設、これらを単位として用いることもできる。勿論、それらが混在しても良い。接続エリア判定基準データ５３０は、接続エリア５３４として設定可能なエリアを定義している。
【０１１２】
成功確率５３５、位置ズレ許容量設定値５３６及び時間ズレ許容量設定値５３７は、対応する接続エリアにて推定されるプレーヤ密度に応じて設定されている。
成功確率５３５は、マッチングそのものの実行される確率を設定するので、推定プレーヤ密度が高いほど低い確率、推定プレーヤ密度が低いほど高い確率が設定されている。
位置ズレ許容量設置値５３６及び時間ズレ許容量設定値５３７は、推定プレーヤ密度が高いほど小さい値、推定プレーヤ密度が低いほど大きい値が設定されている。尚、前者は、ユーザ端末で取得できる位置情報と比較できるように同じデータフォーマットであると好ましい。
【０１１３】
また、適用時間帯５３３別に着目すれば、推定されるプレーヤ密度が相対的に低くなる時間帯の成功確率５３５や、位置ズレ許容量設定値５３６、時間ズレ許容量５３７を相対的に大きく設定してマッチング条件が緩やかになるように設定されている。反対に、プレーヤ密度が相対的に高くなる時間帯の成功確率５３５や、位置ズレ許容量設定値５３６、時間ズレ許容量５３７を相対的に小さく設定されている。
【０１１４】
端末登録データ５４０は、ユーザ端末個別の状態を示す各種パラメータ値を格納する。例えば、図１０に示すように、予めユーザ登録されたタイミングなどにユーザ端末毎に端末ステータスデータ５４２が用意される。一つの端末ステータスデータ５４２は、端末識別情報５４３と、オンラインフラグ５４４と、位置履歴データ５４５と、仮想設置データ５４６とを含む。
【０１１５】
端末識別情報５４３は、対応する端末を個体識別する情報である。通信回線１を介してデータ通信する際に使用する識別情報を含むとしても良い。
オンラインフラグ５４４は、当該ユーザ端末がサーバシステム１１００にアクセスしていれば「１（オンライン）」を格納する。
位置履歴データ５４５は、当該ユーザ端末から受信した位置情報を格納する端末位置５４５ａと、受信日時を格納する所在時刻５４５ｂとを対応づけて蓄積する。
【０１１６】
仮想設置データ５４６は、当該ユーザ端末とのデータ交換に必要な情報を格納する。例えば、データＩＤ５４６ａと、当該データが生成されたときに受信した位置情報（つまりはその時の端末位置）を格納する設置位置５４６ｂと、生成された日時を格納する設置日時５４６ｃと、データ交換用として受信した提供情報５４６ｄ（仮想ボックス１６の中身）と、データ交換が実行されてマッチング相手端末から供与された情報を格納する受領情報５４６ｅとを含む。
受領情報５４６ｅは、初期状態は何も情報が入っていない「空」を示す値が格納されており、データ交換が実行されると具体的な情報が格納される。
【０１１７】
図８に戻り、データ交換機ちリスト５６０は、マッチングの結果として、データ交換するユーザ端末の組み合わせ情報を格納する。例えば、マッチング組毎のユーザ端末の識別情報を格納する。
【０１１８】
データ交換中リスト５６２は、既にマッチングされデータ交換の処理が行われているユーザ端末を登録する。例えば、データ交換中のユーザ端末の識別情報の組み合わせを格納する。
【０１１９】
［処理の流れの説明］
次に、本実施形態におけるデータ交換に係る各種処理の流れについて説明する。
［１・ゲーム実行に係る処理］
図１１は、ユーザ端末である携帯型ゲーム装置１４００での処理の流れを説明するためのフローチャートである。ここで説明する一連の処理の流れは、携帯型ゲーム装置１４００の処理部２００がゲームプログラム５０６を読み出して実行することによって、実現される。尚、ゲームの進行そのものに関する処理や、レンダリングされたゲーム空間の画像に各種情報表示を合成しゲーム画面を生成する処理、並びにゲーム音の生成に関する説明は省略するが、公知のＲＰＧにおける制御と同様にして適宜行われるものとする。
【０１２０】
携帯型ゲーム装置１４００の処理部２００は、ゲームを開始したならば（ステップＳ２）、現在、自機がゲーム休止モードに設定されているかを判定する（ステップＳ４）。ゲーム休止モードは、ゲーム操作（プレーヤキャラクタ１０の移動や行動の選択、アイテムの管理などの操作）の受付を一時休止している状態であって、携帯タイプのユーザ端末を持ち歩く時に適したモードである。
【０１２１】
もし、自機がゲーム休止モードになっていなければ（ステップＳ４のＮＯ）、処理部２００はゲーム演算処理を開始する（ステップＳ６）。すなわち、操作入力部１００からの操作入力に応じてプレーヤキャラクタ１０を動作させる。また、ＮＰＣである敵キャラクタ１２の自動制御、データ交換許可アイテム（仮想ボックス１６；図３参照）のドロップなどを行い、ゲームを進行させる。
【０１２２】
ゲームが進行した結果、データ交換許可アイテムを取得したならば（ステップＳ８のＹＥＳ）、所持アイテムリスト５２２のデータ交換許可アイテム数５２４を加算する（ステップＳ１０）。
【０１２３】
また、所定のデータ交換準備操作を検出した場合には（ステップＳ１２のＹＥＳ）、処理部２００はデータ交換準備処理を実行する（ステップＳ１４）。
【０１２４】
データ交換準備処理は、プレーヤがデータ交換用のデータを選択し、データ交換用のデータをまとめた提供情報５２６を生成する処理である。
例えば、図１２に示すように、処理部２００は先ず、データ交換許可条件を満たすかを判定する（ステップＳ２０）。データ交換許可条件とは、データ交換を実行許可するための条件であり、本実施形態ではデータ交換許可アイテムである仮想ボックス１６をプレーヤがゲーム内で入手・所持していることを条件としている。当該条件は、その他、プレーヤキャラクタ１０がゲーム世界の所定位置に居る、特別な敵キャラクタを倒し、特定のＮＰＣキャラクタに勝利した、特定のイベントをクリアしている、などゲーム内容に応じて適宜設定することができる。その都度、操作入力を要求する構成では、同ステップにおいて、所定の操作入力（例えば、決められた順に決められた種類のボタンスイッチ１４０４を時間内に入力するなど）を要求する処理と、その判定処理を含む構成とすれば良い。
【０１２５】
そして、データ交換許可条件を満たすと判定された場合には（ステップＳ２０のＹＥＳ）、処理部２００はアイテム選択処理を実行する（ステップＳ２２）。
アイテム選択処理は、本実施形態における交換用のデータの選択または入力を補佐する処理である。例えば、ゲーム画面に現在所持している武器アイテム１４の一覧を表示し、操作入力部１００への入力に応じてその何れかを選択する処理を実行する。交換用のデータとして「パスワード」などのテキスト情報を設定できる仕様とするならば、ソフトウェアキーボードをゲーム画面に表示させ、パスワードとするテキスト入力を補佐する処理を実行すれば良い。
【０１２６】
アイテム選択が行われたならば、そのアイテムの識別情報を含む提供情報５２６を生成し、記憶部５００に記憶させる（ステップＳ２４）。この時、送信フラグ５２８を「０（未送信）」に初期化しておく。そして、データ交換の対価支払い処理を実行し（ステップＳ２６）、データ交換準備処理を終了する。
尚、対価支払いは、本実施形態ではデータ交換許可アイテムである仮想ボックス１６の所有数を「１」減らすことである。ゲームの内容によっては、プレーヤキャラクタ１０の所持金やヒットポイントを減らしたりすることで対価を支払うとしても良い。
【０１２７】
図１１のフローチャートに戻って、もし所定のデータ交換要請操作を検出したならば（ステップＳ４０のＹＥＳ）、処理部２００はデータ交換要請処理を実行し、データ交換の実行をサーバシステム１１００に要請するとともに、交換の成果等を受領する（ステップＳ４２）。
【０１２８】
データ交換要請処理では、例えば図１３に示すように、処理部２００は、送信フラグ５２８が「０（未送信）」の提供情報５２６が有るかを判定する（ステップＳ４４）。そして、該当する提供情報５２６がある場合には（ステップＳ４４のＹＥＳ）、サーバ接続処理を実行する（ステップＳ４６）。詳細は後述するが、サーバ接続処理を実行することにより、送信フラグ５２８が「０（未送信）」の提供情報５２６をサーバシステム１１００へ送信して、データ交換の実行を要請することができる。このとき、既に提供情報５２６を送信したことがあり、それについてデータ交換が実現していれば、成果として情報（受領情報）を受信すること、などができる。
【０１２９】
次に、処理部２００は、当該提供情報５２６の送信フラグ５２８を「１（送信済）」に変更し（ステップＳ４８）、当該提供情報５２６に含まれる情報をゲーム内で使用できないように設定を変更し（ステップＳ５０）、データ交換要請処理を終了する。
【０１３０】
本実施形態のデータ交換は、武器アイテム１４の物々交換的位置づけとなる。ステップＳ５０では、データ交換対象としてサーバシステム１１００に一時的に預けた武器アイテム１４は、データ交換が成功するか失敗するかの結果が出るまで、一時的に使えなくなる状態を作り出す。
【０１３１】
図１１のフローチャートに戻って、ゲーム休止モード設定操作を検出した場合には（ステップＳ６０のＹＥＳ）、処理部２００はゲーム休止モードに変更し、ゲーム操作の受付を一時休止させる（ステップＳ６２）。反対に、ゲーム休止モード解除操作を検出したならば（ステップＳ６４のＹＥＳ）、ゲーム休止モードを解除する（ステップＳ６６）。
【０１３２】
ゲーム休止モードが設定されていても、また解除されていたとしても、所定周期が到来すると（ステップＳ６８のＹＥＳ）、処理部２００は自動的にサーバ接続処理を実行する（ステップＳ７０）。そして、これまでのステップは、ゲーム終了条件を満たすと判定されるまで繰り返される（ステップＳ１５０）。
【０１３３】
［２・サーバ接続処理、仮想設置データ管理処理］
ではここで、サーバ接続処理について説明する。
図１４は、本実施形態におけるサーバ接続処理の流れを説明するためのフローチャートである。同処理では、処理部２００は先ず自機の位置情報を取得する（ステップＳ８０）。本実施形態では、ＧＰＳを用いて位置情報を取得するが、携帯電話基地局４や無線基地局６から位置情報を取得できる場合には、これを利用するとしても良い。
【０１３４】
そして、通信回線１に接続できて（ステップＳ８２のＹＥＳ）、ゲームサーバ１１００に接続できる状態で（ステップＳ８４のＹＥＳ）、「未送信」の提供情報５２６が無ければ（ステップＳ８６のＮＯ）、自機の識別情報と、先に取得した最新の位置情報とをサーバシステム１１００に送信する（ステップＳ８８）。一方、「未送信」の提供情報５２６が残っていれば（ステップＳ８６のＹＥＳ）、自機の識別情報と、先に取得した最新の位置情報と、残っていた提供情報５２６とをサーバシステム１１００に送信する（ステップＳ９０）。この際、自機で計時している日時を所在時刻の情報として併せて送信してもよい。
【０１３５】
データ交換要請処理においてサーバ接続処理を実行すると（図１３のステップＳ４６参照）、ステップＳ９０によって、準備した提供情報５６８がサーバシステム１１００に送信されることになる。勿論、準備はされているがデータ交換要請処理が行われなくとも、周期的にサーバ接続処理が実行されるタイミング（図１１のステップＳ７０参照）で自動的にサーバシステム１１００に送信されることになる。
【０１３６】
ここで、サーバ接続処理によるデータ送信に対応するサーバシステム１１００側での処理の流れについて説明する。
図１５は、サーバシステム１１００、より具体的には仮想設置データ管理サーバ１１１０により実行される仮想設置データ管理処理の流れを説明するためのフローチャートである。当該処理は、仮想設置データ管理サーバ１１１０において常時実行状態にある。
【０１３７】
サーバ処理部２０２は、ユーザ端末から端末の識別情報と位置情報とを受信すると、（ステップＳ１００のＹＥＳ）、送信元のユーザ端末のオンラインフラグ５４４を変更して「オンライン」として認識できるようにする（ステップＳ１０２）。そして、受信した最新の位置情報を、最新の端末位置５４５ａとして当該送信元のユーザ端末の位置履歴データ５４５に、所在時刻５４５ｂとともに追加する（ステップＳ１０４；図１０参照）。所在時刻５４５ｂは、サーバシステム１１００内部で計時している日時情報から取得してもよいし、ユーザ端末から送信される情報の中から取得してもよい。
【０１３８】
もし、端末の識別情報や位置情報とともに提供情報を受信した場合には（ステップＳ１０６のＹＥＳ）、送信元のユーザ端末の端末ステータスデータ５４２に、新たに仮想設置データ５４６を設定する（ステップＳ１０８；図１０参照）。尚、新たに設定される仮想設置データ５４６の受領情報５４６ｅは、何も格納されていないことを意味する所定値（例えば、ＮＵＬＬ）を格納し初期化しておく。
【０１３９】
次に、サーバ処理部２０２は、送信元のユーザ端末の端末ステータスデータ５４２を参照し、受領情報５４６ｅが「空」でない仮想設置データ５４６を検索する。
受領情報５４６ｅには、データ交換の成果として、マッチングされた他プレーヤから提供された情報（他プレーヤが設定した仮想ボックス１６（１６ｂ）の中身；図３参照）が格納される。よって、受領情報５４６ｅが「空」でない仮想設置データがあるということは、他プレーヤとのデータ交換が成功したことを意味する。
【０１４０】
そして、受領情報５４６ｅが「空」でない仮想設置データ５４６が有る場合（ステップＳ１１０のＹＥＳ）、サーバ処理部２０２は、当該仮想設置データに含まれる情報（設置位置情報、設定日時、提供情報、受領情報など）を、送信元のユーザ端末へ送信し（ステップＳ１１２）当該仮想設置データを削除する（ステップＳ１１４）。
【０１４１】
また、サーバ処理部２０２は、一定時間以上、識別情報が受信されていないユーザ端末のオンラインフラグ５４４を変更して「オフライン」として認識できるようにする（ステップＳ１２２）。
【０１４２】
ここで、ユーザ端末でのサーバ接続処理の流れに戻ると（図１４参照）、サーバシステム１１００からステップＳ１１２で送出された受領情報５４６ｅを受信した場合（ステップＳ１４０のＹＥＳ）、携帯型ゲーム装置１４００の処理部２００は、データ交換が成功した旨の通知処理を実行する（ステップＳ１４２）。
例えば、ゲーム休止モードでなければ、ゲーム画面に、サーバシステム１１００からステップＳ１１２で送出された設置位置５４６ａの周囲の地図画面を表示するとともに、設置位置を地図内に表示し、受領情報５４６ｅとされる武器アイテム１４のアイコンなどを表示すると好適である。
【０１４３】
次いで、受信した受領情報５４６ｅをゲーム内で使用可能に設定する（ステップＳ１４４）。本実施形態では、武器アイテム１４を交換するので、受信した受領情報５４６ｅが示す武器アイテム１４を、所持アイテムリスト５２２（図７参照）に追加する。受領情報５４６ｅが、パスワードやヒントなどのテキスト情報であれば、ゲーム中に所定の閲覧操作で閲覧できるようにプレイデータ５２０内に記憶すると良い。
【０１４４】
また、サーバシステム１１００からステップＳ１１８で送出された「期限切れ通知」を受信した場合（ステップＳ１４６のＹＥＳ）、処理部２００は、データ交換ができなかったと見なし、同時に受信した提供情報５４６ｄが示す武器アイテム１４（これは、プレーヤが以前選択した）のオリジナルを使用可能に戻して（ステップＳ１４８）、サーバ接続処理を終了する。尚、データ交換が、単に情報の相互供与のサービスとしての位置づけであるならば、ステップＳ１４６〜Ｓ１４８は省略することができる。
【０１４５】
［３・マッチング処理］
次に、サーバシステム１１００、より具体的にはマッチングサーバ１１１２により実行されるマッチング処理について説明する。当該処理は、マッチングサーバ１１１２において常時実行状態にある。
【０１４６】
図１６は、本実施形態におけるマッチング処理の流れを説明するためのフローチャートである。当該処理において、サーバ処理部２０２は先ず、データ交換中ではないユーザ端末で、且つ受領情報５４６ｅが初期化された空（カラ）のままの仮想設置データ５４６を有するユーザ端末を、データ交換を要請していてマッチングを要する対象機、すなわち「マッチング対象機」として選択する（ステップＳ１７０）。図６の例では、プレーヤ２（２ａ）がマッチング対象機として選択されることになる。もし、プレーヤ２（２ｂ）やプレーヤ２（２ｃ）についても、まだ受領情報５４６ｅが初期化された空（カラ）のまま残っていれば、選択されることとなる。尚、データ交換中であるかは、データ交換中リスト５６２を参照して判定する。
【０１４７】
マッチング対象機を選択したならば、それら全てのマッチング対象機についてループＡの処理を実行し、マッチングの相手を選択・設定する（ステップＳ１８０〜Ｓ２６４）。
【０１４８】
具体的には、ループＡでは先ず、ループ処理対象機の仮想設置データ５４６の設置位置５４６ｂと、接続エリア判定基準データ５３０とを用いて当該ループ処理対象機の居る接続エリアを判定する（ステップＳ１８４）。
次いで、マッチングパラメータ設定データ５３２の中から、ループ処理対象機の仮想設置データ５４６の設置日時５４６ｃが適合する適用時間帯５３３のデータセットを選択して、先に判定した接続エリアに対応する成功確率５３５を読み出し、今回適用する成功確率を決定する（ステップＳ１８６）。尚、ステップＳ１８４及びステップＳ１８６では、ループ処理対象機の最新の端末位置５４５ａに代えて、現在時刻を用いるとしても良い。
【０１４９】
そして、決定した成功確率を当選確率とする抽選処理を実行する（ステップＳ１８８）。抽選の結果、当選しなければ（ステップＳ１９０のＮＯ）、サーバ処理部２０２は、マッチング失敗と見なしてループＡを終了する（ステップＳ２６４）。
【０１５０】
一方、抽選で当選した場合には（ステップＳ１９０のＹＥＳ）、サーバ処理部２０２はループ処理対象機のマッチング相手端末の選択を行う。具体的には、マッチングパラメータ設定データ５３２の中から、ループ処理対象機の仮想設置データ５４６の設置日時５４６ｃに適合する適用時間帯５３３のデータセットを選択し、ステップＳ１８４で判定した接続エリアに対応する位置ズレ許容量設定値５３６及び時間ズレ許容量設置値５３７を読み出し、今回適用する位置ズレ許容量ＰＧＴ及び時間ズレ許容量ＴＧＴを決定する（ステップＳ１９２）。これにより、実質的にマッチング許可位置範囲３と、マッチング許可時間範囲７とが決まることとなる（図６参照）。
【０１５１】
次いで、ループ処理対象機以外のマッチング対象機である他のユーザ端末の中から、当該他のユーザ端末の仮想設置データ５４６の設置日時５４６ｃと、ループ処理対象機の仮想設置データ５４６の設置日時５４６ｃとの時間ズレが、今回適用される時間ズレ許容量ＴＧＴ以下であるユーザ端末を１次抽出する（ステップＳ１９４；図１０参照）。
図６の例において、プレーヤ２ａ、２ｂ、２ｃ全員がマッチング対象機と選ばれていた場合、１次抽出の段階で、プレーヤ２（２ｃ）の携帯型ゲーム装置１４００ｃがマッチング対象外となる。この１次抽出された他のユーザ端末の、１次抽出の元となった仮想設置データ５４６を用いて２次抽出を行う。
【０１５２】
すなわち１次抽出された他のユーザ端末の中から、当該他のユーザ端末の１次抽出のもとになった仮想設置データ５４６の設置位置５４６ｂと、ループ処理対象機の設置位置５４６ｂとのズレが、今回適用される位置ズレ許容量ＰＧＴ以下となる仮想設置データを有するユーザ端末を２次抽出する（ステップＳ１９６）。
図６の例において、もしプレーヤ２（２ｃ）がプレーヤ２（２ｂ）と同時刻に、サーバシステム１１００にアクセスして提供情報を初回送信していたとしても、マッチング許可位置範囲３に入らないので、携帯型ゲーム装置１４００ｃはマッチング対象外となる。
【０１５３】
もし、２次抽出されたユーザ端末の数が「０」ならば（ステップＳ１９８のＹＥＳ）、サーバ処理部２０２は、マッチング相手端末が見つからなかったと見なしてループＡを終了する。もし、「０」でなければ（ステップＳ１９８のＮＯ）、２次抽出された中から、所定数をループ処理対象機の「マッチング相手端末」として選択する（ステップＳ２３０）。本実施形態では、１対１でデータ交換するので、マッチング相手端末は１台のみ選択されるが、１対多や複数の端末が巡回的にペアでデータ交換する構成では、複数選択する構成としても良い。
図６の例では、結果、プレーヤ２（２ｂ）の携帯型ゲーム装置１４００ｂがマッチング相手端末として選ばれることとなる。
【０１５４】
マッチング相手端末が確定したならば、サーバ処理部２０２は当該マッチング相手端末を、ステップＳ１７０で選択した「マッチング対象機」から除外し（ステップＳ２５０）、ループ処理対象機とマッチング相手端末のそれぞれの端末の識別情報を、データ交換待ちリスト５６０へ登録し（ステップＳ２５２）、ループＡを終了する。
【０１５５】
全てのマッチング対象機についてループＡを実行したならば、再びステップＳ１７０に戻って、新たなマッチング対象機の選択を行う。尚、ステップＳ１７０でマッチング対象機が１台も選択されなかった場合には、そのままループＡをスキップするものとする。
【０１５６】
［４・マッチング時処理］
次に、サーバシステム１１００、より具体的にはデータ交換サーバ１１１４により実行されるマッチング時処理について説明する。当該処理は、データ交換サーバ１１１４において常時実行状態にある。
【０１５７】
図１７は、本実施形態におけるマッチング時処理の流れを説明するためのフローチャートである。当該処理において、サーバ処理部２０２は先ず、データ交換待ちリスト５６０を参照して、処理待ちが残っているかを判定する。当該リストに登録されたまま残っている交換待ちの組があれば（ステップＳ２６０のＹＥＳ）、当該リストの登録順が最も古い組を選択し（ステップＳ２６２）、その組に含まれるユーザ端末を、今度はデータ交換中リスト５６２に登録する（ステップＳ２６２）。
【０１５８】
そして、選択した交換待ち組に含まれるユーザ端末間で、互いの提供情報５４６ｄを、相手の受領情報５６４ｅに複製・格納する（ステップＳ２６６）。これで、各プレーヤがデータ交換用に選択した情報が、交換相手の受領情報５６４ｅに設定されたことになる。
【０１５９】
次いで、サーバ処理部２０２は、選択した交換待ち組を、データ交換中リスト５６２から抹消し（ステップＳ２６８）、データ交換待ちリスト５６０からも抹消する（ステップＳ２７０）。尚、ステップＳ２６０で交換待ち組が無ければ、ステップＳ２６２〜Ｓ２７０はスキップされる。
【０１６０】
マッチング時処理により、マッチング処理により交換相手として組み合わされたユーザ端末それぞれの仮想設置データ５４０の受領情報５４６ｅが初期状態の空（カラ）ではなくなり、仮想設置データ管理処理（図１５参照）のステップＳ１１０で該当有りと判定されれば、ステップＳ１１２にてデータ交換の成果として受領情報５４６ｅがユーザ端末へ送信されることとなる。
【０１６１】
以上、本実施形態によれば、プレーヤが、同じゲームをプレイするプレーヤが少ない、或いは少ないと推測されるエリアでゲームプレイしていても、同じゲームをプレイするプレーヤが多い、或いは多いと推測されるエリアでプレイしていているに近いデータ交換の機会を得ることができるようになる。
【０１６２】
また、位置ズレ許容量と時間ズレ許容量の両方をゼロにし、成功確率を１００％に設定した場合、時間と位置の両方が同時に近接した場合にのみ発生するマッチング方法とすることもできる。
【０１６３】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用可能な実施形態が上述の実施形態に限定されるものではなく、適宜、構成要素の追加・省略・変更を施すことができる。
【０１６４】
［その１］
例えば、上記実施形態ではユーザ端末として携帯型ゲーム装置１４００を例示したが、据え置き型の家庭用ゲーム装置や業務用ゲーム装置として実現しても良い。更には“ゲーム装置”とされる電子機器（コンピュータ）に限らず、アプリケーションソフトが実行可能な携帯電話機（スマートフォン１３００；図１参照）や情報端末装置、コンパクトデジタルカメラ、音楽プレーヤ、パソコン、カーナビと言った電子機器も、プログラムを実行可能なコンピュータを内蔵している、或いはコンピュータそのものと言えるため、ユーザ端末とすることができる。
【０１６５】
［その２］
また、マッチング処理において、マッチングの相手を見つける地理的、時間的範囲（すなわちマッチング条件）は、仮想ボックス１６が設置された位置を中心とした半径が位置ズレ許容量ＰＧＴの球形範囲とする構成に限らない。
【０１６６】
例えば、サーバ処理部２０２のマッチング管理部２２４が、プレーヤの移動経路を算出し、移動経路から位置ズレ許容量ＰＧＴの範囲、すなわち移動経路に沿って湾曲した長円形又は湾曲した円筒形範囲からマッチング相手端末を見つける機能を更に有する構成に変更することができる。
【０１６７】
具体的には、図１８に示すように、マッチング処理において、ステップＳ１７０に代えて、ステップＳ１７１を実行する。当該ステップでは、データ交換中でなく、且つオンラインで、且つ受領情報５４６ｅが空（カラ）のままの仮想設置データ５４６を有するユーザ端末を「マッチング対象機」として選択する。ステップＳ１７０と比較すると、オンラインしていることを、更に選択条件に含めている。
【０１６８】
そして、ループＡに代えて、ループＢの処理を実行する。すなわち、今回のループ処理で適用される位置ズレ許容量ＰＧＴと時間ズレ許容量ＴＧＴとを求めたならば（ステップＳ１９２）、ループ処理対象機の位置履歴データ５４５を参照して、所定時間分だけ過去までの端末位置５４５ａからその間の移動経路を求める（ステップＳ１９３）。ここで言う所定時間として、時間ズレ許容量ＴＧＴを用いるとしても良い。
更に、求めた移動経路を基準に全方向に位置ズレ許容量ＰＧＴだけ拡幅し、マッチング許可位置範囲３を求める（ステップＳ１９５）。
【０１６９】
次に、サーバ処理部２０２は、ループ処理対象機以外のマッチング対象機となるユーザ端末についても同様にして現在から時間ズレ許容量ＴＧＴ分まで過去（所定時間分まで過去分としても可）の移動経路を求め（ステップＳ１９７）、先に求めたマッチング許可位置範囲３と交差する移動経路を有するループ処理対象機以外のユーザ端末を抽出する（ステップＳ１９９）。
【０１７０】
もし、抽出数が「０」ならば（ステップＳ２０１のＹＥＳ）、マッチング失敗と見なしてループＢを終了する（ステップＳ２６６）。もし、抽出数が「０」でなければ（ステップＳ２０１のＮＯ）、サーバ処理部２０２は抽出されたなかから所定数をマッチング相手端末として選択する（ステップＳ２３２）。以下、ステップＳ２５０とステップＳ２５２を実行してループＢを終了する。
【０１７１】
尚、ステップＳ１９７にて、ループ処理対象機以外のマッチング対象機となるユーザ端末移動経路の算出の際に、時間ズレ許容量ＴＧＴを用いずに、所定時間分過去までの移動経路を求める構成とするとしてもよい。その場合は、ユーザ端末それぞれの端末位置での所在時刻を取得し管理するための機能部や、ステップＳ１９２にて時間ズレ許容量ＴＧＴを求める処理など時間ズレ許容量ＴＧＴに係る構成要素を省略することができる。
【０１７２】
［その３］
また、マッチングの発生確率、すなわちマッチングの成功確率をエリアに応じて設定する構成を（図９参照）、マッチング候補として抽出されたユーザ端末毎に設定する構成に変更できる。
【０１７３】
具体的には、図１９に示すように、マッチング処理においてループＡに代えて、ループＣを実行する。ループＣでは、第１実施形態と同様にして、ステップＳ１８４、Ｓ１９２〜Ｓ１９８を実行する。ここで、サーバ処理部２０２は、ステップＳ１９６で２次抽出されたユーザ端末毎に、個別の成功確率を決定する（ステップＳ２２２）。例えば、ループ処理対象機の仮想データ５４６の設置位置５４６ｂから２次抽出されたユーザ端末の仮想データ５４６の設置位置５４６ｂまでの位置ズレ量（最接近時距離が好適）が大きくなるほど個別成功確率を低くし、またループ処理対象機の仮想データ５４６の設置日時５４６ｃと２次抽出されたユーザ端末の仮想データ５４６の設置日時５４６ｃとの時間ズレ量（最接近時時間差が好適）が大きくなるほど個別成功確率を低くするように設定する。
そして、２次抽出されたユーザ端末毎に、各々に設定された個別成功確率を当選確率として抽選処理を実行し、当選したもののみを３次抽選し（ステップＳ２２４）、３次抽選された中からマッチング相手端末を選択する（ステップＳ２３４）。
こうした構成の場合、ループ処理対象機と、位置的にまた時間的にニアミスしている度合が高いユーザ端末をマッチングの相手として選択し易くできる。
尚、個別成功確率の調整は、ループ処理対象機との位置ズレ量と時間ズレ量の何れかのみに応じて設定するとしても良い。
【０１７４】
［その４］
また、マッチングパラメータ設定データ５３２（図９参照）において、予め明らかな人口密度から推定されるプレーヤ密度、或いはゲーム提供者が想定するプレーヤ密度に基づいてパラメータ値を予め設定しておく構成も変更することができる。
【０１７５】
例えば、マッチング処理（図１６参照）のステップＳ１８４でループ処理対象機の接続エリアを判定した後に、ループ対象機以外のユーザ端末の最新の端末位置５４５ａから、ステップＳ１８４で判定した接続エリア内にあるユーザ端末数をカウントするステップを設ける。そして、ステップＳ１８６に代えて、カウントしたユーザ端末数を変数とする所定の第１の関数で成功確率を求めるステップを実行し、ステップＳ１９２に代えて、算出したプレーヤ密度を変数とする所定の第２及び第３の関数によって位置ズレ許容量ＰＧＴ、時間ズレ許容量ＴＧＴをそれぞれ算出するステップを実行する構成に変更できる。尚、第１〜第３の関数は、カウントしたユーザ端末数が大きい程、成功確率、位置ズレ許容量ＰＧＴ、時間ズレ許容量ＴＧＴの値が小さくなり、カウントしたユーザ端末数が小さい程、反対に大きくように設定されているものとする。
【０１７６】
［その５］
また、ユーザ端末が仮想ボックス１６を設置する例を挙げたが、ゲーム提供者がサーバシステム１１００にて設置可能にしても良い。
具体的には、サーバシステム１１００が、特定の仮想ボックス設定操作を検出した場合に（或いは、仮想ボックスを設定しない構成では、データ交換モードに設定した操作を検出した場合に）、ゲーム提供者が用意した情報を含む提供情報を生成するステップと、ノンプレーヤの端末ステータスデータ５４２（図１０参照）を特別に生成して、先に生成した提供情報を含む特別な仮想設置データ５４６を生成するステップを実行する。後者のステップでは、仮想設置データ５４６の設置位置５４６ｂを、ゲーム提供者が入力指定するサブステップと、一度に生成される仮想設置データ５４６の数を入力指定するサブステップとを含むと好適である。これにより、例えば、サービスキャンペーンとしてレアアイテムが交換可能な限定１００個の仮想ボックスをゲーム提供者が設置するといった使い方が可能となる。
【０１７７】
［その６］
また、マッチングパラメータ設定データ５３２に、適用時間帯５３３別に分けた複数のデータセットを設けることで、時間帯によるプレーヤ密度の変化に対応できるようにしたが、データセットは時間帯の区分に限らず適宜設けることができる。
【０１７８】
例えば、サーバシステム１１００に、公知のオンラインゲームにおけるユーザ情報管理と同様にして、ユーザ端末又は当該ユーザ端末を使用しているにプレーヤの状態を示す「所与のパラメータ値」を逐次記憶する構成を追加する。
「所与のパラメータ値」としては、例えば、プレーヤ自身に付与されるプレーヤレベル（例えば、段位や、階級、ランキングなど）、プレーヤが操作するキャラクタのゲーム内におけるレベルや職業、種族、性別、クリア済のステージ数、攻略済の敵キャラクタ数、総プレイ時間、などゲーム内容に応じて適宜設定可とすることができる。
勿論、「所与のパラメータ値」がユーザ端末側で決定される値であれば、ユーザ端末でもサーバシステム１１００にアクセスする都度、「所与のパラメータ値」をサーバに提供するステップを適宜実行するものとする。
【０１７９】
一方、マッチングパラメータ設定データ５３２を、更に、適用条件として適用時間帯５３３とは別に、或いは適用時間帯５３３とともに「所与のパラメータ値」を含めて、適用条件別にデータセットを用意しておく。成功確率５３５や位置ズレ許容量設定値５３６、時間ズレ許容量設定値５３７の設定値は、プレーヤのゲームの習熟度や強さが低いと判断される場合にはマッチング条件が緩くなるように、反対にゲームの習熟度や強さが高いと判断される場合にはマッチング条件が厳しくなるように調整すると好適である。
【０１８０】
そして、マッチング処理（図１６参照）のステップＳ１８４及びステップＳ１９２では、適用条件に適合するデータセットを選択し、選択したデータセットから成功確率５３５や位置ズレ許容量設定値５３６、時間ズレ許容量設定値５３７を読み出す構成とする。
こうした構成とするならば、ユーザ端末の状態やプレーヤの状態に応じてデータ交換の機会頻度を調整することができる。
【０１８１】
［その７］
また、データ交換に情報提供者の希望を加えるように変更することができる。
具体的には、ユーザ端末の処理部２００のデータ交換制御部２１２に、プレーヤに希望条件を選択させる機能と、選択された希望条件を、提供情報に加える機能を追加する。
より具体的には、データ交換準備処理（図１２参照）において、プレーヤに希望条件を指定する画面表示制御するステップと、操作入力に応じて希望条件を決定し、提供情報に含めるステップとを加える。ここで言う「希望条件」とは、データ交換の相手、又は当該相手が提供する提供情報に関する条件である。例えば、上記実施形態では、武器アイテム１４をデータ交換の対象としているので、希望条件としては、武器の種類であったり、攻守の区別であったり、武器のレベルであったりを設定すると良い。何れの武器の種類でも良いとする「種類を問わない」などを選択肢に含めると好適である。
【０１８２】
一方、サーバシステム１１００は、ゲームサーバ演算部２２０の仮想設置データ管理部２２２に、ユーザ端末から提供情報と共に希望条件の情報を受信し、仮想設置データ５４６に追加する機能を持たせる。また、マッチング管理部２２４には、マッチング条件に希望条件を加えて設定する機能を持たせる。
具体的には、図１６、図１８、図１９の何れかのマッチング処理において次にような変更を施す。図１６のマッチング処理を元に説明すると、図２０に示すように、ユーザ端末を２次抽出したステップＳ１９８の後に、ループ処理対象機の希望条件と自身の希望条件とが合致するユーザ端末を２次抽出されたユーザ端末の中から更に抽出する３次抽出のステップ（ステップＳ２２３）を追加する。そして、ステップＳ２３０に代えて、３次抽出された中からマッチング相手端末を選択する（ステップＳ２３４）。
【符号の説明】
【０１８３】
２  プレーヤ
３  マッチング許可位置範囲
４  携帯電話基地局
６  無線基地局
７  マッチング許可時間範囲
１０  プレーヤキャラクタ
１４  武器アイテム
１６  仮想ボックス
１８  ＧＰＳ衛星
２００  処理部
２０２  サーバ処理部
２１０  ゲーム演算部
２１２  データ交換制御部
２２０  ゲームサーバ演算部
２２１  所在情報取得制御部
２２２  仮想設置データ管理部
２２４  マッチング管理部
２２４ａ  マッチング条件設定部
２２４ｂ  成否抽選部
２２６  マッチング時処理部
５００  記憶部
５０２  サーバ記憶部
５２０  プレイデータ
５２６  提供情報
５３０  接続エリア判定基準データ
５３２  マッチングパラメータ設定データ
５３４  接続エリア
５３６  位置ズレ許容量設定値
５３７  時間ズレ許容量設定値
５４０  端末登録データ
５４６  仮想設置データ
１１００  サーバシステム
【図１】
0005666323.tif 000002
【図２】
0005666323.tif 000003
【図３】
0005666323.tif 000004
【図４】
0005666323.tif 000005
【図５】
0005666323.tif 000006
【図６】
0005666323.tif 000007
【図７】
0005666323.tif 000008
【図８】
0005666323.tif 000009
【図９】
0005666323.tif 000010
【図１０】
0005666323.tif 000011
【図１１】
0005666323.tif 000012
【図１２】
0005666323.tif 000013
【図１３】
0005666323.tif 000014
【図１４】
0005666323.tif 000015
【図１５】
0005666323.tif 000016
【図１６】
0005666323.tif 000017
【図１７】
0005666323.tif 000018
【図１８】
0005666323.tif 000019
【図１９】
0005666323.tif 000020
【図２０】
0005666323.tif 000021