Marmalade (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Marmalade SDK
New Marmalade Company Logo.png
Developer(s) Marmalade Technologies Limited.
Stable release 7.4.0 / August 29, 2014; 4 months ago (2014-08-29)
Written in C++
Operating system iOS, Android, BlackBerry, Windows Phone 8, Mac OS X, Windows, Tizen, LG TV
Type Game engine
License Proprietary
Website Official website

Marmalade SDK (formerly Airplay SDK[1]) is a cross-platform software development kit and game engine from Marmalade Technologies Limited (previously known as Ideaworks3D Limited)[2] that contains library files, samples, documentation and tools required to develop, test and deploy applications for mobile devices.


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.


Web Marmalade is[3] a set of libraries that took the same write once, run anywhere ethos and applied it to HTML 5, CSS 3 and Javascript development by providing an API that allows access to mobile device functionality such as accelerometers and GPS location data.


Depending on the license purchased, Marmalade SDK supports deployment of applications to the following platforms: Android, BlackBerry 10,[4][5] iOS,[6] LG Smart TV, Tizen,[6] Mac OS X, Windows Desktop, Roku 2, Roku 3, and Windows Phone 8, but not Linux.

The main Marmalade SDK consists of two main layers.[7] 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 includes an extensible resource management system and HTTP networking.

Marmalade SDK supports Objective C.[8]


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 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 legacy software based rendering option is provided.[9]


Despite the write once, run anywhere principle and its website mentioning support for "all open native operating systems",[10] Marmalade does not support Linux or SteamOS at this time. Regardless of this some developers, perhaps being misled or assumptive, do choose to use Marmalade and because of this find themselves in situations where Linux support was indeed planned, or even promised, but cannot be delivered. Examples include Frozenbyte title Splot, which had Linux support promised that is now unclear[11] and the 22cans' Project Godus Kickstarter, which following a late update,[12] reached the funding level for a Linux version.



This is a list of notable games which had been built using the Marmalade SDK.

See also[edit]


  1. ^ Tim Green (June 17, 2011). "Airplay SDK re-branded as Marmalade". Mobile Entertainment. Retrieved 20 April 2013. 
  2. ^ "Marmalade, Our team". Retrieved 3 January 2014. 
  3. ^ Tim Green (April 17, 2012). "Marmalade targets web developers with new update". Mobile Entertainment. Retrieved 20 April 2013. 
  4. ^ BerryReview Team (September 16, 2011). "Dev Explains Why Marmalade SDK is Great for Cross Platform Games & Apps". BerryReview. Retrieved 22 November 2012. 
  5. ^ Keith Andrew (August 31, 2011). "Marmalade adds native support for QNX OS and BlackBerry PlayBook". Pocket Gamer. Retrieved 22 November 2012. 
  6. ^ a b "Marmalade 6.4 is here". September 23, 2013. Retrieved September 23, 2013. 
  7. ^ "The Two Sides of Marmalade". Marmalade SDK documentation. Retrieved 21 April 2013. 
  8. ^ "Marmalade |". Retrieved 2014-03-24. 
  9. ^ "Floating your boat - Marmalade's newly-optimised graphics pipeline". Marmalade SDK blog. 5 October 2012. Retrieved 21 April 2013. 
  10. ^ "Marmalade, Supported platforms". Retrieved November 10, 2014. 
  11. ^ "Splot not for Linux at the moment". Retrieved November 10, 2014. 
  12. ^ "Update #30 Linux and an open invitation". 22cans. December 21, 2012. Retrieved November 10, 2014. 

External links[edit]