Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Название-Сеть в Играх 2006год_Язык-Eng

.pdf
Скачиваний:
10
Добавлен:
14.03.2016
Размер:
5 Мб
Скачать
☆

34 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games

posing fewer risks to humans. Similarly, other hazardous environments such as explosive disposal, rescue work and even mining can benefit from telepresence systems.

Another example of telepresence is computer-assisted surgery, which is gaining in popularity because it allows specialists to provide medical care to a geographically broader audience, as well as providing opportunities for computers to make surgeons more precise. When there are concerns about hazardous environments, this brings telepresence to the front line of battlefields, allowing surgeons to aid soldiers during combat.

Telepresence in education can allow people to experience environmentally fragile locations, such as the coral reefs or Egyptian tombs. Space exploration can also benefit from telepresence, as in operating a rover on Mars from Earth [http://marsrovers.jpl.nasa.gov/ home/]. Telepresence systems could even be incorporated in entertainment systems beyond games, by allowing the experience of a roller coaster or sky-dive without the associated risks.

Telepresence has even been applied to human-animal communication. A system has been developed that allows humans to remotely ‘touch’ poultry by having the animal wear a lightweight, tactile pet jacket. The human interacts with a physical representation of the animal (a chicken-robot) and the feedback from the robot is passed through the Internet to the real chicken [PCS+06].

3.5.3 Augmented Reality

With Augmented Reality (AR), the users can still interact with the local, physical environment but artificial, computer-generated objects and attributes are used to enhance the local reality.

A popular game that is a step toward AR is the arcade hit Dance, Dance Revolution (DDR), initially released by Konami in 1998 with numerous variations available in the arcade, home PCs and game consoles. In DDR, players move their feet to a set pattern, stepping on arrows on the floor to the rhythm of the song. Multiplayer versions allow two players to play cooperatively or in competition. In some sense, DDR as in Figure 3.21 provides a novel interface to a computer game, but in another sense, it augments the reality of dancing to music by providing visual feedback on the dancing itself as gameplay.

As an example that augments reality even more, consider the original Pacman game that featured the well-known, cookie-shaped disk that game players manoeuvred through maze munching dots. An AR version of the game called Human Pacman depicted in Figure 3.22 [CFG+03] has game players assume the role of the gobbling disk where the physical world is augmented with virtual dots the players see by means of a wearable computer with a head-mounted display. Sensors on the display indicate the direction the player is looking and the GPS provides positional information to generate virtual dots at the appropriate physical locations. Multiplayer aspects are incorporated by having some players assume the role of the ghosts that chase Pacman. Bluetooth technology provides networking to enable the Pacman player to ‘pickup’ power pills to then chase the ghosts. Human Pacman goes beyond basic Pacman gameplay of one yellow disc against all the ghosts by enabling an additional player to see an overview of the game field on a networked computer, then relaying information about the location of ghosts and power pills to the human Pacman (Figure 3.23).

FPSs have also entered the AR game space, notably with ARQuake an AR version of the popular Quake game [PT02]. ARQuake players as in Figure 3.24 use a head-mounted

Recent Online and Multiplayer Games

35

 

 

Figure 3.21 Picture of an arcade version of Dance, Dance Revolution. Reproduced by permission of Konami.

display, mobile computer, head tracker, and GPS system to provide inputs to the game computer, allowing the player to walk around the real, physical world and fight against virtual Quake monsters.

A game called Real Tournament 5 is also an AR shooting game. However, instead of a head-mounted display, Real Tournament (Figure 3.25) attaches an IPAQ Pocket PC with a 802.11 WLAN network card to a super-soaker squirt gun. A microcontroller resolves communication between the trigger, the GPS and an electronic compass and sends the information to the IPAQ. The IPAQ also provides team communication by a push-to-talk audio feature over the wireless network, allowing players to synchronise their actions. The network includes a wireless network around parts of a University campus, based on IEEE 802.11b and GPRS. The IPv6-enabled IPAQs are mobile, allowing players to transparently roam between the wireless networks without losing connectivity or disrupting the game state.

5 The name is a play of words from Epic’s Unreal Tournament.

36 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games

Figure 3.22 Screenshot of Human Pacman showing first person view of game from head-mounted display. Reproduced by permission of Adrian Cheok.

Figure 3.23 Information flow in Human Pacman. Reproduced by permission of Adrian Cheok.

Recent Online and Multiplayer Games

37

 

 

(a)

(b)

Figure 3.24 ARQuake, with user wearing head-mounted display and holding a gun (a) and game scene depiction (b). Reproduced by permission of Wayne Piekarski.

Health

Karma

(a)

(b)

Figure 3.25 Real Tournament, showing super-soaker gun with attached IPAQ computer (a), and game scene depiction (b)

Another AR, locationaction game uses mobile phones, Bluetooth network technology and high-precision location-aware hardware, called BATS [MSTM04]. The BATS mobile device has enough precision to infer user gestures such as picking virtual objects up or shooting (Figure 3.26). The mobile phone provides map information with the location of game objects to augment the reality of the physical walls and doors. A centralised computer that controls the game play also allows observers to monitor game play or even serve as commanders surveying the game battlefield.

38 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games

eoa

nt h

atr

mlc

 

(a)

Bat feedback

Beeps

Bat sensors

Clickslocation

Game server

SPIRIT Events

Phone

Events

Events

Interface

 

Bluetooth

Environmental

Video

Daid

 

Display

 

Horn

 

 

 

 

Audio

 

 

(b)

Figure 3.26 The BATS game, with a mobile phone providing the interface (a), and the game architecture (b)

Recent Online and Multiplayer Games

39

 

 

AR provides a means of combining computer gameplay, physical exercise and social interaction. Beyond entertainment, more serious uses include the potential for military or disaster response training, allowing physical training exercises with computer augmenting physical reality with virtual conflicts.

3.5.4 Distributed Virtual Environments

Most computer games are in the virtual reality cluster, and within this cluster, virtual reality has produced three branches of research that have some relevance to computer games [SKH02]: military simulations, Computer Supported Cooperative Work (CSCW), and virtual reality.

(a)Military simulations have proceeded through Distributed Interactive Simulation (DIS ), an IEEE standard for communication designed to allow networked simulators to interact through simulation using compliant architecture, modelling, protocols, standards and databases [Ney97]. A DIS system must be flexible and powerful enough to support up to hundreds or even thousands of simulators. The Virtual Cockpit, a tactics trainer for pilots, is an example of a typical vehicle that participates in DIS [MSA+94]. The Virtual Cockpit is a low-cost, manned flight simulator of an F-15E jet fighter built by the Air Force Institute of Technology. A soldier flies the Virtual Cockpit using the hands-on throttle and stick, while the interior and out-the-window views are viewed within a head-mounted display.

(b)Computer Supported Cooperative Work (CSCW) focuses on using computers to support the collaboration of users. An example of a CSCW application would be a shared whiteboard, where participants can read, edit, and annotate a shared document using a variety of media including text, pictures, video and voice. Efforts to combine CSCW with virtual reality has produced collaborative virtual environments (CVEs) [BGRP01] with network architectures to support their online use [SG01]. Successful CVE applications allow users to remotely control avatars to operate on a shared media, allowing 3-D editing, product development and even game design.

(c)Distributed Virtual Environments (DVEs) are technology-oriented environments for users to immerse themselves in the virtual world. An example of a DVE is a ‘Cave’ wherein users immerse themselves in an artificial 3-D world using various combinations of VR goggles, VR gloves and wands and various 3-D audio components [http://www.evl.uic.edu/pape/CAVE/, CSD+92]. DVEs concentrate on the player representation and the technology for interacting with the world. Typically, they only support participation by a few, physically local users, although architectures are being developed to allow larger-scale interaction by more participants [BWA96, FS98].

References

[BGR+98] S. Benford, C. Greenhalgh, G. Reynard, C. Brown and B. Koleva, “Understanding and constructing shared spaces with mixed-reality boundaries”, ACM Transactions on Computer-Human Interaction (TOCHI), Vol. 5, No. 3, pp. 185–223, 1998.

[BGRP01] S. Benford, C. Greenhalgh, T. Rodden and J. Pycock, “Collaborative virtual environments”, Communications of the ACM, Vol. 44, No. 7, pp. 79–85, 2001.

[BWA96] J.W. Barrus, R.C. Waters and D.B. Anderson, “Locales: supporting large multiuser virtual environments”, IEEE Computer Graphics and Applications, Vol. 16, No. 6, 1996.

40 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games

[CFG+03] A. David Cheok, S. Wan Fong, K. Hwee Goh, X. Yang, W. Liu and F. Farzbiz, “Human Pacman: A Sensing-based Mobile Entertainment System with Ubiquitous Computing and Tangible Interaction”, Proceedings of ACM Network and System Support for Games Workshop (NetGames), Redwood City, CA, May 2003.

[CNET05] CNET Networks, Inc.,“Playstation3–Xbox 360: Tech Head to Head”, 05/16/2005 [Online] http:// hardware.gamespot.com/Story-ST-x-1985-x-x-x

[CSD+92] C. Cruz-Neira, D.J. Sandin, T.A. DeFanti, R. Kenyon and J. Hart, “The CAVE: audio visual experience automatic virtual environment”, Communications of the ACM, Vol. 35, No. 6, pp. 65–72, 1992.

[FS98] E. Freecon and M. Stenius, “DIVE: A scalable network architecture for distributed virtual environments”,

Distributed Systems Engineering, Vol. 5, No. 3, pp. 91–100, 1998.

[Ger02] B. Geryk, “A History of Real-Time Strategy Games, Part I: 1989-1998”, Gamespot, 2002, [Online]http://www.gamespot.com/gamespot/features/all/real time.

[Ken03] S.L. Kent, “Making an MMOG for the Masses”, GameSpy.com, October 10, 2003. [Kus03] D. Kushner, Masters of Doom, Random House, 2003, ISBN: 0-375-50524-5.

[MADDEN05] Wikipedia,“Madden NFL”, (as of 20 January 2006) [http://en.wikipedia.org/w/index.php?title= Madden NFL&oldid=36020223

[MS94] M.J. Massimino and T.B. Sheridan, “Teleoperator Performance with Varying Force and Visual Feedback”, Journal of Human Factors, Mark Vol. 36, No. 1, pp. 145–157, 1994.

[MSA+94] W. Dean McCarty, S. Sheasby, P. Amburn, M.R. Stytz and C. Switzer, “A Virtual Cockpit for a Distributed Interactive Simulation”, IEEE Computer Graphics and Applications, Vol. 14, No. 1, pp. 49–54, January 1994.

[MSTM04] K. Mansley, D. Scott, A. Tse and A. Madhavapeddy, “Feedback, Latency, Accuracy: Exploiting Tradeoffs in Location-Aware Gaming”, Proceedings of ACM Network and System Support for Games Workshop (NetGames), Portand, OG, 2004.

[NC04] J. Nichols and M. Claypool, “The Effects of Latency on Online Madden NFL Football”, In Proceedings of the 14th ACM International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), Kinsale, County Cork, Ireland, June 16–18, 2004.

[Ney97] D.L. Neyland, “Virtual Combat: A Guide to Distributed Interactive Simulation”, Stackpole Books, Mechanicsburg, PA, 1997.

[PCS+06] L.S. Ping, A.D. Cheok, J.T. Kheng Soon, G.P. Lyn Debra, C.W. Jie, W. Chuang and F. Farzbiz, “A Mobile Pet Wearable Computer and Mixed Reality System for Human – Poultry Interaction through the Internet”, Springer Journal of Personal and Ubiquitous Computing, ISSN: 1617-4909, (Paper) 1617-4917, (Online)03 November, 2005.

[PT02] W. Piekarski and B. Thomas, ARQuake: the outdoor augmented reality gaming system, Communications of the ACM, Vol. 45, No. 1, pp 36–38, 2002.

[QWORLD] Quake World.net, http://www.quakeworld.net/, Accessed 2006.

[SG01] S. Shirmohammadi and N.D. Georganas, “An End-to-end Communication Architecture for Collaborative Virtual Environments”, Computer Networks, Vol. 35, No. 2–3, pp. 351–367, 2001.

[SKH02] J. Smed, T. Kaukoranta and H. Hakonen, Aspects of networking in multiplayer computer games, The Electronic Library, Vol. 20, No. 2, pp. 87–97, 2002.

[Tut04] W. Tuttle, “The Future of Live?”, GameSpy, October 24, 2004, [Online] http://xbox.gamespy.com/ articles/559/559846p1.html.

[Tys06] J. Tyson, “How Video Game Systems Work”, HowStuffWorks, Inc, [Online] http://computer. howstuffworks.com/video-game5.htm

[Woo05] B.S. Woodcock. “An Analysis of MMOG Subscription Growth”, MMOGCHART.COM 12.0 29 29 2004. January 1, 2005. Online: http://www.mmogchart.com/.

4

Basic Internet Architecture

Many design decisions and end-user experiences of multiplayer, networked games derive from the particular nature and characteristics of Internet Protocol (IP) networks. In this chapter we will cover the following core aspects of IP networking:

•‘Best effort’ service

•IP addressing of hosts and other endpoints in the network

•Transport protocols – Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)

•The difference between unicast, multicast, and broadcast communication

•Networks as meshes of routers and links

•Network hierarchies, address aggregation and shortest-path routing protocols

•Address management – Dynamic Host Configuration Protocol (DHCP), Network Address Translation (NAT) and the Domain Name System (DNS).

Feel free to skip this chapter if you already understand IP networking basics (such as IP addressing, subnets, prefixes, shortest-path routing, the role of routers and routing protocols). This chapter is primarily to refresh your memory and provide a backdrop for the interaction between IP network services and networked games.

We will illustrate IP networking principles with examples based on the current Internet’s core technology, known as IP version 4 (IPv4) [RFC791]. We will review how IP networks come in a variety of sizes, the rationale behind IP addressing, the differences between unicast and multicast packet delivery, the roles of the TCP and UDP transport layer protocols, hierarchies in network routing, and shortest-path routing protocols. (We will not discuss an emerging new version known as IP version 6 (IPv6). IPv6 has broadly similar architectural characteristics and is not covered in this book. Even the most optimistic estimates do not see IPv6 being widely relevant to consumer-based networked games until 2010 or beyond.)

Figure 4.1 attempts to illustrate how end-user applications (such as our favourite networked games) and support services (such as DNS or DHCP, which are rarely exposed to the end user) are layered on top of the basic data transport services provided by an IP network. The Internet Protocol is so named because it hides the many underlying technologies that can make up an IP network (such as optical fibre links, microwave links,

Networking and Online Games: Understanding and Engineering Multiplayer Internet Games

Grenville Armitage, Mark Claypool, Philip Branch 2006 John Wiley & Sons, Ltd

42 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games

Applications

[Half-Life, Everquest, Mozilla, IM,....]

Services

[POP3, SMTP, HTTP, DNS, DHCP, Routing protocols, ....]

IP Transport

[packet delivery, TCP, UDP, multicast, QoS, ....]

Figure 4.1 End-user applications and services utilise packet transport services provided by the IP network

ethernet Local Area Networks (LANs), 802.11/WiFi networks, cable modems and so on). IP provides a single, global addressing scheme across all the underlying technologies.

4.1 IP Networks as seen from the Edge

From an end user’s perspective, there is a reasonable analogy between the postal service and an IP network. With traditional postal service we place letters into envelopes, address them to the final destination, and place them into a local post box. After that, we simply trust the postal service to transport our envelope to its destination in some reasonable time. We neither know nor care how the envelope gets to the destination, the delivery time is measured in days, and we accept that envelopes are sometimes lost. And we implement our own end-to-end strategies to confirm delivery (such as a phone call to the recipient some days later, or reposting a copy of the original letter every few days until the recipient responds). The postal service is a network, and its edges are the post-boxes and letter-boxes where we drop off and pick up our mail.

A simple way to view an IP network is as an opaque cloud with devices attached around the edges. These edge devices may be any piece of hardware (or software) that transmits or receives digital information. The primary goal of an IP network is to provide connectivity, that is, deliver data (in packets) from sources (who transmit packets) to destinations (who receive packets). Devices at the edges of IP networks typically act as both sources and receivers. IP edge devices (or endpoints) are identified with IP addresses, and endpoints are required to look after their own needs for reliable delivery of data. And finally, the IP network is presumed to be totally agnostic towards the actual contents of the packets each endpoint is sending.

Traditionally, IP networks provide few guarantees of timeliness or certainty in packet delivery – usually referred to as best effort service (although it might be more aptly considered a ‘no guarantees’ services). Milliseconds, hundreds of milliseconds, or seconds may elapse between the time a source injects (transmits) a packet into the network cloud, and the destination edge receives that same packet. Sometimes packets simply get lost inside the network and never arrive at all.

Basic Internet Architecture

43

 

 

The time it takes for a packet to reach its destination is often referred to as latency. Short-term variation in this latency from one packet to the next is referred to as jitter. Packet loss is often described in terms of a packet loss rate – the probability of an IP packet being lost across a certain part of the IP network.

Despite the simplicity of best effort service, IP networks can be quite complex internally. In all but the most trivial networks, there will be multiple internal paths a packet may take between any given source and destination. The network must continually make internal choices as to which path is most optimal at any given time. This is the task of routing protocols, which we will discuss later in the chapter.

4.1.1 Endpoints and Addressing

IPv4 endpoints are identified with numerical 32-bit (4 byte) values, conventionally written in dotted-quad form – four decimal numbers (representing each of the four bytes making up the IP address) separated by periods. For example, the 32-bit binary address 1000 0000 0101 0000 1100 0101 0000 0111 is written as 128.80.195.7 in dotted-quad form. In theory, this allows for 232 IPv4 addresses. Later in this chapter we will discuss why significantly fewer than 232 IPv4 addresses are available in practice.

Endpoints are also often referred to as hosts, although a host (whether a Personal Computer (PC), game console with network port, or any device capable of attaching to a IP network) may have multiple interfaces to an IP network. A host with multiple interfaces (commonly referred to as a multihomed host) will have unique IP addresses on each of its interfaces to the IP network. Servers (e.g. web sites or game servers) and clients (e.g. someone running a browser on their home computer) are both hosts on the IP network.

Figure 4.2 shows a simple case where an IP network has three hosts attached, with IP addresses 136.80.1.2, 21.80.1.32, and 142.8.20.8. When host 136.80.1.2 wants to send an IP packet to another host (for example, host 142.8.20.8), it specifies this destination address 142.8.20.8 in the packet and passes the packet to the IP network. The IP network itself worries about how to locate and reach 142.8.20.8.

As a consequence of IP networking’s hierarchical routing scheme (described later in this chapter), an IP address is tied closely to where the host is attached in the network.

136.80.1.2

142.8.20.8

Destination Source

Payload

142.8.20.8 136.80.1.2

Destination Source

Payload

142.8.20.8 136.80.1.2

IP Network

21.80.1.32

Figure 4.2 An IP Network – opaque cloud with attached devices – looks after getting packets to their destinations