views:

4173

answers:

10

I'm researching game development in Flash and Flex. I've downloaded the Flex Builder trial and have worked with older versions of Flash. I see that generally, Flex Builder is a developer's tool, and Flash is a designer's tool. It's not clear to me whether one is better suited to game development than the other, or if it's necessary to have both to effectively design games. To my mind, games are equal parts design/art and programming. Which tool is more commonly, or more intensively, used for game development?

+5  A: 

Or a third player: haXe

haXe is used in game development. Some of them are mentioned on the page People Using haXe.

stesch
What makes haXe better than Flash or Flex?
David
haXe compiles to Flash (if you want to make a Flash game).
stesch
I'm not looking for a language, I'm looking for a tool. If I wanted to do command-line compiling I could use the free Flex SDK.
Dave Swersky
@Dave: http://haxe.org/com/ide and I was just saying that there are further alternatives, which get used by people making money with Flash games.
stesch
Thanks for mentioning haXe, I've never heard of it but it looks really good, better than Flex for my purposes anyway.
Mk12
haXe is goddamn sensational. I really want to use it more.
aaaidan
A: 

I have no experience with flash cs3, but quite a lot of experience with flex builder. I would be surprised if flex builder was the best choice. The only real reason to pay for flex builder is charting, which I wouldn't imagine would be present in a game. It may be the best actionscript editor (which is what I would think the 'game logic' would be in), but there are surely good free ones out there. The actual compiler is free, and flex builder doesn't really help you with the visual components of a game.

Ckhrysze
+10  A: 

Flex builder: Way better development/coding environment than Flash CS3/CS4

Flash CS3/CS4: Way better design environment than Flex

"Flash Style" application: (Sprites, MovieClips instead of flex UIComponents) Generally better performing for game type work.

So how do you get all those benefits? You can make plain old flash apps in Flex Builder, they don't have to be Flex apps (File->New->Actionscript Project). Prepare art assets in Flash CS3/CS4, do all your code in Flex Builder get the best of both worlds.

Marc Hughes
+2  A: 

I use CS3 for most of the graphics and do all my code in FlashDevelop (which just aswell could be Flex Builder).
Since coding and graphics are two reasonably separate things, it's not a bad thing to use two different tools for them.

grapefrukt
+3  A: 

If your game is simple, or you are an artist, then Flash CS3/4 is the clear choice.

If your game is complex, or you will be working on it for a while, you will want to be using Flex. Developing using Adobe languages and tools is always painful for developers, but Flex less so than raw Flash. Flex at least provides a sane OO framework for building applications. Flex is pretty bloated though, and so you will have to take care with tuning your SWF size, but it really pays off in maintainability and code scalability.

The choice isn't mutually exclusive. You can build Flash components in Flash CS3/4 and use them in Flex. The main challenge for developing with both is the lack of coherent documentation or support from Adobe.

Flex Builder is the way to go for a beginner, but it is quite expensive once the 60 day trial is through.

As to which is used more, probably raw Flash. But that is probably changing as Flex takes hold.

rjurney
In short, if you haven't ever actually finished a game yet, make one in Flash first. Then try making the game again using pieces of the Flash game in Flex. Then start on your ACTUAL game designing with the experience of which platform does which pieces better.
Organiccat
+7  A: 

A hypothetical workflow that gets me drooling is a dedicated team of artists/designers creating assets in Flash, and exporting them as swfs to a programmer wielding FlashDevelop.

The designers need not write code, and they work on one or more asset repositories in the form of Flash documents. Each asset is "Exported for Actionscript" (under the Linkage menu) and given an appropriate class name. The flash doc(s) are then published as swfs to the developer.

The developer copies these published assets to a project directory, where they can be embedded into an Asset class (or similar) with the [Embed] metadata tag...

public class Asset {

    [Embed(source="./assets/Enemies.swf", symbol="asset.KohrAhMeleeShip")]
    public static var KohrAhMeleeShip:Class;

    // etc.
}

Then, in the game code ...

var enemyFighter:EnemyFighter = new EnemyFighter( Asset.KohrAhMeleeShip );
addChild(enemyFighter);

The developer can then publish a monolithic swf, which contains the entire game code and all assets. This doesn't preclude the developer from "import loading" additional assets at runtime (using the Loader class), which would reduce initial load time.

Daydream ends.

PS. FlashDevelop is a very compelling environment for Flash game development, particularly when compared with Flex Builder, which is geared toward a very specific type of application (RIA).

aaaidan
A: 

Flex: Expect your game to be stale, bloated and look like every other Flex app ever created. It's been a few years that Flex has been out and I've yet to be proven otherwise.

CS3/4: Full control over graphics (no matter what Flex developers say, they don't have FULL FULL FULL control...insert style sheet joke here.) Using an Eclipse IDE, PowerFlasher, MTASC and AS2 or AS3, you should be able to anything.

See Ckhrysze's comment...he's a Flex developer.

eric
Your comment comes off as arrogant and uninformed. You've probably played a number of games developed in Flash Builder (i.e. Flex) on Kongregate or any number of other flash game sites.You have the same level of control over graphics Flash CS users have, you simply have to implement the control differently. Flex is not, however, a great graphical editor.
Organiccat
A: 

I have used both flash cs3/cs4 and flex builder 3.0 for game development,

flash which better for only designers and more pain for developers,because action panel is not good for programming which is premature and only for designers who put sone dynamic animations on swf,

flex which is powerfull tool for developing games like visual studio 2005,and netbeans for java,which let the programmer to code in object-oriented approach easily,

+2  A: 

Flash CS3/4 is really helpful if you're creating frame-by-frame animation and for layout. If you're happy to do this stuff in code, then you won't need it. It's not the best tool for creating artwork anyway, you can use Paint.Net and Inkscape for that which are both free (or PhotoShop and Illustrator if you have the money).

You don't want to use the Flex framework, so if you're using Flexbuilder you'll want to do an ActionScript project not an MXML project, as someone else noted. Save yourself some money and just use Flashdevelop with the MXMLC compiler.

Here's a blog post I wrote about free software for making Flash games:

http://blog.iainlobb.com/2008/11/cool-free-and-open-source-software-for.html

Iain
A: 

I can't say that I have used CS3/4, but if you want to make a game with Flex there is a tutorial series here that shows you how.

Phyxx