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


Cyberspace: the next online revolution –- massive multiplayer online games supporting billions of players, simultaneously.


Contents

Ground Rules

The Isolation of Cyberspace

Cyberspace Modeling Language

You’ve seen the Web. Almost the entire planet is wired up. Everyone uses e-mail to talk to each other now, and even the telephone has changed. We’re going mobile, even wearable – other services are arriving such as SMS, WAP, I-Mode, etc. Millions of people even have their own web page. We are all connected as equals in this world and we work and play together in harmony. It’s one big global village and we’re going to find ever more sophisticated ways of telling each other stories and having adventures together.

If you thought the five digit figures for players connected to online games was large scale, you’re just seeing a MUD on steroids. Wait until you see an online world as large as the web, unfettered by bottlenecks caused by primitive client/server technology.

Everyone is gradually waking up to the fact that for an application to be of this global scale, it must be a distributed system. Consider file and resource sharing facilities such as Napster and MojoNation, tools such as NetZ, and games in development such as Atriarch. People are beginning to see that the future is distributed. Not everyone believes that global scale applications stopped with E-mail and the Web.

So, if you want to move on from small scale online games such as Ultima Online, Everquest and Asheron’s Call, toward global scale virtual environments such as those depicted in movies such as The Matrix, Tron, and Dark City, then you’re going to have to wrap your brain around the distributed systems approach.

In a nutshell? Well, instead of sharing files as with Napster, you’re sharing the latest news concerning the state of the game model. Some of this news is created by each player when they make changes to their environment, but mostly each player subscribes to the news concerning that part of the game world that they’re currently interested in. Each player’s computer processes the portion of the game model they possess locally. It will seem difficult to believe that this can work for real-time information just as much as MP3 files, but then that’s the old ‘paradigm shift’ raising its head again.

These are the continuing propositions of Crosbie Fitch and his distributed systems approach to online games


Establishing Some Ground Rules

Now, where were we? Oh yes, something about cyberspace. What the hell is it, again? And how do we create it?

Cyberspace is a medium in which alternate realities or virtual universes can be created. Therefore, if we're trying to create cyberspace then that means we need to build a system that can model a virtual universe - one typically similar to our own (otherwise we'd all go mad eh?).

For such a grand project it is important that its foundations are sound. Whilst some might be inclined to create million player Doom, with players blinking in and out of existence as they see fit, this tends to give rise to a rather intermittent and frustrating experience (the monsters simply hate it). Of course, teleportation may be a valid phenomenon in some alternate realities, but it is better to ensure that such a feature would be deliberate and not simply a consequence of technical compromise or expediency.

In this installment I'll go over many of the key technical issues (as opposed to the philosophical ones) that we must address before we can embark upon the design or implementation of a system.

Bedrock
The lowest foundation we have is the hardware. This is the operating platform on which we will be building our system. Discussing this may be rather unexciting, but like good chemists we have to define our equipment just to make absolutely sure we all know what we're dealing with.

Of an unknown and effectively unlimited number of players, every one of them has a computer which is connected to a common network.

Each computer has unknown and varying amounts of CPU, RAM, and persistent storage. However, it is considered to be highly reliable. When corruption does occur it is likely to be instantly detected. As far as the computers go we have to cope with anything from 4MHz PC/XTs connected via sneakernet (human assisted floppy disk interchange), to quad Pentium super-servers connected via optic fiber. In other words, we don't know Jack.

The network connection may only be available during play, and even when it is available, has unknown latency, bandwidth, and reliability. The minimum quality of service that is available is where only the integrity of individual packets can be ascertained. Guarantees of their delivery, ordering, and timeliness are rarely available, and where they are optional, tend to have an impact upon effective latency and/or bandwidth.

We'll place some limits on the scalability we're aiming for - just to make our lives a little easier. We'll say that the number of participating computers on the network can vary from two to a billion. Any more we'll leave to version 2. Note that a participating computer is not necessarily servicing a player all the time.

Thus everyone who might want to play at some time joins the big cyberspace party. They contribute varying amounts of resources (processing, storage, communication) according to what they can afford, and in turn receive a product enabled by the combination of these resources, which is an interactive entertainment experience of a shared virtual world.
Given this rather vague and hazy platform, we just have to create the product and ensure that it's all fair and everyone's happy. So without further ado, let's try and figure out how to build it. What is the nature of cyberspace?


The Isolation of Cyberspace




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