初めてUnityでゲームを作ってUnity1週間ゲームジャムに参加した話


今回、はじめてUnityでゲームを作ってUnity1週間ゲームジャムに参加させて頂きました。
今回の自分の経験が、今後1週間ゲームジャムに参加してみたいなと考えている方の参考になるかなと考え、開発中に考えていた事を書いてみることにしました。
一度書いた文章を削っているので、文章的な表現として足らない部分があるかもしれません。
なにか気になる点がある際にはツイッターの方でよろしくお願いします。

完成した作品

今回の1週間ゲームジャムのテーマは「逆」でした。
評価公開時、斬新さ部門で5位を頂きました。
評価してくださった方々にはただただ感謝しかありません。

Unity経験歴

ちゃんといじっていたと言えるのは、1,2か月ぐらい前にUnity公式の学習サイト2Dチュートリアルを最後までやったぐらいで、時間でいうと一週間に満たない程度しか使用経験がありませんでした。
また、便利なアセット等もまったく知らない状態でした。

開発する上での五点のルール


テーマ等が発表される前に、ゲームを開発する上で五点のルールを決めておきました。

・マウスのみの操作で遊べるものを作る
・ステージ制のパズル・アクションゲームは作らない
・スコアが出るものを作る
・1ゲームあたりのプレイ時間をできる限り短くする
・2つのジャンルのゲームを融合させる

マウスのみ操作で遊べるものを作る

自分は、Unityという開発環境を個人開発者が利用すべき一番の理由として、マルチプラットフォームへの対応が楽であるという点が一番であると考えています。
操作をキーボードに頼ってしまうことは、ゲームの移植性を下げることにつながる恐れがあります。
そのため、画面に対するシンプルな操作のみでゲームプレイができるマウス操作のみで遊ぶことが可能であるというルールを設けました。

ステージ制のパズル・アクションゲームは作らない

自分は、アクションやパズルゲームにおいて、良質なプレイ体験を提供する上で綿密なレベルデザインは最も大切なものの一つであると考えております。
しかしながら、今回は一週間という限りなく短い製作期間が想定されておりました。
この短い期間で綿密なレベルデザインを行うのは、アクション・パズルを数多く作成し、ノウハウを持っている熟達したクリエイターなどでなければ基本的には現実的でないと考えられます。
自分はどちらのジャンルについても自信がなかったため、これらについては避けるルールを設けました。

スコアが出るものを作る

自分は、複数回遊べる仕組みを考えるうえで、作る上でも、プレイを行う側にしても、目に見える形でわかりやすいのがスコアシステムであると考えております。
また、スコアなどの目に見えてわかりやすい情報を用意し、その結果をSNSで共有していただくことで、ゲームに対する宣伝効果が期待できるという点から、ルールを設けました。

1ゲームあたりのプレイ時間をできるだけ短くする

今回作成するゲームはフリーゲームです。実際にゲームをプレイする側には遊ぶゲームの選択肢がたくさんあるため、単一のゲームに対する執着はありません
飽きてしまったらそのままプレイ中断につながる可能性が高いです。
そのため、できる限り見どころを短時間の中に詰め込む必要があります。
そのため、このルールを設けました。
注意すべきこととして、あくまでプレイ時間はできるだけ短くするのであって、強引に短くすれば良いというわけではないです。面白くするために本当に必要な演出ならば、むしろ削るべきではないと考えております。

2つのジャンルのゲームを融合させる

最近のインディーズゲームはこの傾向が多いと思います。
新規性がなければ、結局のところ埋もれてしまうだけの作品となってしまいます。
かといって、ただ新しければよいということもなく、誰もやってないということは先人がつまらないと判断したからという可能性もあります。
そのため、面白い2つのアイデアを掛け合わせて新規性を出すという手法は
フットワークの軽いインディーズゲームでは用いられやすいのだと考えております。

アイデア


テーマを見て真っ先に思いついたのは攻守が"逆転"するゲームというアイデアでした。
そこから、画面タップやクリックで遊べるような単純なゲームとは何かを軸として考え、自分の撃った弾が障害物になるFlappyBirdというアイデアにたどり着きました。

その後、攻守切り替わりのタイミングで時計の針の音がして、時間が回転して反転する、という演出のアイデアが思いつきました。
この演出を実現するため、反転した際に数字として成立する数値かつ、攻めと守りの時間は同じにしたいという考えから、制限時間は88秒となりました。
そこからアイデアを膨らませた結果、タコがイカと抗争するゲームとなりました。

開発時にうまくいったこと

・逆再生の仕組みがちゃんとできた
・一応ゲームの形にはなった

・逆再生の仕組み
このゲームのキモとも呼べる部分なので、ちゃんと実現できたのはよかったです。
前半モードの情報をスタックに保持して後半モードで再生成しています。
再生成といっても、実際に生成しているわけではなくプーリングされたオブジェクトを使いまわしています。
あまり気が付かれていないかもしれませんが、実は背景のオブジェクトも逆再生されています。

・一応ゲームの形にはなった
ちゃんとゲームとして遊べる形になったのはよかったです。

開発時に失敗したこと

・後半数日でゲーム仕様が二転三転した
・演出にフォントが対応できず探し直すことになった
・最終日当日にようやく画像・音楽素材を作る・探すことになった
・そもそも締め切り時間を勘違いしていた
・結局遅刻投稿となった
・一部機能は後からアップデートで追加する形になった

・ゲーム仕様が二転三転した
最初に定めた仕様の大半が最終的には逆になりました。
主にバランスの調整演出のわかりにくさ等の問題でした。
そのための作業で大体1日半ぐらいの作業時間を費やすことになってしまいました。

・フォントの探し直し
上記したように、攻守切り替わり時に時間がひっくり返る演出を用意していたのですが、最初に採用したフォントの数字の8が上下非対称であったことに5日目にして気が付きました。
そこから新しくフォントを探し直すのにそれなりの時間がかかってしまいました。
(フォントも変えても問題は残っていたのですが、小手先の対策でどうにかなったので割愛)

・最終日当日に画像・音声素材を用意
画像素材は最終日突入時点で、初日に用意したプレイヤーの画像と以前描いたものを使いまわした背景のタイルのみでした。
そのため、それ以外の足りなかったものを最終日当日にすべて描きました
20分に1素材ペースでした。半ばやけくそでした。
音声に関しては、探しているうちに締め切りオーバーとなりました。

・そもそも締め切り時間を勘違いしていた
締め切り時間を3/1の24時だと勘違いしていました。
気が付いたのは最終日当日でした。

・結局遅刻投稿となった
上記のもろもろが重なった結果です。情けない。

・一部機能を後からアプデで追加
当初から入れるつもりであったランキング機能は投稿までに間に合わず、後付けアップデートの形で実装する形となってしまいました。
エフェクトに関しても後から追加する形となってしまいました。

開発してよかったこと

・実用的なUnityの知識が一気に増えた
・便利なアセットを知ることができた

・Unityの知識が増えた
やはりゲームを作り出すことこそが一番の学習になりました。
多分次回以降はもっとスムーズに開発が進むはず……

・便利なアセットを知ることができた
今回の開発において、UIやシーン切り替えの際の演出にLeanTweenを使用しました。
完全に何も知らなかった状態からある程度使える、ぐらいのレベルまでは到達することができたと思います。
公式のドキュメントがかなり役に立ちました。

開発後に反省したこと

・操作のチュートリアルを用意できなかった
・音声調整機能を用意できなかった
・思い描いていた演出を実装しきれなかった

・操作チュートリアル
ゲーム中で完結している方が良かったと間違いなく良いと思っています。
時間が足りていなかった。

・音声調整機能
公開直前で用意するかどうかを迷って、いち早く公開する選択肢を取りました。
時間が足りていなかった。

・思い描いていた演出
色々考えていたものはありました。
モード切り替わり時にBGMが逆再生になるとか、背景をもっと海中らしくする
などがあったのですが、演出面の素材を用意できたのが最終日当日だったため、最低限の実装をしただけで終わってしまいました。
時間が足りていなかった!!

次回参加してみたい方へ

遅刻してでも作り上げる・投稿することに意味があると思います。
最後まであきらめずに完成させましょう



いいなと思ったら応援しよう!