トップTech総研トップスキルとキャリア最新技術DeNA川崎氏が語る──秒速で進化する「ngCore」の全貌DeNAおよびそのグループ企業である米ngmoco社が開発・提供する「ngCore」。業界の中でも最先端と言われるスマートフォン向けクロスプラットフォーム・ゲームエンジン。その現在の開発状況を、DeNAの最高技術責任者を務める川崎修平氏に聞いた。修平氏DeNAが開発・提供する「ngCore」は、ソーシャルゲームプラットフォーム「Mobage」のスマートフォン向けゲーム開発エンジンだ。米ngmoco社が開発を始めたものだが、2010年にDeNAが同社を買収したことにより、単なるゲームエンジンとしてだけではなく、DeNAが世界で展開するMobage向けアプリ開発戦略、プラットフォーム展開の中核に担うものとして位置付けられ、日米共同で急速に拡張が図られてきた。いま雪崩を打ってスマートフォン向けにシフトするソーシャルゲーム開発の現場だが、代表的なスマートフォンOSであるiOSやAndroidは、それぞれ独自のAPIを持ち、またObjective-C、Javaなど開発言語も異なる。そのため、両OSに対応するアプリケーション開発者はこれまで大きな負担を強いられてきた。ngCoreを使うとその開発工数が大幅に削減される。2つのOS向けに別々のソースを記述する必要がない。JavaScriptで記述されたプログラムが両プラットフォームで動作する。Objective-CやJavaを知らなくてもJavaScriptのみでMobageプラットフォーム向けのアプリケーション開発ができるようになる。Mobageの持つソーシャルAPIを利用して、開発したアプリケーションを全世界に展開できる──など様々な利点がある。DeNAでngCore開発を指揮する川崎修平氏は、開発の現状について次のように語る。「今年の6月ごろの話では、JavaScriptでネイティブ並みのパフォーマンスのものをAndroidやiOS用に開発できるという部分が、ngCoreの一番の売りでした。Engineなどたくさん出ています。それだけを見るとngCoreも同じなのですが、違うのは単なるアプリ開発のプラットフォームというよりも、さらにWeb上で様々なサービス提供できるプラットフォームになることを目標としているところです」スマートフォン、とりわけそこに搭載されるブラウザの機能は発展の余地を残した進行形の技術だ。当初はスマートフォン・ブラウザだけではカジュアルなゲームしかできないので、それを補う意味もあって、ネイティブコードでのアプリ開発が進められてきた。ネイティブコードでスマートフォンの各機種に対応することが必要だったのだ。スマートフォン・ブラウザの機能向上は目ざましい勢いで進んでいる。今後はHTML5とCSSのみでより複雑なゲームが楽しめるようになる。「そこで私たちはいまHTML5版のランタイムで動くngCoreを開発しています。アプリ同様にJavaScriptで書いて、それをAndroidとiOSにパブリッシュできます。いまはまだプロトタイプの状態ですが、かなりいい動きをしています」と川崎氏は言う。HTML5版のngCore。HTML5」としておくが、この開発が進んでいることは、ゲーム・デベロッパーにはグッドニュースだ。周知のように、HTML5のコードに準拠すれば、これまでのWebページのように文字や映像を表示するだけでなく、ブラウザの中でアプリを自在に動かせるようになる。操作ボタンやインタラクティブな画面設計も可能だ。AndroidもブラウザはHTML5対応だから、開発者はWebページを送信する感覚でWebアプリをスマートフォンに配信できるというわけだ。StoreとAndroidマーケットの二者による市場寡占状態を変えるかもしれない。それは相対的に、スマートフォンにおけるMobageプラットフォームの優位性を高めるという効果もある。HTML5」の登場は、アプリ配信だけでなく、煩雑なアップデート作業においても大きな前進を意味する。ソーシャルゲームでは、リリース後のアップデートは頻繁に行われる。ユーザーの反応を見ながら、より操作性や収益性を高める改修作業が連日のように行われるからだ。ネイティブ・アプリだとアップデートのたびに、各OSのアプリマーケットの審査を待たなければならない。「たとえアプリマーケット側が審査作業を毎日やって、アップデートをスムーズに通してくれたとしても、ユーザーがマーケットに行ってアップデート作業をしなくてはいけない状況は変わらない。これはユーザーにとっても開発者にとっても手間です。その点、HTML5対応のWebゲームならユーザーが意識することなく、ライブアップデートが行われます。HTML5対応を進めることで、本来のソーシャルゲームの運用に適したプラットフォームが生まれる。ngCoreの存在価値はそこにあります」と、川崎氏は続ける。これによってネイティブ・アプリがすべてなくなるわけではない。StoreやAndroidマーケットは競合ではなく、今後も共存します。デベロッパー観点に立てば、一つのコードを生成して、後はこれはネイティブで出すとか、これはHTML5版で出すとかを自由に選べばいい。Client」の機能についての話だ。SDKとも呼ばれる部分である。Server」や、ゲーム開発を容易にするためのライブラリ群「ngGo」、ゲーム開発のためのサポート環境「ngBuilder」などを含む統合開発環境だ(図参照)。構成要素の一つngBuilderには、デバッガ、JavaScriptプロファイラ、ngCoreの環境管理などのサポート機能が搭載されている。「これまでは、デザイナーさんがキャラクターの動きやマップをいじりたいときには、どうしてもプログラマにツールの開発を頼まなければいけませんでした。これをできるだけデザイナーさんだけでもできるようにというのがngBuilderの狙い。最初の実装の段階で、現状ではアナライザー向けの開発サポートツールになっていますが、この部分を拡張すれば、デザイナーとプログラマの役割分担がより明確になり、ゲーム開発の効率が高まると考えています。ゲームの開発工程のなかでデザイナーができることをプログラマから分離していくわけです」(川崎氏)逆にいえば、パラメータの調整などはデザイナーに任せ、プログラマはゲーム本来のロジック開発に集中できるようになる。した分担作業はコンソールゲームを開発していたエンジニアには当たり前のこと。Web業界では必ずしも標準ではなかった。ngBuilderのようなツール群でサポートすることで、それが可能になる。ngCoreを開発してきたngmoco社はコンソールゲームが出発点。そのためngCoreにはコンソールゲーム開発の色が残っている。それがDeNAに買収されたことで、Webアプリ開発とのよい意味でのハイブリッド、相乗効果が生まれつつあるのだ。“コンソール・ライク”なUI開発といっても、もちろん、DeNAのソーシャルゲーム開発が今後、コンソールゲームのような大人数・長期の開発体制に移行するわけではない。分担が明確になることで、これまでコンソールゲームの開発手法に慣れたエンジニアが、ソーシャルゲーム開発に移行する上での障害は一つ少なくなる。ngGoは、ゲーム開発を簡単にするためのライブラリ群だ。シーン管理、モーション管理、アセット管理、OpenGLベースのUIパーツなどを今後サポートしていく。アクションゲームで勇者の剣から炎が立ちあがるシーン。これは専用のパーティクルエンジンで描画されることが多い。パラメータをいじることで、炎の出方の調整もできる。これらngGoのライブラリ群は、ngBuilderと連携して動く。「アニメーションの動き方のデータや素材のデータをngBuilder側ではき出し、それをngGoのライブラリが読み込んで表示するといった、両方の連携がこれから密になります。両者を一体化してもいいぐらい」と、川崎氏は開発の方向性を述べる。「ngServer」の機能についても簡単に触れておこう。ngServer自体は、簡単にいえばJavaScriptで動くWebサーバーだ。「JavaScriptを使っていることで、クライアント側とサーバー側とが同じロジックを共有することができます。これはソーシャルゲームにおいては極めて重要なこと」と川崎氏は指摘する。「例えば、クライアント側で処理したデータの正当性をサーバー側で検証するときに、それぞれが違うアーキテクチャで書かれていると、検証ロジックをぞれぞれの言語で書かなくてはいけない。同じJavaScriptベースならクライアントとサーバーで共通の検証ロジックが使えるようになります。データの正当性チェックが簡単になるということですね」さらに、ngServerにはMobageのサーバサイドにアクセスする機能がデフォルトで組み込まれている。従来は通信のプロトコルだけが定義されていて、実際の通信機能はデベロッパーが自分で実装する必要があった。それをデフォルトで提供するようにしたわけだ。ngCore全体の設計思想は、「優れたアイディアを持っている開発者たちの勢いを止めない」(川崎氏)ということだ。ベーシックな品質は予めツール類でサポートしていくので、開発者はよりコアなゲーム開発に専念できる。そこで作られたゲームが運良くヒットし、膨大なトラフィックが押し寄せて来た場合も、容易にスケールできるような柔軟なサーバー構成になっているのも特徴の一つ。StoreやAndroidマーケットに過度に依存せずに、ブラウザベースのゲームとして独立できるような方向づけが行われている点も、重要なポイントになる。してツールやサポート体制が整ってくることで、ゲーム開発者に求められる質もより高まるはずだ。「やはり品質に違いを出せる人が、これからは重要になってくる。同じアニメーションや遷移の画面を作っていても、微妙な配置や動きのタイミングでゲームの印象が全く違ったものに見えるということはよくある。ソーシャルゲームにおけるワクワク感は、デザイナーだけでなく、プログラマの力によるところも大きい。今回、川崎氏が話したngCoreの新機能の全体像が見えるようになるのは、2012年1月の予定。そのマイルストーンをめざし、DeNAの国内開発チームと、サンフランシスコのngmoco社チームとの共同開発は、太平洋を越え、年をまたがって、さらに緊密さを増していく。「既存のゲーム業界にいるエンジニアはもとより、これからスマートフォン・ゲームを開発したいと考えるすべてのエンジニアに向けて、世界一の開発環境を提供したい」──両者の思いは一致している。DeNAにアルバイト入社。2004年4月に正社員となる。携帯電話向けオークションサイト「モバオク」、アフィリエイトサービス「ポケットアフィリエイト」、携帯サイト「Mobage」を開発。その他多くのサービスの開発・運用に携わる。2007年6月、取締役に就任。人気企業の採用実態あの人気企業はいま、どんな採用活動を行っているのか。大量採用?厳選採用?社長の狙い、社員の思いは?Tech総研が独自に取材、気になる実態を徹底レポート。ゲームエンジン「ngCore」を語るDeNAのスマートフォン向け開発はngCoreでどう変わる?スマートフォン向けソーシャルゲーム開発エンジン「ngCore」を、自社アプリ開発だけでなく、サードパーティのゲーム開発企業にも提...DeNAソーシャルゲームMobageスマートフォン...南場社長、守安COO、DeNAのスーパー・エンジニアが語るDeNAの成長戦略X-device、X-borderを支える技術力とは「モバゲータウン」のサービス名称を「Mobage」に変更し、グローバル展開が本格化するDeNA。あらゆる情報端末に対応する「X-...MobageDeNAソーシャルゲームスマートフォングローバル...開発者末永氏と、ソーシャルゲーム開発リーダー広瀬氏が明かすDeNAが開発した新たなフレームワークGunyaSiFとは?ソーシャルゲームやアプリ開発を全面サポートする機能を搭載したフレームワーク「GunyaSiF」。求人の募集要項にあるスキルは満たしていたのに、なぜか結果は不採用。Tech総研リクルートグループサイトへ。