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
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 !
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.
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
- Occlusion culling
- Basic scripting
- Custom shaders
- Animation / skinning
- Basic audio features, such as AudioSource / AudioListener
- Navigation meshes
- Baked substance textures
- 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
- 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)
- 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