『The Sims』は小さなコンピューター人間でいっぱいの デジタルドールハウスだ プレイヤーの仕事は 彼らを生かし、幸せにし 彼らの家をいっそう高価な装飾品で 飾っていくことだ だが家族全員の欲求や願望を 細かく管理するのはかなり面倒だ それで Maxis の開発者たちはすぐに シムにある程度の自律性が必要だと気づいた 自由意志、プレイヤーが直接命令を出さなくなったら 自分で考える能力だ これは実際…かなり複雑な作業だ! シムは本物の人間のような 印象を与える必要がある 周りにどんな家を建てても 周りがどんな社会的状況でも—— それに適応できる必要がある そして重要なのは、プレイヤーが傍観して 何もできないほど賢くしないことだ そんなことができるビデオゲーム AI は どうやったら作れるのか? それをこの動画で調べたいと思う Maxis がこの4作品で自律性を設計した 賢いやり方を分解する ただし焦点を当てるのは初代のゲームだし 正直なところ最高傑作は『The Sims 3』だ あまり技術的な話にはしないつもりだが 詳しく知りたいなら概要欄の膨大な資料を読んでくれ それはさておき、僕はマーク・ブラウン Game Maker's Toolkit へようこそ 今回は『The Sims』の思考についてだ 『The Sims』の意思決定は全て 一連の精神的、身体的な欲求に基づいて行われる Maxis はこれを「動機」と呼ぶ 『The Sims 1』では 空腹、衛生、娯楽、体力、膀胱—— 社交、安らぎ そして部屋、または片付けだ これらはマイナス 100 からプラス 100 まであり 全てを組み合わせると シムの総合的な幸福度が分かる このメーターは常に減り続ける 各メーターはわずかに異なる速度で減少し シムがそれに関連する行動をするとより速く減る 例えばシムの食事中 膀胱メーターは速く減る Maxis は人間の標準的な生活に合うように これらの速度を綿密に調整した 8時間寝て 1日3回食事をするなどだ そのため、プレイヤーがシムに命令しない場合 シム自身が何をするか決めることになる その決定はこうした動機を満たしたいという 欲求によって行われる 欲求を満たす方法はシムが知っていると 思うかもしれない トイレが膀胱を解決し 冷蔵庫やコンロが空腹を解決し 本、テレビ、ピンボール台が 娯楽を解決するだろう…と しかしそうではない 実際の仕組みは逆だ シムの家の全てのオブジェクトにはデータが入っていて 何を提供できるかを発信するのだ ベッドは「寝ると体力 +10」と言い トイレは使うと膀胱が +20 とか 掃除すると部屋が +5 と申し出る また他のシムは社交ポイントを増やす方法として 自分を提供する Maxis はこれを「宣伝」と呼んでいる それでシムが何をするか 決めるたびに—— すぐに家中の全オブジェクトと それが提供できるもののリストが作られる シムは宣伝された数値を取得し 現時点の欲求に基づいて比較検討できる これはシムの現時点の動機レベルに基づいて 宣伝スコアに乗数を適用することで行われる 例えば、シムが十分に休養している場合 ベッドの体力上昇スコアは低下するが シムがヘトヘトに疲れていると このスコアは劇的に増加する これでシムは行動のリストとその加重スコアを取得し それを順位づけできる リストの一番上にあるのは 現時点でシムに最大の恩恵をもたらす活動だ だからデジタルな奴らは ちょうどそれをやるべきなのだ この見事なシステムは、実は開発者 Will Wright の 過去作『SimAnt』から着想を得ている 魅惑のフェロモンが生き物を動かす 仮想のアリの巣だ 基本的には同じアイデアだが フェロモンの代わりに テレビ、冷蔵庫、ピンボール台 浴槽などがある しかし人間はアリではないので もしこれが今説明した通りに実装されたら シムの行動が奇妙になって ロボット的か理性を失ったように見えてしまう そのためきちんと動かすために 多くの入念な調整が必要だ 例えば、全ての欲求は同じではない もしシムが餓死状態であると同時に すっかり退屈しているなら 彼らは Netflix ではなく サンドイッチを食べるべきだろう だが冷蔵庫とテレビの報酬が同じのとき シムはどちらを選ぶべきだろうか? 動機ごとに固有の曲線を定義することで より理性的な行動が可能になる 空腹には、こんな曲線がほしい これで冷蔵庫のスコアは シムが満腹になるとほぼゼロになるが 飢えているときは極端に高くなるので 他のどの動機よりも重要になる 同様のなだらかな曲線は他の生理的欲求にも使われる 膀胱、衛生、体力など 一方で娯楽、社交、安らぎなどの 重要度が低い欲求は 実はシムが幸せになるにつれて増加する これは「マズローの欲求段階説」の 影響を受けたもので 人間が認知的、社会的タスクに集中するのは 原始的な脳の基本欲求が満たされた時だけとされている それに、おしっこで膀胱を満足させても 楽しすぎる娯楽にはならないだろ 他の要素に基づいて スコアを比較することもできる 例えば各シムにはスコアに基づいた 性格がある 優しさ、清潔さ、陽気さなどだ ピンボール台と本棚は 同じ楽しさを宣伝するかもしれないが シムは自分の陽気度に基づいて これを比較する したがって、より真面目なシムは 読書を選ぶだろう さらに、シムとの距離に応じて活動を比較できるので 近くのオブジェクトの方が魅力的になる 最後に、電話やスクールバスなどが どんな活動よりも優先されることもあるし 他の活動が完全に制限されることもある つまり特定のオブジェクトが、子供や大人や 訪問客へ宣伝されなくなるのだ これらを全て組み合わせると 非常に便利なスコアになる これはシムの様々な欲求、性格、近さに合わせて 調整されたものだ そしてこれらのスコアから シムの次の行動が選ばれる だが恐らく一番重要なことは—— シムが常に最適な選択をするわけではないことだ 代わりに、シムは上位スコアの活動の1つを ランダムに選択する これはシムがロボット的で 先が読めてしまうことを防ぎ 全ての欲求が 完璧に満たされないことを意味する これがプレイヤーに何かやるべきことを 与えるのだ ここで説明したのは 「ユーティリティAI」と呼ばれる特殊な AI だ 「欲求型 AI」とも呼ばれる これはキャラが事前に決められた 一連の欲求を持ち 現在の選択肢を参照して その欲求を最も満たすものを選ぶシステムだ つまり最も有用性の高いものだ 『The Sims』の場合 シムはどんな家に放り込まれたとしても まるで生きているかのように振る舞えるのだ 必要な時は自分の空腹や体力に注意するが そうでない時は 人付き合いをして楽しむのだ さらにシムではなく オブジェクトに情報を入れたことで Maxis は簡単に数百ものオブジェクトを追加したり 無限に拡張パックを作れたりできる 他のコードに触れずに済むのだ こうした理由から、この基本システムは シリーズ4作品の全てに使われている だが Maxis はシリーズの野心的な3作目を作るとき さらに進化させようとした 『The Sims 1』では、各シムの性格—— 例えば清潔さや陽気さが 意思決定にどう影響するか見てきた これによって各シムには 少し個性が感じられる だが『The Sims 3』では このアイデアが劇的に拡張した 性格メーターを「特質」に換えたのだ きれい好き、神経質、爆睡する 誓約が嫌いなど 5つの特質スロットと 基本版だけでも 60 以上の特質があり 約 500 万種類のシムが作れるので 事実上、同じキャラは存在しない 特質はシムにたくさんの影響を与える 例えば「不器用」のシムは歩くとつまずいたり 怠けるとオナラやゲップをしたりする シムはその特質に応じた行動で ムードレットが付与されるし ある特質を持つシム専用の活動もある 例えば「パソコンの天才」だと ハッキングで金を稼げるのだ だがこうした特質は シムの意思決定にも影響する だがこの時は、シムの性格とスコアを 比較するのではなく 『Sims 3』では なんと動機の数を増やしたのだ つまりこのコードでは、全てのシムには 空腹、体力、膀胱などの基本欲求があるだけでなく その特質に関連する 5つの動機もあるのだ そのため「カウチポテト」だと ソファに座ってテレビを観る必要がある これはおしっこ、食事、睡眠と 同じ欲求なのだ そして冷蔵庫が空腹の解決策として 宣伝されるのと同じように オブジェクトはシムの特質に関連した動機の解決策として 宣伝される 例えば、シムを怖がらせたり 子供からお菓子を盗んだり ドールハウスを壊したり ネットを荒らしたりなどの行動は どれも邪悪な特質を持ったシムに向けて 宣伝されているのだ つまりシムは独自の個性を 自律的に実行することを促されると同時に 毎日の標準的な欲求も 上手くやりくりしているのだ ところで、シムの動機を増やすというアイデアは 社会的状況を再現するためにも使える 例えば、シムがジムに入ると 「ジムにいる」という動機が一時的に追加される これは筋トレ用のベンチや ランニングマシンで満たされる ジムを出るとこの動機は削除される 自宅に戻ると、シムは周りに客がいる限り 親切な主人として振る舞うことを動機づけられる 一方、客は社会的に許容される行動を 動機づけられる また『The Sims Medieval』のシムは 勤務時間中は仕事関連の動機を与えられ 休憩時間になるとそれを失う だがこれらの動機が特質に影響されることもある 例えばあるシムがピクニックをしたら そのシムの友達や家族は参加しようとするが あかの他人は遠慮する だが「非常識」の特質を持つシムは これを無視し、もっと言えば—— 知らない人と一緒に座るよう動機づけられる 単に彼らを不快にさせたいのだ これにより、シムはどんな場所だろうと 自然で人間らしい行動をするだろう だが数人のシムはその特異な性格ゆえに 異常な行動をして目立っている この全てはシムの動機を微調整することで 実現されていて たくさんの具体的なルールや行動を 手作業で用意したわけではない とはいえ、そうは言っても もっと決め打ちされたルールが必要な場合もある 前述のお宅訪問を挙げよう 訪問したシムは、確かに常識的な行動を 動機づけられている だが長居しすぎたらどうなる? あるいはプレイヤーが介入して シムに非常識な行動をさせたら? これを成立させるために、お宅訪問は 社会規範を命令する一連のルールで監督されるのだ つまりシムが主人のベッドで寝たり パソコンを使ったりすると ルールセットが主人にシムへ警告するよう指示し 度を越したら客を追い出すのだ 同様に雑談は 手作業でたくさん用意する必要がある これは非常に具体的な人々のペアや 超明確な社会合図を反映させるためだ 例えば、シムは冗談にどう反応すべきか? シムが冗談を言う人に 怒っている場合は? 別のシムが同じ冗談を5回連続で 言ってきた場合は? これは一連のルールによって実行される 入力、一連の条件、出力があるのだ それでさっきの冗談の場合 聞き手に「笑いのセンスあり」の特質があれば 彼らは笑うだろう 長期的な関係が悪化してるなら侮辱するだろう シムが何度も冗談を言えば 聞き手は退屈するだろう これらのいわゆる「制作ルール」は 開発者が定義した特性順に並べられ 最高スコアの結果によって 反応が選ばれる Maxis は最終的に何千個もの 手作りルールを作って 何百個の起こりうる雑談の結果を決めたのだ だがこのルールは大きなスタックに入っていて 最も明確なものが選ばれるので 衝突したり、ゲームを壊したり、無限ループを発生させたり その他の問題に繋がったりしないのだ オブジェクトの場合と同じく 開発者は会話の数をどんどん追加していけるのだ 今までの話題は、個々のシムことや—— 雑談やパーティーなどの 小さな社会的状況のことだった だが町全体のシムたちの価値を シミュレートする場合は? 『The Sims 3』の自宅は、他の何十人ものシムが暮らす オープンワールドの町の中にあり 住宅、レストラン、公園などもある Maxis はこの全てを機能させるために 新ツールを発明する必要があったが 実際は、町もシム自体と同じような方法で 動いている なぜならこの町にもたくさんの動機があり その欲求を満たす選択をするからだ 例えば、理想的には 50/50 の 男女比を維持したい だから町に新たなシムが追加された場合 それが男か女になる確率は 町の現在の欲求によって変わる また望ましい就職率は約 80% なので 必要に応じて裏方のシムを 強制的に雇用したり解雇したりできる 基本的には1日1回、深夜に 町の幸福度が調べられ 町の欲求を満たすために何らかの行動がとられる 個々の場所にも動機がある 例えばレストランは、昼食と夕食の時間帯は 8人程度の人に外食してもらいたいかもしれない これを実現するために この場所は一時的に「外食する」という動機を 大勢のシムに与えて 彼らをレストランに誘い出す さらに「料理人」などの特質を持つシムに 焦点を絞ったり 「倹約家」などの特質を持つシムを 遠ざけることもできる さて、レストランに現れるこのシムたちは 完全に自律的なキャラのように見える 彼らには欲求があり、家族があり、最後に会った後に 子供が生まれて転職したかもしれない では彼らは実際にカメラの外で シミュレートされた生活をしているのか? まあ、そうではない 裏方のシムは実は非常に低い詳細度で シミュレートされている 毎日、シムテムが各シムを見て 彼らに起こりうる人生の大きな変化をスコアにする 就職、誰かとの恋愛、結婚など これらはもちろん、特質、既存の人間関係、経歴で 加重される また開発者は、シムの欲求が1日を通して どんな感じになるかという図を作った 例えば、昼食の直後なら それほど空腹にはならないだろう そして裏方のシムがプレイヤーの近くにいるために 重要シムに格上げされると システムは時刻を確認して 全ての動機を図に当てはめるのだ 賢い仕組みだ キャラ、雑談、お宅訪問、レストラン 町全体を再現するツールを用意した このような優れた技術があると あらゆるものをシミュレートしたくなる 例えば、小便器のルールを考えてみよう 立ち小便の約束事は知っているだろう 小便器を選ぶ時は、必ず他人との間に 空白便器を1つ確保する必要がある 社会の暗黙のルールのようなものだ そこで Maxis はこのルールもゲームに追加したが 発売前に削除してしまった シムがこのルールに従ったとき なんだかありきたりで退屈になったからだ だがシムがトイレをランダムに選ぶと—— シムたちが気まずく行動する様子が 面白くて印象的になることが多かった 『The Sims』はかなりオタクっぽい シミュレーションゲームとして誕生したが—— (基本的には『SimCity』だが規模はずっと小さい) すぐに全く別物に成長したのだ 初代のプレイテストで—— Will Wright はプレイヤーがシムの家族に関する 凝った話をすることに驚いた 詳細を飾り立てたり、シムの決断を読み取ったり ランダムな場面を誇張したりしたのだ 「人々がすぐさまこれを元に物語を作っていく様子は 魅力的でした」と Wright は語る これを後押しするため Maxis は 土壇場で機能を追加した スクリーンショットを撮り 説明文を書いて 1クリックで EA のウェブサイトに投稿できる 簡単なマンガ本を作る機能だ この機能は絶大な人気があり 多くの人にとって—— 『The Sims』がストーリーテリングの 手段だったことを証明した それは今でも変わらない YouTube で 『The Sims』を検索すれば意味が分かるだろう だがストーリーテリングの支援には 繊細なバランスが必要だ ゲームは物語を作れるほど 具体的であるべきだが プレイヤーが想像する余地が無くなるほど 具体的でもダメなのだ だからこの AI パズルの最後のピースは どこで止めるかを知ることだ 何をシミュレートしないか知ることだ 決め事ではなく 小便器をランダムに選ぶことを知ることだ これをやる方法の1つは 曖昧さを慎重に利用することだ 基本的には、一部を言わせないことで プレイヤーは推測をして 画面の出来事に自分の脳内設定を 投影できるようになる その好例が、シムの象徴的なブツブツ方言 通称「シムリッシュ」だ 初期の設計書には Maxis がシムに現実世界の言語を 喋らせる実験をしたことが書かれている 英語、ナバホ語、エストニア語 ウクライナ語など だが技術的、事業的な理由により 彼らは2人の即興芸人を雇って 完全にデタラメな言語を作ることにした 「ドローバ ドローバ ドローバ」 「シーカ ニーバ」 「(笑)」 だがこれは驚異的な効果を発揮する シム同士が意味不明な会話をすると プレイヤーは推測し、行間を埋め シムに自分の想像力を投影し ゲームを自分のものにできるのだ 「もし本物の言語を使えば ゲームがぺしゃんこに縮んで——」 「誰もが同じ経験をすることになるでしょう」と EA の Matt Brown は述べている 親戚じゃないぞ また曖昧さはシムを実際よりも賢く感じさせ シミュレーションが間違ったことをしても隠しておける もう1つの方法は 常にプレイヤーの指示に従うことだ プレイヤーが作ろうとする物語に逆らうような 自律性を絶対に使わないことだ だからこそシムは自由意志で 膀胱をホッとさせ、胃を満たしても 自律的に仕事を辞めたり ランダムなシムに求愛したりしないのだ 『Shadow of War』の ネメシスシステムと同様に Maxis は即興喜劇の「はい、それなら…」という 概念から着想を得ている だからシムはプレイヤーの行為を元に行動し それを否定しないようにしているのだ 例えばプレイヤーが2人のシムに恋愛させた場合 自律システムは2人を別れさせてはならない 同様に、ユーザーが作ったシムは 性的嗜好を持たずにこの世に生まれる だが男のシムに 他の男といちゃつくように指示すると それは彼がバイかゲイだと示唆していることになり ゲームはそれで進行する このゲームは常にプレイヤーの物語の 一貫性を保とうとする必要があるのだ 『The Sims』には魅力的な AI システムがあり リアルな人間のシミュレーションや 創造的なプレイヤー主導のストーリーテリングを 可能にしている そのほとんどは 非常に単純な概念で動いている キャラ、場所、町全体は たくさんの欲求を与えられ そうした欲求を 最も満たす選択をしようとする 少し器用な調整をすることで 人間らしいキャラや シムたちが常識的に振る舞う社会的状況や 一貫性とバランスが保たれた町が生まれるのだ だがこれは一風変わった目的無しの 生活シムに役立つだけじゃない ユーティリティ AI は 他のゲームでも使われているのだ 例えば『XCOM』の敵ユニットは移動可能なタイルを 全て検討してスコアを付ける 元にする要素は 距離、側面攻撃の機会、角度 遮蔽ボーナス、視認性、近接性などだ その後、最高スコアのタイルに 移動する 手続き型生成でも、事前に決められた要件に 合う世界を作るために使用できる ユーティリティ AI は開発者の道具箱に追加された 素晴らしい機能で 『The Sims』での実装は開発者にとって 素晴らしい刺激となるはずだ それじゃ、脳を溶かすために ケイティ・ペリーがシムリッシュで歌う映像を見てくれ [まったく意味不明] [完全にチンプンカンプン] (字幕翻訳:Nekofloor) [僕は脳卒中で倒れている]