• Advertisement
Sign in to follow this  

Flash game viability

This topic is 3622 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Thanks for the info everyone, I guess I'll give flash a shot. I don't know why, but I was thinking it would be easier to make a rpg in flash but I think it's going to take just as much work or close to as working with C++ and APIs.

Share this post


Link to post
Share on other sites
If you're still there here's a tutorial on using the FlashDevelop IDE to develop a small program in ActionScript 3
Tutorial

Share this post


Link to post
Share on other sites
If you're worried that someone might decompile your game, there are SWF code obfuscaters available, though I haven't had much luck with them.

I think it's possible to make a flash RPG but there are several limitations you have to face. Framerate has been mentioned already, if you're planning to make a web game, try not to go over 30 fps, as most browsers don't allow flash to take too much CPU time. But there are some hacks to get around that.

There is also a limit on how much code you can have in a single class file, about a maximum of 32k. So you might have to restructure your code late into the project if you're not careful. This is no longer an issue with Actionscript 3.

Another thing you have to watch out for is compilation times. As your project gets larger, compile times could increase exponentially. It may depend on the type of graphics you decide to use and how much animation you have (vector graphics probably take longer). If you're using Actionscript 2, there's a nice utility called MTASC, which will just replace your old code in your already compiled SWFs, taking a lot less time.

Share this post


Link to post
Share on other sites
There are MMOs in Flash/Flex out there... Club Penguin is well known for instance. And SmartFoxServer is a Flash games server written especially to let you write multiplayer games.

Flash is a very viable platform for games (although I'd recommend Flex for developing AS 3.0 rather than than Flash tools if you're a programmer)

Share this post


Link to post
Share on other sites
I've been using Flash a lot recently as part of my uni course. There's definately a lot of growth coming for the platform over the coming months - starting a project now is an excellent time to catch the new advancements.

The forthcoming version of Flash Player (10) will apparently have hardware 3D acceleration built in, plus the 2.0 version of the 3D engine PaperVision should be done by then, so there's no reason why in-depth time-consuming games can't be in the future for Flash - and I'm talking months, not years, for this to happen.

For example, my team's project involves PaperVision, which we then wrote controls and modified the camera to be like a FPS engine for our game. We want play sessions to be around 30-60 minutes at a time, but the game itself lasts for much longer (or will when it's done), so we will offer the facility to save progress. The art is done in Maya and exported as Collada so PaperVision can read it. There's collision detection and we could even get a physics engine imported to play with if we wanted. We haven't implemented it yet, but sound libraries are there in Flash already - 3D positional if you want to go into it. Currently, performance is reasonable: 16-20 FPS on a mid-spec PC in Flash Player 9.

Our game probably won't be widely released, although we are working with the BBC in our concept stages, etc., so who knows. But I can guarantee that other organisations (including the BBC themselves) are VERY keen on this Flash expansion - one of our contacts there is a dev on the PaperVision team - and will be supporting it in the future.

Like I say, a platform to consider.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement