I have a question about Flash. I am writing my first browser game, and I am trying to decide on a technology.
I have a few requirements:
- I don’t want to have to pay to write code and a not-complete-crap free IDE would also be good.
- I want most (or > 70%) of “normal” computer users to have it installed, so, Unity’s pretty much out.
- I don’t really need performance too much
- I need 2D, not 3D
- Needs to be able to communicate with the server, and no extra downloads required.
- Preferably works with the Facebook platform, but, this isn’t a requirment.
Now, I would go with Flash as it fills all of my requirements, but, to my understanding, I need to pay for CS5 to get coding with Flash. Is an alternative around this possible?
Are there any other alternatives I’m missing?
To add onto what ColinE mentioned, FlashDevelop also provides you the ability to download and install the Flex SDK. However, if FlashDevelop as an IDE doesn’t work for you, you can also download the Flex SDK yourself.
This is essentially the same thing that’s included with Adobe’s Flash Builder application, which is basically built on top of Eclipse. This should at least give you a start on creating things in Flash, though you’ll be limited to ActionScript 3. I’d suggest sticking with AS3 as it provides a lot of power compared to AS2.
If you do choose to use the Flex SDK, I’ll give you a bit of knowledge I’ve gained since I started using it for developing games. This may be a little long-winded but hopefully it’ll answer some of the initial starter questions.
You can develop apps/games using the Flex library but this may increase the size of your SWF file. However, it’s worth noting that it’s not required to use the library. You can use the compiler (mxmlc) provided in the SDK to build against .as files as well.
From here, there’s a few gotchas that might creep in when it comes to assets. Flex provides you the ability to embed assets within your class files. Out of the box, it allows for the embedding of a handful of formats, most notably PNG, TTF, XML and SWF. There’s a lot that you’ll be able to do with Flex from a code standpoint but it’s not very pretty for creating the assets themselves. Primarily, I use the Flash IDE only for cases where a project requires a SWF asset, however, most of my projects tend to use PNG.
When using an embedded SWF asset, you may come across an issue where any code that’s included in the asset, such as any hover or animation logic as ActionScript, gets stripped out of the copy embedded in the resulting project’s SWF. A workaround for this is forcing the mimetype to “application/octet-stream” and using a Loader object’s loadBytes() method.
Finally, you should be able to make some sort of progress provided you have some sort of ActionScript knowledge. There are plenty of resources out there but be aware that a fair amount of them still use AS2. The knowledge can be applied with some modifications but may require some extra legwork to implement. The language is fairly easy to work with.
With all that, I wish you luck. Flash gets a lot of flack these days but even with HTML5 nearing final, there’s still a lot of features that it will never be able to touch without leveraging Flash in some way.