人生

やっていきましょう

開発に行き詰った。主人公の技(ダッシュ攻撃)がうまく機能していない。問題は2つ、1つはダメージ処理が連続して起こってしまうということ。もうひとつは単純に技が発動しにくいということ。

主人公の攻撃は主人公とボスのマップイベントが衝突することで発動する。その処理自体に問題はない。問題は主人公がボスに向かってダッシュをすると、接触判定によるイベントを何十何百と実行してしまうということだ。

この連続衝突を回避するために衝突が起こった際にはボスのマップイベントを数歩引き離すことにしていた。しかしそれでも状況次第では起こってしまうのでどうしたらいいかと考えている。

ひとつの案はダメージ貫通を認める頻度を調整する処理を行うこと。前回述べた変数によるカウントを挟むことで連続処理を防止することができる。

もうひとつの案はマップイベントを軽く飛ばし物理的に距離を離すこと。アクション性が向上し楽しくなるが、問題はマップイベントを飛ばす方向と壁の判定だ。飛ばす対象は直線状(例えば自分が左にいたら右)に飛んでいかなければ違和感がある。また対象が飛んだ先が壁だったらそこから抜け出せなくなる。これらを管理するための処理を作ることはできるかもしれないが、現時点での想定ではかなり複雑になる。

もうひとつの問題は、ダッシュ攻撃という技そのものが発動しにくいということ。これはスキルというよりもスタミナの問題だ。序盤は少ないスタミナの中でどう対処するかということを試させたいと考えているが、このスタミナの少なさがダッシュによるバフの適用時間をひどく短いものにさせており、現時点でボスにダッシュをかすめたらヒット&アウェイで回避するという高度な技術を要するようになってしまい、ゲームの難易度を著しく高いものにしている。

また少ないのはHPも同様で、些細な1ダメージがかなり致命的なものになる。これらが合わさるとどうなるかというと、まずスタミナが少ないのでレベル向上バフの時間が少なくなる。バフのおかげでボスのレベルを上回っている場合は、バフが切れると下回るので被弾する。接触イベントが連続して起こるためにダメージは何十何百倍にもなる。その結果主人公は一瞬で死ぬ。

解決としてはスタミナを上げるということだがなるべくそれはしたくない。もし他にできることがなければそうするが、そうではなくまずは少ないスタミナでどう戦えるかを考えたい。おそらく連続処理の問題を解決できれば問題はより単純になる。まずはこの問題について考えてみたい。