変数が2つでは、ひとつ多すぎる

2026-09-16
Why players optimize one thing at a time, and what that means for game design
出典: Two Variables Is One Too Many
スリングショット系のゲームは、何かを狙って飛ばし、的に当てる遊びだ。プレイヤーは「角度」と「速度」、つまり引っ張る強さという2つの変数を使って、ショットを最適化しなければならない。
では、たいていの人はこの課題にどう取り組むのか。99パーセントの人は、まずフルパワーで撃ち、方向だけを調整しようとする。何度か試行錯誤したあとでようやくやり方を切り替え、角度を固定して、今度は強さを調整しはじめる。
誰かのプレイを見てみるといい。自分のプレイでもいい。あまりにも一貫して起こるので、好みというより反射のように見えてくる。
人はなぜこう振る舞うのか。そして、それがなぜ重要なのか。
これは最適化問題だ
人がこう振る舞うのは、これが最適化問題だからだ。より正確には、ショットの強さと鳥を放つ角度という2つの最適値を探す、2変数の最適化問題である。人間は既知の宇宙でも屈指の最適化エンジン、つまり脳を持っている。それなのに、2変数の最適化問題はひどく苦手だ。
人間が愚かだからでも、脳が力不足だからでもない。この課題が、数学的に本当に難しいからだ。多変数最適化にはまるごとひとつの研究分野があり、満足のいく解決にはほど遠い。最適化手法の多くは、問題を単純化することで機能する。次元を減らす、つまり一度に動かす変数の数を減らすのだ。
もっとも単純な手法のひとつは、Angry Birdsのプレイヤーの大半とまったく同じやり方をとる。一方の変数を固定し、もう一方だけを最適化する。次に入れ替えて、2つ目の変数を新しく見つけた最良値で固定し、1つ目を最適化する。そしてまた入れ替え、改善しなくなるまで続ける。
この手法には名前がある。座標降下法(coordinate descent)といい、これを実装してお金をもらっている人がいるくらい、れっきとした技法だ。
私はこれが本当に愉快だと思う。座標降下法をプレイヤーに教える人はいない。チュートリアルでも説明されない。それなのに、その言葉を聞いたこともない人がスリングショットとブタを渡されると、4回ほど試すうちに、難しい数学の問題に対する標準的なアプローチのひとつを自力で導き出してしまう。
プレイヤーは計算をしているわけではない。もっと優れたことをしている。動く 部分が2つある問題は手に負えないが、1つなら何とかなる。そのことを、言葉にできないまま見抜いているのだ。
なぜまずフルパワーなのか
さて、座標降下法からわかるのは、プレイヤーが変数をひとつ固定するということだけだ。どちらを固定するかまではわからない。
そして固定されるのは、決まって強さだ。中くらいの角度に固定して、ちょうどいい強さを探すところから始める人はほとんどいない。みんなスリングショットをめいっぱい引き、うまくいくまで鳥を上下に振る。
その理由は、強さには明白な基準値があり、角度にはないからだと思う。
フルパワーは、自然で目立つ、紛れようのない極値だ。スライダーの端にある。何も決めなくてもたどり着けるし、たどり着いたと確信できる。では、角度にとって同じような基準値は何だろうか。45度? 平らな地面で最大射程を得るための教科書的な答えではあるが、砲兵将校でもない限り、それを直感として持っている人はいない。
だからプレイヤーは、タダで手に入る自明な値を持つ変数を固定し、そうでないほうを探索する。
これはスリングショットよりずっと広く当てはまるので、ルールとして書いておく価値がある。複数の要素を同時に調整するよう求められると、プレイヤーは自明な極値を持つものを固定し、残りを探索する。スライダーが3つあって、そのうちひとつに自然な最大値があるなら、それは実質2スライダーのデザインであり、3つ目は手放したも同然だ。
もうひとつ理由がある。最大パワーでは弾道がもっとも平らになり、平らな弾道は考えやすい。軌道が直線に近くなるので、狙う ことが「指さす」ことに近くなる。プレイヤーは単に変数を固定しているのではない。残りの問題ができるだけ線形に近づく値で固定しているのだ。これもまた誰にも教わっていないのに、みんなそうしている。
誤差のシグナルが大きな役割を果たしている
ここが、この話の中でもっとも過小評価されていて、デザインにとってもっとも重要な部分だと思う。
最適化が可能なのは、失敗から何かがわかるときだけだ。
Angry Birdsで外しても、「不正解」というメッセージは出ない。鳥がどこに落ちたかが見える。手前。奥。左。建物を飛び越えて、その向こうの空き地へ。これは向きを持った豊かな誤差情報で、外れたことだけでなく、どちらの方向に、おおよそどれくらい外れたかまで教えてくれる。
それがこのゲームのすべてだ。これを取り除けば、どれだけ直感的に座標降下法を使っても、プレイヤーは救われない。向かうべき方向がないからだ。数学では勾配のない場合を「微分フリー最適化」と呼び、勾配がある場合よりはるかに難しい。
だから2変数の問題は、スリングショットゲームでは許容できても、たとえばステルスゲームでは耐えがたいものになる。失敗の合図が警報だけで、6つの判断のどれが原因だったのかプレイヤーにはわからないからだ。変数の数は同じ。なのに難しさはまったく違う。その差は、すべてフィードバックの質から来ている。
以前、プレイヤーが失敗の原因をどう捉えるか、そして負けが誰のせいなのかわからないとデザインがどれほど損なわれるかについて書いたことがある。これはその問題の最適化版だ。誤差の原因を突き止められないプレイヤーは上達できない。そして上達できないプレイヤーは、スキルゲームを遊んでいるのではなく、ただレバーを引いているだけだ。
デザインのルール: プレイヤーに何かを調整させるなら、失敗したという事実だけでなく、誤差の方向を見せること。
それでも何度も試す必要があるのはなぜか
座標降下法が機能し、フィードバックも良好なら、なぜ8回も試す必要があるのか。
2つの変数が結合しているからだ。
座標降下法は、変数が互いに独立しているときには非常にうまくいく。1つ目を最適化し、2つ目を最適化すれば終わりで、見直す必要はない。しかし変数同士が影響し合うと、性能はひどく落ちる。一方を改善すると、もう一方の最適値が変わってしまうからだ。強さを固定して最良の角度を見つけ、そこで強さを下げる。すると、苦労して見つけた角度がまた合わなくなる。
スリングショットでは、射程は角度と速度の両方に、しかも掛け合わせのような形で依存するので、両者は完全に絡み合っている。だからプレイヤーはジグザグに進む。角度を調整して行き過ぎる。強さを調整して届かない。また角度を調整する。回を重ねるごとに近づいていき、その収束はイライラするほど遅いが、前進を感じられる程度には速い。偶然ではなく、これは満足のいくパズルのかなり的確な説明にもなっている。
ここからひとつのダイヤルが得られる。独立した変数は、システムをすっきりと学びやすく感じさせる。結合した変数は、システムを奥深く難しく感じさせる。どちらが正しいということはない。ただ、プレイヤーが「面倒でわかりにく い」と不満を言うなら、結合させる必要のないものを結合させていないか確認するといい。「浅い」と言われるなら、すべてが切り離せてしまっていないか確認するといい。
3次元を加えると
次元が増えれば、複雑さは増すばかりだ。
3D砲撃ゲームの成績が振るわないのはこのためだ。Wormsは2003年に3D化したが、シリーズは結局2Dに戻り、そのまま2Dにとどまった。Scorched Earthの後継作も同じ道をたどった。3D版の出来が悪いわけではない。より難しい問題を解かされているのだ。
3Dのスリングショットでは、プレイヤーは2つの角度と速度を最適化しなければならない。変数は3つ。問題は、単に3が2より多いことではない。プレイヤーのいつもの手が使えなくなることだ。これまでどおり強さを最大に固定することはできる。だがそうすると、2つの角度を同時に最適化することになり、振り出しに戻ってしまう。しかも方位角にも仰角にも、パワースライダーのような「タダで手に入る極値」はない。
つまりプレイヤーは、本能的に避けてきた状況にいきなり放り込まれ、そこから抜け出す道具も与えられない。
さらに悪いことに、誤差のシグナルも劣化する。2Dでは外れた弾を横から見られるので、誤差の方向が読み取れる。3Dでは、弾の後ろにあるカメラから奥行きを判断するのが本当に難しく、「これくらい外れた」が格段に読みにくくなる。問題が難しくなるのと同じ一手で、フィードバックまで悪くなるのだ。
これは二重のペナルティであり、ひとつのジャンルを沈めるには十分だ。
ゲームはどうズルをしているか
この分野で成功しているゲームはどれも、 プレイヤーに代わって次元を減らす工夫をしている。意識して見れば、そうした仕掛けはあちこちにある。
変数を離散化する。 いちばんわかりやすい例はゴルフゲームだ。ゴルフのショットを狙うのは本来3変数の問題だが、ゴルフゲームはそのうちひとつを短いリストに変えて解決している。クラブを選ばせるのだ。クラブ選択は実質的には強さの選択だが、連続的なスライダーではなく14個の選択肢として表現されるので、無限の探索空間がメニューに変わる。残りの連続変数は、スイングメーターでひとつずつ処理される。
入力を順番に行わせる。 スイングメーター、ビリヤードのキュー、溜めて放す操作。これらはどれも、ひとつの変数を確定させてからでないと次の変数を操作できないようにしている。プレイヤーが座標降下法を発明してくれるのを期待するのではなく、デザインの側で押しつけているのだ。
結果をプレビューする。 軌道の予測線があれば、試行錯誤が直接操作に変わる。これは非常に強力で、多くのモバイルパズルゲームが点線を表示するのはこのためだ。実質的に、プレイヤーに勾配を手渡している。
探索の履歴を残す。 Angry Birdsは、これまでのショットの軌跡を画面に残す。これは飾りではない。ゲームがプレイヤーの最適化の履歴を保存し、頭の中で覚えておかなくて済むようにしているのだ。このジャンルでもっとも賢い、小さなデザイン判断のひとつだと思う。
どれも同じ一手だ。プレイヤーが解けない多変数の問題を取り上げ、解ける1変数の問題の連続に置き換えて手渡している。
これ は本当はスリングショットの話ではない
ここまでの話は、連続的で互いに影響し合う選択を同時にいくつも迫られるシステムなら、どれにでも当てはまる。つまり、ほとんどの成長システム、ほとんどのビルドシステム、ほとんどの経済システムだ。
5つのステータスを割り振らせても、プレイヤーは全体を検討したりしない。自分が理解できるひとつを選んで伸ばし、残りは初期値のあたりに放っておく。互いに影響し合う6つのスロットを持つ装備構成を渡せば、1スロットずつ最適化し、最初のスロットを見直すことはない。4種類の資源と3つの変換レートがある経済を渡せば、信頼できるループをひとつ見つけて、それを延々と回し続ける。
これは怠慢ではない。座標降下法であり、曲面の全体を見渡せない生き物にとっては正しい戦略なのだ。
コミュニティの振る舞いも、これでいくらか説明がつく。公開されたビルドガイド、ティアリスト、最適なローテーションを載せたWikiページ。これらは、個々のプレイヤーが自力では解けない多変数最適化問題に対する、あらかじめ計算された解答だ。意味のある変数がおよそ2つを超えた途端にガイドが現れるのはそのためだ。支配的なメタが生まれるのも、プレイヤーが退屈な人たちだからではない。1人で解くには難しすぎる問題を出してしまい、誰かがみんなのために一度解いた、というしるしなのだ。
プレイヤーに答えを持ち込ませるのではなく、ビルドの空間を実際に探索してほしいなら、効くのはコンテンツを増やすことではない。結合した変数を減らすか、変数ごとのフィードバックを良くするか、あるいはその両方だ。
停滞(プラトー)
最後にもうひとつ。レビューではなく、リテンションの数字に表れる帰結だ。
座標降下法は行き詰まる。2つのことを同時に変えればもっと良い解があるとしても、どれかひとつを変えるだけでは改善しない地点に収束してしまう。数学ではこれを局所最小値と呼ぶ。ゲームでは、うまく機能するビルドを見つけ、どれかひとつを調整しても改善できず、もう学ぶことはないと結論づけたプレイヤーの姿になる。
彼らは学び終えたわけではない。自分が使える戦略を使い切っただけだ。
この状態のプレイヤーは文句を言わない。「最適化の地形によって局所最適解に閉じ込められた」とレビューに書いたりはしない。ただ少し退屈して、それからやめていく。
そこから抜け出させたいなら、「一度にひとつずつ」というやり方を、デザインの側で壊してやる必要がある。リスペック、強制的な制約、固定された変数を封じる期間限定モード、別のステータスと組み合わせて初めて意味を持つ新アイテム。プレイヤーに2つのことを同時に変えさせ、何が起こるかを見せるものなら何でもいい。
まとめ
プレイヤーを「選択肢を評価し、最善のものを選ぶ主体」として扱うゲームデザインがある。居心地のいいモデルだが、間違っている。
プレイヤーは、あなたが用意した選択肢の空間を評価してなどいない。見えない曲面の上で、安上がりな探索をしているだけだ。ほんの数個のことしか覚えていられない存在に使える唯一の戦略、つまり「ほかはすべて止めておき、ひとつだけ動かして、何が起こるかを見て、良くなったら残す」というやり方で。
この事実ひとつで、実に多くのことが説明できる。なぜみんなスリングショットをめいっぱい引くのか。なぜ3D砲撃ゲームは、言葉にしにくい形で「何か違う」と感じられるのか。ゴルフの14本のクラブ、点線の軌道、以前に飛ばした鳥の残像。ビルドガイド、支配的なメタ、そして1変数ずつの思考で行けるところまで最適化しきったプレイヤーに訪れる、あの独特の退屈。
私たちは種として、多変数最適化に向いていない。私たちが非常に得意なのは、一度にひとつのことだけやれば済む方法を見つけることだ。
そういうプレイヤーのためにデザインしよう。あなたのゲームを買ってくれたのは、そのプレイヤーなのだから。