再度雛形作りに挑戦
ふむ…時には人と戯れるのも悪くはないでござるなあ…
あああああダークソウル3がやりたいでござるう
あああああ早くダークソウル3がやりたいでござるうう
…でもPCしか持っていないから4月までおあずけでござるう
…申し訳ありません、完全にトリップしておりました。
毎回シリーズ発売直前に陥る病気の一種です。お気になさらず。
さておき、作るゲームがハッキリ見えてこないので、ここ数日は
ひたすらアクションゲームの雛形を作っておりました。
基本的な部分(ジャンプ、移動中のアニメーションや当たり判定など)を固めた物があれば、似たタイプのゲームを簡単に量産出来るんでないか?という安易な考えからです。
猫ゲーは「platform movement」という、導入するだけで超簡単にアクションゲームの基本が作れちゃう便利アイテムを使用しておりましたが、折角なんでそれを使用せずに作成。
となると当然、主人公キャラの重力設定やジャンプの時の処理なんかも一から延々と組み立てて行くこととなります。
この当たりは以前にも書いたとおり、ペポソフト様の講座を参考にしながら組んでおります。
特に上画像のイベント行①で、
変数「重力」が変数「最大重力」以下の場合だけ、1フレーム毎に落下速度がどんどん速くなるよ
という処理を組んでおりますが、こいつを忘れると、例えば上下にスクロールするような縦長のステージを組んで、頂上から最下段まで落下すると、重力(=下方向への移動速度)が無限に膨れ上がって
光の速さでキャラが地面にブッ刺さる凶悪な鬼畜ゲーが誕生してしまいます。
また、今回は「2段ジャンプ」が使えるような設定を組んでいます。
変数でジャンプ可能回数を定義して、ジャンプボタンを押す度に、ジャンプ可能数を1マイナス。着地する毎にジャンプ可能数をリセットする、という仕組みですが、ここで苦労したのは、
ジャンプせずに、高所から落下した場合にどうやってジャンプ可能数を1マイナスするか?
という部分に地味に悩まされました。
何も定義せずに組んでしまうと、画像の×パターンのようになります。
「いや、それ3段ジャンプだから」となっちまうわけです。
これを○パターンに持っていくわけですが、これは言い換えると
「高所から落下している」状態をどう定義するのか?という問題になります。
PMOを使っていると「player on the ground」という便利な定義文があったんですが、自作の場合はそれもありません。
そこで考え付いたのは、
「ジャンプ中以外で、重力が1以上発生している時」
というもの。上の画像では7行目に当たる部分です。
説明しますと、
重力が1以上、と定義したのは、そうしないと床に接地しているだけで無限にジャンプ回数が減っていく為です。(主人公には常に微量の重力が発生している為)
ジャンプ中以外、の部分は、ジャンプボタンを押してから次に着地するまでの間を「ジャンプモード」という変数をフラグ代わりに認識させています。
ともあれこれで左右移動とジャンプ、当たり判定までの雛形が完成しました。
前回猫ゲーの反省を生かして、極力始めの段階でバグは潰しきっていく方向です。
で、ゲームとしては何を作るのか?という話ですが、今のところ考えているのは
①アイワナオマージュの鬼畜ゲー
まあどっちも手間と時間がおそろしく掛かりそうなので、決めかねております( ´_ゝ`)
とりあえずは雛形作りをもう少し進めて行こうと思います。
閲覧ありがとう御座いました。