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.
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:
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.
Could this be the library that makes SVG the vector replacement for Flash? Snap.svg being based on the SVG standard makes it a better fit for mobile and smaller computing.
Snap.svg is like Raphaël, and actually made by the same author Dmitry Baranovskiy. This library is sponsored by Adobe so this not only looks great as a library, but has the right support. Snap.svg is a very usable way to get vector graphics more accessible to creative iteration and into more content on mobile. It also makes working with SVG very simple over the verboseness of the declarative svg tags.
Adobe, along with CreateJS and Cordova/PhoneGap has really been moving in good directions with sponsoring libraries and open source toolkits for mobile content creators.
Snap.svg makes it easier to use SVG and you can animate it.
Another unique feature of Snap is its ability to work with existing SVG. That means your SVG content does not have to be generated with Snap for you to be able to use Snap to work with it (think “jQuery or Zepto for SVG”). That means you create SVG content in tools like Illustrator, Inkscape, or Sketch then animate or otherwise manipulate it using Snap. You can even work with strings of SVG (for example, SVG files loaded via Ajax) without having to actually render it first which means you can do things like query specific shapes out of an SVG file, essentially turning it into a resource container or sprite sheet.
Unity 4.2 update has been released and includes Windows Phone, Windows Apps for free and also included Blackberry 10 basic exporting.
Many other great features like source control support (text-based assets), realtime shadows and NavMeshes are now mostly available in free versions. Text based assets is the biggest helper when working with teams that use Unity Basic for assets or shared repos for basic/pro versions.
Unity 4.2 comes with three new platforms: Windows Phone 8, Windows Store apps and BlackBerry 10. That’s right, we’ve doubled the number of mobile platforms Unity supports! Now it’s up to you guys to create new games and port existing titles to these platforms so even more people can benefit from your creative talents.
In Unity 4.2, all users of the free version of Unity can publish to any mobile platform they wish, be it Windows Phone 8, Windows Store, iOS, Android or BlackBerry 10 without it costing a dime. In addition, Unity Pro users can use the Windows Store Pro deployment option (which includes the Windows Phone 8 and Windows Store apps platforms) absolutely free of charge.
Plus, Unity Pro users can benefit from advanced Unity features when deploying their iOS, Android or BlackBerry 10 projects by purchasing Unity iOS Pro, Android Pro or BlackBerry 10 Pro Add-On products from the Unity Store.
I like the moves to free for all mobile platforms for basic and the Windows Phone and Apps Pro upgrades for free for Unity Pro users (Blackberry 10 Pro upgrade still is $1500). I was hoping over time the Asset Store and a lower subscription would emerge and the ecosystem would grow. The Windows addition for free is great for Microsoft’s platforms growing like iOS and Android did as Unity is a big push on game content to those stores/markets.
Other great feature updates in Unity 4.2
- Shuriken Particle Collisions
Shuriken Collision Event Callback Scripting Interface: Efficient callbacks on GameObjects and Particle Systems are issued when Shuriken particle collisions occur. Per particle callback data includes collision positions, incident velocities, surface normals and Collider references. Use this feature to can cause damage to GameObjects and apply forces to rigidbodies.
- OpenGL ES 3.0 for Android
ES3 has nicer shadow filtering, ETC2 texture compression, GPU skinning via transform feedback, HDR rendering, multiple render targets, derivative instructions in shaders etc.
Requires an ES3-compatible GPU, for example Qualcomm Adreno 3xx or ARM Mali T6xx.
Note that the official Android version does not support ES3 yet. So to test it you should install ES3 drivers directly from the GPU makers (e.g. Qualcomm).Platform switching, player building and asset importing can now be cancelled! How cool is that?
- Platform Switching
Platform switching, player building and asset importing can now be cancelled! How cool is that?
- 64-bit Mac Universal Exports
Mac OS X: 64 bit standalone player support (x86_64 and Universal).
There is a revolution going on in game consoles. It is a new micro console movement that is driven by the openness of mobile + casual markets/stores and self-publishing that have disrupted handheld gaming. That is now about set to disrupt the living room and game console markets.
Apple TV has not yet officially announced apps/games for Apple TV other than AirPlay but that is coming when Apple TV launches the SDK. Largely this most likely will be a push type of platform where you have your tablet or phone/pod device to flick or push games and apps onto the big screen. Then your device becomes a remote or gamepad. Apple TV will also be able to download these apps much like iTunes but it will largely be driven by the hardware (tablets and handheld (iPhones/iPods)).
Apple also has a gamepad support api in iOS7 for the virtual pad haters and this will create some great gamepads and experiences to play longer in front of the TV or other big screens.
Google has recently also gotten into the game after OUYA has now launched, GameStick on the way and because Apple is getting in Google is wise to as well. Both iTunes and Google Play! will be extended by these game consoles/tv apps devices.
The people briefed on the matter said Google is reacting in part to expectations that rival Apple will launch a video game console as part of its next Apple TV product release.
Self-Publishing / App store Models
Self-publishing is a large reason indies/small-medium studios are flourishing and these devices will continue the disruption of the game industry. Mobile, web + open desktop games will spill into the TV in droves. Limiting publisher control by allowing self-publishing will sell lots of hardware and games, bigger economies always sell more hardware and games.
Whether it’s making games or distributing them, the focus for Valve going forward is going to be how it can provide the framework for its customers to be entertained, and to make entertainment. Games are goods and services that are part of a large economy. For Newell, the next step is to expand that economy.
“Economies get better the bigger they are,” Gabe Newell
Big Consoles React to Mobile Openness
The new big consoles in Sony PS4, Nintendo WiiU and the XBox One are also launching this year or have launched (WiiU). The smart ones are allowing self-publishing as that will grow their games and fun factor by allowing indies, small and medium sized companies to play again. So far Microsoft is the only company not embracing the open/self-publish model that will sell more hardware and software, strange considering they are about developers, developers, developers and were one of the first to allow indies on the platform (albeit in a flawed way). Both Apple, Microsoft and possibly Google are the only companies that really have the hardware, software (OS) and the ability to publish games to handheld (phones/pods/tablets), desktop OS (OSX + Windows) and now consoles (soon Apple TV and XBox). But only Apple is embracing openness across all, Google will also hopefully not duplicating the Google+ games limited market debacle. Let’s hope Microsoft changes tune again on XBox One and allows self-publishing instead of only approved developers and let the market decide on good games.
Old Skool Arcade Fun + ‘Pure Play’
The best part of all this is game creation and playing is going back to the fun factor times of arcade and early web games where experimentation and fun factor is the main goal. Even John Carmack agrees mobile focuses on ‘pure play’.
“I was really happy that when mobile came along with the more ‘pure’ games, they didn’t have to be a $50 game that had man-centuries in them,” Carmack tells Ars Technica. “You can have these small things that cost people a couple bucks.”
“I don’t have a lot of free time and I don’t have 50 hours for Skyrim. That’s not to take anything away from the massive titles, but it’s great to have this broad spectrum of gaming,” Carmack added.
Unity 4.1 is out. Although this blog appears to have become a release watch for Unity, it is because Unity has been nailing it.
Apple TV AirPlay
Unity 4.1 brings you full multi-screen AirPlay support. iOS device users running version 4.3 or later can use AirPlay to stream content direct to their HDTV.
What’s more, with AirPlay, they can use their iPad or iPhone as a game controller – running and controlling the game from their iOS handheld device whilst watching the action unfold on the big screen.
Read more about Unity for iOS here.
Apple TV and AirPlay streaming, Ouya, Steambox buzz and probably a Play! device soon (chromebox or buy up Oyua), and more are bringing a big change to the openness of console/tv game development. Everywhere games you take with you and new consoles really. This is a huge change in that sea. Native apps on the devices will also improve this new perception, as soon as Apple TV SDK is updated for apps (the other important part of this system) it will be a game changer for tv apps/games.
Apple is allegedly planning a special event for March that could introduce a software development kit (SDK) for the Apple TV, according to a research note to investors from Jefferies analyst Peter Misek. Basically, an SDK would allow developers to start submitting applications that would be optimized for your television screen and available for purchase via Apple TV. It could be the start of a whole new era of TV — and even gaming — by some predictions.
Just like chronically incorrect Piper Jaffray analyst Gene Munster, Misek is under the assumption that Apple will eventually release a television set, which is what the SDK would pave the way for. He also expects the fabled Apple television set will have a screen size in the range of 42-inches to 55-inches that costs about $1,500.
And while Misek doesn’t expect Apple to mention the TV set at the rumored March event, he does anticipate that the Apple TV SDK will be available in September or October of this year.
Read more at http://venturebeat.com/2013/02/13/apple-tv-sdk-launch-date/#lXSIOTAYkr3qb6G8.99
AirPlay has always been possible and TV Out on Apple devices since they added it but Airplay for apps and games is a big change for consoles. Having that easily accessible for many game developers. Regarding apps on the actual Apple TV device, hopefully Apple does launch the SDK this year and it isn’t false hope like before but when Unity3D adds support for AirPlay it gets interesting. Lots of other games have this but it will be more common. Gaming in your living room with tablets (essentially the WiiU) is becoming more a reality. Lots of fun ideas for multiplayer, switching airplay streams for spectating and more. Yes tablets and pads might be more expensive, but the game markets are entirely different and tablets, phones, pods etc are all challenging both traditional console markets and traditional handheld markets and their pricing.
Get started in Unity 4.1 with some help from AngryAnt. AngryAnt’s DeviceDisplay sample on porting screen out to AirPlay in unity gist.
Unity also updated the Memory Profiler which is excellent, the profiling tools are getting better and in combination with XCode Profiling embedded is getting easier to iterate on.
Developers more than ever need to make multiplatform games and support iOS, Android, possibly Windows Phone + new console markets and the web (html5/webgl/unity/flash) and desktop (Win/Mac) that exist and are still quite large. Lots of opportunity ahead in disruption, Unity is in the apex.
Unity 4 is live, very fast after public beta.
Flash export, Linux export, DirectX 11, animation system and loads of cleanup needed are included.
Lots of great things in there but a huge one is namespaces in MonoBehaviours.
Scripting: MonoBehaviours can now be inside namespaces.
Previous to 4, you could have namespaces in dlls/libs you created with the overhead of managing separate dll builds for each platform define, but within the unity project this was not possible. Finally, classes with the same name can be in the same project under different namespaces. Yes their can now be two GameController or UIButton classes if they are in multi game loader and you don’t have to rename them GameShooterController and UIShooterButton, just put them in a namespace, welcome to the future of the past! I prototype lots of games and have a prototype project with helpers that I test many prototypes in, I hate having to name them so specific or devise hierarchies and base classes that facilitate that during prototyping or make a new project for similar naming, just want to see the gameplay and iterate fast. This actually helps that big time. With the asset store and many products using the same class names this is a welcome big change that is lost in all the other new features.
Another great feature is supporting Android extra OBB apk files for storage on larger games. (This can also be used in Unity 3.5 via an asset store plugin from Unity.
Android: Support for APK Expansion Files (OBBs) – effectively enabling applications larger than 50Mb in the Google Play Store.
I don’t see Shuriken full particle system scaling in editor or runtime yet. Shuriken particle system added in 3.5 is much nicer but scaling the systems is more difficult, not all properties were exposed to do that easily outside of the editor (like scaling at runtime). There is a Particle Scaler asset on the store that scales all the internals nicely but having this as a feature is needed yesterday. One project I worked on with loaded asset bundles at different scales had this problem and caused lots of rework scaling up the systems to work at the correct scale in the base app using the bundles.
Unity is a great system and there are lots of great changes in Unity 4, cleanup being some of the best of them. It has flaws but it makes up for it in intense help on shipping and getting to all platforms. It is a mammoth task to democratize game development and support so many platforms and developer types.
Pick it up! I have to figure out the best time to upgrade and move all current projects to it. I guess the holiday tasks are identified.
Pick up the public beta of Unity 4.
Looking forward to trying the Mecanim animation system. Mecanim combined with NavMeshAgents could be fun.
- Once imported as muscle clips, animations can be used with all humanoid characters with no additional conversions needed.
- Use the same animations on different proportion characters with no overhead or need for storing multiple versions of the clip.
- Map the bones of your model to human muscles with a single click, or fine tune the setup for full control.
- Slice up your authored or motion-captured animations directly inside Unity with the industry’s best tool for the job.
- Preview the animation as your drag the ranges of a clip.
- Indicators for pose looping quality and motion looping quality lets you easily pick the range with optimal looping.
- Differences between start and end pose is smoothed out by the importer to ensure perfect looping.
Real-time shadows on mobile to see if magic carpets are no longer needed in some cases. Then again we are still on mobile with a tight rendering budget on low end.
Unity 4 includes one of your most requested features: dynamic shadows on mobile devices. Add more realism to your mobile games with Unity 4, by casting hard dynamic shadows from directional lights.
One nice welcome is a licensing system, it is a pain when getting a new computer and it looks like Unity is going more self managed for this which is great.
License: New activation system was developed:
- Ability to un-license a machine yourself!
- Continuous license and content updates.
- Unity Account login for certain license types.
Also of course looking forward to the final Flash and Linux exporters. And any improvement to large lightmapped scenes is good.
cocos2d-x is the natural evolution of the cocos2d-iphone engine to C++ and it is stable and producing multiplatform games.
cocos2d-iphone is a great Objective-C game engine (and the first really) that began as a python engine called cocos2d and was ported to Objective-C + iOS early on in the iPhone SDK days. Arguably Unity and cocos2d are the two biggest indie engines on the App store. Cocos2D is a very simple engine and coming from Flash development many of the concepts are similar (i.e. Sprite, Actions/easing, Layers/Scenes (although slightly different), etc). But getting your Objective-C game to Android and other platforms is not a fun task. There are other options like andengine for android from cocos2d port but each port only gets you so far as you still have two codebases for one game on iOS and Android.
Unity obviously can open up platforms for you but cocos2D-x can also do that for 2D games across iOS, Android, Blackberry Playbook, Windows, Linux and more! This is possible because like oolong engine and other custom multiplatform engines for mobile the core is in C++ with presentation view wrappers/stubs in Objective-C++/C for iOS, Java/C++/NDK for Android, etc. The list of games shows that it is stable and a well treaded engine including games like Hero Academy from Robot Entertainment.
cocos2D-x even has a port of cocos to C#/XNA for Windows Phone development using all the classes you know and love from cocos2d. That is actually pretty sweet to have similar logic to reach Windows Phone (Unity and others bypass because there is no native access by developers sadly still, must, use, XNA — strange considering Unity pushes C# development quite heavily but I digress).
- cocos2d-x downloads
- cocos2d-xna downloads
- the original cocos2d from sweet python
- list of cocos2d-x games
- list of cocos2d-iphone games