この記事の3行まとめ
2023年9月22日、ミラティブの技術ブログ「Mirrativ Tech Blog」にて、『ミラティブでのアウトゲーム設計の紹介』と題した記事が公開されました。
同記事は、ミラティブのUnityエンジニア 菅谷氏(@tetsujp84)によって執筆され、同社が開発する運営型ゲームにおけるアウトゲームのクラス設計について解説しています。
ゲームはインゲームとアウトゲームに分割できるという思想は広く知られています。記事中では、ゲーム体験のコアであるキャラクターの操作などをインゲームの例に、キャラクターの強化やガチャ、ショップなどをアウトゲームの例に挙げています。
設計方針が人によって異なるとプロジェクト構造が複雑化してしまうため、特にチームでのアウトゲーム制作においてクラス設計やルール決めは重要であるとのこと。そこで、ミラティブでは開発前に設計方針について議論したそうです。
設計方針を決めるにあたっては、MVP(Model-View-Presenter)(※)を設計のベースとしたうえで、OSS(オープンソースソフトウェア)との連携が念頭に置かれました。
※ GUI関連の実装で用いられるデザインパターン。Model、View、Presenterの3つのレイヤーに役割を分けることで、データ構造の複雑化を緩和できる
また、クリーンアーキテクチャ(※)などのソフトウェアアーキテクチャを参考にしつつ、使いやすさと複雑さを減らすことが目標に掲げられているとのこと。
※ ソフトウェアアーキテクチャのひとつ。各クラスがより低レベルのクラスに依存しないようにすることで、低レベルのクラスでの変更が高レベルのクラスに影響しなくなる
同記事では、各クラスの役割や方針、実装のポイントなどがコードとともに紹介されています。
なお、実装には以下に示すOSSが使用されています。
あわせて、アウトゲーム設計のサンプルプロジェクトがGitHubにて公開中。プロジェクトは、記事で解説されたクラス設計ルールに基づいて開発されています。
詳細は、Mirrativ Tech Blog『ミラティブでのアウトゲーム設計の紹介』をご覧ください。
ミラティブでのアウトゲーム設計の紹介|Mirrativ Tech Blogmr-imada / OutgameSample|GitHub