(57)【特許請求の範囲】
【請求項１】
複数のプレイヤーのそれぞれのＩＤと、上位から下位に順序付けられた複数のクラスのいずれかと、当該プレイヤーの過去の対戦成績と、を対応付けて記憶し、当該複数のクラスのうち異なるクラス同士と、当該異なるクラス同士に設定されるハンディキャップ値と、当該異なるクラス同士に対応付けられて記憶されるそれぞれのＩＤを有するプレイヤー同士の過去の対戦成績の履歴と、を対応付けて記憶する記憶部、
あるＩＤを有するプレイヤーからの指示入力と、他のＩＤを有するプレイヤーからの指示入力と、を、受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶されるハンディキャップ値を参照して、所定の対戦規則により勝敗を決め、当該決められた勝敗により、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶される過去の対戦成績を更新し、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶される対戦成績の履歴を更新する対戦部、
前記記憶部において、同じクラスに対応付けられて記憶されたＩＤについて、当該ＩＤに対応付けられて記憶された過去の対戦成績から、当該同じクラスに対応付けられて記憶されるＩＤを有するプレイヤーの順位を決め、当該順位が上位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを上位のクラスに更新し、当該順位が下位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを下位のクラスに更新して、前記記憶部を更新する入替部、
前記記憶部において、異なるクラス同士に対応付けられて記憶された過去の対戦成績の履歴に偏りがある場合、当該異なるクラス同士に対応付けられて記憶されるハンディキャップ値を、当該所定の対戦規則により、当該偏りを打ち消す方向に修正して更新する設定部
を備え、
前記対戦部により受け付けられる指示入力は、当該プレイヤーがコントローラを用いて入力した指示入力、もしくは、コンピュータ通信網を介して接続されたゲーム装置から当該ゲーム装置を使用するプレイヤーによる指示入力として送信された指示入力である
ことを特徴とする振分装置。
【請求項２】
請求項１に記載の振分装置であって、
前記設定部は、前記記憶部において、異なるクラス同士に対応付けられて記憶された過去の対戦成績の履歴のうち、当該異なるクラス同士に対応付けられて記憶されるハンディキャップ値が最後に更新されて以降の対戦成績の履歴の総数が所定の閾対戦数を超え、かつ、当該履歴の勝敗の差が所定の閾差数を超える場合、当該異なるクラス同士に対応付けられて記憶された過去の対戦成績の履歴に偏りがあるものとする
ことを特徴とするもの。
【請求項３】
請求項１または２に記載の振分装置であって、
コンピュータに、所定のアルゴリズムに対応するプログラムを実行させることによって、人間のプレイヤーが与える指示入力を模倣する指示入力を生成する模倣部
をさらに備え、
前記対戦部は、所定の擬似プレイヤーＩＤを有するプレイヤー（以下「擬似プレイヤー」という。）を対戦の一方とする場合、当該擬似プレイヤーからの指示入力として、当該コントローラを用いて入力された指示入力もしくは当該コンピュータ通信網を介して接続されたゲーム装置から送信された指示入力を受け付けるのにかえて、前記模倣部により生成された指示入力を受け付け、
前記対戦部は、前記記憶部においてクラスに対応付けられて記憶されていないＩＤを有するプレイヤー（以下「新規プレイヤー」という。）を対戦の一方とする場合、対戦の他方のプレイヤーのＩＤとして、当該擬似プレイヤーＩＤを採用することにより、当該新規プレイヤーと当該擬似プレイヤーとを対戦させ、
前記対戦部により、当該新規プレイヤーが当該擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスと、当該決められた対戦成績と、を対応付けて、前記記憶部に記憶させ、当該新規プレイヤーが当該擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスと、当該決められた対戦成績と、を対応付けて、前記記憶部に記憶させる振分部
をさらに備えることを特徴とするもの。
【請求項４】
複数のプレイヤーのそれぞれのＩＤと、上位から下位に順序付けられた複数のクラスのいずれかと、当該プレイヤーの過去の対戦成績と、を対応付けて記憶する記憶部、
あるＩＤを有するプレイヤーからの指示入力と、他のＩＤを有するプレイヤーからの指示入力と、を、受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、所定の対戦規則により勝敗を決め、当該決められた勝敗により、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶される過去の対戦成績を更新する対戦部、
前記記憶部において、同じクラスに対応付けられて記憶されたＩＤについて、当該ＩＤに対応付けられて記憶された過去の対戦成績から、当該同じクラスに対応付けられて記憶されるＩＤを有するプレイヤーの順位を決め、当該順位が上位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを上位のクラスに更新し、当該順位が下位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを下位のクラスに更新して、前記記憶部を更新する入替部、
コンピュータに、所定の複数の擬似プレイヤーＩＤに対応付けられるアルゴリズムに対応するプログラムのいずれかを実行させることによって、人間のプレイヤーが与える指示入力を模倣する指示入力を生成する模倣部
を備え、
前記対戦部により受け付けられる指示入力は、当該プレイヤーがコントローラを用いて入力した指示入力、もしくは、コンピュータ通信網を介して接続されたゲーム装置から当該ゲーム装置を使用するプレイヤーによる指示入力として送信された指示入力であり、
前記対戦部は、当該所定の擬似プレイヤーＩＤのいずれかを有するプレイヤー（以下「擬似プレイヤー」という。）を対戦の一方とする場合、当該擬似プレイヤーからの指示入力として、当該コントローラを用いて入力された指示入力もしくは当該コンピュータ通信網を介して接続されたゲーム装置から送信された指示入力を受け付けるのにかえて、前記模倣部により生成された指示入力を受け付け、
前記対戦部は、前記記憶部においてクラスに対応付けられて記憶されていないＩＤを有するプレイヤー（以下「新規プレイヤー」という。）を対戦の一方とする場合、対戦の他方のプレイヤーのＩＤとして当該複数の擬似プレイヤーＩＤからいずれかを選択して、当該新規プレイヤーを当該選択された擬似プレイヤーＩＤを有する擬似プレイヤーと対戦させ、
前記対戦部により、
（ａ）当該新規プレイヤーが当該擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスに対応付けられて前記記憶部に記憶される擬似プレイヤーＩＤを、次の対戦の他方のプレイヤーのＩＤとして選択し、
（ｂ）当該新規プレイヤーが当該擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスに対応付けられて前記記憶部に記憶される擬似プレイヤーＩＤを、次の対戦の他方のプレイヤーのＩＤとして選択して、
前記対戦部に対戦させることを所定の回数繰り返し、
（ｃ）当該新規プレイヤーが当該最後に対戦した擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該最後に選択された擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスと、当該新規プレイヤーについて決められた対戦成績と、を対応付けて前記記憶部に記憶させ、
（ｄ）当該新規プレイヤーが当該最後に対戦した擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該最後に選択された擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスと、当該新規プレイヤーについて決められた対戦成績と、を対応付けて前記記憶部に記憶させる
振分部
をさらに備え、
前記模倣部に当該複数の種類のアルゴリズムのいずれとも異なる新たなアルゴリズムが与えられた場合、
前記対戦部は、当該新たなアルゴリズムに対応付けられる新たな擬似プレイヤーＩＤを有する擬似プレイヤーを新規プレイヤーとし、これを既存の擬似プレイヤーと対戦させ、
前記振分部は、当該新たな擬似プレイヤーＩＤに対応付けて前記記憶部に記憶するクラスを決める
ことを特徴とする振分装置。
【請求項５】
請求項４に記載の振分装置であって、
前記模倣部に与えられるアルゴリズムは、異なる数値パラメータによって生成する指示入力が定められ、
前記記憶部において、いずれの擬似プレイヤーＩＤとも対応付けられていないクラスがある場合、当該クラスより上位のクラスに割り当てられた擬似プレイヤーにおける数値パラメータと、下位のクラスに割り当てられた擬似プレイヤーにおける数値パラメータと、を内分する数値パラメータによって定めたアルゴリズムを、前記模倣部に与え、
前記対戦部は、当該定められたアルゴリズムに対応付けられる新たな擬似プレイヤーＩＤを有する擬似プレイヤーを新規プレイヤーとし、これを既存の擬似プレイヤーと対戦させ、
前記振分部は、当該定められたアルゴリズムに対応付けられる新たな擬似プレイヤーＩＤに対応付けて前記記憶部に記憶するクラスを決める
ことを特徴とするもの。
【請求項６】
請求項５に記載の振分装置であって、
前記記憶部は、当該複数のクラスのうち異なるクラス同士と、当該異なるクラス同士に設定されるハンディキャップ値と、当該異なるクラス同士に対応付けられて記憶されるそれぞれのＩＤを有するプレイヤー同士の過去の対戦成績の履歴と、を対応付けてさらに記憶し、
前記対戦部は、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶されるハンディキャップ値を参照して、当該所定の対戦規則により勝敗を決め、当該異なるクラス同士に対応付けられて前記記憶部に記憶される対戦成績の履歴をさらに更新し、
前記記憶部において異なるクラスに対応付けて記憶される擬似プレイヤーＩＤを有する擬似プレイヤー同士を前記対戦部に対戦させ、前記記憶部において、異なるクラス同士に対応付けられて記憶された過去の対戦成績の履歴に偏りがある場合、当該異なるクラス同士に対応付けられて記憶されるハンディキャップ値を、当該所定の対戦規則により、当該偏りを打ち消す方向に修正して更新する設定部
をさらにそなえることを特徴とするもの。
【請求項７】
記憶部、対戦部、入替部、設定部を備える振分装置にて実行される振分方法であって、前記記憶部には、複数のプレイヤーのそれぞれのＩＤと、上位から下位に順序付けられた複数のクラスのいずれかと、当該プレイヤーの過去の対戦成績と、が対応付けて記憶され、当該複数のクラスのうち異なるクラス同士と、当該異なるクラス同士に設定されるハンディキャップ値と、当該異なるクラス同士に対応付けられて記憶されるそれぞれのＩＤを有するプレイヤー同士の過去の対戦成績の履歴と、が対応付けて記憶され、
前記対戦部が、あるＩＤを有するプレイヤーからの指示入力と、他のＩＤを有するプレイヤーからの指示入力と、を、受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶されるハンディキャップ値を参照して、所定の対戦規則により勝敗を決め、当該決められた勝敗により、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶される過去の対戦成績を更新し、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶される対戦成績の履歴を更新する対戦工程、
前記入替部が、前記記憶部において、同じクラスに対応付けられて記憶されたＩＤについて、当該ＩＤに対応付けられて記憶された過去の対戦成績から、当該同じクラスに対応付けられて記憶されるＩＤを有するプレイヤーの順位を決め、当該順位が上位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを上位のクラスに更新し、当該順位が下位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを下位のクラスに更新して、前記記憶部を更新する入替工程、
前記設定部が、前記記憶部において、異なるクラス同士に対応付けられて記憶された過去の対戦成績の履歴に偏りがある場合、当該異なるクラス同士に対応付けられて記憶されるハンディキャップ値を、当該所定の対戦規則により、当該偏りを打ち消す方向に修正して更新する設定工程
を備え、
前記対戦工程にて受け付けられる指示入力は、当該プレイヤーがコントローラを用いて入力した指示入力、もしくは、コンピュータ通信網を介して接続されたゲーム装置から当該ゲーム装置を使用するプレイヤーによる指示入力として送信された指示入力である
ことを特徴とする方法。
【請求項８】
記憶部、対戦部、入替部、模倣部、振分部を備える振分装置にて実行される振分方法であって、前記記憶部には、複数のプレイヤーのそれぞれのＩＤと、上位から下位に順序付けられた複数のクラスのいずれかと、当該プレイヤーの過去の対戦成績と、が対応付けて記憶され、
前記対戦部があるＩＤを有するプレイヤーからの指示入力と、他のＩＤを有するプレイヤーからの指示入力と、を、受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、所定の対戦規則により勝敗を決め、当該決められた勝敗により、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶される過去の対戦成績を更新する対戦工程、
前記入替部が、前記記憶部において、同じクラスに対応付けられて記憶されたＩＤについて、当該ＩＤに対応付けられて記憶された過去の対戦成績から、当該同じクラスに対応付けられて記憶されるＩＤを有するプレイヤーの順位を決め、当該順位が上位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを上位のクラスに更新し、当該順位が下位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを下位のクラスに更新して、前記記憶部を更新する入替工程、
前記模倣部が、コンピュータに、所定の複数の擬似プレイヤーＩＤに対応付けられるアルゴリズムに対応するプログラムのいずれかを実行させることによって、人間のプレイヤーが与える指示入力を模倣する指示入力を生成する模倣工程
を備え、
前記対戦部により受け付けられる指示入力は、当該プレイヤーがコントローラを用いて入力した指示入力、もしくは、コンピュータ通信網を介して接続されたゲーム装置から当該ゲーム装置を使用するプレイヤーによる指示入力として送信された指示入力であり、
前記対戦工程では、当該所定の擬似プレイヤーＩＤのいずれかを有するプレイヤー（以下「擬似プレイヤー」という。）を対戦の一方とする場合、当該擬似プレイヤーからの指示入力として、当該コントローラを用いて入力された指示入力もしくは当該コンピュータ通信網を介して接続されたゲーム装置から送信された指示入力を受け付けるのにかえて、前記模倣工程にて生成された指示入力を受け付け、
前記対戦工程では、前記記憶部においてクラスに対応付けられて記憶されていないＩＤを有するプレイヤー（以下「新規プレイヤー」という。）を対戦の一方とする場合、対戦の他方のプレイヤーのＩＤとして当該複数の擬似プレイヤーＩＤからいずれかを選択して、当該新規プレイヤーを当該選択された擬似プレイヤーＩＤを有する擬似プレイヤーと対戦させ、
前記振分部が、前記対戦工程にて、
（ａ）当該新規プレイヤーが当該擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスに対応付けられて前記記憶部に記憶される擬似プレイヤーＩＤを、次の対戦の他方のプレイヤーのＩＤとして選択し、
（ｂ）当該新規プレイヤーが当該擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスに対応付けられて前記記憶部に記憶される擬似プレイヤーＩＤを、次の対戦の他方のプレイヤーのＩＤとして選択して、
前記対戦部に対戦させることを所定の回数繰り返し、
（ｃ）当該新規プレイヤーが当該最後に対戦した擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該最後に選択された擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスと、当該新規プレイヤーについて決められた対戦成績と、を対応付けて前記記憶部に記憶させ、
（ｄ）当該新規プレイヤーが当該最後に対戦した擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該最後に選択された擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスと、当該新規プレイヤーについて決められた対戦成績と、を対応付けて前記記憶部に記憶させる
振分工程
をさらに備え、
前記模倣工程にて当該複数の種類のアルゴリズムのいずれとも異なる新たなアルゴリズムが与えられた場合、
前記対戦工程では、当該新たなアルゴリズムに対応付けられる新たな擬似プレイヤーＩＤを有する擬似プレイヤーを新規プレイヤーとし、これを既存の擬似プレイヤーと対戦させ、
前記振分工程では、当該新たな擬似プレイヤーＩＤに対応付けて前記記憶部に記憶するクラスを決める
ことを特徴とする方法。
【請求項９】
コンピュータを、
複数のプレイヤーのそれぞれのＩＤと、上位から下位に順序付けられた複数のクラスのいずれかと、当該プレイヤーの過去の対戦成績と、を対応付けて記憶し、当該複数のクラスのうち異なるクラス同士と、当該異なるクラス同士に設定されるハンディキャップ値と、当該異なるクラス同士に対応付けられて記憶されるそれぞれのＩＤを有するプレイヤー同士の過去の対戦成績の履歴と、を対応付けて記憶する記憶部、
あるＩＤを有するプレイヤーからの指示入力と、他のＩＤを有するプレイヤーからの指示入力と、を、受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶されるハンディキャップ値を参照して、所定の対戦規則により勝敗を決め、当該決められた勝敗により、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶される過去の対戦成績を更新し、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶されるクラス同士が異なる場合は、当該異なるクラス同士に対応付けられて前記記憶部に記憶される対戦成績の履歴を更新する対戦部、
前記記憶部において、同じクラスに対応付けられて記憶されたＩＤについて、当該ＩＤに対応付けられて記憶された過去の対戦成績から、当該同じクラスに対応付けられて記憶されるＩＤを有するプレイヤーの順位を決め、当該順位が上位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを上位のクラスに更新し、当該順位が下位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを下位のクラスに更新して、前記記憶部を更新する入替部、
前記記憶部において、異なるクラス同士に対応付けられて記憶された過去の対戦成績の履歴に偏りがある場合、当該異なるクラス同士に対応付けられて記憶されるハンディキャップ値を、当該所定の対戦規則により、当該偏りを打ち消す方向に修正して更新する設定部
として機能させ、
前記対戦部により受け付けられる指示入力は、当該プレイヤーがコントローラを用いて入力した指示入力、もしくは、コンピュータ通信網を介して接続されたゲーム装置から当該ゲーム装置を使用するプレイヤーによる指示入力として送信された指示入力である
ように機能させることを特徴とするプログラム。
【請求項１０】
コンピュータを、
複数のプレイヤーのそれぞれのＩＤと、上位から下位に順序付けられた複数のクラスのいずれかと、当該プレイヤーの過去の対戦成績と、を対応付けて記憶する記憶部、
あるＩＤを有するプレイヤーからの指示入力と、他のＩＤを有するプレイヤーからの指示入力と、を、受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、所定の対戦規則により勝敗を決め、当該決められた勝敗により、当該プレイヤー同士のそれぞれのＩＤに対応付けられて前記記憶部に記憶される過去の対戦成績を更新する対戦部、
前記記憶部において、同じクラスに対応付けられて記憶されたＩＤについて、当該ＩＤに対応付けられて記憶された過去の対戦成績から、当該同じクラスに対応付けられて記憶されるＩＤを有するプレイヤーの順位を決め、当該順位が上位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを上位のクラスに更新し、当該順位が下位のプレイヤーのＩＤのうち、所定の数について、当該ＩＤに対応付けられるクラスを下位のクラスに更新して、前記記憶部を更新する入替部、
当該コンピュータに、所定の複数の擬似プレイヤーＩＤに対応付けられるアルゴリズムに対応するプログラムのいずれかを実行させることによって、人間のプレイヤーが与える指示入力を模倣する指示入力を生成する模倣部
として機能させ、
前記対戦部により受け付けられる指示入力は、当該プレイヤーがコントローラを用いて入力した指示入力、もしくは、コンピュータ通信網を介して接続されたゲーム装置から当該ゲーム装置を使用するプレイヤーによる指示入力として送信された指示入力である
ように機能させ、
前記対戦部は、当該所定の擬似プレイヤーＩＤのいずれかを有するプレイヤー（以下「擬似プレイヤー」という。）を対戦の一方とする場合、当該擬似プレイヤーからの指示入力として、当該コントローラを用いて入力された指示入力もしくは当該コンピュータ通信網を介して接続されたゲーム装置から送信された指示入力を受け付けるのにかえて、前記模倣部により生成された指示入力を受け付け、
前記対戦部は、前記記憶部においてクラスに対応付けられて記憶されていないＩＤを有するプレイヤー（以下「新規プレイヤー」という。）を対戦の一方とする場合、対戦の他方のプレイヤーのＩＤとして当該複数の擬似プレイヤーＩＤからいずれかを選択して、当該新規プレイヤーを当該選択された擬似プレイヤーＩＤを有する擬似プレイヤーと対戦させる
ように機能させ、
前記対戦部により、
（ａ）当該新規プレイヤーが当該擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスに対応付けられて前記記憶部に記憶される擬似プレイヤーＩＤを、次の対戦の他方のプレイヤーのＩＤとして選択し、
（ｂ）当該新規プレイヤーが当該擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスに対応付けられて前記記憶部に記憶される擬似プレイヤーＩＤを、次の対戦の他方のプレイヤーのＩＤとして選択して、
前記対戦部に対戦させることを所定の回数繰り返し、
（ｃ）当該新規プレイヤーが当該最後に対戦した擬似プレイヤーに勝利すると決められた場合、当該新規プレイヤーのＩＤと、当該最後に選択された擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも上位のクラスと、当該新規プレイヤーについて決められた対戦成績と、を対応付けて前記記憶部に記憶させ、
（ｄ）当該新規プレイヤーが当該最後に対戦した擬似プレイヤーに敗北すると決められた場合、当該新規プレイヤーのＩＤと、当該最後に選択された擬似プレイヤーＩＤに対応付けられて前記記憶部に記憶されたクラスよりも下位のクラスと、当該新規プレイヤーについて決められた対戦成績と、を対応付けて前記記憶部に記憶させる
振分部
としてさらに機能させ、
前記模倣部に当該複数の種類のアルゴリズムのいずれとも異なる新たなアルゴリズムが与えられた場合、
前記対戦部は、当該新たなアルゴリズムに対応付けられる新たな擬似プレイヤーＩＤを有する擬似プレイヤーを新規プレイヤーとし、これを既存の擬似プレイヤーと対戦させ、
前記振分部は、当該新たな擬似プレイヤーＩＤに対応付けて前記記憶部に記憶するクラスを決める
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプレイヤーを対戦させ、当該プレイヤーを対戦成績によって複数のクラスのいずれかに振り分けるのに好適な、振分装置、振分方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】  従来から、ゲームやスポーツの分野では、複数のプレイヤーを対戦させる際に、対戦相手との実力のレベルをできるだけ合わせて、プレイを面白くし、対戦への動機付けとする手法が良くとられている。たとえば、複数のプレイヤー（チーム同士の対戦の場合には、当該チームを「プレイヤー」と考える。）を実力順に複数のクラスに分類し（たとえば、「１部リーグ」と「２部リーグ」のように分ける。）、各クラス内で対戦を行って、その対戦結果によってクラス内順位を決め、上位クラスのうち成績が悪かったプレイヤーと下位クラスのうち成績が良好であったプレイヤーとを入れ替えることによって、各クラス内の実力レベルを維持する手法が、従来から採用されている。このようなプレイヤーの順位を決める技術については、下記の文献に開示されている。【特許文献１】特許第３３８０５３２号公報
【０００３】
また、コンピュータ通信網を用いたネットワークゲームなどの分野では、プレイを始めた時期やそれまでにプレイに費した時間などのため、プレイヤーの実力に大きな差が出やすい。そして、初心者がゲームを始めた当初にプレイする対戦相手との実力の差が開き過ぎていると、ゲームそのものに対する興味を失ってしまう、などの現象が生じている。
【０００４】
一方で、プレイヤーがその実力に応じてクラス分けされた後であっても、ゲームをプレイする時間帯によっては、同じクラスに属する対戦相手を見つけることができないことも多い。従来の対戦型のゲームやスポーツでは、異なるクラスに属するプレイヤーが対戦する場合には、実力が上のプレイヤーに対してハンディキャップを課すことも広く行われている。従来のゲームやスポーツにおいては、ゲームやスポーツの参加者や主催者がこのようなハンディキャップをあらかじめ定めていた。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、プレイヤーの実力に差が生じやすい場合であっても、プレイヤーを適切にクラス分けして、できるだけ同じ実力レベルのプレイヤーと対戦しやすくするための技術が求められている。一方で、異なるクラスのプレイヤー同士が対戦する場合に、当該クラス間のハンディキャップを適切に調整する技術が望まれている。特に、さまざまな実力レベルのプレイヤーが頻繁に参加したり脱退したりを繰返すネットワーク対戦型ゲームでは、このようなクラス分けの技術とハンディキャップの自動調整の技術に対する要望は大きい。
【０００６】
本発明は、複数のプレイヤーを対戦させ、当該プレイヤーを対戦成績によって複数のクラスのいずれかに振り分けるのに好適な、振分装置、振分方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第１の観点に係る振分装置は、記憶部と、対戦部と、入替部と、設定部と、を備え、以下のように構成する。
【０００８】
すなわち、記憶部は、複数のプレイヤーのそれぞれを、上位から下位に順序付けられた複数のクラスのいずれかに割り当てて記憶する。したがって、各プレイヤーは、それぞれの実力に応じていずれかのクラスに振り分けられることとなり、記憶部は、プレイヤーとクラスとの対応付けを記憶することとなる。
【０００９】
また、記憶部は、当該複数のクラスのうち、異なるクラス同士に設定されたハンディキャップを記憶する。すなわち、上位クラスのプレイヤーと下位クラスのプレイヤーとが対戦することを考えて、上位クラスに不利で、下位クラスに有利なハンディキャップをあらかじめ設定しておく。このハンディキャップは自動的に調整されるので、当初は適当な初期値を与えておけば良い。
【００１０】
一方、対戦部は、あるプレイヤーからの指示入力と、他のプレイヤーからの指示入力と、を受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、その対戦結果を記憶部にさらに記憶させる。このように、各プレイヤーは、指示入力を与えることによって、対戦を行う。サーバを用いるネットワーク対戦ゲームでは、典型的には、各プレイヤーは、自身のゲーム装置のコントローラに指示入力を与え、各ゲーム装置は、コンピュータ通信網を介してサーバに指示入力を送信し、サーバは、当該指示入力によって、プレイヤーが操作するゲーム内のキャラクター（適宜「ＰＣ（Player Character）」と呼ぶ。）に種々の振舞いをさせて、キャラクター同士を対戦させる。
【００１１】
また、対戦部は、異なるクラスに割り当てられるプレイヤー同士を対戦させる場合、記憶された当該異なるクラス同士に設定されたハンディキャップを採用する。ハンディキャップを与えることによって、異なるクラスに属するプレイヤー同士の対戦であっても、実力を調整してプレイをさせることができる。
【００１２】
さらに、入替部は、同じクラスに割り当てられたプレイヤーについて、記憶された対戦結果を比較して、対戦成績が上位のプレイヤーを、現在のクラスから上位のクラスに割り当て直し、対戦成績が下位のプレイヤーを、現在のクラスから下位のクラスに割り当て直して、記憶部を更新する。スポーツの分野では上位リーグと下位リーグとの入替戦が行われ、上位リーグの中で成績が下位のものと、下位リーグの中で成績が上位のものとを入れ替えることが良く行われているが、これと同様の処理を行うものである。
【００１３】
典型的には、「対戦結果のうち、同じクラスに割り当てられたプレイヤー同士が対戦した対戦結果」から、当該クラスにおける成績の上位・下位を決定するが、後述するようなハンディキャップ戦を採用する場合には、「直近の所定の対戦における勝率」をそのまま対戦結果として参照してクラス内の上位・下位を決定しても良い。
【００１４】
そして、設定部は、記憶された対戦結果から、当該異なるクラス同士に設定されたハンディキャップを、対戦結果が劣る側に有利なように更新する。
本発明によれば、複数のプレイヤーを対戦させ、当該プレイヤーを対戦成績によって複数のクラスのいずれかに振り分け、同じクラス内のプレイヤーの実力をできるだけ伯仲したものとするとともに、異なるクラスに属するプレイヤーが対戦する場合のハンディキャップを適切に調整することができる。
【００１５】
また、本発明の振分装置において、設定部は、当該異なるクラス同士に設定されたハンディキャップの設定を、これらのクラスに割り当てられたプレイヤー同士が当該ハンディキャップを採用して対戦した対戦結果の偏りが所定の閾値を超えるごとに、更新するように構成することができる。
【００１６】
たとえば、ハンディキャップが適切である場合には、異なるクラス同士の対戦であっても、その勝率は５割となるべきである。したがって、設定部は、各クラス同士のハンディキャップ付きの対戦結果を監視し、あるクラスと別のクラスとの勝率に偏りがある場合には、勝率が高い方に不利なように、勝率が低い方に有利なように、当該ハンディキャップを見直すのである。
本発明によれば、異なるクラスに属するプレイヤー同士が対戦する場合に採用するハンディキャップを自動的に調整することができる。
【００１７】
また、本発明の振分装置は、模倣部と、対戦部と、振分部と、をさらに備え、以下のように構成することができる。
すなわち、模倣部は、指示入力を生成する。通常は、人間のプレイヤーが頭で考え、もしくは、反射神経によって指示入力を生成する。そこで、人間を模倣するために、コンピュータなどの情報処理装置が所定のアルゴリズムにしたがって指示入力を生成することにより、模倣部として機能する。
【００１８】
対戦部は、複数のプレイヤーのうち所定のプレイヤー（以下「擬似プレイヤー」という。）を対戦の一方とする場合、当該擬似プレイヤーからの指示入力として模倣部により生成された指示入力を受け付ける。したがって、対戦相手として人間のプレイヤーが見つからない場合や、練習をしたい場合等に、人間を模倣する擬似プレイヤー（以下、適宜「ＮＰＣ（Non-Player Character）」ともいう。）を相手に対戦することができるようになる。
【００１９】
一方、振分部は、対戦部に、まだクラスに割り当てられていないプレイヤー（以下「新規プレイヤー」という。）と擬似プレイヤーとを対戦させて、当該新規プレイヤーを、その対戦結果により定めたクラスに割り当てて記憶部を更新する。新規プレイヤーは、初めてこの対戦ゲームに参加するプレイヤーである。したがって、その実力は未知数であり、既存のプレイヤーといきなり対戦させると、実力の差が大きすぎて、ゲームの面白さが減り、ゲームに対する興味を失わせてしまうおそれがある。
【００２０】
本発明によれば、擬似プレイヤーと新規プレイヤーを対戦させることで、既存のプレイヤーについて上記問題が生じるのを防止することができる。また、擬似プレイヤーは人間の対戦相手ではないので、新規プレイヤーも気楽にゲームに参加することができ、実力に見合ったクラスに振り分けられることによって、ゲームの面白味や興味を減じないようにすることができる。
【００２１】
なお、ハンディキャップの自動調整の技術と、擬似プレイヤーによって新規プレイヤーが最初に属するクラスを決定する技術とは、ともに採用することが望ましいが、いずれか一方のみを採用することもできる。
【００２２】
また、本発明の振分装置において、模倣部は、与えられた複数の種類のアルゴリズムにより当該指示入力を生成し、対戦部は、複数の擬似プレイヤーのいずれか１つを対戦の一方とする場合、当該擬似プレイヤーからの指示入力として、当該擬似プレイヤーにあらかじめ対応付けられた種類のアルゴリズムによって模倣部により生成された指示入力を受け付け、振分部は、新規プレイヤーと、複数の擬似プレイヤーとを対戦させ、これらの対戦結果により、当該新規プレイヤーに割り当てるクラスを定めるように構成することができる。
【００２３】
一般にＮＰＣの振舞いには、複数のアルゴリズムがある。たとえば、攻撃重視型、防御重視型、中庸型等である。また、ＮＰＣには、身長、体重、移動の速さ、攻撃の威力、防御の強さなど、種々のパラメータが割り当てられている。本発明では、これらが相違する複数の種類のＮＰＣと新規プレイヤーを対戦させて、当該新規プレイヤーの所属クラスを決定する。
本発明によれば、複数の異なる種類のＮＰＣとの対戦を経て新規プレイヤーが所属するクラスが決定されるので、新規プレイヤーが最初に所属するクラスをより適切に決定することができる。
【００２４】
また、本発明の振分装置において、振分部は、新規プレイヤーと擬似プレイヤーとを対戦させ、その対戦結果において当該新規プレイヤーが当該擬似プレイヤーよりも
（ａ）上位である場合、当該擬似プレイヤーに割り当てられたクラスよりも上位のクラスに割り当てられた擬似プレイヤーを次の対戦相手として選び、
（ｂ）下位である場合、当該擬似プレイヤーに割り当てられたクラスよりも下位のクラスに割り当てられた擬似プレイヤーを次の対戦相手として選び、
これを所定の回数繰り返して、新規プレイヤーと、最後に対戦した擬似プレイヤーと、の対戦結果により、当該新規プレイヤーに割り当てるクラスを定めるように構成することができる。
【００２５】
すなわち、ＮＰＣを成績順に並べ、新規プレイヤーに割り当てるべきクラスを決定するのである。たとえば、新規プレイヤーの属するべきクラスの初期値として丁度真中のクラスを採用して、２分探索を行う手法が採用できる。
本発明によれば、複数の擬似プレイヤーと対戦する場合に、できるだけ少ないプレイ回数で、実力に応じたクラスに新規プレイヤーを割り当てることができる。
【００２６】
また、本発明の振分装置において、模倣部に当該複数の種類のアルゴリズムのいずれとも異なる新たなアルゴリズムが与えられた場合、振分部は、当該新たなアルゴリズムに対応付けられた擬似プレイヤーを新規プレイヤーとして、これに割り当てるクラスを定めるように構成することができる。
【００２７】
上記の発明に対しては、新規プレイヤーは人間のプレイヤーであるとして説明を行ったが、新規プレイヤーはＮＰＣであっても良い。たとえば、新たなアルゴリズムにしたがって動作するＮＰＣや、パラメータを変更したＮＰＣを新たにゲームに参加させる場合である。
本発明によれば、新しいＮＰＣについても、既存のＮＰＣと対戦させることによって、自動的にクラス分けを行うことができる。
【００２８】
また、本発明の振分装置において、模倣部に与えられるアルゴリズムは、異なる数値パラメータによって生成する指示入力が定められ、擬似プレイヤーが割り当てられていないクラスがある場合、当該クラスより上位のクラスに割り当てられた擬似プレイヤーにおける数値パラメータと、下位のクラスに割り当てられた擬似プレイヤーにおける数値パラメータと、を内分する数値パラメータによって定めたアルゴリズムを、模倣部に与えて、振分部に、当該アルゴリズムに対応付けられた擬似プレイヤーを新規プレイヤーとして、これに割り当てるクラスを定めさせるように構成することができる。
【００２９】
一般に、対戦ゲームにおいては、同じ実力の相手と対戦する「ハンディキャップなし」の対戦が希望されることが多い。そこで、各クラスには、少なくとも１人、擬似プレイヤーが属していることが望ましい。
【００３０】
一方で、共通のアルゴリズムで動作するＮＰＣに対して異なる数値パラメータを与えた結果、異なるクラスに属することとなった場合には、当該数値パラメータを平均して与えたＮＰＣは、それらのクラスに挟まれるクラスに属することが期待できる。また、平均は１対１に内分することに相当するが、他の割合で内分すれば、その内分比に対応するクラスに属することが期待できる。
【００３１】
したがって、本発明によれば、種々のパラメータを与えたＮＰＣを生成する際にも、できるだけ適切なパラメータを与えることによって、擬似プレイヤーが割り当てられていないクラスであっても、効率良く擬似プレイヤーを割り当てることができる。
【００３２】
また、本発明の振分装置は、設定部をさらに備え、設定部は、対戦部に、異なるクラスに割り当てられる擬似プレイヤー同士を対戦させて、その対戦結果により、当該異なるクラス同士のハンディキャップを設定し、対戦部は、異なるクラスに割り当てられるプレイヤー同士であって、少なくとも一方は擬似プレイヤーではないものを対戦させる場合、設定部により、当該異なるクラス同士に設定されたハンディキャップを採用するように構成することができる。
【００３３】
上述する発明においては、異なるクラスに属するプレイヤー同士の過去（最近）のハンディキャップ対戦の対戦結果から、ハンディキャップを調整していたが、本発明では、この調整をＮＰＣ同士の対戦によって行う。ＮＰＣ同士の対戦は、サーバ装置のアイドル時間など、適切な空き時間に行うことができる。
したがって、本発明によれば、異なるクラス同士に属する人間のプレイヤー同士の対戦結果が少ない場合等であっても、ＮＰＣにそのかわりをさせて、当該クラス同士のハンディキャップを設定し直すことができる。
【００３４】
本発明の他の観点に係る振分方法は、複数のプレイヤーのそれぞれを、上位から下位に順序付けられた複数のクラスのいずれかに割り当てて記憶し、当該複数のクラスのうち、異なるクラス同士に設定されたハンディキャップを記憶する記憶部を用い、対戦工程、入替工程、および、設定工程を備え、以下のように構成する。
【００３５】
すなわち、対戦工程では、あるプレイヤーからの指示入力と、他のプレイヤーからの指示入力と、を受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、その対戦結果を記憶部にさらに記憶させる。
一方、入替工程では、記憶された対戦結果のうち、同じクラスに割り当てられたプレイヤーについて、対戦結果を比較して、対戦成績が上位のプレイヤーを、現在のクラスから上位のクラスに割り当て直し、対戦成績が下位のプレイヤーを、現在のクラスから下位のクラスに割り当て直して、記憶部を更新する。
【００３６】
さらに、対戦工程では、異なるクラスに割り当てられるプレイヤー同士を対戦させる場合、記憶された当該異なるクラス同士に設定されたハンディキャップを採用する。
そして、設定工程では、記憶された対戦結果から、当該異なるクラス同士に設定されたハンディキャップを、当該クラス同士のうち、対戦結果が悪い方に有利なように、ハンディキャップの設定を更新する。
【００３７】
本発明の他の観点に係る振分方法は、複数のプレイヤーのそれぞれを、上位から下位に順序付けられた複数のクラスのいずれかに割り当てて記憶する記憶部を用い、対戦工程と、入替工程と、模倣工程と、振分工程と、を備え、以下のように構成する。
すなわち、対戦工程では、あるプレイヤーからの指示入力と、他のプレイヤーからの指示入力と、を受け付けて、当該指示入力により当該プレイヤー同士を対戦させ、その対戦結果を記憶部にさらに記憶させる。
【００３８】
一方、入替工程では、記憶された対戦結果のうち、同じクラスに割り当てられたプレイヤーについて、対戦結果を比較して、対戦成績が上位のプレイヤーを、現在のクラスから上位のクラスに割り当て直し、対戦成績が下位のプレイヤーを、現在のクラスから下位のクラスに割り当て直して、記憶部を更新する。
さらに、模倣工程では、指示入力を生成する。
【００３９】
そして、対戦工程では、複数のプレイヤーのうち所定のプレイヤー（以下「擬似プレイヤー」という。）を対戦の一方とする場合、当該擬似プレイヤーからの指示入力として模倣部により生成された指示入力を受け付ける。
一方、振分工程では、対戦工程にて、まだクラスに割り当てられていないプレイヤー（以下「新規プレイヤー」という。）と擬似プレイヤーとを対戦させて、当該新規プレイヤーを、その対戦結果により定めたクラスに割り当てて記憶部を更新する。
【００４０】
本発明のその他の観点に係るプログラムは、コンピュータを上記表示装置として機能させ、もしくは、コンピュータに上記表示方法を実行させるように構成する。また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４１】
本発明によれば、複数のプレイヤーを対戦させ、当該プレイヤーを対戦成績によって複数のクラスのいずれかに振り分けるのに好適な、振分装置、振分方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４２】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ネットワーク対戦型ゲームのサーバ装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ（Personal Data Assistants）、携帯電話などの情報処理装置においても同様に本発明を適用することは可能である。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００４３】
図１は、本発明の第１の実施形態に係る振分装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４４】
本実施形態の振分装置１０１は、対戦部１０２と、記憶部１０３と、入替部１０４と、設定部１０５と、を備える。
【００４５】
ここで、記憶部１０３は、複数のプレイヤーのそれぞれを、上位から下位に順序付けられた複数のクラスのいずれかに割り当てて記憶する。記憶部１０３は、当該複数のクラスのうち、異なるクラス同士に設定されたハンディキャップを記憶する。
【００４６】
図２は、記憶部１０３に記憶される情報の様子を示す説明図である。以下、本図を参照して説明する。
【００４７】
記憶部１０３の成績表には、プレイヤーのＩＤ（IDentifier）番号と、そのプレイヤーの現在のクラスと、直近の対戦成績と、が、対応付けられて記憶されている。たとえば、クラス２のプレイヤーＡの最近の対戦成績は１９勝１２敗であり、クラス３のプレイヤーＢの最近の対戦成績は１７勝１２敗である旨が記憶されている。
【００４８】
また、記憶部１０３に記憶されるハンディキャップ表には、異なるクラス同士のハンディキャップが、三角状に整理されて記憶される。同じクラスの場合には、ハンディキャップは不要であるから、クラスの数がｎ個である場合には、この三角状の表には、ｎ×（ｎ−１）／２個のハンディキャップが記憶されることになる。当該三角状の表には、ハンディキャップとして、上位クラスのプレイヤーが下位クラスのプレイヤーよりも不利になるような整数値が記録されている。
【００４９】
このほか、記憶部１０３の三角状の表の各要素には、現在のハンディキャップが設定されて以降に当該クラス同士のプレイヤーが対戦した結果も記憶される。
【００５０】
本図では、たとえば、上位のクラス２と下位のクラス３とのハンディキャップは２.８００で、対戦成績は、クラス２のプレイヤーが４３勝、クラス３のプレイヤーが６２勝である。
【００５１】
図３は、振分装置１０１にて実行される振分方法の処理の流れを示すフローチャートである。以下、本図を参照して説明する。
【００５２】
まず、対戦部１０２は、あるプレイヤーからの指示入力と、他のプレイヤーからの指示入力と、を受け付けて、当該指示入力により当該プレイヤー同士を対戦させる（ステップＳ３０１）。この際に、異なるクラスに割り当てられるプレイヤー同士を対戦させる場合、記憶部１０３に記憶されたハンディキャップ表を参照して、当該異なるクラス同士に設定されたハンディキャップを採用する。ここでは、クラス２のプレイヤーＡと、クラス３のプレイヤーＢとが対戦する場合を考える。
【００５３】
そして、その対戦結果を、記憶部１０３に記憶されるハンディキャップ表に書き込んでこれを更新する（ステップＳ３０２）。たとえば、クラス２のプレイヤーＡとクラス３のプレイヤーＢとが、ステップＳ３０１においてハンディキャップ２.８００で対戦した結果、クラス３のプレイヤーＢが勝利したとすると、ハンディキャップ表の当該要素は、「ハンディキャップ２.８００、クラス２のプレイヤー４３勝、クラス３のプレイヤー６３勝」に更新されることになる。
【００５４】
さらに、当該プレイヤーの勝敗表に、この対戦結果を書き込んで更新する（ステップＳ３０３）。これによって、クラス２のプレイヤーＡの最近の対戦成績は１９勝１３敗に、クラス３のプレイヤーＢの最近の対戦成績は１８勝１２敗に、それぞれ更新される。
【００５５】
さらに、設定部１０５は、当該更新されたハンディキャップ表の要素を見て、その対戦成績に偏りがあるか否かを調べる（ステップＳ３０４）。偏りがない場合（ステップＳ３０４；Ｎｏ）、ステップＳ３１１に進む。
【００５６】
偏りがあるか否かは、たとえば以下のように判断する。
（ａ）当該ハンディキャップでの対戦の総数（本例では４３＋６３＝１０６）が所定の閾対戦数を超えていなければ、偏りはない。
（ｂ）所定の閾対戦数を超えている場合、対戦成績の差（本例では、|４３−６３|＝２０）が、所定の閾差数を超えていなければ、偏りはない。
（ｃ）上記（ａ）（ｂ）のいずれでもない場合は、偏りがある。
【００５７】
偏りがある場合（ステップＳ３０４；Ｙｅｓ）、その偏りを打ち消す方向にハンディキャップを修正する（ステップＳ３０５）。本例では、ハンディキャップ２.８００であると、下位クラスのプレイヤーの勝数が多くなり過ぎるのであるから、ハンディキャップを小さくすれば良い、ということになる。これは、すなわち、対戦成績が劣る上位クラスのプレイヤーに有利なように、ハンディキャップが更新されることを意味する。
【００５８】
ここで、偏りを打ち消す方向にハンディキャップを修正する修正幅は、対戦ゲームの種類によって異なる。最も単純には、適当な修正幅を（たとえば「０.１」のように）あらかじめ定めておき、その修正幅によって修正すれば良い。
【００５９】
より高度な手法として、これまでのハンディキャップ値と対戦成績の偏りの組合せの履歴を直近の複数個だけ、保存しておき、これらの履歴を補間・補外することによって、対戦成績が五分五分となるような新たなハンディキャップ値を求めることもできる。
【００６０】
たとえば、現在は（図２の示すハンディキャップ表では２.８００，４３対６２であるが、ここでは、上記の対戦が行われた後について考えるので）ハンディキャップが２.８００で４３対６３であるが、その前のハンディキャップが２.２００で７２対３４であった場合を考える。この場合、求めるべきハンディキャップをｈとすると、
2.800-h : h-2.200 = 63/43-1 : 1-34/72
のように比を考えて、補間・補外を行う。この場合、得られるｈの値は、約２.５１９となる。そこで、この値を次のハンディキャップ値として採用する。なお、補間・補外については、他の種々の技術を採用することができる。
【００６１】
ハンディキャップを修正したら、当該対戦成績をクリアして（ステップＳ３０６）、ステップＳ３１１に進む。ステップＳ３０５、ステップＳ３０６によって、記憶部１０３のハンディキャップ表に記憶される上位のクラス２と下位のクラス３とのハンディキャップは２.５１９に、対戦成績はクラス２のプレイヤーが０勝、クラス３のプレイヤーが０勝に、それぞれ変更されることになる。
【００６２】
ついで、入替部１０４は、最後に入替を行ってからの対戦の総数が所定の数を超えている場合や、入替を行うとあらかじめ設定された日時に達した場合等、適宜定めた入替条件が満たされるか否かをを調べる（ステップＳ３１１）。入替条件が満たされていない場合（ステップＳ３１１；Ｎｏ）、ステップＳ３０１に戻る。
【００６３】
一方、入替条件が満たされる場合（ステップＳ３１１；Ｙｅｓ）、各クラスに属するプレイヤーを対戦成績の順に整列する（ステップＳ３１２）。対戦成績の順は、単に勝率によっても良いし、一定数以上の対戦数をしていない場合には、その対戦数が少なければ少ないほど対戦成績が悪い、としても良いし、その他、対戦数と勝敗の数とを所定の評価関数に与えることによって、適当な値を計算して、当該値によって整列を行っても良い。
【００６４】
そして、各クラスについて成績が最も悪いプレイヤーのクラスを下位に変更し、成績が最も良いプレイヤーのクラスを上位に変更して入れ換えを行う（ステップＳ３１３）。
【００６５】
入れ替える人数は、各クラスから上位へ所定の人数、下位へ所定の人数、のように、あらかじめ定めるのが最も単純であるが、各クラスのうちの上位〇〇パーセントまでを上位クラスへ、各クラスのうちの下位××パーセントまでを上位クラスへ、のように、適当な〇〇や××の定数を定めておく手法であっても良い。
【００６６】
入れ替えの際には、クラス数の上限をあらかじめ定めておき、最上位クラスの最上位プレイヤーと最下位クラスの最下位プレイヤーは、はそのまま当該クラスに留め置くこととしても良い。また、最上位クラスや最下位クラスに属するプレイヤーの数が一定数を超えた場合に、新たな上位クラスや下位クラスを生成して、これにプレイヤーのクラスを変更することとしても良い。
【００６７】
さらに、現在対戦ゲームに参加しているプレイヤーの数にクラスの数を比例させる等、適宜クラスの数を変更させる手法を採用することもできる。
入れ換えを行った後は、プレイヤーそれぞれの対戦成績をクリアして（ステップＳ３１４）、ステップＳ３０１に戻る。
本実施形態では、プレイヤーを実力に応じて複数のクラスに振り分けることができ、異なるクラスに属するプレイヤーでもできるだけ伯仲した対戦ができるように、ハンディキャップを自動的に調整することができる。
【実施例２】
【００６８】
上記実施形態は、人間のプレイヤー同士が対戦を行うことを前提としていた。一方、現在の各種の対戦ゲームにおいては、人間同士のプレイができない場合や、人間のプレイヤーが練習をしたい場合には、人間のプレイヤーが指示入力を与えてＰＣを操作し、コンピューターが人間を模して指示入力を生成してＮＰＣを操作することによって、ＰＣとＮＰＣとを対戦させる手法が広く用いられている。本実施形態はこれに対応するものである。
本実施形態の振分装置は、図４に示すように、上記実施形態の振分装置１０１に対して、模倣部４０１と、振分部４０２と、をさらに設ける。
【００６９】
模倣部４０１は、コンピュータに所定のプログラムを実行させることによって、あたかも人間が操作しているかのような指示入力（「擬似プレイヤー」による指示入力）を生成し、これを、対戦部１０２に与える。これによって、ＰＣ同士の対戦（人間同士の対戦）、ＮＰＣとＰＣの対戦（コンピュータと人間の対戦）、ＮＰＣ同士の対戦（コンピュータ（指示入力生成プログラム）同士の対戦）を行うことができる。そして、適宜ＮＰＣも対戦を行うことにより、クラス内での入れ換えが行われ、通常のＰＣと同様に、ＮＰＣもその対戦成績によっていずれかのクラスに振り分けられることになる。
【００７０】
一方、振分部４０２は、対戦部１０２に与えられる指示入力が、まだクラスに割り当てられていないプレイヤー（以下「新規プレイヤー」という。）によるものである場合には、他方の指示入力として、模倣部４０１が生成する指示入力を与えることにより、新規プレイヤーと擬似プレイヤーとを対戦させる。
【００７１】
そして、その対戦結果によって、新規プレイヤーのクラスを割り当てる。割り当ての具体的な手法には、種々の技術が考えられる。まず、擬似プレイヤーが１人しかいない場合（模倣部４０１において動作する指示入力生成プログラムが１種類しかない場合）は、当該擬似プレイヤーに新規プレイヤーが勝利した場合は、当該擬似プレイヤーが属するクラスよりも１つ上位のクラスに、敗北した場合には１つ下位のクラスに、それぞれ定める、という手法が最も単純である。隣りのクラスではなく、所定の数だけ離れたクラスに定める、としても良い。
【００７２】
このほか、複数の擬似プレイヤーがいる場合には、当該擬似プレイヤーを成績順に並べ、まず真中の成績の擬似プレイヤーと新規プレイヤーとを対戦させる。これに新規プレイヤーが勝利した場合には、最上位擬似プレイヤーと真中の成績の擬似プレイヤーとのちょうど間の擬似プレイヤーと新規プレイヤーとを対戦させる。以下同様にして、所定の数の擬似プレイヤーと新規プレイヤーとを２分探索的に対戦させれば新規プレイヤーを属するべきクラスを絞り込んでいくことができる。
【００７３】
振分部４０２は、新規プレイヤーと擬似プレイヤーとを対戦させ、その対戦結果において当該新規プレイヤーが当該擬似プレイヤーよりも
（ａ）上位である場合、当該擬似プレイヤーに割り当てられたクラスよりも上位のクラスに割り当てられた擬似プレイヤーを次の対戦相手として選び、
（ｂ）下位である場合、当該擬似プレイヤーに割り当てられたクラスよりも下位のクラスに割り当てられた擬似プレイヤーを次の対戦相手として選び、
これを所定の回数繰り返して、新規プレイヤーと、最後に対戦した擬似プレイヤーと、の対戦結果により、当該新規プレイヤーに割り当てるクラスを定めるように構成することができる。
【００７４】
すなわち、ＮＰＣを成績順に並べ、新規プレイヤーに割り当てるべきクラスを決定するのである。たとえば、新規プレイヤーの属するべきクラスの初期値として丁度真中のクラスを採用して、２分探索を行う手法が採用できる。
本発明によれば、複数の擬似プレイヤーと対戦する場合に、できるだけ少ないプレイ回数で、実力に応じたクラスに新規プレイヤーを割り当てることができる。
【００７５】
なお、新規プレイヤーは、人間のプレイヤーには限らず、新しい指示入力生成プログラムに対応付けられる擬似プレイヤーであっても良い。この場合は、ＮＰＣ同士の対戦により、ＮＰＣ新規プレイヤーの最初のクラスが定められることになる。
【００７６】
なお、上記のような２分探索的な手法によって新規プレイヤーのクラスを定める場合には、各クラスに少なくともＮＰＣが１人いることが望ましい。対戦ゲームにおいては、同じ実力の相手と対戦する「ハンディキャップなし」の対戦が希望されることが多い。そこで、各クラスには、少なくとも１人、擬似プレイヤーが属していることが望ましい。
【００７７】
一方で、共通のアルゴリズムで動作するＮＰＣに対して異なる数値パラメータを与えた結果、異なるクラスに属することとなった場合には、当該数値パラメータを平均して与えたＮＰＣは、それらのクラスに挟まれるクラスに属することが期待できる。また、平均は１対１に内分することに相当するが、他の割合で内分すれば、その内分比に対応するクラスに属することが期待できる。
【００７８】
たとえば、あるプログラムにパラメータ(a,b)を与えることによって動作するＮＰＣがクラスpであり、同じプログラムにパラメータ(x,y)を与えることによって動作するＮＰＣがクラスqである場合に、クラスrに属する蓋然性が高いパラメータはこれらのパラメータを内分した
(((r-q)a+(p-r)x)/(p+q),((r-q)b+(p-r)y)/(p+q))
である。このパラメータを同じプログラムに与えた新規の擬似プレイヤーを、対戦に参加させるのである。
【００７９】
対戦を進ませることによって、すべてのクラスに擬似プレイヤーが属するようになれば、新たなパラメータを求める必要はないが、擬似プレイヤーのいないクラスが生じたら、上記と同様の処理により、既存の擬似プレイヤーから新規の擬似プレイヤーを生成する。
【００８０】
尚、ＮＰＣ同士の対戦は、人間のプレイヤーが一切参加していなくとも、行うことができる。そこで、サーバ装置のアイドル時間など、適切な空き時間にＮＰＣ同士の対戦を多数回行わせれば、クラス内の入れ換えが行われるとともに、クラス間のハンディキャップが自動的に調整されることなる。
【００８１】
このように、コンピュータが所定のアルゴリズムを実現するプログラムを実行することによって、人間が指示しているのと同じような指示入力を生成することにより、ＮＰＣを対戦に参加させることができ、これによって、新規プレイヤーの最初のクラスの振分を適切に行ったり、人間のプレイヤーの対戦がなくとも、クラス間のハンディキャップの調整を自動的に行ったりなどの効果を得ることができる。
【産業上の利用可能性】
【００８２】
以上説明したように、本発明によれば、複数のプレイヤーを対戦させ、当該プレイヤーを対戦成績によって複数のクラスのいずれかに振り分けるのに好適な、振分装置、振分方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができ、これらは、各種の対戦型のゲームシステム等の実現に適用することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施形態に係る振分装置の概要構成を示す模式図である。
【図２】本実施形態の振分装置の記憶部に記憶される情報の様子を示す説明図である。
【図３】本実施形態の振分装置にて実行される振分方法の処理の流れを示すフローチャートである。
【図４】本発明の第２の実施形態に係る振分装置の概要構成を示す模式図である。
【符号の説明】
【００８４】
１０１  振分装置
１０２  対戦部
１０３  記憶部
１０４  入替部
１０５  設定部
４０１  模倣部
４０２  振分部
【図１】
0003653088.tif 000002
【図２】
0003653088.tif 000003
【図３】
0003653088.tif 000004
【図４】
0003653088.tif 000005