Skip to main content

Salmon Statsから見る上位ランカーは誰か

tkglingAbout 4 minNintendoSalmon Run

Salmon Statsopen in new window

サーモンランが一番うまい人は誰なのか、という話題は尽きることがない。

そして、誰が一番うまいかを決定するような素晴らしい評価アルゴリズムがあるとも思えない。何故ならサーモンランは運要素がガチマッチに比べて高く、対 CPU ゲームである以上プレイヤーがある程度上手ければ勝率を極めて 100%に近づけることが可能で、レーティングなどというような仕組みを使って実力を評価することができないからである。

が、目安としてどのような人が上手いか、という程度であれば判断できないこともない。

それにはサーモンランのレコードを約 170 万件保存している Salmon Stats を使う。

もちろん、Salmon Stats のレコード 170 万件全てを解析すれば正確に評価できるように思うが、それは全レコードを持っているというのが前提になってくる。

残念ながら Salmon Stats には全レコードを取得するような仕組みがない(あたりまえだ)ので、わかる範囲内で誰が上手いのかを調べる必要がある。

シフト記錄を使う

そもそも Salmon Stats を運営し始めたのは、既存の Salmon Run Records に不可避の不具合があったためだ。

というのも、たとえばキンシャケ探しイベントでステージ記錄を狙おうとすればブキ編成の火力が必須になるし、ダイナモローラーがいない編成では記録更新は不可能だろう。

そのようにして、良い編成かつ良い WAVE を引いたという極めて運要素の強いアンタッチャブルレコードで記錄が埋め尽くされていき、更新が次第に困難になりプレイヤーのモチベーションの低下につながってしまうからだ。

そこで Salmon Stats ではシフトごとの記錄を取るようにし、その編成である程度の運を許容しつつ最も良い記録を出したプレイヤーを称えることとした。シフトの開催期間は限られているので、実力が多少劣っているプレイヤーあってもものすごく上手いプレイヤーが理想の WAVE を引けなければ十分勝てる可能性があるからだ。

シフト記錄一覧

Salmon Stats では赤イクラ部門、金イクラ部門において各潮位・イベントの組み合わせ 16 通り+総合(夜込み)+総合(昼のみ)の記錄を集計している。

最高記録、しか保存されていないのは残念だが、つまり各シフトにおいて 18*2=36 の記錄が存在することになる。基本的には四人でプレイしているはずなので、1 シフトに掲載されるプレイヤー数は最大で 36 * 4=144 ということになる。

サーモンランのシフトは現在 914 回までシフトの内容が明らかになっているので最大で 914 * 144 = 131616 名のプレイヤーが名前を載せることが可能になる。

もちろん、初期のシフトについては Salmon Stats がデータを集計していないし、未来のシフトについては当然ながらデータが存在していない。

だが、調べたところ 500 シフト程度については有効なシフト記錄があることが判明した。

有効なシフト記錄

Salmon Stats の初期運営時にはユーザが少ないため、シフト記錄の質が低く簡単に同一のプレイヤーが記錄を独占することができた。

そのため、今回の集計にあたってシフトでのバイト回数がある程度多いもののみを考えた。

記錄を取得するコード

Salmon Stats はスケジュール ID として UTC を採用しているので、タイムスタンプから変換してデータを取得する。

シフト記錄自体はhttps://salmon-stats-api.yuki.games/api/schedules/{SCHEDULE_ID}の API を叩けば取得できる。

こういうときに手っ取り早いのは Python なので Python を使ってデータを取得した。

すると全部で 59311 人のプレイヤーが登録されていることがわかった。

人数について

サーモンランは四人で遊ぶプレイヤーのはずなので、59312 人にならなければおかしいのだが回線落ちなどで一人減ってしまったのだろうと考えられる。

この中で何度もランキングに載っているプレイヤーが「上手い」かつ「上手いと認められて色んな上手い人と遊んでいる」と考えることができる。

今回は 100 回以上ランキングに載っているプレイヤーを紹介することにする。

抽出したプレイヤー

{
  "a0720e1c8cecd9fc": 2841,
  "b47e1fd7a7e6feb5": 1498,
  "27b314952c00c7fa": 1451,
  "f97303bd80834670": 1425,
  "2da8bead36f8bdea": 916,
  "2e86f880e0fcdbcb": 882,
  "a6698b80745752ab": 856,
  "0a14e929a0661370": 841,
  "059045d2e7825876": 734,
  "001bfbec9b904a71": 715,
  "66ffbce054aa5291": 693,
  "4378ddb86f58882e": 639,
  "aae300eb7db4f6dd": 637,
  "6e8f72d75edd68fd": 627,
  "0dcabf1aa4e70f2e": 623,
  "5db950fcf6763803": 613,
  "635f96d0f8280edb": 503,
  "2f64b91c4ee5b9a4": 481,
  "3d647759d2e3b0ee": 472,
  "cde7ed3fa44ad577": 434,
  "93a486040cd7b375": 433,
  "a81dc4e527e9fc9f": 395,
  "3bf62ab1a934d7df": 366,
  "b2da7c8ca0e06fa7": 356,
  "788580029fe74552": 350,
  "d0952b1f1b4394c1": 347,
  "fd2c03a294d101cb": 343,
  "166e8815dd84dadb": 328,
  "e59e183bcf4a4e3d": 313,
  "ae570b2064d4b4b6": 310,
  "701f07f4f86556c0": 298,
  "55f850dd60952002": 298,
  "36cfe58828c00e79": 293,
  "a8eebf9c682d5c17": 292,
  "835dffa743851f8e": 290,
  "dd84b53a5864e26e": 275,
  "cd0ec93f60bdacf2": 270,
  "8b711d4fbffc31e7": 267,
  "daf36b6006b5dae8": 264,
  "d50a82bbc795da65": 247,
  "c2760ec31f3a186a": 238,
  "197bd49c4ad527a4": 235,
  "0fc55140cd215f52": 234,
  "c9b314aaf5114d31": 231,
  "ea3c59657f0cdd6e": 225,
  "739f4a9b8e4d5e30": 224,
  "24bd527b3136d069": 223,
  "66d3f6c5c1ce879d": 221,
  "4c2e448503020ad3": 198,
  "2325a6845a0e9963": 198,
  "250d09d5cc6c6819": 195,
  "52d5c2d24314842a": 194,
  "2da02f4acf9dccfe": 184,
  "5627919bb16897c4": 183,
  "4e217af8576c7364": 183,
  "7c331ba2fff80f9f": 179,
  "0368add775b43c83": 178,
  "759f8285abd07135": 176,
  "28e0c8f7df91f431": 174,
  "8ba9fb54040266bf": 173,
  "9a3f401b4da33746": 167,
  "19353ca34dffb164": 166,
  "6c50aaccb889d227": 162,
  "b2845a45750a76c8": 160,
  "d455dc3f1f32ce5d": 159,
  "23038a91b3db9351": 156,
  "26614a0c758671c3": 153,
  "aa4fef305a92d234": 148,
  "41693115c16005cf": 145,
  "0207ac94447f2565": 143,
  "2ef1128dbe97ac33": 127,
  "8693b36d8d6036c6": 124,
  "fffb476fad470432": 124,
  "efae74ec9920c457": 124,
  "747b37c7b2f790bf": 123,
  "42e37bcfdb386e21": 122,
  "991bf232e9a2eabc": 120,
  "c6548d3466789c00": 119,
  "ff05b28c6138a248": 119,
  "4ecbdbad3b5fce72": 118,
  "a773c9a9c4182410": 118,
  "0294ff3a62939a7a": 118,
  "f61adb7ca060ce99": 115,
  "c67874aa5417835f": 113,
  "ef41aa181c1d4a72": 112,
  "fca05b39f595c8a9": 110,
  "395ddabe666886ea": 109,
  "7764ee494afd786f": 107,
  "f9b041d34af86ad4": 105,
  "84f6e7c870465272": 104,
  "7bb2b331e766b198": 102,
  "175c732116e152af": 102,
  "96a6ed3f16adf315": 101,
  "d981afaa24f1febd": 100
}

するとこのような感じになった。

一位の方が二位にほぼダブルスコアをつけており、ぶっちぎりであることがわかる。

ここまで差がつくのは単に上手いだけではなく、相当遊んでいないと達成できないと思われる。まさに異次元の記録と言えるだろう。

で、このプレイヤー ID だけではさっぱりわからないので任天堂の謹製 API を使ってプレイヤー情報を取得することにした。

プレイヤー名を取得

プレイヤー名を取得するにはhttps://app.splatoon2.nintendo.net/api/nickname_and_iconを GET すれば良い。

この API をコールするにはiksm_sessionが必要になるので予め取得しておくこと。同時に 300 人くらいまではデータを取得できるので、今回のケースであれば一回叩くだけで良い。

ランキング

面倒だったのでプログラムで一気に作成しました。

赤イクラも金イクラも全部混ぜての集計になっています。また、API でアカウント情報が取得できなかったユーザについてはDELETED USERとして掲載しています。

どういう条件で取得できなくなるのかはよくわかっていません(フレンドコードを変えた、とか?)

順位プレイヤー名回数
1DELETED USER2841
2マーopen in new window1498
3メリカopen in new window1451
4UNREGISTERED USER1425
5シミリーopen in new window916
6ひよってるやついる?open in new window882
7Re:cön/なるopen in new window856
8YU:TOopen in new window841
9とんでますけど?open in new window734
10ねごねごopen in new window715
11ヨハンopen in new window693
12UNREGISTERED USER639
13UNREGISTERED USER637
14yopen in new window627
151open in new window623
16や        まopen in new window613
17UNREGISTERED USER503
18UNREGISTERED USER481
19ANONYMOUS USER472
20Ricarnaldoopen in new window434
21UNREGISTERED USER433
22UNREGISTERED USER395
23UNREGISTERED USER366
24UNREGISTERED USER356
25UNREGISTERED USER350
26SaMeetopen in new window347
27DELETED USER343
28あまねし~open in new window328
29UNREGISTERED USER313
30ろみopen in new window310
31juopen in new window298
32γοοκιεopen in new window298
33どしゃあ...open in new window293
34UNREGISTERED USER292
35ろりぽっぷおーちゃんopen in new window290
36ちはるopen in new window275
37みさかopen in new window270
38Heartlyopen in new window267
39からんopen in new window264
40UNREGISTERED USER247
41けんしろopen in new window238
42UNREGISTERED USER235
43にゃちょすopen in new window234
44ANONYMOUS USER231
45O:CHANopen in new window225
46ナトリウム/Kuliopen in new window224
47UNREGISTERED USER223
48HBee*ちゃんゆりopen in new window221
49UNREGISTERED USER198
50hina_cksopen in new window198
51きせんopen in new window195
52うっきぃ ëopen in new window194
53ー ーopen in new window184
54UNREGISTERED USER183
55ばちばちのばちくopen in new window183
56へんしんはやくしろopen in new window179
57UNREGISTERED USER178
58けんけんopen in new window176
59UNREGISTERED USER174
60UNREGISTERED USER173
61さぽopen in new window167
62UNREGISTERED USER166
63バネヤマopen in new window162
64UNREGISTERED USER160
65Noaopen in new window159
66えすopen in new window156
67きよたかopen in new window153
68UNREGISTERED USER148
69UNREGISTERED USER145
70UNREGISTERED USER143
71UNREGISTERED USER127
72ゆゆ/open in new window124
73UNREGISTERED USER124
74415open in new window124
75ふぶきopen in new window123
76UNREGISTERED USER122
77ぷらむopen in new window120
78alkaliopen in new window119
79ちゃopen in new window119
80open in new window118
81あやねこopen in new window118
82さとうopen in new window118
83yopen in new window115
84UNREGISTERED USER113
85toruopen in new window112
864<"open in new window110
87---open in new window109
88tawopen in new window107
89open in new window105
90えむいーのはかopen in new window104
91だてんし ☆ きいとopen in new window102
92UNREGISTERED USER102
93UNREGISTERED USER101
94UNREGISTERED USER100

順位について

めんどかったので同率の場合は単にソート順で順位付けされてます。どっちかを贔屓してるとかではないのでお気になさらず。

匿名希望の場合は連絡ください。

ここに載っているならちょっぴり自信を持ってもいいかも知れません。

記事は以上。

Last update:
Contributors: tkgstrator