忍者ブログ

方向音痴のSkyrim

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

Procedure Treeレシピ01【生活系】

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

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

コメント

※スパム対策のため、コメント内やその他の項目に「http://」や「https://」があると投稿できません。全角で入れていただくか、URLであることを明記して以降のアドレスのみ入れていただくかでお願いします。 For stopping spam comments, this form doesn't accept the following words, "http://" and "https://".

Author

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

ブログ内検索