Google Cloud Platform

株式会社シグナルトークの導入事例:Google App Engine を駆使して少人数・低コストでのソーシャルゲーム開発・運用を実現

signaltalk

日々、多くの新作がリリースされ、厳しい競争が繰り広げられているソーシャルゲーム市場。この夏、その激戦区に、オンライン麻雀ゲームでその名を知られる株式会社シグナルトークが本格参戦します。今や、数十名~数百名の開発者が携わることも珍しくないという、ソーシャルゲーム開発ですが、シグナルトークの新作『ダンまつま!~ダンジョンで待ってます!~』の開発メンバーは何と 4 名+α。その少数精鋭での開発を可能にした Google Cloud Platform の活用法について聞いてきました。

MTwbesztwRi3K6lzpdstzicQCKr6qCn7eshgZ7ho4SOAFrkQ-F1oK9GaRv7ItKt4QSULKz3riM4GC_0GCR8KIcT_zylEU0Mt3tNRffjmQVaqdssyadavcI4njeExRNviDd3egwFQd70f.JPEG

■ 利用している Google Cloud Platform サービス
Google App EngineGoogle BigQueryGoogle Cloud StorageCloud Datastore など

■ 写真左から
プロデューサー 松井 聡弥 氏
プログラマー 佐藤 貴之 氏

株式会社シグナルトーク
100 万以上の会員を持つ PC、スマートフォン向けオンライン麻雀ゲーム「Maru-Jan」の開発・運営を主軸に、ヘルスケアアプリや、ゲームアプリなどの開発・運営も行うゲーム開発会社。“クリエイターの理想郷” を作るをビジョンに掲げ、勤務体系や報酬制度など、クリエイターが働きやすい環境作りを追求している。2017 年、リクナビNEXT が主催する働き方改革アワード「第 3 回グッド・アクション」受賞。従業員数は約 40 名(2018 年 5 月時点)。

Google App Engine の高機能・柔軟性が開発のリスクを大幅に低減

『ダンまつま!~ダンジョンで待ってます!~(以下、ダンまつま!)』は、シグナルトーク初となる、企画から開発までを自社で行ったオリジナル ソーシャルゲーム。ゲームジャンルとしては、いわゆる「タワーディフェンス型」で、プレイヤーは、異世界に “転生” した魔王となって、ダンジョンに攻め込んでくる冒険者を、モンスターや罠などを駆使して撃退します。その差別化ポイントは「プチダークファンタジー」というコンセプト。ちょっとユルい、“日常系” な世界観が、殺伐とした雰囲気を和らげ、プレイヤーの間口を大きく広げる一助となっているそうです。人気声優を起用したかわいらしいキャラクターや、3DCG を駆使した迫力あるゲーム画面など、近年のソーシャルゲームに必須とされる要素もしっかり押さえています。

ByzIRLA2S4FmX0SLFr9Ny_BtpKy3xMzwkQNUvCO1qMq1JKUtVfcolF2hFNBCUiEuxL94Y5uU1bmRiHcEEbm0mkKk45lbAIl00SydwYm7te2Lrv91z2M6qOuHz7ajMIxta2ZaBe_G6dtb.PNG

しかし、どうして麻雀ゲームで一定以上の成功を収めているシグナルトークが、未踏のソーシャルゲーム市場に挑戦することになったのでしょうか?その背景を本作のプロデューサーにして、自らゲームシステム、シナリオ、世界観設定なども手掛ける松井 聡弥さんに聞いてみました。
「シグナルトークにはラボという仕組みがあって、社員であれば誰でも新しい企画を提案することができます。『ダンまつま!』は、その仕組みを使ってスタートした新プロジェクト。会社として麻雀ゲーム以外の事業を開拓していきたいという狙いがあったのはもちろんですが、私自身、ゲームが大好きで、いつかこうしたものを手掛けてみたいと思っていたんです。」(松井さん)

企画が承認されたのは 2017 年初頭、そして実際にプロジェクトが動き出したのはその年の 5 月頃でした。期待のプロジェクトではあるものの、採算性などが全く読めない新規事業であったため、開発チーム構成は可能な限り少数精鋭に。クライアントサイドのプログラマーが 1 名、デザイナーが 1 名、そしてサーバーサイドを佐藤さんが兼任というかたちでスタートすることになりました(ただし、キャラクターデザインおよび UI/UX 開発は外注。また、今年 4 月にはディレクターが 1 名追加されています)。
「開発チームも小規模で、何よりノウハウが全くなかったため、どれくらいのユーザーに遊んでいただけるのか、どういった負荷がかかるのかが読めません。フルマネージドかつオートスケールが優秀な Google App Engine(GAE)の採用は自然な流れでした。現在、主力の麻雀ゲームは全てオンプレ環境で運用しているのですが、それは開始当時にそれしか選択肢がなかったからで、今、積極的にやりたいことでありません。ですから、パブリッククラウドを使うことに抵抗はありませんでした。もちろん、他のプラットフォームも検討しましたが、どれもある程度、面倒を見てあげなければならず、フルマネージドの GCP ほど理想的ではありませんでした。そのほか、BigQuery の存在も決定打になりましたね。統計でも楽をしたかったので(笑)。」(佐藤さん)

ちなみに、オートスケールについてはスケールアウトはもちろん、効率的にスケールインすることも大事なのだそうです。PC 向けゲームと比べて、時間帯によって人の増減が激しいスマートフォン向けゲームでは、使われていない時間帯に費用を抑えられるというのはコスト対策的にも非常に重要。ピークに合わせて環境を構築せねばならないオンプレ環境はそういう意味でも現実的ではなかったと言います。

「なお、開発言語には Go を利用しているのですが、これはスピンアップが非常に速いのが魅力。100 ミリ秒にも満たないんじゃないでしょうか……。結果として、必要な時だけインスタンスを起動する、サーバーレスな運用が可能になります。そうすると運用コストをギリギリまで削減できますから、どんなに好調でもいつかはやってくるサービス終了を先に延ばすことができるのではないかと考えています。わずかでも楽しんでいるお客さんがいらっしゃるならクローズしたくないという気持ちは、ゲーム開発者なら誰もが持っていますが、GCP ならそれができるのではないかな、と。今、考えることではないですけどね(笑)」(佐藤さん)

RIvVCeKqaPMEcsGmrRXQkeilFVn7JM8vMN7QzpVQ4xt3LJtrYYgsGhK546J_-_oJrp0KD9AO8kByXz5FgfvFr81QxUvqJ9cFssaXuSxqs6vg4Kxu5FyolV_m016IW8Uqz6lGYrqU4whb.PNG
『ダンまつま!~ダンジョンで待ってます!~』システム構成図

低コストで安定した開発環境もスムーズな制作に貢献

プロジェクトが実際に動き出したのは昨年 5 月頃でしたが、当然ながら、当初はクライアントサイドの開発が先行、サーバーサイドの開発がスタートしたのは、クライアントサイドがある程度作り込まれ、仕様の定まった 12 月頃でした。

「ある程度動く状態になったのが 2~3 月くらい。そこから作り込んでいき、β 版と言える状態になったのは 6 月くらいですね。開発をしていて、感心したのが GAE のログ周りが充実していたこと。本番環境でのログがすごく見やすくて、追いやすいんです。エラーが出ていたら、クリックするだけでソースまで開いてくれるのがありがたかったです。また、ローカル側のサーバーも安定して動くうえ、本番環境で動作が異なるということもほとんどなかったのも開発効率を高めてくれました。それと、GCP の管理用スマホアプリのエラー通知機能も重宝しています。将来的には Stackdriver の導入も検討しているのですが、とりあえずはこれで充分かな、と。本運用でも役に立ってくれそうです。」(佐藤さん)

dcyLysj4zUQ5dVR1aIEAf0OHTKox80h6Xk1hKfajHvqky3kD9kma5-PtaVsaVlcFv_A9TxXQW0lUkpV2Z56UtsVKkOZpK1_nTFRc9kkAxUNEtAU-zRsddbo7L3dEPVgrXnrtcdLy1fnz.JPEG

「プロデューサーとしては、サーバーサイドの開発がスムーズに進んでくれたことに、とても助けられました。一応、スケジュールを立てていたものの、正直、もっとかかるのではないかなと思っていました。当初は、途中でサーバーサイドのスタッフを増やす必要があると考えていたのですが、その必要がなくここまで来ることができ、結果としてコストも抑えることができています。また、サーバーの利用料金についても、開発時点のアクセスでは数千円/月レベル。無料枠をまだ使い切れていないという状況です。一番最初の企画段階ではサーバー費用を 30 万円/月と見積もっていたので、驚きですね。その分の費用をキャラクターのイラストなどに回せたのは良かったです。」(松井さん)

ayISeKDcZ_nWoirZRRdjYl7DuemOOJLMQRLiECXTDfrqRzsoaoM2FQDSXLJPD_c_Jp7G-SAyygVtJN0hI91tsXGVGSHcGpBlwmqvN2r3DXdfXminv_J7hg0rT5sX8AqWesCL_QLKtxt6.JPEG

取材時点(6 月中旬)では、7 月のリリースに向けて、最終調整中だった『ダンまつま!』。先日行われた負荷テストでは、「サーバーより先に、クライアント側の方が悲鳴を上げてしまいました(笑)。」(佐藤さん)とのこと。

また、こうした手応えを踏まえ、別途開発中の別プロジェクトでも GCP の利用が始まっているそうです。

「具体的なことはまだお話できないのですが、麻雀関係のプロジェクトで GCP を利用することが決まっています。GCP には GAE 以外にも多くのプロダクトがあるので、仮に GAE でできないことがあっても GKE(Kubernetes Engine)で実現できるなど、柔軟に対応できるのがいいところ。また、個人的には、Cloud Spanner や、Cloud MemorystoreGoogle Cloud Machine Learning なども使ってみたいですね。」(佐藤さん)

株式会社シグナルトークの導入事例 PDF はこちらをご覧ください。
GCP のその他の導入事例はこちらをご覧ください。