Previous Blog Next Blog
Prev/Next Blog
by date

The 2D Renaissance: Flash vs. TGB

The 2D Renaissance: Flash vs. TGB
Name:Keith Johnston
Date Posted:Sep 02, 2006
Rating:3.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Keith Johnston

Blog post
I have an idea for a 2D game that I've been kicking around for some time now. At first I thought I would use TGB, but at the time it was not nearly at the level that it is now, so I started looking into Flash.

After studying Flash for a while now, I am ready to come back to TGB. What changed my mind?

1. Flash was originally designed for making animations, and it shows. Everything revolves around the "MovieClip" object, and it does have some impressive capabilities. But it really feels like you are stretching the bounds of the framework when making a game with MovieClips as the fundamental object. I took at look at their new toolkit Flex as well - there they are trying to make a new UI platform for rich Internet applications using GUI components built out of MovieClips. I think it is interesting, but it seems sluggish to me - again I think the strain of bending the Movie framework to do other things is showing.

2. The Flash community is split. While there are a few sites and books dedicated to making Flash games, most of the books and sites are on making movies and animations. The TGB community is dedicated to making games and that's it.

3. Super Mario DS: I just got a DS and finished playing the Super Mario Bros. game. I completely missed out on the NES / N64 consoles so this was my first Super Mario Game that I've played all the way through. What really struck me was the fantastic blend of 3D characters in a 2D environment. I would not have thought that it would make that big a difference, but it really did. The characters seem so much more alive and real than in the old sprite based games. Good luck trying to integrate 3D characters into a Flash game (again, I'm sure its possible, but prob. a lot more work than in TGB).

4. Flash seems to have variable performance. I know some people have made some really performant Flash games, but I'm worried that it will be tough to make a smooth game with it.

5. ActionScript vs. TorqueScript + TorqueX/C#. OK, ActionScript is a really nice language - very object oriented. But C# kicks its ass. And with TorqueX on top of XNA, I'll have TorqueScript PLUS a complete feature-rich OO language.

6. TorqueX on the 360. This was the killer blow to Flash. Perhaps MS will support Flash on the XBox at some point, but for now their strategy seems focused on XNA. And TorqueX will be right there on top of it. So if I use TGB to build my game, an XBox version becomes that much more of a real possibility.

So anyway, I thought I'd throw up my first ever blog entry on GG to show how pumped I am about TGB, TorqueX, and the direction GG is going. And also to help anyone else who is trying to decide between Flash and TGB. As I get further into this project I'll post more about it. (Hehe - I guess this is my 3rd blog post - it's been so long since I posted anything I had forgotten).

Recent Blog Posts
List:11/09/06 - Vacation - Time to Relax and Start a New Game
09/02/06 - The 2D Renaissance: Flash vs. TGB
05/18/04 - Plan for Keith Johnston
10/16/03 - Plan for Keith Johnston

Submit ResourceSubmit your own resources!

Jeff Tunnell   (Sep 02, 2006 at 16:51 GMT)
Thank you for the thoughtful post. Over the past couple of weeks, I spent a few hours trying to learn Flash to compare it to TGB. As everyone knows, I am not a programmer, but I have coded a little Applesoft back in the Stone Age. Unless I missed something my $595 pristine copy of Flash Studio MX that I bought last Summer had no docs, so the first thing I had to do was go out and buy over $100 worth of books. Of course, with that much to read, it is human nature to read very little of it.

I'm sure their environment works well for people that know it, but is is very obtuse to newcomers, and it is HUGE. I was mostly digging through trying to find out how to use Actionscript, but have not yet succeeded (I am very impatient). The second thing I ran into was the Movie Clip thing, and that did not seem like the best way to make games. So, I kind of put it aside. It is encouraging to me to hear somebody else feel the same way.

I still want to give Flash a go, but it will be a while before I pick it up again. In the meantime, now that 1.1.1 is out on OSX, I am finally going to make myself learn to program again. My single player card dealing game is still driving me. Just kidding, but I really do want to be able to code well enough to express some of my design ideas without help.

-Jeff Tunnell, GarageGames

Tom Eastman (Eastbeast314)   (Sep 02, 2006 at 17:22 GMT)
I came to the exact same conclusion this summer. I interned at an educational media company, making educational games in Flash - while learning TGB in my free time. Flash is really, really held back from being a great solution for non-movie projects because of the way actionscript was hacked into the movie-based interface. In the end - TGB has the features that facilitate games - whereas Flash tries to do a ton of stuff - which results in crappy support for games. The new version (with actionscript 3) is supposed to come out soon and be much better - but just because it's out doesn't mean the world will have it for quite a while (I think most computers still run Flash 7 - and 9 is the new fancy one).

TGB rocks!

Phil Carlisle   (Sep 02, 2006 at 17:36 GMT)
Thats kind of it isnt it Jeff, enough code to express your designs.

Its amazing what creative people can do with very limited toolsets. Look at all the "musicians" who have made major careers out of almost no understanding of music.

I think people can produce great game concepts with very little understanding of code, as long as they understand the concepts of logic and sequential execution.

Anyway, flash was an interesting thing to me a while ago, then I decided I didnt really like anything made in it :) was a good enough reason to pass it over.

Dylan Fitterer   (Sep 02, 2006 at 17:44 GMT)
Of the two 2D tools, I'm more familiar with Flash and it does take a while to get productive with it. There's a lot of strange behaviors to learn and keep in mind. The timeline can cause a lot of programmer headache, but it does make GUIs easy.

TGB does a much better job at targeting game dev with things like performant physics, swept collision, particle effects, and tilemaps.

Flash has its pluses too. The biggie is that you can deploy to browsers with click-to-play zero install.

Dan MacDonald   (Sep 02, 2006 at 20:46 GMT)
I spent some time learing AS in flash as well, reminds me a lot of coding for mobile phones with J2ME. You always feel like you are tricking the platform into doing something that should othewise be pretty simple. You feel constraigned all the time. It's painful.

Steve Flowers   (Sep 02, 2006 at 21:16 GMT)
@Jeff

Flash is OK for basic game types, but fails in a lot of respects. You mention having FMX 2004. You'll find the additions in Flash 8 to be pretty tremendous for performance. Cache as bitmap will speed up performance a good deal.

I enjoy Flash for a lot of things though. For applications where I want smooth transitions between states, for animations in 2D where I just need to synchronize media elements, for simple interaction and user interface I think Flash is hard to beat. I remember attempting to put together a pinball game back in Flash 4. Now that was painful:) It worked-ish though, even with the event model and simple scripting that was available then.

The timeline-driven-stage model isn't for everyone, but Flash isn't really limited to that (I see many folks doing applications strictly in code). There are alot of applications I wish operated just a bit more like Flash (I can develop simple things very quickly in Flash), and there are alot of apps that I wish had a Flash importer - it's really superb for smooth and slick GUI. It does a great job synchronizing media and the video codec used in the latest version is pretty unbeatable for high resolution compression. It was built on the whole Web premise, so it's easy to deploy and tends to play well in most browser configurations. It also has some pretty nice dynamic features (MP3, JPEG, Data loading). It does what it does well, but at games - it's easy to see by the number of 'truly good' Flash games out there that it plays in the kiddie pool, where other platforms like TGB are stuffing polo in the diving pool:)

I've always thought that Flash would be pretty good at the 2D pre-rendered adventure games though I have never seen any good implementations of it.

We are using some Web deployables in concert with Flash (DXStudio, Wirefusion) on a state engine layer we built. Flash is deploying conversant elements while the environment stuff is handled via DX Studio. It seems to be working pretty well so far, and it enables us to leverage our Flash development staff in higher level packaging.
Edited on Sep 02, 2006 21:17 GMT

Jameson Bennett   (Sep 02, 2006 at 23:26 GMT)
I agree with Steve, flash is a great tool and has a lot of power along with handling lots of different media within the same environment with the point that Dylan makes of low install overhead. A movie clip is only one type of built in object and can be leveraged very easily for sprite and vector based animations, but you can easily roll your own. Dont let that be the convincing factor, actionscript is a relatively well designed language and very easy to get ahold of for web coders fluent in javascript (its main developer target). Flash's docs are all online and within the tool; great for reference but horrible for learning best practices.

If you want to build a game for high performance physics, with great collision, tile handling and particle effects to run natively on many platforms, TGB blows flash away. I'm not sure why this even comes up on the forums/plans as a comparison... they are two different animals. Also, TGB's price point can't be beat!

If you want to build a web browser based game, flash is it (until a good TGB browser plugin is put together and gets >96% browser coverage). *Good* flash coders also make great money and are in HIGH demand... but you will spend your time on websites and media delivery, not on games.

If you want to waste $1000, waste countless hours hacking away at a truely worthless language(lingo and its horrid OOP derivative) with an unsupported 3d solution and be a complete sucker like me buy director.

Steve Flowers   (Sep 02, 2006 at 23:49 GMT)
I should add, for Jeff's purposes - Flash might work quite well. Articulating design elements in a user controlled fairly dynamic presentaiton is something Flash could do quite well. But then again, you could probably articulate equally well in TGB. Guess it comes down to what you are most comfortable with. I was a Flash instructor for awhile and work in Flash a good portion of my time specifically, so if you have specific Flash questions I am willing to pitch some answers back:)

steve at coursefarm dot com.

Steve

Anton Bursch   (Sep 03, 2006 at 01:59 GMT)
@Jameson Bennett

LOL. sigh. oh boy. you nailed it man.

I never imagined making a game with Flash. I know people do it. I picked up a book about it once. It was so counter-intuitive that I just said forget it. I used to play around with javascript and html and make little games in webpages. I did a little 2d mario type game with a cut-out of Neo(from the Matrix) in javascript and html. Tried to just make that again in Flash. Yeah. No offense to Flash, but it's like trying to use a bike as a sled. At least from my limited experience. But then again, I barely used it. So. There's that.

Brandon Maness   (Sep 03, 2006 at 18:38 GMT)
Since I first started using Flash in 1999 it has come a long way. I've had at least a project or so every year since then that has benefited from the use of Flash. I'm no big fan of it, probably because I've had to use it so much, but at its core it would make a decent 2d game. Nothing with any sophisticated physics, but you'd have basic collision, sound, input, and clip control; which is really all you need for fundamental 2d game play.

The IDE interface of Flash blends traditional "hard" coded timeline events with a JavaScript style OO scripting language which lends itself to confusion and an awkward feel; especially if you haven't been working with it through the years as it matured. If a client wanted a casual 2d game, simple game dynamics, easy web deployment, and fast production time, I'd consider Flash. But honestly, there's an ocean of ho-hum Flash games out there already, so why add to it unless a client wants to pay for it?

Coming from 7 years of Flash dev, I'll expound on Anton's analogy: Comparing TGB to Flash with the slant of Game development is like comparing a screwdriver to a shop full of tools. Yes the screwdriver can do some work, but if the job gets complex and difficult, that screwdriver will be notably lacking. It just wasn't designed to accomplish those types of tasks. TGB on the other hand is a shop full of tools designed from day one to solve 2d game dev problems. That, combined with the TGB source code at your finger tips means you are only limited by the current consumer hardware and your skill set.

Keith Johnston   (Sep 03, 2006 at 22:12 GMT)
Thanks for all the comments and confirmation that I made the right choice. I'm diving into TGB and so far it is already surpassing my expectations - the ease of use has increased enormously since I first tried it.

Travis Hamersley   (Sep 04, 2006 at 00:01 GMT)
I did lots of work with Director many years ago (wow, must be about 6 now). For games its was a better solution than flash. It had a 3d engine built in, vectors that blew flash out of the water (every node could be manipulated via script). I don't know how far flash and Director (Shockwave) have advanced in 6 years but it may be something worth looking into.

Travis Hamersley   (Sep 04, 2006 at 00:04 GMT)
oh look at that, someone commented on Director. Seems lots has changed in those 6 years away.

Allyn "Mr_Bloodworth" Mcelrath   (Sep 04, 2006 at 03:55 GMT)
um, as far as flash for games....

http://www1.dofus.com/en/

Dofus A flash based MMO. This is what you can do with flash if you know what your doing.....

I think allot of you are just biased, and maybe are giving flash a bad rap because of not being able to do anything with it, for whatever reason.

But its ok, im sure some flash site says the same thing about TGB.

I happen to think both are absolutely great programs if you know how to use them.
Edited on Sep 04, 2006 04:03 GMT

Jonathan Hines   (Nov 09, 2006 at 20:07 GMT)
Hmm.. i feel im on the other side of this problem. I know flash well enough to get anything done i would want to and I'm left with the feeling it just isnt fast enough for serious game programming. I always want things to be just a bit smoother (after optimizing.. caching.. etc). The only applications i've seen that were fast enough for say a side scrolling shooter (or other twitchy game) require downloads. Having to download kills what i think is the major advantage to flash...

The game dofus is a fine example of what a good artist can do for game. Tons of original art that captivates the player. I almost didn't see the very slight frame chop on my dualcore system from lookin at the pretty drawings. Flash for me comes so close it's frustrating.

That being said, i would love to see a version of flash outfitted/optimized soley for gaming.

Kevin Johnson   (Nov 10, 2006 at 15:41 GMT)
I have heard (from a guy whose brother is on the actionscript development team) that the next version of flash will be .NET and C# based.. just food for tought..

You must be a member and be logged in to either append comments or rate this resource.