GDC Europeでの講演で、『ウィッチャー3』のシニアゲームプレイデザイナー、マシュー・スタインケは、発売の数か月前にゲームの中核システムの一つがほとんど存在していなかったことを明かした。経済、クラフト、インベントリは「断片的で不完全」であり、「締め切りまでにすべてを成し遂げる時間はプロジェクトに残っていなかった」という状態だった。

スタインケは「支出のサイクル」の状態図から始めた。戦利品がより良い装備の資金となり、より良い装備がより厳しい戦いとより多くの戦利品を解き放つ。薬草、ガラクタ、書物の価格を手作業で推測する方法はすぐに破綻したため、彼は各アイテムの戦闘属性を総合評価に採点する式を構築し、アイテムを九つの一般カテゴリに整理し、多項式最小二乗法を用いて各カテゴリの品質に対する価格の推移をグラフ化した。

最初の曲線は、ゲームの地に足のついた雰囲気には合わなかった。低い側では、わずかな品質の向上が価格を急騰させた。彼は曲線を調整し直し、終盤までゆっくりと成長するようにしたため、最終的なレリックの剣は本物の財産のように感じられた。そして実用的な工夫が続いた。係数を事前に計算してテーブルに保存することで、価格を実行時に手続き的に生成できるようにしたのだ。曲線に正確に適合する無限の点の集合であり、ハードコードされた値が取り除かれ、バグの一クラス全体が排除された。

各アイテムカテゴリの価格の推移を多項式最小二乗法でグラフ化し、その係数をテーブルに保存して、実行時に価格が自ら生成されるようにした。

広大なオープンワールド全体で数千のアイテムの価格を手作業で設定する時間は残っていなかった。

推測による価格は、アイテムカテゴリ間の関係を支離滅裂なものにした。

曲線は設計意図を直接表現した。序盤の乏しさ、終盤の富である。

実行時の生成により、新規またはMODで追加されたアイテムも一貫した価格が付けられた。

システムを期限内に手作業で調整できないときは、それを曲線としてモデル化し、係数を出荷せよ。数学が無限のコンテンツを生成し、バグの原因となるハードコードされた値を削除する。

『ウィッチャー3』は2015年5月に、曲線駆動の経済がクラフト、インベントリ、戦利品システムを結びつけた状態で出荷され、スタインケのGDC Europeでの講演は、締め切りへの焦りがどのようにこの手法を生み出したかを伝える公開の記録となった。

出典をたどる

出典

  1. How The Witcher 3's economy was saved by polynomial least squares Ars Technica · arstechnica.com ·