5月22日に「1週間ゲームジャム」の新しいお題が発表されました、「転がる」でした。ようし挑戦だという気持ちはもちろんあります!
前回は、しゃんぐりらクリエイトさん、GreenBitさんと3人で制作しましたが、今回は各々で頑張るという方針となりました。
「転がる」というお題に対していろいろ考えることはできるとは思いますが、そもそもたいした技術力も実績もないため、王道(というか普通)で行こうと思っておりました。ボーリングをシンプルにした感じでよいかなーと思って作り始めたのがこちらです。
パワーを決め、方向を決めて、ピンに見立てた氷柱を倒す・・・。これもいろいろ調整していくと面白くなったかもしれませんが、この時点では面白くなく、ボーリング計画は中止しました。
その後、やはり2Dの横スクロールタイプで、転がったりジャンプするゲームにしようと計画。横スクロールのいわゆる「RUNゲーム」ってまともに作ったことが無かったので練習も兼ねる感じでした。まずは任天堂のマリオランを参考にしたのですが、よくできすぎていて参りました。試行錯誤と経験の積み重ねによりジャンプも走るもキレイにできているなーと感じました真似しようもない感じでした。
妻にキャラクターと氷を書いてもらい、私が魚(?)と背景を描いてみました。いやもちろんすべて書いてほしかったですが時間が^^;
ランゲームでは、キャラクターが自動で走りますので、いいタイミングでジャンプと転がるが出来ればまあ雰囲気はすぐできるだろうと思っていたのですが、途中の障害物(氷)にぶつかった時の挙動、ジャンプをする際に床に設置していなければできない制約を考えると、そう簡単には作れないことが徐々に分かってきました・・・。正直なめてました。
ランゲームの障害物は、横から当たったときは前進を止める動作、上に乗ったときは再度ジャンプできるようにする必要があります。悩んだ末、横からの当たり判定と、上に乗ったときの当たり判定を別々にせざるをえないと言うことに気づきました。
床に接地しているかを判定してからジャンプさせているのですが、ジャンプした瞬間にまだ設置している場合、ジャンプ中にもう一度ジャンプできてしまったり・・・。結局強制的にちょっと上に上げてからのジャンプというようにしてます。(実は穴に落ちたときはジャンプ連打で登れたり)
さらに障害物に乗ったときも床に接地している判定にする必要がありますが、キャラクターが斜めからぶつかる時に思ったような挙動でなく悩みました。一応それっぽくしましたが、もっとうまくできそうな気もします。
さらにさらに、転がるという機能でコライダーを縮小して狭い場所を通れるようにもしましたが、その途中で通常状態に戻すとおかしなことになたり・・・。結局頭の上をレイキャストで障害物チェックをしまして、それが無い時に通常状態になれるようにしました。これはうまくいったかと思います多分。本来床もこれで良かったのですが、今回はコライダだけとしました。
全体として、横に長いステージに障害物をおきまくっているのですが、このせいですかね、ちょっと動作が重いのは。思ったようなスムースさがでません(・_・;)
氷ブロックのしかけ(ひとかたまりの部分)は、1つの塊でプレファブをつくっておき、それを生成して配置していく方がよいかもです。ただ、長いステージを作るのがかなり面倒でした、ええ。
今回もなんとか時間内には提出できたのですが、課題は残ります。まあそこがゲームジャムの面白いところとも言えますが。
「しろいくま転がる」
しろいくま転がる | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
しゃんぐりらクリエイトさんも制作されてました。
Rolling Evolution | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
現時点ではGreenBitさんは未提出です。時間的に厳しいかな。
面白いかは別にして、今回も企画して最後まで作ることができました。そこだけは良かったなと。あと描いてもらった「しろいくま」は今後使いまわします!