敵の攻撃動作を作ろうと考えているうちに敷居の高さを感じ始めた。
攻撃動作を作るなら骨格を決める必要があり、骨格を決めるならそれが人間か獣か機械かなどを決める必要がある。
攻撃と一口に言っても人間が剣を振るか銃を撃つのか、獣が噛み付くのかひっかくのかなどで攻撃動作が変わる。
敵がどんな姿をしていて、どんな能力を持っているのか、など具体的な事がある程度決まっていないと攻撃動作を作れない。
3Dモデルが3D空間で動き回るという情報を肉付けするのはかなりの根気が必要になると思われる。
とりあえずこれを後回しにしてモーション無しで歩かせてみようとも思ったが、歩くアルゴリズムを考え始めるとまた課題が見えてくる。
視界に入ったプレイヤーに向かって真っすぐ突っ込んでくるだけなら実装は難しくないが、それではゲームとして単調になってしまう。
プレイヤーを見失った時はどうするか。
時間経過で持ち場に戻って待機するのか。探索しないと間抜けに見えてしまうが。
持ち場で待機しているときははただ突っ立っているだけなのか、歩き回るのか。
歩き回るならどこを歩くのか。ランダムなのか、決められた経路なのか。
これらのアルゴリズムの良し悪しがゲームの面白さにつながるのだろう。コーディングやツールの使い方といった実装する方法だけではなく、仕様設計でもはやり工夫が必要。
敵のアルゴリズムといえば、画面スクロール型のシューティングゲームの場合はこういった敷居は低いのではないかと思う。敵の動きは直線や曲線など単純で経路探索も不要のため、あらかじめ決められた動きで成り立つからだ。持ち場で待機するとかプレイヤーを探すという挙動も必要ない。
完成したものを公開するならどこを落としどころとするのか決める必要がある。
いっそのこと敵がいなくても成り立つゲームにするのも一つの手かもしれないが、それとも何とか頑張って素人なりのアルゴリズムで動き回る敵を実装するか。
考え事をするだけで全然進んでいない。
プロトタイプと割り切ってとにかく作ってみるしかないのだろうか。