-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'd like to talk a little bit about what I mean when I say I want VOS to
be "the 3D web".
I don't mean that VOS neccesarily use any web technologies, I mean that
VOS has a similar scope: in the way that the web has come to utterly
dominate hypertext and most forms-based applications, VOS will be the
framework in which most online 3D applications will be built. This means
taking cues from what has worked and not worked in the relm of the web,
applying lessons learned from the technology, and interfacing with
web-based technologies where apropriate.
One of the key innovations of the web browser is that it is sufficiently
generic that people have been able to implement all sorts of amazing
applications using the capabilities it provides. There is a reason why a
few years ago people were talking about Netscape making the underlying
operating system irrelevant! What I want to build into VOS is the same
kind of flexibility that makes the web browser such a powerful
meta-application -- but with a focus not on 2D hypertext, but interactive,
multiuser 3D applications.
Why not build a 3D application within the web browser, as others have
tried to do? Well, VOS is built on the observation that there are three
basic limitations of HTTP which have caused 10 years of pain, suffering
and hacky workarounds for developers trying to build interactive
applications over the web. These are that HTTP is a stateless protocol,
that URLs represent opaque handles to resources, on which no reliable
introspection is possible, and that HTTP is explicitly asymmetric so that
a server typically cannot initiate sending new data to a client.
For interactive applications, these are very sticky problems. We need to
be able to track who a connected user is and what they are doing, we want
to be able to look at a URL and figure out (possibly by performing
additional queries to the server, but still in a uniform way) what it
links to and in what context (is it a sector, a 3D object, or a image
representing a texture?). We need to be able to push updates such as
avatars moving around or new objects being added out to connected users
quickly and easily. Most of all, this all needs to be very fast and scale
to thousands of concurrent users.
The VOS approach is twofold. First, to work with explicitly stateful
persistant connections, where the client and server are peers and are not
differentiated on the protocol level and can initiate sending messages at
any time. Second, that resources in VOS follow a richer object model than
that of a flat file, and this allows a greater degree of introspection
such as determining how a given object is connected to other things in the
system.
Traditionally, 3D applications such as games rely on having the world
downloaded or provided on a CD to the user ahead of time. Everyone is
playing in the "same world" but that world is mostly static -- you can't
start digging a hole, chopping down trees, building new houses etc because
the functionality to push those changes to other users is not there.
Instead, the protocol only works in terms of "entities" -- dynamic objects
like players, mosters, ammo crates and so forth. Anything that is not set
up to be a dynamic object, isn't. Furthermore, most 3D applications
require a custom-written client, so there is high overhead involved in
extending the client and server to add new capabilities, such as user
interfaces for new features.
So ultimately, the goal is to have one client that can be easily
reconfigured, download new worlds and adapt to new applications. At
minimum the potential applications includes games, 3D user interfaces
(this would finally provide an environment where prototyping such novel
interfaces is quick and easy), data visualization and social
communication.
As a proof of concept, I'd like to start driving development towards a
sample online game. What I have in mind would probably be a first person
shooter. It can have a cheesy name -- "Super Kill" is what I've been
calling it in my head -- but the point will be to identify the required
configuration to the VOS browser to be a suitable client for this game.
The initial gameplay will probably mimic classic Quake or Quake 2. The
point being, though, that Ter'Angreal has no beforehand knowledge of the
game, and the game server provides the client with everything it needs to
know.
We can discuss the specifics of game design later, I just wanted to
propose that as an official milestone for development. A game is a lot
more interesting and challenging that a silly little 3D chat!
Now, in my next email I'm going to talk about my current ideas for how we
might acomplish this.
[ 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 ]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFDnO68aeHUyhjCHfcRAqvQAKCHpJWC7NCc1YuZXB1ePfU5L3dixQCeOY+P
kUO3li13JjnIUCz1/coJR0U=
=Wk4X
-----END PGP SIGNATURE-----
_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d