Название-Сеть в Играх 2006год_Язык-Eng
.pdf
14 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games
Doom peers communicated by using Ethernet broadcasts for all of its traffic. This had the side effect that when a player shot a bullet, the Ethernet packet the Doom peer sent was not only received by all other Doom nodes, but also all other computers on the same LAN were interrupted. The other computers not playing Doom would ignore the broadcast packet, but their processing was still interrupted so they can receive the packet, transfer it to main memory and then have the operating system determine that they do not need it. Normally, LAN traffic is addressed directly to a machine and it is either not received by other machines or it is discarded by the network card before interrupting the processor.
The significant processor time wasted by the computers not participating in a Doom game, but still handling the broadcast packets, was significant, especially for the slower machines of the day, and could even cause them to drop keyboard keystrokes. This was a serious problem for network managers, prompting companies such as Intel and many colleges and universities across the United States to implement specific anti-Doom policies in an attempt to reduce congestion on the local computer networks.
Doom was immensely popular. While the total game sales of 1.5 million copies is not enormous compared with modern blockbuster titles, the shareware version better reflects Doom’s popularity. The shareware version of Doom was estimated to have been downloaded and played by 15 to 20 million people [MOD], and installed on more computers than Microsoft’s Windows NT and IBMs OS/2 combined. The popularity of multiplayer Doom, particularly the death-match mode, influenced the genre of nearly all FPS games to follow, both in terms of game play and in terms of networking code.
In 1994, id Software produced Doom 2, an impressive sequel to Doom. Doom 2 sold over two million copies, making it the highest-selling game by id at that time. Doom 2 could support eight players and, more importantly, Doom’s initial use of broadcast packets was removed, and this change brought with it a marked change in the acceptability of networked games on LANs and wide area links.
References
[DOOMENGINE] http://doom.wikicities.com/wiki/Doom networking engine, Accessed 2006
[PONG] The Pong Story. The Site of the First Video Game. [Online] http://www.pong-story.com/intro.htm [MOD] David Kushner. Masters of Doom, Random House, 2003. ISBN 1588362892.
[PLATO] Dear, B., PLATO People – A History Book Research Project, http://www.platopeople.com/ [RFC854] Postel, J. and Reynolds, J., “Telnet Protocol Specification”, RFC 854. (May 1983)
3
Recent Online and Multiplayer
Games
In this chapter, we will deal with the following:
(a)Introduce game communication architectures and their communication models.
(b)Briefly describe the developments in online game play for First Person Shooter (FPS) games, Massively Multiplayer Online games, Real-Time Strategy (RTS) games, and Sports games.
(c)Briefly describe the evolution of game platforms to support online play, including Personal Computers (PCs), Game Consoles and Handheld Game Consoles.
(d)Put games into the broader context of other immersive environments and distributed simulation, including augmented reality (AR), telepresence and virtual reality.
3.1Communication Architectures
The evolution of online games must consider several different architectures for arranging the communication between game nodes. The different alternatives are depicted in Figure 3.1. The circles represent different processes on remote computers with the links denoting processes that exchange messages.
In the earliest days of multiplayer games, there was no networking between players. Multiplayer functionality was achieved by having both players interacting with the same computer. Players could manipulate their avatars on a shared, common screen or the screen could be physically ‘split’ by partitioning part of the video screen for each player. Many console games that allow multiple players still use the single screen, multiplayer architecture.
In a peer-to-peer architecture, each client process is a peer in that no process has more control over the game than the others. There are no mediator nodes to control game state or route game messages. Peer-to-peer architectures are popular in multiplayer games played on a Local Area Network (LAN) because of the broadcast support of many LANS (e.g. wired or wireless Ethernet) and generally small number of players that participate in a single game. While peer-to-peer architectures can be applied to Wide
Networking and Online Games: Understanding and Engineering Multiplayer Internet Games
Grenville Armitage, Mark Claypool, Philip Branch 2006 John Wiley & Sons, Ltd
16 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games
|
|
|
|
|
|
|
|
Client |
|
|
|
|
|
Client |
|
|
|
||
|
|
|
|
|
|
|
Client |
Server |
Client |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|||
Client |
|
|
Client |
|
|
Client |
|
|
|
|
|
|
|
|
|
|
|
|
|
(a) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Client |
|
Client |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(b) |
|
(c) |
|
||
|
Client |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Client |
|
|
|
|
|
|
Client |
|
|
|
|
|
|
|
|
|
|
|
Server |
|
Client |
Server |
Client |
|
|
|
|
|
Client |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
Client |
Server |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Server |
|
|
Client |
|
|
|
Client |
|
|
Client |
|
|
|
(d) |
|
|
|
|
(e) |
|
|
Figure 3.1 The |
possible |
communication architectures for |
multiplayer |
and network games: |
|||||
a) single screen, |
possibly |
‘split’, on |
a single computer, |
b) peer-to-peer, c) a client–server, |
|||||
d) peer-to-peer-client server hybrid, and e) network of servers |
|
|
|
||||||
Area Networks (WANs) (i.e. the Internet), they do not scale well without an additional hierarchical structure.
In a client–server architecture, one process plays the role of the server, communicating with each client and mediating the game state. The clients do not communicate directly with each other but rather have the server route messages to the appropriate clients. The server is the critical part in the communication link; if a client cannot communicate with the server the game cannot be played and if the server cannot keep up with the communication and computation required, the gameplay can degrade for all clients. The client–server architecture is the most popular architecture used in commercial online games as well as in the classic MultiUser Dungeon (MUD) games (see Chapter 2 for a description of a MUD).
In the peer-to-peer, client–server hybrid architecture, the server process mediates game states on the basis of information sent by clients as in the traditional client–server architecture, but the clients are also able to communicate with other clients as in the traditional peer-to-peer architecture. The communication amongst the client peers is generally for game information that is not essential for achieving consistent views of the game state
Recent Online and Multiplayer Games |
17 |
|
|
by all clients. For example, it is common to have player Voice over Internet Protocol (VoIP) communication done peer-to-peer with the commands to control an avatar-done client–server.
With a client–server architecture, pure or hybrid, the server can readily become the bottleneck to performance, either because it cannot keep up with the sending and receiving rate for all clients or it cannot process the game-state updates fast enough. With a network of servers architecture, the single server can become a pool of several interconnected servers. The communication among the servers can be set up in a peer-to-peer fashion (i.e. all servers are equal) or in a client–server fashion where servers communicate with master servers, obtaining a hierarchical game architecture. By splitting the load from the clients across multiple servers, the network of servers can reduce the capacity requirements imposed on a single server. This can increase the scalability of the game architecture, but has the drawback of a more complicated communication mechanism overall with extra difficulty in keeping game-state information consistent.
When considering communication architectures, it can be useful to differentiate between game system level communication and network level communication. Game system level communication is the manner in which the game elements perceive themselves to be exchanging game-state information and can be both peer–peer and client–server. The network-level communication is how the system-level communication is instantiated when sending data over the Internet, and can also be peer–peer or client–server.
client–server game systems would normally be instantiated by client–server at the network level, but peer–peer at the game system level can be instantiated by peer–peer or client–server at the network level. client–server at the network level is particularly advantageous when the network level server provides minimal processing of game-state information, but otherwise does not parse or modify the game-state messages as it relays between peers. For example, such a server may hide information on Internet Protocol (IP) addresses of the players/clients.
3.2 The Evolution of Online Games
The evolution of online games is best looked at through individual milestones in three of the most popular and influential game genres: FPS games, Massively Multiplayer games, RTS games and Sports games (Figure 3.2).
•1992 Dune II
•1993 EverQuest
•1993 Doom
•1994 Warcraft
•1994 Doom 2
•1995 Ultima Online, Asheron’s Call
•1995 Warcraft II
•1996 Quake
•1999 Dreamcast (with modem)
•2000 Xbox and PS2 (with LAN)
•2005 DS and PSP (with wireless LAN)
Figure 3.2 Timeline overview of online and multiplayer games. The above figure contains notable releases mentioned in this chapter
18 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games
|
1200 |
|
Doom clone |
|
|
|
|
|
|
|
|
|
|
|
|
First Person Shooter |
|
|
|
|
|
1000 |
|
|
|
|
|
month |
800 |
|
|
|
|
|
|
|
|
|
|
|
|
Posts per |
600 |
|
|
|
|
|
400 |
|
|
|
|
|
|
|
200 |
|
|
|
|
|
|
0 |
|
|
|
|
|
|
1993 |
1995 |
1997 |
1999 |
2001 |
2003 |
|
|
|
Year |
|
|
|
Figure 3.3 Evidence of the popularity and influence of Doom. The term for a game based on Doom (a ‘Doom clone’) was more common than the now popular term ‘First Person Shooter’ until the late 1990s
3.2.1 FPS Games
As described in Chapter 2, the advent of Doom brought the genre of the FPS to the forefront as one of the most prominent computer game genres, where it has remained since. Interestingly, the term FPS did not come into popular usage until the late 1990s. The popularity of Doom meant that the phrase ‘Doom clones’ was more commonly used to refer to what we now called FPS games. Figure 3.3 depicts how pervasive the respective terms were in Usenet news group postings, showing ‘Doom clone’ was more common than “FPS” until the late 1990s.1
By the time of the release of Doom 2 in 1994, multiplayer network games were generally played by several players over a LAN (see Figure 3.4). For two-player games where the players were not on the same LAN, some games provided support for connections through phone lines by way of a modem or serial cable between the two machines. These early games often used Novell’s Internetwork Packet Exchange (IPX) as their networking protocol because of its simplicity. However, IPX was not generally routed on WANs, such as the then-emerging Internet. To overcome this, software such as Kali and iFrag emerged that allowed IPX to be tunnelled over the Internet (in addition to helping players find other players, a service similar to today’s popular GameSpy). This tunnelling software enabled players to connect their client PCs to one another for multiplayer network play even though the game software was only designed for LAN play and their PCs were on different LANs. While effective in practice, the early multiplayer network games, such as Doom, were not designed with WAN performance in mind, often suffering when the network capacities were limited or latencies were high.
1 This data originally appeared at http://en.wikipedia.org/wiki/Doom clone.
Recent Online and Multiplayer Games |
19 |
|
|
Figure 3.4 Screenshot of Doom 2. Reproduced by permission of Id Software, Inc.
Note: Tunnelling is an often-applied technology where a network packet from one kind of network protocol is encapsulated, headers and all, into a data packet in another, lower network protocol. One computer then encapsulates the higher protocol packet, sends (tunnels) it over the lower protocol to a destination where another computer will unpack the higher protocol packet and transmit it normally (see Chapter 4 for more details on IP tunnelling).
Multiplayer network gameplay was significantly improved in 1996 with the release of id Software’s Quake (Figure 3.5). Quake featured a method that allowed players to compete against each other over the Internet without the need for tunnelling. Before Quake, players needed to coordinate times and places (Internet addresses) to meet online in a game. Quake addressed these problems with the inclusion of servers that stayed-up for repeated rounds, hosting death-match after death-match, so that players from all over the world could connect to these servers at any time of the day or night, and always be able to find a game. The Quake servers acted as persistent game hosts. Players would connect via their Quake clients, with the player’s input sent to the server, which would keep track of the state of the game world. Information about the world would be periodically transmitted back to each of the clients, updating their view of the world to match the one currently running on the host machine.
This paradigm created new network problems that had not been faced by game developers before. In particular, the client–server architecture had worked well on a LAN with its high-bandwidth, low-latency connections that were capable of quickly sending and receiving many transmissions for each player. Unfortunately, most WAN (Internet) connections were not capable of LAN transmission speeds, with most players at the time connecting to the Internet through relatively low-speed dial-up modems.
20 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games
Figure 3.5 Screenshot of Quake. Reproduced by permission of Id Software, Inc.
In 1996, standard-model modems transmitted at 14,400 bps and it took the packets a long time to travel from a client over the modem and across the Internet to a server and back (in games, this time is often referred to as the ping time). The time it took to send a command to the server (such as the firing of a gun) and have it result in a change to the game world (such as hitting an opponent) directly affected the realism, immersiveness and overall playability of the game. Players became interested in minimising their ping times. Lower ping times lead to smoother and more immersive gameplay, and, for some games, a higher score (see Chapter 5 for more information on the effects of ping times, i.e. latency, on gameplay).
Note: The ping time measured by computer games is somewhat different than the ping time measured by network tools such as the network ping tool found on many systems. In particular, computer game ping time measures the time to send a User Datagram Protocol (UDP) packet from the client game process to the server game process and back again. Network ping times, on the other hand, measure the time to send an Internet Control Message Protocol (ICMP) packet from the client operating system to another host and back again. Game ping times are usually slightly higher than network ping times since they include additional overhead from processing by the server and client applications.
id Software responded by releasing QuakeWorld in 1996, a free add-on to Quake that included rewritten network code and a number of game updates [QWORLD]. QuakeWorld was a specific version of Quake optimized for multiplayer Quake play over a modem connection to the Internet. QuakeWorld allowed players to adjust network parameters to minimise the effect of their slow Internet connection on gameplay. In particular,
Recent Online and Multiplayer Games |
21 |
|
|
QuakeWorld implemented a technique known as client-side prediction. Clients no longer had to wait for data from the server to update the state of the game world. They were now able to partially predict the future game state, updating it at more regular intervals. Players could then manually set their ‘pushlatency’, which governed how far in advance many of their clients predicted the game state (see Chapter 6 for more information on latency compensation techniques). QuakeWorld also allowed a player to set a rate limit on the number of packets per second the server would send them, thus avoiding filling up router queues and adding the corresponding latency for a low-bitrate modem connection.
With the release and widespread popularity of QuakeWorld, users all over the world, with different Internet connection speeds were more readily able to play multiplayer Quake with decent performance over the Internet. Organised teams of users called clans sprang up, with clans competing other clans, sometimes even in online tournaments for a chance to win cash prizes. Thousands of players competed for the chance to enter id Software’s Red Annihilation tournament. Multiplayer online gaming even became the full-time job of some gifted players. Dennis ‘Thresh’ Fong earned well over $100,000 in 1998 competing in Quake tournaments. An organisation known as the Cyberathlete Professional League (CPL) was started in the late nineties with a goal of bringing in crowds of spectators to watch live death-match tournaments [Kus03].
3.2.2 Massively Multiplayer Games
Besides FPS games, the massively multiplayer on line role-playing (MMORPG) genre started to grow in 1995 with Ultima Online (Figure 3.6), a multiplayer network game based on the popular, but single player, Ultima series by Origin. Ultima Online initially supported 50 players, a lot at the time but small by today’s standards, but was the first
Figure 3.6 Screenshot of Ultima Online. Reproduced by permission of Electronic Arts.
22 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games
successful game in the MMORPG genre. Microsoft released Asheron’s Call (with the publishing rights later purchased by the game developer, Turbine) shortly thereafter, along with its online gaming service. At nearly the same time, Sony released EverQuest, which soon became the most popular massively multiplayer game thanks in large part to rich graphics and interesting gameplay.
EverQuest had nearly 500,000 subscribers in 1993 [Ken03], and opened the door to dozens of new massively multiplayer online games. Titles such as Asheron’s Call, Dark Age of Camelot and Star Wars Galaxies were follow-on successes to EverQuest. In terms of networking service, these massively multiplayer games charged players a monthly fee (typically around 10 US dollars) to access their characters and the persistent world, which was unique to their commercial successes as opposed to other Internet games where players could play online for free. The Square-Enix’s massively multiplayer game Final Fantasy XI became the first massively multiplayer game to allow players on PCs and players on game consoles to intermingle in a common world.
An analysis of the growth in massively multiplayer online games, depicted in Figure 3.7 and 3.8, shows a dramatic increase in the number of total subscriptions to MMORPG games since the late 1990s. MMORPG population growth has a hyperbolic or parabolic curve, with little variation in this shape from one MMORPG to another.
3.2.3 RTS Games
The first RTS game released for the computer was Westwood’s Dune II, released in 1992 [Ger02]. Dune II brought the elements of real-time (as opposed to turn-based) gameplay, with the concepts of building structures with race-specific units and special abilities. Although multiplayer online play was not supported, the potential for multiplayer RTS games had been revealed. Dune II was Westwood’s precursor to the popular Command and Conquer RTS series (Figure 3.9).
The first RTS game that supported multiplayer online play was Blizzard’s 1994 Warcraft, that took the Dune II futuristic gameplay to the fantasy world. Although not a big
Total Subscribers
5000000
4500000
4000000
R2 = 0.97
3500000
3000000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2500000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2000000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1500000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1000000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
500000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
JanJul- JanJul- JanJul- JanJul- |
|||||||
Jan- |
Jul- |
JanJul- JanJul- JanJul- JanJul- |
|||||||||||||||
97 |
97 |
98 |
98 |
99 |
99 |
00 |
00 |
01 |
01 |
02 |
02 |
03 |
03 |
04 |
04 |
05 |
05 |
Figure 3.7 Total MMORPG active subscriptions (excluding Lineage, Lineage II, and Ragnarok Online which are much larger) [Woo05]
Recent Online and Multiplayer Games |
23 |
|
|
|
3,000,000 |
|
|
Ultima Online |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
Lineage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
2,500,000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Subscribers |
|
|
EverQuest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
2,000,000 |
|
|
Final Fantasy XI |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
1,500,000 |
|
|
Lineage II |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
World of Warcraft |
|
|
|
|
|
|
|
|
|
|
|
||||||||
1,000,000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Total |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
500,000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-97 |
-97 |
-98 |
-98 |
-99 -99 |
-00 |
-00 |
-01 -01 |
-02 -02 |
-03 -03 |
-04 -04 |
-05 -05 |
|||||||||
|
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
Jan |
Jul |
|||
Figure 3.8 Active MMORPG subscriptions for games with 120, 000 + players (excluding City of Heroes, EverQuest II, Dark Age of Camelot, Runescape, Ragnarok Online, Star Wars Galaxies which are all smaller) [Woo05]
Figure 3.9 Screenshot of Dune II. Reproduced by permission of Electronic Arts.
hit, Warcraft set the stage for Blizzard’s Warcraft II in 1995, one of the biggest successes the RTS genre has known. WarCraft II allowed up to eight people to play simultaneously on a LAN using the IPX protocol. The v1.2 patch for Warcraft II included optimization for network play, but was not, in fact, playable on the Internet since it still used IPX instead of IP. In the light of this, Blizzard released a special executable to facilitate multiplayer Warcraft II over the Kali network. Warcraft II showed that the Internet could support superb multiplayer RTS gameplay that appeared surprisingly resistant to the effects of latency and bit rate limitations, even on slow modem connections. Because of this, Warcraft II
