シードランキング作成の報告と、今後の各大会への協力について

皆さんお疲れ様です、Shogunです。タイトルにもある通り、7/8(土)に開催されるWAVE Champions#3のシード作成を担当しました。

シード作成について、今回のこの大会だけシード作成を頼まれ、僕が主観的にこの人が強そうみたいな感じで決めたわけではなく、Startggから大会結果を取得し、データを加工してポイント化し、獲得ポイントに応じてプレイヤーランキングを出力するシステムを作りました。このプレイヤーランキングと大会参加者一覧を照合して、シードを作成しています。今後必要に応じていつでも他の大会にも提供可能な形になるので、興味がある大会主催者の方がいればご連絡ください。

と偉そうに何か色々と書いてしまいましたが、自分はシステムの要件定義を担当し、コーディングについてはYONさん(https://twitter.com/yoyoyo_4)に担当してもらいました。ご協力ありがとうございました。

とりあえず最初に結論として、今回自分が作ったランキングは↑こちらになります。どういう作りになっているかは下の方で長々と説明しているので、興味がある人いれば読んでください。

ここからは、今回自分がシードランキングを作成するにあたっての背景と、ランキングの思想や計算の考え方を共有させていただこうと思います。よろしくお願いします!


はじめに

かなり長い記事になると思うので、最初にこの記事で伝えたいことを箇条書きで簡潔にまとめます。

  • プレイヤーとして活動していた時から、既存のランキングだとプレイヤー感覚とは異なるポイント集計がされていて、良い結果を出してもシードやランキングとして報われない感覚があり、自分なりにより良いものを作ってみたいと思っていた

  • ランキングの現段階での目的はシード作成をすることであり、プレイヤーランキングを作ることではない

  • 2020年以前のJPRや既存のJJPRをベースにした作りにはなっているが、集計対象となる大会の条件や、大会ポイントの計算式(具体的には参加者数だけでなく"どれだけ強いプレイヤーが参加しているか"を重視)を現在の競技シーンに適合した形で調整した

  • 前例として、プレイヤーと近い立場にいる人間がこういったランキングを作ることはあまりない気がするけど、主観は一切挟んでおらず、当然誰かが有利になるように恣意的に計算をしていることは全くない

  • 今後ある程度の規模の大会であれば、必要であればシードランキングを提供することはできるので各大会の主催者およびシード作成担当の方は興味があれば個別に連絡ください

以上です。それでは個別に詳細について以下で説明します!

ランキング作成の背景・目的

今世の中によく出回っているランキングと、それぞれの利用のされ方、+面-面での特徴を自分なりの解釈でまとめた表です。

まず今回はプレイヤーランキングという意味合いで作るのではなく、シード選定のための活用を前提として作っています。前者はプレイヤーにとってはご褒美のようなもので観戦勢にとってはコンテンツのようなものだと理解していて、後者はプレイヤーにとっては大会での自分の戦う位置を決めるという意味でより重要な意味を持つと考えています。

このシード選定に関して、今最も多く大会で使われているのはJJPRだと思っていて、今のJJPRだと測り切れていない部分(表だと-の部分)を自分の方で解決するランキングを作ると、シード的にはより実力を精度高く反映させたものができるのではないかというのが基本的な思想です。

そのため、今回公開するランキングは「大会の価値を参加者の数だけではなく、どれだけ強い人が数多く参加していたかで測りたい」というのと、「ここ最近の大会数の増加を考えると、もはや1年前くらいの大会が今現在のプレイヤーの実力を測るのに相応しくなく、より直近の大会のみを集計対象としている」というのが中心となる考え方です。

ランキングはどのように決められているか

使い古された手法ではあるため、今更僕が胸を張って説明するような内容でもないのですが、簡単に説明します。

  1. startggを用いた直近240日以内に開かれた50人以上参加の全ての大会が集計対象となっており、その全てが①大会参加者数、②上位プレイヤー参加数によって数字で価値付けられ、それをTTP(Tournament Tier Point)と表現する

  2. TTPはその大会が開催されてから経過した日数によって減衰する. 経過日数による減衰を補正したTTPを、TTP(補正後)と表現する

  3. TTP(補正後)は、その大会の優勝者(1位)の獲得ポイントとなる

  4. 1位以降の順位について、それぞれ1つ上の順位に対するポイント倍率が設定されており「1位が獲得するポイントが決まると他の全ての順位が獲得するポイントも決められる」→これにより「全ての大会の全ての順位のプレイヤーが獲得するポイントが決められる」という流れになる

  5. プレイヤーは各大会で獲得したポイントのうち、自分にとって高い順に6個の大会結果がランキング計算の対象となる。その6大会のポイント合計順にランキングは決められる

こんな感じです。繰り返しにはなりますが、これは目新しい手法ではないためざっくりと紹介しましたが、既存のランキングと異なりそうな定数の決め方と、その考え方を説明します。

①240日以内に開催された大会のみ集計

結構迷った部分ではあるんですが、個人的には1年前の大会は今現在の勢力図を表すのにほとんど寄与しないと思っていて、ノイズだと思っています。だからもっと対象期間を狭めるべきだという思想があります。

どこまで狭めるかについて、半年以内にするとそれは狭すぎるかもしれないと思いました。7か月前くらいだと2022年11月になるんですが、この辺で良い結果を出した人にはちょっと可哀想かなぁと思います…が、これに関してはすごく主観的だと思います。

つまり1年以内だと広すぎるし、半年以内だと狭すぎるということで間よりちょっと半年寄りの8か月(≒240日)以内の大会のみを対象としているというのが今回のランキングです。

対象期間を狭めることで「各プレイヤーの獲得したポイントのうち、上位何大会を加算するか」について、従来は6だったけど少なくする必要があるのかもしれないとも思いましたが、上位200人をざっと見ると海外勢を除けば90%以上は6大会以上に出場していて、ランキングとしてはずれていないような気もするのでここは6のままで計算しています。

②参加者50人以上の大会のみ集計

これに関しては平日大会を避ける意図があります。平日大会を含めるか含めないかはランキングを考えるうえで主要な論点のうちの1つですが、これを含めると関東/関西等の平日大会が活発な地域が相対的に有利になります。

後で説明しますが、このランキングはどちらかと言うと相対的には首都圏有利で地方が不利な作りにはなってると思うので、そのバランス取りの意図もあります。(ただし地方だとそもそも休日のその地域での大きな大会も参加者が48人未満しかいないこともあるだろうし、そこはもう少し検討が必要…)

③上位プレイヤー参加数をTTPの変数として含める

これは一番右の列のTournament Tier Points(TTP)という一言でいえば「大会の価値」が高い順に対象大会を並べた表※です。多くの人が参考にしているJJPRだと、「大会参加者数」によってTTPが決められているので「TTP」と「大会参加者数(この表だと左から4列目)」は同じ順に並びます。

※なお、こちらは純粋に大会の価値を横並びで比較するために経過日数による補正をかける前のTTPを表示しています。経過日数による減衰をかけたTTPはまた異なる数値になります

一方今回の表だと、大会参加者数の順番とTTPの順番はかなり異なることが分かると思います。代表的なのは「WINNER! -Next#1-」のような大会参加者数は少ないけど、その右にある「上位プレイヤー参加数※」が多い大会は評価が高くなります。

※今回の上位プレイヤー参加数は、2023年6月1日段階でのJJPRとEther Rank(海外勢を考慮に入れるため)を参照しています。

こういった思想でランキングを作ると、他のランキングと比較した時に相対的に「上位プレイヤーの参加数が少ない地方の大会がポイント的に不利になる」といった特徴が生まれます。ただし自分は大会結果の価値は「どのくらい強い人が参加した大会で何位を取ったのか」が大事だと考えているので、個人的にはこうあるべきだと考えています。

ランキングとしてのクオリティはどうか

結論から言うと、今現在の競技シーンを数値化する試みとしてはかなり上手くいっているのではないかと思います。

ここで自分自身の大会結果に言及するのはランキング作成者として微妙かもしれませんが、それが説明しやすいのであえて自分の大会結果およびそれに基づくポイントを上から並べると

  1. 西武撃/seibugeki #13  9位 1,387p

  2. WAVE#4 13位 1,380p

  3. WINNER! -NEXT#2- 5位 1,198p

  4. しのスマHEROES#03 7位 977p

  5. りぷぶらsp6 2位 925p

  6. マエスマTOP#12 33位 906p

という順番になっています。これは自分のプレイヤー視点でも「良かったと思える大会結果順」と整合している感覚があって、他のプレイヤーのポイントを見ても上から並べた時に同じく妥当だなと思えることが多いと個人的には思いました。

ランキングを作るにあたって色々と変数は感覚でまず決めないといけないんですが、「大体こんな感じかな」の積み重ねで決めて一旦作ってみたら一発目でかなり感覚と合うものができたので、とりあえずはこの計算式で出してみて、何か意見が出てくればそれをベースにまた考えてみる、でも良いかなと思っています。

あとは現状スプレッドシートで無機質な表による公開しかできないので、なんというか「映えるランキング」ではないと思います。そういう意味で公式っぽさはないし、みんなが目指すランキングという位置付けは目指していないのが現状です。

現状の問題点と今後の展望

①シードが固定化されるのではないか

今みたいに多く存在しているランキングの中から大会主催者が選定をし、色々なものが使われるのであればシードは固定化されませんが、仮に自分が今回作ったシステムによって全ての大会がシーディングされるという非現実的な想定をすると、上位シードの人ほとんどが参加するトーナメントにおいては毎回シードが同じような形になり、トーナメントに変化が起こりにくいと考えられます。

そもそも対象期間を絞ったランキングなので相対的に他のランキングと比べれば流動性は高いと思いますが、それは置いといて上記の問題は考えるべきだと思います。

今考えているのは「大会ブランドごとにTTP計算に用いる倍率を設定し、ある大会のシードを決める際にはその大会における結果を重視してポイント計算を行う」というものです。(こちらは実装済なので想定外の挙動をしない限りは次から主要大会で採用可能)

これだけだと分かりにくいので例を出すと「WAVEに提供するシードを計算する際には過去のWAVEにおける結果だけポイントを2倍にする」みたいな話です。別の大会に提供するときは、その大会の過去結果におけるポイントを2倍することもでき、その場合は大会によってシードランキングがある程度変わるので、固定化される問題も防ぎやすくなると思っています。

②大会の少ない地域は不利になってしまうのではないか

まずこれに関しては現行のシステムで対策を打つこともできて、大会データには「開催地域」が含まれており、この開催地域ごとに「Regional factor」という定数を設けています。これはデフォルトでは全ての地域で1に設定していますが、極端に対象大会が少ない地域なんかはその数値を2にすることでそこで開催された大会ポイントが2倍になります。

現行システムだとこういう対策が考えられるのですが、自分の基本的な思想としては「昨今のような関東と関西のメジャー大会に強豪が揃い踏みする傾向がある競技シーンにおいて、密度の高い大会で結果を残した人が報われる方が正しい」と思っていて、「諸々の理由はあれどレベルの高い大会で結果を残してるわけじゃない人を高く評価することは難しい」と思っています。

この辺は時代背景やランキングを作る人の思想によるところもあると思います。

③既に色々なランキングがある中で増やす意味はあるのか

というツッコミをされることはあんまりない気もするんですが、僕は現状この点について考えています。

誤解を恐れずに言うと、今回のランキングはプレイヤー視点で考えた時に、他のランキングと比較して最も実力と獲得した結果の価値を精度高く反映していると思っています。もちろん順位を紐解いていけば、他のランキングと中身も差別化されています。

しかし、これでプラスになるのはせいぜい上位シードに関わるプレイヤーだけであって、観戦者からしたら「シードなんてある程度それっぽければなんでもいい」というものだと思いますし、大会運営からしても「いかにトーナメント作成の手間を減らすか」の方が大事であって、今回の自分の取組みってそういう意味ではあんまり価値は高くないと思っています。

また、ランキングが増えることは後で説明しますがコミュニティにとってはマイナスな側面もあります。そこは理解した上で自分なりに良いシードのシステムを作りたいと思ってやったことです。

なので現時点では自己満足程度の認識でいます。上述の通りプレイヤー視点で見た時に今回自分が作ったランキングは自分の視点だとうまく結果の価値を数字に落とし込めている感覚があるし、そのやり方に共感してくれる大会があれば提供するし、それによって大会のクオリティは少しだけど上がるはずです。

また、今後はこのランキングのシステムを用いて「通期での日本プレイヤーランキング」みたいなものを作ることも考えられるし、あるいはもっと違う角度で色々なデータを取得して、それを自分の動画企画で用いることも先の話ながら考えられるかもしれません。

一旦はずっとうっすらやりたかったことを形にできましたという自己満足報告という位置付けでの取組みおよび報告とさせてもらえればと思っています。

追記:公開後に表面化した問題について(2023/7/17更新)

①別人だけど同じユーザーネームのプレイヤーが重複カウントされてしまっている

そもそもオフ大会に出ていて全く同じユーザーネームでそれなりの頻度で両者活動しているみたいな人がほとんどいなかったので影響範囲は少なかったんですが、このままだと改名した場合にポイントが分かれちゃうことが分かったので、修正しました。

現在は"startggにおけるユーザーID"によってプレイヤーを識別しているので、この問題は解決されました。

②同一ユーザーだけど複数アカウントで参加しているプレイヤーの実績が別カウントされてしまう

①を解決したことで、多分珍しいケースですが同じ人だけど複数のアカウントで大会に参加したプレイヤーはポイントが分散されてしまっています。まさに"あっちが立てばこっちが立たず"ですが、これは正直システムによる対応が難しそうだし、する必要もあまりないと思うので申し立てを見て手作業で直すしかないかなと思っています。

③大会参加数が少ないプレイヤーが過小に評価されている

これは難しい問題だなぁと思います。今だとプロトバナムが大会参加数が少ないため、ポイントが低く、感覚よりも大分低い順位になっているのが分かりやすい例だと思います。

システム的な処理で言えば、昔JPRで用いられていましたが「ポイント集計対象の大会数(今回は6)をnで、あるプレイヤーの参加大会数がmだった場合、そのプレイヤーのm回で獲得したポイントの合計値にn/mを掛ける」いみたいな感じの処理を行うと、その問題は一応解決できるようには思えます。
(例えばあるプレイヤーの大会参加数が3だったら、規定の集計対象大会数は6なので「もし6回大会に参加していたとしたら期待値で言えば2倍(6/3)のポイントを獲得しているはずだ」として2を掛けるって話です)

ただこれをすると例えば2回大会に出て運良く(?)良い結果が出たらその後は「大会に出ない方が高いポイントを維持できる」状態になってしまうということも考えられるので、必ずしも良いとは言えないです。
(だし、それをするとSparg0が毎回篝火で優勝するポイントになって圧倒的1位になります。それも"最低大会出場数"みたいな条件を持ち出せば一応解決はしますが…)

現段階ではこういった処理を行わず、「大会参加数が原因であまりに過小に評価されているプレイヤーは主観的に上に持って行く」とかが落としどころだと思います。これは賛否あるかもしれませんが、数値"のみ"でシードを決めることが常に正しいわけではないと思っています。

あと、例えば「1年間大会に一切出ていないけど、誰もがその人のことは日本トップクラスに強いと思っている」というような極端なプレイヤーが出た場合、その人をどう扱うかって難しいですよね。

少なくとも大会に出ていない以上評価のしようがないというのが客観的な判断ではあると思うので、そういった歪な状況が発生したとして「この人は明らかに感覚的に低いからこのランキングは信ぴょう性が低い」等と言われても…という気持ちもあります。

追記:大会主催者の方向け、どのような流れでシードを提供することができるか(2023/7/17更新)

記事公開後、ありがたいことにいくつかの大会主催者から早速シードのシステムとして活用したいという連絡を受けたので、どういう流れで自分と大会主催者の間でやり取りが行われるかを説明します。

①(大会)まず僕宛てにシード提供依頼のDMを送ってもらう

https://twitter.com/Shogun_Snake

こちらまで、以下の情報を記載してDMを送ってください。

  1. 大会名

  2. いつの段階での最新ランキングが欲しいか
    (トーナメントを作成する1,2日前、トーナメントを開催する5日前くらいが一般的です)

  3. 過去の同大会(1で記載した大会)での結果を大きく反映させてほしいか
    (Yesの場合、あまり大きくなりすぎないように注意しつつ、1.5倍~2倍くらいにするかと思います)

②(Shogun)記載してもらった日付に、その段階での最新ランキングを送る

①の2で記載してもらった日付にその段階での最新のランキングを送ります。忘れているかもしれないので、前日くらいにリマインドをもらえると助かります。

③(要相談) ランキングと大会参加者を照合させて、大会で使用するシードランキングを提供する

②までが僕の仕事で、③は主催者側でやってもらえると助かりますが、大会参加者一覧をcsvとかでもらえればすぐ自分の方でも対応してお渡しできるかと思います。

③を大会主催者側にお願いする場合でも、中身について、例えば主観的に決めざるを得ない箇所とかは相談可能です。例えば前回のWAVE Championsだと、海外勢をどこに入れるかは相談して主観的にこの辺と決めるしかなかったです。

余談:「正しさ」と「分かりやすさ」

ここからは僕の思想の話です。まずランキングに限らずほぼすべてのものに関して、特にSNSを見てると「正しさ」よりも「分かりやすさ」の方が好まれる傾向にあると思っています。

ちょうどこれは最近解説動画を作る際に考えていました。例えば1つの状況でお互いどのような読み合いが生まれるかを解説するケースを想定します。「この状況でプレイヤー1(自分側)ができることはA,B,C,Dの4択で、それに対してプレイヤー2(相手側)はそれぞれに対応する択としてA',B',C',D'を持っている。AはB'とC'に勝てて、Bは…」みたいな話よりも「この状況で相手はA'を選ぶ確率が高いです。実戦的には大体8割くらい。なのでこちらはAを出さずにBを出すと良いです」の方がシンプルで明快です。

「正しさ」という観点だと前者のように漏れがない説明の方が上回ると思いますが、「分かりやすさ」という観点だと圧倒的に後者です。昨今の1コンテンツあたり消費時間の減少傾向ともあいまって、厳密に正しいものよりも、シンプルで分かりやすいものの方が好まれるという考えがあります。

ランキングに話を戻します。今回自分が作ったランキングが、他のどのランキングよりも結果の価値を正しく反映したランキングだという前提を置くと(実際そうかは分からないです…)、今回自分は「正しい」取組みをしたとは言えます。

しかし、ランキングが乱立することでプレイヤーや観戦者が1つの指標を追いかけるという「分かりやすい」構図に少しヒビを入れることをしているかもしれないとも思っています。なので自分の今回のランキングはあくまでシードを大会に提供するものであり、依然としてプレイヤーランキング的なものはJJPRを追いかけるのが良いと思います。

自分が作ったランキングに現段階でJJPRやJSR等の呼称を設けていないのはそういった考えがあります。これは今後の周りからの反応次第でまた変えていくかもしれませんが。

以上です、ありがとうございました!

この記事が気に入ったらサポートをしてみませんか?