Archive for March, 2014

Tuesday, March 18th, 2014

Well it has happened, Unity announced WebGL exporting.  This was a much needed announcement and our flash man on the inside, UnitZeroOne / Ralph Hauwert of good ol’ Papervision days, helped make it so. Thanks Ralph and Unity team!

This feature is in Unity 5 as a preview just announced but with the impending plugin-pocapyse I am sure it is a major focus at Unity to get to production stage.

The plugin-pocalypse is happening. Both Google Chrome and Mozilla Firefox are taking issue and removing plugin support.  Recently I was a bit worried about web exporting and the player/plugin support as NPAPI is being deprecated in favor of PPAPI in Chrome, so Unity, Silverlight and other NPAPI built plugins would have to be rebuilt in PPAPI (unlikely as Unity already maintains NaCL) or another path. Chrome will not allow NPAPI plugins to run at the end of 2014 and already warn each time you use them. Side note: Flash plugin has been updated to PPAPI and will not go away at the end of the year, Unity player won’t either but it may not work in Chrome without explicitly allowing it or at all, still to be seen however they said they will stop supporting NPAPI December 2014 and all NPAPI plugins will no longer work. Mozilla also is fighting against plugins in favor of standards like WebGL so this entirely solves it for Firefox, for Chrome it will still run but slightly slower so there is a transition period.

Mobile really killed the plugin but it opened up standards that allow WebGL to take over. I am happy to see Unity jump on this and bring a better web export that is in line with the best out there currently with asm.js/WebGL and the performance it can bring.

Unity really does add a tons of value if everything just works in WebGL exporting as 2d in WebGL is very mature with lots of supporting platforms, but 3D and stable engines are still lacking.  (Until of course Three.js rules the world and may when it is easier to use WebGL in native apps for store like this). Let’s hope browser support for asm.js and Firefox native speeds grows, but most Unity games will run without needing it (2d games, simple games that already run well in WebGL performance ranges).  So you can easily see the Unity Player, NaCL exports going away over the next few cycles when WebGL exporting is solid possibly if it isn’t already. Another option is a grace period where Chrome exports need to be NaCL for a while if the WebGL support isn’t ready for primetime by then but from what it looks it may be there (although full support can take some time). The plugin-pocalypse is here but there is a path forward, granted game portals and other sites that host current Unity player content may have alot of work to do this year.

This change couldn’t come soon enough as we had to start thinking about other options for web content, Unity successfully hurdled this one.

There are tons of other great things in Unity 5 (currently up for pre-order) and will be out later this year, but WebGL and “plugin-less” exporting is the driver on this version and we are bought in for the next round.

Unity 5.0 Announced Features

  • The aforementioned “Early Access” to WebGL support meaning no plugins required in compatible browsers
  • 64-bit CPU support
  • Real-Time Global Illumination — the over-simplified version: the lighting system used by games like Battlefield 4 and Eve Online (a system called “Enlighten) for their more advanced lighting tricks is now built into Unity.
  • Light baking previews — Light mapping can take a while because every little tweak required a complete rebake. Light maps can now be previewed in real-time.
  • Unity Cloud — Remember the built-in ad solution that Unity announced around the middle of last year? That’ll launch with Unity 5.
  • New audio system Both more efficient and more powerful. Unity 5.0 has a proper audio mixing board to help developers tweak the way things sound in different in-game environments.
  • Nvidia PhysX 3.3 While Unity has used Nvidia’s physics engine for years, the version built into Unity 4.0 has been outdated for a while now. 5.0 taps PhysX 3.3, which is up to 2x as fast.

Unity 5 will probably be available later in the year and may launch around Q3/Q4, can’t wait to play with the WebGL exporter. Here’s hoping it is solid by the end of the year.

Monday, March 10th, 2014

An interesting/awesome project that is getting momentum is Lime + OpenFL.

Lime (Light Media Engine) is an abstraction layer that makes it simple to go cross-platform with only one codebase; without the compromise of relying upon a scripting language or a virtual machine.

Lime is a lower level cross platform toolkit that uses Haxe to target multiple platforms.  OpenFL uses it to make a very similar API to Flash much like the origins of Haxe itself.  Lime wraps WebGL, OpenGL/ES and more to get started quickly with the boilerplate for each platform much like Cocos2D-x and other cross platform toolkits.

Lime currently supports the following platforms:

  • Windows
  • Mac
  • Linux
  • iOS
  • Android
  • BlackBerry
  • Tizen
  • Emscripten
  • HTML5

Haxe has been a cross platform toolkit targeting many platforms from one codebase since its inception. The timing of mobile, web gaming, WebGL/OpenGL/ES, apps and the subsequent demands for cross platform codebases + toolkits to be productive (Unity, Cocos2D-x, MonoGame, etc) suit to Haxe’s strengths.  Lime and Haxe fit that well and it looks to be a great start that includes: very fun base platform, easy syntax and js/as3 like, lower level Lime OpenGL access, higher level OpenFL, native access when needed easily and targeting all worthy platforms including deeper ones like Blackberry and Windows.  Just like Cocos2D-x and others you can do more natively on the device and it gives you the control of a custom engine with the rails of a community, definitely check it out.