セプト部ポイント(CCP)の仕組みを検討しています
コメント
まだコメントはありません。
まだコメントはありません。
カルドセプト部では、サイトを通じて行われた対戦から、おおよその実力の雰囲気を表す「セプト部ポイント(CCP)」の仕組みを検討しています。
CCPは、厳密な競技レーティングとして誰かの実力を断定するものではありません。運、対戦相手、時期、参加人数、作品環境なども含めて、長く対戦を続けた時に「だいたいこのくらい」という雰囲気を伝える数値を目指しています。
CCPには、内部評価と公開表示の二つがあります。
内部では、TrueSkill系の方式を使い、対戦相手の数値と不確実性、参加人数、順位、同順位、同盟戦などを考慮します。
一方、公開CCPは0から始まります。
200戦までは、対戦を重ねることで徐々に増えていくように表示を補正します。200戦に到達すると、その時点の内部評価を反映した成熟CCPへ一致します。
200戦以降は、対戦数だけでは増えません。誰と対戦し、どの順位になったかによって上下します。
この仕組みには、次の狙いがあります。
CCPの内部評価は、自分の順位だけでなく、対戦相手の数値も使って更新します。
そのため、同じ1位でも、格上の参加者に勝った場合、同じくらいの参加者に勝った場合、格下の参加者に予想どおり勝った場合では、内部値の変化が異なります。
イロレーティングは基本的に1対1の勝敗を扱う方式です。TrueSkill系は、多人数の順位とチーム戦を扱いやすく、平均的な実力と、その推定がどの程度確かかを分けて持てます。
CCPでは、このTrueSkill系の内部値をそのまま公開せず、200戦までの表示補正を重ねます。
200人の仮想参加者が、毎回相手を変えながら500戦するシミュレーションを行いました。
500戦後の実測1位率と平均CCPは、次のようになりました。
おおむね次の関係を目標にしています。
25%付近: 1500
30%付近: 1700
35%付近: 1900
40%付近: 2100同じ実力でも、500戦の結果には幅があります。この表は、特定の1位率なら必ずそのCCPになるという保証ではありません。
CCPは、4人戦だけの数値にはしません。
3人戦、2人戦、2対2同盟戦も含め、全作品を通じた一つのCCPとして扱う予定です。ただし、4人戦を基準として、他の形式は反映量を弱めます。
4人戦、3人戦、2人戦を混ぜたシミュレーションや、対戦ごとに相方が変わる同盟戦も試しました。個人戦より同盟戦の精度は下がりますが、実力帯の大まかな上下関係は維持できました。
アリーナのフリー対戦では、アカウントを持たない非登録対戦者が参加する場合があります。
非登録対戦者は、各対戦で標準的な1500相当の相手と仮定します。更新後の内部値は次の対戦へ持ち越しません。
後から本人確認とアカウント登録が完了した場合は、本人に接続された正常終了対戦を本人のCCP履歴へ含めます。
イベント主催者が発行するゲスト参加者は、イベント内で使える仮のアカウントを持つため、対戦を跨いで内部評価を継続します。後から通常アカウントへ移行した場合は、ゲスト参加者としての履歴を引き継ぎます。
ビギンズでは、参加者が切断するとCPUが同じ席を引き継いで対戦を続けます。
残った参加者の順位は繰り上げず、切断席を1500相当のCPUへ置き換えて、ゲーム画面の最終順位をそのままCCP計算に使います。
切断した本人は、オンラインとオフラインで扱いを分けます。
CPUを1300、1500、1700相当として比較したところ、1500相当が最も集団全体を安定させました。
CCPは、作品別・プラットフォーム別には分けません。
DS、3DS、リボルト、サーガ、ビギンズなどを跨ぐ一つの数値とし、新作品発売やシーズン切替でもリセットしない予定です。
既存100人が300戦した後に新規100人を加えたシミュレーションでは、既存参加者の平均CCPは1504.4から1505.3となり、ほとんど変わりませんでした。
新作発売直後の初心者が多い環境や、熟練者中心になった時期も含め、カルドセプト部の対戦ネットワークの中で継続して変化する数値として扱います。
TrueSkill系であっても、互いにまったく対戦しない集団の実力差を知ることはできません。
上位100人と下位100人が完全に分かれて対戦したシミュレーションでは、コミュニティ全体との比較精度が大きく下がりました。同じ4人だけで繰り返し対戦した場合も、閉じたグループ内の相対評価へ近づきます。
一方で、全体の10~20%程度でも他の参加者との対戦があれば、比較精度は大きく回復しました。
この性質も、CCPが絶対的な実力証明ではなく、おおよその雰囲気を示す数値である理由の一つです。
CCPは、実装後の対戦だけを0から集計するのではなく、代々木ビギンズの正常終了結果も初期履歴へ含める予定です。
ローカルの記録では、CCPへ反映できる正常対戦が84件ありました。一人あたりの対象対戦数は1~6戦で、表示補正後のCCPは4~148に収まりました。
対戦数が少ない時期の不確かな内部評価をそのまま見せず、対戦を重ねることで表示値が育つ仕組みが、実際の記録でも意図どおり働くことを確認できました。
この記事では、結果の重要な部分だけを紹介しました。
参加者の想定分布、20~500戦の推移、対戦形式、同順位、ゲスト参加、切断、CPUの強さ、対戦相手の偏り、新作発売時の流入、代々木ビギンズの結果などは、固定ページにまとめています。
実装前に計算式、対象とする対戦、例外処理をさらに確認し、正式な仕様と案内を整えてから導入します。