Disadvantages of Online GamesPlaying games over a network, especially the Internet, creates technical challenges that single-player or local multi-player games don't face. Playing with anonymous strangers can cause social friction, and if you provide an online game, you might have a serious legal obligation to make sure people don't use it to abuse children. Technical IssuesBecause this is a book about design, we won't go into the technical issues in detail, much less try to provide solutions for them. However, we think it's worth listing a few just to let you know what you're up against.
Communication ModelsYour programming team will need to choose a communication model for the game. Two communication models are used in network gaming. One is client/server , in which each player runs a program, called the client , on his computer that communicates with a central program, the server , on a computer owned by a company providing the game service. In the client/server model, the server "owns" the game and the clients merely present it to the players. The other model is peer-to-peer , in which players' computers communicate directly with each other. Peer-to-peer (sometimes abbreviated P2P) is quite straightforward for two-player games, but it becomes more complicated as more players are involved. The players must somehow decide that one machine is the "host," controlling the game, and the others are guests; but if the host logs out of the network, one of the guests must take over and become the new host ”preferably automatically and without anyone noticing (this is known as "automated host migration" and is already supplied by Microsoft's DirectPlay facilities). Some companies also operate "matchmaking" services in which the company server's only function is to allow players to find one another and connect together in peer-to-peer networks. All of this is programming work that offline games don't have to bother with. Transmission Delay TimesThe Internet was designed for redundancy rather than speed, and it doesn't make any guarantees about how long a given packet of data will take to get from one point to another. In many games, a faster connection translates into a gaming advantage, so players with high-speed connections are more likely to win the game. There are ways of designing around this: You can make your game turn -based or try to match opponents up on the basis of their connection speed. At the moment, however, there is no one satisfactory answer. Dropped and Garbled PacketsWhat happens to your game if it doesn't get some of the information it needs? Your system will require a mechanism for detecting that a packet has gone missing or contains bad data, and requesting that it be resent from the server. Packets can also arrive out of order, which can be confusing if your client receives information that a race car is about to cross the finish line, but the next packet tells it that the car is 100 yards back up the track instead. Every packet must have a unique serial number so that you can tell if one is missing or if they are arriving in the wrong order. It's Harder to Suspend DisbeliefFor some players, gaming is a form of escapism. They want to go away to a magical place, and they want it to stay magical while they're there. To them, it's particularly important that nothing occur in the game to break their suspension of disbelief. This is substantially harder to accomplish with online games because there will always be players who won't stay in character or who will talk about real-world issues and events while they're in the game. Unless there's a strong (and enforced) ethos of in-character role-playing, people who play in an online game have to accept that their imaginary world includes a lot of entirely real people.
MisbehaviorUnfortunately, playing with strangers ”particularly anonymous strangers ”creates opportunities for a variety of types of misbehavior that can ruin the game for others. These range from simple rudeness to harassment , cheating in various forms, and outright fraud. Rudeness might not sound very serious, but it does drive away other customers. (Raph Koster has stated, only partly joking, that the sole rule in Star Wars Galaxies is, "Any behavior that hurts business is bad behavior.") Furthermore, if you want children to play your game, it is particularly important to make sure they have a safe environment to play in ”and that means hiring customer service people to monitor them. Self-contained networks such as America Online have some tools at their disposal to manage these problems, but on open networks such as the Internet, it's much harder. We address some of these issues in the section on design issues, later in the chapter.
The Need to Produce ContentWhen you're building a game sold in retail stores, the project is over when the gold master disc goes off to manufacturing. The players buy the boxes, and you can go off to work on another project. Online games don't work this way; they earn money either through advertising revenue or subscriptions (or both). To keep people interested, you have to change things, and that means producing new content on an ongoing basis. This is expensive to the service provider and ties up skilled development staff. The problem is most obvious with persistent worlds , but even simple games need to be kept fresh somehow. America Online used to run a suite of games called RabbitJack's Casino (no real money was awarded as prizes). Although the graphics didn't change, the game's managers held theme nights and gave away additional prizes when particular combinations of events occurred.
Customer ServiceAll game companies require customer service staff to help players with problems, but online games need far, far more of them. With offline games, players mostly need help with technical difficulties; for gameplay problems, they can buy strategy guides or find hints on the Internet. But in a live, online environment, players expect to get help immediately, and they demand help for a much larger range of issues than they do in offline games. Players expect customer service people not only to solve technical problems, but also to explain the user interface, answer questions about game content, and enforce justice by investigating and punishing misbehavior by other players. With thousands of players logged on at any one time, it can become very expensive to provide these services.
|