Marmalade (software)
This article needs additional citations for verification. (May 2012) |
Developer(s) | Ideaworks3D Limited. |
---|---|
Stable release | 6.2.2
/ April 12, 2013 |
Written in | C++ |
Operating system | iOS, Android, BlackBerry, Windows Phone 8, Mac OS X, Windows, LG TV, Symbian, webOS |
Type | Game engine |
License | Proprietary |
Website | www |
Marmalade SDK is a cross platform, software development kit from Ideaworks3D Limited[1] that contains library files, samples, documentation and tools required to develop, test and deploy applications for mobile devices.
History
The Marmalade SDK was formerly called Airplay SDK but was rebranded Marmalade in June 2011[2] 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[3] 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.
September 2012 saw the release of Web Marmalade,[4] 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.
Marmalade released a rapid application development system called Marmalade Quick in February 2013.[5] 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.
Features
Licensing
In order to use the Marmalade SDK a license must be purchased.[6] 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.
The license levels, in order of cost, are as follows:
- Community
- Indie
- Plus
- Professional
Platforms
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 PlayBook[7][8] (Indie and above)
- iOS[9] (All license types)
- LG Smart TV (Professional and licensed LG developers only)
- Mac OS X Desktop (Plus and above)
- Windows Desktop (Plus and above)
- Windows Phone 8 (Indie and above)
C/C++ based development
The main Marmalade SDK is comprised of two main layers.[10]
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.
Graphics
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.[11]
Audio
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
- Backbreaker
- 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
- Peggle
- Plants vs. Zombies
See also
References
- ^ "Marmalade, About Us". Retrieved 17 April 2013.
- ^ 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.
- ^ "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.
- ^ Keith Andrew (November 2, 2011). "Eating the Apple: Marmalade adds iOS 6 and iPhone 5 support to SDK". Pocket Gamer. Retrieved 22 November 2012.
- ^ "The Two Sides of Marmalade". Marmalade SDK documentation. Retrieved 21 April 2013.
- ^ "Floating your boat - Marmalade's newly-optimised graphics pipeline". Marmalade SDK blog. 5 October 2012. Retrieved 21 April 2013.
External links
- 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
- Marmalade (SDK) - This page in Japanese
Template:IPhone video game engines