Marmalade (SDK)

Marmalade SDKはIdeaworks3D Limitedが開発し、ライセンス提供するクロスプラットフォーム対応のソフトウェア開発キット (SDK) であり、主にモバイル端末向けのアプリを開発、テスト、展開するためのライブラリ、サンプル、ドキュメント、ツールが含まる。 Marmalade SDKはかつてAirplay SDKという名称で提供されていたが、2011年6月のVersion 5.0.0のリリースからリブランドされた。本SDKはIdeaworks3D社内でモバイル端末向けのゲームを開発するために元々、内製ライブラリとして活用されていたもので、後に製品化された。 Marmalade SDK設計の根底は ”Write once, run anywhere" （一度プログラムすれば、どこでも実行が可能）というもので、異なるプラットフォーム向けのAPIを使用して、異なるプログラミング言語でそれぞれ書き直すのではなく、単一のコードベースからコンパイルし、全ての対応プラットフォームへの展開を実現する。このため、各プラットフォームのコアAPIに対して抽象化レイヤーとして機能するC/C++ベースのAPIを提供している。 2012年9月にはWeb Marmaladeがリリースされた。これは同様に”write once, run anywhere”の特色を持つライブラリ群から構成され、HTML5, CSS 3 及び JavaScript 開発に対応したもので、加速度センサやGPSデータなどモバイル端末の機能を活用できるAPIが提供された。 Marmaladeは2013年2月にRAD (計算機プログラミング環境) システムMarmalade Quickをリリースした。このMarmalade QuickはMarmalade SDKの上にハイレベルライブラリ群を提供するもので、プログラマーに短期間でゲームやアプリ開発を可能にするスクリプト言語Luaに対応した。 Marmalade SDKを使用するにあたっては、ライセンスを購入する必要がある。展開プラットフォームの違いや、技術サポートのレベルにおける違いによって4種類のライセンスが存在する。SDKがインストールされた各コンピュータ端末にそれぞれライセンスが必要となる。 ライセンスのレベルは、低コストから順に次のようになる。 Community Indie Plus Professional Marmalade SDKは次のプラットフォームへのアプリ展開に対応している。実際に展開可能なプラットフォームは取得したライセンスレベルによって異なる。 Android（全てのライセンス） BlackBerry10/ PlayBook（Indieライセンス以上） iOS（全てのライセンス） LG スマートテレビ（ProfessionalもしくはPlusライセンス、及びLGエレクトロニクスとの契約が必要） macOS Desktop（Plusライセンス以上） Microsoft Windows Desktop（Plusライセンス以上） Windows Phone 8（Indieライセンス以上） 主製品のMarmalade SDKは次の２つの層から構成されている。 Marmalade Systemと呼ばれるローレベルC言語 APIは抽象化レイヤーを提供し、メモリ管理、ファイルアクセス、タイマー、ネットワーク機能、各種I/F (例：加速度センサー、キーボード、タッチスクリーン)及びサウンド、ビデオ出力などの端末機能にプログラマがアクセス出来るようにする。 Marmalade Studioと呼ばれるC++ APIは2D（例:ビットマップ、フォントの処理）、3Dグラフィクス描画（例:3Dメッシュ描画、ボーンアニメーション）などの機能を提供します。また、拡張可能なリソース管理システムとHTTPネットワーク機能も含まれる。 Marmalade SDKはモバイル端末のグラフィクス描画機能に OpenGL ES API（OpenGL ES 1.x、2.x共に対応）を直接使用するか、もしくはMarmalade Studio層のミドルウェアを介してアクセスすることが出来る。 Marmalade Studioはビットマップや3Dモデルデータ等のグラフィクスリソースのロード及び描画の機能を提供する。OpenGL ESを直接使用する場合には、これら機能はデベロッパー側で別途実装する必要がある。Marmalade StudioはAutodesk 3ds Max及びAutodesk Maya用のエクスポータープラグインを提供し、これらの3Dパッケージで作成した3Dモデルやアニメーションをアプリ内で使用することが出来る。 また、描画専用のハードウエアを搭載していない比較的古い端末対応には、ソフトウエア描画処理オプションが提供されていますが、これは既にレガシーモジュールという位置付けになっている。 SE効果音や音楽の出力には、ローレベルMarmalade System APIが圧縮オーディオやビデオフォーマットのデータを再生する機能を提供する。 Marmalade Systemには、マルチチャネル対応のサウンドミキサー機能があり、複数チャネルの非圧縮サンプル音源を、ピッチ及びボリューム制御を各チャネルに対して行い、同時再生することが出来る。 Backbreaker Cut the Rope コール オブ デューティ ワールド・アット・ウォー: Zombies Doodle Jump Draw Something ララ・クロフト アンド ガーディアン オブ ライト メタルギアソリッド モバイル Peggle Plants vs. Zombies Mobile application development ^ “Marmalade, About Us”. 17 April 2013閲覧。 ^ Tim Green (June 17, 2011). “Airplay SDK re-branded as Marmalade”. Mobile Entertainment. 20 April 2013閲覧。 ^ Kyle Flanigan (January 25, 2011). “A Sit-Down With Phil Waymouth of Ideaworks”. 148Apps. 20 April 2013閲覧。 ^ Tim Green (April 17, 2012). “Marmalade targets web developers with new update”. Mobile Entertainment. 20 April 2013閲覧。 ^ James Nouch (February 15, 2013). “Corona is good, but Marmalade Quick is better”. Pocket Gamer. 20 April 2013閲覧。 ^ 土本学 (March 7, 2013). “モバイルで利用が広がるクラスプラットフォーム開発環境「Marmalade」　RADツールも提供開始”. gamebusiness.jp. 25 April 2013閲覧。 ^ “Purchase Marmalade SDK”. Marmalade SDK website. 21 April 2013閲覧。 ^ BerryReview Team (September 16, 2011). “Dev Explains Why Marmalade SDK is Great for Cross Platform Games & Apps”. BerryReview. 22 November 2012閲覧。 ^ Keith Andrew (August 31, 2011). “Marmalade adds native support for QNX OS and BlackBerry PlayBook”. Pocket Gamer. 22 November 2012閲覧。 ^ Keith Andrew (November 2, 2011). “Eating the Apple: Marmalade adds iOS 6 and iPhone 5 support to SDK”. Pocket Gamer. 22 November 2012閲覧。 ^ “The Two Sides of Marmalade”. Marmalade SDK documentation. 21 April 2013閲覧。 ^ “Floating your boat - Marmalade's newly-optimised graphics pipeline”. Marmalade SDK blog (5 October, 2012). 21 April 2013閲覧。 Marmalade SDK公式サイト Marmalade SDK Mobile Game Development Essentials - Marmalade SDKのゲームプログラマーの立場での使用方法について記述した書籍 表示 編集