2018/10/26 - 16:40

大整理

久しぶりに歩行グラフィック財二を描いたような。

本当は1ステージ終わらせるつもりでしたが、ストーリーや舞台背景を考えた時に不都合が生じたので先にアクションのほうに手始めました。
が、ちょっと面倒くさいことに。「○○やったほうがいいと思うけど面倒臭いからまぁいいよね!」と放置してたツケが来ました。わぁ。

そもそも何でこんなことになってしまったのかと言うと、
ジャンプ・落下・特殊着地判定がかなりゴッチャに入り混じってたことが元凶。
財二は人間なので空中でジャンプとかできる筈がない。
そのため、ジャンプの処理を行う場合は着地中かのフラグの判定をとってます。
また、例えば壊せるブロックや斜めの床とかの場合は特殊着地判定をとってます。
ここでの特殊着地の定義は「ウディタのマップをベースにして床や壁の有無を判定する場合、例えば毎フレーム1pxずつ動く」とかそういったものです。

……まぁここまでは良かったんですが、何が問題って「そもそも着地してるか空中にいるかを示す変数を作ってない」。
ジャンプ中・落下中とかを管理したり、特殊な床に着地してるときに1を返す変数が存在しても「空中か着地かを示す」変数がない。
結果として、例えば空中にいるかを確認する場合、
ジャンプ中?または落下中?→特殊な床にいない?(YES)→ハシゴ持ってない?(YES)
という具合に色々やる必要が出てくるように。
ぶっちゃけ今までは「面倒臭いな~」と思いつつも何とかなってたのですが、流石に今回は何とかならないような気がしてきました。
ってことで、このゴチャゴチャした処理を何とかする所からアクション処理の制作再開です。

長く書いてると支離滅裂になるしそれ以上に書いてて疲れてくるので、ゲーム内部処理に関する制作記事ってあまり書かずにtxtとかにガーーーっと書き殴りメモを投げるタイプですが、大体こういうメモってどこか行っちゃうので…。ってことで重要事項をメモがてら投稿。

Related Post

関連する投稿です
「雨夜行」3月の進捗:ゲームパッド対応とコンフィグの紹介
「雨夜行」2月の進捗と雑記
「雨夜行」新エネミー追加や今年のことなど