unityroomさんが開催していた1週間でゲームを作る
「unity1week」に初参加しました。
完成した作品がこちらになります。
unityroom.com
実は1週間で終わらず、1週間遅刻して出しました。
2週間かけて未完成なんですけどね
この記事はなんでそんな遅れて完成しなかったのかの振り返りになります。
遅れた原因
大幅に遅れた原因としてはUnity自体の知識と
プログラマーとしての知識が不足していたため
度々詰まって時間もってかれてたからだと思います。
Unity自体の知識で足りなかったこと
「GamaObjectをprefabにして生成するようにしたら
コンポーネントの取得が出来なくなった」
とか
「動く床がうまくいかない」
とか
あったのですがそれはまた別記事を書こうと思います。
プログラマーとしての知識で足りなかったこと
設計ができない
少し前にもゲーム作ったのですが
その時の反省に
クラスを一つにまとめたらカオスになったっていうのがあります。
(今となったらわかるのですが、この時は単一責任原則を間違って捉えてたんですね。)
そんな事もあって今回は事前にSOLID原則を学んでから
クラス図を書いて開発しよう!というふうにしてみました。
出来上がったのが下記のクラス図です。
一体なにを学んだのだろうか
付け焼き刃の知識では設計ができないことがわかりました。
なんとなくやってみたものの、「これなんかいいパターンってあるんじゃないの?」
「名前の付け方これがベストか・・・?」「依存させるのは良くないっぽい。じゃあ分けまくるか」
「あれ依存と関連ってなに?関連も依存してない?え?」「・・・何が正解なのこれ?」
・・・と、こんな感じになりしょっちゅう手が止まります。
ちなみにこのクラス図ですが、最新版ではありません。
あまりにも手が止まりすぎるので完成を間に合わせるために更新もストップしました。
最新の状態を図にするとあちこち絡まってるでしょうね。
こんな感じなので今後の課題としては設計のことを知っていこうと思っています。
次回のunity1weekのときにはさらっと書ける様にしたいですね。