有料構築記事と”言語化をやめる地点”

最近もりゆきさんの一般TCG論シリーズに出会い、感動した。ずっとこういう記事が書きたかったのかもしれない。

言語化をやめる地点”、この記事が特に面白かった。

自分は何年か前に”プロは有料構築記事を出すべきではない”というような発言をした。

その頃の意見は以下のようにまとめられる。

  1. カードゲームは基本的に”知識ゲー”であると仮定し、RAGEなどの大型大会やプロリーグに参加するプロゲーマーの役割を”ゲームを攻略し、結果を残すこと”と考えると利害一致していないのではないか。
  2. 以前の自分は金がない中必死に無料情報をかき集めていた。前の自分のようなプレイヤーが可哀想。
  3. 攻略サイトに投稿できるのではないか。

だがプロゲーマーの役割はゲームを盛り上げること。プロゲーマーの攻略情報があれば自分でも勝てるのではないかと思うプレイヤーを大会参加へと促すことは利害一致している。攻略サイトに記事を提供した場合と比べ有料記事を買ったプレイヤーはsunk costの影響で大会に出向いたり、大会に参加しなくてもランクマッチを以前より励むことだろう。それにゲームに金を注げるプレイヤーは昔のpotwasherみたいな無課金勢と比べ価値が何倍も高い。

しかもカードゲームは進化した。自分が知っている範囲内だと現代シャドバと現代ハースストーンは難しい。難しすぎて”知識ゲー”ではなくなっている。有料記事で簡単にアウトプットできる強いデッキリストとマリガンと対面ごとのゲームプラン以上にゲーム中の判断力が決定的だ。”空中戦”と呼ばれるコンボミラーやコントロールミラー対面の我慢比べや駆け引きは経験がないと正しい判断ができない。APM(actions per minute)デッキ、デジタルカードゲームならではの高速な情報処理とプレイングを要求するデッキも”練度”が高くないと到底扱えない。有料記事を手にしても弱いプレイヤーは強いプレイヤーに勝てない

ここで”言語化をやめる地点”に戻る。一部分を省略すると”言語化すると必然的に情報量が減る”。そしてそれは言語化できない極致があることを意味する。

カードゲーム攻略記事を書くプレイヤーはブラックボックス状態である。そして、”あれ、マリガンでどのカード持ってたっけ?”などの質問を繰り返し情報を言語化する。”練度が高い”プレイヤーは思考の直感が鋭くなっている。場の情報処理速度が高い理由は弱い手を省き有力な手を探る直感が働いているからだと考えられる。有力な手を絞ると時間を作ることができる。そしてその時間を利用して再検討の計算ができる。この直感能力も検討能力も攻略記事で手に入ることはない。

さらに機械学習の比喩を使うとimitation learningやbehavior cloningのように配信や動画などを参考に動きを真似するだけでもオリジナルを超えることはできない。

優れているプレイヤーはある程度配信しても攻略記事を出しても優位性は揺るがないのかもしれない。

自分は各カードの採用理由とマリガンを淡々と述べるような構築記事は書きたくない。一般TCG論と結べる内容を書きたい。読者が考えることに繋がるようなアウトプットをしたい。

例外とか

こういうデッキの攻略情報が出回ると流石に勝率が下がる。

私、アーカスガチアンチなんです。

https://svgdb.me/assets/fullart/1085410300.png

OOTのネクロを使ってこういう経験をしたことはないだろうか。

ドラゴン対面

7ターン目アーカス無事着地!

相手がポセイドンを出します。

処理が追いつかない。。。

うわーアジ・ダハーカのスタッツ高い〜

負けます。

ヴァンパイア対面

7ターン目アーカス無事着地!

相手がヴァーナレクを出します。

全PP除去に使わないと処理が追いつかない。。。

蝙蝠2枚持ってるのかよ〜

負けます。

ネクロ対面

7ターン目アーカス無事着地!

相手が横展開します。

全PP除去に使わないと処理が追いつかない。。。

進化がないから回復できない。。。

負けます。

ロイヤル対面

7ターン目アーカス無事着地!

レイサム出されたけどアーカス着地してるし勝ちだよね?

あれ、エンハンス・オクトリスやドラゴン・ナイツを処理しながらギルネリーゼが出せない?

負けます。

アーカスが強い場面

  • めっちゃ勝ってる時
  • クロミラー先攻
    • ゲームが楽になる
  • 対リーシェナ
    • 破壊カウントを遅らせて10キルを見れるパターンがある
    • ハンドから打点があるとゲームが楽になる
  • 対ウィッチ
    • 真実の宣告の回復量が多いと10ギルネだけで倒せないパターンがある

基本的には代弁者・ビッグソウルハンターで序盤中盤強く動いた方が勝利にしやすいと思っている。

お前WGPアーカス2枚入れてたじゃねーか

アーカス前から嫌いだったけどなんか入れてました。

当時個人的にネクロの評価が高かったのでミラーを意識していたのかも。

あの頃の自分はもう捨てた。

私、霊魂・オシリス熾天使の剣アンチなんです。

さっぽろ?

この辺も正直分かる。

霊魂に関してはアーカス型だから必要になるのは分かるけどネクロマンスをフランやビッグソウルハンターに回すのが個人的に好き。

オシリスは対ロイヤル以外ならそこそこ偉いけど進化強要なのがなー。

熾天使の剣はヴァンパイア対面以外弱すぎて個人的に嫌い。今採用している呪われた忠誠もめちゃくちゃ弱いんだよなー。熾天使か更に弱そうだけど深淵への誘い(ベーシックの5コスのやつ)次に試してみようかな。

 

Era53さん、これ読むか分かりませんが配信の左上にスポンサー置くとマリガンの先攻後攻が見えないのがとても気になります。

OOT蝙蝠ヴァンパイア・フラウロス3枚の理由

こっちのブログを一緒に読むことを推奨します。

potwasher.hatenablog.com

フラウロスを引きたくない

フラウロスを引く確率は?

docs.google.com

厳密に正確な計算にはならないがマリガンを無視してデッキ40枚からカードを引くと仮定する。

初手3枚+先攻4tターンドロー4枚+ドロソ1回分2枚=9枚

フラウロス3枚 54.5%

フラウロス2枚 40.4%

14%、1/7ぐらいフラウロス1枚引く確率が下がる。

フラウロス1枚素引きする確率

考え方を一変し、フラウロスを2回直接召喚できる確率は?

フラウロス2枚の場合は1枚引くと条件を満たさなくなるので同じ確率。

フラウロス3枚の場合は上の確率から丁度1枚引いた場合の確率を引きます。

(一回目の直接召喚は無視)

フラウロスを2回直接召喚できる確率

フラウロス3枚入りの方がロングゲームが遥かに有利になる

Who's the Beatdown?

ヴァンパイア以外OOTのバーンダメージは遅い。

スぺブ:ギガントキマイラ9t

マナリア:アンの大魔法10t

ネクロ:フェリ10t

蝙蝠のコストが7から8になっても他の環境デッキに比べ、フィニッシュターンが早い。そのままゲームが続くと先にヴァンパイア側が勝つ。

古のカードゲームコンセプトに”コントロール対ビートダウン”という考え方がある。

articles.starcitygames.com

この場合のコントロールというのはデッキ単体のアーキタイプではなく、2つのデッキが対戦している時の役割のことである

シャドウバースだとパワーカードから逆算して試合が決まるターンが分かりやすいことが多い。

例:OOTネクロミラー

例えばOOTミッドネクロミラーの先攻側は10tまで先に到達しフェリでOTKすることができるため、10tまでゲームが長引きさえすれば勝てる。

後攻側は先攻側にプレーシャーを掛け盤面を制し、アーカスやギルネリーゼを出すことにリスクをつける必要がある。

そのままゲームが続くと先に先攻側が勝つ。後攻側が”ビートダウン”の役割、先攻側が”コントロール”の役割になる。

蝙蝠ヴァンパイアの役割はコントロール

蝙蝠ヴァンパイアの勝利ターンが環境で早いため、先攻でも後攻でも相手がビートダウンの役割になる

逆に考えると、ヴァンパイア側は無理して攻める必要がない

例1:ヴァンパイア対ネクロマンサー

先攻4t何切る?

一裂き顔、一裂き顔、街、街で普通に勝ちかもしれないが、対戦相手はレディグレイケルベロスやギルネリーゼの回復カードがあるため、今ダメージを稼いでも蝙蝠なしではゲームを決めきれない場合が多い。

今相手側からのプレッシャーはないに等しい。次に3点を除去に回すと、相手の一番強い動きレディ・グレイ+2コスに対しても基本的にフラウロス進化で全処理することができる。先攻5t進化フラウロスに対して5tケルベロスはあまり強くない上、双石の悪魔のアミュレットが6tに割れるので6tにもフラウロスを直接召喚できる可能性が高い。

先攻5t

一裂き盤面でも良かったかも?7/5か5/3進化温存

そして6t

相手の返しが思ったより弱かった(レディ・グレイ進化+ビッグソウルハンター)

先6

取引ドロー

フラウロス、贈り物、街、進化なし

自傷カウント9

もうネクロ側に蝙蝠一枚を止めることはできません。

例2:ヴァンパイア対ウィッチ

対戦相手はマナリアの知識2枚開いて魔弾2枚を抱えています。

先4

双石の悪魔+蒼一択。どんどんハンドを燃やしましょう。

血の取引からフラウロスを直接召喚できてもリターンはありません。無理して攻める必要はありません。

先5

ターン開始時に自傷1回

血の取引を使って邪眼を残した方が良かったかも

5t返し魔弾魔弾ミラ

先攻6t自傷回数1。何切る?

無理して攻めない

先7

純心の歌い手+フラウロス置き

ウィッチは10tまでバーストがないため、時間をかけて蝙蝠を探しながらライフを高く保てていれば勝てます。

ここで注目するべきなのが、自傷するターンと自傷しないターンがはっきり分かれていること。この試合の4、6、7、フラウロスを出していないターンにはほぼ自傷していない。フラウロスを出す5t8tに自傷を集中することによってライフを保つことができる。

蝙蝠ヴァンパイアをコントロール側のデッキだと認識するとフラウロスのメインの役割が盤面のプレッシャーから自傷ターンのダメージを抑えることに変わる。

ロングゲームを前提で考えるとフラウロスを2回直接召喚できなくなるのは致命的になってしまう。

例3:ヴァンパイア対ネクロマンサー

先5何切る?

あちゃ~フラウロス2枚引いちゃった。

先5何切る?

フラウロス ポン置き!

ネクロ側の一番強い動き、ケルベロスを出されたがライフが17で帰って来た???

相手は進化権2つ目を使用???

フラウロスは無視することができないため、自傷しないターンでマナを埋めれたりする。

強いと言い切るのは難しいが明確な役割はある。

OOT環境の蝙蝠ヴァンパイアを辿る

フラウロス2枚から3枚になる背景を辿っていたら長くなってしまったので別のブログに分けました。

パート2:”何故フラウロス3が強いのか”も書きます。

potwasher.hatenablog.com

RAGE2018WINTER 予選(10月6−8日)

RAGE2018Winter予選の蝙蝠ヴァンパイア

新パック(9月27日)から10日のRAGE(10月6‐8日)はまだ環境が固まっていなかった。早期にフラウロスを着地できコスト7の蝙蝠を採用するヴァンパイアと何度も発動できるガルミーユを採用する侮蔑ドラゴンが注目されていた。

RAGE予選のヴァンパイアリストを見ると不思議なことに姦淫の翼が採用されていない。なんと、当時ゲームの不具合のせいで10月1日まで使用制限にされていた。

「姦淫の翼」の使用制限について | News | Shadowverse【シャドウバース | シャドバ】公式サイト | Cygames

【10月1日 14:30 ~ 15:00実施】メンテナンスのお知らせ(10月1日 15:00追記) | News | Shadowverse【シャドウバース | シャドバ】公式サイト | Cygames

環境最初期では姦淫の信者・スコルピオ型の爆発的展開をする蝙蝠ヴァンパイアが流行っていた。姦淫の翼を使った代表的なコンボが6tヴィーラ+翼、7tヴァーナレク+翼だがそれよりも序盤に攻撃的に動き7・8で蝙蝠を連打した方が普通に強かった。スコルピオの人気も翼の採用に対して向かい風になっていたかもしれない。

姦淫の翼の使用制限解除までに既に信者・スコルピオ型が定着していた。

個人的に覚えているRAGE直前の事前評価は”運だけデッキ”。

レート使用率87%は歴代最高レベル?

10月30日バランス調整

6枚ナーフ2枚アッパーがあったにもかかわらす、調整されたデッキがトップで生き残る形に。

蝙蝠が7から8コストになったせいで、よりロングゲームをすることが必要となる。この影響で姦淫の翼の採用枚数が徐々に上がっていく。

スコルピオはRAGE予選後すぐに消えた。進化権を使用しないと後半で自傷カウントも稼げない上にOOT環境は3点除去が多い。

姦淫の信者はカード単体では強いが、ミラーが多いこととロングゲームでの弱さの影響で徐々に数を減らす。

この環境で11月18日にJCG WGP予選が行われる。

18日にはRiowhさんもヴァンパイアのリストを翼3フラ2に持ち替えてます。

そして11月23日にRAGE GRAND FINALSが行われます。

【ファイナリスト デッキリスト公開】RAGE Shadowverse 十禍絶傑 GRAND FINALS | NEWS | RAGE 2018 Winter

この時に”結論構築”と言われている翼2フラ3のへるんさん、カラクリさんが優勝・準優勝。

世界大会環境

11月26日にアディショナルカード追加と再びバランス調整。

ヴァンパイアのアディショナルカードはミルナードとトリルだったので、あまり蝙蝠の構築に影響はなかった。

特に強かった追加カードは

エルフ:森の女王・リザ、水晶の指揮者・リリィ

ウィッチ:オリハルコンゴーレム、マナリアの竜姫・グレア

ドラゴン:伊達政宗、白亜の竜騎士

ネクロマンサー:オシリス

ビショップ:救済の聖獅子、アサルトプリースト

そして世界大会Day 1(BO3)では24人中16人が蝙蝠ヴァンパイアを採用。その内14人は”結論構築”を持ち込み。Day 2(BO5)では8人中8人が蝙蝠ヴァンパイアを採用。6人が”結論構築”、上位4人は全員同じリストに。

WGPの蝙蝠ヴァンパイアは全員フラウロス3枚になっていた。

World Grand Prix 2018 Day1 - シャドラボ~シャドウバース分析~

World Grand Prix 2018 GRAND FINALS - シャドラボ~シャドウバース分析~

 

何故フラウロス3枚採用が強いかはこちらをチェック!

potwasher.hatenablog.com

才能について

ポップサイエンス作家Malcolm Gladwell曰く何かの分野のエキスパートになるには最低でも10000時間の努力が必要。本の例の週20時間だと10年ほど掛かる計算になる。

ハースストーンのオープンベータが始まった2014年から約10年間DCGをやっている。果たしてDCGのエキスパートになっているのだろうか。

Malcolm Gladwellの本のタイトルはOutliers。成功した人(外れ値)を調べて関連性を導き出そうとする。本にも書かれているがこのような人物を参考にする前に意識するべき点が幾つもある。

Zero Sum:

相対的に優れているということはゼロ・サムである。誰もがシャドバでグラマスになることはシステム上可能だが皆ランクマ100位内にランクインすることは不可能。10000時間がエキスパートになる最低条件だとしても皆エキスパート(相対的にある分野で優れている人)になれる訳ではない。

Accumulative Advantage:

早めに稼いだアドバンテージは積み重なっていく。

本では早生まれ、遅生まれのスポーツへの影響について書かれている。例えば日本だと誕生日が同じ年だとしても4月1日以前の場合一年上の学年、2日以降だと下の学年に分配される。最大で一年分成長の差が生まれる。特に一年の差が出やすい小中学校などでレギュラーになりやすくなり、遅生まれの方が比較的経験を多めに積むことになる。プロスポーツ選手になる年齢までにこのアドバンテージは自然になくなるが日本のどのプロスポーツでも4月生まれが比較的に多い。

Survivorship Bias:

"成功した人"、"残った人"のみをサンプルすると大きなバイアスが見られる。カードゲームで言う結果論にも似ている。

似たような経緯があったにもかかわらず同じ結果にならなかった人の方が多い。

そもそも"成功した"と判断することも、何がきっかけでその結果になったかのどちらも主観になる。

自分語り:

自分ではシャドウバースを通して大きな成功体験を得られたと考えている。

プロゲーマー引退後何度も"シャドバ時代"を振り返ることがあったが結論としては

  1. 運が良かった
  2. 自身を客観的に評価することはできない

過去について語る時はどうしても簡略化、美化されてしまう。人に簡単に説明する時に比べ実際には一つ一つの出来事の間のハイライトにならない期間の方が圧倒的に長い。

高校を卒業してから2年間の間、大学のトータル出席日数は1日。"大学を中退してプロゲーマーになった"という流れではニート下積み時代は触れられない。
Tempo Stormに加入した時も海外で一番活躍していたCrumsionと仲が良かった+配信をしていたことから当時の実力以上に評価された。

賞金額が爆上がりした年に世界大会で活躍し、そのまま傲慢にtwitterでプロのダメ出しや理解していない確率論などのアウトプットを続けて界隈内のある程度の売名をすることができた。

 

改善できた部分はいくらでもあるし失敗も多かったが本当に良くやったと思う。考えてみると運もありながら色々な条件をしっかり満たしていた。

ハースストーン経験からカードゲームの基礎を既にある程度身に付けていた。

継続して時間を十分に使えた。

海外のアマチュアチームを通して他プレイヤーとの交流と、配信によるアウトプットを最初からやっていた。コネと配信のお陰でプロになれたし、その後ブログもためになった。

丁度注目されているタイミングでアウトプットを増やし、他の競合プレイヤーとの交流も増やせた。

環境、立ち回り、運に恵まれていたと思う。なんとかその幸運に乗れたような気がする。

才能について

努力の天才にしか会ったことがない。

同じレベルの実力者が何人もいるとする。数週間後、数ヶ月後、数年後の実力の伸び方の差には色々な理由が思い浮かぶが時間が取れなかった人、すぐ辞めた人が最終的にトップになっていることは基本的にない。

Malcolm Gladwellのように逆に"成功者"の過去を辿ると皆"10000時間分の努力"をしているかもしれない。そしてそれ以上に何故成功したかに理由を付けるなら環境などがわかりやすい。

時間をたくさん取れる環境だったかもしれない。精神的に一つのことに集中できる環境だったかもしれない。良いゲーム仲間に恵まれて情報とモチベを得られたかもしれない。Accumulative Advantageのように序盤にきっかけがあるかもしれない。ランクマッチで連勝して気持ち良くなれたお陰でモチベーションが続いたかもしれない。

才能と言いながらも自分でコントロールできる部分が以外と多いかもしれない。

統計は遠目で見た傾向であり、一つの出来事や一人について統計で正解を出すことは難しい。そして逆に一つの出来事や一人から結論を出すことは難しい。

Survivorship Biasとビヨンドに求めること:

シャドウバース初期だと"マスターランクまでがチュートリアル"、その後"グラマス以下はエアプ"と言われて来たがこれはマスターランク、グランドマスターランクまでやり込んでいるプレイヤーしかSNSに書き込むプレイヤーがいなかったらではないだろうか。

シャドウバースのライト層はかなり前のタイミングで脱落していると過程するとタイムスリップになってもシャドウバースを遊び続ける現シャドバプレイヤーがビヨンドに求めることは新規プレイヤーの視点とかなり食い違う部分があるのは確かだ。ヘビーユーザー目線で"ビヨンドに求めること"みたいのはいくらでも思い浮かぶが、ゲームの成功に繋がる大きな方向性は幾つものゲームを流行らせたCygamesを信じることしかない。

カードゲームに最適のMMRシステムとは

Ratings for Shadowverse

シャドウバースのゲーム内ランクマッチはポイント制のシステムを使用している。 勝者は100ポイントほど増え、敗者100はポイントほど減る。 対戦でポイントが高い方のプレイヤーは毎回100ポイントずつ変動するが ポイントが低い方ののプレイヤーは勝った場合 \geq100ポイント増え、負けた場合は  \leq100ポイント減る。特定のポイントトータルまでは連勝をするとポイントが 更に加算される仕組みになっている。

ゲーム内のマッチメイキングではポイントトータルが近いプレイヤー同士がマッチしやすくなっていると 思われるが、このタイプのランクマッチはどうしても勝率に加え対戦数も高く評価するシステムに なってしまう。例えば30勝20敗と55勝45敗は結果同じようなポイントトータルとなる。 ランキング上位のやり込みと勝率は正当に評価されるが純粋なプレイヤースキルの評価 としてのランキングとしては物足りない部分がある。

そこでシャドウバースリリース1周年の前にゲーム攻略サイト Gameboxの運営が 大会の対戦フォーマットである"best of 3"(BO3、2勝先取)のマッチメイキング用サイト Ratings for Shadowverse(以後、Ratings)を作った。 RatingsはGlicko-2(グリコ2レーティング)というチェス用に作られた マッチメイキングレーティング(MMR)システムを利用している。

Ratings for シャドウバースのレーティングとRDについての解説 - Gamebox
archive.org link

グリコレーティングは"イロレーティングを改善するべく発明された"、 そしてグリコ2は"グリコレーティングをさらに改良したもの"とされている。 グリコレーティング Wikipedia

イロよりグリコレーティングが優れていると言われているがこれには同意できない。

グリコレーティングをイロレーティング の上位互換として扱うのではなく、それぞれのアルゴリズムが実際に何をしているのかを 長所と短所を基に評価する必要がある。

イロレーティングシステムについて

勝率期待値の変動(Wikipediaから)

レーティング差 上位者勝利確率 下位者勝利確率
0 50% 50%
50 57% 43%
100 64% 36%
150 70% 30%
200 76% 24%
250 81% 19%
300 85% 15%
350 88% 12%
400 91% 9%
450 93% 7%
500 95% 5%

イロレーティングはこの数式を基に作られている。

 \displaystyle
\texttt{勝率期待値}(A) = \frac{1}{10^{(B - A) / 400} + 1}

要約すると、プレイヤーAがプレイヤーBよりレート値が400高い場合プレイヤーAが11戦中 10戦勝つ(91%)ことを意味する。

プレイヤーAの新しいレーティングは勝利した場合
 A' = A + k \cdot (1 - \texttt{勝率期待値}(A))
負けた場合
 A' = A + k \cdot (0 - \texttt{勝率期待値}(A))
と計算される.

この場合Kは一試合に賭けられるポイントを表すような値である。

グリコレーティングシステムについて

記事"The Glicko System"にて マーク・グリックマンはグリコレーティングを作る動機についてこう述べている。

グリコレーティングが解決するイロレーティングの問題点は各プレイヤーのレーティングの信頼性 に関係している。レート1700のプレイヤー二人がトーナメントで対決し、一人目のプレイヤーが 二人目に勝利したとする。アメリカ合衆国チェス連盟(USCF)が使用するイロレーティングシステムでは 一人目のプレイヤーは16ポイントレーティングが上がり、二人目のプレイヤーは16ポイント レーティングが下がる。
だがここで一人目のプレイヤーは長年トーナメントに参加していなかったのに対し二人目の プレイヤーは毎週トーナメントに参加していたとしよう。この場合一人目のレート1700という値の 信頼性は低いのに比べ二人目のレート1700は遥かに信頼性が高いと考えられる。
直感だと(1)一人目のプレイヤーのレーティングは大きく増加するべき(16ポイント以上)。 もともとレーティングの信頼性が低いプレイヤーがかなりレート1700である信頼性の高い プレイヤーに勝ったとなると一人目のプレイヤーの実力はおそらく1700を大きく上回っている という合理的な証拠となるからだ。
(2)二人目のプレイヤーのレーティングの減少量は16ポイント未満であるべき。 既にレーティングが1700だと正確に測定されているプレイヤーがレーティングの信頼性が 低いプレイヤーに負けたため、二人目のプレイヤーの実力に関する新しい情報はあまり得られなかった と言える。

glicko distribution

イロレーティングもグリコレーティングもプレイヤーの実力がnormal distribution(正規分布) で表せることを基盤にしているが、グリコレーティングでは徐々にプレイヤーのレート変動が下がると 予想する。一つのレーティング値のみで勝利期待値計算をするのではなく、 rating deviationRD(レート変動値)を新たに採用した。

チェスのレートシステムはチェスというゲーム自体が変わらないこと、そしてプレイヤースキルは 基本的に安定していて徐々にしか変化しないことを想定して作られている。

これらの想定をカードゲームと比べよう。

  • 新カード追加や能力調整により、ゲームが定期的に大きく変化する。
  • カード・デッキ変更やプレイスタイル変更によりプレイヤーの勝率は大きく上下する

カードゲームと比べプレイヤースキルが安定しているチェスでは試合数と共にレートが 均衡状態へ近づくと考えられる。

それに比べカードゲームは根本的に一時的な情報アドバンテージを活かすことが求められる。 デッキリストや特定の対面へのストラテジーのブレイクスルーは大きく勝率を揺さぶる。

カードゲームではレートが頻繁にリセットされることに加え、不安定要素とプレイヤースキル変動の 予想の難しさを考慮するとレート対戦の最初の数戦の重要性を上げることに疑問があがる。

Ratings for ShadowverseのRDは機能していない

グリコレーティングの勝利期待値はイロレーティングのものを基に作られているのため、 グリコレーティングからRDを除くとイロレーティングになる。

マーク・グリックマンのグリコ1記事から

この数式がイロレーティングと似ていることを見て取れるだろうか。

直近のレート杯に招待された上位16人のレーティングは1986-2160。

レート2000のプレイヤーの予想勝率を見てみよう。

相手レーティング レート2000の予想勝率
1500 95%
1600 91%
1700 85%
1800 76%
1900 64%
2000 50%

直近のRatings for Shadowverseの結果を見ると違和感を感じるかもしれない。 レートシステムは試合結果を予測できるべきである。 しかしこれらの勝率は、特にレート差300以上の場合安定して達成することは不可能だと断言する。

Ratings for ShadowverseのRDの最低値の120はconfidence interval(信頼区間)95%で  \pm 240レートぐらいを意味する。

プレイヤーAはレート1500 RD120(現在のRatingsのRD最低値)だとする。 レートの95%信頼区間は[1265, 1735]  (1500 \pm 120 \cdot 1.96)。 レート1300の対戦相手に対し勝率は45%から92%と予想される。 この予想から有力な情報は得られなかったと言える。 RD最低値でこれほどのブレが生じるならRDの役割は果たして何なのだろう。

高いRD値の影響でレートの差が広がるとレート差マッチに対して理不尽な勝率が要求される。 レート値が高いプレイヤーに当たることが低いプレイヤーと当たることに比べ圧倒的に有利になっている。

Ratingsの最初の9期では現在より低いRD値を利用していて今より上手く機能していた。

上位16人のレートは1700-1800から徐々にプレイヤー数と共に1800-1900ぐらいに上がった。

相手レーティング レート1800の予想勝率
1400 91%
1500 85%
1600 76%
1700 64%
1800 50%

レート差が大きい対戦ではやはり圧倒的に低いレーティングのプレイヤーが有利だがこの凝縮された レート値の方が現在の環境より現実的であり、予測的である。

RD65は95%信頼区間でレート \pm 130ポイントぐらいを示す。 例のレート1500 RD65の場合95%信頼区間が[1373, 1627]  (1500 \pm 65 \cdot 1.96)、 レート1300の相手に対し期待される勝率は60%-87%ぐらいになる。 現在のシステムが予想する45%-92%よりは明らかに価値のある期待値だと言える。

現在採用されている初期RD値の350はマーク・グリックマンが記事で勧めている値である。 しかし、カードゲームではあまり意味を満たさない。 チェスだと公式戦で対戦したことのないプレイヤーの予想レートが 1500 \pm 700の範囲内に なることは合理的だが、チェスはカードゲームと比べプレイヤー数もプレイヤーレベルの差も大きい。 Ratingsのレート一位を元に考えると 1500 \pm 400の初期RD200以下がいいかもしれない。

初期RD350に加え、"The Glicko System"で マーク・グリックマンはRDの最低値の例としてRD30(!!!!!)も勧めている。チェスのレーティングは リセットされないため、グリコレーティングは徐々にイロレーティングと似たように機能する ようにデザインされている。現在のRatingsではRDが常に高いため、イロレーティングに収束すること はない。

イロレーティングの調整

イロレーティングの勝利期待値
 \texttt{勝利期待値}(A) = 1 / (10^{(B - A) / 400} + 1)
試合後のレーティング変動
 A' = A + k \cdot (\texttt{勝敗結果} - \texttt{勝利期待値}(A))

イロレーティングを基にしたシステムはレート1500をデフォルトにすることが多いが、 この値を変更しても全てのレーティングをそのまま上下させるだけになる。

Kの値の設定に関しては安定性とレーティングの収束速度のバランスになる。 プレイヤーABに対して対称的である必要はないが、その場合ポイントがゼロサムでは なくなる。(RDを使用するグリコレーティングもゼロサムではない)。

国際チェス連盟(FIDE)のK値(Wikipediaから)

K値は一定でない場合レートが低いほど高く設定されていることが多い。

イロレーティングの勝利期待値式も変更することが可能だ。 期待値の最大の問題点として強いプレイヤーに対し5割の勝率をキープすることより レーティングが低いプレイヤーに対し9割の勝率をキープすることが遥かに難しいことが上げられる。

そこでまず思い付くのは勝利期待値の上限と下限を設定することかもしれない。
例:  勝利期待値(A)' = \max(0.2, \min(0.8, \texttt{勝利期待値}(A)))

8割を上限として扱う根拠として日本で最大規模の大会RAGEではDay1を突破するためには 5勝1敗(勝率83%)以上の成績が求められる。
シャドウバースのランクマッチでも一ヶ月間の最高勝率は8割ぐらいだと思われる。

FIDEの公式戦でもレーティングの差が400以上の場合、レーティングの計算上レート差を 400として扱うことがルールになっている。 FIDE.com この上限設定も似た結果になる。

この解決法の最大の問題点はあまり美しくないことかもしれない。

通常:緑、上限・下限あり:紫

代替案として期待値をより段階的に変動させることも可能である。

(Desmos)

数式の400という値を変更することはあまりおすすめしない。 結果としてレート値を横に広げるだけになる。

"Progression System"としてのMMR:Pokemon Showdown

イロレーティングの最大の課題点は新規プレイヤーをキープすることかもしれない。

初期レートの1500を元にしたシステムで最初の数戦を負けたとする。対戦するべきじゃなかった と感じるプレイヤーも多いだろう。イロレーティングは結果的に正規分布のようなレート配分になると 考えると約半数のプレイヤーがこの壁に当たることになる。

ポケモンバトルシミュレーターのPokemon Showdownでは Rating Floorがあり、k値が段階的に設定されている。

https://pokemonshowdown.com/pages/ladderhelp

この場合対戦をしたプレイヤーは対戦していないプレイヤーに比べ絶対に不利にならない。

しかし初期レート1000のプレイヤーが負けた場合レートは下がらないが相手のレートは上がるため レーティングの底を設定すると大量のインフレに繋がる。

加え、レートの底を初期値の1000に設定するとそのままレート1000でスタックするプレイヤーが 多くなる。これに対してのPokemon Showdownの解決案としてレート1000から1100の間の場合 負けより勝利の方がポイントが増えるようにしている。 シャドウバースのランクマッチの連勝ボーナスなども似た考え方からMPが0から増えるように 設定されている。

Skill, Matchmaking, and Ranking Systems Design - GDC 2016

ランキングはスキルを表すと同時に"プログレッション"、プレイヤーの進歩を表すものとしても捉えられる。

シャドウバースのランクマッチでの連勝やポイント差によるポイントボーナスなどのインフレ要素が プレイヤー全員がポイントを増やせる環境を作っているように、このシステムでは理論上誰でも レート1100が達成可能になる。

ランキング上位ではイロレーティングがそのまま使われているので、イロレーティングの長所は 基本的に保たれると考えられるがレート期間最後の成績がより重要になる。

インフレ

インフレは望ましいかの判断は難しい。

マクロ経済学入門によれば多少のインフレはよりお金を使うきっかけとなり、 良い経済効果をもたらすと言える。
未来のお金の価値が今より低いなら今お金を使うことがより有益になる。

インフレ量が激し過ぎる場合は良くないと言い切れるだろう。資産の価値がなくなってしまう。

Pokemon Showdownではレートが1500以上のプレイヤーが対戦しなかった場合毎日少しレートが下がる 仕組み、Rating Decay(レーティングディケイ)が採用されている。
逆に上位帯のレートデフレをインフレで対処しているとも捉えられる。

Pokemon Showdownのような、リセットが頻繁に行われないラダーシステムだとRating Decayは 理にかなっているが、根本的にあまり"楽しい"システムではないため、 定期的にリセットされるラダーシステムでの導入は好ましくないかもしれない。

結論:代案3つの比較

これらのレートシステムはどれも 現在Ratingsで採用されているのグリコ2レーティング
archive.org link
より上手く機能すると思う。

  1. グリコ1レーティング、低いRD値採用
  2. イロレーティング、初期レート1500
  3. Pokemon Showdownのようなイロレーティング

勝利期待値の式を変更することも検討するべきだが、その場合は調整にトライアンドエラーが 必要になる。

グリコ1レーティング、低いRD値採用

初期レート1500、RD200以下を個人的に提案する。この場合95%信頼区間は1100-1900ぐらいになる。
RD350の800-2200よりは現実的なレート範囲だ。

カードゲームのRDはシステムとしてやはりあまり好きになれない。
例えばレート1500から1600まで上げるとする。
その後"不運"によりレートが1500まで戻るとする。
次にレートを1600まで上げることが最初より難しくなっている。

対戦数が多い方が不利になるのはゲームのレートシステムとして望ましくない。

+

  • 現在のRatingsと一番似ている
  • 新規プレイヤーのレートを最も早く収束値へ変動させる

-

  • RDにより対戦数が多いプレイヤーが不利になることがある
  • グリコレーティング特有の"Rating Period"計算などが複雑

イロレーティング、初期レート1500

+

  • 圧倒的に一番シンプルなアプローチ
  • インフレ量が少ない

-

  • レート1500以下になるとやっぱり辛い
    • 反論:"Get good"

Pokemon Showdownのようなイロレーティング

上記の2つの案に比べ細かい調整が必要になる。

+

-

  • インフレ多め
  • Rating Decayはあまり楽しくない
  • 月毎のリセットを考慮してデザインされていない
  • 弱いプレイヤーが本来のレートより高いレートになり"ファーム"される

"Incentive-Compatibility"について:なぜグリコ2レーティングは使わないべきか

意図的に負けることによってグリコ2レーティングのvolatilityを上げる方法が2020年に ポケモンGOで見つかった。

Farming Volatility: How a major flaw in a well-known rating system takes over the GBL leaderboard. - Reddit

このexploitは別のランキングシステムElo-MMR の筆者が競技プログラミングサイトTopcoderでも理論上の再現実験に成功している。

意図的に低いパフォーマンスを出すことにより、一時的なレート減少を簡単に上回るほどの 未来のレート上昇が期待できる場合がある。
強いパフォーマンス、弱いパフォーマンスを交互に演じることによりvolatility値を上昇させる ことが可能だ。ある程度のvolatilityまで達した後本来の実力通りパフォーマンスを出すこと により、本来到達不可能な値までレート増加が見込める。

5.1 Aligned incentives - An Elo-like System for Massive Multiplayer Competitions (2021)

悪用しようとするプレイヤーに対しバンなどの罰を与えることも可能だが、 意図的かどうかの判断が難しいかもしれないことも含め運営への負担が大きい。

RatingsではRDが一定値より低くい場合のみランキングに反映されるが、volatilityRDと 全く別の値であるため、この設定により悪用を防ぐことはできないと考えられる。

グリコ1やイロレーティングとさほど変わらないのに、これほど大きなバグが存在する グリコ2レーティングを採用することには賛成できない。

What is the Best Skill-based MMR System for Card Games?

Ratings for Shadowverse

The ranked ladder on Shadowverse utilizes a point-based system where the winner in a match gains 100 points and the loser loses 100 points. The higher-point player always wins or loses 100 points, but the lower-point player will win  \geq100 points and lose  \leq100 points depending on the difference in points. In addition, win-streaks also reward significant amounts of points up to a specific point-total.

Although the matchmaking system attempts to match players with similar point totals, this type of point-based ladder heavily rewards volume of play in addition to having a higher winrate. You can achieve the same point total by winning  30 / 50 games (60% winrate) or  55 / 100 games (55% winrate) without even taking into account the inflationary aspects of the system. While at the top of the standings the in-game system accurately ranks a combination of playing more matches at a high winrate, there is a lot to be desired as a ranking of skill alone.

In order to create a competitive environment for the tournament format of best-of-threes(BO3), a community member who runs a Shadowverse strategy website Gamebox created a website Ratings for Shadowverse (will be referred to as 'Ratings') based on the popular match-making rating (MMR) system designed for chess called Glicko-2.

Ratings for シャドウバースのレーティングとRDについての解説 - Gamebox
(TL: Explaining Ratings and RD on 'Ratings for Shadowverse')

archive.org link

Glicko-1 is often mentioned as "an improvement on the Elo rating system" and Glicko-2 a further improvement from Glicko-1 - Glicko Rating System (Wikipedia).

I do not agree.

Instead of treating the Glicko rating systems as strict upgrades to the Elo system, it is important to look at what the algorithms actually do in order to evaluate the pros and cons of using each system.

The Elo Rating System

Rating Difference Expected Winrate Higher Exp. Winrate Lower
0 50% 50%
50 57% 43%
100 64% 36%
150 70% 30%
200 76% 24%
250 81% 19%
300 85% 15%
350 88% 12%
400 91% 9%
450 93% 7%
500 95% 5%

The Elo system is based on the formula
 \texttt{expected winrate}(A) = 1 / (10^{(B - A) / 400} + 1).
This roughly translates to: when player A is higher rated than player B by 400 ratings points, player A is expected to win 10 / 11 times (91%).

The new rating of player A is calculated as
 A' = A + k \cdot (1 - \texttt{exp. win}(A))
when A wins and
 A' = A + k \cdot (0 - \texttt{exp. win}(A))
when A loses.

The k-factor k determines the number of rating points that are at stake during a match. This k-factor does not have to be symmetric for player 1 and 2.

The Glicko Rating System

In his article "The Glicko System", Dr. Mark E. Glickman mentions this as motivation for creating his rating system:

The problem with the Elo system that the Glicko system addresses has to do with the reliability of a player’s rating. Suppose two players, both rated 1700, played a tournament game with the first player defeating the second. Under the US Chess Federation’s version of the Elo system, the first player would gain 16 rating points and the second player would lose 16 points.
But suppose that the first player had just returned to tournament play after many years, while the second player plays every weekend.
In this situation, the first player’s rating of 1700 is not a very reliable measure of his strength, while the second player’s rating of 1700 is much more trustworthy.
My intuition tells me that (1) the first player’s rating should increase by a large amount (more than 16 points) because his rating of 1700 is not believable in the first place, and that defeating a player with a fairly precise rating of 1700 is reasonable evidence that his strength is probably much higher than 1700,
and (2) the second player’s rating should decrease by a small amount (less than 16 points) because his rating is already precisely measured to be near 1700, and that he loses to a player whose rating cannot be trusted, so that very little information about his own playing strength has been learned. - "The Glicko System"

glicko distribution Image source

Both the Elo System and Glicko system are based on the underlying assumption that player strength can be represented by a normal distribution. However, the Glicko System estimates that ratings will deviate less over time. Instead of determining the expected win chance using a singular rating value, Glicko ratings add an additional Rating Deviation value, or RD.

Chess rating systems estimate the relative strengths of players with the underlying assumption that chess will not change and that most players will have relatively stable skill levels with incremental changes.

Compare this to how card games work.

  • New sets of cards and balance changes periodically change games in a significant way.
  • Players' winrates can change dramatically by:
    • Changing cards or decks
    • Changing playstyle

In chess it might make sense to assume that rating values will gradually move closer to an equilibrium based on a relatively stable player skill.

Fundamentally, card games are more about exploiting a time-sensitive information advantage over the field. Breakthroughs in decklists or matchup knowledge can have a large impact on winrate.

The inherent high variance in card games and the unpredictability of changes in player strength puts into question adding higher weight to earlier matches.

Ratings for Shadowverse RD is Messed Up

What happens when you eliminate RD from the Glicko algorithm?

You get the Elo rating system.

The Glicko ratings system is based off of the same win-rate expectation distribution as the Elo system.

Image from Dr. Glickman's paper on Glicko-1

This formula should look similar to the one for Elo ratings except with RD values. This is by design.

Ratings for Shadowverse Season 28 Results

The top 16 players who were invited to the most recent Ratings Cup are rated 1986-2160.

The following winrate distribution is predicted for a player rated 2000.

Opp. Rating Exp. Win as 2000
1500 95%
1600 91%
1700 85%
1800 76%
1900 64%
2000 50%

You may notice something unusual from the last season results from Ratings for Shadowverse. Ratings systems are supposed to be predictive about the result of a match.
I contend that these winrates are impossible to achieve with consistency, especially for rating differences greater than 300.

The top competitors ratings varies by a minimum of RD 120 which translates to a 95% confidence interval of about  \pm 240 rating.

Suppose player A has a rating of 1500 and RD 120 (the minimum RD value with current Ratings for Shadowverse). The 95% confidence interval range of ratings is [1265, 1735] ( 1500 \pm 120 \cdot 1.96). Against an opponent rated 1300, the estimated winrate wound be anywhere between 45% and 92%, which is to say it does not give any useful information. What is even the point of the RD system, estimating a player's strength based on a normal distribution, at this point?

What this means for Ratings is that matching against higher-rated players is significantly better than matching against lower-rated players.

This was not always such a large issue. In the first 9 seasons of Ratings, the rating system utilized a significantly lower initial RD setting.

The ratings of the top 16 competitors were around 1700-1800 which gradually inflated with increased player population to around 1800-1900 during this time.

Opp. Rating Exp. Win as 1800
1400 91%
1500 85%
1600 76%
1700 64%
1800 50%

Matches with large rating differences still significantly favor the player with lower rating. However, this condensed rating range is much more realistic and predictive than the "new" RD setting. An RD of 65 suggests a 95% confidence interval of around  \pm 130 rating points. The previous calculation using rating 1500 RD 65 would give a confidence interval of [1373, 1627] ( 1500 \pm 65 \cdot 1.96) and an expected winrate range of 60%-87% against a player rated 1300.

The initial RD value of 350 is the recommended value by Dr. Glickman for Chess. Although an expected rating between  1500 \pm 700 makes sense in the context of chess ratings, chess has a much higher number of players and skill difference between players.
For Ratings, looking at the previous first-place ratings, perhaps an a rating range of  1500 \pm 200 for an initial RD 100 makes more sense.

In The Glicko System Dr. Glickman also suggests a RD floor of 30 (!!!!!) for the rating system. Because Chess ratings do not reset, RD is designed to gradually ease into behaving similarly to the Elo system. The current Ratings system never converges to regular Elo since RD values always remain very high.

Adjusting Elo-like Systems

Recall that
 \texttt{expected winrate}(A) = 1 / (10^{(B - A) / 400} + 1)
and the new rating after a match is
 A' = A + k \cdot (\texttt{result} - \texttt{exp. win}(A))

Elo-like systems often use 1500 as the default rating. Although this can be modified, that only translates all rating values up or down.

K-factors are a tradeoff between variance and slow rates of rating movement. It is important to note that scaling k-factors will lead to Elo becoming a non-zerosum game adding inflation to the system.

FIDE k-factor (from Wikipedia)

The expected winrate equation can also be modified since it is significantly easier to win around 50% of the time against stronger opponents than it is to win 90% of the time against much weaker opponents.

One option might be to set an upper and lower bound to the expectation value.
For example:  E = \max(0.2, \min(0.8, \texttt{exp. win}(A)))

The largest tournament in Japan RAGE requires a 5 wins with  \leq 1 loss (at least 83% winrate) on Day 1 to qualify for Day 2.
Historically, the highest winrates recorded on a long timespan on ladder are also around 80%.

These examples might suggest 80% winrate is around the upper limit of
an achievable winrate in Shadowverse.

FIDE has a rule "A difference in rating of more than 400 points shall be counted for rating purposes as though it were a difference of 400 points" - FIDE. This effectively does a similar thing.

The issue is that this is ugly.

regular elo curve in green, bounded in purple

An alternative is scaling the expectation more gradually.

(shoutout Desmos)

I would not suggest changing the 400 value in the expected winrate equation. All this does is scale the horizontal axis and spread out the ratings.

MMR as a Progression System: the Pokemon Showdown Elo System

One of the biggest cons of Elo-style systems is that they are often unfriendly towards newer competitors.

Suppose you start playing with the default rating of 1500 but lose a few matches. It can end up feeling like it was better not to play those games at all. Now consider that a traditional Elo-like system generally works to create a normal distribution surrounding the initial rating value of 1500. Half of players face this demotivating wall.

The Pokemon battle simulator Pokemon Showdown utilizes a unique variation of the Elo system with a rating floor and scaled k-factor.

https://pokemonshowdown.com/pages/ladderhelp

Players who play matches are never disadvantaged in comparison to a brand new player with the default rating.

However, a rating floor leads to significant amounts of rating inflation. When a player with 1000 rating loses, they do not lose any rating, while their opponent gains rating.

Another issue is that the rating floor makes players stuck at 1000 rating. Pokemon Showdown's solution to this problem is to make wins worth more than losses between 1000 and 1100 rating.

www.youtube.com

Ranking Systems are simultaneoulsy progression systems in addition to ranking skill.

Just like the inflationary mechanisms of the ranked ladder on Shadowverse leads to a system where all players can experience progression, all players can theoretically make it to 1100 rating.

On the top end of the rankings, the Pokemon Showdown system still uses the Elo system, meaning that we retain many of the desirable traits of the system.

Inflation

Is inflation good or bad?

Introductory Macroeconomics might suggest that small amounts of inflation encourages spending and is good for the economy. If your money is worth less in the future, you are incentivized to spend more money now.

Large amounts of inflation is probably "bad". It makes money worthless.

Pokemon Showdown uses a Rating Decay system to curb its inflation. (Or rather, it uses rating inflation on the bottom end to curb rating deflation)

Although this system works for a more-permanent ladder format with very few ranking resets, Rating Decay is fundamentally not a very "fun" and probably should not be included in a periodically-resetting ladder system.

Conclusion: Comparing 3 Good Options

These are probably all better than what Ratings for Shadowverse uses now.

  1. Glicko-1 with a lower RD value
  2. Elo system with initial rating of 1500
  3. Pokemon Showdown-style Elo System

It is also worth considering manipulating the expected winrate formula, although it would require trial-and-error.

Glicko-1 with a lower RD value

I would personally propose an initial rating of 1500 with RD less than 200.

This makes the initial 95% confidence interval around 1100-1900 rating, which is a more reasonable expected rating range.

But I still don't like RD very much for card game ranking systems.

Suppose you are rated 1500 then are able to climb to 1600 rating.
After a few "unlucky" games you drop back down to 1500.
It is now more difficult to get to 1600 than when you started.

This sucks.

RD in this setting can punish playing more, which is not what you want from a ranking system.

Pros:

  • Similar to current system
  • Adjusts newer players more quickly to higher/lower rating

Cons:

  • Rating Period calculations and RD are added complexity
  • RD can punish players who play more

Elo system with initial rating of 1500

Pros:

  • By far the simplest approach
  • Low rating inflation

Cons:

  • Dropping below 1500 rating still sucks (Counterpoint: Get good)

Pokemon Showdown-style Elo System

This would require the most adjustment to get right.

Pros:

  • System inherently encourages playing more games
  • The majority of players get to experience "progression"
  • Still a fair system at the top of the rankings like other Elo-style systems

Cons:

  • High rating inflation
    • All player ratings gradually trend upwards
  • Rating Decay system feels bad
  • Not designed around monthly ranking season resets
  • Weaker players are over-rated and "farmed"

Why not Glicko-2? Critical Flaw in Glicko-2 - Lack of "incentive-compatibility"

In 2020, Pokemon Go players found an exploit that involved losing matches intentionally in order to increase the volatility metric in Glicko-2.

Farming Volatility: How a major flaw in a well-known rating system takes over the GBL leaderboard. - Reddit

These results have been theoretically replicated on competitive programming platform Topcoder by the creators of another ranking system, Elo-MMR.

By intentionally performing at a weaker level, a player can amplify future increases to an extent that more than compensates for the immediate hit to their rating. A player may even “farm” volatility by alternating between very strong and very weak performances. After acquiring a sufficiently high volatility score, the strategic player exerts their honest maximum performance over a series of contests. The amplification eventually results in a rating that exceeds what would have been obtained via honest play. This type of exploit was discovered in both TopCoder competitions and the Pokemon Go video game.

5.1 Aligned incentives - An Elo-like System for Massive Multiplayer Competitions (2021)

Even though it is possible to attempt to punish/ban players who try to exploit this system, it could be hard to determine and puts a large amount of stress on the moderators.

Ratings only lists players with a low enough RD value on their leaderboard. However, since the volatility metric is completely separate from RD and grows at a larger rate in this circumstance, it does not mitigate issues with this exploit.

I am personally uncomfortable utilizing a system with this large of a flaw when it would not make a large difference to just use Glicko-1 or Elo.