【TECH×GAME COLLEGE#28】形から入ったドメイン駆動設計によるゲーム開発の光と闇

概要

ゲームエンジニアに特化した勉強会「TECH x GAME COLLEGE」の今回のテーマは、ドメイン駆動設計(DDD)をゲーム開発に取り入れた事例をケーススタディに、株式会社 Nextat の中榮健二氏に登壇していただきます。DDDの戦術面を採用したソーシャルゲームの開発に実際に携わった中での成功・失敗の具体的事例や考え方の変化を技術寄りで紹介します。

DDDの戦略と戦術

DDD(ドメイン駆動設計)とは開発者・顧客や業務の専門家を含む関係者の間で、共通の言葉とメンタルモデルを育てシステムを開発していく手法です。

主にマインドについての話ではありますが、エリック・エヴァンスのDDD本ではメインの戦略面だけには止まらず戦術面たる実装パターンの紹介もなされています。

我々プログラマの多くは他者とのコミュニケーションよりセオリーや実装パターンが大好物な生き物で、本で紹介されているEntityやRepositoryを採用したり、レイヤードアーキテクチャを取り入れたりすることからDDDに入門したり、実装パターンやアーキテクチャの採用こそがDDDであるという誤解に陥ったりしがちです。

戦術面だけをつまみ食いするこれらの手法は”軽量DDD”とも呼ばれ、戦略的にモデリングまでしっかりと行う場合に比べて効果が薄いとされています。

もちろん戦略面に大局的な価値があるのは確かですが、形から入って戦術に慣れることにも意義がありDDDの理解の助けになるということをお伝えするのが本発表の趣旨となります。

お話ししたい実例の一部

  • レイヤを綺麗に分けただけでもある程度保守しやすくなった話
  • レイヤを分けすぎて開発速度が落ちた話
  • UIから開発するView駆動設計の恐怖の話
  • ユビキタス言語どころかエンジニア同士でも名付けが揺れていた話
  • 10分経ってもレスポンスが返ってこなかったガチャAPIをチューニングした話
  • 境界づけられ(なかっ)たコンテキストの話

お話しするゲームシステムの主な構成

PHP + Laravel + MySQL

 

お申し込みはこちらから。