Chapter 2. Types of Network Games

Having set the scene in Chapter 1, “The Challenge of Game Networking,” this chapter details all the types of network game that have emerged with the introduction of networking technology. Both the client and server (as well as network) capabilities have expanded over the years, and this has helped shape the kinds of game that are available and popular. The basic types of network games considered in this chapter—and indeed, the rest of the book—are as follows:

Note

In This Chapter

Although the emphasis here is on wide area networking, as can be seen in the list that follows, local network games (LAN games) share some of the same characteristics. They are dealt with where appropriate in the context of the other network models.

  • Multi-user dungeon. One of the first kinds of multi-player network games, the multi-user dungeon, or MUD, was essentially a text-based environment through which people could interact, chat, and role-play. The textual interface was necessary due to the heterogeneous nature of the connected platforms, network, and machine performance.

  • Arcade. With improvements in platform and networking technology, it became obvious that single-player games could be networked to allow players to play against (or even with) each other. Examples include allowing network gaming in Quake (especially in Capture the Flag mode).

  • Multi-player network games. As the prevalence of the Internet increased, line speeds rose, and connectivity costs fell, the first wave of truly network-only multi-player games surfaced—one of the earliest being Unreal Tournament (UT). These games essentially had no single-player mode beyond simple robotic AI NPCs.

  • Web “through the browser” games. While the computing power made games like UT possible, and despite the rapid adoption of networked consoles, the World Wide Web has still emerged as a gaming force, especially in niche and casual gaming markets. The low footprint of Web games also means that they can be played on a wide variety of platforms, from PCs to phones.

  • Alternate reality games. Some games, such as Perplex City, mix real-world gaming devices, such as collector cards and locations, with virtual gaming via a Web interface that is little more than a glorified forum. The back story is all-important in these types of games, and the interplay between real and virtual can be more or less complex depending on the gaming interface chosen. This genre is in its infancy, and as a gaming community, we have yet to explore all the possibilities that handheld gaming devices such as cell phones and other wireless gaming devices might bring to the fore. One can envisage a time in the future when a player’s very existence might become part of an evolving game played out over console, PC, and handheld device, using technologies such as GPS and WiFi. Clearly the social aspects of such games will be vital to their success, as they already are in Second Life and other such pseudo-games.

  • Virtual worlds. These are not necessarily classified as games per se. Rather, they are hyper-interactive pseudo-games that attempt to mirror reality to a certain extent within a stylized virtual environment that borrows from gaming technology. Virtual worlds can be seen as logical extensions of MUDs—replacing text with graphics, but retaining the powerful aspects of chat and location-based persistent environments, complete with rooms and objects that can be created, owned, and manipulated by the players who live within the virtual world.

For each of these game types, the challenges, technologies, and some historical background will be given. Coverage extends to issues such as hacking and other types of cheating, network performance, server-side issues, and the influence of the Internet and artificial players (bots).

Multi-User Dungeon Games

The multi-user dungeon (MUD) genre covers a wide spectrum of games, ranging from basic talkers (Foothills, Surfers, etc.), where the underlying game mechanic is simply to customize and communicate, to more advanced hack- and slash-style adventure quest/player killing experiences. The latter have more in common with traditional role-playing games (RPGs) such as those influenced by paper-based real-world games like Dungeons & Dragons. Arguably, although these have split into other sub-genres such as MUSH, MUCK, and MOO games, they still remain part of the MUD experience. (You’ll learn more about MUSH, MUCK, and MOO games later in this chapter.)

Although the term “MUD” has become synonymous with the historical interface that has become part of gaming culture, it is feasible that it could be extended somewhat. (For those not familiar with this aspect of gaming subculture, the classical image of a MUD is a text-based Telnet client–oriented interface with lists of commands and short forms to enter via the keyboard.) But although it is arguably time to modernize MUDs, the premise of a MUD should remain the same: a simplistic gaming model allowing the user base to provide much of the content and intrigue.

Indeed, this idea has led to virtual worlds such as Second Life, providing a modern interface to what is, basically, a MUD. Despite the slicker interface and more game-oriented approach, Second Life shares much with the MUDs of old in terms of the various challenges and solutions used to facilitate the persistent game environment and player-to-player and player-to-room communication, and to overcome issues relating to the underlying network infrastructure.

Some of the key design/implementation features of the MUD system, then, are as follows:

  • Communication: This includes local communication, remote communication, and player-to-player communication, also called “whispering.”

  • Commands: These include admin commands for superior users.

  • Emoting: This involves presenting actions through words (e.g., <player> shrugs).

  • Interactivity: This refers to the player’s ability to use commands to modify the environment.

Even if the technology driving the architecture has advanced, the MUD gaming paradigm still lives on in one form or another, and is a cornerstone in network gaming history. To understand the impact of MUDs, and what you can learn from their implementation, it is necessary to start at the beginning, taking them apart layer by layer.

First Principles

I first came into contact with MUDs in the early 1990s, and these early experiences in large part shaped the way I think about multi-player gaming and how a game should be created. Key to the success of the MUD genre was the emphasis on communication and movement around a fixed and/or dynamic game environment. MUD gaming has always been about delivering a rich universe, with concentration on the multi-player aspect above all others. While single-player text-based adventure games also existed, a MUD just could not have worked as a single-player game; there would have been no point. This social aspect to gaming was lent more credence by the rich command set, enabling players to communicate directly through simulated speech and, indirectly, through thought bubbles and emoting.

Genres

More serious MUDs have embraced certain genres that reflect the manner in which players are expected to behave. There are as many genres of MUD as there are genres of gaming experiences:

  • Science fiction

  • Medieval

  • Fantasy

The science-fiction genre, in particular, is very interesting, often based on science-fiction TV shows such as Star Trek. Other genres pull in descriptions, background stories, and even characters from other works of fiction that serve as an effective backdrop for the MUD and interactions within it.

Usually, within each genre, individual player characters can be created. The depth of character depends on the kind of interaction with the game and other players that the MUD authors require. Non-talker MUDs require a certain investment in this respect, as the emphasis is on playing a game and not just stopping by for a chat. If the MUD concentrates more on interaction than it does on gameplay per se, then the depth of character development might not matter so much, except as an interest point for discussion between online characters. At the other end of the spectrum, those MUDs that require players to complete quests (either as part of a team or individually), and that encompass a game rather than just a place to hang out require much more customization. More often than not, it is that customization that affects the progress of a character through the game.

Gaming Model

Although the MUD genre can mean different things to different people, all MUDs share a common gaming model—one that is based on a pure client/server infrastructure. Usually this requires that all the rendering information be passed from the server to the client—historically a Telnet client, which displays textual information received by the software application. Telnet is a specific protocol, like HTTP, for transferring data over the Internet. It allows the server and client to communicate in a standard way—although what the server sends, and what the client does with the data it receives, is entirely up to the game designers.

The server acts as a communication conduit and maintains the entire game universe, usually in a database. If the server or database system is slow, then communication is slow, and the game becomes generally slower. If the server goes down, then the game cannot be played, as no more communication will be possible. The server is administrated by people (usually also players) with special powers (like super-users in a Unix-based system), which extend to managing the other players and, usually, the system—although not necessarily at the operating-system level. It is the responsibility of these admin players to make sure that everything runs correctly.

Non-Interactive Environments

The dungeon itself (for want of a better term, the game environment) is created by the MUD administration and can be static or dynamic, fixed or interactive. A static non-interactive environment is often just like a chat room. There might be some basic descriptive text, allowing players to take a look at the environment but not interact with it. Although they may be able to move from room (location) to room, nothing can be changed.

Unless the admins decide that a specific room needs a change, once everything is set up, it tends to remain the same. Those players that become admins might take ownership of certain rooms and change their look now and again, but the underlying premise of the MUD is that it is a place for people to come and chat (talk).

A step up from this is a dynamic non-interactive environment. In these environments, the room descriptions (and possibly objects within the rooms) may be changed by anyone with sufficient privileges. This mechanism usually allows non-anonymous players (residents) to have their own rooms, which they can invite people to inspect or chat in—usually with the possibility to lock the room against unwanted access. The difference between a dynamic non-interactive environment and a static environment is the level of customization that is possible. There is still no interaction between the environment and individual players, and the game remains more of a chat room than anything more advanced.

Note

Non-Interactive Environments

Security concerns creep in at this point, as the server and database are opened up to players. If players find a way to insert a textual command in the descriptions of their rooms, and if that command is something subversive, then without specific safeguards, they could feasibly bring the system down.

Interactive Environments

A static interactive environment lifts the game to a status that enables the players to do more than just chat. The players might actually be able to interact with the game and game environment in a pre-programmed fashion. This opens the door for games involving quests or solving puzzles. In short, these types of environments open the way for “proper” gaming as opposed to just being glorified chat rooms. If players can interact with each other and the gaming environment in a way that allows the special “administrative players” to create games within the environment, then the possibilities for both fun—and security breaches—drastically increase.

It is the malleability of the environment, as delivered by the developers of the MUD platform, that allows gaming to take place. This is the purpose for which the original code was developed: to see what creative players would come up with, be it a sci-fi game inside the MUD or just a place to go to chat online.

At this point, in game-design terms, there are several decisions that have to be made. For example, what happens if you want to send two characters (or groups thereof) on the same quest? Is the entire game environment to be one big world in which this is not possible, or is the multi-player aspect selective, allowing groups to embark on quests at the same time in their own spawned alternative game worlds? Answering these questions is key to the game design—and will certainly complicate the game’s development unless it is left to the MUD admins to decide how this will be implemented. The result is a game framework that can be customized by those responsible for the daily running of the game proper.

For example, admins might choose to have a system in which the rooms and objects required for a specific quest can be copied to a room set that can be accessed only by those who are going on the quest. Access to the quest, therefore would be via some kind of in-game portal, separating out those who are taking part in a quest from those who are not. This resolves, to a certain extent, any issues arising from multiple players wanting to go on the same quest.

These solutions, and the game design that spawns them, derive from the fact that the environment is interactive. So the key differences between the non-interactive and interactive environments are as follows:

  • Players cannot affect the game world in a non-interactive environment.

  • In an interactive environment, the mere fact of interaction leads to some consequences for the player—chiefly that players can often sustain damage and even be killed during a game session.

Note

Interactive Environments

Player deaths can be at the hands of the environment (or non-player characters, otherwise known as NPCs) or other players. So-called player killer or hack’n’slash MUDs allow players to kill each other, which is more usually reserved for NPCs. These possibilities are brought about by the introduction of game networking, which is more or less unique to multi-player network games, be they LAN- or WAN-based.

In contrast, a dynamic interactive environment enables players to add their own content—or, in MUD parlance, become builders. They might even be able to create quests. Whether their in-game creations are allowed to kill off other players is a decision usually left up to the admins.

Security

Clearly, security is high on the list of issues that need to be considered. Luckily, a MUD is fairly easy to secure because the only place a hacker could have any influence at all is on the server. As long as that is secure, then the worst that could happen is a denial-of-service (DoS) attack (also called “spoofing”)—which easy to spot and not inherently damaging.

Note

Security

We mentioned the possibility that players might introduce database (SQL) statements into their room descriptions, thereby potentially enabling Trojan-style attacks. These so-called SQL injections are also easy to spot and remove, but attention needs to be paid to them on the level at which the SQL statements are executed, as this may be performed by an account with system-level access to the database.

It is worth taking a moment to look at the potential weak spot that is the DoS attack because it applies to any gaming system. It has, in the past, also been the Achilles heel of MUD and other network-gaming systems with which one can easily interface using external systems.

MUDs are usually text based, accessed through an open protocol (Telnet) using plain-text commands enveloped within the protocol. This means that an automated system (bot) can be placed behind the client or in place of the Telnet client. This bot can even carry out automated tasks such as signing up for an account. Moreover, these days, multiple processes can run on a single computer, so multiple bots could be set up on the same machine. The amount of time required to crack most systems would therefore be drastically reduced—and the mere act of running multiple bots all trying to sign up for accounts might even cause the DoS to succeed.

Unfortunately, there are no “CAPTCHA” mechanisms possible to prevent such a scenario, as MUDs work over a pure text-based interface. Any challenge-response security mechanisms would have to be based on questions that only a human can answer, and this would prove to be difficult to implement. And although placing the server machines behind a firewall, thereby restricting access by IP address, would ostracize bots, so, too, would it ostracize legitimate players on LANs connected to the Internet. For these reasons, the MUD can be seen to be relatively unsecure.

In summary, although the benefits, in gaming terms, of the MUD system are that information exchange is minimized (it’s plain text) and a wide platform base is addressed (even cell phones ought to be able to handle Telnet), it does have a key weakness: The client is not specialized enough to guard against spoofing. There should be automatic systems in place to guard against such attacks, which are covered in Chapter 8, “Removing the Cheating Elements.” If no steps are taken to prevent DoS attacks, all someone would have to do is set up a series of bots to log in and spam the system with random text in a private room; this would slow down the system, crippling it for everyone else. Clearly, resolving this issue is key to understanding multi-player security in general.

Social Gaming

The principle driver for MUDs is arguably the social aspect. Long before the arrival of Xbox LIVE, headsets, and in-game communication, people were cooperatively gaming on MUDs. They were able to chat to each other (either privately or to the room at large), decide strategy, and interact with each other and the environment. This is referred to as “social gaming.” The MUD was, and arguably still is, an enabling conduit for social gaming, as well as an innovative way to play games together.

Another aspect to social gaming is that it can be done using a combination of a MUD and interaction with the real world. For example, two MUD gamers can each get a chessboard and then play against each other or a bot—either in public or private. This has led to implementations of chess games within MUDs, as well as other games such as Paper Scissors Stone and Battleship clones.

Text-Based MUDs

Part of the challenge of text-based MUD (not to mention MUCK, MUSH, and MOO, all variants on the original MUD) design and implementation is that the interface is, well, text only, which requires a text interface for communicating with the system. The system is then responsible for interpreting the commands, carrying out the actions that they embody, and then relaying the result to the other players.

As a result, the commands themselves need to be fairly self-explanatory and easy to type; but they also need to be short, because they have to travel over a network—usually the Internet, which is not known for its speed and reliability in data transfer. (This was a reasonably big issue in the early days, but not so much now, as data speeds and reliability increase.) Historically, sensible limits were placed on such things as room descriptions (often limiting them to as few as 255 characters), and a paging mechanism was often necessary to display multi-page text. These practices helped to ensure that the widest platform compatibility was maintained, with few extensions for more advanced terminals.

Note

Muck, Mush, and Moo

One early extension beyond plain text was support for ANSI screen control—allowing colors and reasonable layout control. Due to the multi-player, multi-platform nature, however, it became important that appropriate measures were taken to ensure that other display types were catered to. That’s why, in the early days of MUDs, users (players) had to choose their terminal type at the start of the gaming session—vt100, for example, being a standard text-only non-ANSI terminal. This mechanism, of course, assumed that the players were well acquainted with their hardware and could make the appropriate choices. Fortunately, although the clients were fairly dumb, these early users, typically computer-science majors, had above-average knowledge of computers in general, and client/server computing in particular. In the intervening decades, networked multi-player games have moved more mainstream.

MUD clients now exist that can emulate the screen (terminal) types and automate the interactive portions of the game interface by automatically inserting text. Rather than having to type commands, the player can now just click a button and have the appropriate command inserted. Furthermore, for certain games, interfaces exist whereby the player can be substituted by a macro—a kind of program—that can insert commands into the stream and analyze the results. In other words, it is one step away from automatic playing. This automatic playing is at the core of most problems associated with hacking. The ability to insert commands into the stream in this manner also highlights the lack of security once a player account has been created. There are no checks to make sure that the player, and not some automated script, is playing. The text-based model makes this easy: Everything is text, and a generic client can be used to play the game.

The basic text-based MUD game model centers on a server that contains data for all the places that can be visited. Also on the server is the logic for passing from one to the other and a communications layer that allows players to chat with each other. All the logic that relays the state of the game environment to all the clients and governs their interactivity is also part of the text MUD engine. Nothing is farmed out to the client beyond simple display chores; even the logic that dictates how the game environment is to be displayed is contained on the server, which must then provide exactly the text to be rendered (and any control codes) to the client. This is partly due to the use of the Telnet protocol for data transfer, which is largely text based, and relies on a client that is fairly dumb.

Possibilities Beyond Text

The basic MUD model can be tweaked and extended in many ways. For example, the Telnet clients can be replaced by smarter, custom-built clients capable of displaying better graphics, playing sounds, and even implementing some of the game logic. (As you will see in Chapter 8, this last extension is not always a good thing, as it is opens the door to cheating by proxy.) Some of the tweaks have been made to improve the text-based nature of the MUD itself; others allow for the creation of entirely new gaming experiences. Such tweaks involve changing the nature of the data exchanged, as well as changing what happens on the client side when it is received.

The preceding section had one example of this: dropping in an alternative front-end to provide the interface for the player. Other examples include richer graphics (rather than text) and may necessitate either streaming the data inline (as in the Google Earth approach) or synchronizing with locally held data that describes the immediate environment. The World Wide Web provides an additional layer for the distribution of a front-end, with two added advantages. The first is that the player doesn’t need to download anything. Secondly, the front-end can be properly adjusted to match the capabilities of the game on offer. An embedded front-end could be an appropriate middle ground between classic text MUD gaming and full-blown distributed client gaming systems. This approach could also feasibly culminate in an entirely proprietary interface that can even be used to extend the basic MUD in a proprietary fashion.

Graphics and Sound

At its core, a MUD is just a place where people can go to chat and occasionally embark on other activities. Even other flavors that add interactivity, objects, and role playing are just variations on that core theme. It is only natural, however, to seek ways to update this basic model to bring the appearance of the game up to modern standards. Because the core server-side processing will never be seen except through the client interface, it doesn’t need a lot of modernization. Adding the ability to move through the game environment in 3D or 2D, however, would be a good starting point for an extension. It would allow players to be more creative with their in-game persona (or avatar), as well as allowing fast recognition between classes of player (or even friend and foe).

Note

Graphics and Sound

You’ve seen how a move from text to graphics has occurred as processing capabilities and networking technologies have improved. As a consequence, however, the server must farm out some of its responsibilities to client systems. The first place that this happens is in the graphics and sound that present the game environment to the players.

One approach might be to extend the GUI itself away from the basic text-based interface of the classic MUD, and on to a more typical modern-day RPG interface. Although this would make the game more accessible, it would still be a MUD; in fact, all that has occurred is a change the front-end. Since the gamer can get status information via the text interface provided by a typical Telnet MUD, it is easy to produce a front-end that can do the same, but display the results differently.

Taken to its logical conclusion, under this model, different players could have different visualizations, even if the underlying game was essentially the same—meaning that with very few logic changes to the underlying system, two players could cooperatively embark on games of different genres. This is an extreme case that probably doesn’t have any practical use, but it does illustrate the power and flexibility of the MUD model—provided, of course, that the rendering tasks are farmed out to the client. The server just sends a command to tell the client what to play (or display); the client is responsible for the rest.

Note

Graphics and Sound

This also presumes some kind of synchronization of assets or inline streaming; if streaming is chosen, then the flexibility of the MUD is compromised slightly. If asset synchronization is chosen (the more common option), then there are a few other things to take care of, covered later in this chapter in the “Arcade Games” section.

Sound can also be introduced into a MUD, adding even more flavor to the gaming environment. Although sound was completely missing (beyond the odd beep) from the classic MUD architecture, it could be introduced/triggered as part of the extensions discussed here. In essence, the same arguments and implementation path can be used for sound as for graphics, with the additional possibility of allowing the player to introduce his or her own soundtrack via the computer’s CD player (for the PC platform, at least). The underlying interactivity model for MUDs can be used to trigger changes in environmental artifacts (things switching on, or other background sounds, for example) based on the location of the player in the game environment; adding sound simply involves slightly extending the core to identify a sound rather than some kind of descriptive display.

All of the above relies on the server being able to identify the client, or the client being able to interpret the result from the server in a certain way—displaying graphics rather than a textual description. This is, however, required only where text and graphics (plus sound) must exist in the same game space. If this is not required, then identification may not be necessary.

Security

Some form of security is necessary for custom, open, homogeneous, and heterogeneous architectures alike. Traditionally, however, MUDs have been weak in this regard. This was because the Telnet model relied on a very simple underlying architecture: a connection-based architecture. If the connection was lost, then the security layer was ditched, and the player would have to re–log on. Moreover, the sign-up process itself was fraught with issues relating to platform restrictions. In short, it was very easy to sign up with a bogus user name and password, initiate a session, spout rubbish or just lurk in the background, whilst the automated client did the same with another account. It didn’t take long for the server to become overloaded—the so-called denial-of-service attack having succeeded.

What can you do to prevent this? For a start, you can add a Web interface for the sign-up process, improving security and preventing DoS attacks by introducing CAPTCHA mechanisms. A CAPTCHA mechanism presents the user with a graphic of a word, suitably obscured to reduce the possibility that an automated process could identify the word in question. The user must then type the characters appearing in the graphic in the field provided. For example, Figure 2.1 shows a simple CAPTCHA containing the phrase “pure genius” with a pixelization filter applied. A human can more or less work out what the phrase is, but a computer would have a much tougher time. This is one simple way to keep the game universe clean—removing someone’s ability to sign up using an automated process. In addition, it puts the onus on a sign-up mechanism that is separate from the MUD itself, thus retaining the underlying simplicity of the system.

Simple pixelated CAPTCHA.

Figure 2.1. Simple pixelated CAPTCHA.

Of course you don’t necessarily want to prevent people from creating bots that try to interact in a way that is sensible. Some MUDs allow players to spawn robots that can be instructed to move independently of the player. These bots can even be made to emote and chat as if doing so independently, not just as a result of the human player manipulating them. (Typically, these are called puppets.) Such activities could also be used as a programming challenge or even a serious scientific experiment in machine-language learning and natural-language processing—not to mention a way to test the system in an automated fashion or enable others to help you test it from geographically remote locations. Indeed, much good can come out of such research projects, perhaps even helping future gaming and game security in spotting patterns of undesirable language elements. All this is to say that some automated gameplay is actively encouraged, and that too much security can be counter-productive in MUD gaming.

On the other hand, you don’t want to open the system to attacks, either. Fortunately, moving away from a text-based MUD and the Telnet protocol to, for example, a lightweight Java client will help to increase security whilst adding the benefits of a richer game interface—perhaps even a full-featured virtual world.

Virtual Worlds

Virtual worlds have become very popular in the press. They revolve around chatting, ownership, and mirroring the real world in the virtual. Of course, they’re not a true reflection, but they do allow the player to project his or her personality in a way that the basic MUD did not. Virtual worlds are not games per se, but are the modern equivalent of the old talker MUDs such as Foothills, Surfers, and so on.

A few examples of these virtual worlds are the 3D chat system IMVU, Google Lively, and, of course, Second Life. They graphically build on the social aspects of the MUD, allowing customization of the avatar and the things that the player can own (objects, locations, and other items of virtual property) that extend the basic model. Arguably the most popular of these virtual worlds, Second Life boasts an economy, complete with free and paid options, inline advertising, and shopping. The look and feel is, it seems, inspired in part by SimCity and the Sims games. It’s all very familiar—except that every avatar is exceptionally good looking.

These virtual worlds remain, at heart, MUDs—albeit very sophisticated ones. They are dynamic interactive environments, being entirely fluid and allowing players to interact with each other and the game environment. Objects can be owned and stored, and land can be bought, built upon, locked up, and partied in—the Second Life equivalent of private rooms in the basic text-based MUD environment. Indeed, there are echoes of every underlying MUD feature in virtual worlds; these virtual worlds don’t really (technologically) add anything beyond the representation of the environment and everything in it. Sure, there may be some unique object representations under the hood, but even these have their equivalents in scripted objects in the various incarnations of text-based MUDs from the early era of virtual worlds.

Beyond the massive scale (of objects, players, locations, and flexibility) on the server side, there is no difference between Second Life and a plain-old 1990s-era text-based MUD. It follows the same model, and the server has the same responsibilities, actions, chores, and so forth. On the client side, things are not much different either. Apart from the GUI, the game-environment rendering, and player options (objects, display), there are still the same basic commands.

As a player, you can examine another player and get a description of him or her, but that description is immediate and visual rather than a text-based query. The same goes for the environment and objects. Interaction involves pointing and clicking rather than using a text interface. The whole thing is somehow more accessible, but at its heart, it’s still a MUD.

Arcade Games

The term “arcade-style games,” in this context, refers to everything from first-person shooters (FPSes) such as DOOM, Quake, Half-Life, and so on, to fighting games like Street Fighter IV and driving games like Burnout Dominator. For the sake of simplicity, I’ve lumped massively multi-player online RPGs (MMORPGs) in with these games, because they pull techniques from both the arcade and RPG genres. (I am aware that this constitutes a genre faux pas, but as this is a book about network game design and not just regular game design, this kind of categorization is a necessary evil.)

With the addition of headsets and Xbox LIVE, the arcade model also now includes cooperative multi-player gaming based on FPS and MMORPG models, all of which combine to make networked gaming more accessible and profitable than ever before.

The arcade-oriented network gaming model arguably began with the linking together of games that were essentially single player in nature without extending the gameplay itself beyond the existing platform. The gamer could play the game by himself or herself, or against other players over the Internet. For example, Unreal Tournament performs perfectly well as a single-player game, with the gamer playing against NPCs. It is, in fact, indistinguishable from the same game played against real human players—except for the fact that the behaviors might be different (and human players tend to send messages to each other). It is also possible to substitute real players for scripted NPCs—either by choice (to make up numbers) or for more devious reasons (for example, to build up a weak character by engaging in automated play or simply to disrupt the game by behaving in a way that runs against the accepted rules of play). All this is to say that the social aspects are what differentiate the multi-player from the single-player versions. In terms of look, feel, and capability of the opposition, the two are indistinguishable.

There is also, again, the question of asset synchronization. I remember having to download multi-player maps from Unreal Tournament servers in order to be able to participate, as well as needing to patch the client software and add bits and pieces to bring my system in line with everyone else’s. This kind of activity still goes on—although it’s less of a hassle thanks to higher network speeds, which makes it possible to stream a lot of the content in-line, as in games such as Second Life or Google’s Lively. Nonetheless, if several players want to play on the same level map in an FPS, they all need to have retail copies of the game and the map in question. Despite all the advances, this aspect of networking multiplayer gaming hasn’t changed that much.

Gaming Model

Whatever else gets added to the mix—be it a Burnout Dominator–style interface, which requires players to select game types by driving around, or new cooperative gaming modes—the basic model for arcade games remains the same: a client/server, pure connection–based, realtime gaming environment. In other words, it’s like a MUD, but with extreme performance, reliability, and data consistency.

Those extreme conditions extend to the amount of data that needs to be evaluated by the server (including physics, for example) in order to relay the correct in-game status to the client machines. This, combined with the number of players that can play on a given map and the number of maps available, means that the server is required to do an awful lot of processing just to keep everything moving along at an appropriate speed.

For each layer of complexity that is added to an arcade game beyond the basic MUD model, support requirements will grow exponentially. For example, adding graphics introduces a multitude of issues to be solved—from addressing performance problems to keeping all the clients current. One strategy is to stream assets inline using a Google Earth–style model, but the data-transfer requirements will potentially be huge. Adding multiple downloadable maps results in a similar problem—with the added complication that if they change, the server must have some way of determining whether all the clients have the same map. If they do not, then the map needs to be downloaded inline either before the game can begin or whilst the game is in session—which is itself a kind of asset streaming. This last option, streaming map updates inline, is unlikely, however, and potentially dangerous—after all, what do you do about dropped connections? The arcade model has no immediate answer beyond the usual: ending the playing session and disconnecting the player until such a time as his or her environment can be brought up to the appropriate level. All this is to say that the arcade model has a lot more to contend with than the MUD model, simply because it is more time critical. In fact, this is the key aspect that sets the two apart: a MUD is much less reliant on time-critical data exchange—and exchanges much less data, less quickly—than an arcade game.

Complicating matters is the fact that competition in the arcade-gaming market is fierce—indeed, this sector includes almost every genre, and is the most prolific of all models of the modern era. Because of this, game developers must work hard to be better than their competition. This competition drives the success of the market, but also means that the success of an individual game is much more vulnerable in the marketplace if any aspect of it is perceived as negative. This reality is observed by Greg Costikyan in his report “The Future of Online Gaming,” where he states:

“An online game’s success or failure is largely determined by how the players are treated. In other words, the customer experience—in this case, the player experience—is the key driver of online success.”

That means anything that removes from the experience—be it cheating or network unreliability—will attack the success of the game. In game terms, the reliability of the connection is a matter of life and death. In other words, if the gaming system cannot combat the worst excesses of network lag, latency, and jitter (see Chapter 7, “Improving Network Communications,” for more information about these glitches), it is quickly rendered unplayable. Moreover, the gaming client—which must be proprietary, capable of displaying complex graphics, and capable of playing complex sounds—must also be capable of communicating with multiple versions of servers. Getting all aspects of the model right is a good starting point, even before the implementation of the game proper begins.

Security

As in a virtual world (e.g., Second Life), discussed in “Virtual Worlds” earlier in this chapter, security in an arcade-style network game can both be made easier and be bolstered by the move to a proprietary client/server model. By introducing this measure of control at the protocol and encoding level, security can be enhanced at various stages:

  • Data exchange

  • Communication

  • Authentication

Unlike in a virtual world, however, security breaches in arcade-style network games can have severe and lasting in-game consequences for players. This is because a player’s own progress in the game (think of an online game like Quake or an online RPG) relies on the game’s security remaining intact and on those with malicious intent being kept at bay. Admittedly, a security issue in Second Life might render some of the game environment permanently (or temporarily) unusable, but like graffiti in the real world, it can be cleaned up. It is much harder to “clean up,” however, if a player has been wiped off a game map and lost all his or her hard-earned in-game artifacts, be they experience points, in-game cash, weaponry, or what have you. For this reason, security must be foremost in the designer’s mind, because an inevitable side-effect of a game’s success is that it will become a target.

The problem is that it sometimes impossible to detect when a player or game has been subject to foul play, as the player will probably have been destroyed in a game-legal fashion—that is, by using the rules that determine the game logic against the game environment in a devious fashion. For example, suppose there is an exploit that enables a client to see the location of all other players on the map. In that case, a player could create a bot designed to seek and destroy other players. Such exploits have been found in games; these exploits involve sending data to the server that elicits a response containing more information than it should. In essence, the client spoofs the server into believing that the player is simultaneously present at all (or many) map positions at the same time. (Note that this is only possible in those games where movement is processed on the client and relayed to the server as status information.)

Data Exchange

Arcade-based network games must react quickly. As such, the data-exchange model—how information is exchanged between the client and server, as well as any compression or encryption required—needs to be carefully planned. If a network-enabled arcade game is to work, data exchange must be fast, compact, and, preferably, obfuscated.

With respect to speed, LAN gaming benefits from the close proximity of the users involved in that data volume can be increased—meaning that there can potentially be more players on each map, larger maps, and more going on generally. In contrast, while Internet gaming benefits from a wider audience reach, there are considerable drawbacks, including slow network-reaction times, intermittent network connectivity, and the various security issues noted in Chapter 1. Because increasing the data volume is not an option, the game designer should instead attempt to construct the game such that less data (or more compact data) need be exchanged.

Let’s further consider the issue of obfuscation—that is, obscuring the data that passes from server to client and back in such a way to prevent cheating and other types of exploitation. For example, rather than sending data that looks like this:

move <player> from <x,y> to <x1,y1>

the game might alter it to look like this:

DE 7A 4B CF 54 9A B3 FC 80

The same goes for downloadable assets—maps, characters, weapons, and so on. Their representation, the game logic that governs how they are used, and the eventual effect of their use in the game must be obfuscated in some way.

The fact that the arcade-style model is based on a proprietary client makes data obfuscation—as well as general handling of the security layer—far easier. The game designer can dress up the data however he or she wishes because only clients for that particular game need to be able to understand it—although there might be client-side processing-power restrictions that make extreme encryption and compression unsustainable. Be aware, too, that the extreme performance requirements of the arcade genre and related network-gaming genres dictate that designers be creative in keeping the overhead as low as possible.

Massively Multi-Player Online Role-Playing Games (MMORPGs)

The two principal network-gaming models are MUD, where everything happens on the server, and arcade-style, where only the status is tracked on the server. Interestingly, these two models can be combined to produce other types of games. For example, MMO games add RPG elements to the MUD and arcade (FPS) models and usually have the look and feel of an FPS (with the exception that, in certain games, combat and other interactions can be turn-based; the use of turn-based combat and interaction, however, is more a genre adaptation than a requirement imposed by any technological constraints).

Many would argue that the massively multi-player online role-playing game (MMORPG) is the pinnacle of this genre, combining the ownership, puzzle, and quest aspects of a MUD with the philosophy of an RPG and adding the front-end of an FPS. The result is true adventure gaming, with server-side status updates, client-side interactions, and data exchange via the server to mirror the actions of each player and ensure that everything is kept in synchronization. Examples of the genre include World of WarCraft, Eve Online, EverQuest, and so on. While each one has something unique about it, all hold to the same model—a distributed closed binary client, communicating with a central server (or servers), offering real-time action with location-based adventure gaming and objects.

One of the clues as to the reach of this type of game is in the genre title. As shown in Table 2.1, these games truly are massively multi-player.

Table 2.1. The Reach of Various MMORPGs

Game

Subscriptions

Peak Logins

Source

EverQuest

430,000

118,000

Sony via Wikipedia [EQ01]

Eve Online

200,000

37,481

Eve-Online Forums [EVE01]

World of Warcraft

10,000,000

n/a

Blizzard [BLIZZARD01]

This means that, when the servers are running an Eve Online session, they must simultaneously deal with nearly 40,000 individual players. Clearly, some techniques must be used to spread the load over multiple servers, whilst also keeping things synchronized. You’ll learn about some of these techniques in Chapter 6, “Creating Arcade and Massively Multi-Player Online Games (Real-Time).”

Key points from the player’s point of view include ownership (of objects or locations), leveling up (to improve capabilities), revenue model (advertising, upgrades, and so on), and in-game currency and economy. Unlike in a pure arcade-style gaming model, players are generally encouraged to empathize more with their character. Additionally, the relationship between player and character tends to be long term in nature, as is often the case in real-world RPGs. Part of this comes from the amount of time each player must invest at the outset to create his or her character.

With regard to revenue models, they, too, tend to be long term, ranging from requiring payment to keep a player’s account in good standing to pushing players to buy expansion packs and client upgrades. These may or may not include some free playing time, but are usually used as a way to generate revenue or compensate for continuing development of the game.

Web and “Through the Browser” Games

With the advent of the World Wide Web and enhancements to browsers through various client-side technologies, more sophisticated multi-player Web games can be created. In some ways, they provide a very viable alternative to the model presented in the previous section. After all, as a technology, the Web is in many ways better than Telnet. You can also have Telnet clients through the Web (using Java applets, for example) that allow interfaces to servers directly rather than using some kind of Web page–based interface. Web and through-the-browser games can also allow the designer to get the same kind of reach in terms of the platforms supported without really having to design for each one. This allows developers to reach a much larger audience for much less investment.

Note

Web and “Through the Browser” Games

Through-the-browser games are usually Web based, although recent advances in client-side capabilities have made it possible to develop games that are played locally, but through a Web browser. Other Web games might be played through a browser or customized client software, merely using the Web as an information-exchange medium. An example of this would be playing chess by e-mail.

There are a few gaming models to think about here, including the following:

  • Text-based Web games

  • Flash-based Web games

  • Alternate-reality Web games

For example, Figure 2.2 shows the Samurai Of Legend online game, found at http://SamuraiOfLegend.com, where the interface is clearly identified as a series of links. There is also a status area in the top-right corner, and the occasional piece of in-line advertising. In contrast, Figure 2.3 shows WidgetBox.com, a Web site that provides Flash-based games, which can be embedded into other Web sites by their owners. This clearly shows the differences in technologies available, depending on the chosen platform. Alternate reality games tend to be a mixture of elements—both presented through the Web and forums and in real life.

Samurai of Legend.

Figure 2.2. Samurai of Legend.

WidgetBox.com.

Figure 2.3. WidgetBox.com.

Note

WidgetBox.com.

In addition to these are Java applet–based games, but these tend to fall into one of the previous categories—i.e., arcade-style or MMORPG. They simply use the browser as a vehicle to distribute and/or execute the proprietary client.

The Web-gaming delivery medium can also be made to fit some RPG gaming models, allowing quite rich environments to be built on the server and delivered through the Web browser. These include games such as DragonFable, for example, along with countless more. They have the advantage of being relatively easy to implement and will run anywhere—at least from the player’s point of view. Anybody with a Web browser and Internet connection can participate. That said, game interaction remains reasonably low due to the lack of action in the form of graphics, sound, animation, and so on. Web gaming also offers a great casual gaming model. It is attractive for its low initial investment both in monetary terms and in terms of time. The aim is to make it as accessible as possible, as easy to get into as possible, and as sticky as possible.

Text-Based Through-the-Browser Games

Text-based games are played in the browser as a collection of Web pages. Under the hood, this means they can be deployed using existing technologies such as open-source content-management systems (CMSes) customized for use in a gaming context. Games such as Project Rockstar, for example, use a basic CMS, overlaying forums, advertising, and other elements to provide an interactive interface. The fact that the game is also based around a turn-by-turn, overnight-update model is due in part to the fact that it uses technologies and services that are slightly more restrictive.

Some key concepts with respect to text-based through-the-browser games include the following:

  • The network connectivity generally follows a model in which there is no persistent connection to a single server foreseen, such as one on the World Wide Web. This means that the connection with the server generally only lasts for as long as is required to transfer the data that it has been set up to exchange. (Note that leads to interesting points to do with session management; see Chapter 5, “Creating Turn-by-Turn Network Games,” for more information.)

  • The model used for the game itself is usually based on a fairly static environment, with a dynamic overnight refresh of that environment. This allows players to maintain a presence in the game, complete with varying parameters that define their in-game personae, but based on criteria that never change. In other words, the set of things that define the game environment are static, but their properties might change when the environment is refreshed.

  • Due to the delivery medium, Web games may have limited graphics, but are not typically animated beyond simple animated GIFs or vaguely interactive roll-over graphics. The same is true of the game’s sound.

Flash-Based Web Games

As mentioned, game interaction in text-based Web games is reasonably low. This can be combated, to a certain degree, by the use of Flash. Flash games use the Adobe Flash platform to deliver a richer multimedia experience that can include video, sound, clickable objects, and a keyboard interface. In short, arcade games, RPGs, front-ends, and navigation systems can all be created using Flash.

The model works using a downloadable-content-plus-streaming-asset approach. The game can be downloaded to the target platform, and additional data can be streamed in through a Web connection. The players’ own statistics can then be fed back to the server and stored, just as with any other platform model.

The simplest Flash model is something I call the “cabinet model.” In this, downloadable Flash games use the networking aspect purely for storing high scores. (Again, obviously, some care has to be taken to combat the adverse effects of cheating.) More elaborate games can then be created that make use of the client/server relationship in other ways, delivering the front-end via the Flash platform. These tend to follow other game-type models, and need no further explanation here.

Note

Flash-Based Web Games

The Flash model merely provides a way to deliver a better interface via the Web. It is not intended to be held up as some kind of vision of the future of network gaming, just an illustration of how such enabling technology, which is discussed further in the next chapter, can be used to build a workable game model relatively easily.

Alternate-Reality Web Games

An up-and-coming game-type category that I call “alternate reality games” typically combines the Web—used to provide game-related clues—with the real, physical world, resulting in a hybrid of armchair and physical playing. Other forms of this game type can combine GPS location data with person-to-person interaction, and augment the real world with a virtual storyline and eventual goal. Purchase of materials such as game cards to be used within the game or in the real-world extension of the game provide interest, collectability, and revenue. Examples of such games include Perplex City, which, for the uninitiated, attaches a real-world prize to Web-based multi-player interactivity, real-world locations, and game cards. The combination is magical—when it works; whether they produce economically viable game models remains to be seen.

Note

Alternate-Reality Web Games

As the market for these games matures, the games will almost certainly begin drawing on other technologies such as cell-phone text messaging, e-mail, and even face-to-face human interaction.

From Theory to Development

This chapter should have given you a keen appreciation of the various types of network games, and helped you begin to see how you can best design your game using the network game models discussed in Chapter 1.

Usually, the first question involves choosing the right platform and networking technology to match up with your perceived audience and your available resources. You might even opt to create a proof of concept Web game before rolling out the full package as a retail product.

There is also the question of experience. That is, if the development team has had little exposure to network-game development, then it might be best to test game mechanics and audience by building up the final game through different models. For example, if you wanted to create a space-trading MMORPG like Eve Online, there could be various stages from the inception through to the final product. The game could start life as a plain old text interface Web game, enabling you to test the mechanics of certain static aspects of the game environment. The result would be a space-trading game without elaborate, real-time combat, for example. The rest of the game could then be built up, with new functionality added after the basic game mechanics were in place. This might include a specific client, interactive portions, or even new game logic. If the team wanted to build an online cooperative FPS, a similar approach could be taken—with a few differences. For example, the starting game model is quite likely to be some form of FPS laced with AI bots in the vein of Unreal Tournament. The trick is to layer up the design and try to keep it simple at each stage. Games are hard enough to create, and networked games hard enough to build and balance, that anything that helps simplify the process is a good thing.

By following a gradual process, keeping networking at the heart of the game design, and using the various types of games mentioned in this chapter, you can keep the project on track.

References

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.221.240