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!


Banjo's picture

Reading your last few posts makes me think AIR is the best way to go in this case. Changing the entire project sounds like it would have some real advantages but would cause massive downtime and for a game that's still got a long way to go towards being "finished" it almost seems to me a bit late in the game for that, sadly. While I love the potential, I can totally see deciding to stick with "the devil you know" so that work from the existing code can continue.

On the other hand, I consider the current Flash model of the game pretty woefully limiting and IMO gives a rather unpolished/unprofessional opinion of the game (I don't mean the GAME content itself, but to me anything "Flash projector" screams "fan hobby game"). The lack of real "saving" (multiple slots, or just easily accessible files that don't get wiped by cache clears!) is a real pain, and I suspect a lot of the resolution/widescreen/fullscreen issues are heavily Flash projector related.

But the MAIN reason to switch IMO is for modding. The primary reason I bought NEOScavenger was the promise of it being moddable eventually; I didn't expect it right away, but certainly its something I feel the game needs to last long-term. The idea that the current Flash engine would make modding difficult/impossible is a real worry to me.

Pretty much any game with a die-hard fan community still around long after it is no longer new is because of how moddable it is; compare Bethesda's Elder Scrolls FPRPGs or all the Sims games, along with ancient but-still-loved games like Doom, and "niche" games like ARmA or STALKER that would have long faded into obscurity IMO if not for dedicated modders. All have far outlasted arguably better games that had no modding or way to "add fresh content". Or another indie game like Project Zomboid, which would NEVER have got to an even halfway complate state without modders (many of whom proved so able, they were added to the dev team!). One of my favourite indie games ever, Zafehouse Diaries, has a wonderful supportive attitude to modding that not only keeps fans playing/interested, but inspires the devs to add new content updates too!

Just looking at the forums here, I see so many cool ideas I'd LOVE to see someone just tweak into NEOSCavenger with a mod. The *amazing* sprite work a player did for new guns posted a while back, for example, I'd love to be able to "replace" existing graphics with them just to see how they look in-game. Plastic bag clothes, for another example. Letting players mod the game not only makes it far more fun for us, but also removes pressure on the dev(s) to add small bits and pieces of content fans are clamoring for (i.e. people are less likely to keep asking for "more knives" if they can do the work and add their own)!

I can see other advantages to AIR (or really, just changing from the current Flash projector form), but modding and saving/file access seem like huge reasons to do it.

Of course, I play on a Windows PC (and download version only, never "in browser"), so issues with Linux or other platforms wouldn't affect me... but surely if it's only a case of needing to install AIR (what I took from that post) as well, big deal? Tons of Windows games require installing DirectX or other crap first, and more obscure ones need other libraries too. Heck, these days loads of PC games force you to install Steam (which I HATE) just to play them! But in the end, if it makes the game better, so what?

My Mods:SaveMan|Fishing|Shouldered|Bottles