【CEDEC2014】PS4プラットフォームの開発スタートを発表!「最高のコンテンツを作る会社でありたい」CTO芦原氏がエンジニアの視点で語るCygamesとは


2014年9月2日~4日に、パシフィコ横浜で国内最大のゲーム開発者向けカンファレンス「コンピュータ・エンターテインメント・デベロッパーズ・カンファレンス 2014」(以下、CEDEC 2014)が開催。

開催2日目となった9月3日の講演では、Cygamesのスポンサーシップセッション「Cygamesエンジニアが支えるヒットゲームの裏側!」が開催された。登壇したのはCygamesのCTOを務める「芦原 栄登士」氏。全世界で1,000万人の登録数を誇る『神撃のバハムート』や、アニメやコンシューマ版のファンからの支持も多い『アイドルマスター シンデレラガールズ』、豪華スタッフが参加するRPG『グランブルーファンタジー』などを手がける同社が、なぜヒット作を世に生み出せたのか、エンジニアの視点で語るセッションの内容をお届けしていく。
 

Cygames CTO「芦原 栄登士」氏

■Cygamesってどんな会社?


冒頭ではサイバーエージェント<4751>の子会社であり、設立から4年目を迎えたCygamesについて、簡単な紹介がなされた。会社のビジョンは「最高のコンテンツを作る会社」。社内では芦原氏をはじめ、代表取締役社長の渡邊耕一氏、取締役の木村唯人氏は前職でPS3プラットフォームのタイトル開発に携わっていたことを明かした。

 
同社の代表作『神撃のバハムート』は、Mobageでのサービス開始より3周年目を迎え、北米では英語名『Rage of Bahamut』として配信、App Store/Google Playにて過去に売上ランキング1位を獲得している。『グランブルーファンタジー』は豪華スタッフで王道RPGを目指し、ブラウザゲームとしてネイティブ並みに動作する技術の限界に挑戦したタイトルとのこと。
 

また、カジュアルゲームブランド「ちょゲつく」のタイトルも展開。社内でも同名のゲーム企画コンテストを実施し、新卒のクリエイターがチームを組んで、約2週間で生まれたタイトルが続々とリリース開始している。

社内の取り組みとしては「本気で面白いゲームを作りたい人」を支援するプロジェクトで、ミラクルポジティブ社のタイトル『Airship Q』に出資しており、同作品は9月18日から開催される「東京ゲームショウ2014」に出展されることも発表されている。
 

■Cygamesが気をつけていること


続いてゲーム開発に集中できる社内の環境作りについて紹介がなされた。

必要なものはすぐに用意
社内では「マウスの調子が悪い」「新しいソフトを導入したい」などといった要望に迅速に応えるシステム管理部を設置し、開発に必要なものをすぐに用意できるように準備している。

椅子は上質なものを
プログラマーをはじめ、ゲームクリエイターは長時間の座り作業で腰を痛める人が多いらしく、椅子や机にはこだわりがあるようだ。またリラクゼーションスペースも設置して、ソファなどで休憩を気軽に取れるような工夫もしている。

歴代ゲームハードウェアとソフトを常備
社内にはこれまで日本や世界で販売されていた、歴代のゲームハードウェアが揃っており、実際に動作するとのこと。人材採用の面接で「過去にこのハードのタイトルを作っていました」といったエンジニアとの話題が出ることも。
 

■エンジニアが楽しめる環境


キーボードやマウスは自由に選べる
エンジニアのこだわりの実現のため、入社した際に上限5万円までキーボードやマウスなどの周辺機器を自由に購入することができる制度を採用。ゲーミングキーボードを使用しているエンジニアもいるとのこと。

さまざまなデバイス
最新のスマートフォンデバイスやGoogle Glassなども用意されているが、なかなか忙しいエンジニアも多く、実機を触れない人も多いそう。

エンジニア勉強会・読書会
「MySQLを使う」「アジャイル開発について」など、さまざまなテーマで勉強会を開催。その際に必要なノートPCや参考資料も会社で用意することができるとのこと。

オライリーが全巻揃う
当初は、「ちょゲつく」ブランドで配信中のアプリ『O'REILLY COLLECTION』の表紙データを制作するために購入したO'REILLYだが、エンジニアたちの間で並べ方に話題が集まり、それを見た社長が全巻を購入。社内だけでなく受付側にも同セットが一式揃っている。
ちなみにアプリ『O'REILLY COLLECTION』では、入手した書籍を好きなように並べたりできるほか、入手するための作業のキーボードの音(社内で実際に収録)も自由に選べるのもユニークだ。
 

■最高のコンテンツを作る会社


開発現場だけでなく、社内では全員が「最高のコンテンツを作る」ことを心がけていると芦原氏は強調する。プランナーは面白いゲームを企画し、デザイナーは素晴らしいグラフィックを作り、エンジニアはバグがなく安定、そしてレスポンスが良いものを作る。

そのほか総務や人事、デバッグチームやカスタマーサポートも含め、「自分が手がける仕事がナンバー1」だと常に思い、そして問われる会社であり、多くのユーザーに楽しんでもらうため、自身の手がけるコンテンツが面白さにつながらなければ、作る意味がないと話す。

一つの事例として『グランブルーファンタジー』のリリース予定日近く、TVCMなどもすでに放映されていた時期に、社長の渡邊氏、芦原氏、そしてプロデューサーが集まり、この時点でリリースできるのか、このゲームは本当に面白いものに仕上がっているのか、という議論が交わされたことがあったという。実際に動作はしていたが、納得がいくクオリティーではなかったため、リリースを延期した経緯も明かされた。

『グランブルーファンタジー』開発現場では新人のエンジニアも参加しており、当時難しいとされていた、ブラウザ上でSEとBGMを同時に再生する技術も新人が実装したという。
 

■Server/Clientの構成


CygamesではWebアプリではスタンダートだと言われる、サーバー:LAMP環境(Linux,Apache,MySQL,PHP)を採用。キャッシュにmemcachde、PHPフレームワークにCodelgniter/FuelPHP、一部node.js,redisを使用している。

クライアント(Native)にはUnity、Cocos2d-xを採用。当初は3DはUnity、2DはCocos2d-xと分けていたらしいが、最近では2Dでは開発速度の早いUnityを使用することも多く、C++を使用するとバグが多く、デバッグに時間がかかるとのこと。ただしパフォーマンスの問題でCocos2d-xも重要となっている。

サーバー構成(PHP)も一般的なWebアプリの仕様で、特長としてDBの負荷分散として時間のズレが生じることがあり、ユーザー数が多くトラフィックの多いタイトルでは、slaveを積極的に使わないようだ。負荷分散は、ユーザーの情報を入れる際にIDの奇数偶数でmasterを増やすなどをして、対応している。memcachdeはlocalとglobalに分かれている。サーバー構成(node.jp)では、複数のnodeがRedisに繋がっており、このセットがさらに複数用意。バトルなどコンテンツによってIDを変えて違うnodeにつなぎ、負荷を分散させているとのこと。
 

■エンジニアが気をつけていること(気をつけてもらっていること)


当たり前のことを当たり前にやる
月に一度、エンジニア全員を集めてミーティングを実施。前半はエンジニアとして気をつけなければならないことなどを話しつつ、後半はライトニングトークなどで盛り上がるという。

Cygamesの開発の根幹となるのは「当たり前のことを当たり前にやる」こと。ゲームを作る際に、以前起きた問題を再発防止のために共有したり、定期メンテナンスの作業時には手引書の作成、レビュー、リハーサル、そして2人1組で実作業をするなどを確認。バグのない安定した運用をしているか、同じ失敗を繰り返していないか、など全員がきっちりと「それは当たり前」といった、意識のレベルを上げていくことを重要視している。

物事の本質を考える
バグを直した際に「どういう現象でバグが発生したか」と、本当に問題を追求してから修正をしたのか、バグについて理解したのかを考える。

技術的に正しいことがプロジェクト的に正しいとは限らない
「すごい良いコードを書こう!」→「それは本当にゲームが面白くなるのか?」と言った疑問を持つことが大事で、リファクタリングについてもそれをしたことでゲームが面白くなるのか、何のためにやるのか、技術を優先しないことが重要に。

チームだけでなく、全体の効率を考えているか
全体はPHPで統一する、ユーザーサポートのチームが使う管理画面を統一したりと、全体の効率を考えて作業をする。

より速く、より大量に、常に安定稼働
ユーザーを待たせない「レスポンスの早さ」と、効率よく開発する「速度」を考え、安定稼働を目指すために、個人レベルでの技術力向上を実現する。

車輪の再発明はしない
同じ車輪(ソース)を複数の箇所で開発をしない、必要なソースを他の部署で使っていたらそれを利用することが大事。ソースをイジることでバグを生み出すことになる。

バグを出さない一番いい方法は?
「プログラムを書かない」
無論何も書かなければゲームは動かないが、できるだけ一から書かない、壊れていないものには手を加えないことが、バグを生み出さないポイントとなる。

「バグを見えなくすることが一番良くない」
関数を書いている際、内部でバグやエラーが起きていることを無視して正常値で作り続けていると、起きているバグに気付けない。実際のコードを利用してエラー処理やforループについて説明がなされた。特に違いを意識して書くことが大事だと芦原氏は語る。
 
面白くなければ意味がない
面白くするためには動かしてみる


現場ではたまに「プランナーから仕様が届かないから作れない」というエンジニアの声があるが、実際に動かしてみながら、仕様がなくてもとりあえず作ってしまうことが重要で、後で変更の作業がやりやすい作り方を心がけることも大事だそうだ。

面白くなるまで何度も作り直せ
Cygamesの開発の特長に「仕様がないところもプログラマーが作る」ことがあり、例えとして『三国志バトル大戦』のメニューのダイヤル式の動作について、最後まで回すとバウンドする挙動をするが、もともと仕様書にはそのような要求はなく、プログラマーが自由に作った後にディレクターなどが話し合って、本仕様に採用になったと明かされた。面白さや操作の気持ちよさを能動的に作ることが、エンジニアには必要なようだ。

■Cygamesのこれから


最高のコンテンツを作り続ける。
芦原氏はコンシューマ業界からこの業界に移行した際に、ソーシャルゲームは特にリリース直後からユーザーからのフィードバック、レスポンスが早く、ダウンロード数や課金状態など数字もハッキリと見えることに驚いたと述べる。ゲームの評価がダイレクトに分かること、ユーザー数の多いタイトルは反応もさまざまで面白く、要望や意見によって改良を重ねることができることも、開発側としては作りやすいとのこと。またブラウザゲームはサーバー側だけの更新で済むことと、データをサーバーに置いているので、画像などデータサイズが膨大でも問題がないことを強みとしている。

PlayStation4プラットフォーム開発をスタート
ダウンロードコンテンツやF2Pタイトルも増えているコンシューマ業界とソーシャルゲームは、「面白いものを作る」というコンセプトに変わりがないので開発にとっては違いは少ない。Cygamesではすでに次世代ゲーム機「PlayStation4」プラットフォームでの開発も開始されていることが明かされ、今後開発に関わりたい人、歴史に名を残したい、面白いコンテンツを作りたいというゲームエンジニアを募集していることを、芦原氏は講演の最後の締めくくりとした。
 


 


■『神撃のバハムート』
 

App Store



■『グランブルーファンタジー』

 


©Cygames, Inc.