It's free to join Gamasutra!|Have a question? Want to know who runs this site? Here you go.|Targeting the game development market with your product or service? Get info on advertising here.||For altering your contact information or changing email subscription preferences.
Registered members can log in here.Back to the home page.

Search articles, jobs, buyers guide, and more.

Crosbie Fitch
Gamasutra
December 1, 2000

Printer Friendly Version
 
Discuss this Article

 

Letters to the Editor:
Write a letter
View all letters


Features

Cyberspace in the 21st Century:
Foundations

Contents

Ground Rules

The Isolation of Cyberspace

Cyberspace Modeling Language

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

 


join | contact us | advertise | write | my profile
news | features | companies | jobs | resumes | education | product guide | projects | store



Copyright © 2003 CMP Media LLC

privacy policy
| terms of service