(57)【要約】【課題】参加プレイヤの数に関わらずに柔軟にマッチングを行うことのできる情報処理装置等を提供する。【解決手段】複数のプレイヤ端末２０にネットワーク２を介して接続された情報処理装置１０であって、オンラインゲームにおける成績に応じて変化するレーティングをプレイヤ毎に記憶する記憶部１２と、第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てることの割当要求を、複数のプレイヤ端末２０のうちのいずれかのプレイヤ端末２０から受け付ける割当要求受付部１３１と、第１のプレイヤと、少なくとも１の仮想ゲーム空間に割り当てられた少なくとも１の第２のプレイヤとに、レーティングに応じた順位を付与し、順位に基づいて、第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てる部屋割当処理部１３２と、を備える。【選択図】図２
2019071975.tif 000002
【特許請求の範囲】
【請求項１】
複数のプレイヤ端末にネットワークを介して接続された情報処理装置であって、
オンラインゲームにおける成績に応じて変化するレーティングをプレイヤ毎に記憶する記憶部と、
第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てることの割当要求を、前記複数のプレイヤ端末のうちのいずれかのプレイヤ端末から受け付ける割当要求受付部と、
前記第１のプレイヤと、前記少なくとも１の仮想ゲーム空間に割り当てられた少なくとも１の第２のプレイヤとに、前記レーティングに応じた順位を付与し、前記順位に基づいて、前記第１のプレイヤを前記少なくとも１の仮想ゲーム空間のいずれかに割り当てる部屋割当処理部と、
を備える情報処理装置。
【請求項２】
前記部屋割当処理部は、
前記少なくとも１の仮想ゲーム空間のそれぞれについて、該仮想ゲーム空間に割り当てられた前記第２のプレイヤに係る前記順位の平均値を算出するマッチング順位算出部と、
前記第１のプレイヤに係る前記順位と、前記少なくとも１の仮想ゲーム空間に係る前記平均値とを比較する部屋検索部と、
を含む、請求項１に記載の情報処理装置。
【請求項３】
前記部屋検索部は、前記第１のプレイヤに係る前記順位が、前記少なくとも１の仮想ゲーム空間に係る前記平均値から所定の範囲内に含まれるか否かを判定する、請求項２に記載の情報処理装置。
【請求項４】
前記所定の範囲は、前記少なくとも１の仮想ゲーム空間に係る前記平均値に第１の定数を減じた値から、前記少なくとも１の仮想ゲーム空間に係る前記平均値に第２の定数を加えた値までの範囲である、請求項３に記載の情報処理装置。
【請求項５】
前記所定の範囲は、前記少なくとも１の仮想ゲーム空間に係る前記平均値に、前記第１のプレイヤ及び前記第２のプレイヤの総人数に第１の割合を乗じて得た値を減じた値から、前記少なくとも１の仮想ゲーム空間に係る前記平均値に、前記総人数に第２の割合を乗じて得た前記値を加えた値までの範囲である、請求項３に記載の情報処理装置。
【請求項６】
複数のプレイヤ端末にネットワークを介して接続され、オンラインゲームにおける成績に応じて変化するレーティングをプレイヤ毎に記憶する記憶部を備えた情報処理装置の制御プログラムであって、
前記情報処理装置に、
第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てることの割当要求を、前記複数のプレイヤ端末のうちのいずれかのプレイヤ端末から受け付ける機能と、
前記第１のプレイヤと、前記少なくとも１の仮想ゲーム空間に割り当てられた少なくとも１の第２のプレイヤとに、前記レーティングに応じた順位を付与する機能と、
前記順位に基づいて、前記第１のプレイヤを前記少なくとも１の仮想ゲーム空間のいずれかに割り当てる機能と、
を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び制御プログラム。
【背景技術】
【０００２】
近年、コンピューティングデバイス及びネットワーク環境の急速な発達に伴って、オンライン対戦ゲームの普及が進んでいる。オンライン対戦ゲームでは、不特定多数のプレイヤが、ネットワークを介して接続されたプレイヤ端末によってゲームに参加することで、空間的に制約を受けることなく同一のゲーム環境を共有して互いにゲーム対戦を行うことができる。
【０００３】
このようなオンライン対戦ゲームにおいて、各プレイヤ端末を制御するサーバ等が、部屋と呼ばれる少なくとも１の仮想的なゲーム空間を設定し、参加プレイヤを強さに応じて各部屋に割り当てるマッチング処理を行う場合がある。例えば、特許文献１では、実力の近いプレイヤ同士をマッチングさせるために、プレイヤの強さを示す指標（レーティング）に基づいてプレイヤ同士のマッチングを行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２１７７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、参加プレイヤの総数が少ない場合、実力の近い参加プレイヤが存在する可能性が低くなる。そのため、レーティングに基づいてプレイヤ同士のマッチングを行う方法では、１つの部屋に割り振られるプレイヤの数が少なくなってしまい、ゲームの趣向性が減少してしまう。
【０００６】
また、参加プレイヤの総数が少ない場合への対策として、コンピュータによって制御される疑似プレイヤをプレイヤの数が少ない部屋に追加し、疑似プレイヤを含めて対戦を行わせる方法もある。しかしながら、疑似プレイヤのプレイスタイルは機械的な場合も多いため、疑似プレイヤを含めて行われる対戦（所謂、模擬戦）は、疑似プレイヤを含めないで行われる対戦（所謂、本戦）に比べて面白みが減少しがちである。更には、模擬戦の成績をレーティングの算出に反映させてしまうと、他の人間のプレイヤと対戦する場合の強さを示す指標としての正確性に欠けてしまう恐れがある。
【０００７】
そこで、本発明は、参加プレイヤの数に関わらずに柔軟にマッチングを行うことのできる情報処理装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理装置は、複数のプレイヤ端末にネットワークを介して接続された情報処理装置であって、オンラインゲームにおける成績に応じて変化するレーティングをプレイヤ毎に記憶する記憶部と、第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てることの割当要求を、複数のプレイヤ端末のうちのいずれかのプレイヤ端末から受け付ける割当要求受付部と、第１のプレイヤと、少なくとも１の仮想ゲーム空間に割り当てられた少なくとも１の第２のプレイヤとに、レーティングに応じた順位を付与し、順位に基づいて、第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てる部屋割当処理部と、を備える。
【０００９】
この態様によれば、情報処理装置は、ゲーム装置から部屋割当要求を受け付けると、オンラインゲームに参加しているプレイヤに、レーティングに応じた順位を付与する。そして、情報処理装置は、当該順位に基づいて、マッチング対象プレイヤを所定の部屋に割り当てる。したがって、ゲームシステムにおいては、参加プレイヤの数に関わらずに柔軟にマッチングを行うことが可能となる。
【００１０】
本発明の一態様に係る制御プログラムは、複数のプレイヤ端末にネットワークを介して接続され、オンラインゲームにおける成績に応じて変化するレーティングをプレイヤ毎に記憶する記憶部を備えた情報処理装置の制御プログラムであって、情報処理装置に、第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てることの割当要求を、複数のプレイヤ端末のうちのいずれかのプレイヤ端末から受け付ける機能と、第１のプレイヤと、少なくとも１の仮想ゲーム空間に割り当てられた少なくとも１の第２のプレイヤとに、レーティングに応じた順位を付与する機能と、順位に基づいて、第１のプレイヤを少なくとも１の仮想ゲーム空間のいずれかに割り当てる機能と、を実行させる。
【発明の効果】
【００１１】
本発明によれば、参加プレイヤの数に関わらずに柔軟にマッチングを行うことのできる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係るゲームシステム１の一例を示すネットワーク構成図である。
【図２】サーバ１０の機能上の構成を示すブロック図である。
【図３】プレイヤのレーティングを管理するレーティングテーブルの一例を示す図である。
【図４】オンラインゲームに参加しているプレイヤを管理する参加プレイヤテーブルの一例を示す図である。
【図５】部屋を管理する部屋テーブルの一例を示す図である。
【図６】ゲーム装置２０の機能上の構成を示すブロック図である。
【図７】メイン処理の一例を示すフローチャートである。
【図８】部屋割当処理の一例を示すフローチャートである。
【図９】本戦部屋検索処理の一例を示すフローチャートである。
【図１０】模擬戦部屋検索処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
添付図面を参照して、本発明の好適な実施形態について説明する。（なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。）
【００１４】
［第１実施形態］
図１は、本発明の第１実施形態に係るゲームシステム１の一例を示すネットワーク構成図である。
【００１５】
ゲームシステム１は、サーバ１０と、複数のゲーム装置２０と、を有する。ゲーム装置は、プレイヤ端末の一例である。複数のゲーム装置２０は、互いに通信可能に、店舗３Ａの店舗内ネットワークに接続されている。店舗３Ａの店舗内ネットワークは、インターネット等の通信ネットワーク２を介して、サーバ１０と通信可能に接続されている。店舗３Ｂ及び３Ｃのそれぞれにおいても、店舗３Ａの店舗内ネットワークと同様の店舗内ネットワークが設けられている。
【００１６】
図２は、サーバ１０の機能上の構成を示すブロック図である。
【００１７】
サーバ１０は、サーバ通信部１１と、サーバ記憶部１２と、サーバ処理部１３とを有する。
【００１８】
サーバ通信部１１は、サーバ１０を通信ネットワーク２に接続するための通信インターフェース回路を備え、通信ネットワーク２との間で通信を行う。そして、サーバ通信部１１は、ゲーム装置２０等から受信したデータをサーバ処理部１３に供給する。また、サーバ通信部１１は、サーバ処理部１３から供給されたデータをゲーム装置２０等に送信する。
【００１９】
サーバ記憶部１２は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。サーバ記憶部１２は、サーバ処理部１３での処理に用いられるコンピュータプログラム（オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム）、データ等を記憶する。例えば、サーバ記憶部１２は、アプリケーションプログラムとして、対戦型のオンラインゲームを進行させるためのゲームプログラム等を記憶する。当該ゲームプログラムは、サーバ装置１０が実行するものであってもよいし、或いは、サーバ装置１０とゲーム装置２０とが共同して実行するものであってもよい。コンピュータプログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いてサーバ記憶部１２にインストールされてもよい。
【００２０】
また、サーバ記憶部１２は、データとして、図３に示すレーティングテーブル、図４に示す参加プレイヤテーブル、図５に示す部屋テーブル等を記憶する。これらテーブルについては後述する。さらに、サーバ記憶部１２は、所定の処理に係る一時的なデータを記憶してもよい。
【００２１】
サーバ処理部１３は、一又は複数個のプロセッサ及びその周辺回路を備える。サーバ処理部１３は、例えばＣＰＵであり、サーバ１０の全体的な動作を統括的に制御する。サーバ処理部１３は、サーバ記憶部１２に記憶されているプログラム等に基づいてサーバ１０の各種処理が適切な手順で実行されるように、サーバ通信部１１等の動作を制御する。サーバ処理部１３は、サーバ記憶部１２に記憶されているプログラム（オペレーティングシステムプログラムやドライバプログラム、アプリケーションプログラム等）に基づいて処理を実行する。
【００２２】
サーバ処理部１３は、部屋割当要求受付部１３１と、部屋割当処理部１３２と、ゲーム実行部１３３と、レーティング処理部１３４とを備える。これらの各部は、サーバ処理部１３が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。
【００２３】
部屋割当要求受付部１３１は、ゲーム装置２０から送信された部屋割当要求を受け付ける。部屋割当処理部１３２は、マッチング対象プレイヤを所定の部屋へ割り当てる処理を実行する。そのために、部屋割当処理部１３２は、マッチング順位算出部１３２１と、部屋検索部１３２２と、部屋割当実行部１３２３とを備える。マッチング順位算出部１３２１は、オンラインゲームに参加しているプレイヤについて後述するマッチング順位を算出する処理等を実行する。部屋検索部１３２２は、本戦部屋、準本戦部屋、及び模擬戦部屋等の検索処理等を実行する。部屋割当実行部１３２３は、マッチング対象プレイヤを所定の部屋へ割り当てる処理を実行する。ゲーム実行部１３３は、ゲーム装置２０を制御して、オンラインゲームの進行の処理を実行する。レーティング処理部１３４は、各プレイヤのオンラインゲームの成績に応じて、レーティングテーブルのレーティングを更新する。
【００２４】
図３は、プレイヤのレーティングを管理するレーティングテーブルの一例を示す図である。レーティングテーブルには、各プレイヤについて、「プレイヤＩＤ」、「対戦成績」、及び「レーティング」等の情報が関連付けて記憶される。
【００２５】
「プレイヤＩＤ」は、プレイヤを識別するための情報である。「対戦成績」は、例えば、勝利数及び敗北数等の、プレイヤ毎のオンラインゲームにおける成績を示す情報である。なお、「対戦成績」は、勝利数や敗北数に限らず、獲得したポイント数等の任意の指標であってよい。「レーティング」は、「対戦成績」に基づいて、イロレーティング（Ｅｌｏ  Ｒａｔｉｎｇ）等により算出されるプレイヤの強さを表す指標である。なお、「レーティング」の算出方法は、イロレーティングに限らず、他の任意の算出方法であってもよい。
【００２６】
図４は、オンラインゲームに参加しているプレイヤを管理する参加プレイヤテーブルの一例を示す図である。ここで、オンラインゲームに参加しているプレイヤとは、後述するマッチング要求を行ったプレイヤであって、所定のゲーム終了条件が満たされていない状態にあるプレイヤをいう。参加プレイヤテーブルには、オンラインゲームに参加している各プレイヤについて、「マッチング順位」、「プレイヤＩＤ」、「レーティング」、及び「ゲーム装置ＩＤ」等の情報が関連付けて記憶される。
【００２７】
「マッチング順位」は、参加プレイヤテーブルに記録されているプレイヤに付与される順位であって、レーティングの値が大きい順に付与される順位である。「ゲーム装置ＩＤ」は、プレイヤが現在使用しているゲーム装置２０を識別するための情報である。
【００２８】
図５は、部屋を管理する部屋テーブルの一例を示す図である。ここで、部屋とは、仮想ゲーム空間の一例である。当該部屋に割り当てられたプレイヤは、サーバ１０の制御の下でゲーム装置２０を操作することにより、同一のゲーム環境を共有し、適宜２つ以上のチームに分かれて互いに対戦を行う。部屋テーブルには、各部屋について、「部屋ＩＤ」、「部屋種別」、「平均マッチング順位」、及び「チーム人数差」や、当該部屋に割り当てられたプレイヤに係る情報が関連付けて記憶される。
【００２９】
「部屋ＩＤ」は、当該部屋を識別するための情報である。「部屋種別」は、本戦部屋、準本戦部屋、及び模擬戦部屋の種別を示す情報である。ここで、本戦部屋とは、予め設定された本戦部屋最低人数（例えば、１２人）以上のプレイヤが割り当てられている部屋をいう。また、準本戦部屋とは、本戦部屋最低人数より１少ない数のプレイヤが割り当てられている部屋をいう。また、模擬戦部屋とは、本戦部屋最低人数より２以上少ない数のプレイヤが割り当てられている部屋をいう。
【００３０】
なお、各部屋について、部屋に割り当てることのできる最大のプレイヤの人数（部屋最大人数）（例えば、２０人）を設定してもよい。部屋最大人数は、部屋ごとに同じ値を取ってもよいし、異なる値を取ってもよい。
【００３１】
図６は、ゲーム装置２０の機能上の構成を示すブロック図である。
【００３２】
ゲーム装置２０は、ゲーム装置通信部２１と、ゲーム装置記憶部２２と、操作部２３と、表示部２４と、ゲーム装置処理部２５と、を有している。
【００３３】
ゲーム装置通信部２１は、ゲーム装置２０を店舗３Ａの店舗内ネットワーク及び通信ネットワーク２に接続するための通信インターフェース回路を備え、店舗３Ａの店舗内ネットワーク及び通信ネットワーク２との間で通信を行う。そして、ゲーム装置通信部２１は、サーバ１０等から受信したデータをゲーム装置処理部２５に供給する。また、ゲーム装置通信部２１は、ゲーム装置処理部２５から供給されたデータをサーバ１０等に送信する。
【００３４】
ゲーム装置記憶部２２は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。ゲーム装置記憶部２２は、ゲーム装置処理部２５での処理に用いられるコンピュータプログラム（オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム）、及びデータ等を記憶する。例えば、ゲーム装置記憶部２２は、対戦型のオンラインゲームを進行させるためのゲームプログラム等を記憶する。当該ゲームプログラムは、ユーザ端末２０が実行するものであってもよいし、或いは、サーバ装置１０とゲーム装置２０とが共同して実行するものであってもよい。コンピュータプログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いてゲーム装置記憶部２２にインストールされてもよい。
【００３５】
操作部２３は、例えば、操作パネルに設けられた操作ボタン等によって実現される。操作部２３は、ゲーム装置２０の操作が可能であればどのようなデバイスでもよく、例えば、タッチパッド、キーボード、ジョイスティック、ボタン等である。操作部２３は、プレイヤにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、プレイヤの指示として、ゲーム装置処理部２５に供給される。
【００３６】
表示部２４は、映像や画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイや有機ＥＬ（Electro−Luminescence）ディスプレイ等である。表示部２４は、ゲーム装置処理部２５から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
【００３７】
ゲーム装置処理部２５は、一又は複数個のプロセッサ及びその周辺回路を備える。ゲーム装置処理部２５は、例えばＣＰＵであり、ゲーム装置２０の全体的な動作を統括的に制御する。ゲーム装置処理部２５は、ゲーム装置記憶部２２に記憶されているプログラム等に基づいてゲーム装置２０の各種処理が適切な手順で実行されるように、ゲーム装置通信部２１等の動作を制御する。ゲーム装置処理部２５は、ゲーム装置記憶部２２に記憶されているプログラム（オペレーティングシステムプログラムやドライバプログラム、アプリケーションプログラム等）に基づいて処理を実行する。
【００３８】
図７は、メイン処理の一例を示すフローチャートである。
【００３９】
（ステップＳ１０１）
まず、サーバ１０の部屋割当要求受付部１３１３は、ゲーム装置２０から送信された部屋割当要求を受け付ける。ここで、部屋割当要求は、プレイヤがゲーム装置２０の操作部２３を操作することにより、ゲーム装置２０からサーバ１０に送信される。部屋割当要求は、部屋割当要求を送信したプレイヤに係るプレイヤＩＤを含む。
【００４０】
（ステップＳ１０２）
次に、部屋割当処理部１３２は、部屋割当処理として、ステップＳ１０１で受け付けたマッチング要求に含まれるプレイヤＩＤに係るプレイヤ（以下、「マッチング対象プレイヤ」という。）を所定の部屋に割り当てる。部屋割当処理の詳細については後述する。
【００４１】
（ステップＳ１０３）
次に、サーバ１０のゲーム実行部１３３は、ゲーム実行処理として、サーバ１０と、同一の部屋に割り当てられている複数のゲーム装置２０との間で、ゲーム進行に係るデータを送受信する。
【００４２】
（ステップＳ１０４）
次に、サーバ１０のレーティング処理部１３４は、ステップＳ１０３で実行したゲーム実行処理の結果に基づいて、サーバ記憶部１２に記憶されたレーティングテーブルを更新する。具体的には、レーティングテーブルのうち、ゲーム実行処理の結果に係るプレイヤの「対戦成績」を更新すると共に、当該「対戦成績」に基づいて「レーティング」を新たに算出する。以上で、メイン処理が終了する。
【００４３】
図８は、部屋割当処理の一例を示すフローチャートである。
【００４４】
（ステップＳ２０１）
まず、マッチング順位算出部１３２１は、サーバ記憶部１２に記憶された参加プレイヤテーブル及び各部屋テーブルにおけるマッチング順位を更新する。具体的には、マッチング順位算出部１３２１は、サーバ記憶部１２に記憶されたレーティングテーブルを参照して、ステップＳ１０１で受信したマッチング対象プレイヤのプレイヤＩＤに係るレーティングを取得する。次に、マッチング順位算出部１３２１は、サーバ記憶部１２に記憶された参加プレイヤテーブルに、当該プレイヤＩＤ及び取得したレーティングを新たなレコードとして追加する。次に、マッチング順位算出部１３２１は、新たなレコードが追加された参加プレイヤテーブルにおいて、レーティングの大きい順にソートをかけ、マッチング順位を当該ソートの順番に更新する。次に、マッチング順位算出部１３２１は、参加プレイヤテーブルを参照して、サーバ記憶部１２に記憶された各部屋テーブルのマッチング順位を更新する。
【００４５】
（ステップＳ２０２）
次に、マッチング順位算出部１３２１は、部屋テーブル毎に、部屋テーブルに属する全プレイヤに係るマッチング順位の平均値（以下、「平均マッチング順位」という。）を算出し、部屋テーブルに当該平均マッチング順位を記録する。
【００４６】
（ステップＳ２０３）
次に、部屋検索部１３２２は、本戦部屋検索処理として、マッチング対象プレイヤを割り当てることのできる本戦部屋又は準本戦部屋を検索する。本戦部屋検索処理の詳細は後述する。
【００４７】
（ステップＳ２０４）
次に、部屋割当実行部１３２３は、本戦部屋検索処理の結果に基づいて、マッチング対象プレイヤを割り当てることのできる本戦部屋又は準本戦部屋があるか否かを判定する。マッチング対象プレイヤを割り当てることのできる本戦部屋又は準本戦部屋があると判定された場合（ステップＳ２０４：Ｙｅｓ）、ステップＳ２０５に進む。マッチング対象プレイヤを割り振ることのできる本戦部屋又は準本戦部屋がないと判定された場合（ステップＳ２０４：Ｎｏ）、ステップＳ２０６に進む。
【００４８】
（ステップＳ２０５）
ステップＳ２０５では、部屋割当実行部１３２３は、本戦部屋検索処理によって検索された本戦部屋又は準本戦部屋にマッチング対象プレイヤを割り当てる。具体的には、部屋割当実行部１３２３は、サーバ記憶部１２に記憶された当該本戦部屋又は準本戦部屋に係る部屋テーブルに、マッチング対象プレイヤの情報を追加して、当該部屋テーブルを更新する。このとき、マッチング対象プレイヤを、チーム人数が少ないチームに優先的に追加してもよい。或いは、マッチング対象プレイヤを、ランダムに選ばれたチームに追加してもよい。ステップＳ２０５が終了すると、部屋割当処理が終了する。
【００４９】
（ステップＳ２０６）
ステップＳ２０６では、部屋割当実行部１３２３は、再検索設定回数に達したか否かを判定する。ここで、再検索設定回数とは、予め設定された本戦部屋検索処理を繰り返すことのできる回数である。再検索設定回数は、例えば、１回、２回、３回等、任意の回数に設定することができる。
【００５０】
再検索設定回数に達したと判定された場合（ステップＳ２０６：Ｙｅｓ）、ステップＳ２０７に進む。再検索設定回数に達していないと判定された場合（ステップＳ２０６：Ｎｏ）、ステップＳ２０８に進む。
【００５１】
（ステップＳ２０７）
ステップＳ２０７では、部屋検索部１３２２は、模擬戦部屋検索処理として、マッチング対象プレイヤを割り当てることのできる模擬戦部屋を検索する。模擬戦部屋検索処理の詳細は後述する。
【００５２】
（ステップＳ２０８）
ステップＳ２０８では、部屋割当実行部１３２３は、プレイヤが再検索を選択したか否かを判定する。プレイヤが再検索を選択したと判定された場合（ステップＳ２０８：Ｙｅｓ）、ステップＳ２０３に進む。プレイヤが再検索を選択しなかったと判定された場合（ステップＳ２０８：Ｎｏ）、ステップＳ２０７に進む。
【００５３】
（ステップＳ２０９）
次に、部屋割当実行部１３２３は、模擬戦部屋検索処理の結果に基づいて、マッチング対象プレイヤを割り当てることのできる模擬戦部屋があるか否かを判定する。マッチング対象プレイヤを割り振ることのできる本戦部屋があると判定された場合（ステップＳ２０９：Ｙｅｓ）、ステップＳ２１０に進む。マッチング対象プレイヤを割り振ることのできる本戦部屋がないと判定された場合（ステップＳ２０９：Ｎｏ）、ステップＳ２１１に進む。
【００５４】
（ステップＳ２１０）
ステップＳ２１０では、部屋割当実行部１３２３は、模擬戦部屋検索処理によって検索された模擬戦部屋にマッチング対象プレイヤを割り当てる。具体的には、部屋割当実行部１３２３は、サーバ記憶部１２に記憶された当該模擬戦部屋に係る部屋テーブルに、マッチング対象プレイヤの情報を追加して、当該部屋テーブルを更新する。このとき、マッチング対象プレイヤを、チーム人数が少ないチームに優先的に追加してもよい。或いは、マッチング対象プレイヤを、ランダムに選ばれたチームに追加してもよい。ステップＳ２１０が終了すると、部屋割当処理が終了する。
【００５５】
（ステップＳ２１１）
ステップＳ２１１では、部屋割当実行部１３２３は、サーバ記憶部１２に記憶された部屋テーブルを参照して、模擬戦部屋の数が模擬戦部屋上限数以上であるか否かを判定する。ここで、模擬戦部屋上限数とは、予め設定された設定できる模擬戦部屋の数の上限である。模擬戦部屋上限数は、例えば、５、６、１０等の任意の数に設定することができる。
【００５６】
模擬戦部屋の数が模擬戦部屋上限数以上でないと判定された場合（ステップＳ２１１：Ｎｏ）、ステップＳ２１２に進む。模擬戦部屋の数が模擬戦部屋上限数以上であると判定された場合（ステップＳ２１１：Ｙｅｓ）、ステップＳ２１３に進む。
【００５７】
（ステップＳ２１２）
ステップＳ２１２では、部屋割当実行部１３２３は、新たな模擬戦部屋にマッチング対象プレイヤを割り当てる。具体的には、部屋割当実行部１３２３は、模擬戦部屋の新たな部屋テーブルを生成し、当該部屋テーブルにマッチング対象プレイヤの情報を追加した上でサーバ記憶部１２に記憶させる。ステップＳ２１２が終了すると、部屋割当処理が終了する。
【００５８】
（ステップＳ２１３）
ステップＳ２１３では、部屋割当実行部１３２３は、平均マッチング順位が最も近い模擬戦部屋にマッチング対象プレイヤを割り当てる。このとき、マッチング対象プレイヤを、チーム人数が少ないチームに優先的に追加してもよい。或いは、マッチング対象プレイヤを、ランダムに選ばれたチームに追加してもよい。ステップＳ２１３が終了すると、部屋割当処理が終了する。
【００５９】
図９は、本戦部屋検索処理の一例を示すフローチャートである。
【００６０】
（ステップＳ３０１）
まず、部屋検索部１３２２は、「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む本戦部屋があるか否かを判定する。なお、このとき、部屋最大人数に達した本戦部屋は、検索の対象から除外される。
【００６１】
例えば、平均マッチング順位が２０位の本戦部屋であれば、「平均マッチング順位±１０以内」の範囲は、１０位（＝平均マッチング順位２０位−１０）から３０位（平均マッチング順位２０位+１０）までの範囲となる。そして、マッチング対象プレイヤのマッチング順位が、当該範囲（１０位から３０位までの範囲）に含まれれば、当該本戦部屋は、「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含むと判定される。
【００６２】
なお、上記範囲は、「平均マッチング順位±１０以内」に限られない。例えば、第１の定数、及び第２の定数をそれぞれ任意に設定した数として、『「平均マッチング順位−第１の定数」から「平均マッチング順位＋第２の定数」までの範囲』を上記範囲としてもよい。第１の定数、及び第２の定数を選択することにより、マッチング対象プレイヤと、マッチング対象プレイヤを割り当てるべき部屋に割り当てられているプレイヤとの実力の近さを調整することができる。後述するステップＳ３０４及びステップＳ４０１も同様である。
【００６３】
「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む本戦部屋がないと判定された場合（ステップＳ３０１：Ｎｏ）、ステップＳ３０２に進む。「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む本戦部屋があると判定された場合（ステップＳ３０１：Ｙｅｓ）、ステップＳ３０３に進む。
【００６４】
（ステップＳ３０２）
ステップＳ３０２では、部屋検索部１３２２は、「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲にマッチング対象プレイヤのマッチング順位を含む本戦部屋があるか否かを判定する。
【００６５】
ここで、マッチング総人口とは、オンラインゲームに参加しているプレイヤの総数をいう。例えば、マッチング総人口が２００人であれば、マッチング総人口の１０％は２０人である。そして、平均マッチング順位が３０位の部屋の場合、「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲は、１０位（平均マッチング順位３０位−２０）から５０位（平均マッチング順位３０位＋２０）までの範囲となる。
【００６６】
なお、上記範囲は、「平均マッチング順位±（マッチング総人口の１０％）以内」に限られない。例えば、第１の割合、及び第２の割合をそれぞれ任意に設定した数として、『「平均マッチング順位−（マッチング総人口に第１の割合を乗じて得た値）」から「平均マッチング順位＋（マッチング総人口に第２の割合を乗じて得た値）」までの範囲』を上記範囲としてもよい。第１の割合、及び第２の割合を選択することにより、マッチング対象プレイヤと、マッチング対象プレイヤを割り当てるべき部屋に割り当てられているプレイヤとの実力の近さを調整することができる。後述するステップＳ３０５も同様である。
【００６７】
「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲にマッチング対象プレイヤのマッチング順位を含む本戦部屋があると判定された場合（ステップＳ３０２：Ｙｅｓ）、ステップＳ３０３に進む。「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲にマッチング対象プレイヤのマッチング順位を含む本戦部屋がないと判定された場合（ステップＳ３０２：Ｎｏ）、ステップＳ３０４に進む。
【００６８】
（ステップＳ３０３）
ステップＳ３０３では、部屋検索部１３２２は、ステップＳ３０１又はステップＳ３０２で条件を満たした本戦部屋から、検索結果としての本戦部屋を決定する。このとき、部屋検索部１３２２は、以下（１）、（２−１）、及び（２−２）の優先順位に基づいて、検索結果としての本戦部屋を決定する。
【００６９】
（１）チームの人数差
まず、候補となるステップＳ３０１又はステップＳ３０２で条件を満たした本戦部屋のうち、チームの人数差が最も大きい本戦部屋を検索結果として決定する。このように、チームの人数差を優先順位とすれば、マッチングによってチームの人数差が減少し、ゲームの趣向性が向上する。
【００７０】
（２−１）チームの人数差が２人以上の場合：平均マッチング順位の近さ
チームの人数差が２人以上で且つ互いに等しい本戦部屋が複数ある場合は、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い本戦部屋を検索結果として決定する。また、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い本戦部屋が複数ある場合は、当該本戦部屋からランダムに選ばれた一の部屋を検索結果として決定する。
【００７１】
（２−２）チームの人数差が１人又は０人の場合：部屋最大人数への近さ
チームの人数差が１人又は０人で且つ互いに等しい本戦部屋が複数ある場合は、各部屋の部屋最大人数に最も近い本戦部屋を検索結果として決定する。また、各部屋の部屋最大人数に最も近い本戦部屋が複数ある場合は、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い本戦部屋を検索結果として決定する。また、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い本戦部屋が複数ある場合は、当該本戦部屋からランダムに選ばれた一の部屋を検索結果として決定してもよい。
【００７２】
以上のとおり、ステップＳ３０３により、検索結果としての本戦部屋を決定したら、本戦部屋検索処理を終了する。
【００７３】
（ステップＳ３０４）
ステップＳ３０４では、部屋検索部１３２２は、「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む準本戦部屋があるか否かを判定する。「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む準本戦部屋がないと判定された場合（ステップＳ３０４：Ｎｏ）、ステップＳ３０５に進む。「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む準本戦部屋があると判定された場合（ステップＳ３０４：Ｙｅｓ）、ステップＳ３０６に進む。
【００７４】
（ステップＳ３０５）
ステップＳ３０５では、部屋検索部１３２２は、「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲にマッチング対象プレイヤのマッチング順位を含む準本戦部屋があるか否かを判定する。「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲にマッチング対象プレイヤのマッチング順位を含む準本戦部屋があると判定された場合（ステップＳ３０５：Ｙｅｓ）、ステップＳ３０６に進む。「平均マッチング順位±（マッチング総人口の１０％）以内」の範囲にマッチング対象プレイヤのマッチング順位を含む準本戦部屋がないと判定された場合（ステップＳ３０５：Ｎｏ）、ステップＳ３０７に進む。
【００７５】
（ステップＳ３０６）
ステップＳ３０６では、部屋検索部１３２２は、ステップＳ３０４又はステップＳ３０５で条件を満たした準本戦部屋から、検索結果としての準本戦部屋を決定する。このとき、部屋検索部１３２２は、ステップＳ３０４又はステップＳ３０５で条件を満たした準本戦部屋が複数ある場合は、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い準本戦部屋を検索結果として決定する。なお、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い準本戦部屋が複数ある場合は、当該準本戦部屋からランダムに選ばれた一の部屋を検索結果として決定してもよい。
【００７６】
以上のとおり、ステップＳ３０６により、検索結果としての本戦部屋を決定したら、本戦部屋検索処理を終了する。
【００７７】
（ステップＳ３０７）
一方、ステップＳ３０７では、部屋検索部１３２２は、検索結果として、マッチング対象プレイヤを割り当てるべき本戦部屋又は準本戦部屋はないものと決定する。そして、本戦部屋検索処理を終了する。
【００７８】
図１０は、模擬戦部屋検索処理の一例を示すフローチャートである。
【００７９】
（ステップＳ４０１）
まず、部屋検索部１３２２は、「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む模擬戦部屋があるか否かを判定する。「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む模擬戦部屋があると判定された場合（ステップＳ４０１：Ｙｅｓ）、ステップＳ４０２に進む。「平均マッチング順位±１０以内」の範囲にマッチング対象プレイヤのマッチング順位を含む模擬戦部屋があると判定された場合（ステップＳ４０１：Ｎｏ）、ステップＳ４０３に進む。
【００８０】
（ステップＳ４０２）
ステップＳ４０２では、部屋検索部１３２２は、ステップＳ４０１で条件を満たした模擬戦部屋から、検索結果としての模擬戦部屋を決定する。このとき、部屋検索部１３２２は、ステップＳ４０１で条件を満たした模擬戦部屋が複数ある場合は、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い模擬戦部屋を検索結果として決定する。なお、平均マッチング順位がマッチング対象プレイヤのマッチング順位に最も近い模擬戦部屋が複数ある場合は、当該模擬戦部屋からランダムに選ばれた一の部屋を検索結果として決定してもよい。
【００８１】
以上のとおり、ステップＳ４０２により、検索結果としての模擬戦部屋を決定したら、模擬戦部屋検索処理を終了する。
【００８２】
（ステップＳ４０３）
一方、ステップＳ４０３では、部屋検索部１３２２は、検索結果として、マッチング対象プレイヤを割り当てるべき模擬戦部屋はないものと決定する。そして、模擬戦部屋検索処理を終了する。
【００８３】
以上のとおり、ゲームシステム１においては、サーバ１０は、ゲーム装置２０から部屋割当要求を受け付けると、オンラインゲームに参加しているプレイヤに、レーティングに応じた順位を付与する。そして、サーバ１０は、当該順位に基づいて、マッチング対象プレイヤを所定の部屋に割り当てる。したがって、ゲームシステム１においては、参加プレイヤの数に関わらずに柔軟にマッチングを行うことが可能となる。
【００８４】
［変形例］
ゲームシステム１においては、各部屋について、ゲーム残り時間を設定してもよく、ゲーム残り時間が０になったときに、ゲームの進行を強制的に終了してもよい。また、各チームや各プレイヤについて、ゲームの進行に応じて変化する戦況の優劣を示す指標としての戦力ゲージを設定してもよい。当該各チームの戦力ゲージは、チームに所属するプレイヤの戦力ゲージを足し合わせた値としてもよい。
【００８５】
ゲームシステム１においては、部屋検索処理（本戦部屋検索処理、模擬戦部屋検索処理）において、（Ａ）ゲーム残り時間が所定の設定時間より小さい部屋、（Ｂ）いずれかのチームの戦力ゲージが所定の設定値より小さい部屋等を除外してもよい。当該構成により、マッチング対象プレイヤを、ゲームが早く終了し得る部屋へ割り当てることを避けることができる。また、ゲームシステム１においては、部屋検索処理（本戦部屋検索処理、模擬戦部屋検索処理）において、（Ｃ）各チームの戦力ゲージの差分が所定の設定値より大きい部屋等を除外してもよい。当該構成により、マッチング対象プレイヤを、戦力差が大き過ぎる部屋へ割り当てることを避けることができる。また、部屋検索処理（本戦部屋検索処理、模擬戦部屋検索処理）において、上述の（Ａ）から（Ｃ）や他の任意の除外条件を満たす部屋を任意に組み合わせた部屋を除外してもよい。
【００８６】
ゲームシステム１においては、複数のプレイヤから構成される仲間（バディ）が、必ず同一の部屋の同一のチームに割り当てられるようにしてもよく、この場合、１つのバディを１人のプレイヤとみなして、マッチング順位等を算出してもよい。バディのレーティングの算出方法は、任意の方法であってよい。例えば、バディを構成する複数のプレイヤのレーティングの平均値を、当該バディのレーティングとしてもよい。また、例えば、バディを構成するプレイヤ間でレーティングの重み付けを変えてもよい。また、例えば、バディとして登録されている期間に応じた係数を、バディを構成する複数のプレイヤのレーティングの平均値に乗じて得た値を、当該バディのレーティングとしてもよい。
【００８７】
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。また、各処理ステップ間に他のステップを追加してもよい。また、１ステップとして記載されているステップを、複数ステップに分けて実行してもよいし、複数ステップに分けて記載されているものを、１ステップとして把握することもできる。
【符号の説明】
【００８８】
１…ゲームシステム、２…通信ネットワーク、３Ａ、３Ｂ、３Ｃ…店舗、１０…サーバ、１１…サーバ通信部、１２…サーバ記憶部、１３…サーバ処理部、１３１…部屋割当要求受付部、１３２…部屋割当処理部、１３２１…マッチング順位算出部、１３２２…部屋検索部、１３２３…部屋割当実行部、１３３…ゲーム実行部、１３４…レーティング処理部、２０…ゲーム装置、２１…ゲーム装置通信部、２２…ゲーム装置記憶部、２３…操作部、２４…表示部、２５…ゲーム装置処理部
【図１】
2019071975.tif 000003
【図２】
2019071975.tif 000004
【図３】
2019071975.tif 000005
【図４】
2019071975.tif 000006
【図５】
2019071975.tif 000007
【図６】
2019071975.tif 000008
【図７】
2019071975.tif 000009
【図８】
2019071975.tif 000010
【図９】
2019071975.tif 000011
【図１０】
2019071975.tif 000012