見出し画像

Project-L7 開発記 #3

現在鋭意制作中の音楽ゲーム Project-L7(仮称)の開発過程のメモ。
今回は、いま私が抱えているちょっとした技術的課題についての整理。

現状の課題

コードが煩雑になってきた

まだ完成してもいないのに、既にソースコードを見返すのが億劫な行数になっています。
誰だこんなコードを書いたのは。俺か!俺しか開発者いないもんなコレ!
そういうのやめろって新社会人向けの研修とかで言われなかったのか??

開発当初は事前知識も乏しく「MonoBehaviour?何それ美味しいの?」といった状態で、持ち合わせていた知識でガリガリとコードを書いていました。
だから例えば複数のオブジェクトの動作を1つのコードに集約させて書いてしまった部分なんかも多々あります。
苦し紛れにregion〜endregionで区切ったりしていますが、限界がありますね。普段からコンパクトなコードを書く努力をしようね…。

こんなコードのままリリースせずに、今のうちに可能な限り分解・再構築しようと思っています。終わる気がしない

高フレームレートが不安定

今のところ、開発環境下では120fpsを安定して出せています。
ところが、これを試しにどんどん上げて240fps前後まで設定してみたところ、ノート数や速度変化回数が多い高難易度譜面を選択した際に、ワーストで130fps前後まで落ちるという現象が発生しました。
遊べなくはないけど、これじゃあちょっと…という感じ。

原因は察しがついていて、画面内外にモノを置きすぎているのがダメ。
大量にInstantiate(複製)したノート等のオブジェクトの管理方法が良くないのが原因です。ちゃんと設計しないとダメね…。

これを改善するには根本的な改修が必要そうなので、いっそのことプレー画面は作り直したほうが良さそうだなと思っています。
せめて、多くのゲーミングディスプレイが採用しているであろう144fpsは安定させたいところ。

破壊する勇気

初回の開発記事で「現在は一通りプレーするだけならできる状態」ということを書きましたが、最近は上記の通り、この状態を部分的に破壊しては組み立て直し…という作業がメインになっています。破壊するのって勇気要るんですよね~。
Gitでバージョン管理してますし、ロールバックは容易なのですが、それでも何だかやっぱり怖いですね。時々git addし忘れていることもあるし…。
基本的には自分自身を信用していないので、自信をもって破壊するということがなかなかできずにいます。

どうしようかね、この状態。

収録楽曲紹介 #3

いつまでも現状に留まるわけにはいかないので、自分で退路をどんどん絶っていきましょう。というわけで今回も新たな収録楽曲紹介に移ります。これを書いたら今日も1部分だけ本体を破壊しましょう。

Shredder Etude
Composed by Eclair Trille

"Etude"の名の通り、次の一歩への練習にぴったりな一曲。このゲームの基本的な部分がしっかり身についているかどうかが試される。
高貴な曲調に見合ったハイスコアを目指そう。準備はよろしくて?

それではいつもの行きます。
Eclair Trille、一体何者なんだ…。

過去の作品にはあまり見られなかったテイストかもしれません。
既に発表済みの楽曲も含めて、早く選曲画面でお披露目したいですね。

じゃあ今日は、今ある選曲画面を壊そっか。ヒィィ嫌だァ…

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