Here's a bookmark to my most recent diary entry:
Upon reading the COMP.VRML.LANG newsgroup, I figured I would stick with CyberPassage as a browser as I begin to convert some VRML 1.0 worlds to 2.0 worlds. I note that some of the existing 1.0 worlds did not look very clean in the browser compared to the Live 3D browser. But, I spent the rest of the day reading through the various .WRL files that were downloaded by Sony onto my hard drive. I noted that CyberPassage had a Bookmark feature... the first I have seen in any VRML browser.
Change Color of Sphere from Red to Green
Change Location of the Grey Sphere
Change Size of Two Spheres - The Gold Gets Larger, The Blue Gets Smaller
Rotate the Green Cube 30 degrees
Change Viewpoint to be closer to Spheres (Click on Gold Sphere)
I then played around with the new node syntax for geometry and transformations. I found the transition to be painless and the new standard clearer to read. Lastly, I decided to create more complex behaviors and created a simpleMarble Machine which comes alive by clicking on one of the two marbles. The whole process was extremely exciting as I got an incredible vision of how we will use this technology. Note: I like the feature of CosmoPlayer that uses the Page Up and Page Down keys to move between consecutive viewpoints provided by the VRML 2.0 author.
As for shared VRML 1.0 worlds, Black Sun's CyberHub Client and Server seem an attractive platform. I had been participating in Pointworld, a shared community I could visit using their Cybergate browser. I was impressed with the conversations I could have with other avatars as fellow visitors were technical and intelligent. The CyberHub seems even more impressive since it uses the Live3D browser for viewing VRML files. Live3D's rendering and navigation are at the forefront right now so my experience was even better using the CyberHub than it had been using Cybergate. It may take a bit of time before the user population gets on board with the new client and so I will wait to see how it performs with 50 or so users... something that worked great with Cybergate. Blacksun has a decent interface for chatting, exchanging business cards, and beaming to other avatars -- all wonderful enhancements to the standard VRML viewers.
Intel also has a VRML 1.0 based multiuser platform called Distributed MOO which at first showed a lot of promise. I found the interface to be quite nice and the microphone/speaker talk capability intriguing. VRML 1.0 does not parse well in the browser and there are no plans to go forward to VRML 2.0 until an improved rendering engine is made available. Intel is continuing to develop the product and the server can be downloaded for free.
As for the Java API capabilities, I read the latest scoop from VRMLSite Magazine in an article called "The Marriage of Java and VRML". The article mentions three ways to extend to Multiuser worlds using Java: 1. Use Community Place. 2. Use the LiveConnect feature of Live3D. 3. Use Liquid Reality's VRML browser which is written in Java and then extend it for additional capabilities. Hopefully, since Sony has made the VRML 2.0 Java API standard public through the VRML Architecture Group, others will use it to extend their VRML 2.0 environments.
So, in terms of my next steps, I will create my own VRML 1.0 based world and make it available through CyberHub and then visit it with others. I will also download the Community Place server and get it to work so that I can create a multiuser world to be browsed by the Community Place browser. Note that both Sony and SGI have created authoring tools for VRML 2.0 development. Sony's is called The Conductor and SGI's is called CosmoCreate3D. I will take a look at these products also.
My level of experience was just right for attending the Earth to Avatars conference in San Francisco. There I was able to talk to both SGI and Black Sun about creating shared worlds for the internet. I realized there are a lot of companies supporting the Living Worlds standard. This standard should speed up the process for creating interactive, shared worlds that we will be able to experience with our own avatar. Black Sun is creating a Living Worlds compatible server and SGI is delivering a Living Worlds compatible browser. Supposedly, other server providers will support this standard also so we will all be able to visit many worlds using our same browser and avatar.
The Living Worlds standard is far reaching in scope. It intends to govern how servers should package information about avatars and active objects in a virtual world in order to efficiently forward that information on to each browser that is connected to that server. It will support simple communications between visitors such as 1:1 chat, voice conversations, and white-boarding. The standard will suggest a capabilities interface so each user will know the capabilities of each other visitor to the world. It will also identify a simple security and rights model so each visitor can decide with whom to interact and not be invaded by a unwelcomed participant. All these issues are important, but to me the most critical is the avatar and active object communication between browsers.
Other standards were introduced at the Earth to Avatars technical session. The Universal Avatars standard is being drafted to create a standard way your avatar is represented to all worlds. VRML 2.0 is a great standard for representing the geometry and simple behaviors of your avatar, but additional capabilities can be added beyond VRML 2.0's scope. Universal Avatars will address the standardization of those capabilites. It will also address representation of avatars for participation in a 2D world. The Universal Worlds standard sets the course for interaction among worlds that have a shared scale and coordinate system. Their standard is being implemented based on work done by Mishubitsi's SPLINE group. Instead of being built on top of VRML 2.0 as Living Worlds is, it is more of a Java-based API specification for multiple user communications. Yet, it should work well running on a server that supports the Living Worlds' standard to bring extended shared behaviors to multiuser worlds. The Virtual Humans Architecture Group standard has to do with representing the human body in 3 dimensional space. It's scope goes well beyond avatar representation and has been worked on for a long time for industries that need to model the human body -- the garment industry for example.
I will spend some time to understand these Standards and get familiar with the issues. In the meantime, I will port Chinese Checkers world over to VRML 2.0 and get it working as a multiuser world. After doing that, I will move on to another world that will test out Black Sun's CyberHub server technology. This will tie in directly with my thesis topic. Stay tuned.
Just a quick editorial on the people I met at the Earth to Avatars conference. For the first time, I felt I met people that both thought like me and inspired me. This field includes people from all diciplines in a time when we are talking about the New Science more and more. What better technologies to get involved in than those dedicated to the development of cyberspace? The anthropologists were especially insightful when discussing cyberspace and its ramifications on our society. After the conference, I bought and read the book Snowcrash by Neal Stevenson. Everyone at the conference had read it. I must admit it has a very strong image of the 'Metaverse' -- a 3D shared universe where everyone visits as an avatar. The language is harsh, the author highly opinionated, and there are many sexual inuendos.
Also, the computer scientists are doing some amazing work with digitizing human motion and applying robotics to avatar behavior. The avatars of tomorrow will be really amazing. Take a look at the company Kinetix's work if you get a chance.
It has been a while since I entered a diary entry. I have not been jumping VRML viewers as much as I had, but instead have focused on the CosmoPlayer betas from Silicon Graphics. That choice became very fortuitous as I was able to assist in writing a book for Sam’s Net on VRML 2.0. The lead writer works for Silicon Graphics on the CosmoPlayer project and so, I became immersed in their VRML viewer for the examples in the book. The book is called "Teach Yourself VRML 2.0 in 21 Days" and it should be on the bookshelves nationwide by January 30th. I think it is a great technical reference on the standard VRML 2.0 file format and the 3D modeling in general. And, the demonstration worlds are great if you are one apt to cut and paste VRML nodes to create new worlds. The book comes with a CD-ROM that includes the beta 3 CosmoPlayer VRML viewer. That viewer is much more full featured than the beta 2a that preceded it. In fact, it also cleared up some discrepancies from the official VRML 2.0 specification.
I recently have been using the browser through the external interface... yes, the same API I had used to create Chinese Checkers World. The difference now is that I am using some Java Physics Classes that I obtained from John Henckel at IBM through their web site. The web site demonstrates them with Java-based 2D graphical output. I found them easy to use to plug in a VRML 2.0 3D graphical output and now the output looks much better. I will put that on-line soon once I finish debugging. Take a look at my project page for the appropriate links.
These classes have allowed me to produce all kinds of interesting VRML worlds including a VRML pool table for playing billiards, an interactive croquet or golf course building and playing world, and soon, an interactive marble machine world which I will use to test out my thesis.
In fact, I have already started to create the billiard and marble machine worlds. I tested them on a Pentium 90 with 16MB of RAM and they perform wonderfully, at least to my needs. The marble machine looks fine with up to 20 marbles bouncing around at the same time and the billiard world looks ok even upon the initial break when 16 balls are interacting with each other on a regular basis. I will put both of these worlds up soon with the appropriate source code. Again, check my projects page. The results have given me a new sense of excitement in continuing with the thesis work. One limitation I have noticed so far is that moving objects should not move faster than their shortest width as they can miss a collision. In the billiards world, this means I must find a good mix between speed, viscosity, energy loss upon collision, to be able to provide a realistic experience without missing any collisions. If this is not possible, I will modify the source code in order to test for collisions with more intelligence. Also, I am extremely pleased with how user control in the Java interface is immediately picked up in the world. I have to test the same influence of a VRML 2.0 based interface of using objects within the world to manipulate the world as this is a more interesting feature to me.
Lastly, note that the physics classes I am using only handle two dimensions so the worlds I am thinking about all include a ground plane. If I put together an interactive golf course design world, I will have to find the appropriate 3D classes. If you are aware of any physics classes that are available that you think I would be interested in, please send me email at: bdc@hitl.washington.edu.
As for the future, I will most likely be using the CosmoPlayer VRML viewer for some time to come. I will continue to document my findings here and report on the appropriateness of it for performing different tasks. But, remember, I am already sold on VRML 2.0 as a file format. It appears to have everything I would need for creative virtual world development.
Also, Active Worlds is ready to release Beta 3.0. Expectations are high there as well.