KLabが開発したゲームエンジン「Playground」のソースコードを公開
[13/09/26]
提供元:@Press
提供元:@Press
KLab株式会社(本社:東京都港区、代表取締役社長:真田 哲弥、以下「KLab」)は、ソフトウェアのソースコード共有サービス「GitHub」に「Playground(プレイグラウンド)」をオープンソースとして公開しました。
「Playground」は、マルチプラットフォームな2D/2.5Dゲームを効率的に開発するためのフレームワークです。KLabのゲームタイトルではブシロード(本社:東京都中野区、代表取締役社長:木谷 高明)と共同開発した「ラブライブ!スクールアイドルフェスティバル」と、グローバル向けに開発した「Rise to the Throne(ライズ・トゥ・ザ・スローン)」(※1)に使用されています。
<ゲームタイトル 画像イメージ>
・ラブライブ!スクールアイドルフェスティバル
http://www.atpress.ne.jp/releases/39031/1_1.jpg
・Rise to the Throne
http://www.atpress.ne.jp/releases/39031/2_2.jpg
■「Playground」オープンソース公開の背景
「Playground」は、「高速に動作し、シンプルなAPIセットでスマートフォン向け2Dゲームを開発できる環境を構築する」という当社エンジニアの個人プロジェクトからはじまり、「どぶろく制度」(※2)の利用を経て社内プロジェクトとして実用水準への発展を遂げたものです。KLabでは創業当初よりインフラ構築や運用において多くのオープンソース・ソフトウェアを利用し、低コストかつ高品質なサービスの提供へ役立ててきました。同時に、オープンソース・コミュニティから情報を得るばかりではなく、可能な限り多くの情報やソースコードをコミュニティへと還元してきました。「Playground」においても、そのソースコードが世界中の開発者の目に触れることで得られるフィードバックが、ゲームエンジンとしての品質や性能の向上へ寄与すると考えております。これが当社の競争力を高めるとともに、ゲーム業界の技術発展にもつながると考えオープンソース化を決定いたしました。
■Playgroundの特徴
1. マルチプラットフォーム対象の開発が可能
iOSとAndroidにおいて画面描画、マルチタッチを含むUIイベント処理、サウンド出力、ネットワーク処理、アプリ内課金やプッシュ通知の仕組みを網羅しています。
2. 優れたグラフィックス性能
2Dグラフィックスへフォーカスした特性を活かすため、以下のような最適化を行いました。リッチな表現を含むゲームは最新端末より1世代前まででしかスムーズに動作しないものが多い中、「Playground」では2世代以上古い携帯電話端末上でも快適なゲームプレイを実現しています。
・2D画面の描画におけるポリゴンの特性を活かし、Zバッファの利用を制限
・エンジン内部で保持するポリゴン頂点の持つデータ量を2D用に削減
・描画対象の座標計算をCPUで行うことで、GPUへ処理移行する前の段階での処理バッチ化を実現
・ポリゴンの描画コールを可能な限り自動的にバッチ処理し、OpenGLの描画コールを自動削減
・CPUアーキテクチャを考慮に入れたデータキャッシュを実施
・エンジン内部状態更新を可能な限り局所化することで、CPU処理負荷を低減
3. 高パフォーマンスなサウンド出力
iOS上のみならず、Android上においても低いサウンド出力レイテンシを実現しました。これにより、両プラットフォーム対応のリズムアクションゲーム制作における開発コストを低減しています。
4. 知的財産保護のためのデータ暗号化機能をプラグイン追加可能
ゲームの制作要件にあわせて、適宜暗号化の枠組みを追加できる構造になっています。
※実際のゲームで利用されている暗号化関連コードはオープンソース化対象に含まれません。
5. プログラミング言語
ゲーム本体を記述するプログラミング言語としてLua、C、C++、C#(プロトタイプ段階)を選択できます。
■Playground概念図
http://www.atpress.ne.jp/releases/39031/3_3.png
■実装されている機能
描画管理、アニメーション(Flash/スコア/プログレスバー等)、サウンド(BGM/SE)管理、GUIフォーム、ネットワーク通信、ユーザ管理、知財暗号化、データベース管理、マルチタッチ管理、アプリ内課金ほか
■ソース公開場所
https://github.com/KLab/PlaygroundOSS/
■動作環境
ゲームエンジン本体:Windows XP以降、iOS 5.0以上、Android 2.3以上
周辺ツール:Windows XP以降/Mac OS X 10.8以上(要Mono 3.x)/Ubuntu 12.04以上(要Mono 3.x) (※3)
「Playground」の使用方法については、KLabが開発したソフトウェアやノウハウ、実験的なサービスについて情報発信するブログ「DSAS開発者の部屋」( http://dsas.blog.klab.org/?banner_id=dsas_blog )で随時情報を提供していく予定です。
※1 「Rise to the Throne」は日本と中国を除く161ヶ国・地域のApp Storeに提供しています。
※2 標準労働時間の10%以内であれば、上司の承認なしで本当にやりたかった研究など、好きなことに時間を費やすことができる制度。
※3 テクスチャ/GUIフォームの作成ユーティリティはWindows XP以降専用となります。
■KLab(クラブ)株式会社について http://www.klab.com/jp
社名 :KLab株式会社(英文名:KLab Inc.)
代表者 :代表取締役社長 真田 哲弥
設立 :2000年8月1日
資本金 :20億1,251万円(2013年8月末現在)
株式公開 :東京証券取引所・市場第一部(3656)
本社所在地:〒106-6122 東京都港区六本木6-10-1 六本木ヒルズ森タワー
「Playground」は、マルチプラットフォームな2D/2.5Dゲームを効率的に開発するためのフレームワークです。KLabのゲームタイトルではブシロード(本社:東京都中野区、代表取締役社長:木谷 高明)と共同開発した「ラブライブ!スクールアイドルフェスティバル」と、グローバル向けに開発した「Rise to the Throne(ライズ・トゥ・ザ・スローン)」(※1)に使用されています。
<ゲームタイトル 画像イメージ>
・ラブライブ!スクールアイドルフェスティバル
http://www.atpress.ne.jp/releases/39031/1_1.jpg
・Rise to the Throne
http://www.atpress.ne.jp/releases/39031/2_2.jpg
■「Playground」オープンソース公開の背景
「Playground」は、「高速に動作し、シンプルなAPIセットでスマートフォン向け2Dゲームを開発できる環境を構築する」という当社エンジニアの個人プロジェクトからはじまり、「どぶろく制度」(※2)の利用を経て社内プロジェクトとして実用水準への発展を遂げたものです。KLabでは創業当初よりインフラ構築や運用において多くのオープンソース・ソフトウェアを利用し、低コストかつ高品質なサービスの提供へ役立ててきました。同時に、オープンソース・コミュニティから情報を得るばかりではなく、可能な限り多くの情報やソースコードをコミュニティへと還元してきました。「Playground」においても、そのソースコードが世界中の開発者の目に触れることで得られるフィードバックが、ゲームエンジンとしての品質や性能の向上へ寄与すると考えております。これが当社の競争力を高めるとともに、ゲーム業界の技術発展にもつながると考えオープンソース化を決定いたしました。
■Playgroundの特徴
1. マルチプラットフォーム対象の開発が可能
iOSとAndroidにおいて画面描画、マルチタッチを含むUIイベント処理、サウンド出力、ネットワーク処理、アプリ内課金やプッシュ通知の仕組みを網羅しています。
2. 優れたグラフィックス性能
2Dグラフィックスへフォーカスした特性を活かすため、以下のような最適化を行いました。リッチな表現を含むゲームは最新端末より1世代前まででしかスムーズに動作しないものが多い中、「Playground」では2世代以上古い携帯電話端末上でも快適なゲームプレイを実現しています。
・2D画面の描画におけるポリゴンの特性を活かし、Zバッファの利用を制限
・エンジン内部で保持するポリゴン頂点の持つデータ量を2D用に削減
・描画対象の座標計算をCPUで行うことで、GPUへ処理移行する前の段階での処理バッチ化を実現
・ポリゴンの描画コールを可能な限り自動的にバッチ処理し、OpenGLの描画コールを自動削減
・CPUアーキテクチャを考慮に入れたデータキャッシュを実施
・エンジン内部状態更新を可能な限り局所化することで、CPU処理負荷を低減
3. 高パフォーマンスなサウンド出力
iOS上のみならず、Android上においても低いサウンド出力レイテンシを実現しました。これにより、両プラットフォーム対応のリズムアクションゲーム制作における開発コストを低減しています。
4. 知的財産保護のためのデータ暗号化機能をプラグイン追加可能
ゲームの制作要件にあわせて、適宜暗号化の枠組みを追加できる構造になっています。
※実際のゲームで利用されている暗号化関連コードはオープンソース化対象に含まれません。
5. プログラミング言語
ゲーム本体を記述するプログラミング言語としてLua、C、C++、C#(プロトタイプ段階)を選択できます。
■Playground概念図
http://www.atpress.ne.jp/releases/39031/3_3.png
■実装されている機能
描画管理、アニメーション(Flash/スコア/プログレスバー等)、サウンド(BGM/SE)管理、GUIフォーム、ネットワーク通信、ユーザ管理、知財暗号化、データベース管理、マルチタッチ管理、アプリ内課金ほか
■ソース公開場所
https://github.com/KLab/PlaygroundOSS/
■動作環境
ゲームエンジン本体:Windows XP以降、iOS 5.0以上、Android 2.3以上
周辺ツール:Windows XP以降/Mac OS X 10.8以上(要Mono 3.x)/Ubuntu 12.04以上(要Mono 3.x) (※3)
「Playground」の使用方法については、KLabが開発したソフトウェアやノウハウ、実験的なサービスについて情報発信するブログ「DSAS開発者の部屋」( http://dsas.blog.klab.org/?banner_id=dsas_blog )で随時情報を提供していく予定です。
※1 「Rise to the Throne」は日本と中国を除く161ヶ国・地域のApp Storeに提供しています。
※2 標準労働時間の10%以内であれば、上司の承認なしで本当にやりたかった研究など、好きなことに時間を費やすことができる制度。
※3 テクスチャ/GUIフォームの作成ユーティリティはWindows XP以降専用となります。
■KLab(クラブ)株式会社について http://www.klab.com/jp
社名 :KLab株式会社(英文名:KLab Inc.)
代表者 :代表取締役社長 真田 哲弥
設立 :2000年8月1日
資本金 :20億1,251万円(2013年8月末現在)
株式公開 :東京証券取引所・市場第一部(3656)
本社所在地:〒106-6122 東京都港区六本木6-10-1 六本木ヒルズ森タワー