Posts Tagged ‘FLASH’

Wednesday, February 29th, 2012

Unity 3.5 was released and is a game changer even for Unity, download it now!.  There are so many great new features that have already made development faster and cool features to help bring your games to Flash from Unity !

Workflow Improvements

Since I have been using Unity fulltime pretty much on games like SupaSupaCross for SupaSupa Games (pick up a copy at Apple, Amazon or Google for your devices!) and Kimi Raikkonnen IceOne Racing for 24mas while at Impossible Interactive from my *drawlabs game studio, Unity has addressed some major trouble points when doing a full scale multiplatform rollout to mobile (iOS + Android), web and desktop.

Switching Platforms

One major problem was switching platforms and rebuilding the asset cache. Unity now has an Asset Cache server that will minimize library reimports so that it will be easy to switch platforms in minutes.  I can attest that our projects towards the end were really painful switching platforms, no kidding 45+ minutes.  Having that removed is oh so nice when you have 5+ projects that run on all platforms. The horror of accidentally selecting the wrong platform while you have to wait 45 minutes for it to convert one direction and then back is over.  We actually ended having to have the projects on different machines and making two projects hooked to source control that were set to iOS and one to Android to help minimize this.

Occlusion Culling + Lightmapping

Unity updated and replaced the occlusion culling system for speed and better occlusion generation, taking the time down orders of magnitude.  This version also is more precise and you can take the time to do detailed occlusion during development more often.

Lightmapping probes is also a very nice technique to integrate to get what looks like dynamic lights without having dynamic lights and the cost associated.

Source Control for Everyone

A big problem with the pipeline before was having artists work for a day or two and need Unity but they only had the indie version and thus could not participate in our Mercurial and git repositories.  Now even the indie version has source control support (still with .meta files though which is a necessary evil for now — still going to have straggling metas when developers/artists remove/add one they didn’t edit).

Text Based Serialization of Scenes and Prefabs!

This one is epic, I loathe binary formats of old which turn files into blackboxes of repository filling chunks, now you can choose to serialize your scenes and prefabs in text which they have chosen very wisely as YAML.  Perfect use case for YAML and now we can have 2+ people work on the same scene and not end up hating one another when the other has to overwrite all changes since they used to be all binary.

The removal of binary files in game development is very needed and one of the most difficult things to shake with all game engines I deal with.  Binary files for development are bad…  YAML, JSON, even XML is a better way so you can see what changed on each update not just replace the file.

At this point I love Unity for making my day faster…

That isn’t even the really cool stuff like Native Client Support and Flash Player Exporting!

Native Client Support

I feel this could be big if NaCL is adopted widely, this also helps with the Chrome Web store and again taking your game to places that individual development of the engine to do so would be non economical.  Unity knows when to even overlook their own WebPlayer in favor of other players such as Flash and NaCL from Google.

Flash Player Export

note: (Still preview and will require extra license when final)

The big daddy setup to scrape up all the Flash developers.  You can now develop Flash games inUnity using a better programming platform that Adobe was just too protective of Flash old guard to pursue 4 years ago, at least they are now. Flash 11 to Stage3D exporting to lower level Flash was a very smart move for Adobe at this point to keep evolving Flash.  However with them dropping mobile player Flash’s future is still a little shaky as it loses developer mind share, typically that is fatal.  One way to keep great game and interactive developers is what they are doing with Stage3D and Flash 11. Unity is very smart to jump in here and it is a great opportunity for both Adobe and Unity.

2 big pieces missing from the Flash version are terrain export and use of non Flash classes like WWW class.  Unfortunately since this is the only supported Unity WWW class that works across all platforms well this may require some #if defs to route around web/service calls and rewriting web and or networking classes in AS3.

Since this is the first version and has such great potential for overtaking Flash gaming on the web with more native and lower level hardware access, watch this space to grow and be a game changer.

Flash features that are in and out of the current iteration

Supported

  • Lightmapping
  • Occlusion culling
  • Basic scripting
  • Editor scripting (JavaScript / C# / Boo). Note: for JavaScript, use #pragma strict.
  • Custom shaders
  • Animation / skinning
  • Basic audio features, such as AudioSource / AudioListener
  • Physics
  • Navigation meshes
  • Baked substance textures
  • PlayerPrefs
  • UnityGUI, except for text input
  • Realtime shadows

Limited support – features with potential issues

  • Image Effects. Some work, some don’t.
  • Not all parts of .NET scripting work (lambda expressions and LINQ aren’t supported, for example)
  • GUIText will have a dramatic impact on performance
  • The new Particle System (Shuriken) works, but scripts that use the Shuriken API will fail to convert to flash

Not supported

  • Unity profiler
  • Asset bundles
  • Text input in UnityGUI
  • WWW classes. Note that you can write your own ActionScript that uses Adobe networking APIs.
  • Raknet networking (if you need networking, you can write it in Action Script 3 directly, using flash API)
  • Terrain
  • Cloth
  • Using VertexLit shaders in combination with:
    - Specular highlights
    - Spot lights
    - Emissive material color
  • Advanced audio features, such as audio effects. Also pitch manipulation is not supported.
  • Deferred rendering
  • AnimationEvents that carry arguments

More on Unity 3.5

Thursday, December 22nd, 2011

Unity is fast.  Unity 3.5 preview is available with exporting to Flash 3D/Stage3D available to test.

Unity has been very quick to add this to their editor and platform.  I wasn’t sure how much Flash 3D would get traction if not for UDK and Unity support, as they also work so well on mobile devices. As everyone knows there is an immense mobile disruption and Adobe recently pulled mobile Flash player support. It is possible this will be resurrected as just the Flash Player when/if mobile ever really supports plugins in browsers well, current hardware and technology may be too early – the plugin may have also gone the way of the app on mobile.  There is always a need for advancement to standards though, html5 is largely influenced by Flash and others. I think there will always be a need for technologies that are innovating ahead of standards, which leads to better standards later. Plugins are yet to exist on mobile in a useful way in favor of native apps, due to mobile device hardware limitations in the current generation. There will probably always be a need of some plugins for web games and interactives. And here Unity and Flash have been strong in that area, coming together to tackle 3D and hardware rendering is a great match.

Unity exporting to Flash Stage3D will provide a spark for the Flash Player 11 over WebGL as there is still some benefits to a proprietary solution to plugins currently.  Internet Explorer is still holding out on WebGL and Flash 11 will be able to enter the IE moat.   This export option allows another way to get your game on the web in a browser in addition to the Unity Player when exporting from the Unity tools.  Game companies like Zynga, Playfish/EA, etc will probably be more apt to use the Flash 3D exported version rather than Unity Player only due to market saturation/penetration. I hope Unity Player support continues or possibly Unity gets bought by Flash and Unity becomes Flash.   The integration could be good, but also bad for Unity if they don’t keep their player going so they don’t have to wait for the Flash Player standard from Adobe.

There is an immense market waiting for hardware accelerated games in the browser even for 2D games from core to social games, all of them need to move lots of sprites, logic and game renders around that require performance. Unity to Flash 3D has a slight edge over WebGL in that is is a single player and compiled assets, and supported by the best 3D/2D/game/interactive editor out there in terms of production pipeline. Flash Player is still compiled and a bit faster than WebGL scripted but there is still limitations on what you can do without a compiled app to run; interpreted code still adds heavy weight and delays to the 33ms needed on each frame for 30fps. An example of performance using Box2D across native to scripted rendering.

Unity has given us all a present to play with for the holidays, I am sure it will take some time to get right.  But having this tool to iterate on and seeing what Flash 11 Stage3D can do as an export target will be fun.

There is even a contest that you can enter over the holidays to win some prizes and the entries are judged by none other than UnitZeroOne aka Ralph Hauwert, as well as Lucas Meijer and Unity’s CEO David David Helgason.

Unity 3.5 Preview

Tuesday, October 4th, 2011

It just got unreal!  Unreal Engine 3 can export to Flash 11 with Stage3D as an export platform.  This is amazing news for game development and provides a strong competitor to Unity for high end gaming experiences that run in Flash.

The news was announced at MAX by Tim Sweeney:

On Tuesday during the Adobe Max conference in L.A., Epic CEO, founder and technical director Tim Sweeney announced UE3 support for Adobe’s Flash player.

Industry veteran Sweeney showed a live demonstration of UE3 running inside the recently-released Adobe Flash 11 during his keynote at the conference, using the PC, Xbox 360 and PlayStation 3 game Unreal Tournament 3 as an example.

UE3 works well thanks to Flash 11′s hardware accelerated, programmable graphics pipeline, Adobe said. Flash is now “capable of running triple-A gaming content authored for high-end platforms using the industry’s latest tools and technologies,” the company said in a statement.

UE3 licensees will be able to access new Flash features, and more information is available at the engine’s official website.

Hopefully this will be included in the UDK soon if not in next months release.

But to calm the hype a bit, the reality is, it costs much more to develop a high end game in Unreal 3 compared to current web games but this will open up a whole new high end market and allow game developers to add another platform to export to. Game sites will become full on consoles.

Next-gen consoles for XBOX and Playstation aren’t being updated until 2013-14, that seems a long way away and they just might not exist as we know them when that time comes.

The next console just might be the web on any device, TV, pad, hardware consoles… Unreal and Epic are preparing for this multi-platform game development world along with Unity, Flash and others.

Thursday, September 1st, 2011

It’s aliveUnity Technologies has a preview of their Unity export to Flash 3D (Molehill now called Stage3D) posted.  Unity and Flash exporting was announced earlier this year. This is great as it provides huge benefits for Unity developers and Flash developers for games.

Over the last few months here at Unity, we have been hard at work on, amongst many other cool things, the ability to publish from Unity to the Flash Player. This means that next to the already existing build targets of a Unity project, one will be able to target Flash with Stage3D, announced for Flash Player 11.

A sneak preview

This video preview shows the Shadowgun game demo by Madfinger Games, a highly anticipated iOS & Android Unity built game. Except now, it is exported for and running in the Flash Player !

Unity provides the 3d + editor pipeline tools that are arguably the best for web/mobile/desktop/console games.  Flash it ubiquitous across all browsers and Unity content will be seen more often if users already have Flash and don’t need to download the Unity WebPlayer plugin. I do hope the Unity WebPlayer stays strong but if Flash 3D Stage3D low level player can integrate 3d with user interfaces kind of like how games use scaleform for killer interfaces layers on and into high quality hardware accelerated games, then we are all in for a treat, both developers, designers and consumers.

Unity is smart to provide more and more platform exports that are solid but I’d also like to see exporting to html5/WebGL. But for controlling the experience entirely in a plugin today, Unity and Flash are the top two interactive and gaming plugins that provide tremendous content and opportunity for the web. Unity also provides for better low level export to Android and iOS (in addition to desktop mac and pc, consoles). Seems like Adobe should buy Unity soon but hope that they don’t sometimes as the competition is nice.

How are the new Stage3D APIs different from the 3D functionality introduced in Flash Player 10?

In Flash Player 10, we introduced APIs that allowed ActionScript developers and designers to apply 3D effects to 2D content. Those 3D effects allow developers to add perspective and projection to content – which could also be described as 2.5D or “postcards in space.” Additionally, these 3D effects are software rendered and cannot be used for highly complex scenes with a lot of content to render.

The new low-level APIs will provide advanced 3D and 3D engine developers the flexibility to leverage GPU hardware acceleration for significant performance gains. Today, Flash Player, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new Stage3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz. Using the new 3D APIs in Flash Player and AIR will make it possible to deliver sophisticated 3D experiences across almost every computer and device connected to the Internet.

Why is Adobe adding 3D functionality to Flash Player?

3D has been one of the most popular requests from our customers. Enabling true 3D experiences in Flash Player aligns with Adobe’s commitment to innovation and delivering a more complete Flash Platform.

Adobe evolved the web with video and now we are going to evolve the web again with 3D. From interactive websites, e-commerce, and marketing to gaming, 3D will be available to everyone, everywhere.

Does this mean the 3D APIs introduced in Flash Player 10 will be deprecated?

No, the initial 3D APIs introduced in Flash Player 10 continue to provide designers, interactive designers and developers a simple way to apply 3D effects to 2D content. The new low-level 3D APIs are targeted to advanced developers for building complex 3D experiences leveraging GPU hardware acceleration. Choosing one API over another one will depend on the use case and type of content created.

What are the requirements for 3D to work in Flash Player?

We are working to ensure 3D content always works with the best performance, regardless of context and hardware configuration. The 3D APIs will rely on DirectX 9 on Windows and OpenGL 1.3 on MacOS and Linux. For mobile platforms, Flash Player will rely on OpenGL ES 2.0. For those graphics cards that aren’t supported, Flash Player will elegantly fallback to a fast software rasterizer called SwiftShader, a technology licensed from TransGaming.

How do the Stage3D APIs compare to WebGL’s proposal to have the capability be available through browsers and HTML5?

In terms of design, our approach is very similar to the WebGL design. However, we offer a consistent, browser-agnostic solution that will enable advanced 3D experiences on almost every computer and device connected to the Internet. Additionally, GPU-accelerated 3D in Flash Player will build on all the expressiveness features that exist today in Adobe Flash Player.

 

 

 

 

 

Sunday, February 27th, 2011

At the Flash Games Summit today there was good news from Unity and Adobe about the Flash 3D API called Molehill.  Adobe’s Flash 3D API Molehill public preview was released and Unity announced they will be adding export support for it.

New features available in the current Incubator build include:

  • “Molehill” 3D APIs for Flash Player and AIR — A new set of low-level, GPU-accelerated 3D APIs that enable advanced 3D experiences across devices through the Adobe Flash Platform runtimes.
  • Cubic Bezier Curves — Using the cubicCurveTo drawing API, developers can easily create cubic Beziers without requiring custom ActionScript code.

This is really a new era of browser based game development support that is going to be very exciting. It was announced at the Flash Games Summit by Thibault Imbert (Adobe Product Manager) and Lee Brimelow (Adobe Platform Evangelist) after they explained and showed examples to the audience of what “Molehill” could do for flash games.

Thibault has a list of available Molehill enabled 3D engines already:

Also a test of hardware accelerated molehill vs software rendered flash:

 

Wednesday, January 12th, 2011

There is an article at gamasutra about Flash vs. Unity for the future of web 3d games.  But it really is the future of true, hardware accelerated gaming, applications and interactives, not just 3d but massive, immersive 2d+3d works/projects on the web and available via browser.

Adobe, or Macromedia previously, owned 3d games with Director (8.5 with Shockwave3d) for a time, but that was really before mainstream was ready (2000-2001-ish).  There was a lack of computers with dedicated video cards and GPUs.  Today, even the bottom line computers have a decent video card. Also, the surge in mobile and the need for native level access to graphics hardware has spawned this new battle (Thanks Apple!).

Unity has the pipeline, 3d and has been doing that well since 2005/6. They emerged from Director and even have some members of the Director team working at Unity.  Adobe is just getting back into this, they dropped Director (or left it wavering) and are now going to attack on the Flash level not just against Unity but to hardware accelerate it for mobile and better video playback hopefully (they currently hardware accelerate scaled video to full screen).

Like the Silverlight vs. Flash product competition, Unity vs. Flash is actually a good thing for developers and both platforms.  With Torque3d wavering, html5 and WebGL more than a year out (and WebGL maybe 2-3) for broad mainstream support (I am looking at you IE), this is the time for Flash to move on this and Unity to keep going they way they have.  Hardware acceleration makes these plugins relevant and ahead of the current standards emerging in html5 and WebGL.

I love using both tools and they have come a long way since painful Director lingo/w3d/plugin hell for hardware accelerated gaming, apps and interactives. The gaming industry and web are merging, these two products should get a good portion of that projected $87-billion total game market’s annual revenue in five years, as investment advisor Digi-Capital predicts.

It is also a great time to be a developer having these companies vie for developer support.  It is exciting that hardware acceleration, 3d games, and widening game industry are all emerging and will be a big thing for the next few years at a minimum.

It is finally time to kick it up a notch. Game on!

Friday, October 29th, 2010

John Nack from Adobe has been presenting Adobe tools exporters to html5 recently.  One is a Flash to html5 convertion tool. It looks good for converting flash vector assets to html5, but you could also use the Illustrator exporter to html5 (canvas/svg) for static assets.

This converter doesn’t appear to do anything for scripted animation or code, just exporting assets via old skool timeline. But this is definitely the right idea.

Friday, October 29th, 2010

Silverlight launched in 2007 to compete with Flash as a rich media and internet app toolkit.  Microsoft had failed before with Liquid Motion competing with Flash back in late 90′s early 2000′s.  Now, over 10 years later, Silverlight might be dying as a technology that was another competitor to Flash, due to poor timing and lack of committment.

Now Microsoft has all but confirmed that Silverlight is losing steam.

I asked Bob Muglia, the Microsoft President in charge of the company’s server and tools business, that very question and got what I consider to be the clearest answer yet about how Microsoft is evolving its Silverlight strategy.

Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said.

But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.

Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.

Silverlight was launched as a competitor to the Flash Flex framework and competing with Flash video most of all.  This was before the H.264 battles, right when the mobile scene blew up and changed the game immensely.  It was actually nice when it launched because it pushed Adobe on Flash and Flex (Flex was even later merged into the Flash brand to help it be more consistent like Silverlight).  This was good for the whole interactive space.

Microsoft is now going with an HTML5 strategy. The odd thing is that the Windows Phone is entirely Silverlight driven, no html5 support. So is Microsoft going to leave their new mobile platfform high and dry due to this change in strategy? It just seems so short sighted and reactionary over at MSFT that everything is wavering.  Who’s developing just silverlight for just Windows Phone? The timing of them stating this couldn’t be worse for Windows Phone.

Microsoft’s html5 strategy is hardware accelerated, something that Silverlight only partially has like Flash (though Adobe is changing that).  It is apparent that mobile has changed even the rich internet applications game as well as gaming in that we are back to multiplatform, native apps and non browser plugins for web content (mobile devices support no web browser plugins at all let alone Flash or Silverlight).  Still for the next 2-3 years limitations in hardware on mobile devices prevents anything software rendered to be fast (including html5 canvas and svg if there is no hardware acceleration), and due to this slowness, not able to compare/compete to compiled native apps that do have hardware access.  This has forced Adobe and now Microsoft to change their strategies to get through it.  We may see a resurgence of Flash and Silverlight like plugins on mobile browsers but not for years.

The only real place we see Silverlight is over at Netflix (maybe they will go html5 video or Flash video) and on Microsoft shop client apps.  It appears with no support from Microsoft it will fall out of favor faster. Microsoft developers are usually forced to go with what Microsoft is recommending as much of it is sold through a business channel rather than developers now.  It is good html5 and standards will be more prevalent in that ecosystem as long as they don’t start marginalizing it to proprietary elements.  But if you step back and see the rumors a week ago that Microsoft might be interested in Adobe, the mobile surge and strategy shifts at Microsoft, it seems to send out a clarion call that Silverlight is over or the credits are about to roll.

The mobile surge, standards, native, hardware acceleration and cross platform aims of current market leaders, we have the new game, again. It doesn’t appear like Silverlight was, or will be, a success.

Tuesday, October 26th, 2010

It’s about time. Here at drawlogic we have been pushing hardware acceleration in Flash as it died in Adobe’s Director product that is all but history. Director was horribly not useful as a programming tool but Flash and AS3 have become a great environment, the only thing missing was getting past software rendering limitations to use hardware acceleration that have been made more apparent by mobile devices which are like late 90′s early 00′s computers.

With Flash gaming being so huge and competitors like Unity it is surprising it took this long but it seems Flash and AIR development will be kicking up a notch in 2011 with hardware acceleration.

Adobe has finally delivered or will so in 2011 on this pressing need.

It’s a good thing ByteArray (Thibault Imbert – the man inside) got in there at Adobe he has been there delivering killer stuff and presents a video on Molehill on Adobe Labs showing this new tech.

“Molehill” is the code name for a new set of low-level, GPU-accelerated 3D APIs that will enable advanced 3D experiences across screens through the Adobe® Flash® Platform runtimes. These new low-level APIs will provide advanced 3D and 3D engine developers the flexibility to leverage GPU hardware acceleration for significant performance gains. Today, Adobe Flash Player 10.1, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new 3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz. Using the new 3D APIs in Flash Player and AIR will make it possible to deliver sophisticated 3D experiences across almost every computer and device connected to the Internet.

When will developers/designers be able to create 3D content using the “Molehill” APIs, and what tools will they use?
Developers will be able to create content through the upcoming Flash Player beta program starting in the first half of 2011. To leverage the 3D features exposed in Flash Player during the beta period, developers will use Adobe Flash Builder™ or the Adobe Flex® SDK with an updated SWC exposing the required APIs.

More on the capabilities and rendering tech:

Developers were told to expect “hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz” under the new APIs, compared to “thousands” of un-z-buffered, 30Hz triangles under the current Flash Player 10.1.

The acceleration will rely on DirectX 9 standards on Windows, OpenGL ES 1.3 on Macs and OpenGL ES 2.0 on mobile platforms, and potentially puts Flash more directly into competition with 3D-centric web game engines such as Unity.

How do the 3D APIs compare to WebGL’s proposal to have the capability be available through browsers and HTML5?
In terms of design, our approach is very similar to the WebGL design. However, we offer a consistent, browser-agnostic solution that will enable advanced 3D experiences on almost every computer and device connected to the Internet. Additionally, GPU-accelerated 3D in Flash Player will build on all the expressiveness features that exist today in Adobe Flash Player.

We are very excited about this development and what it means to Unity, WebGL and other technologies that have filled the gap. With Adobe making this change and recent tool support for html5 it seems the old Macromedia innovative spirit has been awoken. I only wish it could have kicked into high gear in 2007-2008 when mobile made native and hardware acceleration necessary again and probably for good.

As we learn more and get our hands on it we will be posting much more on ‘Molehill’.

Thursday, September 9th, 2010

Apple’s official statement on this topic.

Well good news, after the massive frenzy of 3.3.1 in the App Store Terms of Service, Apple has been wise to loosen restrictions on the AppStore for native apps that use scripting such as Mono, Actionscript, Lua and others as long as it doesn’t download any code (for security reasons). The apps have to be AOT Ahead of Time compiled which Unity, MonoTouch and the AIR iPhone Packager for Flash apps all use or the script has to be downloaded with the binary that was approved or an update (Lua scripting for instance).

This is a huge change in stance for Apple and basically allows Adobe Flash based AIR apps to run on the device natively again. I think this is a very wise decision by Apple to let the market decide on what is a quality app while respecting Apple’s concerns about downloading and running code that might create security concerns (non compiled script outside the web sandbox).

The only bummer is that we won’t see a C++ Unity version which was plan b. But the benefits are really great for all types of developers as long as it is safe and with Apple’s latest update, quality.

Developers using Unity, MonoTouch, Adobe Flash AIR Packager, Lua scripters etc are now all safe as long as it is AOT compiled and scripts it uses are downloaded with the binary and not downloaded later (only content and data can be downloaded unless it is in an approved app update).

All your technologies are safe… for now.. dun dun dun…

However Apple also tightened quality control so they will be rejecting bad or duplicate apps, so at the same time this has made it harder to get apps approved if there is questionable quality or too many of one type of app.  It is good on the surface but also I believe the store should be an open market where the best app wins, crap will naturally filter out.  This is probably a stop-gap for all the apps that will be submitted with AIR or other less complex platforms because more novice users will be submitting them.  So this is good for skilled developers on any platform making quality and original content.  But it could cause some problems.

Engadget has some nice covereage if you dont’ have access to the iOS developer site: