Game Developers Conference 2008現地レポート
「Civilization IV」のリードデザイナーSoren Johnson氏がAIの秘訣を語る
「負けるためのプレイ: AIと“Civilization”」
| 朝1時限目という早い時間のセッションにもかかわらず、会場には大勢の聴衆が詰めかけていた。関心の高さが伺える |
会場:サンフランシスコ Moscone Convention Center
GDC 2008通常セッションの2日目となった2月21日(現地時間)、ゲームデザイントラックにて「Civilization」シリーズにおけるNPC AIのデザイン哲学が語られた。
「Playing to Lose: AI and “Civilization”」と題されたこのセッションでは、「Civilization III」および「同IV」の話題を中心に、「優れたAIとは何か?」、「いかにしてプレーヤーを楽しませるか?」というテーマを追う。
そこで明らかになったのは、「Civilization」におけるAIデザインが、製品そのものの価値に多大な貢献をしているということだった。ゲームデザインおよびAIプログラマーを担当したSoren Johnson氏の解説に耳を傾けてみよう。
■ 「良いAI」VS「楽しいAI」
ゲームのAIアルゴリズムが目指すべき道は何か?
| Soren Johnson氏は、Sid Meier氏のもとで「Civilization III」以降のタイトルを製作してきた人物であり、現在は「Spore」の開発に携わる |
| チェスは「良いAI」であることが求められる典型例だ |
Johnson氏は「IV」でもAIプログラムを担当しており、Sid Meier氏と同じく「プログラムをするゲームデザイナー」を地でいく人物である。現在ではEA Maxisに所属して、Will Wright氏の新作「Spore」のゲームデザイン及びAIプログラムを担当しているとのことだ。彼の元ボスであるSid Meier氏と、現ボスであるWill Wright氏の親交の厚さは良く知られているので、Johnson氏がFiraxisをやめてEA Maxisに移ったことは、単なる無機質なヘッドハンティングというものではなさそうだ。
自己紹介を終えたJohnson氏は、まず、NPC AIの特性を「良いAI」と「楽しいAI」に分類する。いわく、「良いAI」とは、人間のチャンピオンを打ち負かすチェスコンピューターのように、強いAIのことだ。対する「楽しいAI」とは、人間の代役であり、そのアルゴリズム自体がゲームコンテンツである。そして、最終的には「人間プレーヤーに負けるためにプレイをする存在」だと定義した。
この2つを区別することには理由がある。「良いAI」を作れば、確かに手ごたえのあるゲームになる。これはチェスのような完全情報ゲームでは成立する。この手のゲームでは、AIも人間も、盤上の情報をすべて得ることができる。また、すべての可能性から「最善手」を打てるため、人間の受け取り方としてフェアに感じられ、「良いAI」を楽しめるのだ。また、この点はマルチプレイに優れているとされ、近い特性を持つゲームとして「StarCraft」が例示された。
| 複雑な戦略ゲームのAIは、「人間の代役」になることが求められ、強さは目的でなくなる |
| 「アルゴリズムはコンテンツである」というのが、「楽しいAI」における哲学だ |
「Civilization」のようなゲームでは、各プレーヤーが得られる情報は限られており、選択肢も状況に応じて限定されている (ユニット作成に技術開発を前提とする等)。この特性ゆえにチャンピオンクラスの人間ですら最善手を打てないのが当たり前で、ましてやコンピューターにとってはチェスの何十倍も複雑なゲームなのだから、そもそもAIを強くできないのだ。
スケールが大きく複雑なゲームで、AIプレーヤーが得られる情報を人間と同条件にした場合、どうやっても熟練した人間のほうが強い、というのは、根本的な限界かもしれない (コンピューターに無限の計算時間が与えられた場合は異なるかもしれないが)。それでも無理に強くしようと思えば、アンフェアなゲームになってしまうだろう。
だから、「Civilization」のようなゲームのAIは「負けることが前提」となる。Johnson氏はこの手のAIの役割を「ゲームコンテンツに相当する」と定義し、「Civilization」のAIについて、「プレーヤーを楽しませ、よりよく負けるためのデザイン」という基本路線を説明した。
しかし、だからといって「良いAI」の路線を完全に捨てるわけではない。「Civilization」というゲームの特性に基づいて、強さを必要とする部分は追求し、プレーヤーに大きなチャレンジを与えるというのは、AIによる多少のチートを正当化するだけの理由になるらしい。その考え方が「IV」のAIデザインに反映されている。
| 「良いAI」の例として、MMORPGのAggroが例示された。モンスターがプレーヤーパーティの動きに単純に反応して攻撃相手を決めるというアルゴリズムは、決して強いものではないが、タンク、ヒーラー、DPSという役割分担を促し、ゲームプレイを楽しくするために欠かせない | 「楽しいAI」は「負けるためにプレイする」。これがゲームAIデザインの大前提であるようだ | |
■ 「AIチート」は楽しさを増幅するために存在する
| Johnson氏はAIに与えられたチートの例を挙げつつ、それがプレイにどう影響するかを解説した |
| 難易度毎のAIボーナス/ペナルティグラフ。「貴族」レベルでイーブンとなり、「天帝」では40%もブーストする |
Johnson氏は素の「IV」における難易度ごとの生産ボーナスを図示し、ボーナスが0となる「貴族」難易度においても、実はその他の点でAIが優遇されている点を紹介した。戦争における「可視範囲」や「勝率」に関するちょっとしたインチキや、AI同士の外交における「情報」などである。たとえば、AIプレーヤーは蛮族への対策がうまくできないため勝率が高く設定されている、と説明された。
コンピューターゲームにおけるAIの能力を決めるのはアルゴリズムだ。これはソフトウェア工学の進歩や、その時期のゲームが前提とするプロセッサのパワーにかなりの程度比例しながら、時代と共に改良されていくものである。ゆえに、「Civilization」シリーズを通して、NPC AIプレーヤーに与えられるチートの内容は変化してきた。
たとえば、Sid Meier氏がAIプログラムを担当した「I」と、Brian Reynolds氏が担当した「II」では、「無料で大不思議 (世界遺産) が与えられる」や「AI同士で暗黙の同盟を組み人間プレーヤーを包囲する」といった、インパクトの強いチートが採用されている。
| 「III」における情報チート。AIは都市攻撃のターゲットを決める際、「戦場の霧」を無視して守備状況を把握できる。そのため海からの奇襲が脅威となる |
どのようなチートをAIに与えるかという基準については「可能な限りアンフェアに感じさせないこと」と説明された。これはシリーズを通じて守られている鉄則だ。
こうしたチートによりAIの能力がブーストされてはいるものの、だからといって「勝利のためにすべてをささげる」ことが善というわけではない。AIの強さは、あくまでもゲームを楽しくするための方法のひとつであって、目的ではないからだ。
Johnson氏は具体例として「IV」の徳川家康を挙げ、「彼は技術交換に応じにくく、いつも鎖国しています。それはゲームの効率としては好ましくない戦略ですが、指導者の個性として、プレイを楽しくすることに寄与しています」と解説した。このように、「IV」のAIプレーヤーは皆、独自の個性をもって振舞う。それが勝利に結びつかないとしても、プレーヤーは、AIに人間味を感じて、自分だけの歴史物語を楽しく紡ぐことができるわけだ。
| AIとチートの関係は、ゲームのすべての要素に関連するだけに難しい問題だ。ゲームデザイナーは、プレーヤーにアンフェアさを感じさせないよう、注意深くAIの能力を構成する必要がある。その配慮は根本のゲームルールにも及び、「AIが苦手な戦略を、ルール的にとりにくくする」といった策も使われたようだ | ||
■ 「IV」のAIの最大の特徴は「柔軟性」と「オープンソース」
コミュニティによる改善が「Beyond the Sword」の優秀なAIを生んだ
| 「IV」におけるAIの判断基準例。建物そのものではなく、その効果を評価して判断する。このため柔軟なデータ拡張が可能となる |
| 「IV」のゲームコアは公開されており、ユーザーが改造することもできる。それにより「Beyond the Sword」が生まれた |
Johnson氏はコードサンプルを例示しつつ、「AIの判断基準はすべてソフトコードされています。そのため、『III』では“Doubles Your Pleasure”、『IV』では“Fall from Heaven”という、優れたデータドリブンのModが登場することができました」と、システムの持つ柔軟性がゲームに寄与した実例を紹介した。
さらにJohnson氏は、「IV」以降のゲームコアプログラムが持つ特性について触れた。「IV」のゲーム部分のプログラムは“CvGameCoreDLL.dll”と呼ばれる単体のプロジェクトであり、ゲームエンジンからは「100%独立している」とされる。
このプログラムを入れ替えればゲームだけを変更することができ、表示系など他の部分への影響は軽微なので、ゲームルールを頻繁に更新し、入念なプレイテストを効率よく行なうことができる。また、他のプラットフォームで全く同じゲームを走らせることもでき、この特性は、FiraxisでSid Meier氏が開発中の「Civilization Revolution」に活用されている。
最後にJohnson氏は、「IV」のAIプログラムが公に公開されていることを紹介した。これは公式サイトからダウンロードして、ユーザーが自由にコンパイルすることができる。これによって熱心なユーザーが「IV」のAIを改善することになり、製品のクオリティに直結する決定的なオープンソースプロジェクトが生まれた。
| 講演終了後は聴講者からの質問が相次ぎ、Johnson氏はそれに気前よく答えていた |
Johnson氏がAIプログラムに取り入れた哲学は、まるですべてが完璧に機能しているかのようである。「良いAI」の限界を素直に認め、「楽しいAI」を追求しつつも、柔軟性を最大限に重視したというデザイン哲学は、他のゲームデザインにも大いに応用できるものだろう。
Johnson氏が現在手がけている「Spore」にも、こういった仕組みが導入されるのだろうか。そのあたりについては明らかにされなかったが、会場に集まった聴講者たちはセッション完了後も延々と質問を投げかけ続け、関心の高さを伺わせた。
□Game Developers Conference(英語)のホームページ
http://www.gdconf.com/
□Game Developers Conference(日本語)のホームページ
http://japan.gdconf.com/
□関連情報
【2008年】Game Developers Conference 2008 記事リンク集
http://game.watch.impress.co.jp/docs/20080221/gdclink.htm
(2008年2月22日)
[Reported by 佐藤“KAF”耕司]Q&A、ゲームの攻略などに関する質問はお受けしておりません
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします
Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.