マリオがパレートに出会う:マリオカートのビルドにおける多目的最適化
(mayerowitz.io)- Mario Kart 8 のビルドは、ドライバー、ボディ、タイヤ、グライダーの組み合わせによって性能が変わるため、多くの選択肢の中から最適なビルドを選ぶのは難しい
- 速度だけを見ると Bowser や Wario が良さそうに見えるが、実際のレースでの選択は速度と加速をあわせて見る多目的最適化に近い
- Koopa のように、同じ加速でより遅い、または同じ速度で加速が低い選択肢は、支配された選択肢として除外できる
- 残った選択肢は Pareto front を形成するが、その中で何が最善かはプレイスタイルと統計値の重みによって変わる
- 好みが不確実なとき、Pareto front はただ一つの正解を与えるというより、明らかに劣る組み合わせを取り除いて試行範囲を狭めてくれる
Mario Kart 8 のビルドを Pareto front で絞り込む
- Mario Kart 8 のビルドは、ドライバー、ボディ、タイヤ、グライダーの4要素で構成され、それぞれの要素が速度や加速といった性能統計を持つ
- 要素ごとに数十の選択肢があり、一部は統計値が同じでスタイルだけが異なるものにすぎないが、重複を除いても数千通りの組み合わせが残る
- 単一の統計値だけを見れば、選択は単純になる
- たとえば速度だけを基準にドライバーを並べると、Bowser や Wario が自然な選択に見える
- 速度と加速をあわせて見ると、各選択肢には長所と短所が分かれ、単純な順位だけで最適を決めるのは難しくなる
- ある選択肢が、考慮するすべての統計値で別の選択肢と同等またはそれより悪い場合、それは支配された選択肢になる
- Koopa は例では Cat Peach より同じ加速で速度が低く、Toadette より同じ速度で加速が低い
- このような選択肢は、勝利を目指す場合には候補から外せる
- 支配されていない効率的な選択肢が Pareto front、または Pareto frontier を形成する
- Pareto 効率性は客観的に劣る選択肢をふるい落とす基準だが、frontier 上のすべての選択肢が同じように優れているわけではない
- バランスの取れた速度と加速を求めるなら、frontier の極端な位置にあるドライバーを避けることもできる
- 最終的な選択は、プレイスタイル、腕前、どの統計値をより重視するかによって変わる
Mario Kart の外でも繰り返されるトレードオフ
- 同じ構造のトレードオフはゲームの外でもよく現れる
- 安くておいしい食事
- 報酬が高く、楽で、満足度の高い仕事
- 低リスクで高リターンのポートフォリオ
- 柔軟で強く、生産しやすい素材
- 効率性を維持する公平な課税
- 高速でコスト効率の高い高品質 LLM
- 各次元に与える正確な重み、つまり効用関数が分かっていれば、複数の次元を一つの値にまとめ、単一目的最適化に変えられる
- 効用関数が分かっていない、または不確実な場合、Pareto front は明らかに非効率な選択肢を除去するのに役立つ
- Pareto front は最初からただ一つの最善の選択肢を示すものではなく、残った効率的な選択肢を自分で試し、自分に合うものを選ぶ必要がある
単純化された仮定とデータ出典
- 実際のゲーム内部の計算とは異なる単純化された仮定が含まれている
- 統計値はゲーム内の派生統計へ変換され、基本統計と常に線形関係にあるわけではない
- 装備にはドライバーを除き4つの速度統計と4つのハンドリング統計があるが、記事ではこれらを単純平均している
- 効用関数の具体的な形は隠されており、実際の選択では大きな役割を果たしうる
- データは Mario Kart 8 Deluxe in-game statistics と Mario Kart and the Pareto Frontier を参考にしている
1件のコメント
Hacker Newsのコメント
この可視化/記事は、最近のゲームデザインで個人的に嫌いな 選択肢のための選択肢 という問題をよく示している
デザイナーは「70万通りを超えるビルド!」のような文句に過剰な価値を置く罠にはまりがちなように思う。こうした組み合わせ爆発の負担をプレイヤーに押しつけていて、その選択が中核となるゲーム体験を大きく強化しないのなら、ただ時間を浪費させているだけだ。特に熟練プレイヤーが選択空間の大半を安全に削れるならなおさらで、どうせインターネットがあるのだから誰かが計算してしまう。なぜ競技要素を 凸最適化問題 の裏に隠すのか分からないし、面白さのためだとは思えない
FPSの装備構成もこの流れの一例だ。銃1丁にもサイト、銃身、下部アタッチメント、マガジン、弾薬などのトレードオフがあり、その前にすでに兵科/武器を選ばなければならない。FPSの核心が戦術的な位置取りとエイムなら、こうしたオプションはプレイ時間を少し余計に吸い取るための安っぽい仕掛けに感じられる。HaloやBattlefieldのようなフランチャイズもこの罠にはまり、評判を落とした
Counter-Strikeのラウンド経済のように、コアプレイに上乗せされる選択は依然として可能だ。プレイヤーに与える選択がすべてメニュー内でしか起きないなら、それは危険信号と見るべきだ。ゲームデザイン業界は統計/組み合わせ論より プレイと物語 をもっと重視すべきだ
一番重要なのは、他人にプレイスタイルを押しつけないことだ。明示的に聞かれていない限り「Xが一番強いからそれを選ぶべきだ」とは言わず、それぞれが自分のやり方で遊べばいい
おおむね、こういうやり方が安っぽい仕掛けで、しかも多すぎるという点には同意する。それでも、コンテンツのアンロックのようにプレイヤーに「やること」を与える意味はある。「自分がまだこのゲームを続けている理由」という感覚を体験に付け加えてはくれる
一緒に遊ぶとみんなの楽しさを吸い取るような人がいることは、誰でも知っている。ゲームを売る側の立場からしても、これは悪いだけでなく愚かな設計だ
ただ、圧倒的な選択肢のおかげで、一般プレイヤーが頼れる専門家やビルドメーカーの層が生まれる。ゲーム自体がそれを探るためのツール、たとえばゲーム内ビルドガイドシステムをもっと提供してくれるといいのだが
パーティーの最中でも、キャラクターごとの異なる特性はゲームをよりダイナミックにし、結局はもっと面白くしてくれる。問題は、誰かが一週間ずっとすべての数値をExcelに入れて、全員に最適勝ちする方法を知ったうえで来る場合だ。でも、どこで線を引くべきなのだろう? 1つのコースを一週間ずっと練習したのより不公平なのか?
ゲームが常に公平である必要はないという点を受け入れるべきだ。スポーツも同じだ。大会経験のある人とテニスをすれば、カジュアルプレイヤーはプロにずっと悪いラケットを渡しても、まともに1球返すのも難しい
カジュアルとプロが同じ条件で競えるようにバランスを取るのは非常に難しく、下手をするとゲームをサイコロ運だけに左右される極端に単純なものにしてしまう。少なくとも、これが Excelゲーム なのか 反射神経ゲーム なのかを明確に示すべきで、それだけでも少しは公平になる
赤い小さいタイヤが最強なのはずっと知っていた。残念ながらこの分析は、自分にとって最も重要な スタイル とZeldaへの愛を見落としている。なので個人的には全部無視することにする
公平さを保つために、これからもKoopaで行くつもりだ :)
本当に印象的なプレゼンテーションだった。パレート効率/パレートフロンティア は前から知っていたが、もう絶対に忘れない気がするし、毎回Mario Kartと哀れに支配されるKoopaを思い出しそうだ
これを目標にして設計するのは不可能で、しばしばわざとらしくて苛立たしいものになる。だが今回のように、「ああ、スクロールを奪ってくれていい」と思えるほど驚かされることもある
デザインについては反対だ。自分にとってこのプレゼンテーションは、情報を探すために動画を見ているように テンポが遅すぎて 終始もどかしかった。その意味では、元のノートブック形式のほうがずっと良かった
各セクション内のレイアウトは美しいが、アニメーションとスクロール連動レイアウトは静的な図表の束より読みにくかった
内容は素晴らしく、キャラクターとカートの違いがどう現れるのかを見るのは興味深かった
実際に理解しやすくしたり良くしたりしているわけではなく、ただの デザインのための過剰デザイン のように感じる
いい文章だ。結果として得られたパレート前線は、ゲームデザインがどれほど難しいかをよく示している。可能な組み合わせは数百万通りあっても、実際の競技環境で使われる組み合わせはごく一部しかない
各組み合わせの競技上の有用性と、ゲームにもたらす楽しさとのバランスにも、メタなパレート前線があるはずだ
十分に複雑なゲームでは、すべてのビルドが何らかの特定のコスト関数を最適化しているため、パレート前線上にあると見なせる
「低リスク高リターンのポートフォリオ? [...] もちろん正確な重みをすでに知っているなら」と言っていたが、この場合は問題の構造のおかげで1次元最適化に落とし込める
ポートフォリオ選択で最適化するのは単一投資の収益ではなく、生涯にわたる投資収益だ。複利のおかげで、これはリスクとリターンの関数になる。だから、何のトレードオフもなしに最適配分を見つけられる: https://two-wrongs.com/the-misunderstood-kelly-criterion.htm...
Kelly基準は、破産リスクがかなり高い非常に収益性の高い賭けを禁じる。資産が0になると将来の複利機会を失うからだ。だが、若くてポートフォリオが収入に比べて小さいなら、これは過度に保守的だ
記事でも、将来給与の割引現在価値は現在の資産の一部だとしており、それを示唆している。これは正しいし、若ければ桁違いに最も重要な変数でもある。興味深いことに、著者はこれを理解していながら気にしていないようだ
これをデザインツールとして使うことを考えるとわくわくする。面白くて実用的なビルドのパレート前線がより広いゲームを設計する際に役立ちそうだ
タイトルが示唆していたより、ずっと面白い記事だった。よくできている
本当に素晴らしい分析と可視化だ。ただ、Mario Kart 8 + 200ccには興味深い変数がある。ほとんどのプレイヤーは、ある水準以上の速度を望まない。速すぎて操作が難しくなるからだ
だから、絶対的な速度ステータスを最大化するより、自分に合った最適な速度ステータスとの差を最小化したい場合がある
最高速は低くても、減速する必要がないほうが良いことは多い
加速が重要なのは、被弾したり衝突したりしたときに、しかもそれは「もし」ではなく「いつ」の問題なのだが、すぐに追いつかなければならないからだ
今まで見た可視化の中で、心から最も印象的だ。著者は何のツールで作ったのだろう?
Svelteにはかなり良い組み込みのスクロールアニメーション対応がある: https://svelte.dev/repl/051cd352ce284d15b55c91c8b30fa32f?ver...