JJPR v3における変更点紹介

JJPR v3の紹介記事です。

順位ポイント計算方法の変更を行います。

シード分析の記事から大会規模による補正をかけたほうがシードに用いる場合に適していることがわかりました。ランキングとしても同様の補正をかけたほうが納得していただきやすいと考え、同様の補正をします。

計算式

「参加者数」×「log2(参加者数)」×「log2(参加者数)」×10×「(1/√2)^LRV」×「経過日数による傾斜(=ネイピア数^(1-([経過日数]/365))」

 

今後ともJJPRをよろしくお願いいたします。

大型大会のシーディングについてのこの一年の思考

前置き

私Jakが大型大会のシーディングを一部担当させていただくようになったのはウメブラSP9からでしたので、ほぼ丸一年となります。

様々なご意見があることは承知していたので、この説明記事を早く公開したかったのですが、プライベートの忙しさも相まって、データを整理するのに時間がかかり大変遅くなりました。

結論としては、全体的にはシードは改善していけているという手応えを感じております。

データなしで感想的に執筆してもよかったのですが、私自身が積極的に選手として大会参加しているわけではないため、やはり数字を根拠に話さないと説得力がないと考えたからです。

私自身の動き方も踏まえて時系列に説明しつつ、現在の大型大会のシーディングでどのあたりを課題として感じているのか紹介させていただきます。

非常に多くの背景があるため、長文になりますがどうぞお付き合いください。

 

私が担当した作業とその経緯

前提として私がシードを担当しているウメブラと篝火では両方ともJJPRを補正したデータを用いておりますが、異議申し立ての方針や細かい調整に違いがあることはご承知おきください。

ウメブラSP9

私がスタッフとしてシーディング業務を担当したのは、ウメブラのスタッフの方に2022年末に声をかけていただいたのがきっかけでした。というのも実は私はオフ大会のスタッフをするつもりは毛頭なく、どちらかというと非常に感染症を気にしていたため過密を作るオフ大会の場を自分から積極的に用意したくはありませんでした*1

私がスタッフとして参加する*2ときに一つお願いをいたしまして、それは「海外大会にある異議申し立て制度を導入したい」ということでした。当時はKEN選手としゅーとん選手が大会で当たり過ぎだと話題になっていた頃で、それ以外にも特定の選手同士が大会で当たることが多くありました。

りゅーおー選手とアカキクス選手はWave1のGFで戦った
2週間後の西武撃11では勝者側ですぐに当たった

後述しますが、大会で同じ選手と当たりづらいシードになっていることは非常に重要だと考えていますので、異議申し立て制度を提案させていただきました。

篝火9

ウメブラSP10の翌月に行われた篝火9では私はシーディングに協力しておらずJJPRは使われていませんでした。当時はJPDBという篝火シーディング用の集計がJJPRとは別にあったのですが、JJPRと混同されることが多く、混乱を招いていました。

JPDBに関する解説記事

当時の私はこの課題を重く考えており、篝火でシーディング担当をされていたP-さんに私からお声がけして篝火のシーディング方針についてお伺いしました。その結果、JJDBとJJPRは方針上の違いがほとんどなく、混同を避けるため次回以降の篝火ではJJPRを採用することに決まりました。

篝火10

篝火10がJJPRを採用した最初の篝火となりました。初めてだったことに加えて多くの海外勢が来日したため彼らのシード値の検討に多くの時間を割くこととなり、過去のシード付けが適切だったのかの検証に時間を割けませんでした。また、後述する誰と誰が当たるのかという点を重視して大きく変わらない範囲で初対戦が多くなるようシードを調整したためその作業にも時間がかかりました。

篝火11

篝火10の時点ではあまり他のスタッフの方々と絡みはなかったのですが、篝火11に向けて大会のレベルを考慮したシーディングにしたいというご意見をいただきました。私自身はそうすること自体に賛成でも反対でもなかったのですが、もし大会レベルを考慮する場合、後述しますがその作業自体はかなり困難なため非常に大変になることが予想され、さらに私が担うことになるという話だったため、労力と私自身のモチベーションが釣り合っていませんでした。大会はボランティアで成り立っているため、モチベーションがない作業をするのもおかしな話です*3ので、大会の主要スタッフを説得した上でシーディング基準を変える場合はご協力しますというお話をさせていただきました。このときは開催までの残り期間を考慮すると作業時間がどう考えても足りなかったため見送ることとなりました。

篝火11のシーディング発表直後からシードに関するツイートが散見されました。ただし、こちらに直接問い合わせるような内容もなく困ったので、大会当日に各地大会のシーディング担当者*4や選手にシードに関するヒアリングを行いました。話し合う中で、昨年2月に行った人数制限を撤廃したことに対する選手たちの違和感が大きいことが判明しました。

篝火11 TOP33~512シードの分析

そこで篝火11開催後に上のデータを整理しました。SPRは簡単に説明するとシードに対して最終順位がどれほど上下したかの差です。詳しい説明はHarukiさんの記事を参考にしてください。端的にはSPRが低いとシードに対して順位が低く、高いとその逆となります。

SPRとUFの解説

全国でもSPRが0を切っていますが、これは海外勢によるものではなく、対象をシードがついている選手に限定しているので基本的に低くなるためです。シード1は一番高くてSPRが0になることを考えればおわかりになるかと思います。TOP32シードを含めていないのも同様の理由で、ちょっとしたシード付けの違いがSPRの値としては大きな差となってしまうため、外れ値が紛れ込んでしまう可能性が高いからです*5*6。この平均SPRのデータからのみ考えると関東・関西地域とその他地域の差が大きいため、地域による補正をかければいいのでは?とお考えになるかもしれません。地域補正をかけるとすると、選手ごとの居住地による補正と大会ごとの開催地域による補正の2つが考えられます。前者は強い地域に遠征して結果を残したプレイヤーが評価されなくなるので却下として、後者も実は難しいです。

WAVE Champions ... | Attendees と 

BeeSmash TOURNA... | Attendees は2日違いで東京で行われたほぼ同規模の大会です。しかしご覧になれば分かる通り、選手層に大きな違いがあると見受けられます。地域による補正はこのような大会を同等に扱うことになります*7

そこで各選手が結果を残した大会の参加者数に注目することにしました。JJPRではポイント上位6大会の結果が考慮されるのですが、その考慮した大会の相乗平均参加者数を計算しました。いわゆる平均である相加平均でないのは、相加平均だと1つでも大きな大会の結果があると大きい参加者数となり、狙った分析とならないためです。この表からより大きな大会(=参加者数の多い大会)で結果を残した人のほうがシード付けされた大会でも良い結果を残していると言えそうです。その相関を調べたのが以下のグラフです。

篝火11 相乗平均参加者数とSPRの相関

 

相関係数*8も0.0934程度あり、シード計算に用いられた大会の規模とパフォーマンス結果は相関がありました。0.0934は小さく思えるかもしれませんが、ランダム性が大きく影響するであろうSPRに対してだとかなり大きな相関です。つまり、より参加者数が多い大会で結果を残した選手のシードを上げればよさそうです。現在のJJPRv2では勝者側換算で勝った数によってポイントを割り振っているため、32人規模での優勝と1024人規模でのTOP32が同等のポイントとなります。ここを見直します。

ウメブラSP10

大会の規模によってどの程度の補正をかけるべきかが不明だったため、とりあえず参加者数の対数をかけることにしました。具体的には1024人規模のTOP32が32人規模優勝の2倍のポイントを獲得することになります*9。また後述しますが、大会の対象期間を1年から2年に伸ばしました*10

ウメブラSP10においても篝火11と同じくSPRと参加者数に関するデータを取得しました。

ウメブラSP10 TOP33~512シードの分析

ウメブラSP10 相乗平均参加者数とSPRの相関

まだ関東・関西とその他地域の間に差はあるものの、平均SPRが-0.330から-0.109に大きく改善しています。相関係数も0.0934から0.0455とおよそ半分になっています*11。2大会のSPR同士をt検定した結果も0.057と5%の有意水準は満たしていないものの、2大会のシード選手群が同じような集団である可能性も低いと思われます*12
上記から私はウメブラSP10のシード補正にある程度の効果があったと考えています。一方でまだ参加者数とSPRに相関があることから、今後私がシーディングに携わる大会ではもうちょっと強めに補正しようと考えています。具体的には参加者数の対数の2乗の補正をかけることを提案する予定です。つまり、1024人規模のTOP32が32人規模優勝の4倍のポイントを獲得することになります。

 

シーディングにおける課題

ここから私個人がシーディングにおいて感じている課題とその優先順位について説明させていただきます。

直近の対戦を考慮してシーディングすること

まず直近の対戦を考慮してシーディングすることについてです。考慮するために私は異議申し立てを提案して導入してきたのですが、これについては篝火11にて多くの選手からご意見をいただきました。にえとの選手の動画がわかりやすいです*13

www.youtube.com

スタッフ内でも議論が行われているのですが、私個人としては事前に同じ選手同士の対戦を避けるように機械的にトーナメントを組んでおき、異議申し立て制度はなくしたいと考えています。一度でもトーナメントを公開してしまうと人間のアンカリング効果が働き、その公開時の組み合わせと比較してよくなったか悪くなったかを考えてしまうからです。本来はウメブラSP10までにこの機械的対戦相手調整シード決定システムを作りたかったのですが、時間がどう考えても足りず諦めました。

この問題はシーディングにおいて最優先の課題であると考えています。スマブラコミュニティ大会シーンにおいて、競技ルールで最も強いものを決めるという価値には合意しているといえます。その「強い」の定義は「誰と戦っても強い」であると考えており、大会で優勝した選手は2位以下のどの選手と直接対戦しても勝つことが期待されます*14。対戦ゲームにはどうしてもキャラ相性というものが存在するため、どの大会でも同じ組み合わせになってしまうと特定のある選手以外には絶対勝てるような選手がいる場合にその選手が優勝しないことが起き得ます。また体験としてもいろんな選手と戦う楽しさがありますので、最優先だと考えています。

強さに関する課題

強さに関するシーディングの問題は、不当にシードが高い選手がいることよりも不当にシードが低い選手がいることを圧倒的に重く見るべきです。なぜなら、高いシード選手がいても次にシードが高い選手が上がってくるだけでその対戦(セット)に関わる選手は一組だけです*15。一方で、低い選手がいる場合はその選手が勝ち上がれば勝ち上がるほどその選手が絡む全セットと敗者側に落ちるべくもなかった選手が絡む全セットが影響するため大会全体の波乱につながります。不当にシードが低い選手は結果的にSPRが高くなりますので、篝火11とウメブラSP10のSPRが高かった選手を見ていきましょう。

こういうときにSmash Explorerはとてもよいツールです。ここからSPRが高かった選手をピックアップしました。

・篝火11(Smash Explorer - Visualize Seeds 966341)

篝火11 高SPR選手分析

・ウメブラSP10(Smash Explorer - Visualize Seeds 949135)

ウメブラSP10 高SPR選手分析

この分析はかなり主観的に行っています。これは主観的でいいと思っていて、実際にシードが改善したかどうかはSPR平均やSPR分散のような客観的指標によって十分に知ることができます。これらのデータは今後SPRをより改善するためにどのような修正が必要かという仮説を洗い出すために行っているので主観的で問題ありません。

まず大きな要因としてオンライン強豪があります。オンライン強豪についてはコロナ禍以降に(なんならその以前からも?)一番のトナメが荒れる要因であり続けています。しかし、上位勢を中心にオンラインとオフラインは別ゲーであり、オフラインのシードはオフ大会の結果のみ考慮すべきと議論が成熟してきました。私はそのレベルの選手ではありませんし、違いがどれほどであるかは計りかねるのですが、オンライン強豪の低シードがトナメが荒れる一番の要因であることだけは間違いありません。実際にスマメイトレートを考慮してシーディングしたDELTA3の成績上位者はオンライン強豪が非常に多かったです*16スマブラSPの競技シーンも長くなってきており大会の顔ぶれも変わってきていると思いますので、もしオンライン成績もシードに考慮すべきとお考えの上位選手がいらっしゃったらぜひとも声を上げて議論を活発化させていただきたいと思います。

次に古豪選手のシードについてです。篝火11ではEtsuji選手が参加されていることおよび1年以内のオフ大会結果がないことが見逃されてしまい、非常にシードが低くなってしまいました。スタッフで相談し最終的にEtsuji選手のシードを多少上げることにし、ウメブラSP10でも私の提案で対象大会期間を2年にさせていただきました。ただやはり古豪がトナメを荒らす部分は大きいなと感じています。特に生活の変化によりただ大会に出ていないだけの選手のシーディングには頭を悩ませています。過去のシリーズも含めて圧倒的な結果を残した方は特別に高くしてもいいんじゃないかというご意見もいただいているのですが、そのボーダーをどう設定するのかも難しそうだなと考えています。当面は考慮するオフ大会の期間をどこまでにするかで調整していくと思います。良いアイデアをお持ちの方がいらっしゃればぜひご連絡ください。

海外勢については後述します。

関東関西200人以上規模TOP64の項目については、篝火11とウメブラSP10でポイントの計算方法で大きく見直した大会規模による傾斜の影響が大きい部分です。200人を超える規模の大会は篝火・マエスマTOP・九龍・UltCore・西武撃・たまスマ極冠・イツクシマ・DELTA・WAVE・スマバトあたりで、開催頻度も考慮するとそのほとんどが関東関西に集まっているからです。そこで、この項目に該当する篝火11とウメブラSP10の選手を改めて眺めると、あまり割合としては変わっていないように見えるもののオンライン強豪にも該当する選手が非常に多くなっています。そのため、上記のオンライン成績のシードへの反映と大会規模による傾斜をさらにかける両方を行うことでこのタイプの過小評価選手はかなり少なくできると思われます。

海外勢のシーディングおよび海外遠征結果について

海外大会考慮の難しさ

現在、海外勢のシーディングは来日する選手の直近一年間ほどの大会成績を調べ、その大会規模と順位からシード値を正直かなり主観的に決めています。このやり方は裏付けがなく、実際に海外勢はSPRの上ブレも下ブレも非常に多いです。より妥当なシーディングをするには、日本の結果と海外の結果を揃えて比較することができるようになる尺度が必要です。その尺度として一番初めに思いつくのがLumiRankの大会ティアです。しかし、私はLumiRankの大会ティアにはいくつか課題があると考えています。

LumiRankの大会ティア

LumiRankの大会ティアは「参加人数+各選手が持っている選手ポイントの合計」で決まるのですが、参加人数よりも選手ポイントの影響のほうが圧倒的に大きいです。参考までに昨年度の選手ポイント一覧が掲載されているスプレッドシートを載せておきます。ポイントの付いていない選手は1ptなので最大で350倍もの差があることになります。

docs.google.com

なので、この選手ポイントが非常に重要です。選手ポイントは2通りの決まり方があり、一方はランキングに掲載された場合で、他方はティアが高い大会での順位によってHidden Bossとみなされる場合です。問題はそれぞれのポイントの値が重要なのにその値の根拠が乏しいことです。例えば、ここにLumiRank Mid-Year 2023(=UltRank Summer 2023)のスコア一覧が掲載されていますが、TweekとLightにはほんの僅かなスコア差しかないにも関わらず、選手ポイントでは50ptも差が付いています。この妥当性がないと感じます。

www.ssbwiki.com

またDQやアップセットなどがあるにも関わらず1大会で上ブレるだけでHidden Bossとみなされてしまうため、戦績に大きな差があっても同じポイント扱いになることがあります。例えば、以下のDuraとJdizzleの戦績だと私にはJdizzleのポイントを高くすべきように見えます。

The Player Database - Dura vs Jdizzle

特に問題となるのが少人数のトップ選手が参加することで大会ティアが大きく上昇し、彼らの結果がシードどおりに終わった場合、それ未満の順位の選手ポイントにもHidden Bossとして恩恵を与えてしまう点です。これは1つの数字(ティア)で表現することに限界があるからだと思われるので、TOP8シードのティア・TOP32シードのティア・全選手でのティアをS・A・Bなどのようにせめて3つぐらいに分けて表現すべきと考えています。

このように曖昧なポイントを基に大会ティアやそれをさらに循環参照してHidden Bossとしての選手ポイントを決めているので私はLumiRankの大会ティアをあまり信用していません。

レーティング形式での比較

レーティング形式ですべての地域の結果をまとめて計算してしまって比較することもできます。その方式としてはスマメイトでも使われていることでも有名なELOレーティングやグリコレーティング、BTモデルといったものがあります。しかし、それぞれに課題があります。

ELOレーティングには大会頻度の違いでレート格差が生まれることが知られています。スマメイトでも期間が長いシーズンのほうがインフレが起きやすく期間が短いシーズンでは起きにくいことをご存知の方はいるでしょう。同様のことが生じ、大会開催頻度の高い地域では上下に大きく差のあるレートになる一方、低頻度の地域では高いレートを獲得することが難しくなります。

グリコレーティングはそこを解消した仕組みですが、ELOレーティングと共通の課題もあります。それはどちらも戦績を順番に計算していくため、直近の結果の比重がどうしても大きくなりすぎてしまうという点です。

逐次計算ではなく直接対決の勝率でレーティングするようなBTモデルという計算方式もあります*17。海外の方がこの方式でLumiRank 2023と同じデータで計算したランキングが以下のものです。

人によって意見は異なるとは思いますが、少なくとも私にはYン選手とLeaf選手は低すぎるのではないかと感じます*18

実態に即したレーティングの組み合わせ方式

上記いくつかの方式がすべてうまくいかないのは、実際の大会が行われているシーンが計算に即していないからだと考えられます。JJPRでは日本全国を同じシーンと扱って計算しているわけですが、それは私がスマメイト仮説と呼ぶものがあるからです。スマメイトがある日本では人を集めてオフ大会を広く限り、スマメイトレート2000の方はある程度の割合で参加するのでレベルはある程度保証されるという仮説です。JJPRはこの仮説に基づいて作っています。これが実態に完全に即しているとは思いませんが、遠征がそれほど困難でもないため北海道と九州でもレベルに深刻なほどの差はないと考えられます。ところが海外ではスマブラが盛んな地域と盛んでない地域で自明なほどのレベル差がありますし、なんならアメリカでも州ごとのレベル差が非常に大きいです。それらのシーンをすべて一括りにして計算することが上記レート方式の違和感につながっていると考えています。

レート計算方式で全世界の選手の強さを推定することが難しい概略図

実態を反映した計算をするには、①普段から対戦しているであろう同地域の中でレートを作成し②最上位選手同士の対戦からシーン間の実力差を推定して補正する、という2段階の計算を行う方法が考えられます*19。実際に計算しないとどの程度正確になるかは分かりませんが、全世界を1つのシーンと見なす無理ある計算よりは改善することを期待しています。

もしこのようななんらかの方法である程度正確に選手の強さ(ポイント)を推定することができるようになれば、そこから大会ティアを3段階などに分けて計算することで、大会結果同士の比較がより正確になりそうです。ただこれは非常に検討や計算や実装が大変で費用対効果が悪いのですぐには実現できなさそうです。将来的に実現できればラッキーぐらいに思っておいていただけると幸いです。

まとめ

大型大会のシードについて私がこれまで取り組んできたことと、現状感じている課題、今後取り組んでいきたいことについてご説明させていただきました。ざっくばらんに書いたので非常に読みづらくなってしまいましたが、実はこういう要素もアップセットに影響しているんじゃないかとか、数字的な話はおいておいて選手としてはこういう理由からこの部分の改善を優先してほしいなど、建設的な議論はどしどしいただきたいので各大会のご意見箱や私宛にご連絡いただけると幸いです。

*1:2024年1月現在、データが不足気味とはいえ、超過死亡に有意差がなさそうなので、感染症についてはそれほど気にしなくなっています

*2:当初の約束はJJPRを提供するという話だけでしたが

*3:その提案された方自体が作業されるのであれば全然いいと思うんですけどね

*4:選手も兼ねてらっしゃる方々でした

*5:またスタッフ相談の結果シードの調整を行ったEtsuji選手も除外しております

*6:オフ大会を支えているコア層もこのあたりのシードの選手なので、この部分の精度を高めることが非常に重要だと考えています

*7:大会の参加者数から大会ティアを計算して評価したらいいのではないかという意見もあると思いますが、その難しさについては海外勢についての箇所で後述します

*8:相乗平均との相関なので対数化した参加者数とSPRで相関を計算しています

*9:底の変換公式により対数を取ったときの比率は一定で、log2(1024)=10、log2(32)=5なので2倍差

*10:時間経過による傾斜はかけているので、1年以上前の大会結果による獲得ポイントはそれなりに小さくなります

*11:どの選手が上振れたり下振れたりするかは他の要因に左右されずランダムになることが望ましいシーディングと考えられますので0が理想です

*12:この数字から、補正の影響は大きくウメブラSP10のシード順はJJPRと全く異なるものになったと言えると思います

*13:にえとの選手からは動画とは別に直接スタッフにご意見をいただいています

*14:期待されているだけで必ず勝てる必要があるとは考えていません、ただし勝てるだろうと思われる結果になっていることは大事です

*15:もちろんダブルエリミネーションだと二組です

*16:とはいえデータの取り方に課題があり自己申告制となったため、一部のプレイヤーは考慮できませんでした

*17:SMASH BANZUKEでも途中計算に使っています

*18:粗くしか眺めていないので他にも違和感のある方はいらっしゃると思います

*19:さらにどのように地域を分割するかという点でクラスタリングなどの手法も使えそうです

JJPRの名称を変更します

JJPRをJak式JapanPowerRankingの略からJak式JapanPresenceRankingの略に変更します。

 

理由

強さ順じゃないからです。

 

もうちょっと詳しい理由

SMASH BANZUKEとの立ち位置の違いがわからないという指摘をいくつかもらったので、SMASH BANZUKEを「強さのランキング」というランキングにし、JJPRを「存在感のランキング」と明確に区別します。

 

JJPRシードツールはどうなるの?

そのままです。JJPRの理念に賛同してくださる方はシーディングに生かしてくださるとうれしいです。

 

存在感のランキングなんて作る必要あるの?

あります。シーディングにおいて最も危惧すべきことは強い選手を見逃して大会全体が荒れることです。スマブラのコミュニティは非常に活発でオフ大会も非常に多く、強豪選手を見逃してしまう可能性も高いため、見逃さないためにJJPRのようなツールは参考になりえると考えます。

 

強さ順じゃないのにシードに使うのどうなの?

そもそもシードは強さだけで決めるものではないと考えています。もし日本の超大型大会に日本のトップ選手が毎回全員参加し、そのシードが完全に正確で1セットもアップセットが起きなかった場合、どの大会も同じ結果になるはずです*1。面白いつまらないは置いておいて、ダブルエリミネーションの特性上2回負けると終わりなので、いつも同じ選手が同じ選手と対戦して結果が決まることになり、強豪同士なのに対戦しない選手同士が生まれます。スマブラのコミュニティ大会で追求されている競技性には「誰と対戦しても強い」という強さを競っていると考えているため、強さ以外の要因(ランダム性など)も含めて大会ごとに特色あるトーナメントにしていく必要があります*2

 

レーティング方式の計算だと強さを正確に決められないの?

私はELOレーティング方式*3の正確性をそれほど信用していません。ELOレーティングの計算には計算開始時点やその時点での初期レートを決める必要があり、それらのパラメータに結果が依存します。さらにBO3とBO5、3-0と3-2などを同等に評価してしまうという問題もあります。また、日本ではスマメイトが普及しているために、オフ大会にほとんど出場していないメイト強者が多くおり、彼らの強さを正確には評価できません*4。例えばEtherさんが作成されているEtherrankも参考にすべきランキングだとは思いますが、完璧なランキングとは考えていません。

 

シーディングに強さ以外の要因があると納得できない

ご指摘の通り、強さ以外の要因がシーディングに影響することについては納得しづらい面があります。逆に考えると、強さだけで決められないシーディングについて、強さ以外の納得できる要因として何を持ってくるかを決めることがシーディングだと言えます。「いくらオン大会で強くてもオフ大会で結果を残さないとシードに反映されない」というのも一つの納得できる要因です。他にも「小規模大会は腕試しの場なのでシーディングで考慮しない」というのも要因の一例です。

 

とはいえ、レーティング方式の計算が最も納得感があるんじゃないの?

スマブラ競技シーンのコミュニティ大会は主にダブルエリミネーションで行われており、ほとんどの選手はその順位に価値を置いていると考えられます。仮に1位と2位の選手に負けただけなのに、25位など順位の低い成績に終わった選手がいたとして、その選手の大会成績の価値を他のTOP24選手より高く考えることには違和感があります。レーティング方式では順位を全く考慮せずセットしか考慮しないため、長いルーザーズランをした選手がいた場合などに順位と獲得ポイント値の逆転現象が起こります。それが納得できるのかはコミュニティで議論されるべき議題です。

 

でもJJPRの強さに納得感はないよ

ここは価値観が異なる部分でもありますし、私がうまく説明できていない部分でもあります。私はシーディングの納得感を高める一要因として「強さの証明」が重要だと考えています。UltRankでも海外選手と戦ったことのない日本人選手がランクインしたりしました。これは海外遠征で結果を残すことで強さの証明をした日本人選手が多くおり、彼らに勝つことが高く評価されるため実質的に日本人選手全体のランクが上がったからです。遠征が一切なく完全に地域が分断されている場合、強さの証明は行われず、世界ランキングや日本ランキングのような広範なランキングは作成できません。JJPR自体が最も正確なランキングとは考えておりませんが、JJPRを通じて各選手がその存在感を示すことがより正確な強さの推定につながると考えます。そして存在感を示したということがシーディングに生かされることは一定の納得感があるため(さらにシーディングを上げるために各選手がどのようにすればいいのかということについて分かりやすい*5ため)、この考え方に賛同してくださる方はシーディングの参考にしていただきたいです。

*1:選手の実力変動は微々たるものと仮定しています

*2:この部分に関しては改めてまとめます

*3:スマブラにおいて多くの方が想定しているレーティング方式はELOレーティング方式と仮定しています、以下、レーティング方式とはこれを指します

*4:この点はJJPRも同じですが、どちらも完全な強さ順ではないということを言いたいです

*5:例えばレーティング方式をそのままシードに使う場合、勝てそうな相手にルーザーズランするためにいい感じの場所で敗者側に落ちておくといったような本質的でないことが起こり得ます

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:ここで値を入れ替えていただいてもかまいません

JJPRのv2における変更点紹介

JJPRの紹介記事です。
大きく分けて3つの変更を行います。

  1. 順位ポイント計算方法の変更
  2. 対象大会の人数制限撤廃
  3. 集計大会数の増加

変更の目的は以下です。

  • コロナ禍の状況変化に応じた計算方法に変えること
  • Smash Banzuke発表を見越して、より努力賞の色合いを強めたランキングとすること

1. 順位ポイント計算方法の変更

計算式が多く登場するので読み飛ばしていただいてもかまいません。

今回の変更の目的は勝利したセットの価値を統一することです。以前はHarukiさんの計算式を使っておりましたが、実はその手法自体が古いものでした。

harukisb.hatenablog.com

Haruki氏の別の手法はここのリンクにあるスプレッドシートに記載されています。

scrapbox.io

私の手法では、最終順位の優勝までに必要な敗者側勝利数(LRV)が一つ上がるごとに統一で「1/√2(≒0.7)倍」にポイントが減ります。つまり、勝者側で1回勝つと獲得ポイントは2倍になり、敗者側で1回勝つと獲得ポイントは√2(≒1.4)倍になります*1

この計算方法だと下の順位のプレイヤーほどポイントが小さくなっていくので、小さくなりすぎないように1位プレイヤーの獲得ポイントを1000倍しています。さらに、ここに「経過日数による傾斜(ネイピア数^(1-([経過日数]/365))」がかかります。

全体的な計算式としては、

「参加者数」×1000×「(1/√2)^LRV」×「経過日数による傾斜(ネイピア数^(1-([経過日数]/365))」

となります。

2. 対象大会の人数制限撤廃

対象大会数の人数制限を撤廃します。

1つは技術的な理由です。以前のテーブルによる順位ポイント計算では下位順位の計算に限度があったため、大規模大会でのそこそこの順位が計算外になってしまう可能性がありました。その結果、小規模大会での高順位が有利になりすぎる可能性があったため、対象外にせざるをえませんでした。

もう1つは環境の変化が理由です。JJPRを公開した当初はまだコロナによる制限も厳しく、様子を見ながら大会が開催されていました。その中で特定の小規模大会が非常に高頻度で開催されると、そこに出場したプレイヤーが有利になりすぎる懸念がありました。現在は大会の開催頻度も安定してきており、JJPR上位プレイヤーは大規模大会での結果がほとんどのポイントを占めるようになりました。小規模大会だけで結果を残しても非常に高い順位を取ることが難しくなったため、人数制限を撤廃します。

3. 集計大会数の増加

集計大会数を過去1年間の4大会から6大会に増加します。先述のとおり、大会の開催頻度が安定してきました。さらにありがたいことに地方大会の開催も盛んです。参加人数制限を撤廃することによって、在住地域による大会数確保の難しさも軽減されると考えています。大会数が少なすぎると安定性の評価が低いままになってしまうので、6大会に変更します。

*1:意図の説明ですが、それぞれ次のラウンドに進めるプレイヤーが半分・1/√2になるので、その逆数を獲得ポイントにしています

超大型大会のシードに関するおおよそのイメージ

文字だけの簡単な記事です。

 

縁あってウメブラのシードを手伝わせていただきました。

色んなご意見をもらったのですが、そもそもシードに関するだいたいの数字感が界隈で共有されていないと感じました。

この記事は私の持っている日本で開催されるスマブラSP超大型大会のシード感覚の共有です。

 

超大型大会はとりあえずウメブラ・篝火・マエスマTOPとします*1

年間でウメブラ・篝火合わせて4回、マエスマTOPも4回ほどあり、合計で8回あります。

 

各大会でTOP8の半数は同じプレイヤー(いつメン)で、残りの半数が初TOP8や久々のTOP8*2です。

いつメンも海外大会が被っていたりしてそもそも出場していない選手もいるので、いつメンに該当する選手はだいたい8人(〜10人)ほどいます*3

残りの半数の枠は8大会×4人で32枠あります。

この32人は多少の被りはありますが、ほとんどが別のプレイヤーです。

 

つまり、いつメン8人とTOP8経験者で40名はいます。

超大型大会は全員が出場するわけではありませんが、ウメブラでは9割以上は出場していました。

40人の9割なので、シード36ぐらいまでは超大型大会TOP8経験者で埋められます。

 

もちろん超大型大会以外にも256人規模などの大型大会はたくさんあります。

超大型大会TOP8未経験でシード36以内に入るには、超大型大会でTOP12~16を複数回取り、かつ256人規模大会でもTOP8を複数回取るぐらいの成績は必要となるイメージをお持ちください。

*1:九龍やその他の大会も該当する可能性がありますが、一旦この記事では外します

*2:直近一年以内に超大型大会でTOP8に入っていないプレイヤー

*3:具体的なプレイヤーは考えてみてください

キャラBANがキャラランクに与える影響

要約

ウメブラSP9開催以降、キャラBANトーナメントについての議論が活発化しています。

キャラBANはBANされたキャラだけでなく、ゲーム全体を根本的に変えてしまいます。

前提

まず、キャラ相性は存在します。

キャラ相性が存在しないと主張しているトッププレイヤーはいません。

ここから問題を単純化するために、例として、SPの性能でサムス・カービィのみが登場するスマブラを考えます。

サムスはカービィに有利ということを既成事実として話を進めます*1

サムスはカービィに有利

このゲームのキャラランクを作ります。

サムスが上のランクに必ずなる
https://www.smashtierlist.com/ より

サムスとカービィがどれくらいランクが離れるかは人によりますが、必ずサムスが上になります。

DLC追加

このゲームにDLCとしてSPのオリマーが追加されたとします。

オリマーはサムスに有利で、カービィに不利なことも既成事実とします*2

すると、3すくみが成立します。

3すくみが成立する

オリマーが参戦したことで、キャラランクも変わります。

全キャラがSランクになる
https://www.smashtierlist.com/ より

つまり、オリマー以外のキャラのランクも変動します。

キャラBAN

逆に考えると、オリマーがBANされるとサムスがバフされてカービィがバフされることに相当します。

格闘ゲームDLCとして追加ファイターが支持されているのも、私はこれが理由だと考えます。

追加ファイター1体の追加であっても、ゲーム全体が変わるのです。

DLCキャラが今までに競技シーンに与えた影響

私はベストバウト2022を総ナメにしたあばだんごさんのメタナイトはこの事実を体現していると考えます。

youtu.be

あばだんご選手はDLC2ファイターに対抗するためにメタナイトというファイターを手持ちに加えました*3

それまでメタナイトの評価はそれほど高くありませんでしたが、あばだんご選手が篝火8でプロトバナム選手のミェンミェン・KEN選手のセフィロス・しゅーとん選手のホムラ&ヒカリを倒したことで一躍評価は上昇しました。

篝火8の感動はDLC2がもたらしたと言えるかもしれません。

まとめ

私自身はキャラBAN自体を全否定するつもりはありません。

キャラBAN大会を開くならば、BANキャラ以外にも影響を与えることは理解していただきたくてこの記事を書きました。

ティーブとカズヤには関係ないという人もいるかもしれませんが、彼らによってキャラランクが上がったファイターもいるはずです*4

 

以下、余談

実は以前からこの記事の内容は書きたいと思って、あたためていました。

ただ、そのときは日本と北米(海外)でキャラランクが異なるのは当然であると言いたかったからです。

上記では、キャラが存在する・しないだけで議論をしましたが、競技シーンにおいては使用率という確率で表せます。

もし、オリマーが競技シーンに全く存在しなければそれだけでサムスの評価は上がりカービィの評価は下がります。

ゼロイチではなく、オリマーの使用率が低い環境(例えばヨーロッパなど)ではサムスの上がりますし、実際にヨーロッパでは強豪サムスプレイヤーが多いです。

日本と北米でもファイター使用率が異なるので、キャラランクが異なるのは当然になります。

*1:私はどちらの使い手でもないので間違ってたらすみません

*2:さらにすべての有利不利は同程度の有利不利とします

*3:私はこう認識していますが、間違っていたら修正します

*4:私はリュウはカズヤ、クラウドはスティーブが存在するためにキャラランクが上がってきたと考えています