Construct 2 Release r169

New this build: support for Google Play Game Services, a new Twitter plugin to create a follow/tweet button, Spriter importer update, Multiplayer room listings, Chrome Web Store support for IAP, and more!

Google Play Game Services

The new plugin allows you to log users in, submit scores, view leaderboards, and reveal and unlock achievements. Using Google Play Game Services requires that you register for an account on the Google Play Developer Console (currently about $25 if you haven't done it before). Then you need to create a new web app and add the list of web origins (basically domain URLs) that are allowed to use it. To make sure it works in preview mode you should also add to the allowed origins the preview URL (normally http://localhost:50000) and similarly if you want to use it with preview-over-wifi (e.g. http://192.168.1.3:50000). If you try to use it without whitelisting the origin, it will refuse to load or run. Then you'll need to copy your app ID and client ID to the plugin properties. More documentation will follow when the next stable release comes around.

Unfortunately despite the fact Google Play Game Services would be perfect for Crosswalk, it doesn't currently work there: Crosswalk apps run locally, so they do not have a web origin, making it impossible to enter an allowed web origin for it in the Google Play Developer Console. We're trying to work out a solution with both Intel and Google. To help draw the problem to Google's attention, please star this bug report (click the star to the left of the title). Until then it seems to work fine on both desktop and mobile browsers from the web.

Downscaling quality

There's also a new project property to control the rendering quality when downscaling (drawing sprites when they are resized smaller than their original image). This is important because the tradeoff is between quality and memory use, and in rare circumstances can also affect whether display glitches can occur due to spritesheeting. You may wish to read about how mipmaps work, since they are used to improve downscaling quality; also note we can only control mipmaps ourselves in WebGL mode - in canvas2d it's up to the browser. The three modes are:

Low quality: mipmaps are disabled (reducing memory use), but downscaling sprites can look blocky or pixellated even with linear sampling. Use this to save memory if you don't care about downscaling quality.

Medium quality: mipmaps are enabled, which adds about 1/3rd extra to the memory use, but downscaling sprites looks much better. Since the spritesheet after export is closely packed with images, in some circumstances unrelated images "bleed" together at low mipmap levels, causing display artefacts in downscaled sprites post-export.

High quality: mipmaps are enabled, but the spritesheet after export spaces and aligns images to power-of-two positions. This negates the memory saving of using a spritesheet, but guarantees that low mipmap levels never bleed separate images in to each other, ensuring glitches never appear. However there is a high cost in extra memory usage.

The default is medium quality, since that is what it used to do, and it ensures the memory use and display quality of existing games does not change. However now you can adjust it if necessary. The estimated memory use in the status bar now also takes in to account a rough guess at the effect the setting will have. Note it used to ignore the effect of mipmaps (as if low quality were chosen) - so it will now display higher for existing unchanged projects, but that is in fact more accurate, since it always created mipmaps before but never factored that in to the estimation.