On Mon, Aug 15, 2005 at 10:46:55AM -0700, Sean Lynch wrote: > I have been thinking about Verse ever since I started playing with > Second Life. Second Life's protocol is very much a streaming protocol, > with coarse data sent first followed by finer and finer data (assuming > you don't move around). That way when you first enter a scene you can > see a rough render of the scene and it will fill in as you receive more > data. It's not clear if Verse is structured this way.
>From what I've read, it's not. > The protocol that I envision would be structured as a collection of > streams encapsulated in a single UDP stream, and it would be tolerant of > packet loss, sending updated data rather than resending old data if a > particular chunk is not acknowledged. If Verse is not a streaming > protocol, if an entire scene must be sent before it can be rendered, or > if it insists on sending an entire scene even when you've moved on, it > won't be very useful for my purposes. I don't believe Verse is good for network gaming. However, Verse could be very good for inter-application functions, such as using Blender as a level editor or GIMP as a skin editor in realtime. GIMP and Soya can share skin data, so you can draw on the gimp window and watch it reflect in realtime on the 3d object. That is, if GIMP is ready for this ;-) I have a network protocol that's been worked on for awile. I also work with the Xiph foundation (open/free multimedia codecs) and have a background in media distribution systems and protocol design. The module is called Tempeh (Soya Cultures), formerly Py2Play2. It's designed for many different kinds of games, and unlike Tofu, it's not built around the "level" ideology that Py2Play was. "Levels" was a way to limit who you got data about, limiting your data update to the level you were on, which is inappropriate for a MMORPG where your dealing with a large, seamless landscape and builings where you can see the outside world from and vice versa. Updates need to be based on position, much like the OpenGL zbuffer, only sending updates if they're in a certain range, and yes, focusing downloads of skins on things near you, letting lower resolution skins fill in for those further away until bandwidth is free enough to transfer them. Audio is the same way. I'll be releasing a P2P 3d Mush "game" as a set of tutorials. If Verse support is available, I'll use it too :-) Will allow users to build their own 3d environments on their own systems and connect it to "portals" of connected P2P peers, and use those portals to travel via their avatars to their peer's 3d environments (hosted on their peer's computers). With Verse support, editing of their avatar and their own domain of the Mush can be done in realtime. Imagine setting the skin of a canvas and painting it in gimp as others players watch.. :-)
