【Unity1week】「ふる」に参加したゲームの振り返りを行う

Unity1week「ふる」に参加しました。
先週は宣伝だけの記事でしたが、今回はこのゲームの振り返りを行いたいと思います。

目標

チーム内の目標

今回は友達を誘って複数人で開発を行いました。
プログラマー2人、ゲームデザイナー1人です。

チームで制作する上で、「無理をしないで期限内に提出することを目標としました。

私を含めてみんな仕事があり、使える時間が限られています。
そのため、内容をしっかりさせるよりも、
期日までにきっちりと提出できるゲームを作成することを目標にしました。

個人的な目標

私は1weekに参加するときに必ず目標があります。
それはアーケードゲームのような1プレイが短いゲームを作る」ことです。

どれだけ長編を作っても万人が最後まで遊んでくれるとは限らない、
頑張って作っても1週間というかけた時間のコストにに見合わないと思っています。
短時間で要素を詰め込むことを目標としています。

技術的な目標

今回はゲーム開発に専念できる環境づくりとAudioMixerを使うこと目標としました。

複数人に分かれて作業を行うため、ある程度の汎用的な機能は作成して置き、
ゲーム開発部分に専念できるようにしようとしました。

また、AudioMixerのフィルター機能を使い、
視覚以外でゲームをアプローチできるようにしようと思いました。

0日目

6/18(日)
作業時間:約12時間
作業内容:基礎環境づくり

1weekが始まる前日。
実制作でゲーム作りに専念させるために、シーンのロード・アンロード周りや、
トランジション・音響周りはここで作り切りました。


Githubリポジトリ準備もここで行いました。
当初はSVNを使う予定でした。が、完全にすっぽ抜けていました。

1日目

6/19(月)
作業時間:約2時間
作業内容:ゲームのコンセプトを決める

お題「ふる」が発表されました。


discordで集まってどんなゲームを作るか話し合いました。
案出しにはpurerefを使い、画面共有しながらアイデアだしをしていきました。
画像をドラッグ&ドロップするだけで貼り付けられるので、資料集めにおすすめです。
www.pureref.com

振り子運動だったり、雨を降らせたり。
その中でペンライトを振るという案がでました。

プリキュアの映画みたいに振って応援したらパワーが溜まり、攻撃を行う!
というゲームのコンセプトが固まりました。

2日目

6/20(火)
作業時間:約2時間。
作業内容:ゲームのコンセプトの再確認・仕様決め

誰がどの要素を担当するか、内部パラメータはどうするか、
ドット絵のパレット色の統一、ルールなどなど…。

私はゲーム進行と、敵周りの実装を行うことになりました。

3日目

6/21(水)
作業時間:約2時間30分
作業内容:敵周りの機能実装

デバッグキーで動作できるようにし、敵の基本的な実装はここで完成していました。
また、パラメータはScriptableObjectで外部化しました。

4日目

6/22(木)
作業時間:約3時間30分
作業内容:ゲームの開始・終了・制限時間・背景の機能実装

0日目時点では仮でUIのボタンでシーンの切り替えをしていましたが、
制限時間によって切り替えを行うようにし、演出については後日Animatorで演出できるように作成しました。

背景実装は前回の1weekで作成したものを流用しました。
SplurgeShooter | フリーゲーム投稿サイト unityroom

5日目

6/23(金)
作業時間:約5時間30分
作業内容:タイトル画面処理・敵生成処理見直し・爆発エフェクトの作成

敵生成処理はInitalize・Destroyを使って動的に生成削除を行っていましたが、
ObjectPoolを使ってアクティブ状態を切り替えて、動作が重くならないように作成しました。
docs.unity3d.com

ここでゲームの一連のフローが完成しています。

6日目

6/24(土)
作業時間:約9時間30分
作業内容:敵処理見直し・経験値処理

3日目に作成した敵の処理を見直しました。
かなりぐちゃぐちゃになっていたので整理。
また、プレイヤーに送る経験値処理を追加しました。

7日目

6/25(日)
作業時間:約12時間30分
作業内容:エフェクト作成・タイトルロゴ作成・タイトル演出・リザルト処理/演出

提出日当日。
ロゴとタイトル処理が完成していなかったので作成しました。
リザルト画面を一つも手を付けていなかったので急ぎで作成しました。


ここで、ビルド!!!…するのですが不具合が二つ発生しました。

一つ目はVFXを使ったエフェクトが使えないこと。
敵のビジュアルはVFXを使って作成していたのですが、描画されませんでした。
こちらはGameObjectを追加してSinを使って拡縮を行う手法に切り替えました。

二つ目はAudioMixerのフィルター機能が使えなかったこと。
もともとはこのフィルター機能を使って一つの曲だけで完結させる予定でした。
こちらは新しくリザルト用の曲を探す時間がないため、このまま提出することにしました。


紆余曲折ありつつ22:30に提出できました。

8日目

6/27(月)
作業時間:約1時間30分
作業内容:見た目のバグ修正・SEの追加

日を置いて改めて遊んだ時に、敵の体力ゲージが1メモリ空になっていたので修正しました。 また、効果音が足りないことに気づいたため追加しました。


9日目

6/28(火)
作業時間:約1時間
作業内容:音響周りの修正

AudioMixerまわりを触ったためリザルト→タイトルに戻った時に音量設定がリセットされる不具合がありました。
こちらはコメントで気づいたため即座に修正しました。


良かった点

"期日"に提出することが出来た

過去2回で提出したゲームでは、制作が間に合わずに
翌日の3時に提出していました。

今回は24時を過ぎることなく期日に作ることが出来て良かったです。

チームで制作することの知見を得られた

作業を分担すること、チーム制作の難しさを改めて知ることが出来ました。
一人で絵・BGM・プログラムを担当する必要がなく、心の余裕はかなりありました。

反省点

タスクを抱え込みすぎている

作業内容を振り返って見たときに、作業分担の割合が偏っていると感じました。
チームメンバーの作業時間が短いとかではなく、単純に自分が抱え込みすぎだと思います。
普通に喘息になりました。無理をせずチームメンバーに相談すればよかったです。

20時までに終わらなかった

ビルドしてからバグに気づいて慌てて修正していました。
これは下調べが不足していると思います。

基礎環境の準備不足

頑張って基礎環境を作ったけれど、あまり活かせていなかったと思います。
汎用的なものをもっと用意してゲーム部分に専念できるような環境を整備したいと思いました。

おわりに

色々ありましたが、期日までに提出することが出来て良かったです!
今回は友達を誘って参加しましたが、次回は別の人と制作するか、また個人で制作したいと思います。
反省点を活かしてもっと面白いゲームを作りたいです!

作ったゲーム

unityroom.com