🙄

今作ってるゲームの設計の話 その1 ~クライアントアーキテクチャの選択~

2021/04/23に公開

結論

なぜMVPを選んだのか

選定理由

  • コードの自動生成がしやすい
  • 理解すべき場所がすくない

コードの自動生成がしやすい理由

ゲームを開発する上でより迅速なパフォーマンスを発揮するためにはコードの自動生成を行うことが一番だと思います
MVPにかかわらずレイヤーアーキテクトはレイヤーごとの役割が分離されているため、設計書などからソースコード自動生成することが容易な部分である
これはMVPの利点というよりはレイヤーアーキテクトの利点とも言える

自動生成する場所とは?

1.クライアントのModelClassとサーバーのModelClass
この二つは構造が対になることが多いので設計図からこの二つのクラスを自動生成すると楽

2.サーバーとクライアントのAPIのつなぎ込み部分
受け渡す側と受け取る側は必ず対になるので自動生成できるはず

3.上記2つを作成する時のUnitテストなど
上記のクラスを作成するときは必ず同時にテストやダミーデータなどを生成できるようにすると後々楽になる

理解すべき場所が少ない理由と少なくする理由

MVPは三層しかないので誰でも理解しやすい構造である

開発や運営が長期化した場合、クリーンアーキテクトのような複数レイヤーにまたがる構造にすると末端の開発者がソースコードを追いきれなくなることがある。その防止としてシンプルで単純な構造のMVPを使用する

現在は一人で開発しているが、人が増えた際のキャッチアップコストを減らすのが主な目的

あとがき

こちらは僕の個人開発での答えとなります。
「こんな考えあるよ」「こうしてみたらいいんじゃない?」
という意見がありましたら是非コメントください!
コメント場所はこの記事の「その2」にてお願いします!

Discussion