rn.log

備忘録など

【ゲーム制作】Unity1Week(お題:密)に参加しました

 

はじめに

1週間ゲームジャム「Unity1Week」に参加してみました。

今回のゲームジャムのお題は「密」でした。

unityroom.com

 

作ったゲーム

地球に迫ってくるエネミーをレーザーとショットで破壊するシューティングゲームを作りました。

 

www.youtube.com

unityroom.com

 

Day 1 : 何を作るか決める

密という言葉から以下を連想しました。

 

「密」

-> 「エネルギーが集まる 」

-> エネルギーを溜めて(密)、レーザーを撃つ 

-> 派手なレーザーをぶっ放す

 

どういうゲームにするかはまだ決まっていませんでしたが、

「かっこいいレーザーエフェクトが作りたい!」

という熱い情熱で作業を始めました。

 

Day 1,2 : リファレンス収集

筆者はレーザーエフェクトをほとんど作ったことがなかったため、

かっこいいレーザーエフェクトって何だろう?

という状態になりました。

そこで、ネットでレーザーエフェクトを収集することにしました。

(ゲーム制作そっちのけでレーザーエフェクトのリファレンスを集め始めるダメな人)

アセットストア

assetstore.unity.com

 

Day2, 3 : レーザーエフェクトを試作

アセットストアのレーザーエフェクトを参考にしつつ、

以下のようなレーザーエフェクトを作成しました。

テクスチャはSubstanceDeisngerやAfterEffectsで作成したものを使用しています。

www.youtube.com

 

レーザー用のシェーダーはShaderGraphで作成しました。

4枚のグレースケールのノイズテクスチャを合成し、最後にRampテクスチャで色を付けています。

f:id:r-ngtm:20200503214657p:plain

 

Day2, 3 : ゲームへのレーザーの実装

レーザーを画面中央から撃たせたらゲームっぽくんじゃないか」と思い、

画面中央からマウス位置へ向けてレーザーを撃たせるようなシステムをUnityで実装してみました。

youtu.be

何となくゲームっぽいですが、ゲームにはなっていません。

 

Day 4 : ゲームっぽい要素をつけ足す

ここでゲームらしさを出すため、シューティングゲームの要素を導入してみました。

  • 宇宙
  • エネミーがプレイヤー位置(画面中央)へ向かってくる
  • 攻撃をエネミーに当てるとエネミーを倒せる

www.youtube.com

 

見た目はゲームっぽくはなりましたが、まだ面白くはない状態です。

 

Day 4 : 制限を設ける

ここで、

ある条件下でのみレーザーが撃てるようにしたらどうだろう

と思い、

エネルギーが最大の時だけレーザーを撃てる

という制約を設けてみました。

ayoutu.be

円形のゲージは何となくオシャレそうなイメージがあったので円形のゲージを入れてみました。

 

Day 5 : 破壊エフェクトを入れてみる

ここで私は思いました。

「画面が地味で面白くない。敵を破壊したときのエフェクトを入れよう。」

 

エネミー破壊エフェクトを入れたものは以下になります

youtu.be

破壊エフェクトを入れたことにより、何が起きているのかが分かりやすくなったのではないでしょうか。

 

何が起きているのかが分かりやすいという工夫の積み重ねが、最終的なゲームの面白さにつながると思う昨今です。

 

Day 5 : エネミーに数字を入れてみる

ここで、

「エネミーに数字を乗せてみたらどうなるだろうか」

というアイデアが湧きました。(深夜にシャワーを浴びているとき)

 

エネミーにの体力を数字をとして表示したものが以下になります。

www.youtube.com

 

 

着想元 : Ballz

数字を入れるというアイデアは、

2017年ごろに流行ったBallzというゲームから着想を得ました。

www.4gamer.net

 

 

Day 5 : エネミーを遅くする

ゲームを遊んだ私は思いました。

「エネミーが唐突に出てきて何が起きているのか全然わからない。速すぎる」

 

そして

「エネミーを遅くすれば分かりやすくなるのではないか」

というアイデアが下りてきました。

 

エネミーを遅くしたものは以下になります。

youtu.be

今回のU1Wのテーマが密だったので、なんとなくエネミーを密集させてみました。 

 

 

ゲームをテストプレイした私はこう思いました。

「画面上に映っているエネミーに対して、どうやって攻撃を与えるかを考えさせるゲームにしたら面白いのではないか」

ゲームの方向性が固まりました。

 

Day 5 : ショットを実装する

私はこう思いました。

「攻撃手段がレーザーだけというのは、行動の選択肢が少なすぎてつまらない。

STGでおなじみの通常ショットを入れてみよう」 

 

通常ショットを入れたものが以下になります。

youtu.be

円形ゲージは分かりにくかったので、長方形ゲージに置き換えました。

プレイヤーの視線は画面中央の地球に集中しそうなので、地球付近にUIを配置することにしました。

 

ようやく、ゲームになりそうなイメージが湧いてきました。

 

Day 5 : 音を入れる

効果音を入れる際には以下を意識しました。

  • 敵が弾に当たったかどうかは重要な情報なので、ヒット音は目立たせる
  • レーザーの音はトランスフォーマーあたりのSF映画的な音が欲しい(グォーン↓、ゴゴゴゴ的なイメージ)

youtu.be

 

レーザーの音はPro Sound Collectionの中にイメージに近いものがあったので採用しました。

assetstore.unity.com

 

通常ショットは10回/秒の連射スピードに落ち着きました。(テンポ感が気持ちよかったので)

 

Day 6 : 敵にバリエーションを持たせる

敵が1種類だけというのは単調でつまらないため、複数の種類のエネミーを用意することにしました。

youtu.be

見た目を分かりやすくするため、プレイヤーの攻撃色の黄色とは被らない色を採用しています(赤・緑・青)

 

エネミーの違いを分かりやすくするため、以下をイメージしてエネミーを設定しました。

  • 青 = ザコ敵(やわらかく、遅い)
  • 緑 = 強敵(硬くて速い)
  • 赤 = 変則的な動きをする敵

 

強敵(緑色)を優先してレーザーを当てる、というプレイスタイルを作れたのではないかと思います。

 

Day 7 : ラスボスを用意する(完成)

最後にゲームの締めとなるラスボスを作成しました。

今までの戦いとは違う何かが起きている」ということを強調させるために

ボス戦では熱いロック調のBGMを流してみました。

youtu.be

 

その他工夫したポイント

  • レーザー撃った瞬間はBGMの音量を小さくする
  • 弾のヒット音の音程を少しランダムにする

まとめ

今回、ゲームを決めないままエフェクトから作り始めるという危ない橋を渡ってしまいましたが、奇跡的にゲームとしてまとめることができました。

運が良かったのではないかと思います。

 

シューティングゲームのエフェクトを作ってみたい、という

長年の夢が叶ったのでとても楽しかったです。