Read an Excerpt
Networked Graphics
Building Networked Games and Virtual Environments
By Anthony Steed Manuel Fradinho Oliveira
Morgan Kaufmann
Copyright © 2010 Elseviercompany
All right reserved. ISBN: 978-0-08-092223-2
Chapter One
Introduction
Over the last four decades the Internet has radically changed many forms of collaborative activity. Email and more recently instant messaging have enabled efficient asynchronous collaboration between remote people. The World-Wide Web (WWW) has enabled a range of different publishing models for individuals as well as large organizations. More recently though, the Internet has enabled new types of real-time synchronous communication between people. Synchronous collaboration tools include video and audio tools, but also network games (NGs) and networked virtual environments (NVEs). Within NVEs and NGs, users can share a virtual space with business partners to brainstorm or they can be immersed in a fantasy world to go exploring with friends.
This book describes the data communication technologies behind these NGs and NVEs. We focus exclusively on Internet technologies because of their pervasive nature, though we'll present some of the historical context behind the development of the Internet. The book takes a ground-up approach from basics of networking through to strategies for partitioning large numbers of players between servers. Thus we've tried to write the book for a few different audiences: students interested in networking aspects of games and simulations, software engineers getting into the field, game developers involved in the implementation of NGs, hobbyists or games enthusiasts interested in learning more about games technology and researchers interested in a general background text.
In this introduction we want to present the outline of the book and give some background history to the topic.
1.1 WHAT ARE NVES AND NGS?
With NVEs, we refer to virtual environment systems that are distributed over the network in some sense. That is, usually, there are several computers, each running a piece of software that communicates with similar software on other computers. Users interact with an interface facilitated by devices and the software interact with the virtual environment, perhaps by moving a player character through the virtual environment. If this is for recreational purposes then the whole system might be called a NG, though these would be a subset of the applications that use such technology, which range from medical simulations through education to military training. In effect, there is often little to distinguish between systems that support NVEs and systems that support NGs, other than the type of content that is created for them. Some systems are designed specifically for recreational purposes, being based on fantasy or cartoon styles such as World of Warcraft(tm) or Disney's Toontown. Other systems are neutral to use and leave the content creation and its application context to the user. For example, Linden Lab's SecondLife(r) contains both business centers and nightclubs.
The common feature of both NVEs and NGs, and an important piece of scope for this book, is that by virtual environment, we refer to a rich three-dimensional (3D), or less commonly 2D, space that depicts a real or imaginary place. The client software allows the user to move about this space to get new viewpoints on that space. The space is probably displayed to the user at real-time (30Hz plus) rate, is animated, has interactive elements to it, and the reality it represents is governed by well-defined rules (e.g. Brownian motion, gravity or refraction). Depending on the type of user interaction supported, the users may be represented in some way.
Figure 1.1 shows a typical NVE which one of the authors had a small hand in developing. This particular system, Distributed Interactive Virtual Environment (DIVE), was a research prototype built by Swedish Institute of Computer Science (SICS) (Frécon et al, 2001). Although the particular version of the software shown in Figure 1.1 was released in 1999, it has many features of the current crop of online social NVEs: it has text chat, large worlds to visit, supports up to around 30 players in a single location and has audio and video streaming. Most importantly for our introduction, the system has avatars, which is the term commonly used in the field to refer to the visual representation of a user in the world. Avatars indicate your location in the world to other people and provide the user with a reference to their interaction model with the environment. Different systems support different visual styles of avatars, from abstract, such as the DIVE avatars, through cartoony to realistic-looking avatars. In DIVE audio communication is enabled by having avatars stand near each other in the virtual environment. Users can select and manipulate many of the objects in the world near to them. We discuss DIVE in more detail in Section 9.3.
1.2 THE ILLUSION OF A SHARED VIRTUAL ENVIRONMENT
The foundation of a NVE is to create the illusion of a virtual environment that is shared amongst all participating users. As illustrated in Figure 1.2, the NVE consists of multiple collaborating NVE client computers (or just client), where each client typically runs on a single workstation or home computer. A client is composed of one or more pieces of software that are responsible for key functions such as generating sensorial outputs (e.g. video), processing inputs (e.g. joysticks) and doing physics simulations. The client computers are connected together with a network infrastructure (the Internet being the most pervasive with global connectivity) through modems and/or routers. A more detailed overview of components of the NVE system itself is given in Section 1.4.
As illustrated by the diagram of Figure 1.2, the aim of a NVE system is not to create a single-user experience, but a shared experience amongst all participating users. Each user in the system is seeing a different view, but these views should be consistent. From a technical point of view this implies that each NVE system shares a common model of the virtual environment. As we will learn, this is extremely difficult over networks where there are real problems with latency, congestion, etc. Thus each client in the system has a slightly different model, and thus the renderings of the virtual environments at each client are all different. This is why this section is entitled the illusion of a shared virtual environment. Fortunately for us, users are sometimes unaware or at least tolerant of the discrepancies between each client's view of the virtual environment. Users see avatars moving around the virtual environment and interacting with objects, including other avatars. They can often talk to the other users or at least send text messages. Though the media might seem crude, users nonetheless interact successfully with one another. As long as users can experience the virtual environment in such a way that they can agree on the important features of the world (e.g. the placement of enemies in a game or simulation), then they can have the common understanding of sharing the same virtual environment. It is when things start to get desynchronized that illusion of a shared space becomes hard to maintain, and users spend a lot of time talking or texting in an attempt to come to a shared understanding of their situation.
The network infrastructure provides the necessary support for the sharing of information to keep a consistent perspective amongst all participating users. How exactly this is done will be discussed throughout the remainder of the book: but aside from the technical details of what must be done, we can already posit that there is going to be a bottleneck in that the Internet is not sufficiently fast to simply copy all changing information to all participants. The network infrastructure needs to choose carefully what is sent over the Internet. In doing so, it will necessarily take into account both where the users are in the virtual environment and who they are engaging with.
1.3 SOME HISTORY
There are many strands to the history of NVEs and a full history would take a whole series of books. Especially in recent years, there has been an explosion in the number of different NVE and NG systems. Figure 1.3 gives a thematic analysis of some of the related areas.
The themes are:
Internet. Initially funded by the U.S. for defense purposes, the Internet has become the main internetworked system in the world. It supports many different applications through the use of open and widely deployed protocols, both in client computers and network infrastructure.
Simulators. Many real-world tasks are difficult, dangerous or expensive to train for. The word simulation can be applied to everything from paper-based simulations through to multi-participant war game scenarios, but we will focus on the thread of work focusing on electronic simulations.
Multiuser Dungeons. These text-based systems were probably the first-class large-scale multiuser systems to reach significant usage. Although not so popular in their text-form now, the game play styles are very visible in later game forms such as massively multiplayer online role-playing games (MMORPGs, see below).
Electronic Games. Originally based on analog electronics, video games are now one of the most important media markets.
Virtual Reality Systems. We use this term to refer to academic and commercial research that uses spatially immersive systems in highly novel application domains. Although by some definitions virtual reality is a superset of the previous technical themes, we will focus on the novel applications and research systems that have been built.
MMORPGs. These are a genre of computer games where the players interact in a virtual world to role-play character-based story lines. The theme is often a science fiction universe or fantasy world.
Social Spaces. This is a class of application collaborative world where there is little imposed theme, but the worlds are designed to facilitate social interaction.
These themes overlap in many ways and are by no means exhaustive of the labels that are applied to NVEs and NGs. We have had to be selective in our choices, and sometimes we have biased our choice towards systems or games where we have personally spent our leisure or work time. More details about many of the systems described below will be found in later chapters.
1.3.1 Internet
It is difficult to do justice to the ingenuity and engineering brilliance that was involved in the development of the Internet. We give a brief overview below, but would recommend two books to the interested reader. For a nontechnical overview of the development of the Internet up to the explosion of the World Wide Web, we would suggest Naughton's A Brief History of the Future: Origins of the Internet (Naughton, 2000). For a similarly nontechnical but entertaining account of the development of ARPANET specifically, we can recommend Hafner and Lyon's Where Wizards Stay up Late: The Origins of the Internet (Hafner & Lyon, 1996).
ARPANET
In a very brief history of computing we will note that digital computers started off as room-sized computers designed for dedicated tasks. In the 1960s and 1970s, machines became more powerful, there was a move to time-sharing computers, where several users could connect through terminals to the computer (commonly called a mainframe), and the computer would dynamically allocate resources to each user. This freed users from the previous batch-mode processing paradigm where they would submit a computing task, and then wait for the result. These mainframes started to spread, but each provided a local resource. If a mainframe was dedicated to a particular task, or connected to a specific instrument, one still need to connect to that machine. One could do this with a remote terminal, connected over a standard telephone network; however if you want to connect to multiple machines you would need multiple terminals or multiple sessions. You would also need to know the specific syntax and operational capabilities peculiar to each mainframe you connected to.
(Continues...)
Excerpted from Networked Graphics by Anthony Steed Manuel Fradinho Oliveira Copyright © 2010 by Elseviercompany . Excerpted by permission of Morgan Kaufmann. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.