ここからあそこ
ステージセレクトも整えてきました。
クリエイター支援サイト Ci-en
フォローするにはユーザー登録が必要です。
希杖しほな 2023/10/06 23:00
こんにちは。
敵を倒していくゲームではなく危険を避けて進んでいくゲームですので、危険物はすべてトラップなどの無機質なものでも良いとも思えます。ですが、画面内に動きを付けたいと思い敵キャラクターの形をとるのもありだと思いました。
弾を飛ばすだけですし、適当な見た目ですが存在感は感じられます。このキャラクターを出した後に同じように弾を飛ばす気づかれにくいトラップを出せば、それはそれで面白みが出てきそうな気もします。
機能が同じ内容ものでも、目立ち度、姿かたち、動き方とかを考えるとかなりの自由度があり、戸惑いを感じてしまうこともありますね。ゲームを作る人にとってはこの試行錯誤が楽しいところでもあり、またユーザーには最終結果しか届かないので気づかれにくい労力だったりするのではないかと思うところです。
以上、おしまい。
希杖しほな 2023/09/27 23:00
こんにちは。
トラップやギミックを実装しようと思っていたところ、衝突の検知の部分で少し詰まってしまいました。
GODOTではあるオブジェクトが他のオブジェクトを検知する方法として「ボディ系」「エリア」そして「キャスト系」の3つのノードを使うことが普通です。
この中でボディ系のノードは移動と衝突を同時に実行する便利な関数があります。
当初この関数を使って衝突したオブジェクトを検知させようとしましたが、ボディ系のノードをつかった場合、同時に複数のオブジェクトにぶつかった時に問題を感じたのです。
問題といってもエンジンの仕様なので実際には問題ではないのですが、ボディ系では複数のものに同時にぶつかったように見えても実際にはボディの動きを止めたオブジェクトだけを取得するのです。
上の動画ではジャンプした時に白い四角にづつきをしています。
後半では同時に2つの四角に対してづつきができているのがわかるでしょうか。
ボディ系のノードの関数で実行した場合には同じようなことをしてもどちらか一方しか反応しません。しかもどちらが反応するのかランダムのようです。
このようなことから面倒ではありますが方法を変える必要が出てきました。そこで使ったノードがキャスト系のノードです。
このノードは移動の関数を持たない代わりに衝突に関して言えば専門のノードです。移動と同時にこのキャスト系のノードで衝突を求めれば、複数のオブジェクトを同時に取得できました。結果は動画の通りです。
うまくいかないコードを作り直すのは疲れますね。
以上、おしまい。