忍者ブログ

方向音痴のSkyrim

PCゲーム「Skyrim」の雑多なCKいじり日記

Procedure Treeレシピ01【生活系】



ハドバル&レイロフの生活スケジュールを作成中……。
一日の行動を細かく決めるだけで、結構な数のAI Packageが必要になります。
1人2人の生活スケジュールを作るだけならまだいいのですが、これが9人くらいになるとかなりの重労働。
Packageひとつで一日の行動を決めたいなぁ、と思い、自作のAI Package Templeteをせっせと作ってみました。作り方自体はこちら



こちらはその一例。Scheduleタブでは、すべて「Any」か「0」を指定し、常時このPackageが実行される状態にします。
Procedure Treeの条件設定だけで、24時間の生活スケジュールを決めてしまおうという魂胆。

"Stacked"Branch以下に、それぞれの時刻の行動を並べていきます。
黄色に塗った各"Sequence"には、Item Conditionsに時刻を設定。複雑に見えますが、時間によって「椅子を探してご飯食べる」か「ベッドを探して寝る」か「仕事する」かいずれかの行動をとらせるだけのものです。
例えば、ゲーム内の時刻が「6」以上「7」未満の時は、朝食をとる行動を設定した"Sequence"が実行されます。

一番下の"Procedure: Sandbox"には条件を設定していません。上の三つで指定されている時刻以外では、仕事をしてもらいたいため。
また、条件を設定しなかった理由はもうひとつあります。上記三つの条件判定が「False」になってしまった場合、なんらかのProcedureが実行されないと、AIが止まった状態、棒立ち状態になってしまうからです。条件なしで実行できるProcedureを「落とし所」として最後につけてやると、条件設定を少々ミスってもAIが止まる事態にはなりません。

Conditionsで時刻設定をしているため柔軟性には欠けますが、一日の生活スケジュールをAI Packageひとつで決められるので、とても便利です。共同生活をしている労働者などに最適そう。シドナ鉱山の面々しか思い浮かびませんが。
"Procedure: LockDoors"を組み合わせれば、寝る前にプレイヤーを追い出して家の鍵をかけることもできます。



もう少し柔軟性を高めてみたのはこちら。Templete化して名前をつけるなら、「DefaultSandboxMultiLocation0x24」でしょうか。
朝、昼、晩、就寝時間でそれぞれのLocationを指定できるSandboxのみの簡単ProcedureTree(最初のTravelは、Package開始時に朝のLocationへ駆け足で行かせているだけ)。
一番下にある就寝時のSandboxは落とし所ですから、条件指定は何もしていません。細かいところでは「Flag Overrides」をいじって、妙にはっきりした寝言を言わないよう"Allow Idle Chatter"などのフラグを切っています。

一番下にこのAI Packageを置き、その上に短時間の食事や、ちょっとした例外的行動のAI Packageを重ねるだけで、複雑な生活スケジュールを作れます。



こちらは旅人などによさそうな、Eat Packageの簡易バージョン。近くに座るものがあったら座り、なければ立ったまま食べるProcedure Treeです。


慣れてくると用途に合わせて自由にできるので、Procedure Treeを作りはけっこうはまります。

次へ
PR

Author

UNI
Skyrimで遊ぶのも、CKで改造するのも好きなファンタジー好きです。
戦闘苦手で難易度は基本EASY、慣れてもNORMAL程度。 アンデッド恐怖症なので、ノルド遺跡探索が辛い……。

ブログ内検索

最新コメント

[11/12 fighf]
[11/11 AllicebeLype]
[11/11 コング]
[11/10 chomechome-X]
[11/05 UNPおじさん]