こんにちは。
大虎工房です。

なるべく週一で更新しようと、必死でネタを探してるこの頃です。

今回は、Unityを使っていて自分流のルールとか垂れ流してみようかと思いました。

参考にしたのは知り合いのブログです。↓
システムとコンテンツ。そういう名前のディレクトリを作るのが流行っている。

このSystemsとContentsという分け方でUnityのスクリプトをカテゴリするのはなかなか良いアイディアだと思って、個人的にも真似してみたんですよ。
そしたら、意外にこのフォルダを使わなかったので、なんでじゃろうかと分析してみました。

結論から言うと、フォルダのカテゴリが足りないという感じでした。(あくまで個人的な使い勝手の話ですが)

SystemsやContentsはゲームの方向性やアウトラインとかが見えている状態ではとても力を発揮すると思うんですが、その前段階のプロトタイプではContentsというよりももっと前のフォルダが欲しいなと、思ったのです。

そこで、2つのフォルダを追加しました。
Draft
Framework

Draftには設計とか何もかもかなぐり捨てて、ただただ実験コードとそのシーンをぶちこむサンドボックス的な扱いで用意しました。(Contentsの前段階)
FrameworkはSystemsの後段階で、まぁどのアプリでも使えそうな自前のライブラリ群をためていくフォルダとして用意しました。

で、Draftで書き下した機能がまとまってきたら、Contentsに移動させてスクリプトのI/Oも整えるといった感じです。
こうやってみると、なかななか気楽にコードが書けるようになったので、個人的にはDraftフォルダは気に入っています。(何も気にしなくてよいのっていいですよね)
Frameworkは何個かゲームを作っていると、似たようなコードが増えてくるので(主にSystemsの中に)それに対して、もう少しカロリーを使ってライブラリ化したスクリプト群を配置してます。
このFrameworkフォルダだけパッケージしてExportすれば、次のゲームでもすぐ便利クラスが使えるので、それはそれで便利かなという印象です。

この2つを追加すると、SystemsやContentsのフォルダも見通しが良くなったので、しばらくこの法則で作ってみようかなと思いました。

また、もっと丁寧にするなら
Exampleみたいなフォルダを用意して、各モジュールのサンプルとかがあれば色んな人に見てもらう際により親切になるのかな。と思っています。
まぁ、この辺りやりすぎてもゲーム制作の進行が遅れちゃったりもしますし、いいバランスを探るしかないのかなぁというのが個人的な感想です。

他にもいい方法があるかもしれないので、知り合いにもいろいろ意見を聞いてみて、よさそうならまたブログにしようかと思います。

それでは~