人生

やっていきましょう

精神が酷く不安定になり、突然これまで躊躇っていた開発を行おうと思い立った。以前分岐Bからアクション要素を保留にしたが、いつもの自己破壊的な動機から敢えて困難に飛び込んでみて自分の精神を安定させようとした(自傷というのは自分に痛みを感じさせることで焦点が定まらない意識を現実に呼び戻す意図があるように思う)。

アクション要素の開発は以前やったことがあるが、投げスキルと当たり判定、それにボスのHPバーを変数と連動させるだけの単純なものだった。今回はそれを更に発展させた。すなわち①主人公のHP,MP,スタミナを示す3つのバー、②慣性カメラの導入、③スタミナと連動させたダッシュ機能、④設置テレポ、の4つである。

3つのバーについてはボスのHPバーを応用した。それぞれ変動するバーと枠を用意した。変動するバーは数値の増減に応じて左右に動く。枠はその数値の最大値に設定し、最大値を上げると増えるようにする。枠は必ずしも必要ないが、あると残りの数値が視覚的に把握しやすい。

慣性カメラは自分の動きを遅れて後追いするもので、これがあるとより臨場感のあるアクションを楽しめる。2Dアクションゲームなどにはよく実装されているが、さすがにこれを一から開発する技術は自分になかった。ウディタのコモンイベントから拝借し、慣性度合いをいじくって導入した(コモンイベントから見よう見真似で自作しても良かったが、イベントが複雑すぎて自分にはできそうもなかった)。

スタミナと連動させたダッシュ機能は自作した。ダッシュ機能自体はキー入力を押している間だけ移動速度を上げるイベントを並列実行で作ればいいだけだったので簡単だった。問題はスタミナと連動させる部分で、スタミナが切れるとキーを押しっぱなしにしていても走らないようにするにはどうすればいいかを考えなければならなかった。またダッシュを行っていないとき、スタミナをどう回復させるかを考える必要があった。

解決策は、①キーが押されているかどうかを条件判定、②スタミナが0を超えているかどうかを判定することだ。①と②を満たす場合スタミナを1減らして移動速度を4にし、①を満たし②を満たさない、つまりキーは押されているがスタミナが0のときは移動速度を3にする。①が満たされていない、つまりキーが押されていない場合は移動速度を3にする。このときスタミナがスタミナ上限に達していなければ1回復する。並列実行イベントはたしか1/60秒で発動するので、スタミナ上限が120なら2秒で全回復(または消費)する。

設置テレポは主人公のいる座標にマークを置き、スキルを発動すると瞬時にマークの場所に移動するというものだ。簡単そうだったのでこれも自作した。主人公のX座標Y座標をそれぞれ変数に代入し、その値に画面端に隠れているマークイベントを場所移動させる。このマークの設置を条件に、ワープスキルが設定されているキーが発動可能になる。ワープを実行するとこの変数で管理されている座標に主人公を場所移動させる。問題はその見せ方で何の演出もなく瞬間移動したら違和感がある。通常の場面移動のように一瞬画面を暗くすることを考えたがボス戦などで一瞬視界が遮断されるのが邪魔になりそうだった。そこで一瞬画面を真っ白にしてみたところ、視界は遮断されるものの違和感がほとんどなかった。それでこれを採用した。

何も方向性を考えず作ってみたが、これはこれで面白いと思った。用意したストーリーとうまく混ぜ合わせるともっと面白くなるという予感がある。