Skip to main content
Inspiring
May 24, 2012
Question

Best way to develop flash games for desktop + mobile, today

  • May 24, 2012
  • 2 replies
  • 1265 views

Hi

It has been a nice run of about 7 or 8 years now that we have developed Flash browser based games for the web exclusively. Of course with the ubiquity of mobile devices, things have changed. Clients are starting to demand, almost assume, that games will work in the browser - on the desktop and on their tablets.

Putting aside the whole discussion of using an HTML5/JS solution instead, we're sticking with Flash for the next project and need to figure out the best way to get it to run on the desktop browser and on the iPad, while maximizing code re-use.

Given the current state of technologies today, what is the best path? This game will be a 2D side-scroller type game, and development will be done mainly with bitmap graphics (as opposed to vector) and spritesheets :

Option 1: Develop the game targeting the 'standard' flash player for web, then port to an iOS AIR 3.2 app, doing appropriate optimizations.

Option 2: Use Starling/Stage3D for desktop, and then port to an iPad app. Just wondering if starling is ready for primetime making production quality games for mobile + desktop. Does Stage3D still work well enough in software mode on older machines?

Option 3: The new feature in CS6 that lets us publish to HTML5. Is this even close to mature enough to publish a full game? The benefit of this solution is that it could run in the browser on the iPad instead of being a separate app.

Thianks so much for any guidance.. I'm also wondering about pitfalls, and optimization techniques involved in any of these.

-rich

This topic has been closed for replies.

2 replies

Inspiring
May 24, 2012

Well I don't know if I can give you 'guidance' without knowing the details of you and your project and all that, but here's my personal opinions:

Option 1: I would go for developing for iOS and Android first and then "in-brower" over the other way around. But I would actually develop for all targets at once so that I know I am not using a solution that breaks another platform/formactor that has to be redone later. iOS has allot more guidelines and things you have to consider than the the 'browser' where there is no approval proccess. So if you can get it approved on iOS then it should be able to go to Android and the browser without so much trouble, but the other way around you could really create allot of stuff that needs to be redone -- Apple is very strict on making sure that the users are not stuck with bad UI or a bad user experience(as is defined by their user interface guidelines). I have some projects that were made for in-browser flash first, and it has been hell porting them over to iOS/Android. The whole way they interact with the user has to be rethought for mobile/small screens/touch screens. If I had made them originally with mobile in mind, then it may not have been as much of an ordeal.

Option 2: I am not familiar with 'starling' or Stage3D, so I can't be helpful here.

Option 3: I was under the impression that the 'publish to HTML5' feature was just for animations, not ActionScript -- Maybe someone else can answer this for sure. Even if it could do ActionScript, there still may be no way to access some of the stuff an app could (saving levels/data/whatever to the device hard-drive, etc).

Anyhow, curious why you would want to avoid vectors? With so many screen resolutions, and the potential that they may get higher in the future (like they did with retina display on iOS), vector would make your project better suited to work on future devices without having to redo things and add higher resolution bitmaps later. If you have something that absolutely demands insane perfomance, then the bitmap/spritesheet stuff might be needed I guess... (or if it is some '8-bit retro' type of thing)

flextnetAuthor
Inspiring
May 25, 2012

Thanks to both of you.. after doing some more reading I think the HTML5 solution (option 3) is out because the performance on mobile is just not there yet, and we want to use our Flash skills for this.

I am not opposed to using vectors, however it seems to get any kind of performance on the tablets we need to eliminate as much CPU overhead as possible (ie. vector graphics processing) and get any or all assets into bitmaps to be rendered by the GPU. This is based on what I've read and a few small game ports that we attempted about a year ago.

But you're right, simple games/apps can certainly run in CPU mode with vector graphics - especially on iPad 2 and above which have greatly improved processor speeds. Our game will likely push some of those limits with number of objects on the screen, and include some physics which the CPU can dedicate its time to if graphics are in the GPU.

One way to handle different screen resolutions is draw  bitmaps at the apropriate scale (to fit the screen) when the game loads and use them throughout. As far as I know, scaling/rotation is not a big hit on Starling as those operations happen in the render pipeline in Stage3D.

Inspiring
May 24, 2012

one suggestion from me: build the game for the device first, and then port it to the web.