← 戻る

#880 開発工程日誌「#038 オブジェクト指向雑談とシナリオの話」

2022/12/20

こんにちは。影織です。

今回は、オブジェクト指向設計って難しいよね、という話と、ストーリーのシナリオの構成についての話です。

オブジェクト指向構成

プログラムを組む時、最初から完璧に設計するのは難しいよね、という話になりました。 私の場合、最初に紙に書き出して、どんなデータのやり取りが発生するかを洗い出すようにしています。 まだまだ良い設計をするのが難しいので、もっと上手くなりたいな...と思う日々です。

クラス名の名前をつける際の悩み

今回のゲーム内では、フレームワーク的思考をヒントに、 階層名をクラス名にしているそうです。 クラス名が長くなってしまうのが難点です。 また、Viewフォルダの中にview.jsがいくつかある、というのが、 ちょっと気持ち悪い構成かな?という話も出ました。 show.jsなどの別の動詞を使うとよさそうです。

データ構造

フォルダは、assetとdataを切り分けるように構成し直したそうです。 img-motionのデータは、設定データではなくあくまで画像なので、assetに入れ、 設定データとなるシナリオなどのjsonはdataフォルダに入れる、という構成ですね。 シナリオフォルダの中には、シナリオの構成を書いたjsonが入っており、 option.jsでシナリオの現在地と、次にどのアニメーションに移るか、というデータを読み込むような形になっています。 そして、もしlocalstrageのセーブデータに現在地が保存されていたら、 そこから再開できるようにします。 そして、各シーンに紐づいたキャラクターの座標をセットし、 idで紐づいたBGMをセットすることで、ゲームが始まります。 今後、ストーリーズが仕様として色々変動していくかと予想されます。 イベントを中に入れていくと、ファイルがかなり肥大化するはずなので、 分けていく必要があるかもしれないですね。