Well the proof is in the eating and not the making. I’ve spent some time putting together a small game using Booty5 called Leapo that I will eventually distribute as an example of how to use Booty5. Whilst developing this game I have come across various issues or missing features, hence this update.
Booty5 game engine changes:
- Added new Actor setPositionPhysics() and setRotationPhysics() to set associated physics body position and rotation directly
- Added new utils class that contains utility functions
- Fixed actor and scene sorting using new sorting method in Utils called sortLayers()
- Added new property to TheApp called use_marm which should be set to true if deploying to mobile using the Marmalade SDK
- Added new property to Sound constructor called reuse which can be used to force the sound effect to be reused (only useful for short sound effects at may not play if one is already playing)
- Added new stop / pause methods to Sound class, only usable with reusable sounds
- Sound class will now use the powerful Marmalade audio system instead of standard, if its available
- Added new method TheApp.parseAndSetFocus(scene_name) which parses xoml JSON and sets the named scene as the current scene
- TimelineManager.add() now returns the timeline that was added
- Scene.addActor() now returns the added actor
- Actor.addActor() now returns the added actor
- TheApp.addScene() now returns the added scene
- ParticleActor.addParticle() now returns the added particle
- Main loop timer replaced with requestAnimationFrame for smoother rendering
- TheApp now measures average frame rate via avg_fps property
- TheApp has new property called adaptive_physics which will run physics update multiple times within a single frame if frame rate falls considerably outside target frame rate
- Actors can now all be cached by setting cache property to true. When cached the actor will be rendered only once to an off screen canvas, subsequent rendering will be of the cached version. note that the Size of the actor as specified by its properties will determine the size of the cached canvas area. In the case of unfilled actors, the allocated size will be slightly larger to allow for stroke thickness. Note that shadows and composite operations are not cached
Booty5 game editor changes:
- ExportName Scene property is now saved and restored correctly
- Load scene property now cloned correctly
- Target frame rate now exported
- Fixed main.js for Marmalade SDK export, also now copy wb.js over from SDK into build folder
- Marmalade native audio will be used in place of standard audio if available
- Added new property to Sound resource called reuse
- Added new project property called Adaptive Physics which can be used to run physics multiple times per game update
- Unfilled rounded rects with corner radius now render properly
- Actors can now be marked as cached which causes them to be rendered once to an off screen canvas
- Added new measure button next to size property in properties panel, this will set the actors size to the extents of any attached geometry
- Exported main.js will now wait until resources are loaded before starting TheApp
Whilst all of the above changes are a positive, one of the more important changes includes caching of actors for rendering. HTML5 is not particularly fast (especially on mobile) at rendering things like gradients and shapes. Actors can now be marked as cached which will force them to be rendered once to an off-screen surface, subsequent renders will render the cached version. When deployed via Marmalade Web I am seeing a good 30-60 fps frame rate for Leapo on an iPhone 5C.
You can download Booty5 HTML5 game maker for free from here
The Goji editor has had a new update today, mainly to bring the features more in line with Booty5. Changes include:
Added Support for ALT Tab to switch between previous / last resource
Added image preview to Icon background property
You can now select most resources directly in the object properties panel
Added shape editor
Added shape shape bitmap tracer and mesh optimiser
Concave fixtures are now exported as multiple convex fixtures
Changed code editor font to fixed size
Fixed actor insert crash bug
Fixed script / image auto reload
Fixed main canvas scaling
Fixed various export options
Fixed geometry not updating correctly bug
Fixed auto shut down of editor when clicking close button on are you sure dialog
Fixed deployment with Marmalade free license
Main changes relate to usability / productivity, just making things a little easier to use. Also the addition of the shape editor makes it possible to create physics shapes and geometries within Goji, avoiding the need for an additional shape editor.
You can download a free copy of the Goj Game Editor here
I realise that two updates inside of a week is a bit much but I wanted to get this update out quickly because I have changed the way gradients are used by game objects substantially, I’ve also added project generation for the Marmalade SDK using Web Marmalade. Web Marmalade is a system that enables you to package your HTML5 games / apps into a native app for a variety of different mobile phones and tablets, allowing you to submit them to the app stores. Web Marmalade also provides access to native device specific features. To export a Marmalade compatible project simply go to the Project Settings, select the Marmalade tab and tick the “Export MKB” option then either run or test the project. This will generate a project in the marmalade sub folder inside your project folder. You can import this file into the Marmalade Hub and then deploy your HTML5 game as a native app to a device or run in the simulator to test.
Changes for this release include:
- Replaced gradient angle with gradient start / end vectors
- Labels can now use gradients
- New Marmalade properties section added to project properties which enables a Marmalade SDK compatible web application to be exported
Changes to the editor include:
- Added support for gradients to unfilled shapes
- Removed gradient angle property and replaced with gradient start and gradient end points
- Added support for text gradients
- Moved gradient style creation out of Xoml class and into Gradient class
You can download Booty5 for free from the Booty5 web site
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
Latest version of the free Marmalade compatible game IDE the Goji Editor is now available for free download
- 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
The Goji Editor has undergone some major changes over the past few months with the biggest change being tight integration into the Marmalade tool chain and removal for direct support for Gideros and Corona.
If you are a Marmalade SDK developer and want to see a quick overview of the new Marmalade SDK integration features then take a look here
Why have I taken this route? Firstly, Marmalade recently released a free license making the Marmalade SDK freely available to all developers enabling tight integration of Goji into the Marmalade build and deployment system, this enables developers to use Goji to create games for a much wider range of platforms. Secondly, the next release of the Goji Editor will add support for HTML5 and I simply cannot keep up support for Marmalade C++, Marmalade Quick, AppEasy Core, Corona, Gideros and HTML5, so something has to go.
So here are the main changes summarised:
* Tight integration into the Marmalade SDK, including deployment and application configuration settings than can be set in the editor such as specification of which extensions / modules to include, drag and drop icon / splash screens and much more. You can also compile, test and deploy from the editor.
* Support for Marmalade C++, Marmalade Quick and AppEasy Core
* AppEasy is now distributed in source form and compiled by Goji (the old player has gone because it took way too much time to update), this allows you to change the underlying engine quite easily to extend it to add your own features and / or mix C++ and Lua. It also allows you to deploy your games to ALL Marmalade platforms and not just iOS / Android
* Assets can now be exported to sub folders
* Tonnes of bug fixes
You can download a free copy of the Goji Editor from www.gojieditor.com
So you downloaded the Marmalade SDK, but you haven’t quite got around to using it yet. Maybe you plan on developing full on native speed games? Maybe you want to develop apps that run across a large number of platforms? Or you just want to avoid XCode and Mac to develop iPhone and iPad games. Regardless of why you downloaded it, why aren’t you using it yet? Maybe it seems a little daunting at first and you just don’t know where to start? Well I have some news that may just help you.
Marmalade are running a series of Getting started with Marmalade webinars which will help you get up and running quickly. The webinars are hosted by Marmalade expert, developer and support engineer Nick Smith and will cover an overview of how Marmalade works; a number of practical demos and examples that show you how to start a project in Marmalade, or import an existing C++ project. Members of Marmalade’s support team will also be available throughout the webinar to answer questions. The webinars will last for 30-45 minutes.
Marmalade are hosting three Getting Started with Marmalade webinars on Friday 15th of August:
- 13:30 India ST / 16:00 China ST (09:00 BST)
- 17:00 Central European ST (16:00 BST)
- 10:00 Pacific DT / 13:00 Eastern DT (18:00 BST)
To register use the links below:
Audience Log-in URL: https://www.anymeeting.com/651-699-060
Registration Form URL: http://www.anymeeting.com/PIID=EA58D78189493D
Audience Log-in URL: https://www.anymeeting.com/386-680-255
Registration Form URL: http://www.anymeeting.com/PIID=EA58D78189493E
Audience Log-in URL: https://www.anymeeting.com/268-006-473
Registration Form URL: http://www.anymeeting.com/PIID=EA58D78189483B
Anyways, sales pitch aside, lets take a look at some of the recent changes:
- Fortumo now integrated with IwBilling and Quick Billing.
- New FBX to Marmalade converter tool, making it easy to get your 3D assets from tools such as Maya LT, 3ds Max and others that support FBX format into Marmalade.
- ideviceinstaller now available on Windows (goodbye iTunes!).
- IwGx now supports the ETC2 and EAC compressed texture formats.
- IwGx PowerVR texture compression efficiency improved.
- Initial support for PowerVR Tools (PVRTrace and PVRTune) on Windows Desktop.
I’m majorly excited about three of the new features in particular. The first is the support for Fortumo integration into IwBilling and QBilling. If you don’t know what they are then they are a single unified solution that enables you to “very easily” add in-app purchasing to your app across multiple different app stores. The addition of Fortumo means that in-app purchases can now be accepted by a vast number of different app stores (Android in particular).
Second feature is not having to install apps to an iOS device using the infinitely despised iTunes client on PC. I have never come across such a bug ridden piece of software in all my years. I will be happy to be deploying directly to device from now on!
Lastly, a new FBX converter that converts Maya LT exported FBX files into a lovely Marmalade format, yummy yummy.
By the way, did I mention that the Marmalade SDK is now available on a FREE license!
Click here to download the latest version of the Marmalade SDK
Just a quick heads up on the direction of the Goji Editor. With the news of a free Marmalade SDK license becoming available, I am going to rework Goji to integrate much more tightly with the Marmalade SDK. This will include features such as:
- Integration into the Marmalade build and deployment system, enabling deployment to all Marmalade supported platforms
- Test / debug using the more capable Marmalade simulator
- Development using C++ as well as Lua and XOML
- Deployment to device from the editor
- In depth publishing options which enable you to set up all of the different Marmalade deployment options more easily
- Marmalade code snippets / help / tutorials to aid development
- Code samples / tutorials section
- EDK builder to assist in the creation of Marmalade extensions
Other game development systems such as Corona and Gideros will still be supported for now. If you strongly want to keep support for Corona / Gideros then let me know
Yes you did read that right! The Marmalade SDK can be freely downloaded and used in all its flavours including:
- C++ – Create native games and apps in blazing pedal to the metal C++
- Juice – Easily port existing Objective-C based iOS games and apps to Android
- Quick – Create games and apps rapidly using Lua
- Web – Combine the power of C++ and HTML5
Sounds too good to be true? No, not at all. There are some restrictions such as:
- Limited extensions, but most important ones included
- Shows advert on boot
- Shows a splash screen on boot
But hey, you get support for the following platforms out of the box:
- Windows Phone
- Windows Store
- BlackBerry 10
Why am I so excited about the Marmalade SDK providing a free license? As most of you are aware I’ve been developing the open source AppEasy Core SDK which is a powerful game and app engine that makes creating games and apps super simple. This move by Marmalade will help to propagate its usage within the developer community. Not only that it opens the door for other developers to create extensions, middleware and tooling based on or around Marmalade.
Exciting times ahead is all I can say! Well done Marmalade.
What next? Well go and download your free copy of the Marmalade SDK right now.