岩避けゲーム(仮)を作成する!素材作りから背景画像の配置について

ルーレットアプリが完成して、もっと本格的なゲームが作りたい今日この頃。

やっぱり王道はアクション系のゲームですね。

今回から、プレイヤーを操作して上から降ってくる岩を避けるゲームを作りたいと思います。

スポンサーリンク

「空から降ってくる岩を避けるゲーム」(仮)を作成する

はっきりとしたタイトル名が浮かばないのでとりあえず仮に「空から降ってくる岩を避けるゲーム」としておきます。そのままやんってね。

ゲームの素材を用意する

ゲームに出てくる部品は、ぱっと浮かぶもので次の通りです。

  • プレイヤー(キャラクター)
  • 背景
  • 操作ボタン
  • 体力ゲージ

得点要素とか絡んでくると、もっとたくさんの要素が必要になりますが、まずは基本になる素材から準備します。ゲームの基本が完成した後に改良を加えてアップデートしていくイメージですね。

まずは、ゲームのメインとなるキャラクターですが、仲間を引き連れてボスを倒すRPGとは異なるので主人公1人で十分ですね。

自作しようと考えましたが、絵が苦手なので今回はフリー素材のミニキャラクターをお借りしようと思います。今回は、ゲームグラフィック素材販売のぴぽや倉庫さんが配布しているキャラクターを使わせてもらうことにしました。

ちなみに、フリー素材でも各サイトによって利用規約が異なるので一読しておきましょう。

落ちてくる物体は、別に「岩」にこだわる必要もないんですよね。最初は岩の素材を探していたんですが、良さそうな素材が見つかりませんでした。ただ、もやっとボールみたいな落ちてくる物体としてふさわしい素材は山ほどあったのでそれを代用しようと思います。

背景は、地面が表現できれば問題なし。色もお好みでいいでしょう。

操作ボタンも「←」と「→」ボタンを両端に設置すればいい感じになると思います。タップした方向にキャラクターが移動する予定です。

体力ゲージは、どこかに表示させて空から降ってくる物体に当たると体力が減る形式です。もちろん体力0になったらゲームオーバー。

横長の体力ゲージ

ただ、体力ゲージを横長に配置してしまうと、上から落ちてくる物体と体力ゲージが重なり非常に見にくくなります。

円形の体力ゲージ

ですから、このように円形にすることでスペースを確保することが出来るようになります。この円形体力ゲージを見て、スーパーマリオ64を思い出したのは私だけじゃないはず。

プロジェクトを作成する

素材の準備が整ったところで、プロジェクトを作成していきます。

プレイヤーは左右に動くだけなので、「2D」でOKです。

エディターが起動したら、先ほど用意した素材をプロジェクトに追加します。

ちなみに、矢印ボタンと地面と体力ゲージの画像はペイントで自作しました。

今回も、Androidで動くゲームを作るので、ビルド設定はAndroidを選択します。

セーブも忘れてはいけないので、「File」→「Save Scene as」でシーンを保存しておきます。

キャラクターの配置について

まずは、主人公であるキャラクターをシーンビューに配置します。

インスペクタータブで座標を指定します。Pocitionの値を「0,-3.8,0」に設定しました。後で背景画像を配置した後に地面とキャラクターの距離を確認して座標を微調整します。

猫のキャラクターが配置されたシーンビュー

キャラクターは上の画像にて登場している可愛いミニキャラの猫にしました。避けるだけの動作なので丁度いい風貌ですね。

背景画像の配置について

次に背景画像を配置します。シーンビューで画面いっぱいに拡大して背景を覆い隠すようにします。

背景画像と猫のキャラクターが配置されたシーンビュー

背景を設置するだけでゲームのフィールドっぽくなりました。バランスが悪い場合は、下の黒い部分が地面なので猫がここに立っているように調整すればOK。

このような細かな調整は、マウスを使った方が綺麗に仕上がりますね。

ここで、注意しておきたいのがレイヤの設定です。パソコンを使って絵を描く人なら分かると思いますが、Unityの各オブジェクトにもレイヤ番号というものが存在します。

レイヤ番号は、大きいほど画面の手前に表示され、小さいほど画面の奥に表示されます。

つまり、レイヤ番号が正しく設定されていないと、キャラクターがゲーム上に出てこないなんて事が起こる可能性があります。

今回の場合、背景が一番後ろになるので「0」、プレイヤーを「1」にします。

この設定は、インスペクターの「Order in Layer」の値を変更することで出来ます。

レイヤ番号を指定する項目

複数のゲームオブジェクトを配置する場合は、前後関係があるのでレイヤ番号を設定する
次回は、キャラクターの動きを実現するためにスクリプトを作成していきます。今回はこの辺で。