Marmalade v Unity Speed and Size Matters

Marmalade have recently carried out speed and deployment size tests between test apps written with both Marmalade SDK and Unity 3D and the results are somewhat surprising. The test app basically displays a little over 400 animating sprites. Here are the results:

  • Unity APK size is 658% larger than the Marmalade APK size
  • Unity app installed size is 1935% larger than the Marmalade app installed size
  • Marmalade APK app is 356% faster than Unity app

I was already aware of the size difference between Unity and Marmalade deployed apps but was surprised by the speed difference.

In the interests of fairness this is just a simple app that displays animating sprites, but it cannot be denied that a side by side raw comparison the Marmalade SDK beats Unity hands down.

Build Flash Style HTML5 Games with Booty5

The latest version of Booty5 the free HTML5 game maker now has support for creating Flash like animations, enabling web developers to create Flash like games across mobile and desktop browsers using an easy to use WYSIWYG game editor. A screen shot of the editor in actions is shown below:

Booty5, the HTML5 Flash Like Game Maker

Booty5, the HTML5 Flash Like Game Maker

View a demo that was creating in less than 30 minutes here.

More details about this release of Booty5 and to download go here.

Marmalade SDK 7.4.2 is out now

Latest release of the Marmalade SDK (7.4.2) is now available for download. Latest changes include:

  • Support for iOS 8 frameworks
  • Support for iOS 8 interactive notifications
  • Initial support for Android Lollipop and 64-bit device compatibility
  • Updated FreeType library to version 2.5.3, with preliminary SDK support for OTF fonts

Goji game editor for Marmalade 1.7.2b now available

Latest version of the free Marmalade compatible game IDE the Goji Editor is now available for free download

Changes include:

  • Added New Project dialog with support for creating wireframe projects
  • Update to AppEasy Core to work with Marmalade SDK v7.4
  • Fixed export of extra app.icf settings
  • Fixed missing app_id for Facebook extension when deploying device builds

iOS developers, Marmalade Juice is here!

The clever bunnies over at Marmalade Technologies have today released an awesome new piece of open source technology called Marmalade Juice that I have no doubt many iOS developers will be thrilled to hear about. Catchy name aside, what is this Marmalade Juice technology all about and what can it do for iOS developers? Lets take a quick look at what is says on the tin.

“Marmalade Juice is a new and innovative technology which gives developers the ability to recompile their iOS projects natively for Android. And, because there is no need for laborious re-writing, you can focus on making your game the best it can be.”

So what does that mean? In essence it means that you can take your existing Objective-C XCode code base, compile and run it on the Android platform. As Marmalade Juice is an evolving technology there are a few areas that Juice does not currently fully support, but using the already existing Marmalade extensions you can still utilise them with a little code rework. Not much to ask considering that its infinitely easier than learning the Java / Android development ecosystem, oh and don’t get me started on Eclipse!

So in essence Marmalade Juice equates to easy porting from iOS to Android (that’s over 1 billion extra devices to target your games at!) for iOS developers around the world and an extra revenue stream, which is always nice for budding indie developers and the big boys alike.

All you need to get going is Marmalade Juice, XCode and the Android SDK.

Oh, even more great news. Juice will now be included in all Marmalade licenses and for a limited amount of time the yearly community license is free, so you get to play with Juice for free!

Interested? then mosey on over to the Marmalade Juice web site and grab a license whilst its free.

AppEasy 1.5.4 now available, source encryption, 3D math and dynamic geometry

AppEasy Version 1.5.4 is Now Available

AppEasy the cross platform mobile game and app development system for iPhone, iPad, Android and Windows that is aimed at all levels of experience releases latest update

AppEasy version 1.5.4 is now available for download from here.

Please upgrade to the latest version. Note that before updating, close down your current version of AppEasy, rename c:\AppEasy to c:\AppEasy2, install and run AppEasy then copy any changes / certificates from c:\AppEasy2 to c:\AppEasy. Note that if you install the update before renaming c:\AppEasy then simply exit the AppEasy project manager, rename the folder and run AppEasy again.

Changes include:

  • Added encrypt source to AppEasy project manager which will cause all xml and lua assets to be encrypted
  • If actor has geometry assigned and no shape and it is under control of physics then the geometry will be assigned as the shape as long as the geometry is polygon based
  • Added new matrix library to deal with Matrix maths
  • Added actor library functions setVertex(), setRGBA() and setUV() which can be used to modify the actors underlying geometry
  • Added support for decrypting lua and xoml assets, add decrypt tag to appeasy.xml with attribute enable=”true” to enable
  • template.from container can now be nil to create resources in global resource space
  • Fixed docked actors that are scaled
  • Fixed issue in AppEasy where proportional sizing was not taking into account virtual resolution scaling

Source Encryption

You can now protect your Lua and XOMl sources from prying eyes by enabled source encryption from the AppEasy project manager. This will turn your source files into an unreadable format that can only be understood by the AppEasy player.

Dynamic Geometry and Matrices

The most fun addition to this update is the ability to modify the geometry of actors that have a geometry attached. Coupled with the new matrix library you can create some interesting geometry animations as well as 3D projection. Check out Test71 which shows a large 50×50 3D grid of quads.

Updates will be pushed to AppEasy Core SDK on Github soon.

Goji Game and App Editor beta is now available

The Goji Editor has finally entered beta and is now available for download from

What is the Goji Editor?

One of the more difficult processes involved in developing applications and games is how to create and organise the content. By organising content we refer to managing all of the elements that make up the game or app, such as images, sounds, brushes, physics materials, level layouts, user interface layouts, scripts and so on. The Goji Editor primarily helps you to quickly create and test game levels / app layouts and organise the lifetime of resources as well as test in real-time across different screen resolutions.

Goji’s secondary function is to enable full game and app production using available game and app development systems such as AppEasy / IwGame Engine, Marmalade Quick, Corona, GiderOS, HTML5 etc,.,. Goji aims to be as platform and development system agnostic as possible to ensure that exported data can be used by any development system and on any platform.

What does the Goji Editor look like?

Goji Editor Screenshot

Who is the Goji Editor for?

Goji has been designed primarily for designers and developers that create apps and games for mobile and desktop systems. However, Goji is flexible, supporting a huge canvas area and could be used in any capacity that involves organising and laying out graphical information spatially. Goji is also a great learning tool for students that are interested in learning the process of putting together apps and games in an environment where they can make changes and see the results of those changes very quickly.

What are Goji’s features? 

  • Create and organise game level levels and app layouts into scenes and actors

  • Export to many different game and app engine / programming language formats, including AppEasy / IwGame Engine, Marmalade Quick, JSON, XML (HTML5, Corona and GiderOS coming soon)

  • Export in multi-resolution friendly format, allowing exported data to be used on any sized display

  • Assisted layout editing, including tools to enable easy layout / layout management, bookmarking, edge / vertex snapping, directional cloning and so on

  • Full drag and drop support, drop entire folders of resources onto Goji and Goji automatically sorts them all for you

  • Support for import of SVG, Texture Packer and other formats

  • Support for physics including fixtures, joints and the ability to test physics

  • Definition of gaming logic and play using events and actions lists

  • Support for Lua / Javascript and other language editing, includes syntax highlighting, code folding and search / replace

  • Interactive play mode that launches the game using the built in engine or other engines, also shows coloured debug output

  • Create complete working / runnable projects

  • Support for user properties


  • TexturePacker is a tool that is used to combine many images into a single image, usually referred to as a sprite / texture atlas. Packing images into a single image improves rendering performance.

  • SVG (Scalable Vector Graphics) format is an XML based format that is used to represent two dimensional vector art work. Goji imports the following tags svg (scene), g (layer), image (actor), rect (shape) and path (shape or geometry). SVG is used by packages such as Inkscape and Adobe illustrator

Future features

Features that are currently in development or will be available in the near future include:

  • Export for Corona, GiderOS and HTMl5

  • Complex actions lists

  • Support for animation creation using timelines

  • Deployment to iOS and Android devices

  • Support for audio, video, web views, in-app purchase, ads and many more additional services

How do I download the Goji Editor?

At the moment the Goji Editor is in open beta and is free to use, however the Goji Editor will eventually become a paid product in the future. To download the Goji Editor please register and sign in then click the download menu to be taken to the download area where you can download a beta copy of the Goji Editor.


Thinking about paid advertising to sell your new mobile game or app?

If you are thinking about paid advertising to sell your new mobile game or app then you may want to think again. I came across this very informative article outlining the experiences of a real mobile game developer and would recommend it as a must read:

Misadventures in Mobile Advertising on Gamasutra

The article paints a VERY bleak picture of extortionate CPI advertising where the likes of Apple (yes Apple you read that correctly), are effectively charging over $60 per user acquisition. To add insult to injury the developer that got the acquisition is paid just a cent! This is not limited to just Apple, many advertises are up to the same extortionate tricks.

AppEasy 1.5.0 is now out

AppEasy the cross platform mobile game and app development system for iPhone, iPad, Android and Windows that is aimed at all levels of experience releases latest update

AppEasy version 1.5.0 is now available for download from here.

Please upgrade to the latest version. Note that before updating, close down your current version of AppEasy, rename c:\AppEasy to c:\AppEasy2, install and run AppEasy 1.5.0 then copy any changes / certificates from c:\AppEasy2 to c:\AppEasy. Note that if you install the update before renaming c:\AppEasy then simply exit the AppEasy project manager, rename the folder and run AppEasy again.

The main new features include:

  • Support for Facebook
  • Communication between web view content and the native app
  • New Lua HTTP API
  • Support for AdModa banner / rich media ads and Leadbolt app walls

New Tools:

  • AppEasy manager now supports new Facebook App ID field
  • Android Test deploy will now replace previous installed APK and automatically launch it
  • BUG FIX: iOS wizard was copying development certificate over distribution certificate

Core Engine Changes:

  • Added new Facebook Lua API that provides access to Open Graph API
  • If UI actor (does not work with basic image or text actor) is assigned Box2dmaterial but no shape then a default rect shape will be created and assigned
  • Extended UV tiling to beyond 8×8
  • Geometries now support percentage based sizing
  • Actors now support the Tiled attribute which tells the actor to use texture tiling when rendering itself
  • Actors now support the new Tiling attribute which specifies texture tiling factors on a per actor basis, if x or y tiling factors are > 1.0 then actor Tiled attribute will automatically be set to true
  • Tiled attribute has been removed from brushes
  • Added actor.findTagged(tag, scene) function that returns a table of actors that are tagged with a specific tag
  • All properties that are set from Lua via functions such as actor.set() / scene.set() now accept a userdata object or the name of the object, instead of an object name. For example when setting an actors timeline property you can pass either the name of the timeline or a lua object that represents the timeline
  • Added readable TextSize property to text based actors that returns the width and height of the area that the text covers
  • Added scene as 2nd parameter to resource.removeTagged() to allow tagged resources to be removed from specific scenes
  • Added new actor.destroyTagged(tag-name, container-scene) which destroys groups of tagged actors
  • WebView actor now supports OnJavascript event that is called when Javascript calls back to XML using s3e.exec(), see Test25
  • WebView actor property Javascript when read from Lua returns Javascript data that was sent via s3e.exec(), allowing data passed back from Javascript within a web view to be read
  • Updated Test25 to show how to send Javascript to web view from XOML to modify page content as well as send data back to XOML from a web view
  • Added http Lua API that deals with finding remote requests as well as setting and getting their properties
  • Added status() function to market Lua API which returns the status of the last request
  • Added available() function to market Lua API which returns the availability of the market
  • Added new sys.getOSVersion() function which returns current OS version as a string
  • All files that are downloaded over http (e.g. images, fonts and audio) now work if the original request URL results in a redirect
  • Updated Test63 to support Admoda banner and rich media ads, also added support for Leadbolt app walls
  • Actor.set(), add() and get() can now be used to access user properties of the actor by tagging a true onto the end of the call, this will access user properties instead of xoml properties
  • Added sys.setBackgroundColour(red, green, blue)
  • BUG FIX: Fixed issue where geometries would not render in a scene with batched turned on
  • BUG FIX: Fixed issues with SVG exporting from AppEasy Tool
  • BUG FIX: Fixed issues with tiled images in batch rendered layers
  • BUG FIX: Fixed issue with multiple onbegintouch events not firing correctly for actors
  • BUG FIX: Fixed OnResponse event callback in RemoteReq
  • BUG FIX: Fixed, Lives property of ActorParticles renamed Repeat
  • BUG FIX: Fixed, Lua errors now output to Error channel and not Info channel
  • BUG FIX: Fixed extents scaling by camera scale
  • BUG FIX: Fixed touch panning with scaled camera

Marmalade 6.4 Gets Tizen Support

The latest and greatest Marmalade SDK 6.4 is out now. A number of cool new features have been added including:

  • Support for Tizen OS
  • iOS 7 and XCode 5 Support
  • Marmalade Quick has now been rolled into the Marmalade SDK