【Unity】【開発日記】障害物を増やしたりカメラワークを取り入れたりしてみた
どうも!たぬきすです。
現在、横スクロールシューティングゲームを作っている最中で、アニメーションも追加でき、徐々にクオリティが上がったような気がします。内容はこんな感じ、
ただ、まだまだゲームとしては単調です。今はまだ平地に敵を振りまいているだけですので、これから障害物をどんどん追加していきます。
障害物の追加
まず最初に考えたのは、2Dシューティングの定番のこの二つです。
みての通り木箱と爆発物です。木箱は結構凝って描いたので自信作です。爆発物は、色を赤くして中央に!マークを付ければそれだけでそれっぽくなります。あとはこれらにコンポーネントとスクリプトを持たせてやったらこんな感じになりました。爆発物の実装は記事にしようか考え中です。
GamePlay ExplosiveCan & woodBox 2020/2/16
これらをバラまくだけでゲームのバリエーションが増えましたが、弾が前方からしか飛んでこないのは面白くないですね。もっと高低感を出した方がプレイ中の緊張感も上がる気がします。ここで思いついたのが、高台とヘリコプターです。この二つの実装で高いところに敵を配置します。実装したところ、こんな感じになりました。
ヘリコプターの挙動はこだわりました。プレイヤーの座標を受け取って倒されるまでつきまとってきます。ですが、ただプレイヤーの座標から位置を変えるだけではちっともヘリコプターらしい動きをしないので、2秒おきに前後左右に機体が移動するようにしました。これだけでかなりヘリコプター感を演出できます。
とりあえず障害物のバリエーションはこれくらいにしとこうと思います。他にいいアイデアが思いついたら追加しようと思います。こればっか考えているとキリがなくて先に進めなくなりますから笑。
カメラワーク
あと前々からどうにかしたいと思っていたのがプレイヤーに追従するカメラの挙動です。カメラがプレイヤーにぴったりくっついてくるのは違和感しかないんですよね。何か方法はないものかとネットで情報を探した結果、良記事を見つけてきました。それがこちら
この記事では3つのカメラワークの紹介をしていますが、その中でもLerp減衰は私が求めていたカメラワークでした。Lerp減衰が簡単にいうと、プレイヤーの移動に遅れてカメラがついてくるカメラワークです。2Dスクロールゲームだと見かけないことがないくらいよく使われる手法だと思います。実装方法はこの記事を読めばできますし、何より数行のコードでできます。
今回の改良の結果
こんな感じで改良を重ねた結果、こんな感じになりました。
期待した通り、敵の攻撃に高低感が生まれ、より緊張感のあるゲームになりました。敵の弾丸を避けるための木箱を利用もゲーム攻略の幅を広げられたように感じます。何より、カメラワークを改善するだけでゲームの臨場感がここまで上がるとは思っていませんでした。
しかし、まだまだゲームとして成り立たせるには足りないものばかりです。これから効果音、UI、背景、メニュー、ゲームレベルを全て完成させなければなりません。一人でゲーム作るのは楽しいけど大変です汗。まあ焦らずぼちぼちやっていきます。また進んだら記事にしようと思います。
ではまた!