モバイルゲームのマスタデータ開発/運用では、マスタデータの編集UI、並行開発可能なバージョン管理、バリデーション、クライアント/サーバでのロード/インポートなど、様々な機能が必要になります。
これらは大抵は言語も動作環境もバラバラになるので、それぞれ異なるシステムを使うことが多くなります。
DeNAでもこのそれぞれに対して独立した内製システムを開発/運用してきましたが、
各システムへの個別にスキーマ定義することによる重複作業や、システム間を跨った操作が必要なワークフローの複雑化を招き、開発効率の低下や、システム利用の敷居の高さが問題になっていました。
また、ブランチを使った並行開発による大量のマージ工数も大きな問題になり、並行開発フロー自体の抜本的な改善も必要とされていました。
本セッションでは、これらの問題の解決策として、マスタデータの入力からロードまでの間の、全てのマスタデータ関連システムで必要なスキーマ情報を統一して扱う、
ProtocolBuffersをベースとしたマスタデータ統一スキーマ言語 Muscleを開発した事例を紹介します。
また、これに合わせてマージ工数の抜本的な削減のために導入した並行開発フローである、トランクベース開発の概要と、
そのためにマスタデータ統一スキーマ言語にどのような機能が求められたのかについても紹介します。
講演者プロフィール
大竹 悠人
2009年にWeb動画配信サービス会社に入社。複数のWeb/ゲーム機/家電向けサービスの立ち上げに携わる。
2013年にDeNAに入社し、ブラウザゲーム運営、新規ネイティブタイトル開発を経験。成果物の技術資産化を推し進める過程で、ライブラリなどのゲーム基盤開発業務に携わるようになる。
現在はゲーム開発者の声に耳を傾けながら、ゲーム開発の課題をより良い、効率的な方法で解決できるような基盤を様々な方面で模索している。
《講演者からのメッセージ》
モバイルゲームのマスタデータ並行開発は複雑で多面的な領域領域で、その解決手法は開発効率に大きな影響を及ぼします。
本セッションで紹介するDeNAでの事例は、DeNAの社内システムを含む話にはなるのですが、解決手法自体は一般化可能なものであり、
皆様のマスタデータ並行開発環境をより良くする助けになりうると信じています。
マスタデータ並行開発に苦しんだことのあるモバイルゲームエンジニアの方々をお待ちしています!