Jump to content

Marmalade (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
FrescoBot (talk | contribs)
m Bot: link syntax and minor changes
add an essential but missing Reception section
(8 intermediate revisions by 2 users not shown)
Line 10: Line 10:
| genre = [[Game engine]]
| genre = [[Game engine]]
| license = [[Proprietary software|Proprietary]]
| license = [[Proprietary software|Proprietary]]
| website = {{URL|http://www.madewithmarmalade.com/}}
| website = {{Official website|http://www.madewithmarmalade.com/}}
}}
}}


'''Marmalade SDK''' is a cross-platform [[software development kit]] and [[game engine]] from Marmalade Technologies Limited (previously known as Ideaworks3D Limited)<ref>{{cite web|title=Marmalade, Our team|url=https://www.madewithmarmalade.com/company/our-team|accessdate=3 January 2014}}</ref> that contains library files, samples, documentation and tools required to develop, test and deploy applications for mobile devices.
'''Marmalade SDK''' is a cross-platform [[software development kit]] and [[game engine]] from Marmalade Technologies Limited (previously known as Ideaworks3D Limited)<ref>{{cite web|title=Marmalade, Our team|url=https://www.madewithmarmalade.com/company/our-team|accessdate=3 January 2014}}</ref> 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<ref>{{cite web|title=Airplay SDK re-branded as Marmalade|publisher=Mobile Entertainment|author=Tim Green|date=June 17, 2011|url=http://www.mobile-ent.biz/news/read/airplay-sdk-re-branded-as-marmalade/014654|accessdate=20 April 2013}}</ref> 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<ref>{{cite web|title=A Sit-Down With Phil Waymouth of Ideaworks|publisher=148Apps|author=Kyle Flanigan|date=January 25, 2011|url=http://www.148apps.com/news/sitdown-phil-waymouth-ideaworks/|accessdate=20 April 2013}}</ref> before growing to become a product in its own right.


==Overview==
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.
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
September 2012 saw the release of Web Marmalade,<ref>{{cite web|title=Marmalade targets web developers with new update|publisher=Mobile Entertainment|author=Tim Green|date=April 17, 2012|url=http://www.mobile-ent.biz/news/read/marmalade-targets-web-developers-with-new-update/017748|accessdate=20 April 2013}}</ref> 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.
Web Marmalade is<ref>{{cite web|title=Marmalade targets web developers with new update|publisher=Mobile Entertainment|author=Tim Green|date=April 17, 2012|url=http://www.mobile-ent.biz/news/read/marmalade-targets-web-developers-with-new-update/017748|accessdate=20 April 2013}}</ref> 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.<ref>{{cite web|title=Corona is good, but Marmalade Quick is better|publisher=[[Pocket Gamer]]|author=James Nouch|date=February 15, 2013|url=http://www.pocketgamer.biz/r/PG.Biz/Marmalade+news/news.asp?c=48616|accessdate=20 April 2013}}</ref> Marmalade Quick is a set of high-level libraries that sit on top of the main Marmalade SDK and utilise the [[Lua (programming language)|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]].<ref name="madewithmarmalade1">{{cite web|title=Marmalade 6.4 is here|date=September 23, 2013|url=http://www.madewithmarmalade.com/blog/marmalade-64-here|accessdate=September 23, 2013}}</ref> 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.<ref>{{cite web|title=Marmalade 7 SDK goes live|publisher=Develop|author=Craig Chapple|date=November 8, 2013|url=http://www.develop-online.net/news/marmalade-7-sdk-goes-live/0185734|accessdate=3 January 2013}}</ref> 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.

== Features ==

=== Licensing ===

In order to use the Marmalade SDK a license must be purchased.<ref>{{cite web|title=Purchase Marmalade SDK|publisher=Marmalade SDK website|url=http://www.madewithmarmalade.com/buy|accessdate=21 April 2013}}</ref> 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:

* 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.

* [[Google android|Android]] (All license types)
* [[BlackBerry 10]]<ref>{{cite web |url=http://www.berryreview.com/2011/09/16/dev-explains-why-marmalade-sdk-is-great-for-cross-platform-games-apps/
|title=Dev Explains Why Marmalade SDK is Great for Cross Platform Games & Apps|author=BerryReview Team|date=September 16, 2011|publisher=BerryReview|accessdate=22 November 2012}}</ref><ref>{{cite web |url=http://www.pocketgamer.biz/r/PG.Biz/Marmalade+SDK/news.asp?c=32974|title=Marmalade adds native support for QNX OS and BlackBerry PlayBook|author=Keith Andrew|date=August 31, 2011|publisher=[[Pocket Gamer]]|accessdate=22 November 2012}}</ref> (Indie and above)
* [[iOS 7|iOS]]<ref name="madewithmarmalade1"/> (All license types)
* LG [[Smart TV]] (Professional and licensed LG developers only)
* [[Tizen]] (Indie and above)<ref name="madewithmarmalade1"/>
* [[Mac OS X]] Desktop (Plus and above)
* [[Microsoft windows|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.<ref>{{cite web|url=http://docs.madewithmarmalade.com/native/overview/thetwosides.html|title=The Two Sides of Marmalade|publisher=Marmalade SDK documentation|accessdate=21 April 2013}}</ref>

A low level [[C (programming language)|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.<ref>{{cite web|url=https://www.madewithmarmalade.com/blog/marmalade-gdc-usa |title=Marmalade &#124; |publisher=Madewithmarmalade.com |date= |accessdate=2014-03-24}}</ref>

=== Graphics ===

Marmalade SDK allows access to the graphics rendering capabilities of mobile devices either by using the [[Opengl es|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|Autodesk 3DS Max]] and [[Autodesk Maya]] to allow 3D models and animations to be used in applications.


;Languages
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.<ref>{{cite web|url=https://www.madewithmarmalade.com/blog/floating-your-boat-%E2%80%93-marmalade%E2%80%99s-newly-optimised-graphics-pipeline|title=Floating your boat - Marmalade's newly-optimised graphics pipeline|publisher=Marmalade SDK blog|date=5 October 2012|accessdate=21 April 2013}}</ref>
Depending on the license purchased, Marmalade SDK supports deployment of applications to the following platforms: [[Google android|Android]], [[BlackBerry 10]],<ref>{{cite web |url=http://www.berryreview.com/2011/09/16/dev-explains-why-marmalade-sdk-is-great-for-cross-platform-games-apps/
|title=Dev Explains Why Marmalade SDK is Great for Cross Platform Games & Apps|author=BerryReview Team|date=September 16, 2011|publisher=BerryReview|accessdate=22 November 2012}}</ref><ref>{{cite web |url=http://www.pocketgamer.biz/r/PG.Biz/Marmalade+SDK/news.asp?c=32974|title=Marmalade adds native support for QNX OS and BlackBerry PlayBook|author=Keith Andrew|date=August 31, 2011|publisher=[[Pocket Gamer]]|accessdate=22 November 2012}}</ref> [[iOS 7|iOS]],<ref name="madewithmarmalade1">{{cite web|title=Marmalade 6.4 is here|date=September 23, 2013|url=http://www.madewithmarmalade.com/blog/marmalade-64-here|accessdate=September 23, 2013}}</ref> LG [[Smart TV]], [[Tizen]],<ref name="madewithmarmalade1"/> [[Mac OS X]], [[Microsoft windows|Windows]] Desktop, [[Roku 2]], [[Roku 3]], and [[Windows Phone 8]].


The main Marmalade SDK consists of two main layers.<ref>{{cite web|url=http://docs.madewithmarmalade.com/native/overview/thetwosides.html|title=The Two Sides of Marmalade|publisher=Marmalade SDK documentation|accessdate=21 April 2013}}</ref> A low level [[C (programming language)|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.
=== Audio ===


Marmalade SDK also supports Objective C.<ref>{{cite web|url=https://www.madewithmarmalade.com/blog/marmalade-gdc-usa |title=Marmalade &#124; |publisher=Madewithmarmalade.com |date= |accessdate=2014-03-24}}</ref>
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.


;Graphics
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.
Marmalade SDK allows access to the graphics rendering capabilities of mobile devices either by using the [[Opengl es|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|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.<ref>{{cite web|url=https://www.madewithmarmalade.com/blog/floating-your-boat-%E2%80%93-marmalade%E2%80%99s-newly-optimised-graphics-pipeline|title=Floating your boat - Marmalade's newly-optimised graphics pipeline|publisher=Marmalade SDK blog|date=5 October 2012|accessdate=21 April 2013}}</ref>


==Reception==
== Games built using Marmalade ==
{{empty section | date=July 2014}}


==Games==
This is a list of notable games which had been built using the Marmalade SDK.
{{div col | 2}}
* ''[[Backbreaker (video game)|Backbreaker]]''
* ''[[Backbreaker (video game)|Backbreaker]]''
* ''[[Cut the Rope]]''
* ''[[Cut the Rope]]''
Line 97: Line 50:
* ''[[Tetris]]''
* ''[[Tetris]]''
* ''[[Worms (series)|Worms]]''
* ''[[Worms (series)|Worms]]''
{{div col end}}


== See also ==
== See also ==
* [[Mobile application development]]
* [[Mobile application development]]
* [[List of game engines]]


== References ==
== References ==
{{reflist}}
{{reflist | 30em}}


== External links ==
== External links ==
* [http://www.madewithmarmalade.com/ Official SDK Site]
* {{Official website | http://www.madewithmarmalade.com/}}
* [http://www.packtpub.com/marmalade-sdk-mobile-game-development-essentials/book Marmalade SDK Mobile Game Development Essentials] - a book covering the usage of the Marmalade SDK from the perspective of a video game programmer
* [http://www.packtpub.com/marmalade-sdk-mobile-game-development-essentials/book Marmalade SDK Mobile Game Development Essentials] - a book covering the usage of the Marmalade SDK from the perspective of a video game programmer



Revision as of 23:33, 29 July 2014

Marmalade SDK
Developer(s)Marmalade Technologies Limited.
Stable release
7.1.0 / December 20, 2013; 10 years ago (2013-12-20)
Written inC++
Operating systemiOS, Android, BlackBerry, Windows Phone 8, Mac OS X, Windows, Tizen, LG TV, Symbian, webOS
TypeGame engine
LicenseProprietary
WebsiteOfficial website

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

Overview

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

Web Marmalade is[2] 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.

Languages

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

The main Marmalade SDK consists of two main layers.[6] 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.

Marmalade SDK also supports Objective C.[7]

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

Reception

Games

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

See also

References

  1. ^ "Marmalade, Our team". Retrieved 3 January 2014.
  2. ^ Tim Green (April 17, 2012). "Marmalade targets web developers with new update". Mobile Entertainment. Retrieved 20 April 2013.
  3. ^ BerryReview Team (September 16, 2011). "Dev Explains Why Marmalade SDK is Great for Cross Platform Games & Apps". BerryReview. Retrieved 22 November 2012.
  4. ^ Keith Andrew (August 31, 2011). "Marmalade adds native support for QNX OS and BlackBerry PlayBook". Pocket Gamer. Retrieved 22 November 2012.
  5. ^ a b "Marmalade 6.4 is here". September 23, 2013. Retrieved September 23, 2013.
  6. ^ "The Two Sides of Marmalade". Marmalade SDK documentation. Retrieved 21 April 2013.
  7. ^ "Marmalade |". Madewithmarmalade.com. Retrieved 2014-03-24.
  8. ^ "Floating your boat - Marmalade's newly-optimised graphics pipeline". Marmalade SDK blog. 5 October 2012. Retrieved 21 April 2013.

Template:IPhone video game engines