
みつをです。
11/20にSwitch2で「カービィのエアライダー」(以下「エアライダー」)というアクションレースゲームが発売されました。僕は今このゲームに私生活に支障が出るほど夢中になっています。
さて、エアライダーですが、「シティトライアル」というゲームモードがあります。これは16人が同時に一つのフィールドで走り回って、アイテムを獲得して自分のマシンを強化して競争するモードです。
シティトライアルはオンラインでも遊べるようになっているのですが、ゲームが開始される前のマッチング(マッチメイキング)があまりにも快適すぎます。
今回はシティトライアルのマッチングについて述べつつ、実際に何が行われているのかをユーザー視点から頑張って考察してみます。
⚠️実際の実装を知っているわけではなく、あくまで仮説です。
まずは実際のマッチングの様子を見ましょう。
この時はキャラクターを選択してからおおよそ25秒程度待って対戦が開始しました。
これは火曜日の20:00ぐらいの様子なので、比較的日本人プレイヤーが多く遊ぶ時間の出来事だと思います。
ここがスゴい!シティトライアルのマッチング
少なくとも自分が遊んだ範囲では、このマッチングには次のような特徴があると感じています。
- 16人の人間プレイヤーがピッタリ揃う。
- 長くて1分30秒程度の待ち時間で完了する。
- なるべく実力帯が近いプレイヤー同士がマッチングする。
特に、ほぼ毎回1.と2.が満たされているのがすごい点だと思います。
もちろん、発売して間もない時期なので、プレイヤー数がそもそも多いからマッチングがうまくいくのかもしれません。しかし、平日の昼や外出中などのオンライン対戦に向かなそうなタイミングで、状況問わずにマッチングがうまくいっていて感動しました。
以下で3つの特徴を簡単に解説します。
1. 16人の人間プレイヤーがピッタリ揃う。
多くのオンラインゲームで、既定のプレイヤー数が揃わない場合、
- 少ないプレイヤー数でそのままゲームを開始させる
- 足りない人間プレイヤーをコンピュータプレイヤー(CPU)に置き換える
という処理がなされる場合が多いです。
しかし、僕の経験上、毎回16人の人間プレイヤーが揃ってから対戦が始まっているように見えます。
(実は表示されていないだけで、こっそりゲーム開始時にCPUが導入されているのかもしれませんが、誰が人間で誰がAIか疑っていたらキリがない気がするので、今回はそういったケースは考えないものとします。)
2. 長くて1分30秒程度の待ち時間で完了させる。
「過疎ってる」と呼ばれるオンラインゲームでは、マッチングが成立するまでに何分も待ってもゲームが成立しないことが度々あります。
シティトライアルの場合は、マッチングが開始してから1分ほどが経過すると「マッチング あと 〇 秒」という30秒のカウントダウンが表示されます。
経験上、だいたい毎回カウントダウンが終了するギリギリ前に、16人集まってゲームが開始しています。
👇わかりやすい例
3. なるべく実力帯が近いプレイヤー同士をマッチングさせる。
エアライダーのオンライン対戦ではプレイヤーの実力を示す、「クラス」という仕組みが導入されています。

画像元:https://x.com/KirbyAirRiderJP/status/1988101882272010432
これはプレイヤーの実力を格付けする「ランク」に近いシステムで、赤、オレンジ、黄色….藍色、紫(、虹)の順にレベルが高くなっています。(ちなみに今の僕は青です)
エアライダーのオンライン対戦では、クラスが近い人同士でマッチングをさせる仕組みがあります。このようなマッチングの仕組みをSBMM(Skill-based Match Making)とも言うらしいです。
しかし、厳密にクラスが近い人たちだけでマッチングするのではなく、そこそこクラスが離れたプレイヤー同士が対戦することが度々おこります。
何が起こっているのか?
ここからは素人なりに、どのような仕組みでマッチングが行われているのかを、見える情報から考察してみます。僕は専門家ではないですし、マッチングアルゴリズムの知識もほとんどないので、実装を知っているわけではなく、あくまで仮説です。
結論
キューベースのマッチングが行われており、最初のロビーが形成されてからの時刻によって、マッチングの仕組みが変わっている。
- ロビーが作成されてから約0~30秒
- クラスやプレイ環境の近い人同士で小規模なマッチングが行われる。
- ロビーが作成されてから約30~60秒
- 似た条件のロビー同士が合流する。
- ロビーが作成されてから約60~90秒
- ロビー同士の合流条件が緩和される。
- 空き枠が少数の時は優先してプレイヤーを追加する。
キューベースのマッチングとは?
ゲームに参加したいプレイヤーが「キュー」(マッチングキュー)と呼ばれる待機列のようなものに並び、ゲーム側が「ロビー」という部屋に割り振っていくシステムです。

イメージ図を起こしてみました。これはキューで待機していたクラスオレンジのプレイヤーが新規作成されたロビーに追加されている様子です。
キューベースのマッチングに関して、詳しくは「マッチメイキングシステムの形態について考えてみる」を参考にしてください。
簡単のため、ロビーの定員は5人だとします。
このロビーが新規作成されてからの経過時間によってマッチングの仕組みが変わって行きます。
ロビーが作成されてから約0~30秒
- クラスやプレイ環境が近い人同士で小規模なマッチングが行われる。
上の図から少し時間が経過したのが下の図です。

ロビーが3つ建てられ、クラスが近い人同士でロビーに人がマッチングが組まれています。
「ロビーが1つだけじゃダメなのか?」と言う疑問がありそうですが、ロビーの数は常に複数あることが重要です。ロビー数が決まった値より少ない時、マッチングキューのプレイヤーを既存ロビーに追加せず、新規作成されたロビーに追加すると言う処理が働くことが多いです。
(この辺の説明は「プレイヤーが分散しやすいマッチング環境におけるマッチング改善の試み」を見てください)
とにかく、似た条件を持っているプレイヤーでマッチングがこのタイミングでは行われます。
考慮される条件は
- クラス(実力)
- 通信速度
- 物理的な距離
だと推測されます。
ロビーが作成されてから約30~60秒
- 似た条件のロビー同士が合流する。
上の図から少し時間が経過したのが下の図です。

マッチングキューが空になり、そのまま新しいプレイヤーが現れずに30秒以上が作成されて経過したロビーが現れるようになりました。
真ん中のロビーに注目してください。30秒が経過しましたが、3人なので、5人の定員を満たしていません。上のロビーのプレイヤーは2人で、クラスが真ん中のロビーに対して近そうです。上のプレイヤーを真ん中のロビーに移動させればちょうど定員が足りそうですね。

なので、上の図のようにロビー同士が合流することがあります。真ん中のロビーは定員5名を満たしたので、このままゲームが開始できます。
このようにして、シティトライアルのマッチングでは条件が近いロビー同士が合流するような挙動がありました。(複数人のプレイヤーが一気に自分のロビーに参加してきた)
ロビーが作成されてから約60~90秒
- ロビー同士の合流条件が緩和される。
- 空き枠が少数の時は優先してプレイヤーを追加する。
「マッチング あと 〇 秒」の表示がされているタイミングです。
上の図から少し時間が経過したのが下の図です。

一番下ロビーは作成されてからかなりの時間が経過しました。ここに参加しているプレイヤーは対戦がしたくて待ちくたびれているでしょう。
さて、マッチングキューの先頭に紫クラスのプレイヤーがいますね。この場合、紫はどう割り振られるのかというと、、、

真ん中のロビーではなく、一番下のロビーに追加されました。
このように、ロビーが作成されてから、長時間が経過したロビーには優先的にユーザーが割り振られます。つまり、早くゲームを始めるためにユーザー追加の条件が緩和されます。
他にも、ロビー合流の条件が緩和されているように感じられる挙動が見られました。
ちなみに:カウントダウンが0秒になると
2回ほど、カウントダウンが0までカウントする現象に遭遇しました。そういう時はどうなるかというと、僕の時はしばらく0が表示されたまま、内部ではマッチングが継続している様子でした。(すぐにプレイヤーが入った)
カウントダウンが終わるとゲームがすぐに開始されないので、カウントダウンはあくまでユーザーに対して「もうすぐマッチングが終わるよ!」と伝えるための演出だと考えられます。
まとめ:みんなでシティトライアルをやろう!
というわけで、エアライダーの素晴らしいマッチングについての記事でした。
発売前の体験会では、マッチングの動作が不安定なところもあったのですが、製品版になって非常に動作が快適になっていたので、そのような点も感動的でした。
記録上250回程度オンライン対戦を行ったので、そこそこ考察に自信はあるのですが、厳密には仕組みがもっと複雑だと思います。
また、オンラインゲームはリリース後にユーザー数が落ち着くと、マッチングのアルゴリズムを調整することも多いらしいので、将来はマッチングの仕組みがまったく別物になっている可能性もあります。
僕としてはこの環境が維持されてほしい!と願うばかりなので、みんなもシティトライアルをやろう!
快適なオンライン環境を作ってくれたバンダイナムコスタジオの開発者とSoraの桜井さんに感謝の意を示して〆ます。
参考にした/なる文献
おすすめ記事



