ねこ巫女籠城ゲーム開発(敵の建物乗り越えについて)
前回、建物の防御率について決めたので今回は敵が柵や建物の乗り越えるときの仕様を決めて実装していきます。
実現したいこと
ユニットの移動について
- 石垣の斜面に沿った移動になるようにする。
- 壁(木柵、板塀、土塀)を乗り越えるような移動になるようにする。
- アーチ橋を渡るときにはアーチに沿った移動になるようにする。
という処理を実現できるようにします。
櫓はまっとうな方法で乗り越えられる気がしないのですが、ゲームなので敵が乗り越えてくるようにします。櫓も土塀なんかと同じ壁とみなして、少し登れば侵入できる仕様にします。
↓櫓の例
実現の方法
これらを実現するために「建物の上を移動するときには、その建物に登録したメッシュに沿って移動する」という仕様にします。今のところ対象は壁(木柵、板塀、土塀)、石垣、橋、櫓の外側の壁です。
↓石垣の斜面の例。石垣の場合はこの斜面部分のメッシュを点列データで用意する
そしてユニットには「移動している建物が提供するメッシュを利用する」という実装に加えて「メッシュの傾斜に応じて移動速度とモーションを変える」「メッシュの傾斜に建物ごとの移動コスト(登りにくさ)を定義できる」という実装ができればよさそうです。
実際にはメッシュを建物外のクラスに利用させるのではなく「この位置にいるときの傾斜と移動コストはこれ」という値を返す実装にするかもしれませんが、処理としてはこんな感じでいきます。
まとめと今後の予定
敵味方のユニットが平地以外の移動をどうするかについて仕様を決めました。
敵が侵攻してくる実装にはそろそろ着手したいので、そのときにこの仕様を実装していきます。がんばります。