Colin Holgate from Funny Garbage recently presented his experience of creating HTML5 games using Flash Professional.

As Colin demonstrates, anyone wanting to target HTML5 while using the familiar Flash workflow can easily do that using Flash’s HTML5 Canvas document type. And as you can see from the video, the end results are quite impressive.

30
Apr

If you’ve been uploading builds to TestFlight you’ll no doubt have noticed that you need to increment your app’s version number each time you want to deploy a new build. Annoyingly Adobe AIR’s <versionNumber> tag has always populated both the CFBundleShortVersionString and CFBundleVersion keys in the iOS info.plist file, meaning there was no way to simply update the build number while keeping the app’s version number the same.

Thankfully the recently released AIR 18 beta SDK fixes this issue by providing you with a <versionNumber> and a <versionLabel> tag. The <versionNumber> tag is used to update the build number, while <versionLabel> is used for the app’s actual version number. So if you’re only making a minor update to your app you can now simply update its build number rather than the version number.

You can download the AIR 18 Beta from Adobe Labs. The release notes are available from here.

28
Apr

PixiJS has got to be my favourite JavaScript 2D rendering engine. It’s awesome! So I was pretty damn pleased to find out that a new major version has just been released by Mat Groves.

pixiv3-logo

A lot has changed including a new modular architecture and increased focus on WebGL rendering. With WebGL now available across a wide range of mobile devices it’s great to see Pixi being architected in such a way to ensure that the WebGL side of things is as efficient as possible. Also, for those targeting multiple screen resolutions (who isn’t these days), PixiJS v3 has a new resolution manager making it easier to work across different resolutions and pixel densities.

A new version of the official site will be coming soon along with documentation and example code. In the meantime you can find out more on Mat’s blog and grab the latest version from GitHub. In fact, there are some impressive demos on Mat’s blog showing off just what v3 is capable of.

If you’ve been using the TestFlight website to upload and distribute test builds of your Adobe AIR apps then you’ll probably be aware that the service has moved. Apple acquired TestFlight in February and have now integrated it within iTunes Connect. So here are a few useful tips for uploading your app for TestFlight beta testing within iTunesConnect.

Download Adobe AIR 16+

Apple now insist that all apps submitted to the App Store must include 64-bit support. This restriction also applies to any builds you upload to iTunes Connect for beta testing.

Thankfully Adobe AIR 16 introduced support for 32-bit and 64-bit iOS platforms. The AIR 17 beta SDK has improvements over AIR 16, allowing it to compile for both platforms in parallel, cutting packaging times by fifty percent.

I’ve actually been using AIR 16 for a current project and its builds can be uploaded for beta testing without any problems. But you might as well take advantage of the improved compilation times provided by the AIR 17 beta SDK.

Distribution Certificate and Provisioning Profile

The TestFlight website let you upload apps that had been built with a development certificate. However, in order to submit a beta build via iTunesConnect you’ll need to generate and use a distribution certificate. This can be done by generating an App Store and Ad Hoc production certificate from the iOS Dev Center.

You’ll also need to create a Distribution Provisioning Profile and associated your distribution certificate and your app’s App ID with it.

Update your App Version Number

Before making a build and submitting it, you’ll need to update your app’s version number. This can be done by editing your application descriptor file (-app.xml). Simply increment the value of its versionNumber tag:

<versionNumber>0.0.3</versionNumber>

You’ll need to increment this value every time you submit a new build for beta testing. If you don’t, then the submission will be rejected for having a version number identical to an existing build.

Beta Entitlements

Staying within your application descriptor file, you’ll also need to set the correct beta entitlements. Add the following XML:

<Entitlements>
  <![CDATA[
    <key>get-task-allow</key>
    <false/>
    <key>beta-reports-active</key>
    <true/>
  ]]>
</Entitlements>

It’s important you remember to do this. If you submit your build to iTunes Connect without these entitlements, it will be accepted, but testers won’t be able to gain access to it. Worse still, you can’t delete builds from iTunes Connect, leaving you with no choice but to increment your app’s version number and submit a brand new build. Remember, once a build has been successfully submitted you can’t upload another build that has the same version number.

NOTE: If you’re making a build for yourself using a development certification and development provisioning profile then you’ll need to remove the entitlements XML from your application descriptor file. This is a nuisance but the easiest way to deal with it is simply to comment-out your entitlements XML when you don’t need it, and then remove the comments when you’re creating a beta build for upload to iTunes Connect.

Here’s how your application descriptor file should look after commenting out the entitlements:

<!--<Entitlements>
  <![CDATA[
    <key>get-task-allow</key>
    <false/>
    <key>beta-reports-active</key>
    <true/>
  ]]>
</Entitlements>-->

Upload using Application Loader

The final step is to upload your builds. If you’ve been using the TestFlight website you’ll be used to simply dragging and dropping your files onto a web page. To submit your content to iTunes Connect you’ll need to use the latest version of Application Loader. You can download Application Loader from the iTunes Connect website.

I hope all that was of some help to you guys.

05
Feb
stored in: AIR, Projects and tagged: , ,

Here’s a video of an app I worked on last year, but for one reason or another, forgot to actually blog about.

The Careers IT Seat Interactive is an iPad application that was developed as part of the Glasgow Science Centre’s Careers Hub exhibit. It consists of a series of games and quiz style questions designed to challenge and entertain visitors as they discover their ideal career based on their personality. The app is accessible through seven iPads mounted in seated pods at the science centre.

The application was developed using Adobe AIR and ActionScript 3. Flash Professional was used as the design tool, with a combination of bitmap and vector artwork used for the app’s visuals and animation. I always find it extremely enjoyable working on AIR projects and this one was no different. Vector graphics were actually used for the bulk of the artwork and the final result looked great on the Retina iPad Airs that were used in the actual exhibit.

I actually put this demo together about six months ago but for one reason or another didn’t actually get round to blogging about it. I think it was because I wanted to add environment graphics and proper baddies before showing it off. However, given how little spare time I have at the moment that’s unlikely to happen any time soon.

This demo (video below) was an attempt at trying something different with our Bunny Vengeance game concept. Rather than two characters standing on screen and clobbering the hell out of each other (previous demo here) I went for a side-scrolling beat ‘em up approach.

As you can see, our hero runs from left to right across the landscape, leaping over gaps and punching any baddies that get in his way. I was eager to avoid implementing a virtual joypad as I don’t think they really work on mobile screens but did want to at least try adding some depth to the gameplay while keeping things simple.

Tap anywhere on the right of the screen and our hero will punch, while tapping on the left will make him jump. You can even perform a double-jump if you get your timing right. Holding both sides of the screen at the same time also performs a few extra moves. Doing so when the bunny is in flight will perform a devastating power slam, while it’s used to block any hits from baddies when on the ground.

The previous demo was written in ActionScript but I opted for Objective-C for this one. For the game’s physics and graphics I used Sprite Kit, which is pretty awesome if you ask me.

Oh, and if you like the video above then you may like my Jeff the Unicorn demo that I put together last year. Its control scheme isn’t that different from the controls I opted for in the latest Bunny Vengeance demo.

If you were unable to attend Adobe’s “Flash Professional: The Future of Animation” webinar, then you’ll be pleased to know that a video of the session is available below.

It was a full house and there were many really great presentations during the one hour forty minute session. I think the title of the webinar was a little misleading as there was definitely plenty on offer for those from a development rather than an animation background.

Apparently there are plans to host more webinars on a regular basis, something I’m looking forward to.

Adobe will be hosting a live webinar – “Flash Professional CC: The Future of Animation” – on January 13th at 8:00am PST.

It’s open to everyone and they will be covering many of the latest features in Flash Professional CC including its native and custom platform support. Native support for HTML5 Canvas and WebGL will be covered, along with the latest custom platform plugins for Cocos2D, Starling, AwayJS and OpenFL. And I’m sure they will talk about a great many other Flash related things Flash too.

Joining Adobe will be some very well known members of the Flash and digital animation community including:

  • Grant Skinner, CEO Gskinner.com & Creator CreateJS
  • Joshua Granick, CEO, OpenFL Technologies
  • Rob Bateman, Founder & Managing Director, Away Studios
  • Denis Balon, COO GAF Media

You can join the webinar here a few moments before the start time. Also, remember to check your local time here.

See you there!

23
Dec

The very nice people at DiaDraw got in touch recently to let me know about a promotion they are currently running that should interest all Adobe AIR developers. They’re offering a 20% discount on their Camera Driver ANE for iOS and Android. Plus as an added bonus they’re also including their excellent Easy Native Extensions eBook as part of the bundle.

DiaDraw_Camera_Driver_ANE_promo

The Camera Driver ANE lets you connect to and capture frames from the native device cameras on iOS and Android. It also provides control of the following camera features:

  • Frame rate and resolution control
  • Focus, exposure, white balance control
  • Point of interest
  • Flash
  • Camera swapping
  • Geometry filters

And if you’d like to know the development steps the DiaDraw team actually go through to write their native extensions then the Easy Native Extensions eBook is the best place to start. It’ll lead your through the entire process and have you writing your own ANE’s in no time at all. Here’s what I said about the eBook in a recent blog post.

This bundle offer is available until the 31st of December. Just head over to the Camera Driver order page and use the following promo code: yeahbutisitflashrocks

25
Nov
stored in: AIR, Flash and tagged:

Starling 1.6 is on the horizon and there’s one feature in particular that I’m really looking forward to: 3D Sprites. When I first read about Starling’s new Sprite3D class I wasn’t too sure what all the fuss was about but Starling’s author, Daniel Sperl, recently released a video showing it in action and now I’m excited!

While Starling will remain primarily a 2D renderer, the new 3D sprite feature will take any display object and let you move it around in 3D coordinate space. The video above shows some simple but really practical uses for it. On top of its new 3D capabilities, the next release of Starling will also contain the usual bug fixes and optimisations including: nesting of filters, memory overhead reductions, and parallel asset loading within the AssetManager class.

You can already take many of these features for a spin on the development version on GitHub.