your choices aren't that great;
flash is a "real" programming language but it's interpreted and just as slow as GM and in some regards slower, and much of the gamer player base finds it hard to take shareware flash games seriously ("they expect me to buy something that runs in a browser?")
mmf2 and construct have many of the same drawbacks gm does (windows-only, interpreted), and at least gm is getting a mac version
unity is supposedly hard to adapt to 2d purposes, since that isn't its primary function
blitz and torque i don't know much about, but i've heard they are hard to use and poorly documented, but good once you learn them.
my policy has always been (and i know people disagree with this policy) to *
judge an engine by the number of good games it has produced*. if you're judging engines by that, the clear winners are gm, c++, flash, and mmf2. there are also a few good games made in unity. i know of almost no good games made in construct, love, rpgmaker xp, torque, blitz, python, etc (although there are at least one or two good games for each, but nothing like the dozens of good games for the previously mentioned engines).
this judgement is a form of pragmatism: judge the use of something but its actual use in the past for other games, not its theoretical use. it doesn't matter what an engine can do if it frustrates you enough that you find it painful to work in.
practically, my advice is this:
- if you want to make 2d downloadables (freeware or shareware), then gm or mmf2, or if you can handle it c++
- if you want to make online / browser games, flash or unity
- if you want to make 3d, unity or c++
also, another bit of pragmatism
while you guys decide... i make gam
also,
He's right though, Flash is awesome and easy to learn.
it is not easy to learn for everybody. i found it extremely difficult to learn, even after dedicated a few months to learning it i couldn't figure out a thing about it.