オンラインゲームのマッチングの仕組みとは?MMR・SBMM・懲罰マッチを解説

このブログを運営しているセルバについて

セルバは創業23年のWeb企業です。
求人応募を増やしたい、見込み客からの問い合わせを増やしたい、比較・検索・マッチングの仕組みを作りたいなど、Webを使った事業づくりを支援しています。

「まずは概算だけ」「何を作るべきかの整理から」でもお気軽にお問い合わせください。

制作実績を見る | 会社情報

「さっきまで勝てていたのに、急に敵が強くなった」
「自分と同じランクとは思えない人が味方に来た」
「連勝すると必ず連敗が始まる気がする」

と感じることがあります。そこで話題になるのが「懲罰マッチ」です。

ただし、最初に整理しておきたいのは、一般に懲罰マッチと呼ばれている現象と、ゲーム運営が意図的に特定プレイヤーを負けさせる仕組みは同じではないという点です。

実際のオンラインゲームでは、単純に「同じランクの人を集める」だけではありません。

内部レート、通信品質、待ち時間、ロール、パーティー構成などを組み合わせながら対戦を作ります。

たとえばLeague of Legendsは、マッチングで「試合の公平性」「ポジション設定」「待ち時間」のバランスを取っていると説明しています。Call of Dutyでは、接続品質を最も重く見て、次にマッチ成立までの時間、そのほかにスキルや入力デバイスなどを考慮すると公表しています。

目次

ゲームのマッチングの仕組み

ゲームによってアルゴリズムは違いますが、基本的な流れには共通点があります。
「同じ実力」という一つの条件だけで対戦相手を決めているとは限りません。

対戦待ちのプレイヤーを集める

プレイヤーが「対戦開始」を押すと、マッチング待ちのキューに入ります。
システム側は、その時点で待っているプレイヤーから条件の合う候補を探します。

たとえば5対5なら10人を集めます。しかし、

同じ実力
同じ地域
低いPing
適切なロール
同じ入力環境

をすべて完全一致させようとすると、いつまでたっても10人そろわないことがあります。

そのため実際のマッチングでは、「公平性をどこまで優先し、何秒待ったら条件を広げるか」

いう設計が必要です。

AWSのゲーム向けマッチメイキング機能「Amazon GameLift Servers FlexMatch」でも、スキルやレイテンシーなどを条件に設定し、一定時間マッチしない場合は許容範囲を段階的に緩められます。

MMRで実力を推定する

多くの対戦ゲームでは、プレイヤーの実力を数値化してマッチングに利用します。
よく使われる言葉がMMR(Matchmaking Rating)です。

ゲームによって計算方法は異なりますが、勝敗などの対戦結果から、「このプレイヤーは現在どの程度の相手と互角に戦えるのか」を推定するための値です。

古くから知られているEloレーティングやMicrosoftのTrueSkillなども、プレイヤーの実力を推定するためのレーティング方式です。

TrueSkillでは、単一の勝率ではなく、推定される実力と、その推定にどの程度不確実性があるかを利用してプレイヤーを評価します。

したがって、「MMR=直近の勝率」「Elo=勝率」と考えるのは正確ではありません。

Pingと待ち時間も見る

オンラインゲームでは、実力が同じでも通信状態が悪ければ快適な対戦にはなりません。
たとえば、

プレイヤーA:東京
プレイヤーB:大阪
プレイヤーC:アメリカ
プレイヤーD:ヨーロッパ

を同じサーバーへ入れれば、地域によって遅延に大きな差が出る場合があります。

Call of Dutyは、マッチメイキングにおいて接続品質を最も重視する要素、マッチ成立までの時間を2番目に重視する要素として説明しています。

つまり、「同じ実力だから必ずマッチする」わけではありません。
通信品質と待ち時間を含めて候補が決まります。

ロールやパーティーも考慮する

チームゲームでは、個人のMMRだけを近づけても公平な試合になるとは限りません。
たとえば5対5のゲームで、

Aチーム:5人とも固定パーティー
Bチーム:全員ソロ

なら、MMRが同じでも連携力に差が出る場合があります。MOBAなら、

トップ
ジャングル
ミッド
ADC
サポート

といったポジションも必要です。

League of Legendsでは、平均MMRだけでなくポジション設定と待ち時間もマッチメイキングの要素としていることを公式に説明しています。

Call of Dutyでも、スキル以外に入力デバイス、プラットフォーム、ボイスチャット、最近プレイしたマップやモードなど複数の要素を扱っています。

オンラインゲームのマッチングは「自分と同じ強さの人を探す処理」ではなく、複数の条件から妥当な試合を短時間で作る処理です。

ランクとMMRの違い

プレイヤーが混乱しやすいのが、「ランク」と、「内部レート」の違いです。
ゲームによっては、画面に表示されるランクとマッチングに使われる評価が一致しません。

ランクは見える評価

ブロンズ
シルバー
ゴールド
プラチナ

など、プレイヤーから見える階級がランクです。

順位や成長を分かりやすく見せる役割があります。
勝利するとポイントが増え、一定の条件を満たすとランクアップする仕組みが一般的です。

MMRは内部の実力評価

一方、MMRはマッチング用にプレイヤーの実力を推定する数値です。

League of Legendsも、表示ランクとMMRが一致しないケースがあることを説明しています。

2026年のランク戦では、表示ランクが現在のMMRへまだ追いついていないプレイヤーについて、それが分かるインジケーターも導入されました。

そのため、「シルバーなのにプラチナ帯へ入れられた」からといって、必ずしもマッチングが壊れているとは限りません。

内部評価では、そのプレイヤーがプラチナ帯に近いと判断されているケースがあります。

MMRは勝率そのものではない

MMRについて、「勝率60%になったから内部レートも60になる」というものではありません。
実際には、

誰に勝ったか
誰に負けたか
現在どの程度の実力と推定されているか

などを基に更新されます。

たとえば実力が高い相手に勝った場合と、明らかな格下へ勝った場合をまったく同じ評価にすると、実力を正しく測れません。

MMRは勝率を表示する数字ではなく、今後どの程度の相手と互角に戦えるかを予測するための値と考えると分かりやすいでしょう。

50%は勝敗操作を意味しない

League of Legendsは、公平な試合について、両チームの勝利確率がおよそ50%になる状態を目標として説明しています。平均MMRがおおよそ同じチーム同士になるよう試合を作ります。

ここで誤解しやすいのが、「勝率50%になるよう結果を操作している」という考え方です。
これは別の話です。

たとえば同じ程度の実力を持つテニス選手2人を対戦させれば、試合開始前の予測は50対50に近くなります。

しかし、「A選手が昨日勝ったので、今日は必ず負けさせる」わけではありません。

ゲームのマッチングも同様です。

公平なマッチを作った結果として勝利確率が50%前後になることと、過去の勝率を50%へ戻すため勝敗を操作することは区別する必要があります。

懲罰マッチとは

「懲罰マッチ」「懲罰マッチング」は、対戦ゲームのプレイヤーコミュニティで使われる俗称です。

一般には、

連勝した後に急に強い敵が続く
弱いと感じる味方が続く
一方的に負ける試合が増える

といった状態を指して使われます。

プレイヤー側で使われる俗称

「懲罰」という名前から、「ゲーム側が勝ちすぎたプレイヤーを罰している」という意味で使われることがあります。

しかし、「懲罰マッチ」という共通規格や一般的なマッチメイキング方式が存在するわけではありません。

タイトルごとに仕組みも違います。
そのため、「3連勝したら必ず懲罰マッチへ入る」「勝率55%を超えたら弱い味方を付けられる」といった説明を、ゲーム全般の仕様として扱うことはできません。

公式な仕組みとは確認できない

League of Legends、Call of Duty、Splatoon 3の公開情報を見ると、スキル評価やチームバランス、通信品質などについては説明されています。

一方、

「連勝したプレイヤーを負けさせるために意図的に不利なチームへ入れる」という仕組みは、今回確認した公式資料では確認できません。

したがって、懲罰マッチについては、「そう感じる試合が発生すること」と、「運営が意図的に敗北させていること」を分けて考える必要があります。

連勝後に相手が強くなる理由

では、なぜ連勝後に急に苦しくなるのでしょうか。

一つ考えられるのがMMRの上昇です。

たとえば内部評価1,500のプレイヤーが好調で勝利を重ね、1,650付近まで評価されたとします。

当然、その後は1,500前後ではなく、より高い評価のプレイヤーが対戦候補になります。

その結果、

「昨日までは勝てたのに、急に敵が強くなった」

と感じても不思議ではありません。

これは罰ではなく、システム側が現在の実力を再評価した結果でも起こります。

さらにプレイヤー数が少ない時間帯では、実力が非常に近い10人が短時間で集まらないことがあります。

AWS FlexMatchでも、マッチングが成立しない場合に、一定時間後から許容するスキル差やレイテンシーを広げる設計ができます。

実際のゲームでも「公平性」と「待ち時間」の両方を満たす必要があるため、常に完全な同格だけで組めるとは限りません。

味方が弱く見える理由

チーム戦では、「敵は強いのに味方だけ弱い」と感じることがあります。
しかし、チーム全体のMMRを近づける方式なら、個々のプレイヤーまで全員同じ強さになるとは限りません。

たとえば単純化すると、

Aチーム:1800・1400・1400・1400
Bチーム:1500・1500・1500・1500

なら、平均値はどちらも1500です。

Aチームの1800のプレイヤーから見ると、「味方が全員自分より弱い」状態になります。

実際のゲームがこの単純な平均値だけでチームを決めているという意味ではありませんが、「チーム全体を均衡させる」と「全員を同じ実力にする」は違います。

さらにロール、武器、パーティー、通信環境など別の制約も入れば、個人単位では差が見えることがあります。

ゲームごとに仕組みは違う

マッチングシステムはゲーム会社が共通の仕組みを使っているわけではありません。
タイトルごとの設計を見ると違いが分かります。

League of Legends

League of Legendsでは、理想的なマッチとして、

同時に対戦待ちしている
同じMMR
必要なポジションがそろう

10人を集める状態を挙げています。現実には条件が完全一致しないため、

試合の公平性
ポジション
待ち時間

を調整しています。

公平性については、平均MMRがおおよそ同じチームを作り、双方の予測勝率を50%前後にする設計です。

また、ゲームモードごとに別のMMRを利用する仕組みもあります。
そのためランク戦では非常に強い人でも、別モードでは表示上の周囲と差があるように見えるケースがあります。

Call of Duty

Call of Dutyは2024年からマッチメイキングについて複数の技術資料を公開しています。
Core Multiplayerでは、主に次のような要素を考慮すると説明しています。

  • 接続品質
  • マッチ成立までの時間
  • プレイリスト
  • 最近のマップ・モード
  • スキル・パフォーマンス
  • 入力デバイス
  • プラットフォーム
  • ボイスチャット

特に接続品質が最も重く、マッチ成立までの時間が次に重い要素とされています。

「SBMMだからスキルしか見ていない」という説明では実際の仕組みを捉えきれません。

Splatoon 3

Splatoon 3も、モードによってマッチング条件が異なります。

任天堂はXマッチについて、地域・時間帯・ブキ構成によってマッチ成立までの時間が変わり、近い構成のチーム同士を組む仕組みを説明しています。

さらに2026年3月18日のVer.11.1.0では、Xマッチのマッチング方式が変更されました。

単純に「現在のXパワーが近い人」を集めるのではなく、試合数を重ねた後に最終的なXパワーが近くなると予測されるプレイヤー同士を組む方式へ変更されています。

チーム間の実力差を減らす調整や、ブキ構成に関する変更も行われています。

つまり、Splatoon 3についても、「ランクだけ」「直近の勝率だけ」でマッチングを説明することはできません。

EOMMは別の考え方

オンラインゲームの議論では「EOMM」という言葉も登場します。

EOMMはEngagement Optimized Matchmakingの略で、2017年にElectronic Artsの研究者らを含むチームが発表した研究です。

公平な試合を作ることだけではなく、プレイヤーがゲームから離脱する確率などを考慮し、全体のエンゲージメントを高めるマッチング方法を提案しています。

ただし、この論文が存在することだけで、「EAのゲームはすべてEOMMを導入している」「連勝したら負けさせるシステムが実装されている」とは証明できません。

研究として提案された仕組みと、特定タイトルで実際に動いているアルゴリズムは分けて考える必要があります。

マッチングがおかしいと感じたら

数試合負けただけでは、マッチングに問題があるか判断するのは難しいものです。

確認するなら、試合結果を少し長い期間で見た方が分かりやすくなります。

表示ランクだけで判断しない

まず相手や味方の表示ランクだけで判断しないことです。表示ランクと内部MMRが別の場合、

シルバー
ゴールド
プラチナ

が同じ試合に入っても、内部評価では近いことがあります。

League of Legendsが2026年に「ランクがMMRへ追いついていないプレイヤー」を表示する仕組みを追加したのも、見た目のランク差による誤解がフラストレーションにつながっていたためです。

数試合の連敗だけでは分からない

実力が同じプレイヤー同士でも、連勝や連敗は起こります。
仮に毎試合の勝率が完全に50%だとしても、

勝ち
勝ち
勝ち
負け
負け
負け

という並びになることはあります。「3連敗したから懲罰マッチ」とは判断できません。

確認するなら20試合、50試合など一定期間で、

対戦相手の実力
自分の成績
パーティー状況
待ち時間
試合モード

まで見た方が状況を把握できます。

時間帯や地域も確認する

深夜や早朝など、プレイヤー数が少ない時間帯では候補そのものが少なくなります。

理想的な実力差だけを追い続ければ、マッチングに数十分かかることも考えられます。

MicrosoftのTrueSkillの解説でも、マッチ品質と待ち時間にはトレードオフがあり、利用可能なプレイヤーが少ない場合には実力差のあるマッチが起こり得ると説明されています。

パーティー条件も見る

ソロプレイヤーと固定パーティーでは条件が違います。

複数人で参加すると、システムはグループを一つの単位として扱う場合があります。

AWS GameLift FlexMatchでも、複数人のパーティーをまとめて同じチームへ配置した上で、残りのプレイヤーを探す仕組みを設定できます。

そのため、

ソロで遊んでいるとき
2人パーティーのとき
フルパーティーのとき

で、体感する対戦環境が同じとは限りません。

マッチングシステムを作るなら

オンラインゲームのマッチングを開発する場合、単純にレート差が最小になるプレイヤーを組ませれば完成ではありません。

複数条件の優先順位を決めます。

公平性だけでは決められない

仮に条件を、「MMR差10以内の相手としかマッチさせない」とします。

利用者が多い時間帯なら機能するかもしれません。

しかし深夜に同じ条件を適用すると、10分待っても対戦できない状態になることがあります。

逆に、「MMR差500まで許可」なら数秒でマッチしても、一方的な試合が増えます。

マッチングでは主に、

  • スキル差
  • 通信遅延
  • 待ち時間
  • チーム人数
  • パーティー
  • ロール・キャラクター
  • 地域

などをどう優先するか決めます。

AWS GameLift FlexMatchでも、スキル・チーム構成・役割・レイテンシーなどをルールとして設定できます。

待ち時間で条件を緩和する

一つの方法が、待ち時間に応じて条件を変える設計です。

たとえば、

開始〜10秒:MMR差50以内
10〜20秒:MMR差100以内
20〜30秒:MMR差200以内

という形です。

AWSの公式例でも、まずスキル差やレイテンシーを厳しく設定し、一定時間たっても人数がそろわなければ許容条件を広げる設計が紹介されています。

これによって、公平性と、マッチング速度のバランスを取ります。

運用データで調整する

マッチングロジックは、一度作って終わりではありません。

公開後に、

平均待ち時間
試合ごとの予測勝率差
Ping
途中離脱率
再戦率
ランク別の対戦品質

などを確認します。

「公平性を高めようとして条件を厳しくしたら、待ち時間が長くなりユーザーが離脱した」

ということもあり得ます。

反対にマッチ速度だけを優先すると、一方的な試合が増えることがあります。

ゲームの人口や地域、時間帯まで含めて調整する必要があります。

Webマッチングとは別物

ここは混同しやすい部分です。

オンラインゲームの対戦マッチングは、

リアルタイム性
Ping
MMR
ゲームサーバー
数秒単位のマッチ成立

などが中心です。一方、求人サイトや企業間マッチングでは、

会員情報
検索条件
案件
プロフィール
応募
メッセージ

などを使って相手を探します。

同じ「マッチングシステム」でも、技術要件はかなり異なります。

そのため、オンラインゲームの対戦システムを作る場合は、Amazon GameLift Serversなどゲーム向けバックエンドを含めた設計が候補になります。

一方、

求人企業と求職者
発注企業と受注企業
専門家と相談者

などをつなぐWebサービスを企画している場合は、データベース型のWebマッチングシステムが対象です。

まだ「誰と誰を、どの条件でつなぐのか」が決まっていない段階なら、企画中のWebサービスについて条件を整理する簡易フォームも利用できます。

Webサービス企画の簡易整理フォーム

電話番号は不要で、回答後は原則として簡単なフィードバックメールを1回お送りする形式です。希望した場合を除き、継続的な営業メールや打ち合わせを前提とした案内は行っていません。

すでにWebマッチングサービスの事業モデルが固まり、会員・検索・案件・応募・メッセージなどをシステム化する段階なら、セルバではデータベース型ポータルサイトやビジネスマッチングサイトの構築に対応しています。公式ページでは120社以上の支援実績を掲載しています。

ポータルサイト構築・集客支援を見る

なお、これはゲームのリアルタイム対戦サーバー開発とは別の領域です。

まとめ

  • オンラインゲームのマッチングではMMRだけでなく、Ping・待ち時間・ロール・パーティーなど複数の条件が使われる
  • 「懲罰マッチ」はプレイヤー側で使われる俗称であり、連勝した人を意図的に負けさせる共通仕様が確認されているわけではない
  • 両チームの予測勝率を50%前後に近づけることと、プレイヤーの実際の勝率を強制的に50%へ戻すことは別の仕組み

連勝後に急に苦しい試合が続くことはあります。MMRが上がった、プレイヤーの少ない時間帯だった、チーム全体でバランスを取ったなど、複数の理由が考えられます。

「懲罰マッチだから」と決める前に、表示ランクとMMRの違いや、ゲームごとに公開されているマッチング条件を見ると、なぜその対戦が組まれたのかを整理しやすくなります。

支援実績120社以上。
ポータルサイトの構築・運用ノウハウで、事業成長を支援

セルバは、ポータルサイト構築〜公開後の改善まで一気通貫でサポート。
会員数100万人・月売上9億円規模の運用ノウハウをもとに、集客・問い合わせ増まで見据えて設計します。
※AI活用(検索/レコメンド/運用自動化)やAWSなどインフラもまとめて相談OK。

新規でポータルを立ち上げたい リニューアルして成果を伸ばしたい AI/自動化も相談したい

まずは概算・要件整理からOK。
無料で方向性をご提案します。

よかったらシェアしてね!
  • URLをコピーしました!

2003年創業。大阪・東京を拠点にWEBシステム開発、WEB集客支援、人材事業、補助金コンサル等を行っています。
ただシステムを作るだけではなく『売れる仕組み』を創ることを意識して、クライアントの利益向上を追求します。
開発会社の選定代行やレベニューシェアでの開発も積極的に行っているので、まずはお気軽にお問い合わせください。