Flash game viability

Started by
13 comments, last by ObSkewer 16 years, 1 month ago
I'm curious to how viable it would be to make an in depth flash game that would be played at length. I've played some flash games but most or pretty much all of them are just like 10-20 minute things. Many of them I played seem to have bad performance or maybe they just made 'em with low frame rates? Anyone have a fair amount of experience with flash that can say whether or not it's suitable for a moderately large game?
Artist 1st - Programmer 2nd(I'll get some material linked here sometime to support these claims, haha)
Advertisement
A good article on the subject of Flash as a game platform

While it deals with casual games, it goes over some of the disadvantages Flash brings to the table. I know recent Flash updates have made its performance a lot better, but I'm not sure it's at the point where it could handle a large game on its own. Plus Flash is quite exposed, it'd be pretty easy to download your massive game and then reverse engineer it and then have a lot of your code and assets. So that's something to consider.
If this were a fully funded game, you could opt to use a hardware accelerated flash player and ship the game as a regular EXE instead of the usual embedded web stuff.

That would give you the performance, but it would get rid of a lot of the other advantages that flash has.

Quote:Original post by Davion
...it'd be pretty easy to download your massive game and then reverse engineer it and then have a lot of your code and assets.

Same is true for most PC games. Assets can always be obtained, and many games these days seem to write a large portion of their code in scripting languages, or even publish large parts of their C++ code for modders to freely use!
That's true, but not on the same level. All you have to do with a Flash file is save the .swf and then run a decompiler and you can get almost everything, down to the source code in some cases. Trying to do that for a large commercial game isn't even really worth while for someone to attempt. I mean yeah you could get some art assets and textures, but you aren't going to have the whole game available for you to edit, unless they allowed that option or something.
Quote:Original post by Davion
That's true, but not on the same level. All you have to do with a Flash file is save the .swf and then run a decompiler and you can get almost everything, down to the source code in some cases. Trying to do that for a large commercial game isn't even really worth while for someone to attempt. I mean yeah you could get some art assets and textures, but you aren't going to have the whole game available for you to edit, unless they allowed that option or something.

Although I agree things can get more difficult with desktop games, any dedicated and skillfull person can still get at the goods - all of it - no matter the security measurements taken. It'll just take some more time. But yeah, Flash is specifically targeted, which does make reverse engineering a lot easier. Alas.

Anyway, to the OP: what sort of game did you have in mind? I've seen games that can be played for several hours, without being technically very complicated. I've also seen games that are technically pretty interesting, but short-lived in terms of gameplay. As for framerates, many people simply don't know how to efficiently work with Flash. It's easy to develop a Flash game, but it still requires some skills to get these things right.
Create-ivity - a game development blog Mouseover for more information.
We've been struggling with this a lot ourselves. We're building a development environment for casual games and media applications. Currently, it's implemented as a Java applet but the problem you have there is adoption rates (approx. half of what you'd get with Flash).

The Three Rings guys have given some great presentations about this topic. Here are two:
http://samskivert.com/work/2007/gdc/ooo_gdc_2007.pdf (slides 27/28)
http://www.samskivert.com/work/2007/agc/web_client_dev.pdf.

At GDC this year Daniel James also mentioned that they had some regrets about moving to Flash for Whirled (which certainly has a large codebase).

So far we've stuck with Java but it's really hard to give up half of your potential users. We're still evaluating moving to Flash.

-Dale
http://www.sharendipity.com
I was thinking of making a single player RPG or adventure game. Just something simple at first but maybe expand on it later. I don't plan to sell the game, but would probably sell it very cheaply if I did( like $5 or under. ) I might not even use a lot of vector graphics with it though, I haven't decided what I'd use vector graphics for if any... maybe just characters. The lack of vector graphics would make it a bigger download but I think it would be worth it for better performance.
I'm not sure though, I haven't worked a lot with flash, just a few pretty simple things, but it seems to me that too much vector graphics would murder even the best CPU.

I don't have any kind of funding or anything and it would just be a one man project.
Artist 1st - Programmer 2nd(I'll get some material linked here sometime to support these claims, haha)
There's two ways to render with flash. Vector based and movie clips or rendering to one bitmapdata on the stage. Rendering with just bitmapdata and using only copy pixels proves to be extremely fast. If you need a tutorial on getting started with flash I have a quick one. (can't find it atm, but I have a link on my other computer if you need it).

Yeah flash is extremely easy to reverse engineer. I've actually heard that some people understand the byte code pretty well. I'm working on a large scale flash game in my spare time and other than using the right click hack I haven't found any problem with speed. I think the problems a lot of people have is that they spend too long rendering their vector graphics. I use copy pixels so it's not a problem. Just google and you'll see threads on the subject.
http://www.kirupa.com/forum/showthread.php?t=276114
(also be reminded that the examples I posted aren't necessarily the fastest ways to render. the Draw method on BitmapData runs a per pixel matrix. Storing rotated versions of the bitmap or generating them before the program runs and using those to render is so much faster (using copy pixels)).

Remember that flash is generally using software rendering. The fps degrades quickly based on the resolution. For a 500x500 pixel game screen you're normally fine for 30+ fps. There are tons of optimizations that more advanced coders can use to push flash to it's limits. A good example is 3D engines. 99% of flash games use vector rendering and put too many lines into their artwork which causes the poor performance you are always seeing.

Also about the play time that's purely gameplay. I mean there's tons of small puzzle games in .exe form that I play for only a few minutes before I'm bored. Flash is very easily accessible and makes it easy to just open up and play someone's little game they made in a few days.

oh yeah since a lot of beginners are interested in the right click thing:
http://www.kirupa.com/forum/showthread.php?t=270568&highlight=click
(there's tons of ways to do it, that's just an example my brother and I created when I was messing around with flash. It can be made to work in all browsers)
It's most certainly possible to make a single player RPG in Flash. My roommate's been working on an isometric one for a while, and he's got some pretty nice stuff up (particle systems, fancy water effects, enemy AI) that runs perfectly.

The guys who did the online version of Alien Hominid have done some fairly compelling work in Flash.

That being said, sometimes you do have to limit yourself. Flash likes to bog down when a lot of things are on screen at once. Also, if you're planning on embedding your game in a browser, you have to keep file size in mind.

Cheers,
--Brian
Dofus is basically a flash mmo.

I want to help design a "sandpark" MMO. Optional interactive story with quests and deeply characterized NPCs, plus sandbox elements like player-craftable housing and lots of other crafting. If you are starting a design of this type, please PM me. I also love pet-breeding games.

This topic is closed to new replies.

Advertisement