3d in Flash is getting better

 Posted by (Visited 16234 times)  Game talk  Tagged with: , , , ,
Apr 182008
 

Remember how I said that 3d in Flash was catching up? I got a lot of flak for it in some quarters.

Check out this demo. OK, it’s not 3d, it’s actually parallax. Still. 🙂 It’s apparently from this new platform called Alternativa, which looks quite promising and which does have quite a lot of 3d. Check out this interior or this exterior.

The way things are looking right now, 3d on the web is in a position where there’s multiple solutions coming down the pike, though none are fully baked yet. There’s Flash itself, which is the dominant platform. There’s Shockwave as well. Microsoft sees a strategic imperative and is doing Silverlight. And the open-sourceniks are not going to let something so critical be all proprietary, so there’s the <canvas> tag with OpenGL.

This is basically console wars for the Web. The Alternativas/Away3ds/Papervisions of the world are middleware developers for the Flash “console.” Heck, the latest Away3d demo even somewhat reminds me of the first time I saw Magic Carpet on the PC.

Is it “here” yet? No. But you can see it from here.

  37 Responses to “3d in Flash is getting better”

  1. Links for 2008-04-19 [del.icio.us] David Petrie @ April 20, 2008 05:00 AMRaph’s Website � 3d in Flash is getting better

  2. Ooh nostalgia: turning on fly mode in the bunker reminds me of Descent.

  3. Ah! That’s very impressive for Flash!

    I’ve worked with Silverlight, and a few years from now, I think it will be very, very good. Right now, it’s irritating and has no install base.

  4. I’ve worked with Silverlight, and a few years from now, I think it will be very, very good. Right now, it’s irritating and has no install base.

    Well, they haven’t arbitrarily tied the code for it into the core of the windows OS or made it so IE screws up the presentation of content on other platforms…

    …yet.

    I hold the highest hopes for interoperability, but past performance leaves me quite wary.

  5. True statement. I’m not holding out much hope for interoperability and only a little for data portability. YouTube proves what 3D failed to so far: the web is fast becoming the TV except bigger.

  6. What is parallax in this context?

    If are want an idea of what impressive pseudo-3D stuff can be done with next-gen Flash, then look at the shader-language Hydra. You can download it now. Runs on the GPU. Works like a charm and is easy to write for.

  7. The descent comment was right on. Complete with clipped triangles not being perpective correct 🙂

    You are right though. You can see the headlights in the rear view mirror.

  8. I think Unity deserves a mention. A brief rundown of the best/most succesful 3d platforms is incomplete if you don’t mention unity.

  9. Unity is totally awesome. It seems like a slightly different sort of thing than the above though; it’s more like full engine middleware with game data structures and everything, and its own renderer and its own plugin.

  10. I agree, Unity is totally awesome. It’s the best kept secret on the web. But it’s no different to Flash in terms of being a full engine with middleware and it’s own plugin and renderer.

    It’s literally the whole deal for 3d web content: fast, high quality, shaders, multi-platform, web or standalone, physics, networking, the lot….

    I could bang on and on about it, but I would urge anyone who’s interested in 3d for the web to check it out as I’ve not seen anything else that comes close.

    *End of Overly Excited Rant*

  11. I think that stuff makes it mostly game middleware. Flash and these other solutions are not so specific.

    I also think that Unity is not set up to go what I would call “massively cross-platform” — I have trouble seeing Unity on a Windows Mobile smartphone.

    Finally, distribution is really key here. You can have an awesome “console” and not get sufficient distribution. The only reason why Flash is a viable choice as a plugin is because it’s universal. What’s the install base of Unity?

  12. I don’t understand why people stick to flash, when Virtools has been a proper alternative for years. Has a plugin to be browserbased but is also easily compiled to run on multiple platforms. Shaders, physics, multiplayer, database connections, visual scripting, integration into webpages, you name it, it’s there. Can import 3D Max and Maya stuff into it, and I had no problem converting the models and mappings my collegue made in Silo on his Mac to be compatible.

    I used to hate it but now I don’t want anything but Virtools.

  13. Same issue — distribution.

    The instant you ask users to install a plugin, you lose like half of them.

    You lose even more if you ask them to download something.

  14. What’s the point of designing for a plugin that has to be installed? Would be easier/better to just ship an executable yourself.

  15. Bit biased here since I’m a Flash Developer… but still…

    Designing for a plugin to be installed is one thing, but when the plugin you’re talking about is more used by web users than Internet Explorer is then the issue becomes moot.

    I did a course on PV3D last December (and have yet to apply it since my brain is still adjusting to Actionscript 3), and have been waiting for an actual 3D MMO other than a beta of a skateboarding MMO. All the resources are out there, and all the Flash community has to show for it is AdventureQuest and Dofus.

    Flash isn’t a half bad graphical front end for a MUD. Since PV3D currently supports COLLADA (so we can use our pretty models in 3dsMax and Maya and now Swift) and with Flash’s previously mentioned monopoly over the net, I can’t see why anyone would use anything else.

    Apart from VRML. All hail VRML

  16. Kayn, we use Flash too… but that said….

    Reasons not to use Flash would include its lousy performance, its terrible rendering model with no mipmapping, perspective correct texture mapping, the fact that current 3d engines use techniques fundamentally incompatible with standard hardware acceleration, its lack of low level networking access (especially UDP), its erratic support, its security model…

    Just as one example — all the engines claim they can load COLLADA. And all of them can only “sort of” do it.

    Plenty of things left to sort out. 🙂

  17. That reaction is very disappointing to hear, that attitude implies all users simply won’t install new plugins regardless of the benefits. Yes you do risk losing users by asking them to install a new plugin but it’s not a good reason to then simply expect users to just wait for Flash to catch up 3d-wise.

    Deployment for other technologies is always a hurdle but not an all-out obstacle, if a plugin installs easily and quickly (even Flash isn’t that successful at doing it) and the benefits are worthwhile then I think user reluctance is minor issue in the long-term.

    I hear what you’re saying about Flash`s pervasiveness on multiple platforms, but it certainly doesn’t guarantee any universal level of performance or quality for any game on any platform. Flash doesn’t work well enough on my WM6 smartphone to play simply any game of my choosing and Youtube should work by rights, seeing as I can play decent quality xvid AVI TV shows, but it simple doesn’t. It’s not a good argument for dismissing other technologies. Flash currently has 2D games pretty much covered but they aren’t universally cross-platform in the way you suggest.

    As the link shows the issue of ‘3D in Flash getting better’ is certainly true and although I don’t believe Unity is a Flash replacement in other regards, it is definitely a far better solution for 3D on the web than anything else i’ve seen and used so far.

    Time will tell if just superior technology is all that’s needed to steal the web 3D crown.

  18. “There’s Shockwave as well.” That’s usually the after thought mention that good old trusty Shockwave gets. Shockwave has had 3D since the 90s and all that legacy content has kept the install base at around 60%. In a very quiet, unobtrisive way it’s been the most pervasive 3D browser technology of the last 10 years and great fun to make MMOs in.

  19. babelchips, that is all a matter of your point of view at the problem you are trying to solve.

    The math is pretty simple at the end of the day for a business: can you acquire customers for less money than it takes you to produce your product for them.

    Sure, compared to the cost of retail customer, a download or plug-in feels like a vastly superior distribution strategy. But any download represents an increase in your cost per customer of at least 2x from the web, so you better be damned sure customers are willing to pay twice as much for that product than what you would have gotten from Flash.

    So if what is most important to you is low friction for new users, easy virality, and portability, then you are tied to ubiquitous web technologies. Of those, Flash is the highest performance tool.

  20. Raph, I can understand the “you can’t reasonably expect users to install plugins” thing… but that leads to a very nastly cycle. You can’t increase the install base of a plugin if no one is asking people to use it. Flash started out with an install base of zero as well; it’s only because it was widely used by content creators that it’s become so big. And it still doesn’t come pre-installed on most browsers. It’s just so pervasive on the net that you’ll hit a download link within 10 seconds of surfing around.

    Without people making use of different technologies, no one’s ever going to actually start using them enough to make the install base big enough that there are viable alternatives. When there’s something better, it needs to be supported as much as humanly possible by people making content for it. Nothing’s ever going to have a bigger install base that Flash unless people start ingoring that install base when reaching for features. It’s a risky thing to do, but if no one takes risks we never get any progress.

  21. It is certainly true that it’s a vicious cycle.

    But it’s not the job of the content developers to make the plugin universal, it’s the job of the plugin developers. 🙂

    In any case, this stuff is why Metaplace is client agnostic anyway. 😉

  22. Out of curiosity, I check Raph’s list of highest trafficked MMOs to see if there are any browser tech trends. Flash is clearly dominant (no surprise there) but Shockwave is sitting in second place with Java in third. With only 13 entries, the sample size is too small and I suspect with a larger sample size that Java will slide into that second spot.

  23. Kayn: Designing for a plugin to be installed is one thing, but when the plugin you’re talking about is more used by web users than Internet Explorer is then the issue becomes moot.

    Yes, I couldn’t agree more. Another important point is that it is backed by Adobe who have to support in the next N years. Plus they care about security, which reduce your responsibilities (to the level of annoyance, you can’t get keyboard input in fullscreen). With other plugins you risk the platform dying under your feet. Which can be very expensive if it isn’t open source (and still expensive if it is).

    Raph: Reasons not to use Flash would include its lousy performance

    Actually, the performance in ActionScript 3 is great. It is compiled to native code. As with all languages you need to understand how your code affects that translation to get real performance.

    its terrible rendering model with no mipmapping, perspective correct texture mapping

    With Hydra you get GPU speed and perspective correct texture mapping if you want it. As I said the dev-kit for Hydra is available for download and is easy to work with. The real problem is NO depth-sorting. That means you have to be clever when you code your engine. That means you have to build an old-style engine. The rendering model isn’t terrible, it is designed for 2D!

    Here is the real problem with 3D in flash: you don’t get to sync to vertical blanking if you want keyboard input. As 3D has fast horizontal movements it causes annoying and show-stopping tearing! Double-buffering won’t help on this. You can help the problem somewhat through scene design and cleverness, but after spending a week on this I found it to be the last nail in the coffin for a MMO client!!

    its erratic support

    What is erratic about it? You get the compiler kit and excellent documentation for free, they issue security updates quickly and just about all issues and work-arounds are documented by other users on the web. Google is your friend…

  24. (Ack, I messed up the quotes)

  25. My point is just because business models dictate that portability and easy virality are key factors, it doesn’t mean we should use that as an excuse to ignore or actively dismiss other obviously superior technologies (i’m talking about new tech here, i.e. Unity. Shockwave is old and doesn’t even come close) – they should be embraced and supported when the opportunities arise.

  26. Ola, I fixed the tags.

    I am glad that you had that sort of success with Flash — we’re having success too, but I am not going to look at it uncritically. *shrug* I would guess Flash is probably two major releases if not three away from really rockin’.

  27. “i.e. Unity. Shockwave is old and doesn’t even come close” Vastly oversimplied example as we’re having the same debate in the Shockwave community. Easy to thow out phrases like “obviousy superior technologies”. On pure 3D rendering, Unity gets the crown, however Shockwave’s age and maturity make it a swiss army knife. Shockwave’s renderer is no slouch either – I’m pushing 2500+ poly avatars comfortably. Better 3D compression = smaller file sizes for browser delivery, more mature networking and database options on the backend, large community of 3rd party add on. Plus anything Flash can do, Shockwave can do. Flash elements can be embeded in Shockwave for access to the SmartFox Server for example. I think the Unity tech is great, but don’t make it sound like a slam dunk – because it’s not.

  28. Thanks for the edit! Oh, I am not uncritical 😉 I’ve just found it easier to work with than X-Windows and Direct-X 😉 And I have a peculiar aesthetical taste. I just don’t think most ordinary plastic-textured 3D scenes look good in the artistic sense, so I am not crying for the lack of standard 3D support 😉

    I agree that rockin in 3D will be 2-3 releases away if not more, right now 2D is it. Another cool thing is that they’ve said that they will compile Hydra down to CPU instructions too if there is no capable GPU. With multi-core support that could enable granny-access to immersive worlds. And as it takes time to develop a full virtual world waiting another 2-4 years for an optimized renderengine is acceptable and by that time maybe CPUs will have 4-8 cores which most programmers can’t utilize properly anyway. Having a kit like flash doing the multi-core support is an OK strategy (if they actually put effort into it).

    What’s neat about Flash is that there is a “complete” and portable package where you seldom have to write anything from scratch (3D being the exception). E.g.: Want a tool for your engine? Use Flex.

  29. Gene, what is the debate in the Shockwave community about specifically? I understand I’ve oversimplified in my statment but I am interested in knowing what Shockwave’s perceived shortcomings are.

  30. it doesn’t mean we should use that as an excuse to ignore or actively dismiss other obviously superior technologies

    You convince 60% of current Internet users to agree with you, and you have a deal. Most developers agree with you, babelchips. The problem is the users.

  31. I wonder if the social/room space as the inner most layer of the map world space is what will pull interoperability in the small across the chasm. Raph is certainly right about distribution. It isn’t necessarily the case that all 3D systems need to ‘interoperate’. Navigationally and search-wise, they just need to act like they do.

    Some clarity in the market layers stratifying along the map layers is needed. The communication services cluster along the rooms in the sense that the social relationships are buy drivers.

    Interesting. If the market stratifies like that, the emerging whole world space becomes a rich combination of large world culture (eg, the ultra-reality of the mirror spaces) and the local room space that can be fantastic, strange, weird, boring, comfortable, dumb.

    Motley like the real world but weirder. 🙂

  32. “Gene, what is the debate in the Shockwave community about specifically?”
    You’ll never get grumpier bunch of developers and every few weeks it’s Shockwave vs. something else. There was an expectation that with the recent release of Director 11 would come 3D improvements to include some next-gen rendering features. (i.e. programmable pixel and vertex shaders – stuff like that) Backwards compatibility has slowed development and it looks like Adobe is looking to D12 for those type of features. The backlash has been enormous, with many developers threatening to go else where. That being said, 60% plug-in penetration is hard to argue with so we complain for a while and keep working in Director. We did get a new Aegeia Physics engine to replace the old Havok engine, Direct X9 support, new 2D image filterings and Unicode, however it was primarily intended as a compatibility release for Vista and Intel based Macs. The current 3D engine is traditional, solid, old school T&L with OpenGL and DirectX support and does the job quite adequately for Sherwood and Club Marian. Both games are doing well in areas of lower standard hardware specs like Poland and Brazil even though both games have relatively high poly counts. Next gen rendering hardware requirements can furthur narrow your potential audience beyond just having 3D and cause the game size to balloon. Remember a typical next gen shader can require texture, light map, normal maps, specularity maps etc. and that all has to fit in your instant-in play in a browser experience.

  33. “You’ll never get grumpier bunch of developers and every few weeks it’s Shockwave vs. something else.” I mean this in the nicest possible way 🙂 We get along great but communicate best when arguing on DirGames. Director Game Developers list Google Group

  34. I really hope silverlight doesn’t end up too dominant. Even if the mono team managed a framework of a linux port in 21 days it will still be tied into windows to some extent (ie all future direction), just like .net. I guess I’m rather wary and don’t really know that much about it, but I’d much rather an ‘open’ standard became the defacto standard.

    I guess the most effective way to influence this would be to actually make something using open tech.

  35. @Tim: yeah, but then you would need something which has only one (GNU?) implementation to avoid the hell that the browsers are riddled with. I guess that is the advantage of Flash, which also is a disadvantage if they don’t support all platforms. If someone were willing to pay for the development of a capable GPL-only flash-nuker I’d certainly apply for a position… 😉 It should be based on OpenGL 3, I think.

  36. Excellent post. *stumbles*

  37. […] then there’s Molehill, which basically lets the 3d engines that already exist for Flash (which I have blogged about in the past) get access to hardware acceleration. What is the 3D functionality provided by the […]

Sorry, the comment form is closed at this time.