Advantages and disadvantages to developing games in Flash?

Discussion in 'Game Development (Technical)' started by sofakng, Jan 23, 2009.

  1. sofakng

    sofakng New Member

    Joined:
    Sep 27, 2006
    Messages:
    21
    Likes Received:
    0
    I'm thinking about developing a multiplayer game and I'm now thinking about using Flash instead of C# (SFML / SDL).

    What are some of the pros and cons to doing this?

    I believe that the new version of Flash is hardware accelerated so it should be able to have good speed and for 2D games it seems really nice because it doesn't require to user to install the game or anything at all.

    Anybody have any opinions on this?
     
  2. Ciardhubh

    Ciardhubh New Member

    Joined:
    Oct 9, 2008
    Messages:
    131
    Likes Received:
    0
    My totally objective opinion ;):
    - Flash games have a low perceived value. Typical Flash games are only played for a few minutes, never to be touched again. Good games suffer from that (story, beautiful graphics, etc are more or less wasted). Of course bad games benefit, because they are more accessible. To me most Flash games feel more like time-wasters than actual games.
    - Flash games cannot create atmosphere or immersion due to running in a small area of the browser, surrounded by lots of flashing, colourful and totally unrelated content. Of course there are exceptions. I was a bit suprised when I first saw the multiplayer games Bigpoint created in Flash. However even their integrated games don't match the immersion of nice accelerated fullscreen graphics.

    Technical issues:
    - No right click.
    - Flash games often lose focus, e.g. browser suddenly scrolls down. If you touch more than your mouse, you'll run into trouble.
    - Actionscript is slower than C#.
    - Nowhere near the power of OpenGL or Direct3D.
    - Nowhere near the amount and power of libraries that are available for C#/.Net.

    Flash 10 requires the user to install Flash 10. Don't underestimate the slowness with which new versions are being adopted.
     
  3. AlexWeldon

    AlexWeldon New Member

    Joined:
    Feb 6, 2008
    Messages:
    1,256
    Likes Received:
    0
    Making money from Flash games requires a non-standard business model. If you're developing small games quickly, you can go the sponsorship + ads route, but I don't think you can make enough that way to make a multiplayer game feasible. There are companies that will pay you to develop multiplayer games using their API, but again, the amount of money you'll get is limited.

    Essentially, you'll need to find another way of getting money... people won't pay 20$ for access to a Flash game the way they would for a downloadable title, both because of the perceived-value thing, and the fact that a one-time payment makes people think of a product, whereas access to a browser game is more like a service.

    Monthly membership fees are one way to go... another way is to make the game free but sell extra content or in-game advantages to paying users. Or make good AI and allow the players to try that for free, but charge in some way for PvP.

    Alternately, you can do what PopCap started doing originally, so many years back, which is make the Flash version free (possibly against the AI) and sell a downloadable Deluxe version. This is easier to do now, since you've got Adobe AIR (and stuff like SHU to wrap an AIR program up as an executable... apparently Adobe encourages this, though you have to ask their permission, as a SHU app amounts to a redistribution of AIR).
     
  4. sindisil

    Original Member

    Joined:
    Feb 26, 2006
    Messages:
    115
    Likes Received:
    0
    No point in arguing opinions. I'll note, though, that I personally have really enjoyed quite a few Flash games, including the Fancy Pants series, the Shift series and the Monster Den series. Were they as fully imersive, pretty and full featured as downloadables or AAA games that I've also enjoyed? Nope. But they were *fun*. Which is the whole point of a game, isn't it?
    Point, but for many games (casual especially), right click isn't needed. Still, it *is* annoying.
    This is a major annoyance, but is more of an issue with the web page the flash game is on than a pure Flash issue. Regardless, this is one of my biggest gripes about Flash games online. Obviously AIR versions don't have this issue.
    True, but AS3 on Flash 9 or Flash 10 is reasonably fast, and getting faster all the time. Besides, it is obviously fast enough for many, many types of games.
    In an aboslute sense, perhaps. But another definition of "power" has to do with how easy it is to get a job done. By that measure, Flash is pretty darn powerful.
    Again, it depends upon your definition of "power". In addition, there is a growing list of ActionScript libraries for such things as particle engines, tweening engines, even 3d rendering engines.

    Older versions took some time to grow a user base (7 & 8 took 2 years each to reach 85% of Internet connected machines). Flash 9, however, was at 95% in 18 months or less. Flash 9 Update 3 (nee Moviestar - added H.264 video and HE-AAC audio playback, multi-core support, hardware scaling of HD quality full-screen video and component caching) hit 81% in six months, 89% in nine months. I'd be shocked if it were less than 95% - new numbers should be out in not too long. From the numbers I've seen on several sites, it looks like Flash 10 will continue the acceleration of uptake rate.
     
  5. Jack Norton

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    5,130
    Likes Received:
    0
    Be ready to get bashed on flash sites like kongregate with texts "It's a demo!" all over the comments...:rolleyes:
     
  6. sofakng

    sofakng New Member

    Joined:
    Sep 27, 2006
    Messages:
    21
    Likes Received:
    0
    Thanks for the replies everybody.

    I'm actually not looking to really make any money. I'm just doing this as a hobby and if I can get a few people to play my game than I will be happy.

    However, that doesn't mean I just want to through some "crap" together in five minutes and put it on a websites somewhere. I'm actually hoping to write an isometric game engine (possibly with an IronPython-scripting language backing up), etc.

    The one aspect of Flash that is really, really nice is that no installation is required what-so-ever (yes, they need the player but it's extremely common and I don't even consider that an issue). For example, if I develop an XNA game than I need to build a custom installation package, distribute XNA redistributables, DirectX redistributables, .NET redistributables, etc, etc. With Flash you just point them to a website :)

    I did completely forget about the right-mouse click problem. That's really a bummer...
     
  7. AlexWeldon

    AlexWeldon New Member

    Joined:
    Feb 6, 2008
    Messages:
    1,256
    Likes Received:
    0
    Right... I should have mentioned that. If you're going to use a Flash game as a demo for a downloadable game, you're going to need to find a way to drive traffic to your own site like any other dev, since demos don't tend to get good coverage on sites like Kong due to the aggressive downvoting you're describing.
     
  8. andrew

    andrew New Member

    Joined:
    Jan 14, 2007
    Messages:
    487
    Likes Received:
    0
    You can totally make it work, just consider these things up-front:

    Multiplayer: beware of routers and firewalls. Best option is to use SmartFox or something that can tunnel through HTTP. We're doing a custom solution using Amazon EC2 but you still have to worry about how the users are connecting -- if you go the sockets route you may be in a world of pain.

    Game resolution has to be 800 pixels wide or less or you're not going to be able to upload to most of the big portals.

    Don't do anything that requires mouse-grabbing (i.e. a first person shooter) because users will be playing your game in windowed mode.

    Rendering speed is fine until you get into the world of heavy alpha-blending and/or lots of bitmap rotation. Avoid doing too much of this and you'll run just fine.

    For maximum flexibility you want all of your assets and code embedded into one single SWF file. You definitely don't want to be pulling anything heavy from your own servers because if you get front-paged somewhere and are getting 10K hits an hour you might have problems. Keep your total game size under 10MB max.

    At this point you might as well start developing to the Flash 10 API, by the time you're done it'll have a high adoption rate.

    - andrew
     
  9. Drake

    Indie Author

    Joined:
    Mar 28, 2005
    Messages:
    263
    Likes Received:
    0
    @andrew: Good tips! I hit your site and read that you are using Flex 3. Do you have any Flex-specific tips for gamedev? One of my concerns is that Flex seems to add a fair amount of "fat" to a SWF, but then I've only experimented with it a little.
     
  10. undergrowth

    undergrowth New Member

    Joined:
    Jan 10, 2009
    Messages:
    33
    Likes Received:
    0
    I agree generally that flash games are a different market (i.e. simpler, casual games) than downloadable games and struggle to create immersion. But, to be a flash fanboy, on the technical issues:

    Flash 10 now allows the user limited keyboard access in full screen (other than alpha-numeric), which was previously prevented to stop phishing attacks. So games might start to be playable in fullscreen. Though I haven't seen this happen yet. And I don't know if portals will prevent it just to keep their ads showing (though surely a brief fullscreen ad would be worth more than a continuous flashing gif?)

    You can customise the right click menu, even on a per-object basis.. I don't know why people don't. Maybe to cater to mac users? Maybe because it's ugly? (This is still more limited than other platforms of course where you can do whatever the hell you want)

    It's getting better. ActionScript uses bytecode and JIT compiling and all. Each new flash version lately has seen significant performance gains. I'd be interested to see a direct speed comparison (with Java too)

    I'm certainly not going to argue with these points. The libraries issue is a big gotcha for me.
     
    #10 undergrowth, Jan 24, 2009
    Last edited: Jan 24, 2009
  11. Alistair Hutton

    Alistair Hutton New Member

    Joined:
    Jun 13, 2007
    Messages:
    60
    Likes Received:
    0
    If you're making a game with a 1Mb MP3 background music track and a couple of megs of graphics then the extra cruft Flex adds on is fairly negligible. A blank Actionscript project is 500 bytes, a blank Flex project is 125000 bytes.
     
  12. hippocoder

    Indie Author

    Joined:
    Mar 18, 2008
    Messages:
    591
    Likes Received:
    0
    As for cons, it is always going to be slower to do some fancy effects or heavy graphics. Its all CPU based. Developing in C++ etc is going to make your game way better looking.

    The flash market is crashing right now: 14c CPM from mochi ads etc... not going too well. Have a backup plan if you go flash :)
     
  13. Spore Man

    Indie Author

    Joined:
    Jun 19, 2007
    Messages:
    843
    Likes Received:
    0
    No, it's not. At least not in the way game programmers are used to. "Hardware acceleration" in traditional game programming (ie: with Direct X) means that sprites are all drawn and handled via hardware. This is NOT the case in Flash. The only thing hardware is doing now for Flash is blitting over the window.
     
  14. Backov

    Original Member

    Joined:
    Oct 23, 2005
    Messages:
    812
    Likes Received:
    0
    That would be the "ad" market you are referring to, which, yes, is crashing.
     
  15. andrew

    andrew New Member

    Joined:
    Jan 14, 2007
    Messages:
    487
    Likes Received:
    0
    The extra size that Flex adds (around 200-400K depending on what you import) isn't too bad, in return for the UI help that Flex can give you. Personally I like FlexBuilder as a dev environment, and the UI classes are a bonus. However you can certainly code an entire game in CS3 or using haXe/etc.

    You can customize the right click menu, but you can't get rid of the "Settings/About Adobe Flash Player 9", so that's not terribly useful.

    Mochi seems to have the worst CPM's around. CPMStar is better, and then you have places like Kongregate which ends up giving you a $4 CPM (if you are at the 50% rev share tier). The ad market may not be doing so well, but the sponsors who are paying for many of these games are making a killing via traditional ad networks. So that money can essentially trickle down to the developers in the form of primary sponsorships/etc.

    "Downloadable" isn't a backup plan anymore than "dig for gold in the backyard" is a backup plan. Getting a quick $3000 sponsorship for a game you made in a few weeks is still a lot easier than trying to sell 300 downloadable copies of it at $10 a piece. Apples, oranges, etc.

    - andrew
     
  16. KNau

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    1,165
    Likes Received:
    2
    Assuming you're making a downloadable-only game, assuming you're already a professional C++ developer, assuming you are an artist or have an art team, assuming you're using a fancy-pants third-party 2D or 3D library...then it's possible that C++ can produce a better looking game. But that's a whole hell of a lot of assumptions you just made!

    And since when does one data point constitute a trend? Have you checked with the (at least 4 that I know of) other sources for in-game revenue? What about web-page ad revenue, have you checked with any of the hundreds of service providers there? How about affiliate programs? Don't tell me they're dying - that would mean no one is buying games at all!

    Has anyone done actual research or is it Dexterity all over again where we're just going to take the word of 1 or 2 people for how things should run? You can't just poop out a game with mochi-ads in it and hope to pay your rent. If that's your plan then please, please stay in the downloadable market.

    And all you other Flash developers need to take a breather and stop shoving this crap down people's throats. It's not the promised land, it requires a hell of a lot more work than anyone here is letting on.
     
  17. Acord

    Acord New Member

    Joined:
    Jul 26, 2008
    Messages:
    1,217
    Likes Received:
    0
    Advantages? Disadvantages?

    Advantages: REALLY TINY FILES, uses neat vector graphics. Okay sprite support. Everybody and their mom can use it, supposedly. New versions of the player work well with old flash apps.

    Disadvantages: Easy to use, hard to use WELL, hardware acceleration means nothing if your artist does not understand that when two things are on the same layer and overlap, they create new vectors - Flash seems to be most commonly used by people who are goofing off at work or school, or generally dysfunctional 12 year olds, making an ironclad application is pretty much impossible, nobody wants to pay money for flash games, ad companies are not going to make you rich, people will eventually tire of updating the flash player, not as powerful as java, limited functionality, the moment you try to save 32k of data to someone's HDD they're going to assume you're installing spyware, for some goddamn reason you ARE NOT EVER allowed to use the right mouse button, it makes baby Jesus cry, the kinds of people who play flash games will never buy them, most flash games are throw-away two minute time wasters no matter how high concept or innovative they are, Adobe will eventually screw it up so that it is a huge security risk and everyone will uninstall it, and people will write run on sentences that make your eyes BLEED.
     
  18. Jack Norton

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    5,130
    Likes Received:
    0
    Yes that's the point. I suppose I'm not the only one that got the impression, reading some flash author post in this forums and in blogs around the net, that Flash was danewmoneymakerGod. It's wrong, to get good income you definitely need to spend on a game as much time as you would for a downloadable game.
     
  19. Jack Norton

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    5,130
    Likes Received:
    0
    I want to add, depends completely on the kind of game you're making. IF you're making an action/arcade game, a puzzle, a platform, and in general a game simple to play (not a RPG or a strategy game) then the above is true.
     
  20. oNyx

    Original Member

    Joined:
    Jul 26, 2004
    Messages:
    1,212
    Likes Received:
    0
    Huh? There were countless vulnerabilities in the Flash player in the past. That's why it's so important to keep it updated. Y'know all those minor updates are either bugfixes or they get rid of security holes (or both).

    But Flash isn't an exception. The same is true for about any kind of software which contains some C/C++ pieces. Java for example had lots of vulns in its native image loading libraries. Only a tiny fraction of the vulns (i.e. breaking out of the sandbox instead of the usual C/C++ flavored buffer over-/underruns) were over in Java land.

    Other good examples are media players, browsers, and popular image loading libraries.

    Well, that's why I like Firefox's auto updater and NoScript.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer