取材

「ngCoreはイケてる」「武器より防具が売れる」、「忍者ロワイヤル」を企画・開発双方の視点から語る


「Mobage」の人気コンテンツ「ロワイヤル」シリーズ初のスマートフォンアプリ「忍者ロワイヤル」について、企画担当と開発担当それぞれの視点から解説、工夫した点と今後の改善点などが、CEDEC2011講演「忍者ロワイヤルの今までと今後 」で語られました。担当する部分が違うことで、同じゲームを説明しているのに「武器より防具が売れる」「ngCoreはアプリで2Dソーシャルゲームをつくるのにイケてる」など、全く別の切り口で見せてくる内容となっています。

講演は2部構成になっていて、第一章では企画担当者が開発経緯や機能の説明を非常に丁寧に行っているのですが、「○○ロワイヤル」をやったことのある人、特に「忍者ロワイヤル」のユーザーであれば、おおよそ理解しているような内容がほとんど。ゲーム開発の裏側という意味では、Mobage開発に使用されているゲームエンジン「ngCore」についての正直すぎる使用感やHTML5との比較、そしてアプリ軽量化のために使っているソフトを開発担当自ら大公開、さらに「(ソーシャルゲームは)スキマ時間に遊ばれるどうでもいいもの」など、開発担当者が赤裸々に語りまくっている第二章からが本番と言えるので、見出しを参考に読んでみてください。

<第一章:「忍者ロワイヤル」を企画者視点で語る>
◆「忍者ロワイヤル」とは
◆「忍者ロワイヤル」のゲーム内容
◆忍者ロワイヤルのこれまでの歩み
◆「忍者ロワイヤル」アプリを作る過程
◆アプリならではの特性の検討
◆ミッションに関する課題

<第二章:「忍者ロワイヤル」を開発者視点で語る>
◆「ngCore」について(1) ワンソースでAndroid/iOS上で動く
◆「ngCore」について(2) アプリで2Dソーシャルゲームをつくるのにイケてる
◆「ngCore」について(3) 将来HTML5対応予定
◆アバター
◆画像リソース軽量化
◆「忍者ロワイヤル」の改善したい点(1) 縦持ちにも対応しておけばよかった
◆「忍者ロワイヤル」の改善したい点(2) スペシャルミッションが飽きる
◆「忍者ロワイヤル」の改善したい点(3) 「ngBuilder」を使いたい
◆「忍者ロワイヤル」開発チーム紹介
◆ソーシャルゲームについて(1) 売り上げ、データというものを意識するようになる
◆ソーシャルゲームについて(2) “ゲーム”が作りたい人は悩むことになる
◆ソーシャルゲームについて(3) ソーシャルゲームが進化しないことはあり得ない
◆本当にあったこわい話

◆質疑応答


<第一章:「忍者ロワイヤル」を企画者視点で語る>

皆様こんにちは。忍者ロワイヤルのプロジェクトリーダーを務めております、株式会社DeNA ソーシャルゲーム事業本部 ソーシャルゲーム統括部スマフォSG部 SP企画グループの徳丸祥之介と申します。本日は主に企画者視点でのお話をさせていただきますので、どうぞよろしくお願いします。それでは、「忍者ロワイヤルの企画について」ということで、話を進めさせていただきます。


◆「忍者ロワイヤル」とは
これは「ロワイヤルシリーズ」の忍者版です。「ロワイヤル」の仕組みをAndloidとiOSアプリで実現しました。主に「怪盗ロワイヤル」の仕組みをベースに、ネットのアプリを作ったという位置づけになります。

この「忍者ロワイヤル」はDeNA本体としては初のiPhoneアプリという位置づけでリリースされたのですが、DeNAの100%子会社の「MiniNation」として、2011年前半に海外の英語圏向けのiPhoneアプリをリリースした実績はすでにありました。それが2010年10月からngmoco社が子会社になりまして、ngmoco社の提示するngCoreを使ってネイティブベース、つまり国内向けののアプリをDeNA本体で作ったという意味で、「怪盗ロワイヤル」は初のiPhoneアプリと位置づけられています。


◆「忍者ロワイヤル」のゲーム内容

忍者ロワイヤルのゲーム内容を、簡単な図で説明したいと思います。最初にプレイヤーが3タイプの中から好きな忍者を選びます。次に左下のホーム画面を見ていただくと、右に丸いボタンが2つ並んでいますが、これを使って「ミッション(スロット)」と「ユーザバトル」を進めていくというゲームになります。

「ミッション」のボタンを押すと選択画面になりまして、好きなミッションを選んで実行していきます。ミッションを実行しますと、経験値とゲーム内通貨、そしてミッションの進捗率が上がっていきます。進捗率が100%になるとそのミッションはクリアとなり、どんどんミッションを進んでいくと、ボスが登場してボスと戦って、倒すとまた先に進んでいく、というのがゲーム内容のひとつ。

あと、ミッションを進めていく中で、宝箱をそろえるという要素もあります。スライドの「ミッション(スロット)」の真上にある宝箱のイラストのある部分を見ていただきたいのですが、この宝箱が7個セットで1シリーズとなっていまして、ユーザーは7個の宝をすべて揃えて、シリーズをコンプリートしていきます。

ミッションだけ進めていっても宝をコンプリートすることはできないので、そこでホーム画面の「バトル」ボタンを押します。自分の欲しい宝を持ってるユーザーを狙ってバトルを仕掛けて、勝つと宝をゲットすることができる、と。そういう形でミッションとユーザーバトルを繰り返して、宝をコンプリートしていく、というのが内容となっております。

ユーザーバトルに関しては、勝てそうな相手を狙って戦いを挑んで勝つというと非常にシンプルなゲームになりますので、自分が他のユーザーの宝を奪うように、他のユーザーも自分の宝を狙ってくる、というのが面白いところかな、と思っております。内容自体はほとんど怪盗ロワイヤルと一緒ですね。


◆忍者ロワイヤルのこれまでの歩み

忍者ロワイヤルの制作のこれまでの歩みを見ていきます。昨年2010年の10月にテーマが決定して企画が通り、忍者をテーマとしてロワイヤル系のゲームを作るということになり、企画の詳細を作っていきました。

2010年の11月から開発着手となるんですけども、最初は、国内向けおよび海外向け「Mobage」でソーシャルゲームを提供するための最適なゲームエンジン「Mobage ngCore SDK」を、そもそもDeNA社のゲームに何が必要なのかというところを調査した上で実際に取りこんで、使ってみるというところから始まっていきました。それが昨年の11月で、今年に入り2011年5月12日に「忍者ロワイヤル」Android版がリリースされ、ようやく世に出すことができました。

Andloid版のリリースから遅れること3ヶ月、ちょうど先月の11日にiOS版がリリースされました。この間の3ヶ月間に何があったかと言いますと、5月12日にリリースしてから6月上旬くらいまでは、「当初予定はしていたけれどもリリースには間に合わなかった機能」というのを1週間サイクルで順次投入していったという期間になります。その後、6月上旬くらいに課金の機能も入れたという風に記憶しております。

そして6月中旬以降から、そろそろiOS対応を視野に入れていかなくては、ということになりました。iOSの特徴として、クライアントを変更するためにAppleさんの審査を通す必要があります。そのためリード対応がかかるということで、クライアントの変更無しでミッションを追加する仕組みだとか、当然ソーシャルゲームなのでイベントを追加する仕組みを実装していきました。

iOS対応自体は、基本的には「Mobage ngCore SDK」で対応しているので、検証をして特に不安がなければリリースという形でAppleに申請したのが、確か2011年の7月辺り。1回くらいリジェクト(不採用通知)がありまして、8月11日の朝に承認が下りて、リリースとなりました。


◆「忍者ロワイヤル」アプリを作る過程

なぜ「忍者」がテーマになったのか、これはたまに聞かれるんですが、まず、ロワイヤル、すなわちバトルを行うゲームの内容との親和性が非常に近かったこと。そして海外展開も視野に入れての開発でしたので、海外でも通用しそうなテーマという所でも忍者が選ばれました。後者の方が、皆さんも想像しやすい理由かなと思います。


「これまでに実績のあるフィーチャーフォン系のソーシャルゲームと比べて企画検討の仕方を変えた部分はあるか」、ということなんですけども、基本的には特に何も変わっておりません。デバイスが変わっても、ブラウザからアプリに変わったとしても、ソーシャルゲームとして基本的に成り立たせなくてはいけない要素というのは変わらないので、検討の方法や進め方というのは変わらなかったということですね。


では、本当にアプリ開発にあたって何も変えなかったのかと言われると、実際には変わった部分というのはあるのかな、と思っております。具体的には、まず開発方法。これは当たり前ですね。アプリなので、サーバーとクライアント側を両方開発するだとか、iOSで出すというところで、どうやってダウンロードするかだとか、開発の所は色々と変わってくる部分も多かったと思っております。

もう一点、これは企画という観点、私の担当部分の話なんですけども、ネイティブベースのアプリならではの特性の生かし方の検討ですね。せっかくアプリとして出すので、ブラウザではできない内容を盛りこんでいって、ユーザーに合わせていくのを狙って行かなければいけないということで、これについてはかなり試行錯誤したり、検討をしました。


◆アプリならではの特性の検討

アプリの特性を生かした新たな映像体験の実現ということと、利便性の向上を目指すという観点から具体的に検討した「特性」として、「表現力」、「操作性」、あと「通信頻度」という、この3つを取り上げてお話させいただきます。


・「表現力」
今日ここでお話したい表現力というのは、単なるデザインというわけではありません。つまり、例を挙げると、「アプリ風の横向きの画面」だとか、「リストを指で押さえてフリックして選んでいく操作UI」などを指すのではない、ということです。


それではここで言う「表現力」が何なのかというかといいますと、ネイティブアプリならではの演出などによって、ユーザーの感覚をより刺激することを狙って検討していきました。具体的には、スライドにあるように「ミッションを実行して戻ってきたユーザーがホーム画面に入った場合」や「自分のお宝を狙って他ユーザーからバトルを仕掛けられた場合」をビジュアル的に演出として表現しました。


この演出に何の狙いがあったかと言いますと、右側の女性の忍者ですね、ちょうど「LOSE」と書かれているところに宝があったんですけど、バトルの防衛に失敗すると「宝がなくなって負けた」という表現になります。逆に防御に成功すると、逆に虎の忍者が負けたようなポーズをとって弾き返されるというような演出を組みこみました。


必ずしも演出だけが原因ではないと思いますが、忍者ロワイヤルの特徴の一つとして、「忍者ロワイヤル」では武器よりも防具が売れる傾向があります。他にも特徴としてバトルの時間が長いというのがありまして、ここも原因として考えられるかなと思っております。ただ少なくとも、この演出によってユーザーのバトル結果に対する意識に影響を与えることはできたとは思っています。


・「操作性」

「忍者ロワイヤル」は、ネイティブアプリの特性、つまり操作性を生かしたライトなアクション性を、既存のソーシャルゲーム(怪盗ロワイヤル)に融合するという方針で検討していきました。その結果がユーザーバトルですね。ごく簡単なアクションで、多少テクニックによっては有利不利というのがあるんですが、ソーシャルゲームですので、基本的にはユーザーのパラメーターによって必ず勝てるような仕組みには作りました。


その結果、ユーザーバトルをする「忍者ロワイヤル」のユーザーの割合っていうのが、他の「ロワイヤル」シリーズよりも高いという特徴があります。この結果から、アクション性を変えたことによって、ユーザーバトルというのがユーザーに支持されたんではないかと思っています。普段はバトルをしない方でもバトルをするというようなことが見られるのかな、と。


あともう1つ、昔からソーシャルゲームを運営していて、ただ押し続けるという単純作業になりがちな部分が「ミッション」の実行でして、退屈になりがちなので、変化をつけるためにミニゲーム「スペシャルミッション」を導入しました。「スペシャルミッション」というのは、キャラクターがどんどん出てきて、それをタップとスライドで倒していくという非常に単純なミニゲームです。


「スペシャルミッション」自体の評価には、「面白い」という声もいただいているんですけども、「難しい」という声もあります。あとは「プレイする際に場所を選ぶ」とか、「電車とかだとやりづらい」というものもありました。あと、「イベント中は(スペシャルミッションが)邪魔」、「宝を集めたいのにスペシャルミッションが出てしまって時間を取られてしまい、先に進めない」とか、そういう意見もありまして、賛否両論という状況なのかなと思っております。


今後の方向性として、スペシャルミッションに関しては改修を加えていこうと思っております。「スペシャルミッション」自体を極力簡単にして、ユーザーになるべくストレスを与えず、快感だけを感じてもらうような内容にしていきたいと。なおかつ「スペシャルミッション」の報酬を増やすことによって、ミッションをこなす意味を作りたいなと思っております。

もう一つ、大きな変更点なんですけども、スペシャルミッション開始前にスキップすることもできるように改修していこうとは思っています。やはりユーザーによって色々目的が違いますので、どうしても「スペシャルミッション」自体が邪魔だなというケースはあるかなと思っております。アクション性自体に関しては、「ユーザーバトル」という所ではそれなりに上手くいっていますし、「スペシャルミッション」はその入れ方というものを考えていく必要があったかなというところは学んだところです。


・通信頻度

「ユーザーのストレスを減らすために通信する個所を減らす」ということと、「通信中の場合は、『通信中』と表示してユーザーに知らせ、『今は電波状態が悪いからちょっと待たされている』と分かるようにする」といったことは、アプリ開発担当をされる方は常に考えていることと思います。


「忍者ロワイヤル」の場合、ミッションでスロットの出目がくるくるとアイコンと共に回るのですが、その時に裏で通信しておりまして、通信中はずっとスロットが回り続ける状態になります。当然電波が悪ければずっと回っているスロットを見続けることになるので、ユーザーが通信のことを気にするのではなく、「ちょっと焦らされてるのかな?」と思わせる工夫を凝らしているというところが1つあります。


アプリの特性という観点での話は以上なのですが、せっかく今ミッションのスロットの話が出たので、8月下旬に追加した「ミッションスロット」についてお話させていただきます。


◆ミッションに関する課題

機能を追加する際に課題として挙がっていたことなんですけど、1つがミッション作業化の防止。これは最初の方のお話でも出たんですが、どうしてもスケジュール的に余裕がなかったというのもあって、アイデアはいろいろとあったものの、ミッションに出てくるイベント、要はスロットのアイコンの種類が少なかった。この部分で、ユーザーを飽きさせないようにする必要があったというのが課題の一つと認識しております。

もう1つはソーシャル性の不足ですね。基本的には「忍者ロワイヤル」をリリースした時点で、決してソーシャル性が豊富に盛り込まれたゲームだとは我々は思っていなくて、むしろそこまで手が回らなかったというのが正直なところで、ここは何かしら手を打たなければいけないと。それぞれの解決方針としてですね、

まずミッション作業化の防止という観点では、イベントのバリエーションを増やして飽きせないようにする。もう1つが、作業と感じさせないためにユーザーにとって嬉しいイベントを追加する。具体的には報酬がいっぱいもらえるイベントだったりとか、多少ゲーム要素があるイベントだったりとかを盛り込みたいな、と検討しています。


もう一点が「ミッション」のソーシャル性の追加ですね。ほとんどのユーザーが「ミッション」を実行するので、せっかくなのでそこにソーシャル性を乗せるのが理想的な形なのかな、と。観点としては3つあって、まずは「他ユーザーとミッション中に遭遇するようにする」。これは他ユーザーとの接点を追加するということです。必ずしもリアルの知り合いではない友人もいるので、そういう場合にどうやって仲間の申請をするかというところで、相当アクティブなユーザーでないと、ユーザーを選んで申請するっていうのはなかなか難しいところです。そこで、「ミッションで遭遇させてしまって仲間の申請を後押しするようにする」という話は出ています。


3点目として、既存の仲間に何かしらの作用ができるという観点で検討を進めました。その結果の一つがこの図です。左上の画面でミッションを実行しています。


ミッションを実行すると、他ユーザーの襲撃に遭遇。これは結構、導入当初ユーザーからの不満の声が上がりました。他のユーザーの襲撃に合っていきなり不意打ちでお金を奪われてしまうという、結構衝撃的なイベントです。


そこで「NEXT」というボタンを押すとこの画面が開いて、仲間を選んで「リベンジ依頼」をしようということになります。結構強引な設定ではあるんですけど、攻撃力などのターゲットのパラメーターが出まして、それに対して自分の仲間が3人表示されて、好きなユーザーにリベンジの依頼をすることができるとという仕様です。

当然ながら攻撃力が強いユーザーを選んだ方が良いということにはなるのですが、弱いユーザーがリベンジをした方が戻ってくるお金が多くなるという仕様も入れていまして、ちょっとギャンブル性があるんですね。そこは駆け引きで、確実に取り戻したい場合は強い仲間を選び、盗まれたお金はそんなに多くないし、増えて戻ってきたほうが嬉しいなら、ちょっと弱い人を選んで依頼するということになります。「リベンジ依頼通知」では、ユーザーがログインするときの楽しみを演出しました。サプライズとまではいかないまでも、通知依頼が来ているかどうかというのは、次にログインした時の変化として楽しめるかなと思っています。


実際仲間に申請すると、左側の矢印の先に行って、リベンジ依頼主、仲間のホーム画面ですね。鳩がリベンジ依頼という手紙を置いていくんですね。そのリベンジ依頼という手紙をタップして内容を確認してバトルを選ぶと、更に左側のリベンジバトルへ進みます。内容自体は、アクションバトルになりますけども、既存のアセットを使い回しして、リベンジバトルというかたちで組み込みました。リベンジの結果、勝った負けたが依頼主に通じられます。


その通信の方法も、リベンジ結果の手紙が鳩と共にやってくると。その結果によって勝っていればお金が返ってきます。この機能も、先ほどの課題のところで挙げた、バリエーションを追加ということに当たりますね。

あと、仲間を選んでリベンジ依頼をすると、なぜか「団子」というものをもらえます。この「団子」も新しい追加要素で、団子を五つ集めるとバトル回数が1回分回復します。これはユーザーからすると非常に嬉しい要素となっていて、通常だったら課金の「おにぎり」という回復剤でしか回復できなかったバトル回数が、「団子」をもらえば、課金をしなくても回復することができるんです。

アプリの特性として上手くいっている部分を持ってきて、ユーザーに楽しんでもらうようにしました。また、今までは、ユーザーバトルをするとバトル可能な回数が減っていって、一回バトル回数が減ったら6時間回復を待つという仕組みになっているのですが、「リベンジバトル」ではバトル回数を減らさずにバトルができる、という点でもユーザーが楽しめるかと思います。また、相互方向の作用というところで、自分から依頼して相手が答えてくれるという部分も組み込めました。

他のイベントについては導入直後で具体的な数字としてまだ効果測定中ということなんですけども、課題ということに対しての一通りの補足というのはできたかな、と思っております。

最後なんですけれども、「忍者ロワイヤル」はまだまだ出来上がったゲームという位置付けではないと思っておりまして、今後もソーシャルゲームとしての検討を行っていって、随時アプリとしての特性を生かした機能を盛り込んでいって、ユーザーの満足度を上げたいと思っております。私のパートは以上です。ありがとうございました。


<忍者ロワイヤルを開発者視点で語る>

忍者ロワイヤルは、怪盗ロワイヤルをスマホ版にアップグレートしたものです。製品紹介としては以上です。まずデモをお見せしようと思います。

今日は、最近実装した、一応いわゆるオフレコ的なもので、写真とかで記録していただくのは控えていただきたいのですが、キャラクターのポーズをつけられるようになりました。これまではただの静止画だったんですけど、着せ替えみたいなものもできるんです。

あと、(シューティングの)ボムみたいな戦闘を助けるアイテムとして、この「時の砂」みたいなものがあって、「敵の動きを止められるようになる……そして時は動き出す!」という風に、ただダメージを与えるだけになりがちなアイテムを、「時を止める」というちょっとユニークなアイテムと、時を止めている間にユーザーがどう行動するか、という部分が良い工夫になっているんじゃないかと思います。


私は佐藤大悟と申します。よくわからない感じの人なんですけど、最近DeNAにきました。アルプスで乳搾りをしながらプログラミングをするのが夢です。


◆「ngCore」について(1) ワンソースでAndroid/iOS上で動く

ngCoreについてちょっとご紹介したいなと、思います。「『ngCore』ってどうなんだ」とはよく聞くんですが、まぁー、……普通っちゃ普通ですね。当たり前のことが当たり前にできるような、そういうフレームワークではあると。まず、AndloidとiOS両方で本当に動くんですよ。これって結構すごいと思うんです。国内端末の検証を全部されてるようなフレームワークもない中、ちゃんと動いてるっていうのに僕は感動していて、これがワンソースっていうのもすごいな、と思ってます。

多解像度への対応も僕は意識したことがなくて、「忍者ロワイヤル」でも、画面上でそのものを拡大・縮小することでもう済ましています。じゃあ例えば(iPhone 4から採用された)Retinaディスプレイとか、タブレットどうなのって話がありますけど、それはもともとのアセットがかなり高解像度なので、解像度が上がっても耐えられる仕組みになってます。


◆「ngCore」について(2) アプリで2Dソーシャルゲームをつくるのにイケてる

「ngCore」の良いところは、アプリ、しかも2Dソーシャルゲームを作るのには相当イケてるな、と。そもそもがサーバー前提のゲーム作りって、コンシューマーとも違っていて。「ngBuilder」のブースが出ているので是非見て欲しいんですけど、サーバーとクライアントが一緒になってる前提になっているツールなので、それなりに使いやすそうです。そして、課金とかSNSの仕組みなど、求められている当たり前のことが、Mobageでも求められているものがすでにあります。



◆「ngCore」について(3) 将来HTML5対応予定

「ngCore」が「将来HTML5対応」って言っているのがすごく意外だと思っていて。ソーシャルゲームって、リアルタイム性が超・重要なんですよね。例えば「明日イベント打ちましょう」とか。そういう時にいちいちクライアントを作ってビルドして公開っていう、コンシューマーゲームでやっているようなプロセスをなかなか踏めないんです。そうなると、全部ウェブに載せるHTML5って結構強いんじゃないかなと思います。

「じゃあなんでHTML5に書かないんだ」と、そういう話になると思うんですけど、僕、実は「ngCoreなんてやってられん」と思って、おうちでHTML5を始めたことがあったんです。で、今もやってるんですけど。まぁ、HTML5はまだまだ実用的ではないなと思います。

結局ブラウザ間での差異への対応もありますし、マルチタッチがちゃんと取れてるかとか、描画が重いとか、まだイケてないところが多くて。個人でやるプロジェクトには良いかもしれませんが、ちゃんと出すものにしてはまだ使いづらいところがあるのかなと思います。

それが実用的になるまでのつなぎとして、「ngCore」はすごく魅力的ですね。要はネイティブに書き出すわけなんで、HTML5がちゃんと実用的になるまで待つことなく、そういう作品を出していける。

ただ個人的には「そんなにリッチなのはやらん」「俺はドリランドを作るんだ」ということだとウェブで割り切るって手もあるんじゃないかな~と思います。それはそれで一つの手だと思うし、少しリッチなことやりたくなったら……とはいえユニティとか、あれは行き過ぎだと思う。例えば数人でちょいリッチなゲームを作るときとかに、ユニティは逆に作りにくいと僕は思います。


◆アバター

僕が最近やったこととしては、アバターを実装しました。結構割り切った仕様でやっていて、アニメーションをつけていません。ただの静止画。この辺の仕様が変わらないとは限らないですけど、単純にポーズとか、目とか頭とか取ってきて組み合わせるだけです。ただし、簡単ではあるんですけど、ネットワークからデータを落としてるという所で、やはりエラー処理ですとか、ファイルサイズを小さくするところに苦心したな、という所はあります。


◆画像リソース軽量化

次は技術的な話になるんですけど、リッチなアプリケーションになってくると、リソースの容量がだんだん増えてきてしまって、気づくとAndloid版には36MB分のPNGファイル、つまり画像ファイルがありました。何でAndloidの方が(容量が)大きいのかはあとで説明します。

ただ、iOSの(画像リソースが)23MBっていうのもかなり致命的で、本当はiPhoneアプリの全部のサイズを23MB以内に収めたいんですね。それは何でかっていうと、AppStoreで3G回線を使って落とせる限度が20MBだったんです。そういう内部の情報で、20MBを切っているかどうかがかなり大きな分かれ目だっていうのはデータで出てるんで、そこは死守しました。


じゃあ具体的に何をやったのと言いますと、まずマイナス40%、容量を減らしましたと。これはAndloid版だけなんです。次は見慣れてることだと思うんですけど、インデックスカラー化、つまり減色表示ですね。これにはOPTPiXという、イケてるツールを使います。(価格は)ちょっと高いんですけど、非常に高品質なインデックスカラー画像を作れるソフトで、特に透過情報までインデックスカラーとして扱えるところがユニークです。最後に、「ImageOptim」というMacのフリーのツールがあるんですけど、こいつがかなりイケていて、まったくノーリスクで容量が減るので、使わない手はないですね。


ngCoreのプロセスの話なんですけど、うちってやっぱりなるべく多くのデバイスに対応したいと思っているので、例えば古いAndroid、「OpenGL ES 1.1」で二のべき乗が正方形じゃないと読み込めなくてエラーが起きて落ちるという現象にも対応するために、テクスチャを一部拡大しています。これは何がいかんかと言うと、容量がブーストするは、画像はぼやけるはで、良いことはないです。メモリにも全然優しくないですしね。


これを解決するための方法がいくつかありまして、スプライトシートはその一つで、項目とかを一つのシートにまとめちゃいましょうと。当然なんですけど、このまとめる画像ってなるべく同じメモリに入るもの、つまり同じシーンで使うものでまとめてあげると効率が良いし、高速化にもなりますね。


(スプライトシート化は)1枚の画像に対してもやることがあって、例えばこの画像は横長で、通常だと下とか右に拡大されちゃうんですけど、これは普通に拡大するより、このようにソリッドなカラーで埋めちゃう方がずいぶん容量が軽くなって、だいたい元の容量の半分くらいで済むかな、というところです。


「Texturepacker」というツールをご紹介したいんですけど、これは海外の個人が作ってるのかどうか知らないんですけど、適当に画像を放り込むとスプライトシートにしてくれる、簡単で便利なツールです。こいつのいいところは、この単純さもそうなんですけど、いい具合のJSONファイルを書きだしてくれると。まあJSONじゃなくても、いろいろな物を書きだしてくれます。うちの会社では、書き出してくれたJSONファイルを更にうちのプロダクトにいい具合になるように、スプリクトを変換して使っています。これで画像の表示位置などの情報をここで指定しています。


「ImageOptim」は、これは皆さんも是非使ってほしいんですけど、適当に画像を放り込むと最適化してくれる便利なツールで、しかも同じ画像を複数回やると、効果が複数回発揮されることがあるという。本当に(画像が)ダメになるとバツマークがつくんですね。これ以上最適化できないよと言うことで。これはちょっとデザイナーさんとも横に並んで、「これホントに効果あるの?劣化してないの?」と、言いながらやったんですけど劣化してなくて。これはもう謎の技術ですね。


最終的に、両方10MBになりました。iPhoneのデータ上限の20MB以内なので、余裕で入るんです。軽量化でもまだまだ足りなければ、例えばオーディオだとか画像だとかを、よりサーバーに持たすツールが必要です。それをやると、ユーザーエクスペリエンスという意味では、「お団子」とかそういうことに走ったりするんですけれども、それはそれとして。

◆「忍者ロワイヤル」の改善したい点(1) 縦持ちにも対応しておけばよかった

「忍者ロワイヤル」について改善したい点はあって、それはプレイヤーとして思うところでもあるんですけど、縦持ちでしょう。やっぱり電車で、つり革に捕まりながら遊びたいですよね。ただ、電車で横持ちすると恥ずかしいんですよ。「忍者ロワイヤル」をやってるのを知られたくないんですよ、僕は。僕はあくまでメールを打ってるだけで、ソーシャルゲームはやってないぞ、と。そういう大人のプライドを保ってあげるっていうのも、ソーシャルゲーム各社には気を付けてほしいところであります。

あと、やっぱり両手を使うってことは、片方の手がふさがるってことなんで、心理的負担が高い。そんなにソーシャルゲームが好きじゃない、そんなに気合いは入れたくない、という人はいっぱいいると思うんで。あとはマルチタスクが邪魔かな、と。


◆「忍者ロワイヤル」の改善したい点(2) スペシャルミッションが飽きる

スペシャルミッションがあって、これはさっき徳丸さんが言ったやつなんでスキップします。ただ一つ抜けてたのが、何でバトルに関してはユーザーから不満が出てないかっていうと、バトルは能動的なんですね。自分たちが好きなときにアクションを楽しめる。スペシャルミッションは別にアクションやりたくねーよというユーザーにも強制的にやらせてしまっているのが問題であって、あくまで能動的なアクションとしては全く問題ないと思います。


◆「忍者ロワイヤル」の改善したい点(3) 「ngBuilder」を使いたい

「ngBuilder」を使いたいと。実は私、内製なのに「ngBuilder」があんまり使えてないんですよ。何でかっていうと、環境が整ってないところで開発しちゃったことで負の遺産があったりとかして。そういうところで今から参入する方は、うらやましいっちゃうらやましいんですけど……。

その中でコンテンツ追加が大変だったり、UIビルダーが当時はなくて、まさかの手作業でファイル編集……これをプログラマーがやるっていうのがなかなか辛いですね。スペシャルミッションも、あれを手で作っていた、と。もう嫌です、もうやりたくないですよ……。


◆「忍者ロワイヤル」開発チーム紹介

「忍者ロワイヤル」チームの紹介です。みんなソーシャルゲームが大好き!最近チーム内で流行ってるソーシャルゲームが、例えば、Demon's Soulsとか、この間まではPortal 2ってソーシャルゲームが流行ってました。で、今一番みんなが楽しみにしてるソーシャルゲームが、Diablo IIIです。


最近の「忍者ロワイヤル」チームはメンバーがちょっと増えて、ただ、男……まあ、それはいいです。ユニットテストも、サーバーサイドの方もはじめました。スクラムっぽいことが始まった、と。スクラムっていうのはある一定期間に分けてボードでタスクを管理するようなマネジメント方法なんです。これによってタスクが可視化されたし、チームのモチベーションも上がるし、朝会でみんなの意見がシェアできてすごく楽しいよと、そういうことを言いたいです。


◆ソーシャルゲームについて(1) 売り上げ、データというものを意識するようになる

ソーシャルゲームについて。これはソーシャルゲーム全般かどうかはわからないんですが、DeNAに入って思ったことを話します。

DeNAでは、プログラマーであっても、実装だけやっていると怒られるんですね。何でだ?と。プログラマーは実装してなんぼだろって思うんですけど、弊社ではそれだけでは飽き足らず、企画とか売上とかを意識しろ、と。それはなかなか普通にプログラム打ってても経験できないから。

しかもフィードアップのサイクルが早くて、すぐに売り上げのデータとか見られちゃう。なので自発的に頑張ろうという気になります。逆にプロジェクトがやばいときは、「これ、俺が収益作れないと会社終わるな」と思ったりとか。

起業したい人には格好の勉強の場、これは本当にそうだと思います。そういう目的で入ってくる人もいるんじゃないでしょうか。


◆ソーシャルゲームについて(2) “ゲーム”が作りたい人は悩むことになる

逆に、ゲームを作りたい人は悩むことになります。コンシューマーゲームの業界からソーシャルゲームの業界に入ると、やっぱり悩みます。「こんなのゲームじゃねえよ」とか、「俺、そんな金儲けとかいいよ」とか。ただ、ソーシャルゲームの業界に入っている限り、あなたがわからないユーザーを理解しなくてはならない。つまり、あなたのゲームはどうでも良くて、隙間時間に遊ばれるのだということを認めるということですね。また、そのスピード感についていくには、泥臭さにもついていかなければいけないと、そういう側面があります。これは家庭用ゲームの開発ペースからすると難しいかもしれないですけど、これに適応できると大きな財産になると思います。


◆ソーシャルゲームについて(3) ソーシャルゲームが進化しないことはあり得ない

ソーシャルゲームが進化しないことはありえないんです。今のソーシャルゲームはMobageとかGREEとか、Zingaとか、あれがすべてだと思ったら僕はそれは全然間違ってると思っていて、特にコンシューマーの技術がある人ってこれからいくらでも新しい技術、新しいゲームを作っていけるじゃないですか。

僕がさっきDemon's Soulsをソーシャルゲームって言いましたが、あれは冗談じゃなくて、本当にソーシャルゲームだと思いますよ、あのゆるい感じのつながりとか。そういう意味では、もう少し広い視野でソーシャルっていうのを捉えて、面白いゲームを作っていければいいと思います。ただ、さっき言ったように、コンシューマーをやってきたっていうプライドがある人でも、学ぶ姿勢がないと得るものはないと思います。


◆本当にあったこわい話

最後に、本当にあったこわい話を一つ。昨日AppStoreを見たんですけど、どっかで見たようなゲームがあったんですね。何かとは言わないんですけど、レイヤーとかが、僕が関わっていたゲームにもしかしたら近いのかなというものがありまして。ぜひみなさん、App storeをぜひ覗いてみてほしいと思います(笑)


<質疑応答>

Q1:
佐藤さんが「(ソーシャルゲームの開発は)スピード感ゆえに泥臭いことがある」と述べられていましたが、泥臭いっていうのはどのような形なのか教えていただけますでしょうか」

佐藤:
今無理やり入れなきゃいけない機能とかがあって、ほんとはプログラマーとしてはこんなコード書きたくないのに!という。たまにコメントで「俺ほんとはこんなコード書きたくないんだよ」みたいなことが書かれているソースをよく見ることがあります。

それでも最優先なのは売り上げだったり、会社のビジネスだったり。そこを働いているエンジニアの人も理解しているので、そういうところが泥臭いのを許容しないといけないのかなと。


Q2:
「忍者ロワイヤル」は、アクション性が他のゲームと比べて増したと思うんですけど、ユーザーの年齢層は売り上げに変化があったのでしょうか。

徳丸:
ユーザーの年齢層ということですが、何と比較するかって話になるんですが、フィーチャーフォンのロワイヤル系のゲームと比べて、そんなに目立った変化はないですね。20代~30代がメイン層で、他のフィーチャーフォンのロワイヤルよりも少し20代の人が多いかな、と。アクション性のせいなのかスマートフォンのせいなのか、っていうのは少し分からないんですが。

Q2
あともう一点お伺いしたいのですが、簡単にコツコツやれるっていうのもソーシャルゲーム利点の一つだと思うんですが、ちょっと言葉が悪いですが面倒くさいゲーム性になっていて、それで少しコンシューマーゲームに近づいてきているのだと思うんですが、今後ソーシャルはそちらの方に向かうべきなのか、それともコツコツとやる系に差別化した色々なゲームが出るようになるのか、どちらをお考えなのかお伺いしたいです。

徳丸:
個人的な意見になりますが、コンシューマーゲーム化するというのは必ずしもないかな、と思っています。あくまでも目立つべきは、ソーシャルゲームとして何をするかということなので、コツコツとやるのがよいのであればとことんそれを追求していくべきかと。今回は確かにそこに対しての変化はユーザーの動向を見ながらで。もしかしたらコツコツ系ばっかりになっていく可能性もありますし、ユーザーがどんどんやってくれるんであればそうなっていきますし、逆に面倒くさいゲームを入れてもユーザーが面倒くさいながらもやってくれるんであればそれはそれでやっていこうと。

Q2:
ユーザーの動向を見据えつつ、ということですか

徳丸:
そうですね、そういう変化を早く感じ取って対応していくことが重要だと思います。

Q3
「忍者ロワイヤル」ではバトルの待ち時間が他のロワイヤルシリーズに比べてかなり長い時間に設定されているんですが、これはどんな意図で設定されたんでしょうか。

徳丸:
ここは今回試行錯誤したところで、正直「忍者ロワイヤル」を海外展開を視野に入れていまして、「MiniNation」でアプリをリリースした時に、「Bandit Nation」という怪盗ロワイヤルの英語版をリリースしたのですが、なかなかユーザーバトルに向かわせるのに苦戦したという経緯がありまして。日本ではかなり受け入れられているんですけど、手下を減らしてバトルの回数を増やすというところがちょっと欧米の方には難しいんだなと、いう感触があってですね。それで今回単純な仕様にしてみたというところですね。6時間が最低かどうかは今後試行錯誤するところかなと思っております。

この記事のタイトルとURLをコピーする

・関連記事
「ゲーム業界で働くなら中二病は大事」採用担当が語るゲーム業界採用事情 - GIGAZINE

「ヤバゲー(Yahoo!モバゲー)」の利用者数が200万人を突破 - GIGAZINE

「Mobage(モバゲー)」がYahoo!モバゲーも含む大規模ダウン - GIGAZINE

カプコンがスマートフォン向けソーシャルゲームを本格展開、新ブランド「ビーライン」を立ち上げ - GIGAZINE

パックマンを育てるソーシャルゲーム「PAC-MAN REBORN(パックマンリボーン)」のiPhoneアプリ配信開始 - GIGAZINE

in 取材,   モバイル,   ソフトウェア, Posted by darkhorse_log

You can read the machine translated English article here.