Posts Tagged ‘flash’

Flash, Air, Automated Builds…

May
14

I’ve been up to quite a lot at work over the last couple of months. It’s not finished yet, but I’m quite proud of the progress, and wanted to document it somewhere.

Our build systems were already substantially automated. All our new Flash-based projects have been moved over to the Flex command-line compiler wrapped with Ant (we used to use MTASC in the same way). And the final ‘publish’ bit was also done with Ant (turn the produced .SWF into an .EXE, or an Air file, or a Mac .app). So everything was already command-line, on each developer’s machine (the whole shebang in SVN to keep things in sync).

But we’re ramping up for a new style of delivery. Previously, because we’re working in quite a backwards market, we’ve been delivering on CD-ROM. We are still going to do that, but we’re also going to be delivering the same content on-line in a number of different formats – AIR (our preferred option), .exe and .app (for those who aren’t allowed to install AIR), and SCORM-compatible .zip at the very least. That’s a pain to manage and publish.

Under the old regime, the developer working on the project would have had to clean-and-build-for-distribution 4 times (for the four different formats) to produce the final packaged products – in some cases 4 times per language. Which takes a helluva long time. And then would have to FTP or SCP the lot up to a server, and update a website with the new details etc… and some of those build cycles weren’t that simple (moving to a Mac for the final Mac DMG, hand-building Windows icons for the .exe, hand-building Mac icons for the Mac .app, and so forth).

So I’ve been building a new build server to help us out in a number of ways. Here’s what I’ve managed to get going over the last couple of months:

  • Automated build of DMG files.
  • Automated build of Windows .ICO and Mac .ICNS files from PNGs.
  • Automated build on the server of any of our Ant-based projects, in a variety of formats. That’s all the way from SVN code to a complete set of .air, .exe, .app, .dmg, plain .swf (for embedding online) and/or .zip files.
  • Automated publication of the resulting products on to a website with various user ‘channels’ (so some users can get at some stuff that others can’t).

All of which means that, to release a product to the public, a developer goes to a web interface and clicks ‘build’. Everything gets built and uploaded to a central repository, the developer gets an email saying whether it’s succeeded or not. Then the developer chooses which channels to publish it into, and bingo, people have instant access.

I am happy with this. There’s a lot more work to do yet (on things like authenticated downloading, watermarking/serialnumbering downloads, and a whole new website to go alongside it all) but the structure is there.

Added to that we’ve also got out of it a couple of really useful tools for the production team, including a string/resources editor that any of our content authors can use – which lets them modify (in a protected way) the actual resource files the developers are using – and a module documentation system.

All of this achieved with a Mac Mini (for the Mac-specific DMG building and .ICNS building), a Dell server, PHP, Java, Ant, Cruise Control (which we’ve hijacked and are just using as a queuing system), Code Igniter, SVN, haXe and, of course, the Flex compiler.

Nice. :-)

PNG Artefacts with wmode=transparent

Dec
19

A friend’s SWF had really odd pixel artefacts being drawn on the background of an animation – but only in Firefox with wmode=transparent.

This is a problem that I hadn’t seen before – I’ve blogged about the problem and solution on the Awen code site, here.

Specifying sounds to Flex via CSS

Dec
11

I’ve put up a post – and a class – on the Awen Code site to allow you to specify sounds via CSS.

PixelBender support in haXe…

Dec
4

The man never sleeps!

Nicolas Cannasse has added Pixel Bender support to haXe – and for reading/writing PBJ files. He’s set it up so you can send low-level instructions to PixelBender – i.e. at a lower level than Adobe’s PBK language – and so get more optimised code.

Check out the page here.

Spider!

Sep
17

Here’s a really nice bit of 3D Flash – Tomas Eriksson has an interactive spider crawling across a map:

http://www.onemotion.com/flash/spider/

Well worth the click!

SWF parsing in C#

Aug
13

Robin Debreuil has released a C# library for parsing the SWF file format up to version 8.

Going Retro

Aug
5

Two retro links for the Flash platform…

fMAME, MAME in Flash Player.

And Someone has taken advantage of the ByteArray input to the sound object
in Flash 9 to write a converter and player for the old mod/tracker format files
in haXe…

Flash 9 Module Player.

OS Licenses

Jul
2

A really good article by Grant Skinner on the most common Open Source licenses and their implications with respect to Flash and Actionscript.

Flash Player 10 Beta

May
15

…is out.

Demos are here.

Closing a few tabs…

Apr
21

…and collecting a few links I want to take a look at later on:

KitchenSync is an AS3 tweening/action triggering framework that looks very like our own internal ActionManager. We’ll probably stick with ActionManager, but it’s probably worth a delve into it at some point to see what it offers.

A Runtime Expression Evaluator from Sephiroth/Alessandro Crugnola. Includes a simple exptression lexer, parser and then runner. Worth a look.

Aral Balkan’s new project, GAE SWF Framework, wrapping together a whole bunch of Flash libraries and utilities to get Flex/Flash apps running on the Google App Engine. Deep-linking, PyAMF etc.

And a link found via GAE SWF, rounded corners in CSS is worth taking a look at.