【ACVD】UNACのロジック概要(検証を元にした推測)

5
Reffi @tomo1109_Reffi

ここまでで認識範囲内か、認識範囲外かという判定は完了する筈。計算はローカルで行えるので、座標があれば良い。 #ACVD #UNACVD

2013-11-03 09:20:49
Reffi @tomo1109_Reffi

ゲームの性質上、座標をリアルタイム(1フレームあるいはそれに近い間隔)で送信していないということは考えられない。よって、認識範囲の計算はいつでも可能。大して計算資源を消費するわけでもない。何万ものポリゴンを常時描画しているんだから誤差に過ぎない。 #ACVD #UNACVD

2013-11-03 09:26:00
Reffi @tomo1109_Reffi

ということは、出入りの判定もいつでもできる。ローカルに全オブジェクトユニークIDの一覧を持っておき、認識範囲に入った瞬間、出た瞬間にタイムスタンプを押す。 #ACVD #UNACVD

2013-11-03 09:28:27
Reffi @tomo1109_Reffi

別にそれぞれのオブジェクトにタイムカウンターがあってくるくるまわっているわけではない。タイムスタンプさえ押しておけば必要なときに逆算できるので、時計は一つあれば良い。カウントしているというのはあくまでもイメージの話。認識範囲のコーンと同様。 #ACVD #UNACVD

2013-11-03 09:29:58
Reffi @tomo1109_Reffi

さて、オブジェクトはそれぞれ座標を持っていて、認識範囲への出入り履歴(といっても直近の1件のみの筈だが)を管理されている。その上で、ターゲット判定を行う。 #ACVD #UNACVD

2013-11-03 09:38:19
Reffi @tomo1109_Reffi

そもそも認識は「ターゲット判定を行う為だけ」に存在していると思われる。他の用途に使われている形跡は今のところない。 #ACVD #UNACVD

2013-11-03 09:38:45
Reffi @tomo1109_Reffi

さて、ターゲット判定はいつ行われているのか?認識範囲に入ってくる敵は瞬時に認識されている。「入」の瞬間、ターゲット判定は実行されている。これはまず間違いない。 #ACVD #UNACVD

2013-11-03 09:45:19
Reffi @tomo1109_Reffi

「出」の瞬間にも、ターゲット判定は実行されているものと思われる。ここでは認識猶予時間の話はひとまず置いておく。 #ACVD #UNACVD

2013-11-03 09:47:54
Reffi @tomo1109_Reffi

更に、「出」の履歴を持っているオブジェクトが存在する場合、「出」の瞬間から認識猶予時間経過後にもターゲット判定を実行する必要がある。 #ACVD #UNACVD

2013-11-03 09:51:20
Reffi @tomo1109_Reffi

最後に、ターゲット評価チップのアクション間隔の周期でターゲット判定を実行する必要がある。 #ACVD #UNACVD

2013-11-03 09:52:30
Reffi @tomo1109_Reffi

あれ?何かおかしくないか??

2013-11-03 09:55:06
Reffi @tomo1109_Reffi

ああ、ターゲット評価チップのアクション間隔の周期で「ターゲット判定」は実行されないのか。実行されるのは「ターゲット評価」であって、両者は別物か。 #ACVD #UNACVD

2013-11-03 10:01:02
Reffi @tomo1109_Reffi

ターゲット評価チップで「ターゲット評価」が行われるとき、ターゲット判定はもう別のタイミングで完了している。「ターゲット評価」で行われるのは、「ターゲット判定」で抽出済みのターゲット候補に対して、優先順位を付けて1つを選び出すだけ。 #ACVD #UNACVD

2013-11-03 10:03:49
Reffi @tomo1109_Reffi

しかし「ターゲット評価」のほうはアクションチップで設定した周期とは別に、「ターゲット判定」と同時にも実行されるわけか。そうなる筈だよなぁ… #ACVD #UNACVD

2013-11-03 10:49:01
Reffi @tomo1109_Reffi

ところで、猶予時間がチップの設定によって変わるのは、当然何か理由があるんだろうな…理由もなしにこんなものは作らない。

2013-11-03 10:56:32
Reffi @tomo1109_Reffi

再評価周期が長いほど猶予時間も延びるのは、そうしないと再評価周期を伸ばしているのにコロコロターゲットが切り替わってチップ設定の意味が薄れるからか?

2013-11-03 10:58:35
Reffi @tomo1109_Reffi

「見えている」ことにしておけば、ターゲット判定と同じタイミングで実行されるターゲット評価の回数を減らせるもんな。なんかこれ、テストで発覚して後付けしたロジックっぽくてあまり筋が良くないやり方のような気もするけど…

2013-11-03 11:02:06

「目的地」について。

Reffi @tomo1109_Reffi

仮説の続き。同時に2つの目的地が存在することは有り得ない。新しい目的地が設定された場合、前の目的地は上書きされて消える。目的地が存在しないことはあり得る。一定時間以上目的地が存在しない状態が続いた場合、スタート位置巡回ロジックが目的地を設定する。 #ACVD #UNACVD

2013-11-04 20:46:32
Reffi @tomo1109_Reffi

@tomo1109_Reffi 補足。「一定時間以上目的地が存在しない状態」とは即ち、「ターゲットが存在しない状態」とほぼ同じ意味である。ターゲットが存在すれば、移動チップによって目的地が設定される。 #ACVD #UNACVD

2013-11-04 22:22:26
Reffi @tomo1109_Reffi

仮説続き。目的地に到達した瞬間に、(ターゲットが存在していれば)ターゲットとの間に遮蔽物がないか判定が行われる。遮蔽物が存在する場合、ターゲットと自機を結ぶ直線上の座標のうち、自機の位置から最も近く、射線の通る点を目的地として再設定する。 #ACVD #UNACVD

2013-11-04 21:08:09
Reffi @tomo1109_Reffi

仮説続き。マップ上には、UNACが侵入を忌避するエリアが設定されている場合がある。(水辺など。)侵入忌避エリアに自機が侵入してしまった場合、最も近い侵入忌避エリア外の一点が目的地として再設定される。 #ACVD #UNACVD

2013-11-04 21:23:54
Reffi @tomo1109_Reffi

仮説続き。侵入忌避エリア内にいる間、UNACは特殊移動チップを設定していなくても特殊移動を行う。 #ACVD #UNACVD

2013-11-04 21:24:15
Reffi @tomo1109_Reffi

仮説続き。侵入忌避エリアは、面ではなく空間である。水面上であっても全ての高さが侵入忌避エリアではない。 #ACVD #UNACVD

2013-11-04 21:37:26
Reffi @tomo1109_Reffi

仮説続き。侵入忌避エリアは、移動チップによる目的地及び経路の設定対象から除外される。 #ACVD #UNACVD

2013-11-04 21:40:52