VALORANT内戦をDiscordで回す - Monvoke
VALORANTの内戦を毎週開いていると、10人を集める呼びかけ、参加者をチームに分ける作業、勝敗をどこかのシートに書き残す作業が、開催のたびに主催者の手作業として積み重なります。Monvokeの/customコマンドを使うと、この3つの作業が一つの募集メッセージの上で完結します。参加者はボタンで集まり、人数が揃うとレートを考慮したチーム分けが自動で終わり、試合後に勝敗を選ぶだけで参加者のレートとサーバー内のランキングが更新されます。
VALORANTの内戦を/customで10人集める
VALORANTの内戦は5対5が基本です。Monvokeの/customコマンドで募集を作ると、/invokeと同じように参加ボタン付きの募集メッセージが投稿され、参加者がボタンを押すだけで人数が集まります。
/customの募集人数欄には、募集者自身を含まない人数を入力します。5対5にしたい場合は9と入力します(募集者を含めて10人になり、5対5の2チームに分かれます)。対称マッチの募集人数は1、3、5、7、9のいずれかの奇数のみで、募集者を加えた合計が2チームに均等に分割される仕組みです。人数が集まるまでは@everyoneで呼びかけて反応を数える必要はなく、募集メッセージ上の人数表示が参加のたびに更新されます。
Freeプランのサーバーでは、同時に作成できる募集は3件までです。3件ある状態で新しく募集を作ると、最も古い募集が終了扱いになります。Plusプランには件数の上限がありません。
「行けたら行く」を仮参加で扱い、10人が揃うとチーム分けが始まる
募集を立てた時点で10人ぴったり集まるとは限りません。参加が不確定なメンバーは、参加ボタンではなく仮参加ボタンを押せます。仮参加は募集人数にカウントされません。
正式参加と仮参加を合わせて目標の10人に達すると、Monvokeが仮参加中のメンバーに「参加できますか?」と確認のDMを送ります。参加ボタンに切り替えれば正式参加者として数えられ、10人が揃った時点で募集は満員になり、チーム分けへ進みます。
人数が揃うと、レートを考慮したチーム分けまで終わる
10人が参加ボタンを押し終えると、Monvoke内に記録されている各自のレートが高い順に並べられ、交互にチームAとチームBへ割り当てられます。VALORANTのランク帯(アイアンやレディアントなど)とは別に、Monvoke内でこれまでの内戦の成績に応じたレートが個別に管理されており、このレートを使ってチーム間の実力差が縮まるように振り分けが決まります。レートの初期値は1500で、勝敗を報告するとElo方式で更新されます。
内戦のたびに強いメンバーが偏った編成にならないか毎回悩んでいたなら、この振り分けを見るだけで済みます。通常の内戦とデスマッチのように、形式ごとにレートを分けて管理したいサーバーでは、/configでレーティングタイプを追加しておくと、/custom実行時にどのタイプでチーム分けとレート更新を行うか選べます。
試合前に編成を直す - チームを移動とシャッフル
チーム分けが終わっても、試合が始まるまでは編成を調整できます。特定の相手と同じチームで遊びたい参加者は「チームを移動」ボタンを押せば、自分だけ反対のチームへ移れます。レートの近い者同士に分かれすぎて代わり映えしない組み合わせになったときは、募集者が「シャッフル」ボタンでチーム分けをやり直せます。どちらも押した時点で結果がすぐに反映され、対称マッチ・非対称マッチの両方で使えます。
ただし、人数が揃うと募集設定を開く歯車アイコンは表示されなくなり、タイトルや説明はその時点から変更できません。試合前に調整できるのはチームの編成だけで、募集内容そのものを直したい場合は募集を中止して作り直す必要があります。
勝敗を報告すると、そのままサーバーのランキングになる
試合が終わったら、募集者が募集メッセージから「チームAの勝利」のように結果を選びます。選んだ瞬間、参加者全員のレートが更新され、外部のシートやメモに勝敗を書き写す作業は発生しません。レートが動くのはこの勝敗報告のときだけで、両チームの相対レート差を考慮するため、格上のチームに勝つほど上がり幅は大きくなります。回線落ちなどで試合が成立しなかった場合は、無効試合として報告すればレートは変動せず、試合数の記録だけが残ります。
更新されたレートは/rankingコマンドでいつでも確認できます。ランキングメッセージのプルダウンからレーティングタイプを選ぶとサーバー内の順位が並び、「レート確認」ボタンを押すと自分の順位を確認できます。内戦を重ねるたびに、この記録がそのままサーバー内のランキングとして積み上がっていきます。