"不揮発性メモリに記憶された複数のプレイヤ識別情報を対象としてプレイヤ間の対戦のためのプレイヤ識別情報のマッチングを行うゲーム制御装置であって、一定の規則に従って前記複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して主メモリに展開する第1抽出手段と、主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する第2抽出手段と、第2抽出手段によって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行うマッチング実行手段と、前記複数のプレイヤ識別情報の中から、前記第1抽出手段により抽出されなかったN個のプレイヤ識別情報を前記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、前記マッチング実行手段によりマッチングが行われたN個のプレイヤ識別情報に代えて前記主メモリに展開する第3抽出手段と、を備え、前記第2抽出手段、マッチング手段および第3抽出手段による各処理を、この順番に繰り返すことを特徴とする、ゲーム制御装置。前記不揮発性メモリは、各プレイヤ識別情報と、プレイヤ識別情報を基に自装置に最後にアクセスされた時刻と対応付けて記憶しており、前記第1抽出手段および前記第3抽出手段では、前記複数のプレイヤ識別情報の中から、現在時刻が前記最後にアクセスされた時刻から所定時間経過していないプレイヤ識別情報を抽出することを特徴とする、請求項1に記載されたゲーム制御装置。各プレイヤ識別情報を複数のクラスのうちのいずれかのクラスと対応付けて管理しているクラス管理手段と、第2抽出手段および第3抽出手段によって抽出されたそれぞれN個のプレイヤ識別情報を、対応するクラスごとに蓄積する蓄積手段と、を備え、前記マッチング実行手段は、クラスごとに蓄積されたプレイヤ識別情報の数がクラスについて予め定められた数に達した場合に、当該クラスについて蓄積されたプレイヤ識別情報についてのマッチングが完了したと判定することを特徴とする、請求項1または2に記載されたゲーム制御装置。ネットワークを介して任意の通信端末と通信を行う通信手段と、任意の通信端末からの対戦参加に関する登録のためのアクセスに基づいて、プレイヤ識別情報を前記不揮発性メモリに記憶させる記憶手段と、を備えたことを特徴とする、請求項1~3のいずれかに記憶されたゲーム制御装置。不揮発性メモリに記憶された複数のプレイヤ識別情報を対象としてプレイヤ間の対戦のためのプレイヤ識別情報のマッチングを行うゲーム制御装置におけるマッチング方法であって、一定の規則に従って前記複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して前記ゲーム制御装置の主メモリに展開する第1のステップと、前記主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する第2のステップと、第2のステップによって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行う第3のステップと、前記複数のプレイヤ識別情報の中から、前記第1のステップで抽出されなかったN個のプレイヤ識別情報を前記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、前記第3のステップでマッチングが行われたN個のプレイヤ識別情報に代えて前記主メモリに展開する第4のステップと、を備え、前記第2、第3および第4のステップを、この順番に繰り返すことを特徴とする、マッチング方法。不揮発性メモリに記憶された複数のプレイヤ識別情報を対象としてプレイヤ間の対戦のためのプレイヤ識別情報のマッチングを行うためのプログラムであって、一定の規則に従って前記複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して前記コンピュータの主メモリに展開する第1抽出手順と、前記主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する第2抽出手順と、第2抽出手順によって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行うマッチング実行手順と、前記複数のプレイヤ識別情報の中から、前記第1抽出手順で抽出されなかったN個のプレイヤ識別情報を前記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、前記マッチング実行手順でマッチングが行われたN個のプレイヤ識別情報に代えて前記主メモリに展開する第3抽出手順と、前記第2抽出手順、マッチング実行手順および第3抽出手順を、この順番に繰り返す手順と、をコンピュータに実行させるためのプログラム。上述したオンラインゲームあるいはソーシャルゲームでは、プレイヤによって登録されたプレイヤ識別情報は、ネットワークに接続されたサーバゲーム制御装置内のHDD等の不揮発性メモリに記録される。そして、サーバのプロセッサは、RAM等の主メモリを利用して、不揮発性メモリ内の複数のプレイヤ識別情報のマッチングを実行することになる。このとき、マッチング対象となるプレイヤ識別情報の数が、主メモリにおいて一度に処理可能なプレイヤ識別情報の数よりも遥かに多い場合には、従来のマッチング方法では、すべてのマッチングの処理を実行するのに時間が掛かる場合がある。例えば、不揮発性メモリに記録された複数のプレイヤ識別情報からランダムに、主メモリにおいて一度に処理可能な数のプレイヤ識別情報を順次抽出してマッチングを行う方法を採る場合には、抽出済みか否かを識別するためのフラグ等をプレイヤ識別情報ごとに設定して記憶するとともに、抽出の度に、不揮発性メモリ内の各プレイヤ識別情報のフラグを走査する処理が必要となって時間が掛かる。かかるマッチング処理における遅延は、処理対象となるプレイヤ識別情報の数が増大するほど顕著となる。上述したオンラインゲームソーシャルゲームではなくにおいて、例えば特定のゲームに対して100万個のプレイヤ識別情報が登録されていたならば、そのすべてのプレイヤ識別情報に対応したプレイヤがネットワークに同時に接続していることは通常想定し難いため、サーバにおいてマッチングの対象となるプレイヤ識別情報の数は、100万個よりもずっと少なく、例えば数千個から数万個程度である。この場合、不揮発性メモリ内の、ネットワークに接続しているアクティブなプレイヤ識別情報を対象として、マッチング処理を行うために主メモリへプレイヤ識別情報を抽出する度に、数10Kビットのデータを走査することになる。これに対して、上述したソーシャルゲームでは、プレイヤが複雑な操作を行う必要がなく簡易な操作のみで対戦を短時間で実行させるゲーム、さらには、このゲームと並行して、プレイヤが操作を行うことなくバックグラウンドでつまり、サーバ側で自動的に対戦を実行してプレイヤに対戦結果のみを通知するゲームが実行される場合がある。そのようなゲームでは、ネットワーク上のサーバに登録されたすべてのプレイヤ識別情報を対象として、プレイヤの対戦参加の意思とは無関係に自動的に対戦を実行する。その場合、例えば特定のゲームに対して100万個のプレイヤ識別情報が登録されていたならば、100万個のプレイヤ識別情報を対象としてマッチングを行う必要がある。このとき、マッチング処理を行うために不揮発性メモリから主メモリへプレイヤ識別情報を抽出する度に、数Mビットの膨大なデータを走査することになる。さらに、ソーシャルゲームでは、広く普及している携帯端末を用いて簡単な手続きで特定のゲームに登録することが可能であることから、ゲーム配信後に、時間が経過するにつれて登録者数が増加していき、ゲーム配信前に予測したプレイヤ識別情報の数よりもずっと多くのプレイヤ識別情報が登録される可能性がある。したがって、例えば当初100万個のプレイヤ識別情報を予定してマッチング処理による遅延がないようにサーバの主メモリの容量を設定した場合であっても、将来的に200~300万個のプレイヤ識別情報のマッチングを処理する場合には、マッチング処理による遅延が許容できないレベルになることが考えられる。本発明は上述した観点に鑑みてなされたもので、限られた容量の主メモリを用いて、プレイヤ間の対戦のために非常に多数のプレイヤ識別情報を対象としたマッチングを行う場合に、マッチング処理による遅延を抑制することを可能とするゲーム制御装置、マッチング方法、プログラムを提供することを目的とする。請求項1に係るゲーム制御装置は、不揮発性メモリに記憶された複数のプレイヤ識別情報を対象としてプレイヤ間の対戦のためのプレイヤ識別情報のマッチングを行うゲーム制御装置であって、以下の手段を備えている。1一定の規則に従って前記複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して主メモリに展開する第1抽出手段。2主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する第2抽出手段。3第2抽出手段によって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行うマッチング実行手段。4前記複数のプレイヤ識別情報の中から、前記第1抽出手段により抽出されなかったN個のプレイヤ識別情報を前記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、前記マッチング実行手段によりマッチングが行われたN個のプレイヤ識別情報に代えて前記主メモリに展開する第3抽出手段。さらに、このゲーム制御装置は、以下の特徴を備えている。5前記第2抽出手段、マッチング手段および第3抽出手段による各処理を、この順番に繰り返すこと。このゲーム制御装置は、例えば、特定多数あるいは不特定多数のプレイヤの通信装置の各々と、ネットワークを介してコネクションを確立できる情報処理装置であれば何でもよい。そのようなゲーム制御装置は、例えばネットワーク上に配置された1または複数のサーバ、あるいは大型コンピュータ装置であってよい。また、プレイヤと通信端末は必ずしも1対1で対応する固定的な関係である必要はなく、複数のプレイヤが単一の通信端末を共用する通信端末の使用形態も想定される。したがって、このゲーム制御装置は、対戦ゲームを行うプレイヤを一意に特定可能な情報として、プレイヤID等のプレイヤ識別情報ごとにプレイヤを管理する。このゲーム制御装置において、第1抽出手段は、一定の規則に従って複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して主メモリに展開する。ここで、一定の規則は、例えば昇順あるいは降順など、複数のプレイヤ識別情報の各々を重複することなく順序付ける規則であれば如何なる規則でもよい。この第1抽出手段では、一定の規則に従ってプレイヤ識別情報が抽出されるため、不揮発性メモリに記憶された複数のプレイヤ識別情報の各々を、例えばフラグ等、抽出済みか否かを識別するデータと関連付ける必要がない。例えば、最後に抽出されたプレイヤ識別情報のみあるいは、新たに抽出を開始するプレイヤ識別情報のみを一時的に記憶しておけば足りる。なお、上記Mは、主メモリの容量に応じた任意の値に設定することができ、不揮発性メモリに記憶されているプレイヤ識別情報の数を100~200万個とすれば、例えば、Mは1万程度でよい。このゲーム制御装置において、第2抽出手段は、主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する。マッチング実行手段は、第2抽出手段によって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行う。上記Nは、N<Mを満たす限り任意の値に設定することができるが、MがNの整数倍となることが好ましい。例えば、M=1万とした場合には、N=100としてよい。この場合、1万個のプレイヤ識別情報からランダムに抽出された100個のプレイヤ識別情報を対象としてマッチングが実行される。このゲーム制御装置において、第3抽出手段は、複数のプレイヤ識別情報の中から、第1抽出手段により抽出されなかったN個のプレイヤ識別情報を上記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、マッチング実行手段によりマッチングが行われたN個のプレイヤ識別情報に代えて主メモリに展開する。つまり、既にマッチング済みのN個のプレイヤ識別情報は主メモリから除去され、代わりに不揮発性メモリから新たなN個のプレイヤ識別情報を抽出して主メモリに展開する。ここで、不揮発性メモリからの抽出は、第1抽出手段で最後に抽出されたプレイヤ識別情報を基準として、第1抽出手段と同様に一定の規則に従って順次行われる。このゲーム制御装置では、いったん第1抽出手段が実行された後は、第2抽出手段、マッチング手段および第3抽出手段による各処理を、この順番に繰り返す。これにより、N個ずつのプレイヤ識別情報のマッチングが順に実行され、N個のプレイヤ識別情報のマッチングが完了する度に、新たなN個のプレイヤ識別情報が、不揮発性メモリに記憶されている複数のプレイヤ識別情報から抽出されていく。このとき、第3抽出手段では、多数のプレイヤ識別情報を含む不揮発性メモリからの抽出を、上記一定の規則に従って順次行うことになるため、N個のプレイヤ識別情報の抽出の度に、最後に抽出されたプレイヤ識別情報のみあるいは、新たに抽出を開始するプレイヤ識別情報のみを記憶しておくことで、第3抽出手段による毎回の抽出を高速に行うことができる。例えば、不揮発性メモリに記憶しているプレイヤ識別情報の数を100万個、Mを1万、Nを100としたならば、第3抽出手段による抽出回数は、100万-1万/100=9900回と多くなるが、この各回における抽出開始のプレイヤ識別情報については、上記の通り一定の規則、すなわち昇順あるいは降順などによって重複することなく順序付けられたプレイヤ識別情報に基づき認識されるので、前回までの抽出分に対して今回抽出開始すべき箇所が直ちに分かり、抽出方法も一定の規則に従っているため、各回の抽出処理を高速で完了させることができる。結果として、このゲーム制御装置によれば、非常に多くのプレイヤ識別情報を対象とするマッチングを、限られた容量の主メモリを用いて高速で実行することができる。このゲーム制御装置では、上述したように、不揮発性メモリからプレイヤ識別情報の抽出を行う第1抽出手段あるいは第3抽出手段では、一定の規則に従って順次プレイヤ識別情報を抽出する。つまり、抽出済みか否かを、例えばフラグが立てられているか否かによって識別するようなデータをプレイヤ識別情報ごとに順次、確認するような処理は不要である。そのため、不揮発性メモリ内のプレイヤ識別情報の数が、ゲーム制御装置の運用の途中で増大した場合であっても、不揮発性メモリ内のプレイヤ識別情報のマッチングに要する処理時間の増加が抑制される。よって、不揮発性メモリに記憶されたプレイヤ識別情報の増大に応じた主メモリの拡張例えば、メモリの増設あるいはシステム改変等の対応を回避することができる。このゲーム制御装置において、主メモリでは、プレイヤ識別情報の中から第2抽出手段によりN個のプレイヤ識別情報がランダムに抽出され、かつ、その抽出後に、新たなN個のプレイヤ識別情報が不揮発性メモリから補充される。そのため、不揮発性メモリ内のプレイヤ識別情報の如何なるマッチングの可能性は排除されない。具体的には、不揮発性メモリに記憶しているプレイヤ識別情報の数を100万個1番目から100万番目のプレイヤ識別情報であって、昇順に抽出した場合であっても、1番目と100万番目のプレイヤ識別情報のマッチングの可能性は排除されない。つまり、このゲーム制御装置によれば、広範囲におけるプレイヤ同士で対戦する機会を提供することができる。なお、仮に、100万個のプレイヤ識別情報に対して、主メモリの容量に応じた数のプレイヤ識別情報ごとにグループ分けを行い、各グループでランダムにマッチングを行うようにした場合には、対戦相手がグループ内に限定され、異なるグループのプレイヤ同士で対戦する機会が失われるが、このゲーム制御装置ではそのようなことはない。請求項2に係るゲーム制御装置は、請求項1に記載のゲーム制御装置において、さらに以下の特徴を備えたゲーム制御装置である。6前記不揮発性メモリは、各プレイヤ識別情報と、プレイヤ識別情報を基に自装置に最後にアクセスされた時刻と対応付けて記憶していること。7前記第1抽出手段および前記第3抽出手段では、前記複数のプレイヤ識別情報の中から、現在時刻が前記最後にアクセスされた時刻から所定時間経過していないプレイヤ識別情報を抽出すること。このゲーム制御装置に対してプレイヤが、例えばネットワーク等を介してプレイヤ識別情報を基にアクセスすることが想定されている。ここで、ゲーム制御装置は、不揮発性メモリにおいて、プレイヤ識別情報を基にアクセスされた時刻を、プレイヤ識別情報ごとに記憶している。そして、このゲーム制御装置では、第1抽出手段および前記第3抽出手段により、不揮発性メモリ内の複数のプレイヤ識別情報の中からプレイヤ識別情報を抽出するときに、現在時刻が最後にアクセスされた時刻から所定時間経過していないプレイヤ識別情報を抽出する。このゲーム制御装置において、上記抽出方法を採るのは以下の理由による。すなわち、最後にアクセスされた時刻から現在時刻が所定時間経過しているプレイヤ識別情報のプレイヤは、現在時刻を基準として一定期間の間、ゲーム制御装置にアクセスしておらず、実質的にゲームに参加していないと考えられる。例えば、ソーシャルゲームあるいはオンラインゲームでは、比較的簡易な手続きでプレイヤ識別情報を登録することができるため、ゲーム制御装置で管理するプレイヤ識別情報の数は増加しやすいが、それらに該当するプレイヤが登録後に継続的にゲームに参加するとは限らない。実際には、ゲーム制御装置の不揮発性メモリに記憶されている複数のプレイヤ識別情報の中で、全くアクセスしていないプレイヤ識別情報がある程度の割合で存在する。そこで、現在時刻が最後にアクセスされた時刻から所定時間経過していないプレイヤ識別情報のみを抽出することで、実質的にゲームに参加していないプレイヤ識別情報を抽出対象から排除する。これにより、抽出対象となるプレイヤ識別情報の数が限定されるため、マッチングに要する時間がさらに短縮する。なお、排除された識別情報に該当するプレイヤは実質的にゲームに参加していないのですなわち、ゲームにアクセスもしていないので、例えば通常のゲームのバックグラウンドで自動的に実行される対戦への参加が行なわれなかったとしても、それを知ることもないので問題は生じない。但し、長期間アクセスしなかった後に再アクセスする場合を想定して、例えば、所定期間以上例えば2週間以上のアクセスが無かったために、対戦が行なわれなかったという旨のメッセージを流すようにしてもよい。この場合、ゲームへのアクセスを継続的に行なわないと、対戦が実行されないということをプレイヤが認識できるので、ゲーム継続への動機付けを与えることができる。請求項3に係るゲーム制御装置は、請求項2に記載のゲーム制御装置において、以下の手段を備えたゲーム制御装置である。8各プレイヤ識別情報を複数のクラスのうちのいずれかのクラスと対応付けて管理しているクラス管理手段。9第2抽出手段および第3抽出手段によって抽出されたそれぞれN個のプレイヤ識別情報を、対応するクラスごとに蓄積する蓄積手段。さらに、このゲーム制御装置は、以下の特徴を備えている。10前記マッチング実行手段は、クラスごとに蓄積されたプレイヤ識別情報の数がクラスについて予め定められた数に達した場合に、当該クラスについて蓄積されたプレイヤ識別情報についてのマッチングが完了したと判定すること。このゲーム制御装置では、クラス管理手段は、各プレイヤ識別情報を複数のクラスのうちのいずれかのクラスと対応付けて管理する。プレイヤ識別情報とクラスとの対応付けは、様々な観点から設定しうる。例えば、プレイヤ識別情報がゲーム上のプレイヤキャラクタの能力値と関連付けられている場合には、その能力値の大きさに応じたクラスに各プレイヤ識別情報を対応付けてもよい。あるいは、クラスに応じた複数のステージ例えば、それぞれ異なる複数の対戦種目の対戦ゲームが設定されている場合には、参加するステージに各プレイヤ識別情報を対応付けてもよい。このゲーム制御装置では、クラスごとにプレイヤ識別情報のマッチングを行うべく、蓄積手段が、第2抽出手段および第3抽出手段によって抽出されたそれぞれN個のプレイヤ識別情報を、対応するクラスごとに順次、振り分けて蓄積する。そして、マッチング実行手段は、クラスごとに蓄積されたプレイヤ識別情報の数がクラスについて予め定められた数に達した場合に、当該クラスについて蓄積されたプレイヤ識別情報についてのマッチングが完了したと判定する。ここで、クラスについて予め定められた数は、任意に設定することができ、上記Nと同一の値であってもよいし、異なる値でもよい。1回の第2抽出手段または第3抽出手段の実行によって各クラスに蓄積されるプレイヤ識別情報の数が上記予め定められた数に達しない場合には、複数回の第2抽出手段または第3抽出手段の実行により上記予め定められた数までプレイヤ識別情報が蓄積された時点で、マッチングが完了したと判定される。このゲーム制御装置によれば、非常に多くのプレイヤ識別情報を対象とするマッチングを限られた容量の主メモリを用いて高速で実行しつつ、そのマッチングをクラス単位で行うようにすることができるため、異なるクラスのプレイヤ識別情報が組み合わされるといった無駄な処理を回避し得て、効率よいマッチングを行なえる。また、複数のクラスを設けることで、ゲーム制御装置によって提供されるゲームのバリエーションを広げることができる。請求項4に係るゲーム制御装置は、請求項1~3のいずれかに記載のゲーム制御装置において、以下の手段を備えたゲーム制御装置である。10ネットワークを介して任意の通信端末と通信を行う通信手段。11任意の通信端末からの対戦参加に関する登録のためのアクセスに基づいて、プレイヤ識別情報を前記不揮発性メモリに記憶させる記憶手段。このゲーム制御装置は、ネットワークを介して任意の通信端末と通信を行うことが想定される。通信端末は例えば、ゲーム用ソフトウエアを搭載した通信機能付きゲーム装置、いわゆるスマートフォン等の携帯端末、PDA等である。つまり、このゲーム制御装置によって実行される対戦ゲームとして、オンラインゲームまたはソーシャルゲームが想定されている。前述したように、ソーシャルゲームあるいはオンラインゲームでは、比較的簡易な手続きでプレイヤ識別情報を登録することができるため、ゲーム制御装置で管理するプレイヤ識別情報の数は、ゲーム制御装置の運用を開始する時点では予測が困難である。そのため、特定のゲームに対応したゲーム制御装置の運用開始時点では、例えば100万人のプレイヤが参加例えば100万個のプレイヤ識別情報を登録し、運用開始の1ヶ月後には、200万人のプレイヤが参加例えば200万個のプレイヤ識別情報を登録する、というように、ゲーム制御装置の不揮発性メモリに記憶すべきプレイヤ識別情報の数が短期間で急激に増加する状況があり得る。かかる状況下においても、このゲーム制御装置によれば、不揮発性メモリ内のプレイヤ識別情報のマッチングに要する処理時間の増加が抑制されるため、不揮発性メモリに記憶されたプレイヤ識別情報の増大に応じた主メモリの拡張例えば、メモリの増設あるいはシステム改変等の対応を回避することができる。すなわち、このゲーム制御装置は、特にオンラインゲームまたはソーシャルゲームに適用することで有用な効果を奏する。請求項5に係るマッチング方法は、不揮発性メモリに記憶された複数のプレイヤ識別情報を対象としてプレイヤ間の対戦のためのプレイヤ識別情報のマッチングを行うゲーム制御装置におけるマッチング方法であって、以下のステップを備えている。12一定の規則に従って前記複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して前記ゲーム制御装置の主メモリに展開する第1のステップ。13前記主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する第2のステップ。14第2のステップによって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行う第3のステップ。15前記複数のプレイヤ識別情報の中から、前記第1のステップで抽出されなかったN個のプレイヤ識別情報を前記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、前記第3のステップでマッチングが行われたN個のプレイヤ識別情報に代えて前記主メモリに展開する第4のステップ。さらに、このマッチング方法は、以下の特徴を備えている。16前記第2、第3および第4のステップを、この順番に繰り返すこと。請求項6に係るプログラムは、不揮発性メモリに記憶された複数のプレイヤ識別情報を対象としてプレイヤ間の対戦のためのプレイヤ識別情報のマッチングを行うためのプログラムであって、以下の各手順をコンピュータに実行させるためのプログラムである。17一定の規則に従って前記複数のプレイヤ識別情報の中からM個のプレイヤ識別情報を抽出して前記コンピュータの主メモリに展開する第1抽出手順。18前記主メモリ上のプレイヤ識別情報の中からN個N<Mのプレイヤ識別情報をランダムに抽出する第2抽出手順。19前記第1の対戦の対戦結果に基づいて、プレイヤ識別情報に対応するプレイヤキャラクタの能力値を更新するキャラクタ能力更新ステップ。20第2抽出手順によって抽出されたN個のプレイヤ識別情報を対象としてマッチングを行うマッチング実行手順。21前記複数のプレイヤ識別情報の中から、前記第1抽出手順で抽出されなかったN個のプレイヤ識別情報を前記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤ識別情報を、前記マッチング実行手順でマッチングが行われたN個のプレイヤ識別情報に代えて前記主メモリに展開する第3抽出手順。22前記第2抽出手順、マッチング実行手順および第3抽出手順を、この順番に繰り返す手順。このプログラムは、DVD-ROMやCD-ROM等のコンピュータが読み取り可能な情報記憶媒体に格納されてもよい。本発明によれば、限られた容量の主メモリを用いて、プレイヤ間の対戦のために非常に多数のプレイヤ識別情報を対象としたマッチングを行う場合に、マッチング処理による遅延を抑制することができる。1第1の実施形態1-1ゲームシステムの構成図1は、実施形態のゲームシステムのシステム構成例を示している。図1に示すように、このゲームシステムは、例えばインターネットなどの通信網NWに接続可能な通信端末10a,10b,10c,...と、通信網NWに接続されているゲームサーバ20と、データベースサーバ30とによって構成されている。各通信端末10a,10b,10c,...はそれぞれ、個々のプレイヤによって操作される端末であり、例えば、携帯端末、PDA、パーソナルコンピュータなどの通信端末である。なお、以下の説明において、各通信端末10a,10b,10c,...に共通して言及するときには、通信端末10と表記する。このゲームシステムでは、ゲーム用アプリケーションとしてウェブブラウザ上で動作可能なアプリケーションがゲームサーバ20に実装されている。通信端末10は、ゲームサーバ20によって提供されるウェブページを表示可能なウェブブラウザを備えており、プレイヤは、通信端末10をウェブページ上で操作してゲームを実行する。データベースサーバ30は、ゲームを実行する上での後述する様々な情報を格納しており、それらの情報の読み書きのためにゲームサーバ20と例えば有線で接続される。なお、図1には図示していないが、ゲームサーバ20とは別に各通信端末10のプレイヤを認証するための認証サーバを設けてもよい。また、多くの通信端末10からのアクセスを受け入れるために複数のゲームサーバ20を設ける場合は、その複数のゲームサーバ20間の負荷を調整するためのロードバランサを設けてもよい。また、ゲームサーバ20は単一のサーバ装置として構成してもよいが、機能を分散させた複数のサーバ装置として構成してもよい。1-2通信端末の構成図2を参照して通信端末10の構成について説明する。図2に示すように、通信端末10は、CPUCentralProcessingUnit11、ROM12、RAM13、画像処理部14、操作入力部15、表示部16、および、無線通信インタフェース部17を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス18が設けられている。CPU11は、ROM22内のウェブブラウザをRAM23にロードして実行する。そして、CPU11は、操作入力部15等によってプレイヤに入力されるURLの適切な指定に基づき、無線通信インタフェース部17を介して、ゲームサーバ20からウェブページを表示するためのデータ、すなわち、HTML文書や当該文書と関連付けられた画像などのオブジェクトのデータ以下、総称して適宜HTMLデータと表記する。を無線通信インタフェース部17を介して取得し、そのHTMLデータを解釈する。なお、通信端末10には、ウェブブラウザのブラウザ機能を拡張するための様々なプラグインが実装されていてよい。なお、HTMLデータの取得に当たって、CPU11は、予め登録されたプレイヤIDプレイヤ識別情報、あるいは操作入力部15を介して入力されるプレイヤIDを含むアクセス要求メッセージを、無線通信インタフェース部17を介してゲームサーバ20へ通知する。ウェブブラウザは、画像処理部14を介して、取得したHTMLデータに基づき、ゲームサーバ20から提供されるウェブページを表示部16に表示する。また、ウェブブラウザは、プレイヤが操作入力部15の操作によってウェブページ上のハイパーリンクまたはオブジェクトが選択されると、その選択に応じたウェブページを表示するための新たなHTMLデータの送信をゲームサーバ20へ要求する。画像処理部14は、HTMLデータの解析結果としてCPU11から与えられる表示用画像データに基づいて、表示部16にウェブページを表示する。表示部16は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むLCDモニタであり、表示用画像データに基づいて薄膜トランジスタを駆動することでウェブページの画像を表示する。操作入力部15は、プレイヤの操作入力を受け入れるための複数の釦と、各釦の押下入力を認識してCPU11へ出力するためのインタフェース回路を含みうるが、図2では、方向指示釦と決定釦とを例示している。例えば、方向指示釦は、表示部16に表示されているウェブページをスクロールして表示することをCPU11へ指示するために設けられる。また、決定釦は、例えばウェブページ上で複数のハイパーリンクまたはオブジェクトが表示されるときに、アクティブ表示例えば強調表示されている1つのハイパーリンクまたはオブジェクトをプレイヤが選択することをCPU11へ指示するために設けられる。なお、通信端末10を小型の携帯端末によって構成する場合には、これらの釦は、プレイヤが通信端末10を片手で保持したままその親指で操作しやすいように、通信端末10の前面に配置されていることが好ましい。1-3ゲームサーバの構成図3を参照してゲームサーバ20の構成について説明する。ゲームサーバ20は、例えば階層構造の複数のウェブページからなる対戦ゲームのウェブサイトを管理しており、通信端末10に対して対戦ゲームのウェブサービスを提供する。図3に示すように、ゲームサーバ20は、CPU21、ROM22、RAM23、データベースDBアクセス部24、および、通信インタフェース部25通信手段の一例を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス26が設けられている。なお、ゲームサーバ20は、ハードウエアに関しては汎用のウェブサーバと同一の構成をとることができる。ROM22には、クライアントである通信端末10のウェブブラウザに対してHTML文書や画像などのオブジェクトの表示ウェブページの表示のサービスを提供するアプリケーションプログラム本実施形態のプログラムが格納されている。CPU21は、ROM22内のゲームプログラムをRAM23にロードして実行し、通信インタフェース部25を介して、各種の処理を行う。例えば、CPU21は、通信インタフェース部25を介して、HTMLデータを通信端末10宛に送信する。なお、ゲームサーバ20が通信端末10のプレイヤの認証処理を行う場合には、CPU21はその認証処理を行う。CPU21は、通信インタフェース部を介して、通信端末10で表示されるウェブページ上でプレイヤにより選択されたハイパーリンクまたはオブジェクトに応じた処理を行う。その処理は、例えば、新たなHTMLデータの送信、または、ゲームサーバ20内の演算処理あるいはデータ処理などを含む。データベースアクセス部24は、CPU21がデータベースサーバ30に対してデータの読み書きを行うときのインタフェースである。1-4データベースサーバの構成データベースサーバ30は不揮発性メモリの一実施形態であり、大容量のハードディスク装置やRAIDRedundantArraysofInexpensiveDisks等の形態の装置等、汎用ストレージで実現できる。データベースサーバ30内の各データベースは、ゲームサーバ20のデータベースアクセス部24を介してCPU21からのデータの読み書きが可能となるように構成されている。図4に、データベースサーバ30の構成の一例を示す。図4に示す例は、後述する対戦ゲームを実現するためのデータベースの一例であり、データベースサーバ30は、プレイヤデータベース31と、リーグ戦データベース32と、ランキングデータベース33とを備える。これらのデータベースの内容は後述する。1-5ゲーム制御装置における各機能の概要本実施形態では、ゲームサーバ20およびデータベースサーバ30によって本発明のゲーム制御装置が構成されている。このゲーム制御装置によって実行されるゲームは、野球、サッカー等のスポーツを模擬したもの、あるいは戦闘を模擬したものなど、プレイヤ間の対戦要素が含まれたゲーム対戦ゲームであれば如何なる形式のものでも構わない。以下では、対戦ゲームの一例として野球ゲームが本実施形態のゲーム制御装置によって実行される場合のゲーム制御装置で実現される機能について、図5を参照して説明する。図5は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。本実施形態の野球ゲームでは、2つの対戦が進行するように構成されている。1つは、プレイヤによる通信端末10の操作入力を契機として、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間で行われる個別対戦第1の対戦である。もう1つは、プレイヤによる通信端末10に対する操作入力を契機とせずに自動的に、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間で行われるリーグ戦第2の対戦である。なお、以下の説明において、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間での対戦とプレイヤID間の対戦とは同義である。ゲーム進行手段51は、プレイヤによる通信端末10に対する操作に応じた通信端末10におけるウェブページを通して、プレイヤの通信端末10で表示されるゲームを進行させる機能を備える。例えば、ゲーム進行手段51では、CPU21は、プレイヤによるウェブページ上のハイパーリンクまたはオブジェクトの選択に応じたウェブページを表示するためのHTMLデータを、通信インタフェース部25を介して通信端末10宛に送信する。CPU21は、プレイヤによるウェブページ上のハイパーリンクまたはオブジェクトの選択に応じて新たなHTMLデータを逐次送信し、これにより、通信端末10で表示されるウェブページが逐次切り替わることで、プレイヤがゲームの進行を認識する。また、ゲーム進行手段51では、ゲームサーバ20のCPU21が、ゲームの開始に先立って、通信インタフェース部25を介して通信端末10からアクセス要求メッセージを受けると、所定の認証処理の後、その通信端末10からアクセス要求メッセージに含まれるプレイヤIDを認識する。そして、ゲームサーバ20のCPU21は、各通信端末10に表示されるゲームの進行を、プレイヤID単位で管理する。このプレイヤIDは、例えば、プレイヤが通信端末10を通してゲームサーバ20が提供する野球ゲームのウェブサイトにアクセスし、所定の手続きを経た後に付与登録されてよい。図6は、ゲーム進行手段51によって通信端末10に表示されるウェブページの一例である。図6に示すウェブページは、プレイヤが通信端末10を通してゲームサーバ20が提供する野球ゲームのウェブサイトにアクセスしたときに表示されるウェブページであって、この野球ゲームのメインメニューに相当する。図6に示すウェブページでは、例えば、スカウト、オーダー、強化、抽選、試合、リーグ戦のテキストが、ハイパーリンクが付される状態で所定の領域オブジェクト内に表示される。このとき、プレイヤが通信端末10の操作入力部15の方向指示釦および決定釦の操作によって、このいずれかの文字を選択すると、ゲーム進行手段51では、CPU21が通信インタフェース部25を介してプレイヤによる選択結果を認識して、新たなHTMLデータを通信端末10宛に送信する。その結果、通信端末10の表示部16には、プレイヤの選択結果に応じた新たなウェブページを表示する。記憶手段52は、各プレイヤIDに対応付けてプレイヤキャラクタの能力値を記憶する機能を備える。本実施形態では、記憶手段52は、データベースサーバ30のプレイヤデータベース31により実現される。図7は、本実施形態の野球ゲームにおけるプレイヤデータベース31の一例である。この例では、プレイヤデータベース31には、プレイヤIDごとに、プレイヤIDに対応付けられた複数のプレイヤキャラクタの各々の項目ごとの能力値のデータが含まれる。図7の例では、能力値は0~1000の範囲の値であって、能力値が大きい値であるほど能力が高いことを示している。図7では、選手Aについて、打力が300であり、走力が450であり、守備力が810である場合が例として示されている。図7では、能力の指標としての項目として、打力,走力,守備力を例示しているが、選手が投手であれば別の項目、例えば球速,制球力,スタミナ等としてもよい。なお、プレイヤがプレイヤIDを取得した時点では、プレイヤIDに対応付けられたプレイヤキャラクタの能力値がデフォルトの値として設定される。つまり、ゲームサーバ20のCPU21が、プレイヤデータベース31にアクセスして、プレイヤIDに対応したプレイヤキャラクタの能力値のデフォルトのデータを書き込み、プレイヤデータベース31がこの能力値のデフォルトのデータを記憶する。また、図7に示すように、プレイヤデータベース31には、各プレイヤIDと、プレイヤIDを基にゲームサーバ20に最後にアクセスされた時刻図7では、最終アクセス日時に相当する。と対応付けて記憶してもよい。この場合、ゲームサーバ20において、ゲームサーバ20にアクセスされた時刻がプレイヤIDごとに保持されており、ゲームサーバ20はアクセスの度に、プレイヤIDとアクセスされた時刻をデータベースサーバ30に通知し、最終アクセス日時が逐次更新される。第1の対戦実行手段53は、通信端末10に対する操作入力を契機として、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間の個別対戦第1の対戦を実行し、記憶手段52本実施形態では、データベースサーバ30のプレイヤデータベース31が記憶するプレイヤキャラクタの能力値に基づいて個別対戦の対戦結果を決定する。この第1の対戦実行手段53では先ず、ゲームサーバ20のCPU21が、プレイヤによる通信端末10の操作入力部15に対する操作入力に基づいて個別対戦を行う対戦相手を決定する。例えば、図6に例示するウェブページ上でプレイヤにより試合というテキストを含むオブジェクトを選択する操作が行われると、その選択結果がゲームサーバ20のCPU21宛に送信される。そしてCPU21は、データベースアクセス部24を介してデータベースサーバ30のプレイヤデータベース31にアクセスし、例えばランダムに、対戦相手となるプレイヤIDを選択する。あるいは、CPU21は、ランダムに選択した複数のプレイヤIDについて、プレイヤによる対戦相手となるプレイヤIDの選択の確定のため、その複数のプレイヤIDと、対応するプレイヤキャラクタの能力値とを表示するためのHTMLデータを、プレイヤの通信端末10宛に送信してもよい。対戦相手が確定すると、CPU21は、対戦する2つのプレイヤIDに対応付けられたプレイヤキャラクタ間の個別対戦を実行する。個別対戦の勝敗の決定方法は、プレイヤキャラクタの能力値がその勝敗に影響を与える方法である限り如何なる方法を採ることができる。例えば、対戦相手となる2つのプレイヤIDに対応付けられたプレイヤキャラクタの能力値を比較し、より大きな能力値のプレイヤキャラクタが、高い確率例えば、60~90の範囲内の所定の確率をもって勝利するように設定してよい。この勝率は、能力値の差が大きいほど高い確率としてもよい。このとき、図7に示したように、比較対象となる能力値の項目が複数存在する場合には、所定の重み付け例えば、図7の例では、打力を0.4、走力を0.2、守備力を0.4の重み付けにする等をもって総合的な能力値を設定することができる。第1の対戦実行手段53において、ゲームサーバ20のCPU21は、対戦相手となる2つのプレイヤIDに対応付けられたプレイヤキャラクタの個別対戦の対戦結果を決定すると、その対戦結果を含むウェブページを表示させるためのHTMLデータを、対戦相手となる2つのプレイヤIDのプレイヤの通信端末10宛に送信する。そして、通信端末10は、ゲームサーバ20から受信したHTMLデータを解釈して対戦結果を表示部16に表示する。なお、図6に例示するウェブページ上でプレイヤにより試合というテキストを含むオブジェクトを選択する操作が行われてから対戦結果が表示されるまでの時間は、極めて短時間例えば数秒であり、プレイヤは、簡易な操作のみで極めて短期間で対戦結果を知ることができる。キャラクタ能力更新手段54は、個別対戦第1の対戦の対戦結果に基づいて、プレイヤIDに対応するプレイヤキャラクタの能力値を更新する機能を備えている。キャラクタ能力更新手段54では、ゲームサーバ20のCPU21が、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間の個別対戦の対戦結果に基づいて、データベースサーバ30のプレイヤデータベース31にアクセスして、そのプレイヤIDに対応付けられたプレイヤキャラクタの能力値を更新する。つまり、CPU21は、プレイヤデータベース31に対して新たな能力値の書き込みを行う。キャラクタ能力更新手段54において、プレイヤキャラクタの能力値は、プレイヤIDに対応するプレイヤキャラクタが個別対戦で勝利した場合に、現在の値よりも大きくなるように更新されることが好ましい。一方、プレイヤキャラクタの能力値は、プレイヤIDに対応するプレイヤキャラクタが個別対戦で敗北した場合に、現在の値よりも小さくなるように更新されることが好ましい。なお、能力値の変化量は任意に設定しうる。例えば、図7に示したように能力値の項目が複数存在する場合、すべてのプレイヤキャラクタの能力値に対し、同一の値だけ大きく、あるいは小さくするようにしてよい。あるいは、能力値の変化量はランダムに設定してもよい。第2の対戦実行手段55は、通信端末10に対する操作入力を契機とせずに自動的に、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間のリーグ戦第2の対戦を実行し、記憶手段52本実施形態では、データベースサーバ30のプレイヤデータベース31が記憶するプレイヤキャラクタの能力値に基づいてリーグ戦の対戦結果を決定する。この第2の対戦実行手段55により実行されるリーグ戦は、所定の時刻例えば、ゲームサーバ20内のタイマで設定される時刻に行われる。リーグ戦は、すべてのプレイヤIDが参加あるいは登録するように設定してもよいが、リーグ戦の参加を希望する一部のプレイヤIDのみが参加するように設定してもよい。第2の対戦実行手段55によって実行される対戦の勝敗の決定方法は、第1の対戦実行手段53と同様とすることができる。つまり、プレイヤキャラクタの能力値がその勝敗に影響を与える方法である限り如何なる方法を採ることができる。なお、リーグ戦のすべての対戦結果を決定するには一定の時間が掛かり、その時間内においても個別対戦の実行に応じてプレイヤキャラクタの能力値が更新されうる。したがって、リーグ戦の開始時刻においてプレイヤデータベース31のコピーデータを作成し、第2の対戦実行手段55の実行中は、そのコピーデータ内のプレイヤキャラクタの能力値を参照するようにする。これにより、第2の対戦実行手段55の実行中においてもキャラクタ能力更新手段54によってプレイヤキャラクタの能力値プレイヤデータベース31そのもののデータを更新し続けることができる。第2の対戦実行手段55は、少なくとも過去の一定期間のリーグ戦の対戦結果を記録する。具体的には、第2の対戦実行手段55では、ゲームサーバ20のCPU21がデータベースサーバ30にアクセスし、データベースサーバ30内のリーグ戦データベース32にリーグ戦の対戦結果を書き込む。ここで、リーグ戦データベース32の一例を図8に示す。図8に示す例では、リーグ戦が毎日実行される場合に、日付ごとにリーグ戦の対戦結果が記録されている。図12の例では、リーグ戦の対戦結果には、対戦を特定するための対戦ID、勝利したプレイヤキャラクタに対応したプレイヤID勝利したプレイヤID、敗北したプレイヤキャラクタに対応したプレイヤID敗北したプレイヤID、スコア、その他のデータ例えば、勝利投手に相当するプレイヤキャラクタのデータ等が含まれている。第2の対戦実行手段55では、リーグ戦におけるプレイヤIDのランキングを記録するとともに逐次更新する。具体的には、第2の対戦実行手段55は、ゲームサーバ20のCPU21がデータベースサーバ30のリーグ戦データベース32にアクセスしてリーグ戦の過去の一定期間の対戦結果を読み出し、その読み出した対戦結果に基づいてプレイヤID単位でのランキングを算出する。そして、CPU21は、データベースサーバ30にアクセスし、データベースサーバ30内のランキングデータベース33に、算出したランキングを書き込む。ここで、ランキングデータベース33の一例を図9に示す。図9に示す例では、プレイヤIDのランキングが1番から順に記録されているとともに、プレイヤIDごとにリーグ戦における勝数、負数、引き分け数が記録されている。通知手段56は、過去の所定期間あるいは所定回数の1または複数のリーグ戦第2の対戦の対戦結果、および/または、当該対戦結果に基づくプレイヤIDごとのランキング順位を、プレイヤの通信端末10宛に通知する。通知手段56では、ゲームサーバ20のCPU21が、例えば図6に示すウェブページでリーグ戦が選択されたことを認識した場合に、直近のリーグ戦における対戦結果、および/または、過去の所定期間あるいは所定回数の1または複数のリーグ戦の対戦結果に基づくプレイヤIDごとの順位を含むウェブページを各プレイヤの通信端末10に表示するためのHTMLデータを、通信端末10宛に送信する。このHTMLデータを解釈して通信端末10で表示されるウェブページの例を図10に示す。図10に示すウェブページの例では、プレイヤIDに対応したリーグ戦の結果例えば、45勝15敗等の勝敗結果や、6573位等のランキングが表示されている。図10に例示するウェブページでは、リーグ戦における複数の節の各々第4節、第5節、第6節についての情報が例えば通信端末10の操作入力部15の方向指示釦等でスクロール表示される例が示されている。図10は、例えば第5節のリーグ戦が行われている特定の日付における表示例であり、下から順に、第4節の対戦結果、第5節の対戦結果、第6節の対戦予定、現在のリーグ戦における総合的な勝敗結果およびランキングが示されている。1-6マッチング処理前述した第2の対戦実行手段55により実行されるリーグ戦では、プレイヤデータベース31に記憶される非常に多数のプレイヤIDを対象としているが、その非常に多数のプレイヤIDを対象として対戦相手を決定するためのマッチング処理マッチング方法について、以下説明する。図11は、第2の対戦実行手段55で実行される機能の一部を構成する複数の手段を示す機能ブロック図であり、各手段はCPU21を主体として実行される。第1抽出手段551は、一定の規則に従って、プレイヤデータベース31に記憶されているプレイヤIDの中からM個のプレイヤIDを抽出してRAM23主メモリに展開する機能を備えている。第2抽出手段552は、RAM23上のプレイヤ識別情報の中からN個N<MのプレイヤIDをランダムに抽出する機能を備えている。マッチング実行手段553は、第2抽出手段552によって抽出されたN個のプレイヤIDを対象としてマッチングを行う機能を備えている。第3抽出手段554は、プレイヤデータベース31に記憶されているプレイヤIDの中から、第1抽出手段551により抽出されなかったN個のプレイヤIDを上記一定の規則に従って新たに抽出し、その新たに抽出したN個のプレイヤIDを、マッチング実行手段553によりマッチングが行われたN個のプレイヤIDに代えてRAM23に展開する機能を備えている。また、第2の対戦実行手段55では、第2抽出手段552、マッチング実行手段553および第3抽出手段554による各処理を、この順番に繰り返す機能を備えている。対戦実行手段555は、マッチング実行手段553により得られたプレイヤIDのマッチング結果に基づいて、プレイヤIDに対応付けられたプレイヤキャラクタ間のリーグ戦第2の対戦を実行する機能を備えている。次に、図12、図13A及び図13Bを参照して、第2の対戦実行手段55で実行されるマッチング処理について、より具体的に説明する。図12は、本実施形態のマッチング処理を示すフローチャートである。図13A及び図13Bは、本実施形態のマッチング処理について、その処理の様子を概念的に説明するための図である。図13A及び図13Bでは、図12の各ステップと対比可能なように、同一のステップ符号を用いている。なお、図12のステップS10,S20,S30,S40はそれぞれ、第1抽出手段551、第2抽出手段552、マッチング実行手段553、第3抽出手段554に対応する。図12、図13A及び図13Bでは、プレイヤデータベース31に記憶されているプレイヤIDの数を100万個、上記M=1万、N=100とし、プレイヤIDとして数字が割り当てられている場合を例としている。図12において先ず、CPU21は、プレイヤIDの昇順に従って、プレイヤデータベース31プレイヤDB31に記憶されているプレイヤIDの中から1万個M個のプレイヤIDを抽出してRAM23主メモリに展開するステップS10。ここでは、プレイヤデータベース31からプレイヤIDを抽出するに当たっての一定の規則が、プレイヤIDが示す番号の昇順に従うものとする。ここで、ステップS10において、プレイヤID:1~100が抽出されたならば、プレイヤデータベース31からの次の抽出の開始となるプレイヤIDこの場合、101をRAM23に記憶させておく。次に、CPU21は、RAM23上の1万個M個のプレイヤ識別情報の中から100個N個のプレイヤIDをランダムに抽出しステップS20、その抽出された100個のプレイヤIDを対象としてマッチングを行うステップS30。100個のプレイヤIDを対象としたマッチングの一例については、以下のとおりである。100個のプレイヤIDを25組各組で4個のプレイヤIDにランダムに分類し、各組で総当り戦を行うようにする。この場合、各組の4個のプレイヤIDをA,B,C,Dとした場合には、A×B,A×C,A×D,B×C,B×D,C×Dの6試合のマッチング各プレイヤID単位では3試合ずつが各組でなされることになる。次に、CPU21は、プレイヤデータベース31において未抽出のプレイヤIDが有るか否かを判定するステップS35。その結果、未抽出のプレイヤIDが有る場合には、CPU21は、プレイヤデータベース31に記憶されているプレイヤIDの中から、ステップS10において抽出されなかった100個のプレイヤIDをその昇順に従って新たに抽出し、その新たに抽出した100個のプレイヤIDを、ステップS30でマッチングが行われた100個のプレイヤIDに代えてRAM23に展開するステップS40。最初にステップS40を実行するときには、ステップS10で記憶しておいたプレイヤID:101から昇順にプレイヤIDの抽出を行うことになる。新たに100個のプレイヤIDを抽出してRAM23に展開した後は、ステップS20へ戻る。その後、ステップS20,S30,S40の処理は、この順番で、プレイヤデータベース31内に未抽出のプレイヤIDが無くなるまで繰り返される。図13Aを参照すると、1回目のステップS20,S30の処理をそれぞれ、S201,S301で示し、2回目のステップS20,S30の処理をそれぞれ、S202,S302で示してある。図13Aに示すように、プレイヤデータベース31に記憶されている100万個のプレイヤIDの中から、ステップS10で1万個のプレイヤIDが抽出された後は、S20~40を順次繰返していく。これにより、プレイヤデータベース31に記憶されているプレイヤIDから未抽出のプレイヤIDが徐々に少なくなっていくことになる。プレイヤデータベース31内に未抽出のプレイヤIDが無くなると、ステップS35からステップS50へ進み、ステップS20,S30の処理がこの順番で繰り返される。これは、プレイヤデータベース31から新たに抽出すべきプレイヤIDは存在しないが、RAM23内のプレイヤID最大:1万個について順にマッチングを行っている状態である。このとき、図13Bに示すように、RAM23内に展開されている複数のプレイヤIDのうち、n回目のステップS20,S30の処理であるS20n,S30n、その次のn1回目のステップS20,S30の処理であるS20n1,S30n1...、というように進むにつれて、マッチングが行われていないプレイヤIDの数が徐々に減少していく。そして、プレイヤデータベース31から抽出されたすべてのプレイヤIDのマッチングが完了するとステップS50:YES、全体のマッチング処理が終了することになる。図12に示したマッチング処理において、繰返し実行されるステップS40では、100万個のプレイヤIDを記憶しているプレイヤデータベース31からの抽出を、プレイヤIDの昇順に従って順次行うことになるため、100個のプレイヤIDの抽出の度に、新たに抽出を開始するプレイヤIDのみを記憶しておくことで、ステップS40における毎回の抽出を高速に行うことができる。ここでは一例として、プレイヤデータベース31に記憶しているプレイヤIDの数を100万個、Mを1万、Nを100としたので、ステップS40における抽出回数は、100万-1万/100=9900回と多くなるが、この各回における抽出開始のプレイヤIDが直ちに分かり、抽出方法もプレイヤIDの昇順に従っているため、各回の抽出処理を高速で完了させることができる。結果として、図12に示すマッチング処理によれば、非常に多くのプレイヤIDを対象とするマッチングを、限られた容量のRAM23を用いて高速で実行することができる。また、このマッチング処理では、プレイヤデータベース31からプレイヤIDの抽出を行うステップS10あるいはステップS40において、プレイヤIDの昇順に従って順次プレイヤIDを抽出しており、抽出済みか否かを識別するようなデータをプレイヤIDごとに走査するような処理は必要ない。そのため、プレイヤデータベース31内のプレイヤIDの数が、ゲームサーバ20の運用の途中で増大した場合であっても、プレイヤデータベース31内のプレイヤIDのマッチングに要する処理時間の増加が抑制される。そのため、プレイヤデータベース31に記憶されたプレイヤIDの増大に応じたRAM23の拡張例えば、メモリの増設あるいはシステム改変等の対応を回避することができる。なお、図7に例示したように、プレイヤデータベース31では、各プレイヤIDと、プレイヤIDを基にゲームサーバ20に最後にアクセスされた時刻最終アクセス日時とを対応付けて記憶するようにしてもよい。この場合、ステップS10及びステップS40では、プレイヤデータベース31内のプレイヤIDの中から、現在時刻が最終アクセス日時から所定時間経過していないプレイヤIDを抽出することが好ましい。つまり、プレイヤデータベース31に記憶されているすべてのプレイヤIDを抽出対象とするのではなく、最終アクセス日時を基準として抽出対象となるプレイヤIDのフィルタリングを行う。このようにすることで、プレイヤIDをゲームサーバ20に登録したものの一定時間アクセスしていないプレイヤIDつまり、登録されているが使用されていないプレイヤIDを抽出対象から排除する。これにより、抽出対象となるプレイヤIDの数が限定されるため、マッチングに要する時間がさらに短縮する。上記説明において、100個のプレイヤIDを対象としたマッチングの一例として、100個のプレイヤIDを25組各組で4個のプレイヤIDにランダムに分類し、各組で総当り戦を行う例を説明したが、このようなマッチングを応用したリーグ戦のスケジュールの一例を図14に示す。図14では、1週間のうち平日の定刻図14の例では、9時、14時、19時、25時にそれぞれ、第1節、第2節、第3節、第4節のリーグ戦が行われるようにスケジューリングされている。各節のリーグ戦では、その都度、図12に示したマッチング処理が行われ、各節では組ごとに総当りの6試合各組に含まれる個々のプレイヤIDにとっては3試合が行われる。その結果、平日の一日では、各プレイヤIDは、各節3試合×4節の計12試合が行われることになる。この場合、第2の対戦実行手段55は、各節が終了する度に、リーグ戦におけるプレイヤIDのランキングを算出して、データベースサーバ30内のランキングデータベース33に、算出したランキングを書き込むようにしてよい。なお、以上の説明では、M=1万の場合を例としたが、Mの数は、予め本実施形態のゲームサーバ20に設定されるRAM23の容量に応じて適宜設定すればよいのは言うまでもない。また、以上の説明では、N=100を例とし、100個のプレイヤIDを対象としてマッチングを行うこととしたが、ステップS20で抽出されるプレイヤIDの数、ステップS40で抽出されるプレイヤIDの数は、マッチング対象となるプレイヤIDの数に応じて適宜変更してよい。例えば、N=50とした場合に、マッチング対象となるプレイヤIDを、各組5個のプレイヤIDからなる10組に分類し、総当り戦をスケジューリングしてもよい。N=200とした場合に、マッチング対象となるプレイヤIDを、1組2個のプレイヤIDからなる100組に分類し、単一の対戦を適切なタイミングでスケジューリングしてもよい。すなわち、マッチング対象となる数が定まれば、その数に応じて任意に対戦計画が設定されうる。1-7野球ゲームの主要な処理のフロー次に、本実施形態における野球ゲームのリーグ戦における主要な処理フローの一例について、図15のフローチャートを参照して説明する。図15は、リーグ戦第2の対戦の実行処理を示すフローチャートである。図15において、例えば図14に示したように各節のリーグ戦が行われる定刻になるとステップS200のYES、第2の対戦実行手段55が実行される。この第2の対戦実行手段55は、プレイヤによる通信端末10に対する操作入力を契機とせずに自動的に実行される。第2の対戦実行手段55は、プレイヤデータベース31に記憶されているプレイヤIDを対象として例えば第1節のリーグ戦を行う場合、その第1節のリーグ戦における対戦のマッチングの処理を行うステップS210。このマッチングの処理は、図12のフローチャートに示したとおりであり、プレイヤデータベース31に記憶されているプレイヤIDの数が極めて多い場合であっても高速に行われる。マッチングの処理が完了すると、第2の対戦実行手段55は次にプレイヤデータベース31を参照し、プレイヤキャラクタの能力値に基づいて、つまり、プレイヤキャラクタの能力値の差が勝敗に影響を与えるようにして、対戦結果を決定するステップS220。第2の対戦実行手段55は、対戦結果を決定した後、その第1節のリーグ戦の対戦結果をリーグ戦データベース32に記録するとともに、第1節のリーグ戦の対戦結果に基づくプレイヤIDのランキングをランキングデータベース33に記録するステップS230。その後、通知手段56は、リーグ戦に参加している各プレイヤIDに対応するプレイヤの通信端末10宛に、第1節の対戦結果と、第1節が終了した時点におけるプレイヤIDのランキングを通知するステップS240。なお、この通知は、各プレイヤが例えば図6に例示したウェブページでリーグ戦が選択された場合に、通信端末10において、第1節の対戦結果と、第1節が終了した時点におけるプレイヤIDのランキングとを含むウェブページが表示されるようにして行うことができる。第2節以降についても同様にして、ステップS200~S240の処理が再度行われる。2第2の実施形態以下、本発明の第2の実施形態について説明する。なお、以下の各実施形態では、特記しない限り、通信端末10、ゲームサーバ20の構成及び動作、ゲーム制御装置によって実行される各手段、野球ゲームの主要な処理のフローは、第1の実施形態で説明したものと同様である。図16に示すように、本実施形態のデータベースサーバ30aは、データベースサーバ30図4参照とは入替戦データベース34が追加された点で異なる。また、プレイヤデータベース31では、図7に示したように、プレイヤIDごとにクラスが対応付けられている。図7では例えば、プレイヤID:000001に対してクラス:1が対応付けられている。本実施形態では、各プレイヤIDは複数のクラスのいずれかに対応付けられる。クラスの種別は任意に設定することができるが、例えば、ビギナークラス初心者クラス、例えばクラス:1からマスタークラス上級クラス、例えばクラス:9までの階層的なクラスが設定されうる。そして、本実施形態の野球ゲームは、クラス単位で一定期間のリーグ戦が行われる。一定期間のリーグ戦とリーグ戦の間には、入替戦が行われる。入替戦の結果如何で、プレイヤIDに対応するクラスの更新変動が生じうる。そのため、本実施形態の野球ゲームでは、第1の実施形態で説明したゲーム要素に加え、各プレイヤIDのプレイヤがより上位のクラスに昇格することを目的として行われる。なお、入替戦によって行われるクラスの更新は、上位クラスへの昇格、下位クラスへの降格、現状のクラスの維持のいずれかである。図17に、リーグ戦と入替戦を含む本実施形態の野球ゲームのスケジュールの一例を示す。図17に示すスケジュールによれば、リーグ戦のためにクラス1,3,5,7,9が設けられ、入替戦のためにクラス2,4,6,8が設けられる。ここで、リーグ戦、入替戦ともに、数字が大きいクラスほど上級のクラスである。例えば、1回目のリーグ戦であるリーグ戦1では、平日の月曜日から金曜日まで毎日4節図14参照、計20節のリーグ戦がクラス単位で実行され、クラス単位でリーグ戦1のランキングが金曜日に決定される。1回目の入替戦である入替戦1は、週末の土曜日と日曜日の毎日4節例えば、図14と同様にする。、計8節の入替戦がクラス単位で実行され、クラス単位で入替戦1のランキングが日曜日に決定される。リーグ戦1に続く入替戦1における各プレイヤIDのクラスの更新は、リーグ戦1のランキング結果に基づき、所定の規則に従って決定される。図17に示す例では、リーグ戦1におけるクラス1のすべてのプレイヤIDと、クラス3のランキングで下位の半分の数のプレイヤIDとが、入替戦1におけるクラス2となる。リーグ戦1におけるクラス3のランキングで上位の半分の数のプレイヤIDと、クラス5のランキングで下位の半分の数のプレイヤIDとが、入替戦1におけるクラス4となる。リーグ戦1におけるクラス5のランキングで上位の半分の数のプレイヤIDと、クラス7のランキングで下位の半分の数のプレイヤIDとが、入替戦1におけるクラス6となる。リーグ戦1におけるクラス7のランキングで上位の半分の数のプレイヤIDと、クラス9のすべてのプレイヤIDとが、入替戦1におけるクラス8となる。入替戦1に続くリーグ戦2における各プレイヤIDのクラスの更新は、入替戦1のランキング結果に基づき、所定の規則に従って決定される。図17に示す例では、入替戦1におけるクラス2のランキングで下位の2/3の数のプレイヤIDは、リーグ戦2におけるクラス1となり、入替戦1におけるクラス2のランキングで上位の1/3の数のプレイヤIDは、リーグ戦2におけるクラス3となる。入替戦1におけるクラス4のランキングで下位の半分の数のプレイヤIDは、リーグ戦2におけるクラス3となり、入替戦1におけるクラス4のランキングで上位の半分の数のプレイヤIDは、リーグ戦2におけるクラス5となる。入替戦1におけるクラス6のランキングで下位の半分の数のプレイヤIDは、リーグ戦2におけるクラス5となり、入替戦1におけるクラス4のランキングで上位の半分の数のプレイヤIDは、リーグ戦2におけるクラス7となる。入替戦1におけるクラス8のランキングで下位の1/3の数のプレイヤIDは、リーグ戦2におけるクラス7となり、入替戦1におけるクラス8のランキングで上位の2/3の数のプレイヤIDは、リーグ戦2におけるクラス9となる。なお、図17に示したスケジュール、あるいはクラスの更新は、一例に過ぎず、任意に設定可能であることは言うまでもない。2-1ゲーム制御装置における各機能の概要図18は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。図18に示す機能ブロック図は、図5に示したものと比較すると、第3の対戦実行手段57およびクラス管理手段58が追加された点で異なる。第3の対戦実行手段57は、通信端末10に対する操作入力を契機とせずに自動的に、異なるプレイヤIDに対応付けられたプレイヤキャラクタ間の入替戦第3の対戦を実行し、記憶手段52本実施形態では、データベースサーバ30のプレイヤデータベース31が記憶するプレイヤキャラクタの能力値に基づいて入替戦の対戦結果を決定する。この第3の対戦実行手段57により実行される入替戦は、所定の時刻例えば、ゲームサーバ20内のタイマで設定される時刻に行われる。入替戦は、すべてのプレイヤIDが参加するように設定してもよいが、リーグ戦の参加を希望する一部のプレイヤIDのみが参加するように設定してもよい。第3の対戦実行手段57によって実行される対戦の勝敗の決定方法は、第1の対戦実行手段53と同様とすることができる。つまり、プレイヤキャラクタの能力値がその勝敗に影響を与える方法である限り如何なる方法を採ることができる。第3の対戦実行手段57は、入替戦の対戦結果を記録する。具体的には、第3の対戦実行手段57では、ゲームサーバ20のCPU21がデータベースサーバ30aにアクセスし、データベースサーバ30a内の入替戦データベース34に入替戦の対戦結果を書き込む。第3の対戦実行手段57は、入替戦におけるプレイヤIDのランキングを記録するとともに逐次更新する。具体的には、第3の対戦実行手段57では、ゲームサーバ20のCPU21がデータベースサーバ30aの入替戦データベース34にアクセスして入替戦の過去の一定期間例えば図17では、入替戦1の2日分の対戦結果を読み出し、その読み出した対戦結果に基づいてクラス単位でのプレイヤIDのランキングを算出する。そして、CPU21は、データベースサーバ30aにアクセスし、データベースサーバ30a内のランキングデータベース33に、算出したランキングを書き込む。なお、本実施形態の第2の対戦実行手段55では、ゲームサーバ20のCPU21がデータベースサーバ30aのリーグ戦データベース32にアクセスしてリーグ戦の過去の一定期間例えば図17では、リーグ戦1の5日分の対戦結果を読み出し、その読み出した対戦結果に基づいてクラス単位でのプレイヤIDのランキングを算出する。そして、CPU21は、データベースサーバ30aにアクセスし、データベースサーバ30a内のランキングデータベース33に、算出したランキングを書き込む。クラス管理手段58は、各プレイヤIDを複数のクラスリーグ戦および入替戦のクラスの双方を含む。のうちのいずれかのクラスと対応付けて管理しており、一定期間のリーグ戦例えば図17では、リーグ戦1の5日分および入替戦例えば図17では、入替戦1の2日分が終了すると、図17に例示したように、所定の規則に従って各プレイヤIDのクラスの更新を行う。具体的には、CPU21がデータベースサーバ30aにアクセスし、ランキングデータベース33に記憶されたランキング結果に基づいて、プレイヤデータベース31内の各プレイヤIDのクラスのデータの更新を行う。本実施形態の通知手段56では、ゲームサーバ20のCPU21が、例えば図6に示すウェブページでリーグ戦が選択されたことを認識した場合に、直近のリーグ戦における対戦結果、および/または、過去の所定期間あるいは所定回数の1または複数のリーグ戦の対戦結果に基づくプレイヤIDごとの順位に加え、入替戦の結果を含むウェブページを各プレイヤの通信端末10に表示するためのHTMLデータを、通信端末10宛に送信する。このHTMLデータを解釈して通信端末10で表示されるウェブページの例を図19に示す。図19に示すウェブページの例では、図10に示したウェブページに対し、リーグ戦結果の欄の中に入替戦の対戦結果、およびクラスの更新の結果が追加して表示されている。図19では一例として、先週の入替戦の結果は18勝6敗で1クラス上に昇格し、今週の入替戦の結果は3勝7敗では1クラス下に降格した場合を示している。2-2マッチング処理本実施形態の第2の対戦実行手段55において、非常に多数のプレイヤIDを対象として対戦相手を決定するためのマッチング処理マッチング方法について、以下説明する。なお、本実施形態の第3の対戦実行手段57におけるマッチング処理は、以下で説明する第2の対戦実行手段55におけるそれと同様であるため、重複説明を省略する。本実施形態の第2の対戦実行手段55では、クラス単位でリーグ戦を行う点で第1の実施形態と異なる。図20は、本実施形態の第2の対戦実行手段55で実行される機能の一部を構成する複数の手段を示す機能ブロック図であり、各手段はCPU21を主体として実行される。図20に示す機能ブロック図は、図11に示したものと比較すると、蓄積手段556が追加された点で異なる。蓄積手段556は、第2抽出手段552および第3抽出手段554によって抽出されたそれぞれN個のプレイヤIDを、対応するクラスごとに蓄積する機能を備える。本実施形態のマッチング実行手段553は、クラスごとに蓄積されたプレイヤIDの数がクラスについて予め定められた数に達した場合に、当該クラスについて蓄積されたプレイヤIDについてのマッチングが完了したと判定する機能を備える。以下、本実施形態のマッチング処理について、図21および図22を参照して説明する。図21は、本実施形態のマッチング処理を示すフローチャートである。図22は、本実施形態のマッチング処理においてクラスごとのプレイヤIDのバッファへの蓄積を概念的に示す図である。図21に示すフローチャートは、図12のフローチャートと比較して、ステップS30のマッチング処理の代わりに、ステップS31,S32,S33を設けた点と、N=500の場合を例示している点で異なる。また、図22に示すように、リーグ戦のクラス1,3,5,7,9図17参照に対応したバッファを設ける。ここで、図21のステップS31蓄積手段556の処理に相当では、図21のステップS20で抽出された各プレイヤIDを、対応するクラスごとに分配して各クラスのバッファに蓄積していく。マッチング処理を実行する前の初期状態では、各クラスのバッファは空の状態であるが、ステップS31を繰り返すごとに順にバッファにプレイヤIDが蓄積されていく。そして、CPU21は、FULLになったバッファについてはステップS32:YES、そのバッファ内のプレイヤIDのマッチングが完了したと判定し、バッファ内のプレイヤIDを掃き出して再び空の状態とするステップS33。バッファの容量は適宜設定してよいが、ここでは一例としてN=500としているので、各バッファの容量はそれぞれ、100個分のプレイヤIDとしてよい。この場合、対戦実行手段555は、バッファから掃き出されたつまり、マッチングが完了した同一のクラスの100個のプレイヤIDについて、図14を参照して説明した方法と同様に、複数の組ごとの総当り戦を実行してよい。本実施形態のマッチング方法は、抽出処理については第1の実施形態と同様であるため、限られた容量の主メモリを用いて高速でマッチングを実行でき、かつ、そのマッチングをクラス単位で個々に設けたバッファを利用して行うようにしているので、複数クラスを設けたゲーム構成であっても、異なるクラスのプレイヤIDのマッチングを回避できることから、無駄な処理のない効率よいマッチングを実現することができるという利点がある。2-3野球ゲームの入替戦の処理のフロー次に、本実施形態における野球ゲームの入替戦の処理フローの一例について、図23のフローチャートを参照して説明する。図23は、入替戦第3の対戦の実行処理を示すフローチャートである。図23において、入替戦が行われる開始時刻になるとステップS300のYES、第3の対戦実行手段57が実行される。この第3の対戦実行手段57は、プレイヤによる通信端末10に対する操作入力を契機とせずに自動的に実行される。第3の対戦実行手段55は、プレイヤデータベース31に記憶されているプレイヤIDを対象として入替戦を行う場合、その入替戦における対戦のマッチングの処理を行うステップS310。このマッチングの処理は、図21のフローチャートに示したとおりであり、プレイヤデータベース31に記憶されているプレイヤIDの数が極めて多い場合であっても、クラス単位で高速に行われる。マッチングの処理が完了すると、第3の対戦実行手段57は次にプレイヤデータベース31を参照し、プレイヤキャラクタの能力値に基づいて、つまり、プレイヤキャラクタの能力値の差が勝敗に影響を与えるようにして、対戦結果を決定するステップS320。第3の対戦実行手段57は、対戦結果を決定した後、その入替戦の対戦結果を入替戦データベース34に記録する。次に、クラス管理手段58は、所定の規則に従ってプレイヤIDごとにクラスの更新を行うステップS330。このとき、クラス管理手段58は、入替戦データベース34内に記録されている入替戦の対戦結果を参照し、所定の基準に従ってプレイヤIDごとに新しいクラスを決定する。そしてクラス管理手段58は、プレイヤデータベース31においてプレイヤIDごとに新しいクラスを記録する。その後、通知手段56は、各プレイヤIDに対応するプレイヤの通信端末10宛に、入替戦の対戦結果とクラスの更新結果を通知するステップS340。なお、この通知は、各プレイヤが例えば図6に例示したウェブページでリーグ戦が選択された場合に、通信端末10において、リーグ戦の結果とともに入替戦の結果を含むウェブページが表示されるようにして行うことができる。以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に限定されない。また、各実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。例えば、上述した実施形態では、対戦ゲームは、ゲームサーバからのウェブサービスの提供に基づき、プレイヤの通信端末のウェブブラウザにより表示されるウェブページによってゲームが進行することとした。これによれば、ゲーム用ソフトウエアを通信端末がダウンロードあるいはインストールする必要がないという長所があるが、これに限られない。本実施形態の対戦ゲームは、ゲーム用ソフトウエアで実現される一部機能を通信端末にダウンロードあるいはインストールして実行する形態とすることもできる。なお、各実施形態の説明で述べた各機能ブロックは、各機能に相当する手順を含むプログラムをコンピュータに実行させることで実現することができる。"