PvPゲームのマッチングシステムメモ
対戦ゲームでは一方的な試合ばかりになってしまうとつまらない。 プレイヤーは実力の拮抗した白熱したバトルを求めているため、実力の近いプレイヤー同士で戦うための仕組みが必要。
以下に、よく使われる手法をメモ。 いずれも厳密にマッチングさせようとすると待ち時間が長くなってしまうので、ある程度マッチングしなかったら条件を緩めたほう
レベル制
単純にプレイ時間応じて上がっていく場合、実力とレベルが見合わないことが多くなる。 リリース直後はみんな同じなので、最初はあまり意味がない。 PvPは大抵レートなのでよりもCOOPで使われる。
レート制
試合の勝ち負けででレートが増減するタイプ。 ある一定まで上がれば、実力に応じたレートになる。 リリース直後はみんな同じなので、こちらも最初はあまり意味がない。
直近の試合の結果を使用
負けた人は負けた人同士 勝った人は勝った人同士で対戦。
リアルタイムな強さをマッチングに反映出来る。
その他の様々なプレイデータを使用
上記以外のプレイヤーの行動や装備等を元にマッチング。 マッチングロジックや扱うデータが増えてしまい、処理が重くなる。 非同期でマッチングテーブルを作っておいて、実際にマッチングする際にそのテーブルを参照するなどの工夫が考えられるか。