Flash and AIR cont'd
Yesterday, I mentioned that I was considering moving forward with AIR packaging for NEO Scavenger. This move was to address a few of the limitations I was encountering in Flash, without having to commit to the significant downtime and risk of changing technologies mid-project (i.e. HaxeFlixel).
However, some comments on yesterday's news pointed out that AIR on Linux might be a step back. My understanding was that AIR could be packaged and deployed without requiring any separate installs, but on Linux, AIR is frozen at v2.6 (predating captive runtime support). In practice, this means that downloading NEO Scavenger as an AIR application on Linux won't work out of the box. Instead, the user would see a prompt saying they were missing AIR, and would need to download a specific AIR runtime and install it first.
That's far from ideal, of course. So the next question is, will Flash projector format be sufficient?
So far, we've been able to get by using the projector format. All three platforms are limited to Flash 11.2, but otherwise, they're single files that execute cleanly after downloading. The downsides that I can see are:
- Limited File Access - Flash cannot access the file system except when the user asks it to. This means I could only load a file that the user selects in a dialog, and only save a file the user selects in a dialog. That screws up the permadeath, which I know some folks wouldn't mind. But it also hampers things like quick saves/loads, and loading custom data (e.g. modding).
- Steam Interop - I know that Lars was able to get Defender's Quest integrated with Steam using AIR, but I am uncertain if the same can be said for Flash projectors. There are a few other games out there that might've solved this, such as VVVVVV, Machinarium, and Binding of Isaac. Of course, this is hypothetical, as I'm not on Steam yet. But it'd be nice to get there some day :)
There are also some minor issues which might apply, such as flaky full screen support. Though if we're stuck on AIR 2.6 for Linux, that might be even worse than the Flash 11.2 fullscreen support there.
Neither of these are great options. HaxeFlixel might solve those issues, but is also the "devil we don't know." It's a lot of work, it's untested, and may have a raft of problems of it's own once we try it. Deciding against HaxeFlixel the other day was actually one of the biggest reliefs I've had in a while, so I'm not thrilled with the idea of putting that back on the table.
For now, it seems the best option might just be to stick with Flash projector. It'll suck for modding, and save games, but it won't be worse than what we have now. And come to think of it, at least it'll be identical to the browser version (rather than fragmented features and code between browser and desktop).
I'll have to think some more. Maybe modding and fancy saving are something better reserved for a NEO Scavenger 2. I might be able to improve save games a bit still using the Flash shared object system. It'll just remain difficult to find and manage the files in the special folder.
Curse you, Adobe!