Wow… and I thought this would be easy. All I wanted to do was explore products that would take a swf (a flash application) and package it as an ‘exe’. Sounds straight forward given there a like a ton of products that claim to do this.
First up, just create an exe using the standalone flash projector. Like here. Of course I would have to hack the icon, and this says nothing about reading and writing local files (so I’d have to use SharedLocalStorage like any sandboxed flash app). But whatever, I just wanted something to work. Verdict: doesn’t work with flash 10. Specifically, I can’t remove the flash projector default menu on flash 10 via fscommand(“showmenu”, “false”); And I mean the menu at the top of the flash projector, not the right click menu. Score one for Adobe… touche on removing one alternative to AIR.
Second up, mdm Zinc. Looks like one of the most popular options. Downloaded the trial and gave it a go. There are TONS of nice looking native system options (reading/writing files, etc). I was pumped up and expected the best. Well, mouse wheel support appears broken. I’ve questioned it here. No response so far…. with each passing day I get more bummed. Performance also appears to be… poor. Some people blame that on the demo water mark. Perhaps so, perhaps not. Keep reading for what I have to say about this regarding another option mProjector….
Third up, Jugglor. This app looks kinda crazy what with the bright red controls and all. I mean I’m an NCSU fan and grad but this is a bit much. Anyway, red filter glasses on and things look better. After all I’m here for what it does, not how it looks. I click around through a bunch of options screens and get an exe built from my swf! Now, I had to uninstall flash 10.1 from Internet Explorer, find archived editions of flash 10, install one of those, then I could build the exe, but that’s fine. Anything… ANYTHING at this point is acceptable. And guess what? Frame rates are just fine! At least they are AFTER i click “Convert SWF to Flash Projector”. If I don’t do this, the resulting exe doesn’t bundle the flash player and for whatever reason the resulting frame rates are less. So, feeling confident I decide to try the window options. Things like controlling what happens when you resize the window, full screen, etc. One thing it does that is cool is that it will lock the aspect ratio of the window. So as you resize the window it keeps things non-distorted. Of course this is true right up until you hit the window maximize button. On my 1920×1200 desktop that stretches the window away from the 4:3 ratio and my flash app gets distorted as well. So much for locking the aspect ratio. I thought I’d get cute and remove the maximize button. That would cure this problem. ‘Click’ in the jugglor settings and problem solved. But this begs the question of full screen support. How will that work? If I take out maximize I would like a way to switch to full screen. So I set Jugglor’s setting to start the app in full screen. It even has an option to change the screen resolution. I set it to 800×600. Build the app and run it. Resolution changes….. and app is nowhere to be seen. In fact what I have is an 800×600 version of my desktop. My app is in the taskbar. Rick click and close it and my screen resolution resets to 1920×1200. Ug…. total bummer. 1024×768 produce the same results. Ok, lets not switch the resolution. I’ll just keep whatever the user has. Now this does work……. but I’m still nervous. I feel like I’d need to test this on just about every platform and OS I’ve ever heard of. If this screen resolution switching is broken, then what else is broken? At this point I thought to see if they have a mac version (like zinc does). Whoops. I must have neglected to look at this. I had been trying to look only at solutions that could target both mac and windows. End of road….
FOURTH up, mProjector. I’m so sick of these things by now I’m ready to go running back to AIR as fast as I can (well not really, but it may come to that). mProjector seems clean and has a fair amount of functionality. The forums are really slow, but not dead at least. I grab it and try it out hoping for the best and expecting the worst. It is easy to use and produces an exe pretty quickly. It runs and doesn’t suffer from mouse wheel issues like Zinc. It is supported on both PC and Mac, unlike Jugglor. I don’t know about full screen support yet, because the next thing I noticed was my game’s frame rate. It was clocking in just above 20, not at the 30 I had set it to. “Here we go again”, I said. I document the issue on their forums here. I just posted this a little bit ago. Hopefully somebody will say something in the next day or so. Why…., oh why! Oh, after noting this about mProjector it made me wonder if Zinc suffers from the same issue….
Fifth up???? SwfKit was last released in the middle of 2009. Flash 10 and 10.1 have probably eaten it alive since then. I hesitate to even download it. Northcode only support windows. I’ve read some good things about it, but only windows is a real killer. That just hurts. There are other little swf2exe’s scattered all over the internet. But few of them do more than host the flash ocx control. I was really looking forward to some native functions (that WORK, of course).
Well, back to the game proper I guess. There is always AIR if I must…. I’ll give mProjector and Zinc a chance to respond. They both are probably working on flash 10.1 support, so a whole new set of behavior is probably right around the corner…