2012年12月13日木曜日

【Unity】RTS:AI 10 部隊の役割

RTSのAIを考える上でここの記事はすべての答を与えてくれたわけではないが大変参考になった。攻撃目標を決めた後、各部隊に任務を割り振ってどの部隊が特定の任務を一番効率よく出来るかコストを計算させよう。コストが一番低い部隊がその任務に向いている。AIは常に複数の作戦を計画しており全部隊がその作戦を実行するコストと成功した際の見返りを鑑みて作戦を決定するだろう。

そこで各部隊に割り振る任務にはどのようなものがあるか考えてみよう。
大きく分けると部隊は攻撃を実行するグループ(攻撃グループ)と攻撃部隊を支援するグループ(支援グループ)にわかれることになる。ここでこれまでの記事で触れてきた「攻撃円」だとか「危険区域」について再定義してみよう。



 各部隊は「支配地域」と「交戦責任範囲」を持つ。支配地域はボードゲームでお馴染みのZOC(Zone Of Control)であり潜在的な攻撃範囲を示す。交戦責任範囲はほとんど射程とイコールである。支援グループの圧迫と支配についての定義は以下のようにした。
圧迫:圧迫とは敵の行動の自由を奪うことである。
支配地域の対象:味方部隊に攻撃を仕掛ける可能性がある敵部隊
圧迫を受けている敵部隊は移動の際に攻撃を受けるリスクを覚悟しなければならない。しかし速度が早いのならリスクは低くなるだろう。

支配:支配とは戦場の一地点を確保することである。
支配地域の対象:敵が存在すると味方部隊が攻撃を受けてしまう地点
支配地域に侵入する敵は攻撃されるリスクを覚悟しなければならない。

AIは攻撃はもちろん、圧迫と支配を上手く使って戦場の主導権を狙うべきだ。簡単な例を考えてみよう。
青軍は左から二番めの部隊が攻撃を行う。ほかは支援グループで攻撃部隊が敵の攻撃を受けないように圧迫と支配をつかい敵を牽制している。五分の勝負には持ち込めそうだ。


0 件のコメント: