I updated to iPhone SDK 3 beta 4 and iPhone OS 3 beta 4 and the latest Unity iPhone and things were much better in perception of speed at least in early testing. Not sure if it was more from one or the other but the games I am testing/building so far are quicker and the OS feels faster overall.
This build fixes many issues and makes some great optimizations for speed as listed here:
New Features and Improvements
Reduced memory footprint for uncompressed audio by 50%
“Memory usage for textures reduced by 50%. Texture memory is now freed once it has been submitted to OpenGLES on the device. The “Enable Get/SetPixels” flag in the Texture Import Settings lets you disable this feature on a per texture basis in order to access the texture data from a script using GetPixel etc.
Improved iPhone script call optimization
Removed unused parts of Mono runtime
Reduced memory overhead while reading data from disk and slightly improved load times.
Support for several predefined splash-screens (portrait/landscape) for Indie version. Just rename one of the splash-screens in the output directory to Default.png
Exported audio session activation/deactivation functions to AppController.mm
Added Scripting Reference code examples for iPhone specific APIs
Bug Fixes
Fixed audio to play correctly after phone call / text message / alarm interruption occurs
Fixed compressed audio occasionally refusing to play
Fixed AudioSource.PlayOneShot to work correctly with compressed audio
Fixed audio to respect Mute switch and background iPod music
Fixed Pause function and time property for compressed audio clips
Fixed OpenAL memory leak
Fixed PhysX memory leaks
Fixed Audio and Animation assets leaking while loading new scene
Fixed a crash related to playing compressed audio in a sequence
Fixed memory leak while updating Mesh geometry data
Fixed several small memory leaks in rendering module
Fixed asynchronous .NET sockets
Fixed .NET threads
Fixed cross thread boundary calling to the delegates
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.
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.
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.
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
Download the plug-in (Windows and Mac) and explore the samples to see O3D’s capabilities. Linux users, see these instructions.
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.
Recently added include, you can now use RADIANS or DEGREES to manipulate objects in the engine, also adding standard yaw, pitch and roll methods.
There is a mouse interaction now available with a MouseConstraint class to allow the user to drag a 3d element with the mouse which is great for gaming and interactive 3d physics scenes.
New class: MouseConstraint
There has been a new class to the Papervision3D plug-in called MouseConstraint and a new example to the Papervision3D examples folder. The class basically allows you to attach a world constraint to an object and simulate dragging.
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.
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 thismustang 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.
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
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.
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
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.
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 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.
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.
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?
RT @waxpraxis: Love the term "incidental complexity" - complexity not inherent to a problem, but from the way the solution is derived. 3 days ago
boo! iMac having hard drive issues only 2 weeks after upgrading to snow leopard, hopefully DiskWarrior can save it. pi day has been tainted. 4 days ago
Alice in Wonderland was pretty good, great visuals, pretty decent dose of Burton. 5 days ago
OpenGL 4.0 released, in a couple years we will have opengl 4 enabled cards w tessellation... http://bit.ly/cggF3f - puts it on par with DX11 1 week ago
Finally got an openssl network lib running pc, mac, iphone + nix..biggest problem was iphone os compared to iphone sim (arm vs i386 targets) 1 week ago