Archive for the ‘unity3d’ Category

Sunday, March 22nd, 2009

Here is a video with more information on Silverlight 3 Beta features that are matches of the latest Flash killer features in pixel shaders, 3d planes (ability to create pseudo-3d engines like papervision3d), local saving, pixel operations/bitmap handling, local messaging (silverlight to silverlight – like localconnection), out of browser desktop running ability of SL3, SEO and search indexing capabilities / deep linking navigation and more.

Video of the features of SL3 Beta, Demos, at a Slow Pace from #mix09
Get Microsoft Silverlight

A few points after the video and taking a tour of the features.

The pixel shaders are written in HLSL (shader 2), however they are compiled to byte code and do not currently use the gpu for rendering. While the pixel shaders are very cool and the language to write them is standard pretty much for shaders in HLSL shader model 2 DirectX-based (the other is GLSL OpenGL based) they have not allowed this byte code to run on the GPU… yet. Here Flash and Pixel Bender actually are ahead there.

Although there are 3d planes which is very exciting, no good pseudo 3d engine exists yet matching the 3 in flash (papervision3d, away3d, sandy). When SL3 comes out I am sure we will see a few emerge or build them ourselves because this iteration of SL3 looks pretty fun.

Pixel based operations will be a huge advancement much like it was in earlier flash versions as it adds some demo scene type abilities and experiments with pixels that are fun.  This also lends to doing cool things like shaders, effects, AR, face recognition, motion detection etc.

Effects like Blur and Drop shadow are good and the ability to add custom ones, great. However currently they are pretty performance intensive.  They are also in Flash but there needs to be some refinement in SL3 effects before launch.

Desktop runnable apps in out of browser will be nice and this is a direct compete with Adobe AIR which was a surprise.

Local Communication supports desktop to browser communication.

Isolated storage (similar to shared objects) supports 1MB in browser, 25MB out of browser defaults.

This version of silverlight is really a 1.0 version as typical with most software.  Version 2 or version 3 is usually what the initial design goals pan out.  Much like the latest unity3d version (2.5) that has windows support and the iPhone SDK 3.0 that both came out this week, even actionscript 3 compared to earlier versions, these toolkits are finally iterated enough that they are really solid platforms for building cool stuff on and become platforms.  The next version of all these could be very, very dangerous.

Huge missing features:

Although there are some great features in SL3 beta, it is still not done and it is still missing some key components that Flash has which make it very attractive in the interactive space.

  • Camera and Microphone support - Macromedia hired one of the smartest dudes around in Jeremy Allaire back in flash 6 days to help add support for Flash Communication Server (Flash Media Server now) Camer and Microphone support.  One of the best R&D periods at Macromedia. SL needs this soon.
  • Printing support – what was long a problem in Flash is so in SL, there is no good printing support
  • No GPU usage for Pixel Effects/Shaders – (neither flash nor silverlight support hardware accelerated shaders in PixelEffects/Pixelbender – Pixel Effects/Shaders need GPU support (see Kevin Goldsmith’s article on GPU mixed with CPU and how this may or may not be good. However processors are speeding up and multi-core helps software rendering, the quality of GPU is well beyond what software rendering can deliver for a few years to come at least while architecture advances, probably more like 5-10 years.
  • No UDP plans yet - Adobe has RTMFP, SL sockets has no public plans for adding UDP that I have seen
  • No Alpha Channel in Video - You can do this with a shader though but not supported by default.

Silverlight 3 Video

Flash has the upperhand in video and probably will still even though SL3 has H.264.  Flash added this at the same time and though they still have FLV which revolutionized web video they are now much broader in support in video than SL3.  Silverlight has H.264 and VC1 support (their own FLV like codec).  Still pretty cool a couple years ago there was no HD on the web now everyone has it in H.264 video support.

Currently nothing innovative, mainly catchup still, but here are some options

Silverlight 3 beta and the video below the features and highlights will look very similar to flash and flash community advancements over the last couple years.  There is no innovation just yet.

But where that could happen is in socket support with UDP. Flash has moved on this in RTMFP and the beginning of larger scale networking support with UDP with samples like stratus.  This is a huge differentiating feature for what I think will be game changer on the web (it already is on desktop mmos) in real-time or closer to real-time support for larger sets of users in online games like MMOs or virtual communities, even tools to make request based real-time sites like micro-blogging faster and able to handle more users (right now it is very linear if users get many followers, UDP will allow a better distributed framework for messaging).

Local Storage

Silverlight and Unity3D all need this, Flash could use better support for this.  Local saving of a files for cache beyond the internet cache and greater than the 1MB/25MB limits of SL3 IsolatedStorage.  This is an issue when you are making large scale games in that you need to save lots of assets to a client but to make it economical you want ot save more than the default internet cache amount. Flash Shared Object (Local) allow you to do this somewhat but it would be great to have a way to just download files for cache (upon user agreement) to store assets in bulk of allowable types (images, video, models, bundles) to the file system.

Hardware rendering for 3d support and UDP support will put Flash and SL3 on par with the killer Unity3D kit for making online web games and other activex/plugins like instantaction that allow you to do these things already.

The one thing SL has over Flash

Flash and Flex are great. But there is this massive division in the community and marketing of Flash. Silverlight is entirely unified and this has much to do with starting clean at a time that interactive development is heading more into a technology and developers control. Flash and Flex need to bring it together. AS3 has been out long enough that the people with skills have hopped on and taken it to a new level, mainly from programmers. If Adobe created a version of Flash that was a new IDE and consolidated Flex and Flash into just Flash, made the IDE as powerful as FDT or FlashDevelop3 there could be hope to bring the platform together. I understand they had to work it in slowly because it was a designers platform really (even though coders still pushed the limits in games and apps built on it) so they had to tip toe carefully on this to not alienate people. But now I think the division is a serious problem with the platform and must be addressed, noone expected Silverlight to be this quick on at least SL3 features. And even though the initial approach might have been bad as SL1 was a huge letdown, Microsoft does not give up and you can see in the XBOX360 and DirectX that they are very pursuant. DirectX really didn’t become huge until version 7 so these guys won’t relent.

I am not a huge fan of using the proprietary tools. Even in Flash I use as much open source as I can even though the player is locked, but Moonlight is something that trails Silverlight development and is a very unique thing in both open source and cross platform/multiplatform development. It is a clear relationship and aims to make Silverlight run on multiplatform mono including Linux. This could win out in the end who knows.

Futures

Great iterations of software happened this week in the latest unity3d version (2.5) that has windows support and the iPhone SDK 3.0 and now SL3 is quite a surprise in feature set.

I have been really busy this week just delving into all them and hope to start making more cool and useful projects in them.  The best part is right now is great to be an interactive or game developer as all major software companies and markets are focused on retaining good developers.  I don’t’ recall a time other than the beginning the the web virtual land rush that has so many options and markets that skilled developers and designers can choose from.  Good times.

Wednesday, March 18th, 2009

This is fantastic news!  Unity3D 2.5 has been released a bit early before GDC and it includes the game changing windows build environment and IDE.  This now opens up the Unity 3D market by a huge factor and Unity3d will find its way into many gaming companies that are heavily invested in Windows. We should see the amount of unity 3d players and content ramp up quite a bit this year.

Dont’ get me wrong I love my Mac Book Pro and continue to use it for development in Unity3D, iphone sdk etc.  But being able to use my windows machine as a dev box is great and I know this will be huge for many windows users not wanting to shell out the $1500 for the unity license AND $3000 for a decent macbook.  The cost wall has been lowered and it is a great investment if you are an indie game developer or a large game developer.

I usually only get excited about open source tools on this blog because they help everyone with skills have access, I hope one day there will be an open source 3d browser based engine as well.  Right now though there is nothing price competitive other than maybe torque instantaction plugin or the gaim engine (quakelive) that comes close with hardware rendering and none of them beat Unity in ease of pipeline.

One thing about Unity3d is it was a game engine from day one, it is only a game engine.  It isn’t like Director or Flash that are also application development kits, rich internet application kits etc.  This is pure game engine baby with hardware rendering for the win. Also, if you want to make 3d games for the iPhone without going hardcore OpenGL ES you can do so with an additional license that opens up your distribution channel to the iphone, flash can’t do that currently unfortunately.

And so it begins… GAME ON!

Wednesday, January 21st, 2009

The unity3d platform is about to realize about 900% or 9x more possible market for selling their wares and I believe will blow up with unity 2.5.  Unity3d 2.5 will bring a windows IDE and development environment to unity3d developers. Many game companies are heavily invested in Windows and having this option is breaking down a huge wall to get this development platform and engine into many new hands and companies.

The best part about unity 3d development is the hardware acceleration, the fantastic pipeline, the ability to publish desktop, web, mobile (iphone) and console (wii) is pretty amazing.  All using the powerful mono open source .net framework as a base.

Full update list:

Windows Editor Support

Unity 2.5 adds full support for Windows Vista and XP, with 100% feature parity and interoperability with Mac OS X. The Unity Editor has been rebuilt to look, feel, and function identically on both operating systems, each running the same underlying engine. The best part? Unity on either platform can build games for either platform — cross-platform in the truest sense.

A Whole New Look

Find the tools you need quickly and easily. The Play buttons are front and center, clearly visible and inviting you to play, test, and improve your work. And when you do, they light up, dimming the rest of the application, drawing your attention to the most important things in the play experience you’re creating.
Precise Navigation and Placement Tools

Improved Usability

Snap any object to customizable increments of position, scale, and rotation values. Drag objects around, clamped to any surface collision. Manipulate objects in local or world space. Use the new flythrough controls to get around easily. And did we mention the completely redesigned rotation tool?

3ds Max Importing

Drag and drop your .max files right into the Editor, including support for all skeletal based animation, multiple UVs, and vertex colors. Autodesk 3ds Max now joins the existing support for Maya, Blender, and all other 3D applications that integrate with the latest FBX plugin on the Windows platform.

Completely Customizable Editor

UnityGUI, Unity’s own GUI creation system, now powers the entire Editor and allows you to integrate your own unique level design tools, AI control tools, debugging tools, difficulty tuning tools, or anything else you need. Over 130 new API entry points enable you to create specialized, customized editor tools and build them into the existing Editor interface.

Tabbed Interface

We took cues from the best designed applications, and the rewritten editor has received dozens of improvements. The most visible change is the tabbed interface, where every part of the interface can be moved, undocked to a secondary monitor, and even stacked to achieve logical grouping.

Information at Your Fingertips

We’ve gone to great lengths to make sure that you always have the info you need, when you need it. Model files have previews right inside the inspector. Audio Clips show their waveform with click-to-play behaviour. Meshes show the detailed rendering stats – and that’s just scratching the surface.

Tuesday, December 23rd, 2008

I have mentioned before that flash to unity3d communication is a key part of game development for the web now where you are using Unity3D as a higher end renderer and some of your other page elements might be flash. Now there is a new open source kit for this called u3dobject.

To get Flash and Unity3D to talk to one another in an HTML/XHTML page is pretty simple with javascript and with the internal Unity3D Application object and the ExternalInterface in Flash.  But there are lots of elements of that communication that can be consolidated and reused so you don’t have to recreate that over and over.  Various studios and programmers come up with their own kits but when it becomes a shared activity to get the best integration and make it more of a platform that is where things like swfobject, swfaddress and u3dobject come in.

So far swfobject is the standard for flash html embedding and unityObject is a similar take (but a bit dated) on that but now we have u3dObject that is open as well and a more official open source project for unity3D <–> flash integration and test harnesses for development when those two technologies are used together.

Unity3D <-> Flash Embedding Info:

Sunday, December 14th, 2008

Unity3D is a great platform for developing 3d games where you need hardware acceleration beyond what Flash 3d can give you for the web.

There are lots of great independent gaming companies and web gaming companies realizing this and here in the #phx Arizona market a few good ones including Flashbang Studios on their Unity3D gaming site Blurst. I have been developing Unity3D for about 6 months and it is great where you want 3d environments over 2000 polys for the web.  The power of 3d hardware rendering on the web combined with a great development environment is making it possible to make really fun games with unity3d.

Unity3D Games Released Recently

Flashbang recently released Minotaur China Shop to add to their Blurst.com site of Unity3D games and community. They detailed the launch day at their blog.  It is a pretty fun game and once you get further into the game design with different paths, selling products or thrashing your china shop for insurance and strategic upgrades it has legs to keep interest.

Minotaur China Shop Trailer

[vimeo]http://vimeo.com/2474951[/vimeo]

There are lots of great Unity 3d games out there here is a list of the best of 2008:

      [source]

      Friday, November 28th, 2008

      I am working with lots of content now that is flash and unity3d in game development for the web, and occasionally systems built in flash, javascript or other have to communicate with Unity3D and vice versa.  You can do this from the server side (WWW/WWWForm class or sockets) OR you can also communicate client side for many things such as sending name value pairs or variables into Unity3D, Flash or the javascript in page as needed. There are some great tools like UnityObject that is like swfobject (only you have to update it to work with latest browsers) that make this more simple to send in params and messages. The same can be applied to Silverlight. It is pretty simple all in all but having a sample to start with is good with all these technologies.

      Paul Tondeur threw togetother a little sample that shows how you can integrate Unity3D, Flash and javascript in the page fairly simply with lots of great demos.  It really is just about passing parameters around into the objects from javascript, then within Flash calling ExternalInterface to call external javascript or within Unity3D calling Application.ExternalCall.

      //Flash adding callback for javascript code
      ExternalInterface.addCallback("functionNameInBrowser", functionNameInFlash );
      //Unity3D calling javascript code
      Application.ExternalCall("javascriptFunction", "Parameter1");

      Nothing too tasking but if you want to see samples of this working together from flash, flex, javascript, unity3d then check it out. Zip on over to Paul’s site to grab the files and more demos and samples. All examples are bundled in one download, which includes all the Unity3D, Flash, Flex, Actionscript and Javascript files.

      Here’s some demos