Quick - Pass me some Marmalade

You want to bring to life your idea as an App and mabye also give it a shot to make the millions at the app store or the billions in corporate buyouts, maybe even with a game or an app, like Instagram, Colors or even maybe a news aggregator. However the barrier to achieving this (if you want to make it yourself) could be learning C++ or Objective-C,
While it is not difficult to learn or get acquainted with either of the development languages or frameworks. It is still a hurdle and can be a dampner for quite a few. In 2009, AirplaySDK was released, it was a C++ based SDK that could create applications for the Mobile devices, later it was renamed as MarmaladeSDK. With the new name, Marmalade remained a wonderful SDK which was still sported a entry level barrier with C++ being the language of choice.

On the other hand, Lua is catching up as a popular language, bringing development into the reaches of the beginner. The popularity of Lua can already be seen with frameworks like LÖVE, CoronaSDK, GiderosMobile, Moai, Codea to name a few. With Quick, Marmalade has now created a Lua based wrapper on the MarmaladeSDK API. This wrapper is open source and it wraps around Cocos2D (Open Source) or Marmalade (Commercial).

Here's our take on looking at Marmalade and Quick

Requirements

While many frameworks work with the standard emulators, some others have their own custom simulators. On the Mac one can find the xCode simulator and the Android emulator, with the latter present even on windows. Marmalade has its own simulator. So the main requirements to try Marmalade or Marmalade Quick, an evaluation license for Marmalade is still required.

Note: There was an issue while trying to obtain an evaluation license, which was quite promptly rectified by the support staff.

What Platforms are supported

Like Marmalade, Marmalade Quick supportes all the platforms supported by Marmalade including, iOS, Android, Blackberry 10, Windows (Desktop - if used on Windows OS), Mac OS X (Desktop - if used on Mac) and LG Smart TV. Windows Phone 8 is not as yet supported but soon will be.

Differences between the C++ and the Lua interface

While the Lua interface is made available as a wrapper on the C++ libraries, it offers most of the functionality via the Lua interface however there are a couple of things not yet available like the device camera, etc. This is not really much of an issue, developers can extend and add their own Lua bindings on the Marmalade C++ APIs.

What's OpenSource?

The Lua wrapper is available in two forms, as OpenQuick and as MarmaladeQuick. So there is hardly any difference between the two in terms or Graphics, animation and audio. However there are additional APIs in Marmalade Quick that offer networking, Facebook, Analytics, ADs, IAP, WebViews, etc, which are not available in OpenQuick. There are also some other issues with these features. For example Webviews are not available in BB10 and Analytics is supported only in iOS and Androids.

Where can I find OpenQuick?

It is available on GitHub for download at https://github.com/marmalade/OpenQuick

Is all of Cocos2D exposed with OpenQuick?

According to the CTO of Marmalade, Tim Closs; all of Cocos2D-X functionality is supported and exposed with OpenQuick. The latest additions have been Particles and TiledMaps, it also wraps around CocosDenshion API (SimpleAudioEngine)

Do we have to learn a new Lua framework?

Well, not really. Quick is modelled on the popular Lua frameworks and since Quick is available as a set of Lua libraries and C++ wrappers, one can adapt the same to look like any API one is familiar and comfortable with.

We have an article on using Quick at http://howto.oz-apps.com/2013/05/lets-make-app-quick-way.html

Look out on our HowTo and LearnLua sites where we will have more Lua goodies for you, tutorials and articles including on Marmalade.

Plug-Ins

The Marmalade Quick engine is in many ways an open engine, it allows for addition of C++ code as plug-ins which can be used and deployed on multiple platforms as supported by Marmalade. This is a bit different than creating plug-ins for Gideros (which looks like wrapping Lua wrappers around C/C++ code). Since the bindings are managed using the tolua package, it does require tinkering more with C++ to get that going as compared to the simple interface of plain Lua C API.

Impressions

Marmalade is a framework created specifically for creating games. The focus is currently in making available graphic functionality including shaders, masking, etc (though a timeline is not announced). So if you are looking at creating business-y apps, it would be a bit before it is available. It would be available in a similar manner as it is with other frameworks,
Display elements skinned to look and work like native elements as a layer atop a sprite/label element.

The other point of concern was that the Lua code was compiled as plain text with the application. Though there has been some instructions provided by Tim Closs, the instructions have been not very helpful in achieving the desired results. The Marmalade set of tools are quite good for creating amazing games, but they are a bit scattered and hopefully will be all combined into one place and application.

Licensing

This might be a matter that might get a couple of developers into a twist. Like many other frameworks have done, The terms of licensing with MarmaladeSDK also insist that the developer display the "Made with marmalade" even for the paid licenses, Community, Indie and Plus which are $149, $499 and $1,499 respectively. Purchasing the Professional license at $3,499 allows for removal of the attribution. In addition, the first two licenses are also subjected to annual revenue limit, if you make more money then you need to upgrade your license and pay for a more expensive license. The OpenQuick license is available as OpenSource and the company shows no concern if developers choose to use that, however they are also certain that developers would choose to license and use MarmaladeQuick for some of the additional features that are offered with the Marmalade engine.

Show me that it actually works

Marmalade Quick has been use internally and an app has been released using Marmalade Quick called "Signal To The Stars", it is a nice game and is available on the app store for free, so developers can install that to have a look at the speed/performance of Marmalade Quick as a games engine. found at https://itunes.apple.com/us/app/signal-to-the-stars/id596795873?mt=8





SUMMARY



Software : Marmalade SDK - Quick

Website : http://www.madewithmarmalade.com

Twitter : @marmaladeapps

Platform : Mac OS X (10.6.x or higher), Windows

Demo : 30 days

Price : Varies by License




you can follow us on Facebook by liking our page at
http://www.facebook.com/pages/ReviewMe/137640632964588

If you are interested in obtaining a Free license to Marmalade, you can download an evaluation license and take advantage of the BB10 promotion, create an app for the BB10 using marmalade, and they will provide you with a Free Indie license. There are a couple of other ways to get a free license, namely if you sign up with Marmalade to publish your app under them as the publisher. More details can be found on their website.

Comments