views:

86

answers:

2

I'm looking to start learning ActionScript and Flash to write a potentially very complex game engine. I come from a background in relatively advanced software architecture and as such am wondering if a few things (which I consider important for my engine) are possible with Flash:

  1. First, I want to modularize my game so that it can be both used as a component in other Flash projects, and itself extended with custom-written components to extend the engine itself.
  2. I want to be able to dynamically load these modules on the fly, and over the web so that the user need not download the entire (potentially large) game all at once, but rather only those pieces needed at a given time.
  3. I may need to store largish save-game files and intermediate files on the user's computer that may extend beyond the default allowed limit for Flash applications.
  4. I will probably need access to some kind of database for storing and retrieving game data. Does Flash support any kind of local data access?

The engine itself will be rather complex and abstract, involving potentially lots of classes and different kinds of attributes and capabilities. Will ActionScript be up to the task?

+1  A: 

1 yes

2 yes

3,4 no, might want to look at adobe air , or consider other flash capabilities such as a colaboration server (blazeds, red5) that can handle all your users info instead of storing them on users machine

Eran
That's another idea, storing save-games, etc. on a server. That's definitely an option, thanks.
chaiguy
+1  A: 

Just some info, Eran's answer is pretty complete.

1 & 2 = You can use Flex Modules, it's pretty handy and works pretty well. You may find some tutorials on the internet. It handles pretty well, we use it to dynamically load/clean parts of the game engine. More Info here

3 = You can use to save anything on client machine, that would place it in the sandbox, works either with flex or air.

4 = Better would be using RPCs, REST or WebServices to store the stuff on the server.

For the performance question, that would depend on what actionscript you will be using. I can only recommend using ActionScript 3, since it can be statically compiled and rather powerful. Also, you want to try to avoid using dynamic classes in actionscript if you want something really performant (for example for physics engine part or similar features).

Hope that helps :)

Kel
Very cool--thanks for the tips. I'd upvote but my reset account has no reputation. :(
chaiguy