ひとり1週間ゲームジャム

作った作品

f:id:danz1024:20171206011337p:plain

惑星ディフェンス | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

迫り来る隕石から太陽を守るタワーディフェンス型ゲームです。
軌道上を周回する惑星をポコポコ誕生させて隕石をふせぎます。

11月のUnity1Weekに参加できなかったため、ひとり1週間ゲームジャムとしてお題「space」で作ってみました。

目的

  • Unityを使って個人開発を始めたいため、その足がかりとして
  • アセットを使ってどれだけ効率化が図れるかを体感するため

目標

  • Unity2017系の新機能を体感する(仕事ではUnity5系しか使っていないため)
  • uGUIの使い方を覚える(仕事ではNGUIしか使っていないため)
  • 購入したままで未使用だったアセットの使い方を覚える
  • WebGL出力とUnityRoom投稿の知見を得る

1週間の流れ

11月29日(水)から12月5日(火)までの7日で開発

  • 1日目:アイディア出し、仕様の整理
  • 2日目:使用アセットの選定
  • 3日目:簡単なプロトタイプ作成
  • 4日目:UI設計、画像作成
  • 5日目:PG
  • 6日目:演出強化(エフェクトやBGM/SE)
  • 7日目:UnityRoomへの投稿準備やブログ書き

使用したアセットの説明

Core GameKit

隕石の発生や惑星の体力管理、オブジェクトプーリングのために使用しました。
名前だけをみるとゲーム開発の基盤アセットのように思えますが、実際にはゲームオブジェクト生成+オブジェクトプーリングシステムといったところです。
敵がワラワラ出現するシューティングなどを作る際にはいいベースとなりそうです。

Energy Bar Toolkit

太陽の体力ゲージの実装に使用しました。
ドキュメントを見ずともやりたいことが実現できました。
時間があればそれぞれの惑星にも体力ゲージをつけたいところです。

UniRx - Reactive Extensions for Unity

スコアなどの値が変わった際に画面の表示を更新するために使用しました。
今回初めて使用しましたが、時間が足りなかったためReactivePropertyのみ利用しました。
いつかは使いこなしたいものです。

DOTween (HOTween v2)

隕石の移動や画面の揺れなどに使用しました。
Tweenライブラリの決定版だと思います。

Vectrosity

惑星の軌跡(円)を描画するのに使用しました。
点滅とかもできるためもっと活用したかったのですが、時間が足りず断念しました。

Cartoon FX Pack

太陽が消滅したときのエフェクトなどに使用しました。
高品質なカートゥーン調のエフェクトがこの値段で買えるのはアセットストアのいいところだと思います。

Cartoon FX Pack 2

エフェクトシリーズ第二弾。
太陽をクリックしたときのエフェクトなどに使用しました。

Cartoon FX Pack 3

エフェクトシリーズ第三弾。
隕石が当たったときの爆発エフェクトなどに使用しました。
シリーズ全部揃えてもお手頃価格です。実は第四弾も持ってます。

Universal Sound FX

ゲーム内で使用しているすべてのSEに使用しました。
こちらも数が多く高品質です。

Ultimate Game Music Collection

タイトル画面とプレイ中のBGMで使用しました。
BGM系のアセットは数点購入していますが、今回はこちらを選びました。
わりとイメージに合うものがあってよかったです。

Hierarchy PRO +Presets And Selections

ヒエラルキービューに様々な情報を付け加えてくれるアセットです。
類似アセットとして普段はHierarchy2というアセットを使っていますが、安かったので購入して使ってみました。
機能的には必要十分で、何より激安。今回の中で一番のオススメアセットです。

Editor Console Pro

普段はConsole Enhanced Pro(有料版)を使っていましたが、2017には未対応のようなので導入しました(βは配布されている模様)。
コンソールログの検索機能が付いているため必需品です。

Odin - Inspector and Serializer

インスペクターの使い勝手が向上するということで今回使用してみました。
特に何もしなくてもListなどがいい感じに表示されました。
使いこなせば自分でエディタ拡張を書かなくてもある程度はカバーできそうなので、引き続き利用していきたいと思います。

Script Inspector 3

MonoDevelopやVisualStudioで開かずとも、Unityのインスペクター上でコードを修正できるアセットです。
特に開発中盤以降、トライ&エラーで動作確認しているときなど、コードをちょっとだけ変えたい場合に重宝しています。

Rainbow Folders

プロジェクトビューのフォルダの表示を変えられるアセットです。
開発が進むにつれて何かとフォルダが増えていきますが、これを使うと視覚的に目的のフォルダが見分けられて便利です。何より気分がちょっとだけ上がります。

まとめ

今回は1週間で開発を行いましたが、当初の目標はある程度達成できたと思います。
特にアセットを使うと本当に効率が上がることが実感できたことが収穫でした。
(UniRxなどまだ使いこなせてないものも多くありますが…)
また、uGUIについてもそれほど違和感なく使用できました。

正直なところゲーム内容としては企画段階の半分くらいの機能しか入れられなかったため、今後時間があればアップデートしたいと考えています。
特にランキング機能が入れられなかったのと、レベルデザインが絶望的なのが心残りなので、そちらは優先度が高いです。

なんにせよ、実際に開発してみないと得られない知識はいい収穫になりました。
今後はUnity1Weekなどにも積極的に参加していきたいと思います。