Wednesday, December 3, 2008
MXP is one candidate to become standard means of client to server communication and server to server interoperability. Typical applications would be systems like OpenSim, SecondLife, realXtend and their interoperation.
Interactive bubble bouncer demo client can be downloaded from: http://www.bubblecloud.org/
Client requires modern 3d video card (shared profile 2.0), Microsoft Windows with .NET Framework 3.5 and XNA runtime. If you do not have them you can download them install time.
If these requirements are too much you can check the video: http://www.youtube.com/watch?v=SiO7D_HDJR4
Saturday, November 29, 2008
MXP is a UDP binary protocol offering structured messages for distributed 3d simulations. MXP has well defined scope but extendability and flexibility has not been forgotten. It carries as payload a genre specific protocol which is used to communicate for example animation sequences and interactions. MXP has well defined domain model and use cases which are good read for those who are interested in this area of expertice. MXP leverages novel ideas enabling unpreceded level of virtual environment scalability and interoperability.
Current proof of concept implementation demonstrates 100 moving objects with client bandwidth use of 75 kbps (bits per second) without optimized version of movement message. Optimized movement messages will theoretically offer 15 kbps bandwidth for 100 objects and 1.5Mbps for 10 000 objects.
MXP supports bubble cloud concept on both client to server and server to server messaging. Bubble cloud concept consists of linked spherical server bubbles which may overlap and be sized and arranged in any 3 dimensional configuration. Clients roam between bubbles seemlessly in analogy with mobile devices and base stations. Bubbles exchange information about objects they contain so that clients connected to one bubble observe objects from the neighbouring bubbles as well. Any client may inject objects to the bubble in the boundaries of access rights.
We are looking for more people willing to join this community effort and projects like realXtend and OpenSim which are able to give us requirements and use cases for the specification work. More details can be found from the following address:
Sunday, October 19, 2008
While this configuration is simple and effective it is possible to improve it significantly to provide better performance, redundancy and local load balancing. In redundant grid one simulation node may shutdown and the grid remains accessible in that location. Local load balancing means that the same space is simulated by several simulations which exchange state information. One such configuration is dual cubic lattice:The following page contains example calculation estimating that redundant dual cubic lattice provides 25% more objects and 100% more clients with the same bandwidth usage and same maximum object size as simple cubic lattice. The example assumes that network capacity is the limiting performance factor:
Sunday, October 5, 2008
The functional clients seem to be branches from the open source SecondLife client and as such have the same glitches and usability problems. It would be great to see a bravely redesigned client with good usability and smooth functionality. SecondLife and the OpenSim clients remind me of the good old rule: "Prefer quality over quantity".
Why is it that still even now after all these years the avatar in SecondLife moon walks like a zombie. Creative directors need to appreciate how important immersion is in 3d environments and how fragile it is.
Thursday, September 25, 2008
Tuesday, September 23, 2008
Thursday, September 18, 2008
A great vision has been evolved by theorists and scholars to in depth model. The model albeit being detailed is not practical and subsequent standard have the same nature. Which brings us to the standard compliant implementations that do not work, implementations that do work but are nothing alike the standard and finally the implementations that claim to implement the standards but actually provide inadequate standard interfaces and actual operation is based on proprietary interfaces.
After this the path is forked. Some standards embrace solutions from the working implementations and fulfill their potential. Others do not evolve but stubbornly rely on the original theoretical models and actually hinder the development instead of accelerating it.
My current observation is that unfortunately the latter is the case with virtual reality related standards. It is quite obvious that there are very well functioning implementations like World of Warcraft and other massively multiplayer online role playing games. The existing commercial and non commercial social 3d worlds in contrast are painfully cumbersome.
The worst engineering misconception is that virtual reality is web in 3d. That alone brings many misleading ideas to the table. For example dynamic object loading which is visible to the user breaks the immersion. Another good example is that 3d protocols and model formats are TCP and XML based. 3d has more data and binary formats are practical in model presentations. At minimum XML ought to be encoded to binary format when larger models are in question. Grammar could be the same but encoding more efficient. Virtual reality has dynamics which do not exist in web and again practical engineering solution is to use UDP based messaging. Communicating the dynamics requires massive amount of messaging between client and server creating encoding performance bottlenecks if XML is used.
It is high time that the standards are re-evaluated from engineering perspective and solutions from MMORG genre are adopted to standards. There is no need to worry about backwards compatibility as long as there are no well functioning implementations. I would also like to question if competing standards are actually a bad thing. Little competition has always been a good thing. It forces the opponents to go for the best possible result they can achieve.
We have the technology and we have the knowledge today. We only need to ask the right questions. What is the minimal standard required to realize virtual environments? The first rule of software design is to solve the known problem with minimal complexity. Same principle should be applied to standards.
Tuesday, September 9, 2008
Ogre3D is one of the most popular open source engines and has many stunningly beautiful rendering features.
Monday, September 8, 2008
One example of the applications:
OpenSceneGraph may turn out to be the future standard for open source 3d. Solid open source technology combined with solid standard will make the basis for global integrated virtual environments.
Sunday, September 7, 2008
The site also includes various other categories but VR category seems especially useful as there are not many if any good VR aggregate feeds about.