人生で初めてGameJamに参加した話
UnityRoomで催されている「Unity1週間ゲームジャム」に参加してみたのでその記録。
Unity1週間ゲームジャムのルール
- 月曜日0時にお題発表
- 同じ週の日曜20時が締め切り(UnityRoomに登録)
- WebGLで出力して提出する
いままでの開催はだいたい仕事ヤバい期間と被ってて手も付けらずという感じだったのですが、今回はちょっと時間が取れそうな雰囲気だったので一念発起しました。
……まあ、月曜の夜までお題発表されてたこと忘れてたんですけどね……
ゲームの内容
できたゲームはこちら。 - 敵弾にカスると反撃のショットが撃てる(自動照準) - 自機の中心に当たるとゲームオーバー - 敵は4種+ボスをそれなりに難易度カーブを考えつつ出す - ボス倒したらランク上げてループ
「ぎりぎり」がお題ということで弾にカスって何かするSTG寄りのものを想定。 DNAさんはWebGLとの相性が致命的に悪く、これまでに作ったUnityアプリはWebGLだと起動すらしないという残念っぷりだったので、とにかくゲーム本体はなるたけ手早く(でもそれなりにウチっぽさは出す)、WebGLで確実に動かすためテストは着実に、という方針をとりました。
ブラウザゲーなので操作は少なく、でもただの避けゲーはありきたり、ということでカスリで撃ち返し弾を放つ以外の攻撃方法がないSTG、ということに決定。
連続カスリでたーのしーって感じを出すためコンボ、連続カスリでの攻撃力強化(弾数UP)などお勤めの行き帰りで方針を決定し、帰宅して実装のスタイルで進めました。
アセットとWebGL対策
とにかくWebGLエクスポートできなければ話になりませんが、かといってUnity標準のSkyboxまんまとかArialとかも使いたくない、ということで、ともかく作りたい画面を作ったら、新しいアセットを入れたら、その他なんか変更があったらまずBuildしてブラウザで走るか確認、という地道な手順で開発を進めました。時短に使えるものはなんでも、ということで買ったきりだったアセットもかなり投入しています。
- 背景はAllSkyの宇宙テクスチャ
- フォントはitch.ioで買ったフォントパックから
- ゲームの状態遷移はお馴染みArbor 3
- 敵出現順の管理に Advanced Spawn Manager なるアセットを投入(時間あるなら自作するんですけどね……)
- 自機の攻撃力を示す(かつ、カスリ有効範囲を示す)円ゲージはAmplify Shader Editorで自作
- あとAAとBloomが欲しかったのでPost Processing Stackも投入
幸いWebGLとの相性BADなアセットはなく、なんとかスムーズに作業は進みました。 唯一、Trail Rendererだけはなんでか不思議なレンダリングになってしまったので泣く泣く削除。自機ショットに尾が付いたらキレイダナーとか思ってたんですが無念。 スクリプト部分に関係はありませんがBGMもアセットストアで購入したものを使っています。
WebGLで動かないとかWebGLでしか起こらないトラブルなどはなかったのは幸いでした。最後、SpawnManagerに起因するコルーチン無限ループのフリーズが発生して頭を抱えましたが、Panic buttonを導入してとりあえず無限ループを止めつつ原因究明。原因は判ったんですがこのアセットはどうも不親切さが……やっぱりSpawnerは自作した方がいいんだろうなあ…… コルーチン使いの人はPanic Button導入は必須です。マジ。「応答なし」から復活できるとか神ですよ神。
実装のスケジュールについて
各日の作業内容を掘り返してみます。
- 6/5 …… 方針決定、UIデザインだけがっつり
- 6/6 …… 円形ゲージの実装、自機と敵モデル作成、インポート
- 6/7 …… ザコ1種実装、(Spawner探しに難儀)
- 6/8 …… ザコ2種実装、Advance Spawn Managerの使用開始、タイトル・ゲームオーバー画面
- 6/9 …… ザコ1種+ボス実装、敵配置完成
- 6/10 …… エフェクト・効果音載せ、画面写真等撮影、投稿
見事にゲームバランス調整の時間がとれてません。ちょっと他の仕様盛りすぎたかなーというのと、前述の通り新たに導入したSpawnerでトラブル発生したりで時間を食いすぎた気がします。けっこう改造したし。 エフェクトと効果音は前に作ってたSTGのエフェクトを丸ごと移植。こういうときは過去の資産が役に立ちます。
まとめ/感想
ここまで短距離走でゲーム作ったのは10年以上前のSuica32(Gates32というMADビデオみたいな縦STGのパロ)以来な気がします。 手癖でできるからとSTGの文脈のゲームにしましたが次はもうちょい普段やらないジャンルにしたいかも、でももっと手を抜かないと1週間で終わらなくなりそうな…… 今度はもうちょっと仕様をしっかり絞りたいなと思いました。 あとすぐアーケードゲームみたいにしようとするクセも直したい。