>Glad you've stuck with us. > >I remember VRSpace (well, visiting the web page anyhow). What became of >that? It looks like there's still some mailing list activity.
Oh yeah, VRSpace is still kicking as I understand. I stopped working on it somewhere in 2004 so haven't really played much with it since then. Its main guy Josip Almasi I believe has been making modifications to it. In the intervening years I spent a lot of time programming in c# and I decided java didn't have what I needed to build the system I was looking for in VRSpace. My take on things is that the VRML world basically had the right idea about how to build one of these virtual space system, but things got out of wack. Ever read the "Living Worlds" document?, very cool, ahead of its time stuff. However, they got too caught up in VRML itself. First they build a nice standards 1.0 that let you set up a scene graph. Then they add animation, events, prototypes, for nodes and an external api for interacting with the scene. All very good, but they also added internal scripting languages, which is where they started to go off the deep end. As far I understand it now, they have cut off support for the external api, and expect you to fully program all your nodes in javascript. Say what? Basically they think VRML is everything, graphics, animation, all the underlying logic, networking, programming... way too much for someone building a VRML browser to be responsible for supporting. But still the abstract concept of an object living in a space with events, properties, perhaps geometry is the right one. Objects that can be discovered, reflected upon... So I want to turn the VRML concept inside out. Spaces (whether client side or server) are collections of special objects (VRObjects if you will) that are shared when the two spaces encounter each other (Client logs in for example). These objects may or may not have geometry associated to them, but they do have attributes that can be queried, and events that can be registered for. As an example, the most basic example of a VR chat system is: Server - Chat object with method Say. Client 2 - Merges with Server space, register a listener to Say method on chat object. Client 1 - Merges with Server space, sees Chat object, calls Say with parameter ( "Hello World" ) Client 2 - Receives the Say call, and maybe displays it. So why c#? basically they've got Serialization, Remoting, Attributes, and most importantly this notion of a ContextBoundObject, which together basically gives you a VRObject. A CBO lets you intercept any calls to it from another CBO (whether residing in another virtual machine or the same) and handle them as you wish. So in the above, "register a listener with Chat" and "receive the Say call" are handled transparently by intercepting the Say call and calling all the listeners. The remoting handles all the object serialization and communications, but most importantly whether you are calling methods on a server object from the client (chatObject.Say("Hello World") or from server to server object, you program it the same way. The fact that this method can be listened to at all, security etc. occurs by marking it up with attributes. In terms of seeing objects though in a virtual space, its all handled as above. You have classes called Transforms with associated objects VrmlFiles. You detect a transform and vrmlfile when encountering the space, you read off the Transform's location, the VrmlFile's resource "blah.wrl" and tell your browser to create the associated nodes. If you want to "script" a vrml node, you do it all by listening to the vrml nodes, and handling the events in the c# itself. So the vrml file is slave to the c# class, not the other way around which would be more the VRML evolved. So I know I am preaching to the choir here, which is why I think your project rocks. My take on your stuff is that you have built the entire protocol, the serialization, the CBOs, reflection, the attributes/security yourself. Very impressive. >To be honest, I hate COM and our primary development platform has always >been Linux, so it's not particularly high on the list of priorities. >However, interoperability is going to be a strong focus of the next >version, so some kind of COM binding may be down the road. I'm actually >more interested in being able to interoperate with .NET directly than >trying to do .NET via COM. The tricky part on Windows is that I also >want to support compiling with cygwin/mingw, so we can't rely on tools >that are only available with Visual Studio. I hear you. Yeah the only real reason for suggesting COM was for the interop with .Net. I suppose then you could make yourself a managed c++ assembly which wraps your api, but watch out for combining .Net memory management with your code, yikes! How about mono? >Yes, we've been meaning to do that for a long time. It's just a matter >of developer time and resources. Yeah, i remember the documentation sections on the widgets, etc. Its a lot to ask for. >These are all good ideas, and I'll incorporate them into the >requirements document when I get a chance. Awesome >I used to play Hero Quest! That game was great. I still have a boxful >of plastic orcs lying around here somewhere... Yeah, HeroQuest, I thought if I made a demo boardgame it better be something that's actually fun to play. Chess didn't cut it. You just sent out a message about demo worlds. I heartfully suggest the notion of a gamespace. You walk in, see little stations that let you run various games, get to start a game/join one, play, keeps track of your accomplishments, etc. That's basically what I am working on now. >-- >[ Peter Amstutz ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ] >[Lead Programmer][Interreality Project][Virtual Reality for the Internet] >[ VOS: Next Generation Internet Communication][ http://interreality.org ] >[ http://interreality.org/~tetron ][ pgpkey: pgpkeys.mit.edu 18C21DF7 ] > ><< signature.asc >> >_______________________________________________ >vos-d mailing list >vos-d@interreality.org >http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d _________________________________________________________________ Want a degree but can't afford to quit? Top school degrees online - in as fast as 1 year http://forms.nextag.com/goto.jsp?url=/serv/main/buyer/education.jsp?doSearch=n&tm=y&search=education_text_links_88_h288c&s=4079&p=5116 _______________________________________________ vos-d mailing list vos-d@interreality.org http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d