【Godot4】ゲームを作ったので振り返る:Mushroomer
はじめに
どんどん生えるキノコを刈り続けるゲーム、Mushroomerを作成したので、その紹介をしたいと思います。使用したソフトはGodot 4.4 dev3
で、制作期間は3日です。
ゲームはこちらからダウンロードできます。
経緯
Unityの有名なチュートリアルであるroll-a-ball[1]をよりゲーム性のある形で成立させたいと考えたことがきっかけです。同時に、MegascansがFabに移行[2]し、他のエンジンでも無料で利用できるようになったことも理由の一つです。「この機会を逃す手はない!」と考え、制作に取り組みました。
工夫点
心地よさ
このゲームは、いわゆる「フィジェットトイ」のように、手軽に楽しめる気持ちよさを重視して制作しました。
フィジェットトイとは、手持ち無沙汰なときに手遊びとして楽しむためのおもちゃのことで、ハンドスピナーなどが有名です。このゲームはその中でも最も原始的な「プチプチ」に似た感覚を目指しています。
演出面では、
- 少し気持ち悪くも、心地よい効果音
- 爽快感を意識したエフェクト
- 破壊方向に応じたカメラ揺れ
- スコア増加時のアニメーション
などを工夫しています。
また、地味ですが重要な点として、効果音にはコンプレッサーをかけており、多くの効果音が同時に再生されても音割れしないように調整しています。
グラフィック
単純なゲーム性を補うため、グラフィックはリアル寄りにしました。リアルなキノコを刈り潰すというビジュアルで、プレイヤーに手ごたえを感じてもらうことを意図しています。
キノコの3Dモデルや草、地面のテクスチャはMegascansの素材を使用しました。高品質なアセットを使用することで、ゲーム全体のクオリティが向上し、制作のモチベーションにもつながりました。
プレイヤーキャラクターのMushroomer(ボール)は、霧の中でも視認しやすいように発光させ、ノイズテクスチャを適用して転がっていることが分かるように工夫しています。
設計
シンプルなゲームではありますが、最低限の汎用性を意識した設計にしています。
ボールやキノコはゲームシステムに依存しないように作られています。各オブジェクトはシステムを参照せずsignal
によって通信を行います。その他の処理でもイベントドリブンで動作しているため、_process
(UnityでのUpdate
に相当)は極力使用していません。
なお、パーティクルやキノコに関してはプーリングを行っていません。GodotではNodeの生成が高速で、GCは参照カウント方式を採用しているため、大量のオブジェクトを生成しない限りプーリングの必要はないため[3]です。
おわり
Mushroomerはシンプルなコンセプトのゲームですが、手軽に爽快感を味わえる手ごたえを重視して制作しました。
もし興味があれば、ぜひダウンロードして遊んでみてください。
Discussion