グループスのエンジニアに聞く! ソーシャルアプリ開発の裏側

第2回新作ゲームのプロジェクトチームが語るグループスの舞台裏

数多くのソーシャルアプリを提供し、さらに新作も続々とリリースしているグループスでは、はたしてどのようにゲームの開発が進められているのか気になるところです。そこで今回は、ある新作ゲームをリリースしたばかりという5人のグループスのエンジニア、福永尚爾氏、中裕佑氏、米田奈未氏、河合宜文氏、三好良和氏に集まっていただき、その内情を伺いました。

未経験の開発を積極的に担当

――みなさんは新作ゲームを開発してリリースしたばかりということなのですが、どのようなスケジュールで開発が進められたのでしょうか。

福永:プロジェクトが発足したのは今年に入ってからです。その段階では企画をもんだり、基本的な部分の開発を進めたりしていました。それで徐々に企画を煮詰めつつ、リリースする1ヵ月半くらい前から本格的に開発を始めたという感じでしょうか。

米田:正直なところ、開発期間が1ヵ月半というのは本当に余裕がなくて(笑⁠⁠。本当は3ヵ月ぐらいの開発期間があればいいなと思うのですが……。ただ、社内のほかのプロジェクトと比べて特別に短いというわけではないですね。

リードエンジニアの福永尚爾氏
リードエンジニアの福永尚爾氏

福永:余裕を持って開発できればもちろんベストなのですが、企画してからリリースまでに間が空くと陳腐化してしまう恐れがありますし、似たゲームを他社に先に出されてしまう可能性もあるので、短期間で開発するというのは重要だと思っています。

三好:リリースするまでは本当に大変でした。工数に対してエンジニアの数が足りているとは言いにくい状況なので、一人一人の負荷は大きかったですね。

――各エンジニアの役割分担はどのように行うのでしょうか。

福永:開発する内容を機能で分けて、それぞれの機能ごとに開発したい人に手を挙げてもらうという形ですね。このとき、できるだけ経験したことがない機能を担当してもらうようにしています。

三好:もちろん、経験者が開発したほうが速いのですが、グループスではプロジェクト間の異動が多いので、それぞれのエンジニアで開発する機能が固定化されてしまうと、異動があったときに支障が出てしまうんですね。たとえば先週は中さんが担当していた機能を今週は僕が担当するとか、そういった形で一通り経験することがとても大切になっています。

福永:制約条件になるのは時間だけです。たとえば3時間後にリリースしなければならない機能があった場合、やっぱり未経験者が開発するのはしんどい。しかし、ある程度余裕がある場合には、どんどん未経験の人にやってもらいます。

仕様書作りよりもコミュニケーションを重視

――リリース前のテストはどのような形で行われたのでしょうか。

福永:純粋なテスト期間というのは、それほど長くなかったですね。開発しながらテストも同時に行うというイメージです。

河合:とにかくギリギリまで開発するので、しっかりテストができる時間の余裕はあまりないことが多いです。

米田:また、ゲームとしてのクオリティが高められると判断されれば、リリース直前でも企画の内容が変わってしまうことがあるんです。昨日までは『これで行く』という話になっていても、⁠ちょっとイマイチだよね』ということになれば、作ってきたモノを壊してあらためて作りなおします。たしかに大変ですが、ゲームのクオリティアップのためであれば、たとえリリース間際でも作りなおすべきだという考え方です。

河合:やはり最初からベストなものを作るというのは、なかなか難しいのではないでしょうか。どうしても実際に作りながらチェックして、必要に応じて修正するというのはしかたがない面があると思います。

中裕佑氏
中裕佑氏
米田奈未氏
米田奈未氏
――エンジニアの方々が開発する際、ドキュメントはどういったものが作られるのでしょうか。

河合:企画側の人から画面仕様書をもらいますが、いわゆる開発用のドキュメントはほとんどありません。

福永:画面仕様書には、画面のラフイメージとそれに対しての機能概要が書かれていて、エンジニアはそれを見ながら頭の中でゲームを組み立てていきます。エンジニア同士で情報を共有するための資料を作ることはまずありません。たしかに、データベースの設計内容など、複数のエンジニアで共有すべき情報もありますが、実際にデータベースの内容を見れば『この人はこうしたいんだな』とおおよそ判断できます。それでもわからなければ、口頭で聞けばよい。エンジニアの数が多くなると、こうした方法では厳しいとは思いますが、5人くらいならこの方法で対応できます。

三好:前職はポータルサイトを運営している企業でエンジニアとして働いていたのですが、そのときとは全然違いますね。たとえば、バックエンド側でデータベースを構築した場合、その仕様をドキュメントとしてまとめ、フロントエンドのエンジニアはそれを見ながら開発するという形でした。それに比べると、グループスの開発はやっぱりスピード感があります。どうしても把握できないところがあれば、それを開発した人にすぐに聞けるので困ることもあまりないですね。

河合:ただ、口頭でのコミュニケーションはたしかに手っ取り早いのですが、聞かれる側の時間を奪ってしまいます。そこは善し悪しかなと思います。

Microsoft MVPが語るC#で開発するメリット

――グループスではソーシャルアプリをC#で開発しているということですが、みなさんは入社前にC#の経験はあったのでしょうか。

中:僕は入社前はCとJavaを少しかじった程度で、C#は何1つ知りませんでした。すごくていねいに教えてくれるという環境でもないので、もうひたすらコードを書いては間違えて、書いては間違えての繰り返しでした。

米田:私も、グループスに入って初めてC#を触りました。ただVisual Basicでの開発経験があったので、同じMicrosoftの言語だからC#にも対応できるだろうと。

三好:僕もC#の経験はなかったのですが、JavaでJSP(JavaServer Pages)を使っていたので、C#とASP.NETも似たようなものだろうと考えていました。そう言うと、C#でMicrosoft MVPを受賞した河合さんに怒られますが(笑)

Microsoft MVP for Visual C#の
河合宜文氏
Microsoft MVP for Visual C#の河合宜文氏

河合:C#とJavaは全然似ていません、といつも言っているのですが(笑⁠⁠ それはともかく、短期間で開発することを考えた場合、タイプセーフでありコンパイル言語であるC#のメリットは非常に大きいと思います。スケジュールに余裕がないので、どうしても単体テストを書いていられないという場面があります。そういった場面でも、C#であればコンパイル時にミスを発見できるわけです。スピード感ということを考えたとき、この2つのメリットは大きな強みではないでしょうか。

――コンパイル言語のほうが時間がかかると考えている人は多いと思うのですが、それは逆だというわけですね。

河合:個人的には逆だと思います。C#には強力な統合開発環境であるVisual Studioがあり、リファクタリング支援機能も強力ですし、デバッグのための機能はスクリプト系の言語で使われているものに比べて数十歩先を行っています。当然実行速度も速いので、多少⁠タコ⁠なコードを書いてしまっても、問題なく動いてしまうという側面もあります。これらを総合的に考えると、生産性を重視するのであればC#は極めて有効な選択肢です。

福永:それだけメリットがあるのにC#が使われないのは、やっぱりMicrosoftのイメージがあまりよくないのかなと。一方、Javaやスクリプト系の言語は雑誌でもしょっちゅう取り上げられているので、やっぱりこっちのほうがいいのかなと思ってしまう。そういう意味で技術評論社の責任は大きいですよね(笑⁠⁠。それはともかく、初期費用の大きさもネックになると思います。特にソーシャルアプリの場合、できるだけコストを抑えたいという意識が強く働くので、ライセンスコストが発生するMicrosoftはどうしても選ばれにくいという面があります。

三好:情報がなくて困るということもありませんね。オープンソース系だと、情報が散らばっているので探すのが大変ですが、Microsoftに関する情報であればMSDNにまとめられているので、探し回る手間がありません。困ったときはMVPの河合さんに聞けばいいので(笑⁠⁠。

中:河合さんに聞けば、だいたい教えてもらえます(笑⁠⁠。

――河合さんから見て、グループスでまだまだC#を使いこなせていないと感じる部分はありますか。

河合:スクリプト系の言語で開発してきたエンジニアが多いのですが、そういうエンジニアはあまりデバッガを使いこなせていないというのは感じます。スクリプト系の言語だと、デバッガを使わずに開発するケースが多いと思いますが、せっかくC#を使っているのだから、提供されている機能を使わないのはもったいない。そこは今後の課題ですね。

ソーシャルアプリの進化はグループスが先導する!

――今後、グループスの中でこういったことをやっていきたいという希望はありますか。

中:エンジニアとして働くのは楽しいのですが、それに縛られずにいろいろなことを経験していきたいですね。たとえば以前のコンテンツでは、自分で企画して自分で実装するというようなこともやっていたので、あまり職種にこだわらずに働いていきたいと思います。

米田:チームをまとめるメインエンジニアになることがひとまずの目標です。グループスに入社して一通り経験してきたと考えているので、これからは自分のことだけでなく、チーム全体の収益やマネジメントといったところを考えて動けるようになりたいですね。

三好良和氏
三好良和氏

三好:僕は規模の大きい会社からグループスに移ってきたので、いろんな面で違いを感じています。たとえば開発のための環境が十分に整っていない部分もあるので、そういったところを整備するエンジニアになりたいと考えています。古い部分が残っているところを変えていったり、もっと効率良く開発できるような環境を作ったりしていきたいですね。

河合:C#の技術をもっと活用し、エンジニアリングの能力を全社的に高めていかなければならないと思っています。グループスで生まれた優れたテクノロジをオープンソースとして公開し、グループスの存在感を高め、C#に注目するエンジニアを増やすことが目標です。

――福永さんはいかがでしょうか。

福永:1つはグループスが全体としてもっとレベルアップして、ソーシャルアプリがもっとおもしろくなるように動いていきたい。現状のソーシャルアプリは結局非同期の遊びなので、ユーザの頭の良さが問われるものになっていると思います。その点を踏まえ、グループスでは、戦略を考えつつチームで団結して戦わないと勝てないゲーム、というのをモットーに日々デザインしています。そういった形でソーシャルアプリを進化させていく必要があると考えているのですが、今ソーシャルアプリは単純でつまらないと言っている人も、もう何年かしたらハマるようなゲームを作っていくことが大事かなと思っています。

――本日はありがとうございました。

グループスでは、強い好奇心を持ったエンジニアを募集しています。興味があれば、ぜひ以下のWebサイトにアクセスしてみてください!

URL:http://gloops.com/recruit/

提供ソーシャルゲーム一覧
URL:http://gloops.com/service/

おすすめ記事

記事・ニュース一覧