Flex rhymes with…
Have I mentioned how much I like Flex? The ActionScript3 (EMCAScript/JavaScript) language is a pleasure to program in (garbage collected, dynamic *and* static typing, single-inheritance class hierarchies and built in XML (E4X) manipulation). Flex Builder 2 (which is Eclipse) is a spectacular IDE (trumping, dare I say, VS.NET 2003, my prior fave, but only with Visual Assist — Visual Assist still trumps all). And the inclusion of declarative (MXML) programming hits a perfect sweet spot in my long time HTML coder’s heart. It just seems perfect.
You know, kinda like exactly what I said would be the perfect game development environment back in March 2006. I sung the praises of the mindshift in software development brought on my “web 2.0″ where production-quality development truly is agile: they divide the problem into structure, behavior and styling. Of course. The Holy Trinity of Interaction. You find it time and time again when you dissect anything one would describe as interactive: model-view-controller, input-process-output, listen-think-speak… structure, behavior and styling.
To recap: structure defines the layout of things, their relationships, both spatially and conceptually; behavior consumes the structure, plays on the structure like monkeybars, moves through it. And styling determines how the structure is presented, provides feedback, expresses.
In practical software development terms, I’ve discovered that means one needs a declarative language (MXML), an imperative language (ActionScript3), and support for skinning and/or style sheets (Flash, CSS). Flex bundles all three together.
Of course, it has a good application framework provided out of the box (that’s free, in fact, along with the compiler… you just pay if you want the IDE, which is Eclipse, so you’re actually just paying for the visual MXML editor, which is probably worth it, but certainly not required if you’re patient or are experience with HTML/CSS). I can’t imagine if there was a gamedev framework for it… that’d be sweet.
Chalk up one for Adobe (via Macromedia): Adobe Flex 2 is the finest software development kits — nay, platform! — that I’ve ever had the pleasure of dealing with. And this coming from a guy who’s spent the last five years convincing game studios to adopt a commercial SDK (RenderWare), so I can smell my own kind… and I don’t smell Flex at all! Clean as a whistle…
I think they will seriously give C#.NET a run for its money. Sure, C#.NET is probably faster on a Windows box, no doubt about that… but is it that much faster? And .NET certainly doesn’t have the Flash graphics engine backing it up (your toolchain is already finished!). And it only really works on MS devices. And you have to download and install (and in Vista, enter an admin password!) because its a native EXE with all of the potential problems.
While Flash… well, Flash is ubiquitous. Hell, it’s more standardized across user machines than Java or web browser and most certainly operating system. And your input, output and everything in-between is identical on whatever platform your user is using.
And, and, and… it’s all sorts of integrated with and designed to a leverage the always-on-net-connection world that many, many of us live in.
Go now, you can buy it off the shelf. I did. Best $500 I’ve spent in a long time. No regrets.
Hi Troy,
Thank you.
I’d love to hear more about what you are doing with Flex.
David
Adobe
(I run the Flex product line here among other things -;)
I’ve been building a browser-based game with Ruby on Rails (or at least a prototype, but we’ll probably stick with RoR). It’s been really great for doing lots of object and database stuff with a small team.
Recently I’ve been looking at Flex for building a dynamic front end interface and it’s like we’ve found the missing piece. I’m very excited about using this for gamelike interfaces, much moreso than AJAX etc., as it’s a complete framework of its own.
I’m a designer not a programmer, though. I look at these things from a global perspective, so some of the things you wrote here are real head-scratchers for me. I just discovered your blog and will definitely keep it bookmarked.
Agreed. 99% percent. (And the freaks out there will ask, and what 1% do you disagree with?)
I think Flash the ubitiquous client front end, that we have all been hoping for. From Java applets, to the latest DHTML revival. We all want to do cool stuff on the browser, and we are willing to jump through hopes to get it.
I think Flash is that RIA we all wanted.
I’m developing an ambitious little game in Flex - ChipWits. Check it out at chipwits.com .
It’s a revival of a robot programming game I did in 1984 on the Mac, C-64, and Apple II.
I am releasing a standalone version that I package with MDM Zinc and then will start right away to create a MMOG version. I’ll be using AMFPHP for db connection.
I thoroughly enjoy the Flex dev environment - feel immensely productive.
The main weakness I’ve found is the lack of profiling tools. Adobe says they’re coming RSN.
Troy,
I’m glad to see a game developer getting excited about Flex 2! I’m an experienced Flex 2 / AS3 dev whose passion lies in games, but not my job. Please contact me, if you’d like to discuss.
Thanks,
Scott
Hi,
Could you please tell me how I can use Flex in game development. Is there any guidelines or can you tell me the flow of a game development in Flex.
Thanks