I am currently developing a Flash game and am planning on a large amount of graphics and audio assets, which has led to some questions about Flash game size.

  1. By looking at some of the popular games on NG, there seem to be many in the 5-10Mb and a few in the 10-25Mb range. I was wondering if anyone knew of other notable large-scale games and what their sizes were, and if there have been any cases of games being disadvantaged because of their size.
  2. What is a common distribution of game size between code, graphics and audio? I know this can vary strongly, but I would like to hear your thoughts on an average case for a high-quality game.

A very high quality game might be even bigger, if it's so good, and the promotion is good, as people might wait a little if the promise is really good.

What I checked in its day was 10megs game can do quite well. IMHO 2mb games have better chances to have less problems in some portals, etc. And obviously, the waiting time can make a gamer go away. If the promo efforts were succesful, there might be an strong interest in playing it, so the MBs wont be so important. I personally wouldn't go past the 10 MB, but that's me. IMHO, a very high quality game, if it is actually so, generates quite more money than the average simple flash game. So, if doable in reality by the developer, might be the best bet for a more solid solution than small games...

  • \$\begingroup\$ Thank you, this is very helpful. What do you think of a mini-game while the preloader is running? \$\endgroup\$ – Max Dohme Mar 21 '11 at 1:57
  • 1
    \$\begingroup\$ We studied that initially. The problem is, if what you expect for simple games is, let's say, a total of 1k, as much 2k $, the only sensible way for us was to do it polished but not do too many extras. If you mean a mini game for a high quality game, big download, yep,that could work. Or even if it's story based, instead of a game, as text is no weight(or can have graphical nice text saving quite memory), give a fade-in/outs nice font text screens in the ambience of the game, to get them already into the atmosphere and story. Instead of showing a tedious % preloading bar. \$\endgroup\$ – S.gfx Mar 21 '11 at 17:07
  • \$\begingroup\$ even if it's so long that have to make appear, a loading bar, at the end.(like if the actual preload would start there from zero. Psicologically their "wait" starts there.) If it's a medieval game (or sci-fi, etc), all these using good artwork going with the theme. No raw arial font and plain color slider, etc, that I have seen in some games. \$\endgroup\$ – S.gfx Mar 21 '11 at 17:10

If you make me wait for something, it had better be worth it. And despite the gains over the years in internet speed, that principle still holds true. You need to put your idea and definition of "quality" aside and think of it from the user's perspective. What is a high-quality game? Lets assume that means your game will be RICH almost SUPER RICH with sound, video and the works. Here are some tips:

Balance your game story or how the user will progress through the game and chart out when specific assets are needed. Downloading in the background is possible. You can store or cache it and use it when required.

Make use of runtime shared library framework. I assume Flash will work very much like Flex (haven't used it recently). The one thing you need to make sure is that your libraries are not interdependent. That would require your entire code base to be downloaded at start time instead of on demand.

Use IOC extensively. Use of string references in your code eliminate tight coupling with assets. That will allow you to create smaller, lighter libraries and hence reduced wait time at the start.

  • \$\begingroup\$ Sadly modern Flash games need to be one file, and one file only. You cannot load assets later on from other sources. If, however, you could somehow figure out which assets get loaded first, and then simply start the game when you reach 50% or whatever the first level needs, that might work... \$\endgroup\$ – Max Dohme Mar 21 '11 at 20:47
  • \$\begingroup\$ I cannot imagine why that feature has been removed from Flash. If that is the case then load raw assets - visuals, audio and video - on the fly. You need to create your own loader/manager class for that. In Flex the runtime shared libraries framework is exactly that - except that in that case you load compiled swfs \$\endgroup\$ – kosmoknot Mar 22 '11 at 14:30
  • \$\begingroup\$ Sorry, that might have been unclear. Flash is still able to do this of course. I meant to say that if you are developing a Flash game, you want the final game to be a single file and completely self-contained. This makes it easier for the game to go "viral" and to spread across Flash portals. For more on this, you can read the 9th Q&A here \$\endgroup\$ – Max Dohme Mar 22 '11 at 16:41
  • \$\begingroup\$ I understand you want to use this service, and hence this question. Lets assume that whichever you cut it, you want a RICH game and when everything is added up, your game will exceed the limits set up in this contract. You can then either reduce the "rich" -ness of your game or commit to serving this service indefinitely by hosting your assets (as this contract allows). Best of luck. \$\endgroup\$ – kosmoknot Mar 22 '11 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.