1週間でUnityのゲームを作るイベント Unity1週間ゲームジャム が先週月曜深夜0時にスタートし、 私も初参加させていただきました。 出題されるお題に沿うゲーム制作イベントで、今回7回目のようですね。 まずは 主催者の naichi さん、ありがとうございました。 参加された皆さんもおつかれさまでした。 今年に入ってUnityの学習をはじめて本を2冊(ねこの本と和尚本1)読み終わったものの、「さて、ここからどうすれば」という状況だったので、おそらくこういったイベントが無ければ学習も制作も止まったでしょう。 Twitterに #unity1week のタグで進捗やアイデアが上がってきたりして、制作期間中も楽しいイベントでした。
どうぶつとバケツ
できたゲームはこちら。 遊んで感想や意見等いただけるとありがたいです。
今回のお題は 「当てる」 でした。
- いくつかのどうぶつが、それぞれバケツに入る
- その中の一匹が、 どのバケツにいるのか 「当てる」
- 正解するとどうぶつが名前も教えてくれる
- 三回間違えるとゲームオーバー
簡単なゲームですが、結構集中力を使います。 コツは どこにも心を留めず、見るともなく全体を見る (バガボンド) です。 バケツは最大6個! 特にゲームクリアはないので、どこまでもスコアを伸ばせます。 10匹行けば良い方かもしれません。
どうぶつのアイコン、BGM/SE、フォントはフリーのものを使用させていただきました。 こういった制作物にも感謝ですね。 助けられました。 良い雰囲気のゲームに仕上げられたかなと思います。
- wildlife icons: 可愛らしいフラットデザインのアイコンです。
- DOVA-SYNDROME: BGM、SEを使用させていただきました。
- iTween: アニメーションで使用させていただきました。
ランキング
現時点でランキング1位[スコア24]は私で……。 開発中に何百回とやった制作者のハイスコアが残ってるのは、ちょっとフェアじゃないですね。 公開前のタイミングで消しておくべきでした。(追記: 開発者分は消しました!)
このゲームのどうぶつの色は数が多い順に茶・暖色系・黒・白・緑・青・赤に分類できます。 バケツ数が5個とか6個になってもこの色がバラけていると結構当てることができるという運ゲーの要素もあります。 で、出題のロジックは「100匹のどうぶつをシャッフル、配列先頭から順に数匹ずつバケツにin」という感じ。 なのでゲーム序盤で数が多い茶黄黒がいっぱい消費されると、ゲームが進むにつれ、比較的バラけやすい感じがします。 このあたりもうちょいコントロールして出題できるとよかったかな。
リザルト画面の ランキング機能、そして ツイート機能 も、 naichi さんの記事を参考にさせていただきました。 niftyがこんなサービスやってたとは、知らなかったな。 Firebase に近い感じかな? UIの改造もできるのでオススメ記事です。
完成させよう
参加に当たっての目標は「とにかく完成させる」こと。 結果的には、私でも1週間でゲームを完成させることができました。
目も当てられないコードだし、ゲーム性は皆無。 ただ、1週間という限られた時間でビギナーが一番時間を取られるのは、企画でもUIでも開発でもなく「調べる」時間でした。 企画で悩んだり練ってる時間はありません。 教本のチュートリアルに沿って3、4本ゲームを作っただけなので、関数、コンポーネント、Unityの操作の理解も曖昧です。 理解に時間が掛かりそうな実装方法も極力避け、今できる実装方法で進めました。 それでも謎バグに当って簡単な解決方法に気づかず、数時間検索ループすることもありました。 そのあたり予想はできたので、企画等は最初の1日でfixさせ、何をどう作ってどう動かすかは固めておき、 調べる→開発→調べる…に工数を割けたのはよかったかなと。 何度もクソゲー感に苛まれましたが、とにかく振り返らない!
開発中にぶつかった罠とか感想とかメモ。
- JSに慣れてるので、型に厳格で辛い……。
- PsでデザインしたUIパーツを Unity に持っていくとなんか小さい(2D)
- カメラサイズを5 → 3.6 にすることで解決、原因不明。
- vus.js みたいな EventBus 使いたいけど……。よくわからない
- iTweenを大まかに把握。ValueTo で UIの透明度、Audioの音量とかもいける。
- oncomplete が動かない時は、 oncompletetarget も同時に設定
- Rigidbody を transform.position で動かすのはよくない。衝突判定が正常にできなくなる(貫通する)
- Kinematicの物体を、iTweenで動かしたい場合の方法がわからない……。
- 結局 カメラをiTweenで動かすことで対応。
- PrefabのScriptにはScene上のGameObjectをセットできない
- Prefabの元ファイルが削除されるとヒエラルキーのオブジェクト名が赤くなる
- GameObject -> Break Prefab Instance で解決
- BGMの素材探しが楽しい、すごく楽しい
- UI の移動は
gameObject.GetComponent<RectTransform>().localPosition
その他もろもろ壁はありましたが、メモするの忘れた……。
とにかくいい経験になりました! ゲーム制作初心者の方は、このイベントがんがん参加するといいと思います、本当に。
次のゲーム制作も少しずつ考えていきたいですね。