Archive for the ‘GAMES’ Category

Flash 3D Engine Yogurt3D based on OpenGL

Thursday, April 30th, 2009

Yogurt3D flash based 3d engine appeared recently and is another flash based 3d engine which is based on OpenGL called SwiftGL and is stated as open source.

The site mentions that OpenGL source can be converted to run in the engine.  You can do this now with Alchemy although it is in very early stages.  It is not clear if it is an automatic conversion or if it simply means it is similar in syntax and method signatures, objects etc.

I definitely will be watching and see how it progresses, there isn’t much other than a single post about the engine so far and no info on the api or sample code.  Looking forward to seeing more, the z-sorting is quite nice.  Doesn’t appear like collisions are there yet but it has a nice look.

Sometimes excellent toolkits come out of the blue like this such as Ffilmation (isometric flash engine) or Alternativa (flash 3d engine flash 10 focused) so you never know.

AS3 JiglibFlash Example with MouseConstraint in Papervision 3D

Thursday, April 23rd, 2009

@bartek from everydayflash.com is an amazing 3d flash designer and developer.  The latest from everydayflash is a sample using MouseConstraint in JiglibFlash the 3d physics engine for all major flash 3d engines.

It is easy to see how the latest version of JiglibFlash with MouseConstraint will be heavily influencing flash games and applications very soon. This is a very smooth and quick demo that feels very responsive on the controls.  There are so many possible uses for JiglibFlash now that the MouseConstraint is available.  It will evolve further but this version seems ready to start integrating into many flash game and interactive ideas and projects. Even though it is still alpha it has been heavily cleaned up and a plugin system added by bartek for pluggable 3d render engines.  That is a huge step for 3d pipelines in flash.

Great work JiglibFlash team!

Google Releases O3D Plugin for 3D in Browser Controlled with Javascript

Tuesday, April 21st, 2009

Google has a few things going for 3d in the browser, not just 3d but hardware rendering in the browser.  They previously had native client which allows you to run code via a plugin proxy with a sample running Quake.  They also had Lively which was a virtual world plugin that was shut down a few month after it started.

Now they are also making and releasing an O3D plugin that looks to be another way to do web 3d scenes and games although it is a very early stage. They appear to want to have an open discussion about how best to add hardware rendering to the web.  Their approach uses a javascript api to control the browser plugin and the O3D control is essentially just a renderer.

This won’t change anything now as Unity3D, Flash 3D pseudo engines, even Director 3D still are the top choices for games, apps, and interactives that need effects and possibly hardware rendering. But it is interesting that Google is essentially re-entering this debate after ditching on Lively and they must see some benefit to having a discussion about 3d on the web and 3d standards in general.  I know they have lots of models and tools with SketchUp and Google 3D warehouse so who knows maybe they will take it over by being standards, open and information based.

What is O3D?

O3D is an open-source web API for creating rich, interactive 3D applications in the browser. This API is shared at an early stage as part of a conversation with the broader developer community about establishing an open web standard for 3D graphics.

Get involved

One thing is for sure, 3d development is still old school proprietary lock in in most cases.  Working with 3d and tools like Maya, 3dsmax and others they have always been very non standard.  From file formats to interfaces to even basic movements, all different.  The general maths of 3d are the same and so should 3d pipelines.  Formats like COLLADA are nice because they are starting to open up 3d pipelines and content creation but COLLADA still has many porting issues.  FBX file format is another that is really useful and common making pipelines in Unity 3D, for instance, very nice. But it is owned and run by Autodesk who owns all the 3d apps (Maya, 3dsmax, SGI) and I am a bit leary of that method.  But in the end 3d pipelines and rendering will be somewhat standardized and maybe the web will be hardware rendered one day.  In most cases it is not needed, but for gaming, immersion, demos and other entertainment it could benefit heavily from a more standardized 3d pipeline and methods.

Unity 3D iPhone Roadmap

Tuesday, April 7th, 2009

A quick roadmap was posted by Unity3d.com blog on the immediate future of Unity iPhone.  Currently I am developing two games for the iPhone OS 3.0 and these are welcome updates.  We are really looking forward to items not in the hard version just yet but we are looking forward to terrain support and downloadable content support in iphone sdk 3.0.

 

Unity iPhone 1.0.2. Based on custom builds we’ve been sending to devs in need, this release will address engine memory leaks and fix other outstanding issues:

  • Physics and audio related memory leaks
  • Asset leaks while reloading scenes
  • .NET sockets and threads
  • Compressed audio related issues
  • Stripping away too much of GUI components
  • Occasional crashes in AOT compiler
  • Support for both portrait and landscape splash screens 

Next will be Unity iPhone 1.1. Since the release of 1.0.1 we’ve been working on a number of performance and memory optimizations. Most of the work on 1.1 is finished already and we’re doing an internal bug fixing round before it goes to beta testers too. Along with optimizations this release will include number of important features such as:

  • Binding custom ObjectiveC/C++ functions to C#/Javascript
  • Native on-screen keyboard support and interoperability with Unity GUI
  • Movie playback support
  • Performance optimizations:
    • significant C#/Javascript performance improvements
    • general rendering loop optimizations resulting in less OpenGLES state changes and less CPU work per object
    • number of internal routines were rewritten using VFP coprocessor assembly
    • way much faster mesh skinning utilizing VFP
    • batching small objects, given that they share same material, into single draw call
  • General distribution size optimizations which allows applications below 10Mb
  • Number of significant memory footprint optimizations

 
We don’t have strict versioning past 1.1 yet. Some of the following features will end up in the next big release and some might find a way to sneak into 1.1:

  • Compressed audio streaming directly from disk
  • Support for 3.0 SDK
  • 3.0 downloadable content
  • 3.0 bluetooth networking
  • GPS/Location support
  • Vibration support
  • Post-processing and render-targets support
  • Terrain support
  • Per-pixel DOT3 lighting support for skinned meshes
  • Reduce load times
  • Reduce distribution size even further
  • Improve GarbageCollector collection patterns to reduce spikes

Torque 3D Extremely Cool Feature – In Game Browser Web Surface/Canvas Capable of Web Render w/ HTML, Flash, Video etc.

Sunday, April 5th, 2009

Torque3D seems to have full featured browser surfaces that you can use in the 3d engine seamlessly, see the video below (at :38). This is amazing stuff.

Making games that integrate content from the web is especially required these days.  It is a difficult thing to do within the 3d render because of all the plugins, styling etc that needs to be rendered on a 3d surface.  Well Torque3D has a killer feature in that it supports entirely full features browser render on a 3d surface.  So now you can integrate html content, flash video etc in your game easily.

You can play content in flash player content easily and have stripped down html but it is limited, you can play videos and have content in Unity3d but it is limited, even larger engines like Unreal 3 have difficulty handling flash and html content.  If this is a good implementation Torque3D has a killer feature on their hands! Flash is commonly used as user interface elements and content within games but it can be challenging.  This is pretty exciting if it works as advertised. Think of how cool all the little consoles, mini-games and controls in 3d games could be in flash easily.

See at :38 in the video…


GDC 2009 – Torque 3D Web Demo from GarageGames on Vimeo.

Away3D Updated for Flash 10, Looking Good

Saturday, March 28th, 2009

Away3D was updated to Flash 10 earlier this month.  Flooded with final semester, massive workload and all the conferences #swsx, #gdc, #mix09 etc I missed the announcement.  

It is looking pretty sweet with this mustang demo showing off the update.  Pixel bender has provided a performance update for effects that shows nicely here.

The above demo shows some of what is possible with the update: normalmapping with ambient, diffuse and correctly normalised specular shading, without the need for layers. As if that’s not enough, a further Pixel Bender shader is applied to the view to create a HDR (High Dynamic Range) effect on the highlights, something usually seen in much more 3d-rich console games. Special thanx go to Eddie Carbinfor donating an excellent normalmapped mustang model, and David Lenaerts for writing the HDR filter.

Airtight Interactive did a comparison a while back where FP10 rendering was faster against the olde version of Away3D, this update may change that will have to take a look.  All away3d needs is a designer :)

Director 11.5 Released with ByteArray Support

Saturday, March 28th, 2009

 Director 11.5 was quietly released last week at GDC with a few nice upgrades.

  • The sound library is updated to Dolby surround 5.1. 
  • Director 11 now supports ByteArray and binary data handling. 
  • It also states support for Flash 9 swfs. Previously Director 11 did not work well/atall with AS3/Flash 9 swfs which made it nearly useless.
  • Streaming support for audio and video with RTMP (red5, flash media server, etc)
  • Updated video support
  • Bitmap and audio filters for video

I still think Director is on decline unless they open up the development platform, lose Lingo and allow a real IDE to develop with. So frustrating being restrained to that IDE that is not very flexible and cumbersome to extend and code in when you compare it with cutting edge IDEs like Unity3D or open source flash IDEs like FlashDevelop. It has been completely removed from our workflow for some time due to new Flash 2.5D engines such as papervision 3d, away 3d and sandy or for more immersive hardware rendered 3d, unity3d. 

 

Adobe Director version comparison chart
Product features Director 11.5 Director 11 Director MX 2004
Support for 5.1 surround sound Yes No No
Real-time audio mixing Yes No No
Audio effects and DSP filters Yes No No
H.264 MPEG-4, FLV, and F4V video support Yes No No
Streaming support for audio and video with RTMP Yes No No
Ability to apply audio filters on a video Yes No No
Ability to apply bitmap filters on a video Yes No No
Google SketchUp file import Yes No No
Enhanced physics engine with support for dynamic concave rigid bodies Yes No No
ByteArray datatype for binary data handling Yes No No
Multiple undo/redo for text editors Yes No No
Text rendering and performance optimization Yes No No
Cross-domain policy support for Adobe Shockwave® Player Yes No No
Mac OS X Leopard support Yes No No
Unicode support Yes Yes No
Microsoft DirectX 9 support Yes Yes No
Advanced physics engine with included NVIDIA® PhysX™ support Yes Yes No
JavaScript dictionary Yes Yes No
Code snippets Yes Yes No
Bitmap filters Yes Yes No
Microsoft® Windows Vista® support Yes Yes No
Support for Intel® based Macs Yes Yes No
Cross-platform projector publishing Yes Yes Yes
Web publishing with Adobe Shockwave Player Yes Yes Yes
Support for more than 40 video, audio, and image file formats, including SWF Yes Yes Yes

Unity3D Path and Behave Projects From AngryAnt: Waypoints, AI, Paths Library, Behavioral Trees and More

Tuesday, March 24th, 2009

AngryAnt brings us a nice library for pathing and behavior trees in Unity3D with excellent editor integration. Path library I reviewed and is an extremely deep and complete library with autocomplete node collections from colliders, ability to connect different networks and detection from mesh as well as GUI tools using Unity3D editor scripts. The release is solid with documentation, video samples and is very easy to integrate. If you have a need for AI, bots, scripted animations or other madness in your game be sure to check out the pathing library and or the behave library from AngryAnt to implement or research.

Path Features

Specs:

  • Available for unity indie as well as pro licensees
  • Can run in webplayers as well as stand-alone
  • Requires no additional installations

Features:

  • Easy to use editor interface
  • Navmeshes
  • Waypoint networks
  • Cached pathes
  • Distributed processing using coroutines
  • Tag-filtered pathfinding
  • Hierarchal “grid network” pathfinding
  • Auto-recalculate on runtime network changes

Tutorials

I recommend you study the “Editor demo” unity project available on the Path download page. This project will be used in the tutorials below and contains an example Path setup.

Tutorial 1 – The basics

Runtime reference

The Path project comes with a small, but effective runtime API. The following links list the classes herein and their methods / properties.

Path unity package

Path package
The Path package contains all you need to start using the Path editor and run-time components in your project.

Demo unity project

Demo project
The Demo project is a complete unity 2.5 project with Path already added, a sample Path collection set up and example scripts requesting path calculations and following them.

Behave Features

Specs:

  • Available for unity indie as well as pro licensees
  • Can run in webplayers as well as stand-alone
  • Requires no additional installations at runtime

Features:

  • Implements behaviour trees
  • Re-use common behaviour by reference
  • Drag and drop editor interface inside the unity editor
  • Simple connection to character actions via C# interface
  • Designed trees are built to .net assembly code for maximum performance
  • Runtime debugging features
  • Powerful stand-alone editor – including web version

Behave unity package

Behave package
The Behave package contains all you need to start using the Behave editor, compiler and run-time in your project.

Behave 0.3b hotfix

Behave 0.3b hotfix
This hotfix solves a few critical issues with Behave 0.3b and unity 2.5. It’s still quite buggy and I’m working on a more extensive rewrite. Stay tuned.

Demo unity project

Demo project
The Demo project is a complete unity 2.1 project with Behave already added, a sample behaviour tree designed and compiled plus an example script showing how compiled behaviour trees are integrated with unity MonoBehaviour scripts.

Behave builder application

Behave builder
Behave builder is a stand-alone application offering the behaviour tree editors (excluding the compiler) outside the unity editor. It is currently OS X only. This application is also available in an online version – check it out in the “Preview” section of this page.

Example library

CitySimulation.behave
CitySimulation.behave is the library used in the demo project – saved as a Behave builder file. You can use this file directly in the online and offline version of Behave builder or import it to a unity project via the Behave “Assets” menu.

Torque3D to Offer Web Based Export Similar to Unity3D, Improved Pipeline

Tuesday, March 24th, 2009

It appears Torque3D is going to compete with Unity3D in a browser based 3d plugin front with a Torque3D toolset and pipeline that target the web.

They announced this on gamasutra recently on how instantaction and torque3d technology is similar yet different. InstantAction is an engine wrapper where the web plugin for Torque3D is more tighly coupled with the Torque3D engine. Instantaction.com technology allows you to wrap an existing game engine for the web which is a competitor with the gaimtheory engine that is used on quakelive.com.

I have been a garage games torque developer and member since 2003 and worked/bought with each engine they have put out from the old school Torque Engine, to Torque Engine Advanced for various game development projects and now they are throwing in on what appears to be based on their instantaction.com technology but using the Torque3D engine. This is very interesting, they might even have a channel/appstore to release games on instantaction.com?

Unity3D has recently taken my time in the full immersion 3d for the web space, the mono engine that runs the scripting is a huge feature. Coding in C#, Boo and javascript is great, and the pipeline for Unity3D is unmatched.

A bit of history, I have been interested in this since Director introduced 3d in director 8.5 in 2001 (how was that not a major revision I don’t know) and the killer Havok 3d physics engine within it. Way ahead of its time. But Director 3d was extremely limited with w3d (not even a decent blender exporter) and it literally has not advanced since that time in terms of ability to develop better for it and the IDE. It was trapped in this little IDE and quirky Lingo language. They tried to save it with javascript, a valiant effort but it still withered due to lack of openness of development for the player (a mistake they aren’t making with Flash now at Adobe). So making full immersion 3d games was not really ready for the web, Director was notorious at crashing browsers and took way too many broken plugins to get a basic engine.

So I went to mods in HL (quake 2 engine), Unreal and when I realized there was no way me or my friends could foot the license fees of either engine we went to Torque in 2003. It was great, large terrains and highly compact engine because it had to run Tribes with 64 players years before anyone else approached 64 players and arguably still played better than 64 player fps now. It was affordable. I have been interested in the movements to make torque an active x control in 2005/6 and Think Tanks did just that. It was very nice, I thought soon after it would be everywhere. But it has taken until now and a new engine called Torque3D before this has been realized years later. This is hard stuff to get right creating a plugin that works cross browser and performs well (browsers had to catch up as well). The culmination of that technology progression has happened and 3d on the web for game development appears to be bigtime in 2009.

Unity3D meanwhile since 2005-6 has gotten it nearly all right so far for a few years now, especially the pipeline and the webplayer. Torque has always had an poor pipeline, not as bad as writing your own engine from scratch and all the tools but in the early days pretty close. Proprietary formats like dts for models made finding the right exporter tasking. There were just so many walls in what was supposed to be a pipeline, largely due to support for formats that were small enough for slower networks and machines of the past. Unity3D gets all this right from the start, pipeline is not an issue. Torque3D seems to address this with their new tools, support for Collada, but unfortunately still scripted with TorqueScript. If Torque3D could wire in Mono and the capability to code in Javascript, C#, Boo or other Mono languages this would have been cool, or at least a semi-standard scripting language like Javascript, Python etc that would be great. TorqueScript was a big feature and UnrealScript is very similar in how it interacts with the engine, but these days we want standard languages that have engine features built in. Maybe this will happen down the road, but the format support is very nice.

For 3d, prior to Unity3D, the web was still owned by Director but that has changed in the last few years. It won me over for immersive 3d games that are web capable and able to port to other platforms and markets. Casual is still done with Flash and mobile space is targeting iphone. Unity3D can run on web, iPhone, Wii, desktop. Torque3D can run on web and also has paths to desktop, iPhone, Wii, XBOX360. You see what is happening here? It is very cool indeed. No doubt the competition in this area is getting to a point where some good innovation and happenings are taking place, what are you going to do with it?

Silverlight 3 Mix09 Demos Video of Pixel Shaders (HLSL Authored), 3D Planes, SaveDialog, Local Connections, Out of Browser

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.

Your Ad Here
Your Ad Here


*drawlogic is proudly powered by WordPress
Entries (RSS) and Comments (RSS).
Your Ad Here Your Ad Here