|
Features

Cyberspace
in the 21st Century:
Foundations
The
Isolation of Cyberspace
A virtual universe must be self contained, consistent and continuous.
Any one of its denizens (if they were intelligent) must not have any reason
to suspect that there is a fault in their universe, or that any other
universes exist (especially ours). A virtual world should operate independently
from our own, and so needs no knowledge of players or their geography.
Indeed, players never exist in the virtual world. Player Fred does not
meet player Jim in cyberspace. Rather, Fred's avatar meets Jim's avatar,
and neither avatar is aware of Fred or Jim. If Fred and Jim have to stop
playing, the virtual world persists, and the two avatars continue about
their business - perhaps of a little more mundane nature than when Fred
and Jim were influencing them.
Although players may be as gods to avatars, their hands shouldn't be able
to reach into the virtual world and mess with it. All play occurs via
avatar. This rule isn't cast in stone, but it is useful in understanding
the different worlds we're dealing with, i.e. clarifying the boundaries.
Of course, the degree of influence a player has over their avatar, and
the fidelity of the feedback they receive from it, could increase to such
an extent that the player believes they are as one with their avatar.
This is the point at which 'immersion' is reached. I suspect immersion
is something you'll see appearing on LAN based systems (particularly those
of theme parks) well before it gets anywhere near the Internet. It's not
that you couldn't have it on a high latency network, but it would be like
working in a deep-sea diving outfit. Hmmn, full immersion of a different
sort
Creators are the real gods of course (as opposed to players). Even so,
while creation may be performed directly by these 'creators', once the
universe has started going, any direct changes should be made so that
they are unnoticeable. For example, if you change the color of a building
then you should change the memories of every denizen that thought it was
pink just a moment ago. Check out the movies The Truman Show and
Dark City for examples of this rule in practice.
 |
|
Denizens
must not have any reason to suspect that there is a fault in their
universe
|
One more thing that separates the real world from the virtual is time.
Time in the virtual world is to all intents and purposes independent of
time in the real world, though for some strange reason (playability perhaps)
it is likely to tick over at a similar rate. But consider that if everyone
stopped playing, there'd be absolutely no problem in stopping the model
of the virtual world (if it could be done). This is because the virtual
world is modeled independently to ours, and so its denizens would not
notice any temporal discontinuity.
The model of the virtual world, while likely to be similar in behavior
both in terms of content and its rate of change, is actually independent
of the real world. Its isolation makes it convenient for us to package
and distribute it across the Internet. Perhaps you could think of it as
a large file that contains a 2D bitmap of Jeff Conway's game of life.
The thing is, unlike most files, it's dynamic, changing according to rules,
and each computer it's distributed to is only interested in a portion
of it, which they model and view.
The Inevitable Avatar
Yes, it might be fairly convenient for cyberspace to be a self-contained
model, but how do you interact with it? After all, aren't we discussing
large scale interactive entertainment here?
Ok, let's go over it then. We are trying to allow each of an unlimited
number of players to experience one of a selection of alternate realities
via one of its denizens, a notional avatar.
The avatar is the corporeal presence in the alternate reality that is
to act as an agent for the real player. The nature of the player's interaction
will thus be by proxy, i.e. via the avatar. The player influences the
avatar's behavior by suggesting its next actions, and the feedback consists
of the avatar's senses transmitted back to the player. The player's experience
will thus be interactive, albeit limited to the range of senses practicably
conveyable via a typical PC or console.
The player's influence can vary from a high level goal such as "Rescue
the princess" to puppet like suggestions such as "A good right
hook now Rocky - no, left jab!" The latter, in the face of latency,
is probably better conveyed by speech input rather than joystick.
This brings me to something I'll probably cover again later. The immediacy
of the influence the player is permitted must be considered carefully,
and primarily in light of the prevailing network conditions. You can't
let a player's avatar get into the boxing ring with an avatar of a player
who's connected on the other side of the planet. This is unless of course,
the player's are prepared to relinquish the immediacy of their influence.
One or both of them will have to accept the position of coach at the ringside,
providing encouragement and strategic hints, rather than being able to
issue the punches by joystick. The trick is to make the game flexible
- scalable in other words, to the prevailing conditions. Of course, should
both players be on the same LAN there'd be no problem. So the degree of
interaction itself has to be scalable.
However, in order for the player to have flexible amounts of influence
over their avatar, it means that the avatar will have to be able to act
autonomously, even if it is usually servile. Of course, how sophisticated
its behavior when the player's influence is reduced or absent will depend
upon the sophistication of the AI code running the avatar. Ideally the
avatar becomes imprinted with the player's personality and objectives,
and so behaves in a consistent manner irrespective of whether the player
is 'active'. Such super AI may be a while coming, but in the interim we'll
have to provide a means for the games developer and player to program
their avatar's 'offline' behavior.
An alternative approach, on the other hand, is to have avatars with well-defined
personalities that the player is obliged to role play. This allows multiple
players to take turns controlling a particular avatar - a very useful
facility in virtual worlds with prominent characters. In any case, no
player is likely to want to remain active for more than a few hours at
a time. I can imagine a queue of people having to audition for, even paying
good money for, the opportunity to play Captain Kirk in 'Trek World'.
Yes, this is all very well, but I haven't explained how interaction is
achieved in technical terms have I? Ok, but a bit more explanation is
required first.
Influence Rather Than Control
I guess we're all familiar with the idea of a 'model' forming the scaffold
upon which a game is built. You know, that thingamajig that's comprised
of 'state' and 'rules'? The model state is a bundle of variable data held
in memory that represents the current state of the model, and thus game.
The model rules consist of descriptions of behavior (sequences of actions)
and the conditions or events (arising from the state) that cause them.
Sound familiar? Well, large-scale virtual worlds are just big games really.
No mystery there, it's just that the model is bigger - vast, colossal,
gargantuan. The tricky bit is distributing this huge leviathan of a game
model between all players and, moreover, doing it efficiently and with
respect to limited resources.
Yeah, yeah, but what about user input? I haven't forgotten it again have
I? Ah, well, that's an extra-universal phenomenon you see. The denizens
of the virtual world can't see the hand of god, so if us players are going
to have any influence it's going to have to be a tad clandestine. But
I already said that didn't I?
Well, user input is best achieved by hacking the system, i.e. tinkering
with the model. In technical terms, we decouple the user's control from
the game model. We don't issue 'user input events', or even modify state,
but make phantom method calls. What I mean by this is that we mess with
the mind of our avatar, but in a way so that it continues to think that
its actions were of its own volition. No, I don't want to start ascribing
intelligence to the avatar. I just want to establish the metaphysical
mechanism by which the player obtains influence in the virtual world.
We insert behavior into that part of the model of the virtual world that
concerns itself with the behavior of the avatar.
Again the movies have been there before. This mechanism of god-like players
interfering in a virtual world is in line with how most movies have depicted
possession. A person appears fairly normal and no puppet strings are visible,
but their behavior arises from the intentions of someone or something
else. And the reason no one in the movies can conclusively prove that
a person is possessed is because no one can detect the mechanism by which
the mind is being influenced. The unknowability of the mind is an ideal
cover for the channeling of the player's influence into the virtual world.
The alternative to an avatar is a golem or a less substantial projection
of the player - right until you get down to the level of a poltergeist.
In these cases the player's control is either noticeable in its absence
or supernatural in appearance (and disappearance).
Finally, the key factor favoring the choice of 'avatar' as player presence
is that its capability for autonomy is ideal in the presence of network
problems and intermittent players.
Describing Perception
So back to the problem of coping with a huge game model. This is a live
description of the virtual universe that must be communicated between
all players' computers such that the actions of all players (via influence
over their avatars) and their ramifications are available to each other.
This description will consist of a compact collection of symbols into
which can be encoded sufficient information that each participating computer
will be able to reconstruct rich sensory experiences for its attendant
players, and in the opposite direction, encode the player's influence.
Thus we need a means of describing an avatar's visual, auditory and other
senses to the player, and to describe the appearance, dynamic and cybernetic
behavior of every object in the virtual universe. Each player's computer
will interpret this description to present a video image of the avatar's
vision, a stereo sound image of the avatar's hearing, and any other senses
or information as appropriate. It will also share in the workload of modeling
the virtual world in accordance with the descriptions of its behavior,
and communicate its modeling with every other computer.
As I mentioned earlier, influence is merely a translation of user input
into equivalent behavioral suggestions, so any encoding is already provided
for.
So, in more pragmatic terms, what does this all mean? How should we encode
the description of the model? Well, putting it bluntly, we need a nice
programming language.
________________________________________________________
Cyberspace
Modeling Language
|