Unityで制作していたミニゲーム「宝石キャッチ」を、ひとまず完成と言えるところまで改良しました。
前回記事:Unity初心者が「宝石キャッチ」Ver.1を完成させた話。白い四角からゲームらしくなったかな?
最初は、上から落ちてくる宝石の果物をスライムでキャッチして、スコアを稼ぐだけのシンプルなゲームでした。
そこから少しずつ機能を追加していき、今回の改良でかなりミニゲームらしい形になってきました。
今回は、「宝石キャッチ」に追加した機能や、実際に作ってみて感じたことを制作記録としてまとめていきます。
現段階でのキャッチゲーム
最初の「宝石キャッチ」Ver.1は、かなりシンプルなゲームでした。
Unity初心者が「宝石キャッチ」Ver.1を完成させた話。白い四角からゲームらしくなったかな?
ゲームとして最低限の形はできていましたが、まだ「動くものを作った」という段階でした。
そこで今回は、音、ハイスコア、評価ランク、パワーアップアイテム、障害物などを追加して、遊びとしての完成度を上げていきました。
タイトル画面に終了ボタンを追加

まず、タイトル画面に終了ボタンを追加しました。
ボタンをクリックした時の動作は問題ありませんでしたが、Spaceキーでゲームを開始した時に、Exitボタンが画面に残ってしまう不具合がありました。
マウス操作では消えるけれど、キーボード操作では残ってしまう。
Spaceキーでゲームを開始した時にもExitボタンが非表示になるように修正しました。
地味な部分ですが、タイトル画面、ゲーム中、リザルト画面の表示を分けることで、少しずつゲームらしい見た目になっていきました。
BGMとSEを追加した
次に、BGMとSEを追加しました。
今回追加した音は、主に以下の3つです。
- BGM
- ボタンクリック音
- 果物取得音
音が入ると、一気にゲームらしさが増しました。
ちなみに、この音源もChatGPTに作ってもらいました。
プロンプトは、
BGM → 冒険の始まりを想起させるさわやかな草原のBGMを作って
クリック音 → 短いカチッというボタンを押す音を作って
取得時SE → 短めでBGMの邪魔にならないキラッという音を作って
大体こんな感じでお願いしました。
最後に、BGMの音量が少し大きかったので、Bgm Volume を0.40から0.25に下げて調整しました。
音量調整も含めて、ゲーム制作では細かいバランスが大事なんだなと感じました。
ハイスコア表示を実装

次に、ハイスコア表示を実装しました。
今までは、1回遊んでスコアが表示されたらそれで終わりでした。
しかし、スコアが出るなら最高値を出したいものです。
「もう1回やれば記録を更新できるかも」
そう思えるだけで、ミニゲームとしてのリプレイ性がかなり上がるはずです。
今回は、タイトル画面とリザルト画面でハイスコアを表示できるようにしました。
リザルト画面では、今回のスコアとハイスコアを同時に表示する形に調整しています。
スコアに応じた評価ランクを追加

ハイスコアに加えて、スコアに応じた評価ランクも追加しました。
評価ランクは以下のように設定しました。
50以上:S
45〜49:A
40〜44:B
35〜39:C
34以下:D
リザルト画面では、スコア、ランク、ハイスコアを表示するようにしました。
実際にテストプレイした時には、
Score : 50
Rank : S
High Score : 56
という表示まで確認できました。
スコアだけでも結果は分かりますが、ランクがあると達成感が出ます。
また、見やすさのため、色と配置を調整しました。
黄金リンゴのパワーアップアイテム追加と挫折

さらに、ゲーム中に1個だけ出現する特別なアイテムとして、黄金リンゴを追加しました。
黄金リンゴは、キラキラしたエフェクト付きの特別アイテムです。
黄金リンゴを取ると、10秒間スライムの移動速度が上がります。
移動速度が上がることで、果物を取りやすくなり、スコアを伸ばすチャンスになります。
最初は黄金リンゴの出現タイミングが少し遅めでした。
30秒のゲームなのに、終盤に出てくると効果時間を活かしきれません。
そこで、ゲーム開始後8〜15秒の間に出現するように調整しました。
これにより、黄金リンゴを取ってから10秒間スピードアップし、ゲーム終了前には効果が切れるくらいのバランスになりました。
また、スピードアップ中の表示も調整しました。
最初は画面中央付近に表示していましたが、プレイ中に少し邪魔だったため、スコア表示の下に移動しました。
ここで一つ小さな挫折がありました。
黄金リンゴを作りたかったのですが、どうしてもリンゴが金色にならない……。
元あるリンゴの画像を設定でいじって何とか金色にしようとしましたが、どうやっても赤いままでした。
今回は、金色のエフェクトが出ていることから差別化はできていると判断して、そのまま赤いリンゴのままにしました。
ちなみに全部が終わった後に、「金色のリンゴの画像を用意すればよかったのでは?」と気づきました。
こういう気づきって、意外とその場だと思いつきませんね。
次回に生かします。
障害物として「いがぐり」を追加
次に、障害物を追加しました。
最初は果物を集めるだけでしたが、少し単調だと感じました。
そこで、障害物として「いがぐり」を採用しました。
ドット絵のいがぐり画像を用意し、Prefab化して、ゲーム中に一定間隔で落ちてくるようにしました。
いがぐりに当たると、スコアが減ります。
最初はマイナス点を1点と考えていましたが、より役割を明確にしようと、最終的にはマイナス3点に調整しました。
これにより、プレイヤーは果物を取るだけでなく、いがぐりを避ける必要が出てきました。
ただ落ちてくるものを取るだけだったゲームに、避ける要素が加わったことで、かなりゲーム性が増したと思います。
果物の出現頻度を調整
最後に、果物の出現頻度も調整しました。
最初は出現間隔を 1 にしていましたが、スコアが少し伸びにくい状態でした。
さらに、頑張ればすべての果物を取ることができていて、ゲーム性に欠けると感じました。
そこで、出現間隔を 0.8 に変更しました。
その結果、スコアがギリギリ50点に届くか届かないかくらいになり、画面に多く果物が出現することにより、取捨選択の幅が生まれました。
Sランク条件を50点にしているので、かなりちょうどいいバランスになったと思います。
簡単すぎず、でも頑張ればSランクを狙える。
30秒のミニゲームとしては、このくらいの目標設定がちょうど良さそうです。
Web版ビルドにも挑戦した
最後に、ブラウザ上で遊べるようにWeb版ビルドにも挑戦しました。
このあたりはChatGPTとスクショを介して会話しながら、1手順ずつ進めていました。
UnityのBuild Profilesから、Web - Desktop - Development を追加しました。
その後、Scene Listに SampleScene が入っていることを確認し、Build And Runを実行しました。
これで、ブラウザ上でプレイできる形まで進めることができました。
実際にブラウザで動くところまで確認できると、かなり達成感があります。
ローカルで動くだけの状態から、「人に遊んでもらえるかもしれない形」に一歩近づいた感じがしました。
ビルドして気づいたこと
Web上で動くことを確認した際に気づきましたが、Web版でゲーム終了ボタンを押すと、当然ながらゲームが固まってしまいます。
Windows向けでビルドする際は必要だなと思ったのですが、ブラウザ版には不要だったようです。
次から参考にしようと思います。
ここまでの改良で、現在の「宝石キャッチ」には以下の要素が入りました。
・タイトル画面
・終了ボタン
・BGM
・ボタンSE
・果物取得SE
・宝石の果物キャッチ
・黄金リンゴによるスピードアップ
・いがぐりによるスコア減少
・ハイスコア保存
・ランク評価
・リトライ機能
・Web版ビルド
最初はかなりシンプルなキャッチゲームでしたが、ここまで追加すると、かなりミニゲームらしくなったと思います。
特に、音、ハイスコア、ランク評価、パワーアップ、障害物が入ったことで、遊んだ時の印象がかなり変わりました。
ひとまず「宝石キャッチ」は完成扱いにする
今回の改良で、「宝石キャッチ」はひとまず完成扱いにしようと思います。
もちろん、まだまだ追加したい要素はあります。
例えば、難易度選択や、ステージ制、アイテムの種類追加、演出強化なども考えられます。
ただ、今回は小さなゲームを完成させるのが目的だったので、これで完成にしようと思います。
今の段階でも、タイトル画面から始まり、ゲームを遊び、リザルトを見て、リトライできる流れはできました。
Web版ビルドもできたので、ミニゲームとしては一度区切りをつけても良さそうです。
次はホーム画面を作りたい
次に作りたいのは、ホーム画面です。
最終的には、「宝石キャッチ」を単体のゲームではなく、「宝石の木」というゲームの中にあるミニゲームの1つとして配置したいと考えています。
イメージとしては、ホーム画面からミニゲームを選び、宝石キャッチでスコアを稼ぎ、その成果をゲーム全体の進行につなげるような形です。
ミニゲームで遊び、スコアに応じてお金や宝石が手に入る。
そのお金で何かを修理したり、ストーリーが進んだりする。
そんな形にしていきたいなと思っています。
まとめ
今回は、Unityで制作していたミニゲーム「宝石キャッチ」を改良した記録をまとめました。
上から落ちてくる宝石の果物をスライムでキャッチするだけのゲームでしたが、BGM、SE、終了ボタン、ハイスコア、ランク評価、黄金リンゴ、いがぐりなどを追加し、Web版ビルドを作成しました。
作ってみて感じたのは、思ったより簡単に自分が考えていた動きを構築できるということです。
パワーアップアイテムの処理などめちゃくちゃ複雑なのかなと思っていましたが、スクリプト1つでなんとかなりました。
ここで簡単と思うのも、ChatGPTにコードを書いてもらっているからこそなんだろうけどね。
まだまだ初心者の制作記録ではありますが、自分で作ったゲームが少しずつ形になっていくのはかなり楽しいです。
次はホーム画面を作り、「宝石キャッチ」を「宝石の木」の中のミニゲームとして組み込んでいきたいと思います。
関連記事
Unity初心者が「宝石キャッチ」Ver.1を完成させた話。白い四角からゲームらしくなったかな?


コメント