JJPRシードツールの使い方

はじめに

最初はシードツールの使い方だけ説明しようと考えていたのですが、誤解を生まないためにシードとはどうあるべきかということも含めて丁寧に説明しようと思います。長くなりますが、お付き合いください。

シードとは

シードはランキングと似て非なるものです。ランキングはあくまで順番がすべてですが、シードはそうではありません。シードは大会結果を安定させるためにあります。参加者全員が総当たりするならばシードは不要ですが、現実問題として参加者の多い大会で総当たりは不可能です*1

シードの付け方としては、大会の最終順位が強さ順になっていることが理想ですが、そもそも強さ順というものが曖昧です。特にスマブラや格ゲーではテニスや将棋のような競技とは異なり、使用キャラにより明確に相性があります。そのため仮に本当の強さ順が分かっていてそのとおりにシードを付けたとしても、最終順位が強さ順にならないことがあります*2

ここで別の角度から捉えると、シードとは大会の対戦相手を決める作業です。対戦ゲームにおいて対戦相手とは体験を大きく左右するものです。必ずしもシード通りにトーナメントが進行するとは限りませんが、シード通りに進行した場合に面白い対戦になることを意識してシーディングされていることは重要です。しかし超大型大会ですべての対戦カードを検討することは現実的ではない非常に多くの時間がかかります*3

私自身もウメブラでシーディング作業を担当したことがあるのですが、まず全員の強さをおおまかに把握することに非常に多くの時間を要します。ウメブラではそこはある程度機械的に計算した順番を参照しつつ、上位シードに関しては手動で調整を行いました。結果的に上位の結果はほぼシード通りに進行しました。

JJPRシードツールはこのように時間のかかるシーディング作業を高速化し、よりよいシードを提供するためにあります。そのためオススメする方法としては、シードツールを使っておおまかに入力した後に、Startggのページを直接確認しながら「誰と誰がどの位置で当たるか」を調整してシーディングしていただくことになります。

ツールの使い方

スプレッドシートの用意

StartggのAPI Key取得

まずStartggのAPI Keyを用意する必要があります。API Keyは一度用意すると1年間は再発行が不要です。

StartggのDeveloper Settingsページを開きます。

https://smash.gg/admin/profile/developer

"Create new token"ボタンをクリックします。

作成するトークンに名前をつけて、"Save"をクリックします。名前は何に使ったAPI Keyかご自身が判別できるものであれば何でもかまいません*4

赤の四角で囲われている文字列がAPI Keyです。コピペなどでどこかにメモしておいてください。この画面に戻ってくる事はできませんのでメモし忘れた場合は"Create new token"ボタンからやり直してください。

Phase ID確認

次にPhase IDを調べます。

Startggでadmin権限を持つ者だけが開ける下の画面の"Settings"の"Brackets"をクリックします。

開いたページのurlのスラッシュ(/)で分けられている最後から2番目の数がPhase IDになります。下の画像の例だと、858432となります。

参加者一覧csv作成

続いてSmashSeederのページを開きます。

http://smashseeder.telic.us/

調べたAPI KeyとPhase IDを入力して"SEED ULTIMATE"ボタンをクリックします。この処理は非常に長い時間がかかりますので、根気強くお待ち下さい。超大型大会の場合、1時間ほどかかることもあります。処理が終了すると、"output.csv"というファイルがダウンロードされます。

Googleスプレッドシートの作成

新規にGoogleスプレッドシートを作成します。画像のようにファイルをインポートします。

スプレッドシートを公開しておきます。

これでようやくスプレッドシートの用意は完了です。

JJPRを参照したシードの入力

このスプレッドシート上でシード値を入力していきます。そのままでも勝率順に並んでいるのですが、大会参加数が非常に少ない選手なども含まれるため信頼性に乏しいです。

そこでJJPRのランキングを利用したシード値を自動で入力する方法を紹介します。

スプレッドシートのE列=player_idの列を一番上から一番下までコピーします。

それをJJPRシードツールのプレイヤーIDリストの入力欄に貼り付けます。

シード計算ボタンをクリックし、クリップボードにコピーボタンをクリックします。

スプレッドシートのB1にカーソルを合わせて貼り付けます。これでJJPR基準でのシード値入力が完了です*5

Startggへのアップロード

gg-seed-uploadを開きます。

https://gg-seed-upload.herokuapp.com/

先ほど取得したAPI Keyと大会の任意のページのURLを入力します。

対象のイベントとフェーズを選択します。例の画像だとUltimate SinglesとPoolsになります。

先ほどのスプレッドシートのリンクを入力します。

画像のように"phaseseed"と"seedId"を選択します。

最後に"Update smash.gg seeding"をクリックします。

Startggでの調整

Startggトーナメントのadmin権限画面である"Settings"の"Brackets"で未公開のトーナメント全体を確認することができます。"Pools & Seedings"で細かい調整をしながら"Brackets"と行き来し、誰と誰がどの位置で当たるかを調整していってください。

長くなりましたが説明は以上となります。

*1:予選総当たりであっても全員と戦うわけではありません

*2:加えてプールでの抜け人数が少ない場合は強さ順にならない可能性が大きくなります

*3:256人規模の第13回豊田グランドスラムでも半日以上時間がかかったらしいです

https://twitter.com/dioamnos3961/status/1624589229375500288

*4:例えば私はJJPR用のKey1つとJJPR Upsets用のKey2つを発行しており、それぞれが分かるように名前を付けています

*5:ここで値を入れ替えていただいてもかまいません