ビリヤードゲーム制作 途中報告(基本部分完成から見た目の作成までのまとめ)

こんにちは!

インディゲームを制作するディベロッパー「Studio Itachi」のZiggyです。

ビリヤードゲームの制作もいよいよ終盤です。
一通りの見た目も作ったので、あとは調整とステージ量産、バグを直しつつ足りない部分の実装です。
…あれ?まだまだやることいっぱいある…?

…。

さて、ここで目標を確認しておきます。

・BGMを自分で作る(今回の主題1)
・モデリングを頑張る(今回の主題2)
・2022年内にリリースする(結構怪しい…)
・Figmaを使って画面構成のイメージを最初に固めてみる。
・StudioItachiの看板キャラにできそうなモデルを作る。


まぁまぁ達成はできてるかな…
いつものように問題点と良かった点に分けて分析してみます。

■問題点:一個、見て見ぬふりした鳴らないSEがある

白状します。
ボールが穴に落ちたあと、ボールはSetActive(false)としています。
また、ボールが落ちたときのSEをボールから鳴らすようにしています。

こうすると、ボールが落ちた判定とSEを鳴らす処理が同フレームで発生するので、落下SEが鳴らないのです。

ここまでわかった上で、この記事書くまで別にいいやと思っていました。。。
ちゃんとなるようにします…。

落下SE鳴らす適切なオブジェクトを探すか作ってそっちでやります(問題見つけたときにやっとけー)


■問題点:UI設計は初めからちゃんと作るべき

今回、figmaでイメージだけ作って進めていました。
今までそれすらやってないわけですが、予め考えてみて大発見をしました。
それは、最初にUIコンセプトを決めておかないと、結局イメージを作っていても行き当たりばったりになる、ということです。

私は最初に、
この画面でここにこういう要素を置く、このぐらいの大きさで。
というモックをfigmaで作っていました。

これが足りなかった。
いざ作り出したら、ボタンのUIってデザイン統一しないのか?とか、メインカラーがないので強調色も決められず、そのあたりをいじりだすと画面構成が破綻する(考え直しになる)ので下手にいじれず…となりました。

今回、UIはアセットストアでやろうと考えていたのですが甘すぎました。
それだったら、最初からこのアセットを使ってこう組む、といった感じでかっちりシミュートしておくべきです。

特に色の設計はとても重要だと感じました。
今のゲーム画面、何か緑なんですけど、そんな予定全くありませんでした…。

■問題点:UIだけじゃなく絵作りは最初にやっておくべき!

UIに限らず、3Dに関しても、ある程度最終形が見えるまで考えてから制作すべきだなと感じました。

ほとんど毎日Twitterで進捗報告を出していますが、そこでの画面映えがしないw

自分の頭にはひとまずの完成形があるのですが、それの良し悪しを計るためにも最初に主要なオブジェクトの絵作りしちゃったほうが良いですね。

あと、仮タイトルも付けておいたほうがいい。
一応、このプロジェクトにもあんまり表に出したくないプロジェクトコードはあるのですが、表に出せる仮タイトル付けておいたほうがいいと思いました。
これもTwitterのためでもあり、ブログのためでもあるのですが、タグを打ってあとで一覧で見れるようになるので、、、絶対やったほうがいい。

■問題点:ビリヤードとフェレットの関連性が薄い

実はこのゲームにシナリオがあったのです。
主人公のフェレットの他にライバルのフェレットがいて、ライバルに支配された街を開放すべく、ビリヤード勝負をするという、突拍子もない単純な話です。

ですが、ライバルフェレットの存在もシナリオ(演出)も、工数削減のためにバッサリ切りました。

結果として、なぜかフェレットのキャラがビリヤードするゲームになりました。
分かってたけど思った以上に関連性がないので、ボールの装飾にフェレット柄を入れてみましたが、その柄が見づらいので効果は薄いですね。

まー、シナリオや演出は思った以上に大事ということで、これは次回の課題です。

■良かった点:オリジナルの楽曲とモデルが作れた

楽曲はもう一曲作るつもりでしたが、時間がないので断念。

モデルは初めてゼロから作ったのでこんなもんでしょう、、、
実はマテリアル名が滅茶苦茶で管理しきれてないのと、キャラに関してはポーズライブラリがうまく使えずに四苦八苦しているのですがまあいいでしょう!

課題もありまして、楽曲はコードから音楽を作るのは良かったのですが、鼻歌から曲を作るために「耳コピ」の訓練が必要だと感じました。
モデリングは一旦キャラモデリングを本買ってやってみたほうがよさそうです。
一番難しいのをやってみて、トポロジーのまとめ方やメッシュの管理方法などを学んだほうがよさそうです。

■良かった点:SEづくりが楽しかった

部屋にあるもので音を出して、エフェクト付けたりノイズ消したりしてゲームのSEを作りました。


音を作ってても、実装しても楽しかったのですが、スマホで撮ってるのでノイズ出まくりです。
こればっかりは機材の問題だから厳しいかぁ、、、

■良かった点:SerializedFieldの使い方がわかった

ほかの人のコードを見てても、これが意味わからなかったのですがようやくわかりました。
変数をpublicにしなくても、インスペクター上に出すための呪文だそうです。
全部publicにして滅茶苦茶なコードになってましたよ。。。

あと、[System.NonSerialized]ね。
ふつう使わないのでしょうか?あまり見ないですが。
私のスパゲッティコードにはどんどん使っていきたいですね(スキル不足)

■良かった点:今のところオンスケ

最初に想定していた通り、10月ゲーム作り、11月見た目づくり、12月バグと最終仕上げというかなりざっくりスケジュールにきちんと沿って進んでいます。
ただ、最後はやることが明確じゃないから結構怪しいw
あと3週間…頑張れ!

■最後に

実は一つだけあるエフェクトもParticleを使って作ったりしています。
けど、思ったように作るのが難しい、、、もしかしたらエフェクトを作るツールを何か導入したほうが良いのかもしれないと思いました。

パブリッシュ作業が一番しんどいです。
あと、GooglePlayGameServiceに対応させようとしていますが、これも苦手。
前に滅茶苦茶ハマったので。。

まあ、一歩ずつ前進ですね!頑張りましょう。
年内行けるか微妙ですが、今年もあと少し!

-----
もし記事が面白いなぁと思いましたら、Twitterのほうをフォローしていただけると嬉しいです!
日々のゲーム制作の進捗や、ブログの更新告知、たまにふと思ったことなんかを呟いていますのでよろしくお願いします。