e-ZUKA Tech Night vol.31 -DMMのゲーム開発の舞台裏-

【ゲストトーク&QA】 "DMMのゲーム開発の舞台裏"河村明男 さん 株式会社 DMM.comラボ ゲーム事業開発本部 第一システム部 部長 続きを読む
2
eZukaTechNight @eZukaTechNight

あと、プラットフォームとして提供しているものとしゲームが使うAPIがあります。JSONを返すAPIでさまざまんものが用意されている。 #ezuka_tech_night

2015-06-17 19:19:17
eZukaTechNight @eZukaTechNight

ゲームデベロッパ向けのダッシュボードではユーザからの問い合わせやゲームの状況を見ることができる。 #ezuka_tech_night

2015-06-17 19:20:03
なかむら @kenchi8n

nginx , git , jenkins cloudera なかで使ってます! #ezuka_tech_night

2015-06-17 19:20:29
eZukaTechNight @eZukaTechNight

DMM.com ラボが1stパーティとして5タイトルのゲームを提供している。ここから技術的な半紙をしてみたいと思います。 #ezuka_tech_night

2015-06-17 19:21:19
eZukaTechNight @eZukaTechNight

使っている技術としてはunity, js, css3, html5, cocos2d, flash, サーバサイドだとnginx, php, など #ezuka_tech_night

2015-06-17 19:22:24
なかむら @kenchi8n

ゲーム初期 Web サーバー6 データベース9 memcache2 今 →27 →9 →6(台) #ezuka_tech_night

2015-06-17 19:23:13
eZukaTechNight @eZukaTechNight

ブラウザ系のゲームはやはりWebサーバにアクセスがあるので、最初は実機で動かしていたが途中から仮想化してスケールさせた。DB周りはしっかりチューニングして使っている #ezuka_tech_night

2015-06-17 19:24:00
なかむら @kenchi8n

IOドライブっていのを中間に入れてパフォーマンス上げてるらしい #ezuka_tech_night

2015-06-17 19:24:38
eZukaTechNight @eZukaTechNight

DBはマスタスレーブの構成にしているが、更新系のリクエストも多いためIOドライブなどの機材を入れてさばいている。参照は基本スレーブだが、memcachedでキャッシュしたほうが効率がいいので、そちらも活用している。 #ezuka_tech_night

2015-06-17 19:25:15
eZukaTechNight @eZukaTechNight

あるゲームをリリースしたあとネットワークの帯域が140Mbps程度つねに使われている状態であった。そこでフラッシュファイルを分割したりなど工夫をした。 #ezuka_tech_night

2015-06-17 19:27:21
eZukaTechNight @eZukaTechNight

DBの設計はあえて正規化せずに高速に読み出せるようにしている。memcached側でのキーを意識して、レコードのidが12345の時、memcachedのキーはxxx_player_12345みたいな感じ。 #ezuka_tech_night

2015-06-17 19:29:24
なかむら @kenchi8n

現場のDBのモデル図参考になる #ezuka_tech_night

2015-06-17 19:29:57
eZukaTechNight @eZukaTechNight

Flashではデザイナとプログラマの協業が課題。デザイナはplash cs6でswcファイルを作り、プログラマがFlash Builderでスクリプトを当て込んでSWFファイルを作る。 #ezuka_tech_night

2015-06-17 19:31:40
なかむら @kenchi8n

最近のFLASHはGPU使うとOpenGL的なことをやってるらしい。(Flashでなくても出来るので、あんまり意味が無い) #ezuka_tech_night

2015-06-17 19:31:54
なかむら @kenchi8n

予算は5000万から1億くらいで企画が立てられるらしい(ゲーム) #ezuka_tech_night

2015-06-17 19:34:24
eZukaTechNight @eZukaTechNight

ゲーム開発の流れ 企画フェーズ(企画立間→モック版作成→予算承認) 開発フェーズ(α版作成→ベータ版作成→テスト) 運用(イベント開発、機能拡張、問い合わせ対応) みたいな流れで開発している。 #ezuka_tech_night

2015-06-17 19:35:28
eZukaTechNight @eZukaTechNight

ソーシャルゲームはやはりリリースしてからが本番。継続的に遊んでもらうためには飽きられない仕組みが必要。あらかじめリリース前にイベントを3種類くらい作っていないと運用が始まってから悲鳴をあげることになる。 #ezuka_tech_night

2015-06-17 19:36:29
sʇuǝsǝɹd@某人間 @Presents612

しょーもない問い合わせも対応するのに意図があるのかな・・・? #ezuka_tech_night

2015-06-17 19:37:03
なかむら @kenchi8n

開発はアジャイルとウォーターフォールどっちも使ってるとのこと #ezuka_tech_night

2015-06-17 19:37:46
eZukaTechNight @eZukaTechNight

開発手法としてはアジャイルもウォーターフォールもやっている。ゲームによりけり。人数によって使い分ける。ただ、ウォーターフォールといっても本当に一つのフローでやるわけではなく、できるだけ小さめに作ることを意識している。 #ezuka_tech_night

2015-06-17 19:38:57
eZukaTechNight @eZukaTechNight

タスク管理はRedmine+Backlogsプラグインを活用している。 #ezuka_tech_night

2015-06-17 19:40:09
なかむら @kenchi8n

KITのみなさん 「コミュニケーション不足はプロジェクト失敗に直結!」 By DMM開発の偉い人 #ezuka_tech_night

2015-06-17 19:40:50
eZukaTechNight @eZukaTechNight

ゲーム開発にコミュニケーション大事!開発者同士の開発への価値観などを相互理解しないとバラバラのものを作ることになってしまうことも。。 #ezuka_tech_night

2015-06-17 19:41:48