見出し画像

Unity1Week "ふる":ゲーム「SrollOver Timer」を作りました。

初めに

UnityRoomで開催されている、1週間でゲームを作るイベント"Unity1week"に参加しました。
今回のお題は"ふる"でした。
私が作ったゲームは下記URLです、ぜひ遊んでみてください。

今回作ったゲーム

プレイ動画

目標タイムぴったりにゴールに着くように、ボールの降る場所を決めるゲームです。アクセル,ブレーキでボールのスピードが調整出来ます。

スケジュール

なんとか最初のリリースは25日の日曜日にすることが出来ました。先に1度ビルドを試しておいて良かったです。
3日延長戦をしてしまったので、基盤は先に用意しておくべきでした。

19日(月):ゲーム基盤作成, アイデア出し
20日(火):ゲーム基盤作成
21日(水):作成したい要素の選定, URPで1度WEBGLビルド
22日(木):ベース部分の作成(ボールが落ちてくる, 時間が測れる)
23日(金):PostProcessing
24日(土):ボールのディゾルブエフェクト, タイトル画面~結果画面を作りゲームの最初から終わりまで一旦作成する
25日(日):結果画面の表示内容作成, ステージのバリエーションを増やす, WEBGLビルド&アップロード, 効果音を入れる
26日(月):アクセルとブレーキ機能の追加, 動く背景の追加
27日(火):Photoshopでボタンとアイコン作成
28日(水):画面切り替わりエフェクト, 最終アップロード

技術的にチャレンジしたこと

Stateパターンを使用したゲーム基盤の作成

今後Unity1Weekに参加する際や、アプリ用のカジュアルゲームに利用するためにゲームのテンプレートを作成しようと思いました。
Unity公式のGameProgrammingPatternsのEBookを読み、Stateパターンで実装することを決めました。

StateはEnumにし、エディタ拡張を使用して新しいState名を入力したら自動的にコードが生成されStateのEnumも更新されるようにしました。
改めて、interfaceや抽象クラスの知識も整理出来て良かったです。
拙いコードですが、Gitのリポジトリを置いておきます。


URPでのPostProcessing

トロンとした画面表現を意識して、PostProcessingを行いました。

PostProcessing無し
PostProcessing有り

URPでのShaderGraph

ずっとやってみたかったShaderGraphをやってみました。
ネット上の記事を見ながら、少し自分で変更しました。

使用箇所は下記です。

  • 背景

  • ボールの出現, 消える表現

  • 画面切り替わり表現

URPで画面全体にShaderをかける方法が分からず困りました。
これは、ShaderのMaterialをFullScreenにして、画面いっぱいのImageのMaterialにShaderを入れることで解決しました。
また、その際に透明にならないことも悩みましたが、BlendModeをalphaにしたら対応出来ました。

ShaderGraphマテリアル設定

ゲームのレベルデザイン

2段ステージの追加

最初は1段のステージしかなかったのですが、単調だったためランダムで2段のステージも登場するようにしました。

ブレーキ, アクセルの追加

最初は、ユーザーの操作はボールを降るを場所を決めるだけでした。ですがゲームの結果への納得感を産むべくユーザーの操作できる部分を増やすためにブレーキ, アクセルを追加しました。

次に行いたいこと

ゲーム基盤の追加実装

実際に作ったゲーム基盤を使用してみて、修正したい箇所や追加したい箇所が生まれました。

  • 現在のStateや次に遷移するStateを取得できる関数を用意

  • Sceneを遷移するための機能を追加

  • 効果音を鳴らす機能を追加

ShaderGraphを使って、もっと色んな表現をしたい!

今回ShaderGraphを使用して、表現の幅すごく広がるやん!と感動しました。例えばノイジーな表現とかもやってみたいです。

Effect Graphをやってみたい!

EffectGraphおもしろそ〜、プレイヤーに対してリッチにフィードバックを返すゲームを作りたいです。

終わりに

参加して良かった、また次も作りきれるよう頑張りたいです。
他の人のゲームも遊んで、「1週間でこんな面白いん作れるのか?!」と尊敬の気持ち…
とはいえ、自分が出来る範囲で頑張れたかなあと思います。
ぜひプレイしてもらえると嬉しいです。

この記事が気に入ったらサポートをしてみませんか?