C88-敵AI
のバックアップ(No.5)
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
バックアップ一覧
差分
を表示
現在との差分
を表示
現在との差分 - Visual
を表示
ソース
を表示
C88-敵AI
へ行く。
1 (2015-08-23 (日) 23:10:07)
2 (2015-08-23 (日) 23:52:30)
3 (2015-08-24 (月) 02:28:43)
4 (2015-08-24 (月) 03:47:28)
5 (2015-08-25 (火) 00:02:02)
概要
Blackboard
Service
HandgunCheckService、MissileCheckService
AttackShortService、AttackLongService
BoostUseService
Task
近距離
仕様
ビヘイビアツリー
遠距離
難易度調整
概要
†
敵の挙動。
ビヘイビアツリー
で構築。
EQS使おうとしたけど、一回試して上手く動かなかったので断念
マスター予定日当日に調整してたのもあって、途中からかなり雑に。
▲
▼
Blackboard
†
▲
▼
Service
†
▲
▼
HandgunCheckService、MissileCheckService
†
ハンドガン、ミサイルで撃たれているかをチェックするサービス。
「Get All Actors with Interface」等でリストを全部取得。
actorの所属グループを観て敵が発射したものを収集
一番近い弾を避ける対象の弾としてBlackboardに保存
弾と自身の射線上に障害物(背景)がある場合は除外する
▲
▼
AttackShortService、AttackLongService
†
近距離、遠距離用攻撃サービス
「Event Receive Activation」でアクティブになったタイミングで、短距離、遠距離武器の発射ボタンを押し始める
「Event Receive Deactivation」でサービスを抜けるタイミングで、短距離、遠距離武器の発射ボタンを離す
▲
▼
BoostUseService
†
ブーストボタン押しサービス
「Event Receive Activation」でアクティブになったタイミングで、ブーストボタンを押す
「Event Receive Deactivation」でサービスを抜けるタイミングで、ブーストボタンを離す
「Event Recieve Tick」でブーストゲージが指定以下になったらブーストボタンを離す。一定以上回復したら再度押す。
▲
▼
Task
†
▲
▼
近距離
†
▲
▼
仕様
†
近距離範囲内
ハンドガンで撃たれているかをチェックする
ミサイルで撃たれているかをチェックする
近距離用の攻撃セットを実行
移動行動
ミサイルで撃たれていればミサイル用の回避行動をとる。+ブースト使用。
ハンドガンで撃たれていればハンドガン用の回避行動をとる。+ブースト使用。
相手を狙いつつ現状維持行動
相手に近づく
▲
▼
ビヘイビアツリー
†
Blackboardの「Is Short Length」(近距離範囲内か)がtrueなら入る
サービスとして近距離範囲内では常時動かしたい処理を回す。
「HandgunCheckService」ハンドガンで撃たれているかチェック
「MissileCheckService」ミサイルで撃たれているかチェック
「AttackShortService」近距離用の攻撃
優先順位として、
ダメージの大きいミサイル回避
ハンドガン回避
ここに来ると狙われていないので適当な平行移動
左右に回避したら敵を狙えなければMoveToで近づく
最後ここまで来てスルーすると近距離行動以外のノードに行ってしまうので、ここで終わらせる。強制的にSuccessを返す。
▲
▼
遠距離
†
近距離とほぼ一緒。近距離用の動作が遠距離になったり、パラメーターが一部違うだけ。
▲
▼
難易度調整
†