|This article needs additional citations for verification. (May 2012)|
|Developer(s)||Marmalade Technologies Limited.|
|Stable release||7.1.0 / December 20, 2013|
|Operating system||iOS, Android, BlackBerry, Windows Phone 8, Mac OS X, Windows, Tizen, LG TV, Symbian, webOS|
Marmalade SDK is a cross-platform software development kit and game engine from Marmalade Technologies Limited (previously known as Ideaworks3D Limited) that contains library files, samples, documentation and tools required to develop, test and deploy applications for mobile devices.
The Marmalade SDK was formerly called Airplay SDK but was rebranded Marmalade in June 2011 with the release of version 5.0.0. The SDK started life as an internal library used to develop video games for mobile devices at Ideaworks3D before growing to become a product in its own right.
The underlying concept of the Marmalade SDK is write once, run anywhere so that a single codebase can be compiled and executed on all supported platforms rather than needing to be written in different programming languages using a different API for each platform. This is achieved by providing a C/C++ based API which acts as an abstraction layer for the core API of each platform.
Marmalade released a rapid application development system called Marmalade Quick in February 2013. Marmalade Quick is a set of high-level libraries that sit on top of the main Marmalade SDK and utilise the Lua scripting language to allow programmers to produce games and applications in a short time frame. Although Marmalade Quick can only be used for 2D environment.
In September 2013, IdeaWorks released the version 6.4 of Marmalade SDK, which included support for iOS7 and Tizen. This version includes Marmalade Quick with the main Marmalade SDK, which used to be a separate download earlier.
Version 7.0 of Marmalade was released on 20 October 2013 and saw the introduction of the Marmalade Hub. The Hub is intended to aid in the creation and maintenance of a Marmalade project by performing checks on a project to ensure dependencies such as license files or required third party software are available.
In order to use the Marmalade SDK a license must be purchased. There are four levels of license available which provide access to different sets of deployment platforms and levels of technical support. A license is required for each computer that the SDK is installed on. Marmalade provides an evaluation period of 30 days for any license type.
The license levels, in order of cost, are as follows:
Marmalade SDK supports deployment of applications to the following platforms. The platforms available for use depend on the license level purchased.
- Android (All license types)
- BlackBerry 10 (Indie and above)
- iOS (All license types)
- LG Smart TV (Professional and licensed LG developers only)
- Tizen (Indie and above)
- Mac OS X Desktop (Plus and above)
- Windows Desktop (Plus and above)
- Roku 2 (Plus and above)
- Roku 3 (Plus and above)
- Windows Phone 8 (Indie and above)
C/C++ based development
The main Marmalade SDK consists of two main layers.
A low level C API called Marmalade System provides an abstraction layer that allows a programmer access to device functionality such as memory management, file access, timers, networking, input methods (e.g. accelerometer, keyboard, touch screen) and sound and video output.
Marmalade Studio is a C++ API that provides higher level functionality mostly focused on support for 2D (e.g. bitmap handling, fonts) and 3D graphics rendering (e.g. 3D mesh rendering, boned animation). It also includes an extensible resource management system and HTTP networking.
Objective C based development
At GDC San Francisco 2014, Marmalade announced the addition of a new Objective C technology, Marmalade Juice, to its SDK. This technology is now included with all Marmalade license types.
Marmalade SDK allows access to the graphics rendering capabilities of mobile devices either by using the OpenGL ES API directly (both OpenGL ES 1.x and 2.x are supported) or by using the functionality provided by the Marmalade Studio layer.
Marmalade Studio provides support for loading and rendering graphics resources such as bitmap images and 3D model data which would need to be implemented by the user if using OpenGL ES directly. Marmalade Studio also provides exporter plug-ins for use with Autodesk 3DS Max and Autodesk Maya to allow 3D models and animations to be used in applications.
For supporting older devices with no dedicated rendering hardware a software based rendering option is also provided, although this has now been designated a legacy module.
For output of sound effects and music the low level Marmalade System API provides functions that allow compressed audio and video formats to be played back for use as background music or introductory sequences.
Marmalade System also features a sampled sound mixer which can be used for simultaneous playback of multiple uncompressed sampled sound effects with control over pitch and volume for each sound.
Games built using Marmalade
- Cut the Rope
- Call of Duty: World at War: Zombies
- Doodle Jump
- Draw Something
- Lara Croft and the Guardian of Light
- Metal Gear Solid Mobile
- Need for Speed: Shift
- Plants vs. Zombies
- "Marmalade, Our team". Retrieved 3 January 2014.
- Tim Green (June 17, 2011). "Airplay SDK re-branded as Marmalade". Mobile Entertainment. Retrieved 20 April 2013.
- Kyle Flanigan (January 25, 2011). "A Sit-Down With Phil Waymouth of Ideaworks". 148Apps. Retrieved 20 April 2013.
- Tim Green (April 17, 2012). "Marmalade targets web developers with new update". Mobile Entertainment. Retrieved 20 April 2013.
- James Nouch (February 15, 2013). "Corona is good, but Marmalade Quick is better". Pocket Gamer. Retrieved 20 April 2013.
- "Marmalade 6.4 is here". September 23, 2013. Retrieved September 23, 2013.
- Craig Chapple (November 8, 2013). "Marmalade 7 SDK goes live". Develop. Retrieved 3 January 2013.
- "Purchase Marmalade SDK". Marmalade SDK website. Retrieved 21 April 2013.
- BerryReview Team (September 16, 2011). "Dev Explains Why Marmalade SDK is Great for Cross Platform Games & Apps". BerryReview. Retrieved 22 November 2012.
- Keith Andrew (August 31, 2011). "Marmalade adds native support for QNX OS and BlackBerry PlayBook". Pocket Gamer. Retrieved 22 November 2012.
- "The Two Sides of Marmalade". Marmalade SDK documentation. Retrieved 21 April 2013.
- "Marmalade |". Madewithmarmalade.com. Retrieved 2014-03-24.
- "Floating your boat - Marmalade's newly-optimised graphics pipeline". Marmalade SDK blog. 5 October 2012. Retrieved 21 April 2013.
- Official SDK Site
- Marmalade SDK Mobile Game Development Essentials - a book covering the usage of the Marmalade SDK from the perspective of a video game programmer