Salmoniaでのシャケパワーの計算ロジックについて

シャケレート機能

バージョン5.1.0にてシャケのウデマエを大雑把に評価する機能を搭載しました。

で、ぶっちゃけるとシャケのウデマエって例えば「討伐数平均」とか「納品数平均」とかでいいわけじゃないですか。なんでわざわざレート制度つくったの?ってなるわけですよ。

わからないことは面白い

ここは結構大事なところなのですが「人間は次に表示される数字が予想できない」とそこに楽しみを感じるのですよ。

例えば部屋に十人の男女を入れて部屋の中を見通せる場所にカメラを置いておき、そのカメラの隣に数字を表示します。その数字が一時間以内に百になったら賞金がでます、と説明します。このとき、どうすれば数字が増えていくかは秘密にしておくのがポイントです。

しばらくすると集まった人間は奇怪な行動を取り始めます。なぜなら、どうすれば数字が増えるのかがわからないからです。

実は部屋の中の行動は全く関係なくて、別室の水槽の中の金魚が真ん中を横切るたびにカウントが1ずつ増えているのですが、それを知らない人たちはくしゃみをした瞬間にカウントが増えたのを見れば「くしゃみをすれば1増える」と思い込み、それが違うと「新しい動作をすれば1増える」などといろんな思案をするわけです。

こうやって新しいことを想像することが快感なわけなのです。

差がつくことは面白い

もう一つあるのが、単純な討伐数や平均納品数ではある一定以上うまくなると差がつかないというのがあります。

これはガチマッチも同じで「ウデマエX」というひとくくりだとXP2000の人もXP2700の人も同じ扱いなんですよね。で、当然XP2700の人はそれじゃ面白くないわけです。

言わないだけで本心では同じ括りにされたくないって思っています、絶対です。なぜなら同じ括りにされるというのはXP2700を達成するまでの努力全てをなかったことにされているように感じるからです。頑張った人ほど、これを嫌います。

なので、人によって差がつくような値になるのは面白いのです。討伐数であればどう頑張っても平均15-17くらいで止まりますし、納品数も40-50あたりが限界でしょう。

第一「納品してるから何が偉いの?」「討伐してるから何が偉いの?」って思っている人がこれまた一定の割合で確実にいます。

そう思うことは全然悪いことではないです。

なので、適切にシャケの上手さを評価できる数字が欲しいわけです。そして、それは単純な討伐数や納品数の平均ではないということです。

どういう仕組みが相応しいか

さて、ここもいろいろ考え方があると思うのです。人によっては「納品が一番大事」だといいますし、「討伐が一番大事」という人もいるでしょう。

もちろん、納品がクリアへの絶対条件なのでこれは外すことができません。問題は討伐が納品に対してどのくらい大事なのかというところです。

しかしよく考えてみると、納品するための金イクラは討伐しないと生まれないのですから、討伐も結構重要であることがわかります。コンテナ周りがオオモノだらけだと納品がそもそもできません。

なので、ここでは仮に「納品と討伐は同じくらい大事である」という前提のもとで上手さを評価していきたいと思います。

ちなみに赤イクラはあんまり関係ないのでここでは考慮しないことにしました。デス数もヘルプ数も同じくです。

なぜならデス数が多ければ行動不能時間があるので納品も討伐もできないから。強い相関があるのでわざわざ組み込む必要がないということ。

レーティング制度

さてウデマエを評価する数字として討伐と納品を同じくらいの重要度として考えるということは先に述べました。

では、その二つの数字を使ってどのように上手さを数値化すればよいでしょうか?その方法の一つとしてレーティングシステムがあります。

レーティングシステムはイロレーティングやグリコ2レーティングなどが有名で、スプラトゥーン2ではグリコ2レーティングというものが使われています。

が、グリコ2レーティングは計算するのが難しいのでより実装が簡単なイロレーティングを今回は用います。

イロレーティングって?

イロレーティングとはイロ氏が考案したレーティングシステムで、1500を標準として自身の実力がどの程度であるかを測る仕組みです。

レーティングの仕組みが面白いのは、勝率を元に対数計算をしているので無意味にインフレする心配がないということですね。

つまり、レーティングで5000などという突拍子もない数字は絶対にでないのです。また、レーティング差から用意に勝率を求めることができるのも興味深い点ですね。

以下が、レーティング差によるおおよその勝率です。

レーティング差050100150200400
勝率50%56%62%69%75%100%

では、この便利なレーティングはどうやって求めればいいのでしょうか?実は、レーティングには「勝敗」「自身のレート」「相手のレート」の三つしか必要でないのです。

つまり、ガチマッチもノックアウトしたとか仲間のレートとかは全く関係ないのです。相手チームの平均レートと自身のレートだけなんです。

シャケのレーティング

イロレーティングは相手のレーティングと自分のレーティングを元に計算する必要があるので、シャケのレーティングをそもそも考えなければいけません。

単純にキケン度だけで考えるのもアリですが、よく考えるとモグラとカタパッドが同じ強さだと考えるのは違和感があります。

で、SalmonStatsのキケン度MAXをクリアした全67866件のデータからオオモノの討伐率を計算し、モグラのキケン度を1500として求めると以下のようになりました。

オオモノ基本レート
バクダン1609
カタパッド2649
テッパン1587
ヘビ1534
タワー1563
モグラ1500
コウモリ2042

カタパッドめっちゃつえー!!

シャケの平均レート

仮にすべてのオオモノが全て平均的に出現したとすると、オオモノの平均レートは1783になります。

これをシャケの平均レートとして考えることにしましょう!

また、初期評価の最大値が400であることから、全員が評価400であるときのキケン度160%を全ユーザの平均であると考えることにします。

当然キケン度200%とキケン度160%では難易度が違うので、キケン度200%の方がシャケのレートは高いと考えなければいけません。

ここでは仮に線形に増加したとして、キケン度MAXにおけるシャケのレートは200/160=1.25倍であると考えることにします。

ちなみに線形比較していいかどうかはかなり疑問が残る。200%

すると、大雑把に評価におけるシャケレートは以下のようになります。

評価キケン度シャケレート
200120%1337.25
300140%1560.125
400160%1783
600200%2228.75

で、MAXのレートが2228ということはMAXに対する期待勝率がほぼ100%であれば、プレイヤーのレートは+400で2628になるわけです!

ただこれではMAXを全勝できる人の間で差がつかないので、200%以上の適正キケン度を考えることで対応します。

適正キケン度

キケン度MAXクリアでも余裕を持ってクリアするような人もいれば、ギリギリクリアできたという人もいます。

なのでここでは余裕でクリアした人はもっと難しくても大丈夫と考えて適正キケン度に対応するシャケレートを適応します。

ただ、これも大きい値をつくりすぎるとせっかくインフレしないように考案されたレーティングがいくらでも大きくなってしまうので上限をキケン度240%程度に制限します。

評価キケン度シャケレート
600200%2228.75
700220%2451.625
800240%2674.5

このとき、シャケレートが2674.5になるのでキケン度240%をクリアできる動きを常にしている人は2674+400でレートが3000程度になるわけです。

適正キケン度の求め方

プレイヤーが余裕を持ってクリアできたかどうかを判断するのは難しいのですが、Salmoniaでは「討伐数が全出現オオモノ数の25%以上」「納品数がノルマの33%以上」としています。

全員が同じ動きをすればオオモノが全討伐できて納品もピッタリクリア分だけ集まります。

つまり、最低限の働きをしているかどうかで判断しているわけです。

ちなみにオオモノの25%とノルマの25%だとノルマの25%の方が楽すぎるので、33%にすることで難しさを同じくらいにしています。

実感されている方も多いと思うのですが、オオモノを全部倒すというのは単純にクリアするよりも遥かに難しいです。

金イクラのノルマもオオモノ出現数もキケン度が40%上がると12増えるので、200%以降も同じように線形で増加すると仮定すると以下のようになります。

キケン度ノルマ合計オオモノ数
200%6966
220%7572
240%8178
討伐数から求める適正キケン度

この計算式に従うと、討伐数が20のときに最高キケン度である240%に達します。これは討伐数の難しさから言ってもさほどおかしな結果ではないと思います。

次に納品数なのですが、同じように線形で考えると納品数がわずか27でキケン度が240%に届いてしまいます。これは、オオモノが12体増えて出現する金イクラの数が36個も増えているのに、ノルマが12しか上がらないと考えているために起こる問題です。

ツイッターでアンケートをとったところ、20討伐と同じくらい価値があるのは35納品程度、と考える人が多かったので35納品を20討伐と同じ適正キケン度240%になるように調整しなければいけません。

納品数から求める適正キケン度

問題はこれを納品数が23以上の場合かどうかで場合分けすべきかどうかということですね。

今回はめんどくさいので場合分けしないことにしたので、納品数が0でも適正キケン度が120%くらいになります。

シャケの実レート

プレイヤーのバイトリザルトから求めた適正キケン度を標準キケン度160.0%で割った値をバイアスとし、その値をプレイヤーが倒したシャケの平均レートにかけます。

その値がプレイヤーと戦ったシャケの実レートとするわけです。

ここで興味深いのは、シャケの実レートを上げるためにカタパッドばかり倒していると討伐数が不足して適正キケン度が下がってしまうという点です。

つまり、カタパッドばかりに固執してもダメでいろんなオオモノをまんべんなく倒さなくてはいけません。

レーティングのインフレ

結構考えてレーティングがインフレすることを防いでいるのですが、それでも全勝を続けるといくらでもレーティングが高くなってしまいます。

そこで、Salmoniaでは三つのレーティングを用意してプレイヤーの適正レベルを測ることにしました。

推定ウデマエ

初めてカンストしたときのレーティングで、カンスト以後は更新されません。

最速で30バイトで達成できるのですが、最初のウデマエを求めるのに10戦かかり、おそらく初期レートが2600くらいになると思います。残りの20戦を全勝してかなり活躍できれば毎試合で20ずつくらい増えていくので最高3000ちょっとくらいになります。

自分の実力を知りたければフリーランスでカンストまで潜ってレートを出してみるのが良いかもしれませんね。

最高ウデマエ

現在までに達した最高のウデマエを表示します。フレンド四人などでプレイするとクリア率が上がってレートが高くなるので、これがそのプレイヤーが出せる最大瞬間風速と考えて良いでしょう。

カンスト以後も計算しているので、いくらでも(といっても、3400くらいでカンストすると思うが…)値が大きくなると思います。

現在ウデマエ

現在のウデマエを表示します。カンスト以後も計算しています。

レーティング早見表

レーティングが直接クリア率に直結するので、以下のようになるはず。

ちなみにガチマッチのレーティングとはぜんぜん違う計算方法をしているので、シャケのウデマエ2600とXパワー2600は難易度が全然違います。ここは勘違いなさらぬように。

シャケのウデマエは自分が上手ければ相手の上手さに関わらずどんどん上がっていくものだと考えてください。なので、あくまでも自分のプレイングスキルの目安として使うべきです。

レートレベル推定MAXクリア率
1800たつじん4009%
190015%
2000たつじん50024%
210036%
2200たつじん60050%
2300フレンドカンスト64%
2400野良カンスト76%
2500フレノーミスカンストくらい?85%
260040バイトカンストくらい?91%
270035バイトカンストくらい?95%
2800ノーコメント97%
2900ノーミスカンストくらい?98%
3000誰か出してみて99%

熟考してちゃんと考えたので、意味のある値になっているはずですがひょっとすると上手い人だとやっぱりレーティングで差がつかない結果になってしまうかもしれません。

一つの目安となるのはMAX勝率50%であるレート2200と、勝率が90%を超える2600でしょうか?