
■DeNAのアプリ開発の現状
DeNAは、ネイティブアプリ開発の参入に少し遅れたこともあり、2013年末から着手、基盤技術の積み上げなどを進めました。現在では開発者がコンテンツ作りに集中できる基盤が整い、ゲームを面白くすることに集中できる環境が実現できている。一方で課題もまだ残っており、開発に大きくリソースが割かれてしまい、効率的な運用ができていない部分もあるのだとか。
AndroidとiOSでどうしてもアップデートの公開タイミングに多少のずれが生じるということもあるが、それ以上に開発者側のコンテンツ制作が大変になっているそう。ユーザーにより楽しんでもらうためにイベントの開催頻度とコンテンツ投下量が増加しており、大量のデータを作るのに大量の人数が必要という状態になると、生産性は低下するため、それを解決するソリューションの1つとして、内製エンジンの開発に至ったと氏は説明します。

■Lift Engine(R) 3Dへ
Lift Engine(R) 3Dの開発にあたり、いくつかの要件定義が存在します。ゲームエンジンを作ることが目的ではなく、開発効率を上げることが目的のため、自分たちの作るプロダクトに合わせ、必要のない機能は作らないスタンスで取り組み、ゲーム品質を上げるためのTry&Errorの環境を整えることを最優先。さらに、ゲーム開発チームが自分たちのやりやすい環境を整えやすいことも視野にいれており、開発環境構築に長年携わってきた惠良氏だからこその視点も伺えます。
また、これに合わせてゲームエンジンの立ち位置も変更することにし、「ゲームの仕様そのものへの制約は与えず、ゲームの実装方法への制約を一定量課すが、必要に応じてその制約を回避できるよう」にしたとのことで、「低レイヤーでは自由度の高い汎用的な機能を提供し、Lift Engine(R) より上のアプリケーションに近いレイヤーで制約をかけていくようにしています。Lift Engine(R) はプラットフォームのAPIラッパーとして生まれ変わらせています。あとは3D化を行うために必要な、プリミティブな機能も厚くしよう。」というように具体例も上げて解説していました。

■様々な新機能
実装された新機能としては、cocos2d-x時代とは異なり、レンダリングスレッドを切り、メインスレッドでコマンドバッファを構築し、次のフレームで描画を行う形を取り、1フレームの時間をフルに使った描画が行えるようになったとのこと。また、現時点ではcocos2d-xベースの描画方法も繋ぎこんで利用できるようになってはいるものの、将来的には撤廃予定だそうです。
また、3D算術系はプリミティブなコリジョン判定、クラスオブジェクトを簡単にデータ化する仕組みなどを用意し、シリアライズしやすいように設計されている。また、物理メモリを意識し、メモリフラグメントを抑制するための高速なメモリアロケータとスレッドキャッシュが用意されています。
フォント周りは2D/3D描画対応だけでなく、ビットマップフォントの動的描画にも対応し、ユーザー入力処理ではWindows/Mac上での動作も意識したものになっているそうです。