プロフィール

Na-7

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


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
部隊移動調整03
開発中のメイン画面
部隊が川に侵入するバグが多発していたが、ようやく解消されたらしい。



◎侵入不可地形への侵入

先日の改修により、全般的に動きが良くなった反面、侵入不可地形に侵入するケースが増えてしまいました。その部隊を攻撃しようとした敵部隊が「ターゲットへの移動経路無し」状態になるなど、2次的な問題を伴うので、かなり支障があります。

侵入不可地形に侵入するケース01

上図の地形において、部隊が橋(道路)の対角線から少しでも外れると、移動途中で侵入不可地形に侵入するケースが発生します。

このケースが非戦闘時も発生する理由が判らず悩んでいたのですが、

・中継地点到着判定の変更(完全一致 → 不完全一致)
・回避移動時の中継地点はセル中央を目標としない

上記改修によって、対角線から微妙に外れるケースが増えてしまったようです。



◎検討

前出のような地形で、(乱戦時においても)移動不可地形への侵入を防ぐには、仕様を根本から見直す必要があります。

A案
・部隊はセル単位で移動するよう徹底する
 →移動の途中で戦闘が発生しても、
  必ずセル中央まで移動する
 →回避移動等で後方に移動するケースを甘受する

B案
・移動可否判定において、斜めは不可とする
 →前述の地形は移動不可となる
 →マップの再デザインが必要
 →侵入不可地形の近辺では90度単位の移動となる

いずれの案もリアルさが従来より低下しますが、そもそも移動可否判定がセル単位(正方形)である以上、避けられないと思われます。

で、どちらがマシか考えると、B案は内陸部では従来通り(45度単位又はフリー)で動くので、こちらの方が影響が少なさそうな気がします。



◎試行

地形画像を作り直すのは大変なので、とりあえずカラーマップとプログラムだけ修正して試してみましょう。

あれ?何も変わらないような…あっ、経路探索で移動可否判定が呼び出されてないですね!(既存バグ発覚)

通常は経路探索で道路沿いに移動するので気付きませんでしたが、道路が無くても斜めの川を横断可能だったようです(汗)


既存バグを修正し、初期配置方法も変更して試すと…(再現性は激減したものの)侵入不可地形に侵入するケースがありました。

…何故?
理論上の問題?
プログラムの問題?



◎原因調査

調べてみると、経路探索移動で侵入不可地形を斜めに横切るケースがあるようです。…えっ?経路探索を修正したのに、何故このケースが発生するの?

…このケースは経路候補エッジから除外されていることを確認しました。では何故経路候補エッジに存在しない経路が選択されてしまうのか?

…わかりました!
経路探索処理の最終段階で、最初の経路にスタート時の座標をセットしていたのですが、これによって最初の経路が上書きされて消えてしまったことが原因でした。
(これも既存バグ)

最初の経路を上書きした場合

回避移動処理をコメント化すると現象が発生しないので、てっきり回避移動に問題があると考えていたのですが、通常の経路探索に問題があったのですね。

…修正後は、侵入不可地形に侵入するケースが解消されました!!

(補足:乱戦になっても現象が発生しないのは、新方式の効果です)



◎マップイメージ再作成

プログラム的にOKとなったので、新方式に沿ってマップイメージを再作成します。

マップイメージ再作成01

うーん…道が太い所はちょっと不自然ですね。
新方式のルールに反しない範囲で、なるべく自然になるよう作り直しましょう。

マップイメージ再作成02   部隊移動調整02

…こんなもんかな?

部隊移動が安定し、見た目も不自然にならずに済んだようなので、とりあえず一安心です(^^)



◎次回予告

長く悩まされ続けたバグの原因が、ようやく特定できました。
それにしても、たった1行のミスで…プログラムの怖いところですね(^_^;

移動経路が安定したので、次回はパフォーマンスの改善に取り組みます。

スポンサーサイト

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

コメント

コメントの投稿


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

トラックバック


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



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