This judgement also befalls java, according to some. Is it because in flash its so easy to draw graphics and to import and add on to the stage any element we want and also because flash needs a 'container program' to run and others don't?

But flash is by far way easier to 'distribute' than any other of those mentioned above. Maybe except for iphone or android games.

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

9 Answers
9

I've been involved in flash game creation, and it's absolutely pure game development, if done well. It has larger user base than each of the other platforms mentioned, so I would care mostly about that.

This judgement also befalls java,
according to some. Is it because in
flash its so easy to draw graphics and
to import and add on to the stage any
element we want and also because flash
needs a 'container program' to run and
others don't?

When I have worked in a team developing flash games, we did it using solely AS3 programming, the graphics production had a custom pipeline(we did not use the Flash editor), as happens in several developments out there(so, no import into stage, and not even using the "standard way" of doing flash...). The result was quite eficient in performance, although if there is a difference, is indeed that matter: performance in the flash player plugin is very far from what you get by doing native binaries with other languages. Also, it's clearly something initially started/thought for just multimedia content addition, not for games from start, and suffers a lot from that. But actually, this makes developers work even harder, so saying doing flash games is not making real games, or not "the real thing", etc...That would far from true.

Anyway, the average earning with those games, can be way lower than getting a publishing deal in console games, etc. (unless being very lucky) And it's getting crowded.

It'd be also false the same statement said about java (being it not 'propper' game development,e tc). It's more about how you deal with it, market considerations, etc.

Some people, when presented with the phrase "game development", assume AAA games. Maybe even to the point of thinking console games. And any other kinds of game making isn't worth studying or putting effort towards.

Of course this is a false dichotomy. Granted, there are very different skill sets and resources required to actually produce flash games vs. console games, but the fundamentals are the same.

I don't think the link is related. In fact I think trying to make it related just continues the problem of advocates and critics of social games talking past each other. One can think social games and Flash games and small games (which are all also orthogonal choices) are good, but still think the dominant approach to making social games results in non-games, barely-games, or damaging-games.
–
user744Mar 7 '11 at 10:50

1

I think the fact that you disagree with me ironically kind of proves the point. More people have played Cityville than Call of Duty. As the social game market matures, you'll find that the games put out are going to be a lot more compelling. Somebody's going to solve the fact that social games aren't really social sometime.
–
Tetrad♦Mar 7 '11 at 15:33

I think Flash can be considered "proper" game development. The problem is that the barrier of entry to make Flash games is extremely lower than C++ games, so there are lots more shitty Tetris clones made in Flash than in C++.

Put it another way, making shitty games in Flash is much easier than making them in C++, therefore there are tons of shitty Flash games, and that drives the average down.

But (at least) since ActionScript 3.0 I'd argue it's possible to make games as complex than those in C++. As an exercise, I wrote a semi-automated C++ to AS3 converter, ported my whole ~150 KLOC C++ framework (used in many casual-AAA titles) to Flash, plus a game, and it run perfectly. That's scientific proof :)

The key is "semi automated". The code produced by this tool mostly compiled, but not all the time. I had to manually tweak quite a bit of code. And of course I had to write an AS3 "renderer" to replace the OpenGL/Direct3D ones, rewriting the event handling code, and so on. But it definitely worked! There were very interesting challenges, such as how to handle overloaded methods (which AS3 doesn't support)
–
ggambettMar 8 '11 at 2:30

did you use alchemy for running the c++ ?
–
AttackingHoboMar 13 '11 at 8:06

@AttackingHobo Yes, that was my first idea. It worked with small tests, but the compiler choked and died with a real project. Besides, I was getting all kinds of weird runtime errors seemingly for no reason at all (see forums.adobe.com/thread/590648 for example) so it wasn't a viable option in the end.
–
ggambettMar 13 '11 at 19:56

@AttackingHobo Now I'll actually answer your question :) Alchemy was my first choice, it didn't work, so I wrote the C++ to AS3 converter.
–
ggambettMar 13 '11 at 19:58

In my humble opinion, any game or whatever development is worthy as long as you find players/users to use your software.

There are plenty of Flash games Internet-wide. In my point of view, Flash games stand for online games that can be played within a community, or else, simple single-player games that one can find amusing to play.

As previously mentioned, the skill set isn't quite the same, and Flash addresses a need, while XNA, C++ and other game development technologies and platform address another. For instance, I wouldn't like to play Final Fantasy in using Flash, but some other perhaps more simple games, I don't know. Perhaps this could be pretty interesting nevertheless.

In the end, it all depends on what are the targeted objectives and kind of player you wish to target. To illustrate the idea, you wouldn't develop a game using Flash for the PS3 or the iPad, you would more considerably plan on using C++ and Objective-C respectively, because of the targeted platform, that is, if you target the Web or so, I suggest using Flash.

Game development is about creating an experience to the player, and the language of choice is merely one of the tools to help create that experience.

In the beginning, games were coded in assembly because that was the only tool available. Many big budget console and PC games embed flash for their UI (using Scaleform), because it's a better tool than C#/C++.

To me, the "proper" game development is one that gets a good game shipped.

I think you'll find two types of attitudes that would say Flash isn't "real" development.

First is from hardcore (C++ or similar) programmers, saying that ActionScript is scripting rather than "real" programming, because it abstracts away so much and as a result has a bit less power, and lets you get away with understanding less about how to program properly. I would tend to say this is true to the extent that "scripting" and "programming" are two related but different skill sets, so it's important to make the distinction between them, even if we leave the snobbery out of it.

Second is when looking at AAA game development aimed towards the "core" market as the "real" industry, and everything else as peripheral. This is an old attitude that derides not only indie and small-scale development but also casual games, serious games, social media games, smartphone/mobile games, and so on as somehow being on the outside. I think this attitude is slowly changing, in particular with the massive success of some Facebook games (like it or hate it, FarmVille has more players than any console game out there) and the number of game industry veterans that are transitioning to that space, Flash is getting a lot of use by people who formerly only worked in C++.

Personally, I think Flash is just as valid as anything else (heck, I've even seen some mighty impressive Game Maker games) so I wouldn't write off any game as "not proper" just because of its development platform. But I write this response so you can get a sense of where this attitude is coming from, so you can take those comments in context.

I think that the skills involved in flash game development are real enough - ActionScript is an imperative programming language like any other and the logic skills required are the same. The fact that flash has a very nice vector graphics editor as part of the framework means it's much easier to get things running on screen than in another language that has more choice about how to display graphics.
When you use flash (or Unity or whatever else) you are sacrificing control for ease of development. In truth, all developers do this whether internally or externally - not everybody is involved in writing the innards of the graphics engine or working out how to effectively parallelise code over heterogeneous processors. Also, flash graphics are usually simpler for artists to create - they don't have to create complex maps for multiple levels of sub surface scattering or crank out zbrush for megabytes of normal maps. That said, making things look good with only gradients is also a hard skill. Many flash games don't succeed in making things look good with gradients.

Many great games have already been written in flash so why do some people think it's not 'proper' development? My take on it is cost: so many flash games are given away for free based on the perception that people won't pay for a game based in a browser. No matter if you and/or your team spent a week or a year developing the game, if you give it away there's a lot of people who will take that as meaning it is worthless.

This is an error of judgement on their part but unfortunately this is the way many people view the world, lacking the expertise to form meaningful value judgements regarding things they do not fully understand.

So, make good flash games and figure out how to make money out of them and people who don't understand what you do will start to respect you for it.

I think its important that we don't undervalue the work we do - I would like to continue making money from creating games and then selling them to people who want to play them, rather than creating games and getting paid a pittance by an advertising agency (if I'm lucky).

Of course flash game is proper game development. If you are skilled and dedicated, it doesn't really matter what you use for developing your game, it is still proper game development. Enough talent and hard work will even make developing a game based only on sticks and stones on a back yard to be proper game development.

These kinds of discussions emerges in all kinds of areas and professions be it music, art, software development etc. People defend the value of what they do (be it C++ game development) by trying to attach "not proper", "not real", "not valuable" to other things (be it flash game development) they feel is competing for attention, credebility and other kinds of rewards.

Maybe I'm a cynical and oversimplify things but I think this kind of elitism is 1.) a resistance against large scale systematical changes in whatever industry you are part of and 2.) an attempt to maintain your own value in relative terms not by increasing the value of your own efforts but by decreasing the (perceived) value of other people's efforts.

Maybe elitism in rare cases actually is a matter of really trying to preserve some sort of valuable knowledge and competence, but from my anectdotal experience this is seldom the case. Elitism usually serves the purpose of protecting some person or group's interest at the expense of the larger community, as I see it.

(Just compare it with the discussions some IT professionals had in the beginning of the 1990ies when they were worried by the fact that web browsers allowed people without "proper" IT skills to efficiently access information on the internet)