PDA

View Full Version : Flash will soon be a much more viable option


LilGames
06-12-2007, 05:20 PM
Big improvements to the player, resulting in frame rate increases, full screen mode (hardware scaled), MIP MAPPING!, partial vertical Sync, and more:

http://www.kaourantin.net/2007/06/flash-player-update-3-beta-1.html

ggambett
06-12-2007, 05:48 PM
I haven't done Flash in years, but in 2002/2003 ActionScript was HORRIBLE. Not the language itself, but the fact that you could use nonexistent variables, and even call nonexistent member functions (ie foo.bar()) without even a warning in the output windows. And many other horrors I had to forget to avoid madness (a la Cthulhu ;)). Has this changed?

Bad Sector
06-12-2007, 06:16 PM
I haven't done Flash in years, but in 2002/2003 ActionScript was HORRIBLE. Not the language itself, but the fact that you could use nonexistent variables, and even call nonexistent member functions (ie foo.bar()) without even a warning in the output windows. And many other horrors I had to forget to avoid madness (a la Cthulhu ;)). Has this changed?


ActionScript is based on ECMAScript 4.0, which is JavaScript and stuff like you mention are part of the language. Nonexistent variables doesn't exist - everything is a "property" (or "attribute") to the "current" object or the referenced object. Properties are like indicies in arrays - that is keys to hash tables (with the exception that you can't use a number or a string for a property - at least as far as i know). Functions are objects too (and in fact they can be used to create new object instances). An empty function is just code that does nothing, so by writing foo.bar() you simply call a function that does nothing :-).

Depending on the interpreter, this may be ignored or raise an error.

This is what people call "uber high level scripting languages". Depending on who you ask, this can be good or bad. Personally i dislike it - this is why my UndeadScript (http://www.slashstone.com/more/uscript) scripting engine/language requires from the developer to define variables and functions prior using them :-).

LilGames
06-12-2007, 08:25 PM
The non-existant variable "problem" exists in ActionScript 1.0. Actionscript 2.0 enacted stricter rules, so I guess you'd want to code in 2.0 or the new, even stricter and way faster performing 3.0.

iopred
06-12-2007, 08:54 PM
ActionScript 3 is now a very good language. There is no longer the cruft and ugliness of earlier ActionScript implementations. It is extremely close to Java now, having Interfaces and the like, and is much nicer to work with, there is no longer the old display model in code, with depths as integers. The display tree is now just that, objects that extend a container can add children of a display object, and you have much better control of the whole darned show.

The new speed is going to be incredible, and AS3's code execution is now at an all time high, I see a lot of new things being viable in Flash now.

Jack Norton
06-13-2007, 01:14 AM
Yes but what about debugging? I heard the integrated flash debugger was horrible, maybe now that has improved too?

mot
06-13-2007, 02:30 AM
The hardware acceleration looks promising but then... they promised major
performance upgrades last time as well and nothing happened. And if I'm
reading it correctly it's only going to work in fullscreen, so windowed mode
will be significantly slower with no (apparent) reason.

UnknownGuy
06-13-2007, 04:38 AM
As a flash developer, I'm used to slow downs in FPS in the browser compared to IDE, but now the browser is faster than the IDE with the new browser player. :) My one example went from about 29 FPS to nearly 33 FPS(It is set to 34) just with that update. (But this is not an overly graphic heavy example).

This is not a fullscreen application, though I am also confused about the added benefits if one uses fullscreen. And yes, AS3 is a wonderful change from the days of AS1 and AS2.

LilGames
06-13-2007, 07:58 AM
The hardware acceleration looks promising but then... they promised major performance upgrades last time as well and nothing happened. And if I'm reading it correctly it's only going to work in fullscreen, so windowed mode will be significantly slower with no (apparent) reason.

I don't know where you're getting your facts. Flash 8 player WAS a major performance improvement. Flash 9, is also a major improvement, provided you code in AS3. (Otherwise the improvement is rather small).

With this update (Still Flash Player 9, but update # 3) there is a significant performance boost to most Flash media without the author even needing to re-publish. (The biggest boosts seen are to AS2.0 and 3.0 SWFs though).

As for the hardware scaling, alot of people are misunderstanding. Flash has always had a Full Screen mode, but it either stretches the contents to fit your desktop resolution, or plays it at 100% with the rest of the desktop area filled in withthe background color. Either way, the frame rate performance degrades because it's at the mercy of the user's desktop size and uses software to drawn the entire screen.

What "hardware scaling" in the update is doing is it creates a Direct X window where it plays the Flash movie, and for whatever reason that's way faster than the direct to desktop screen drawing.

I'm also happy about the attempt at vertical syncing, since screen "tearing" is one big ugly problem in Flash.

Anyways, they are still in Beta, so it's early to judge...

Greg Squire
06-13-2007, 09:18 AM
Director is also been getting an overhaul from Adobe. Supposed to be released later this year, I believe. From the sounds of it, most the enhancements are aimed right at Casual and Independent Games. See this article for more info (http://mediadesigner.digitalmedianet.com/articles/viewarticle.jsp?id=53027)

Polycount Productions
06-13-2007, 09:55 AM
This is great news, although I think "soon" is a bit ... strong word for these news. It'll probably take some time for the plugin to really cover... Flash players 9 for example is not as popular as earlier versions.

But... eventually it will be.

mot
06-13-2007, 02:09 PM
Flash 8 player WAS a major performance improvement.

29 FPS to nearly 33 FPS

That's still ridiculously slow (for me). I've never done anything in Flash and I
know nothing about the differences between the versions but for it to be
interesting to me it would have to do significantly better.. like 290 FPS
(laugh, but I'm not kidding).

My "facts" are that I have Flash Player 9 installed and most of the Flash
thingies I see are pretty slow considering how tiny and simple they are,
that's all.

I do realize this may be a very good thing for existing Flash developers and I
don't mean this as an offense to them. But after reading the headline I got
carried away by the hype for a moment... expecting much more.

LilGames
06-14-2007, 09:53 AM
Regarding player penetration: With the introduction of Flash 8 Player, they switched the upgrade model to an automated one. So the burden now is less on convincing the individual user to upgrade. For most people it's automatic (unless they are blocking the updater).

Regarding his frame rate increase example: 33 doesn't sound like much, but note he said he had his cap set to 34. 33 is also a rounded number, so we don't know how close it got to the 34 cap. Many people over on Flashkit.com Games forum are doing tests with fps of 60 or even 80 and they are getting exactly those rates now, whereas before it would be in the 40's or 50's. (And this is without recompiling!! Strictly a web-player improvement.)

It's true this doesn't make Flash any more viable than it already was for sophisticated action games, or high resolutions, but it does push it in the right direction for casual games.

GameGlyph
06-14-2007, 01:57 PM
Did anyone else notice this article is from almost a year ago?

Techdojo
06-15-2007, 03:04 AM
With all this talk about flash I'm particulary interested in getting my game (and demo versions of future games) on to the web for people to play on my site.

Where would you flash guru's recommend I start - with Flash 8 or 9.
AS 2.0 or AS 3.0 ???

Can someone point me in the right direction to get started (books, tutorials etc???)

Also I heard some noise a while back about a free flash compiler so I could create anims / games without having to fork out a grand for the IDE, is this a viable option to start with or should I just bite the bullet ???

Cheers

Jon...

KNau
06-15-2007, 08:04 AM
Wow, I'll have to alert the thousands of Flash developers that their platform is almost viable ;)

For the free compiler you're probably looking for Flash Develop (http://www.osflash.org/flashdevelop). It depends on where you are with regards to programming. If you are used to a straight up programming environment and would only be confused by the timeline and drawing tools then Flash Develop is probably the way to go.

tau
06-15-2007, 10:52 AM
Flash is still mostly software rendering, I'm still waiting for the DX/OGL optimizations.

Musenik
06-15-2007, 01:13 PM
For the free compiler you're probably looking for Flash Develop (http://www.osflash.org/flashdevelop).


Flash Develop is for Windows only. :-(

Xiotex
06-16-2007, 04:30 PM
I have been developing using Flash since version 3 and I can honestly say that Flash CS3 is a vast improvement as is Flash player 9. The debugger is still not as good as I am used to with VS2005 but hey - it's a step in the right direction.

KNau
06-16-2007, 06:16 PM
I've been highly resistant to the AS3 switch, specifically because of the programmery-ness of it. Coming from an art background I fell in love with Flash 8 and AS 2 because it seemed the perfect collision of art tools and development tools. So far everything I've seen of AS3 takes 3 times as many lines of code to achieve the same results and is far more rigidly structured.

That's my "outside looking in" view of AS3 anyways, am I wrong?

soniCron
06-17-2007, 11:14 AM
I'm with you, Kyle.

One thing I hate about a lot of traditional programming languages are the strict conventions. Actionscript was nice because you could program as lazy as you wanted--in effect, "sketch" code--and see how things worked before making a full-fledged implementation. Sure, it'd be really awesome if it gave warnings for what may be programming mistakes (undefined variables, for example) but understand that sometimes I don't want to follow the rigid structure.

My productivity in Actionscript 2.0 is easily 3-10x that of C++, and there's something to be said for that.

Bad Sector
06-17-2007, 12:47 PM
My productivity in Actionscript 2.0 is easily 3-10x that of C++, and there's something to be said for that.

You are a bad coder? :-P

kidding.

But i think that although for "sketch code" (as you call it) this might work in the short term, for production code is a bad practice (imho). In the long run, writing sloppy code may do more harm than good (the code is not or hardly reusable, for instance).

From what i've heard, Flash9 allows both AS2 and AS3 to be used, which -again from what i understand- gives the ability to write "sketch code" in AS2 and (later) write it properly in AS3. Well, in theory that's a good thing, but i doubt many will use it.

IMHO weak typed scripting languages are for very small scripts that do little of work. Anything that grows beyond a certain threshold becomes a (weak typed) monstrosity. For code of a serious size, you need strict typing and syntax to avoid pitfalls. Being flexible is good, but too much flexibility is a bad thing.

Note that i'm not sayting that it's impossible to write a big project in a weak typed language. I've made such monsters myself in JavaScript (for the company i used to work) and until i wrote those things i was sure that JS's weak typing, prototype-based object model, closures, etc are the way to go for a scripting language (the cure to all problems, etc), once i got my hands dirty, i realized that this overflexibility that JavaScript has is a very bad thing.

To sum it up, for simple stuff like

for (var x=startX; i<endX; i++)
{ guy.moveAt(x, guy.y); wait(10); }

JavaScript and similar languages is ok. For anything bigger, like a game framework, which handles a whole game (screens, game state, world, entities, etc), things become messy.

soniCron
06-17-2007, 02:38 PM
I suspect you may have the wrong idea regarding Actionscript's optional typing. Just because Actionscript is weak typed doesn't mean it can't be type safe. The functionality is there, but you just have to opt to use it. And that's a nice thing, because while I'm working on a tiny code bite, I really don't need to be concerning myself with converting between an integer and a float, or whether the library I'm using wants a wide-char string or single-char, etc.

I've written a rather large game framework (entities, world, state machines, and all) in Actionscript, and it is quite usable. (And instantly more stable than one written in C++.) Frankly, 90% of the bugs that arise as a result of the Actionscript language and built-in libraries are caused by the lame-o movieclip depth management. (Which I understand has been fixed in Flash 9.) Otherwise I have an occasional local variable I misspell and quickly find and fix. (For which warnings would be nice.)

My productivity in Actionscript is greater than C++ for a number of reasons: Fast turn-around, flexible coding syntax, no memory management, no per-library type interfacing or type conversion, functional programming facility and anonymous functions, hashes, and best of all, I don't have to re-invent the wheel or memorize the syntax of 6 different libraries that invent 6 different wheels for me, each with their own coding paradigms and formats, etc.

And, incidentally, I don't use sketch code as production code--I convert it after I've fleshed it out enough. Write it, play with it, and then commit it to an indelible format. But the flexibility to choose your own coding style is what I love the most.

Bad Sector
06-17-2007, 07:19 PM
I suspect you may have the wrong idea regarding Actionscript's optional typing. Just because Actionscript is weak typed doesn't mean it can't be type safe. The functionality is there, but you just have to opt to use it.

To be fair, i don't know how ActionScript works, i just know that it's related with ECMAScript (JavaScript). However i was talking mostly about weak typed, prototype-based languages, such as ECMAScript/JavaScript and i assume that ActionScript is like this.

For the rest, i can't disagree with you. You know best with what you're most productive with.

Still, my note is that even if you have made a large framework in ActionScript, doesn't mean that ActionScript is suited for large projects. I could make a large framework in assembly, it's technically possible, but that doesn't mean that assembly is suited for such tasks.

I don't compare ActionScript to assembly, of course. I'm just saying that each language and tool has it's uses and it's best to use it for what it was made for. Using it for something else, usually isn't impossible, but it isn't optimal either. At least for most people.

(note: when i'm talking about ActionScript here, i'm talking about ActionScript 2.0, not 3.0)

soniCron
06-18-2007, 02:30 AM
Of course we each program in our own way and at our own pace, but I've programmed this framework twice in C++, once in Actionscript, and once in Lua, and I'm still convinced my development in Actionscript is worlds faster than C++. Even now that I'm coding it again in C++ (the latest iteration and with the advantage of hindsight), the Actionscript version (the 3rd of 4 iterations) was so much faster.

So, I see where you're coming from, but Actionscript simply hasn't proven to be much of a problem tackling this type of problem. I wouldn't ever write DSP code in Actionscript, though. ;) (Never say never!) But it seems perfectly suited for writing a game framework.

To each his own, though, eh? ;)

3DRT.com
06-23-2007, 02:34 PM
Director is also been getting an overhaul from Adobe. Supposed to be released later this year, I believe. From the sounds of it, most the enhancements are aimed right at Casual and Independent Games. See this article for more info (http://mediadesigner.digitalmedianet.com/articles/viewarticle.jsp?id=53027)
Definitely Director has a great potential. We've chosen it as main platform for web games and results are great.