プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
回避移動06
開発中のメイン画面
拠点付近の不審な動きや、後方に移動するケースは低減されたらしい。しかしまだ課題が残るようだ。



◎課題

前回に引き続き部隊移動を修正します。現在気になる点は以下の通り。

・拠点付近に部隊が多数集結すると挙動不審な動きをする

・斜め後ろに回避移動することが多い

・稀に侵入不可地形に侵入することがある

・橋の位置で進行方向が逆の味方部隊と向き合うと、
 両部隊共に立ち往生してしまう

・パフォーマンスの低下が激しい



◎拠点付近の不審な動き

拠点付近に部隊が多数集結すると挙動不審な動きをします。原因を調べると、以下のようなプロセスになってました。

1 拠点の範囲内に部隊が移動すると一旦入城する

2 任務が異なる場合はすぐに出陣する

3 移動先に味方部隊が存在すると部隊は停止する

4 拠点の範囲内で停止すると一旦入城する(1へ)

というわけで、入城→出陣→移動→停止→入城→…のループに陥ったようです。

ちなみに、先行部隊が移動すれば解消されるので無現ループではなく、ゲーム進行に影響はありません。とは言え、見た目はとても不自然なので、やはり改善は必須です。



◎仕様変更

この現象を回避する手っ取り早い方法は『中継拠点に入城しないようにする(仕様変更)』でしょう。

そもそも中継拠点にわざわざ入城する必然性は無く、単に「部隊が拠点の上を素通りするのは不自然に見えるから」という理由なので、見た目がマシな方を選択します。

…改修しました。挙動不審の問題は解決しました。

「部隊が拠点の上を素通りするのはいいのか?」

微妙なところですが、他の課題と比べると優先順位はかなり低いので、検討は先送りします。



◎後方に回避移動する問題

後方(斜め後ろ)に回避移動する原因がわからず悩み続けてきましたが、もしかしたら、移動経路にスタート地点のセルの中心座標が含まれていることが原因かもしれません。

移動経路にスタート地点のセルの中心座標が含まれる

というわけで、移動経路からスタート地点のセルの中心座標を除きました。

…以前より初動がスムーズになった気がします。
それは良いのですが、後方への回避移動が減ったようには見えません。

その後、目的地への到着判定や方向転換等を修正したものの、現象変わらず。プログラム的な問題ではなく、仕様上の問題かもしれません。



◎後方に回避移動する理由

仕様とプログラムの動きを細かくトレースして、ようやく気付きました。

後方に回避移動するケース01A   後方に回避移動するケース01B

1 前方が味方部隊で進めないので、移動経路を左前に変更する(左図)

2 左前セルに向かおうとするが、前方セルは味方部隊で侵入不可と判定されるため、移動経路を左セル又は左後セルに変更する(右図)

部隊の角度によって回避先が変わったり、移動速度が早いと前方セルを通過する(左前セルに行く)こともあります。再現性がバラバラで掴みどころが無かったのですが、ようやく原因が判明しました。



◎対処案検討

原因が判明したので、対処案を検討します。

案A
・現座標のセル中央に移動してから、回避先に向かう
 →現座標のセル中央に向かうということは、
  後方に移動すること
 →現象は軽減されるが、解決にならない

案B
・回避要否判定を前倒しにする
(部隊がセル中央に居る段階で回避要否判定を行う)
 →同一セルに複数部隊が侵入するケースが多発しやすい
 →乱戦になると不都合が多い

案C
・左右セルに移動してから斜めセルに向かう
 →左右セルの中央座標は目指さないこととする
  (斜め後ろに移動してるように見せないため)

というわけで、案Cを採用します。図に描くとこんな感じです。

案Cの回避経路01   案Cの回避経路02

回避移動の方向が45度単位から90度単位になるので、リアルさは若干低下しますが、同一セルに複数部隊が侵入するケースを減らすことを優先します。

尚、完全包囲を目指すなら、右図の経路A又はBが必要です。従来は経路Aでしたが、90度単位になると後方移動に見えるので、経路Aを廃止して経路Bを新設します。



◎実装

実装すると、全体的に良くなったようですが、不可解な動きも発生しました。

例えば、回避移動後に停止したまま方向転換のみ繰り返すケース。回避移動関連をチェックしても異常は見当たらず、少々悩まされたのですが、原因は別の所にありました。

次の移動経路に到着したかチェックする箇所で、高度(3次元のY座標)を含めた距離で比較していたため、移動経路にセル中央から外れた座標を指定すると、微小な誤差で「次の目標座標に永久的に到着しない」状態となってました。

この箇所はとりあえず2次元でチェックするよう改修します。

回避移動06

・停止したまま方向転換のみ繰り返すケースは無くなった

・通常移動の渋滞で後方に移動するケースは無くなった

・乱戦時の右往左往率は従来より低下したが、後方に移動するケースがある

・侵入不可地形に侵入するケースが増えた

侵入不可地形に侵入するケースは、通常移動から戦闘状態に突入するケースだろうと予想したのですが、このケースは非戦闘状態でも発生するようです。うむむ…。



◎次回予告

11月になったので、次回は「10月の総括と11月の目標」です。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。