「Stellaris」の開発日記#252が公開されていましたので、その内容をご紹介。今回はAI・惑星とセクターの自動化・起源について。3.4+「Overlord」リリース前の開発日記です。
前回:開発日記#251――すべての道はDeneb IIbに通ず
開発日記
開発日記#252は、AI・惑星とセクターの自動化・起源について。
- 今回はCustodianのAIの取り組みについて。
- 内容に入る前に簡単に3.3パッチで行われたことについて振り返ってみよう。3.3「Libra」パッチの主な目的はAIの経済管理、特に中盤以降の改善だった。このようにした理由はAI帝国をゲーム序盤以上に関わりのある主体とし、プレイヤーとのやりとりをより影響力のあるものにするためだった。
- AIの経済管理にはまだ改善すべき点があるが、私たちは3.3で行われた変更に満足しており、私たちの重点分野をAIの他の部分に移そうとしている。
3.4での目標
- AIの経済が改善されるにつれて、AIの他の領域、すなわち艦隊の管理とプレイヤーとの外交上のやりとりがより明確な改善対象となってきた。
軍事AIの振る舞いの変更
- 3.4で軍事艦隊の挙動に加えられる変更は意思決定の改善ではなくほぼバグ修正であるということを最初に言っておく。したがって、非常に顕著な違いがあるはずではあるものの、これまでに行われた艦隊の挙動に関する作業は経済に関する作業ほど包括的なものではない。
- 見て見ぬふりをされていることから始めよう。すなわちAIが艦隊を細かく分割することだ。基本的にAIが艦隊を分割するという挙動は設計によるものだ。AIはできるだけ多くの目標を達成するために十分な艦隊戦力(+25%のマージンがある)を目標に割り当てを行う。主な問題はアップグレードされていない星系基地のような戦力の低い目標の数に応じて、AIが頻繁に艦隊を1000程度の戦力になるように分割してしまうことだ。
- このアプローチには2つ問題があり、ひとつはプレイヤーがより大きな艦隊でAIの小さな艦隊をひとつずつ倒して回ることが簡単にでき、AIを無力化できてしまうこと、もうひとつはAIのこのプレイスタイルが戦うのに非常にイライラさせられることだ。
- 3.4ではAIは軍事目標を遂行するための最小単位として全艦隊を用意するようになり、AIは平時には積極的に可能な限りの艦隊を合流させようとし、戦時には近くの2つの艦隊があれば可能な限り合流させる。
艦隊命令の循環
- AIが艦隊をいっぱいにするようにした後、次に取り組まなければならない問題はAIの艦隊命令の循環で、艦隊が2つの命令を繰り返して動けなくなってしまうというものだ。原因のひとつはAIが複数の艦隊にひとつの目標遂行を割り当てた際に、艦隊が他の艦隊の星系に移動して互いに再編成しようとし、繰り返し場所が入れ替わることだ。
先駆けとなる(Take Point)
- 3.3ではAIは再び「先駆けとなる」に従うようになったが、私たちが望むようには機能しなかった。例えば、同盟国のAI艦隊はプレイヤー艦隊に従うべきではないのに、従ってしまうことがあった。また、AIの気が突然変わってプレイヤーに従わなくなったり、全艦隊がプレイヤーに従うとは限らないという問題もあった。
AIの同盟国の戦争
- 複数のAI帝国が同じ側にいる戦争では、AIの1つが戦争を主導する(外交上の戦争主導国とは異なることがあった)とみなされ、他のAIは「AIの戦争主導国」に従うよう艦隊を配置する。これには上で述べたような、追随するはずのAI艦隊の気が頻繁に変わり、意図した目標に到達できないという問題があった。
外交上の戦争以外でのAI
- 3.4ではAIがゲーム中盤・終盤の危機と戦うときにAIの戦争状態を有効化し、戦争状態は危機が打ち負かされるまで継続するようにした。これはつまり、AIが外交上の戦争を行っていなくても、自分や同盟国が攻撃されれば、大ハーン(Great Khan)のような目標に対して通常の戦争行動が可能になるということだ。
- これには以下のような多くの副次効果がある。
- プレイヤーが危機と戦っている場合、AI帝国はプレイヤーの「先駆けとなる」に従うようになった。
- 同盟関係にあるAI帝国は彼らのいずれかが攻撃された場合、互いに助け合いながら危機と戦うようになった。
- AI帝国は危機の帝国が支配する星系を探して攻撃するようになったなど。
- また、戦争中にAI帝国がリヴァイアサンのような中立的な目標と戦う問題にも対処した。
AIの戦争準備
- 3.4ではAIに戦争準備状態を追加する。これは3.3でAIが直ちに宣戦布告していたタイミングで移行するものだ。このフェーズの間、AIは利用可能な艦隊を集めて目標との境界に移動させる。
- 十分な軍事情報値(intel)があれば大混乱になることをアラートで通知され、AIがいつ攻撃するかをより正確に予測できるようになる。
AIの外交
連邦AIの変更
- AIと連邦を組む際の最大の不満は同じ連邦法を変更する提案を繰り返し容赦なく浴びせられることだ。結果としてAI帝国にはネガティブな評価補正が積み上がり、最終的には連邦から完全に離脱する。
- 3.4では法律カテゴリーごとに10年間のAI投票クールダウンを導入した。例えばAIが自由移民法の改正を提案した場合、すべてのAIの連邦構成国で共有される10年間のクールダウンが追加される。これはつまり自由移民法が否決されるたびに再提案されるまで10年以上かかるということだ。
- 今回はプレイヤーが自国をAI連邦に入れる投票を開始するよう繰り返し頼むことで行うプレイヤーチートも修正した。これはプレイヤーがAIの連邦構成国間にマイナスの評価補正を蓄積させ、連邦を崩壊させることができるものだった。
使節(Envoys)
- AI連邦のもうひとつの不満はAIが連邦に使節を送り込まないことだ。これは全体的なAIの使節の使い方というより大きな問題の一症状だった。AI帝国は頻繁に使節を同じ任務に割り当て直し、既に割り当てられていた使節を外し、再割り当てのクールダウンを開始する。その結果、AIは1人を除くすべての使節をクールダウンさせてしまい、どの任務にも割り当てないことが多くあった。
- 3.4ではAIは連邦や銀河コミュニティの任務その他の外交活動や諜報活動で、より適切に使節を使えるようになったはずだ。
銀河コミュニティの変更
- 銀河コミュニティでは、AIは自分たちの信条にまったく反する決議案を提案することがあった。これはAIが決議案を提案する際のチェックがなかったことによるものだ。AIはもっとも気に入った決議案を提案するが、提案する価値があるほど気に入っているかをチェックしていなかった。
- AIが提案した決議案の撤回を明確に禁止されていることは、ほとんどの場合で理にかなっていないが、これが最善の行動となる状況もある。
- 同様にAIが自国の決議案に反対することは禁止されているが、例えばプレイヤーが緊急措置を発動してAIが取り下げる前に議場に決議案を移された場合、AIが自国の決議案に反対するのは理にかなっている。
- さらに、AIに対する十分な情報値があれば彼らが銀河コミュニティでそのような投票をしている理由を見ることができるようになった。
惑星とセクターの自動化
- 惑星やセクターの自動化はAIの経済システムとは異なるシステムを使用しているが、これを改善することでプレイヤーのプレイしやすさを大きく高めることができると考えている。
- 新たな自動化システムの設計思想は「ほとんどのプレイヤーがその一部を使用できるようにする」というものだ。つまりすべてのプレイヤーが常にこれを使い、すべてのプレイヤーを満足させるということではなく、使う価値があると感じるものを誰もが見つけられるということだ。
- では、どのように機能するのか? 3.4では惑星の自動化に設定UIが追加され、プレイヤーは各惑星の要素を個別にオン/オフしたり、新たに入植した惑星のデフォルト値を設定したりできるようになる。
- もっとも影響の大きい設定がこの開発構想(Designation)だ。これは惑星に空いた職業枠がない場合、開発構想に応じて新たな職業枠を作り出す。例えば鉱業の開発構想でこの設定を有効にすると、採掘区域と鉱物精製プラントのみが建設され、それ以外は建設されない。
- その他の設定は以下。
- 快適性(Amenities):新たな快適性に関する建造物を建設し、3.3から採用されているAIと同じシステムで不要な快適性の職業枠を細かく管理して最小化する。
- 希少資源:希少資源を産出する建造物を建設し、すべての希少資源の月の収支を+3にすることを目指す。また、建設キューに入っている帝国全体の建造物を考慮し、一度に1つしか建造物を建設しないようになっている。
- Popの組み立て:spawning pools、cloning vats、robot assemblyなどを建設する。
- 住居(Housing):必要なときに区域か建造物を建設する。
- 建設スロット:空いている建設スロットがないときに新たに居住区域を建設し、建設スロットを+1する。科学の開発構想のような多くの建設スロットを必要とする惑星で有用だ。
- 犯罪:犯罪が危険なレベルに達すると、犯罪を防ぐ建造物を建設する。
- ブロッカーの除去:ブロッカーが新たな区域の建設を妨げている場合、自動的にブロッカーを除去する。
- 死後の雇用(Posthumous Employment):基礎資源に特化している惑星で死後雇用センター(Posthumous Employment Center)を建設する。
- Psi Corps:可能な限りすべての惑星に建造物「Psi Corps」を建設する。
- 自動化設定「開発構想」は建造物の建てすぎに注意するが、他の設定は追加の職業枠が必要ないときにも建造物を建設する。
- 快適性の自動化以外のすべての自動化は完全にスクリプト化されており、ファイルは「game\common\colony_automation」と「game\common\colony_automation_exceptions」にある。
セクターの自動化
- セクターの自動化は惑星自動化の上に構築されたシステムで、セクターの重点(sector focus)を設定することにより、セクターの自動化を尊重させるために、惑星が「開発構想の自動選択」を使用しているときにどの開発構想を選択するかを変更する。
- さらに、3.3パッチ以降は統合力(Unity)が重要になったため、セクターの自動化でも統合力を重視できるようになり、それに合わせて惑星の統合力に関する自動化もある。
- 研究施設や希少資源を産出する建造物を建設するためにアップグレードされた首都建造物が必要であるという条件は削除された。というのは、こうした開発構想を持つ新たな入植地で惑星の自動化を正しく機能させるためだ。
- より自動化を進められるようにするため、私たちはさまざまな惑星種別に不足していた開発構想を追加した。例えば、リングワールドで開発構想「工場惑星/精錬惑星」を使えるようにし、Hive Worldsでは要塞の開発構想を使えるようにした。
起源
- 起源「Subterranean」では、地下にトンネルを掘ることが地表に建造物を建設するよりも少し高くつくが、敵が都市を爆撃しようとした際に特に利点がある。
- Subterranean帝国の創設種族は特性「Cave Dweller」を獲得する。これはPopの成長やPopからの帝国規模と引き換えに鉱物生産を高め、さらに最小の居住性(Minimum Habitability)を獲得するものだ。この特性を持つPopは地表の環境から十分に保護されており、居住可能な惑星のうち居住性が50%以下のものは50%であるかのように扱われる。
私はドワーフ、穴を掘っている。
- 地下に住むSubterranean帝国は固有の都市セットを持つ。
山の王になりたいか?
- 実績「Underlord」は「あまりに深く掘ることは可能か?」という質問に答えることに関係しているはずだ。
質疑応答
Q:惑星の自動化についてプレイヤーにテンプレートを作らせるのはどう?
A:実現可能かどうか話し合ったが、Custodiansでの私(注:Stellaris開発スタッフのOffe氏)の時間は終わりに近づいていたので、早く作れるものを選んだ。
Q:自動化機能はプレイヤーが作ったものを上書きしちゃうの?
A:なにかを破壊したり、置き換えたりすることはない。今のところ、例えば採掘では採掘区域をそれ以上建設できなくなった後は、そこで成長したPopは単に失業して自動的に他の惑星に移動する。
来週は3.4パッチノートと起源「Progenitor Hive」について。
コメント
ついにあの星系間シャトルランに修正が
現Verだとプレイヤーが先駆け艦隊を作って首都に待機させると大戦争のとき銀河中の味方AI国家艦隊のだいぶ符が先駆け艦隊に集まって前線がスカスカになるというアホみたいなことが起こるからね……
将来的に地底人パックとか出ないかなこれ