Games on the Web
The Internet and the World Wide Web have energized the already fast-moving world of computing and created previously unthinkable opportunities for communication between computer users. One of the most talked about areas of application for the Web is games. When games are networked on a global scale, they offer a plethora of entertainment possibilities for users. Gaming on the Web will truly change the way we all view entertainment, primarily because it blurs cultural boundaries much like the Internet itself does.
Throughout the next 21 Chapters, you learn how to develop games for the Web using Java. You begin with the basics and move on to learning advanced topics such as networking and artificial intelligence. By the end of the guide, you'll have all the information and knowledge necessary to develop your own Java games. And it all begins toChapter!
ToChapter's lesson focuses on the current state of the Internet as a whole, the Web in particular, and how they both impact gaming. Although the point of this guide is to develop Internet games using Java, understanding the current scenario surrounding games on the Internet is a major first step in seeing the relevance of writing games in Java. Therefore, with that in mind, buckle up and prepare yourself for a journey through gaming on the Web!
The following topics are covered in toChapter's lesson:
With all of the media attention that is focused on the Internet and the World Wide Web, figuring out exactly what they are all about is sometimes difficult. Are they just a neat new way to market products or will they truly offer us a new medium of communication that will someChapter surpass even televisions and telephones? The answer is, who knows? Unfortunately, the ultimate use for the Internet is still unknown. This is because it is still in such a state of flux that it's pretty much impossible to accurately predict where it will end up. However, you can look at the evidence of what is there now and gain some insight into what the Internet might become, at least in terms of games.
The Web as most people know it consists of a tangled mess of hypertext documents containing text, images, and sound. For the most part, it has consisted of static information; you can search and browse and generate some things on the fly, but Web content is pretty much fixed, at least from a user's perspective. A wide range of add-ons and extensions have begun to appear that promise interactivity and new types of media. These extensions offer everything from movie clips and CD-quality audio to a hot meal embedded right there in a Web page. OK, maybe I'm exaggerating a little, but you get the idea.
No extension to the Web has generated more excitement than Java, which offers complete interactivity within the traditional Web environment. With Java, you have the ability to create full-featured, interactive applications and embed them in the middle of a Web page. It is probably not a shock to you to hear that Java is the technology touted as bringing the Web, and in turn the Internet, to the masses. Therefore, although the Web is already receiving much attention on its own accord, the Internet landscape is rapidly changing to accommodate the opportunities and benefits of Java.
The concept of looking at the Web, and the Internet as a whole, as a medium for games is relatively new. It has been technically possible to link games and transfer data over an Internet connection for a while now, but that's only one facet of gaming on the Internet. The next generation of Internet games will more than likely move away from the Internet as simply a communication medium. More likely, the next generation of games will be integrated into the rapidly expanding Web environment.
The marriage of games and the Web is a natural one; like the Web, games are very content-driven, meaning that they are very much dependent on the graphics, sound, and other content that makes them interesting. It makes sense to use the Web to not only browse information, but also to act on that information. It might sound strange to look at games as information systems, but that's really all they are (as is all software). When you view a game in terms of simply being an information system, it's easier to see what the Web has to offer gaming.
The Web is a relatively stable, content-driven, globally distributed environment. The fact that it is stable isn't quite as defining because most operating systems are already fairly stable. Knowing this, it's safe to say that few people would look to the Web as a gaming environment based on its stability alone. Therefore, you have to look to the other two items to see what's important about the Web in regard to games. The fact that the Web is content-driven is important because games are content-driven themselves, and therefore fit naturally into the Web environment. However, this is more of a convenience than a compelling reason to move games to the Web.
The real appeal of moving games to the Web is the fact that the Web is globally distributed. As a result, the Web has a massive global user base that is growing by leaps and bounds even as you read this. What better appeal for a gaming environment than a lot of people anxious to see what the Web can do for them? Even though it's exciting to think of people around the world playing games on the Web, I think the real dynamic in this situation is the idea of these people playing games together.
Even with the prevalence of telephones, interactive communication of a global nature is still very limited. With interactive Web games, you're going far beyond sharing a recipe with someone on the other side of the world; you're exploring dungeons with them or dunking over them in a game of basketball. To me, this whole prospect is just too cool! So, if you haven't gotten the point, I think the Web offers the ultimate gaming environment because of the opportunities it affords for people from all places to interact, have fun, and most important, learn about each other.
You might not immediately think of games as a cultural vehicle for learning about other people, but consider the fact that most traditional (noncomputer) children's games have been passed on for countless generations. Just like stories and legends, the games people play say a lot about their culture. Sharing games with people all around the world is indeed an ideal way to learn about other people and teach them about you.
When it comes to the Internet, there are really two different kinds of games: Web games and non-Web games. Both types of games can run networked over the Internet, but only Web games have any dependency on the Web. Non-Web games are games that run networked across the Internet but have no connection to Web pages. Furthermore, non-Web games are typically available only for a single platform or a limited number of platforms. It is important for you to understand the distinction between Web games and non-Web games. Figure 1.1 shows an example of a networked non-Web game.
As you can see in Figure 1.1, the game players are connected in a network game directly with the Internet. There is no mention of the Web because the Web has nothing to do with non-Web games. Players in a non-Web game are only responsible for establishing an Internet connection and running the independent game program appropriately.
You are probably already familiar with some of the more popular non-Web games such as DOOM and CivNet. These games provide a means to play with other players networked over the Internet, but they have no association with the Web.
Web games, on the other hand, are platform-independent games that are either launched from or run within the confines of a Web page, and might or might not have networking features. Because the Web itself is built on the Internet, it goes without saying that Web games that are networked use the Internet for networking. Therefore, Web games can be considered platform-independent Internet games that run from or within the confines of a Web page. In this way, Web games are really just a specific type of Internet game. Figure 1.2 shows the relationship between Web games and how they run on the Internet.
Figure 1.2 shows a total of six players involved in four different Web games. Three of the games are non-networked Web games, meaning that the players can't interact with other players over the Internet; the fourth game is a networked Web game involving three different players. These three players are able to play the game together and interact with each other via their Web connection in real time.
You might be wondering what the significance of a game running inside a Web page is. Integrating games into the Web environment is yet another step toward unifying media on the Internet. The ultimate technical goal of the Web, at least in my humble opinion, is to merge all the disparate media types present on computers into a functionally single presence. In doing so, Web users can seamlessly peruse different media types in conjunction with one another, resulting in a more complete and fulfilling experience.
Games can be considered their own media type, because of their unique system requirements. In actuality, games are a merger of other media types such as graphics, sound, and animation. Integrating games into Web pages further blurs the line between static and interactive content. The real world is highly interactive, and the more interactive the Web becomes, the more natural it will feel to human users. Likewise, game playing will eventually become a standard usage of the Web.
There are already a variety of gaming environments on the Internet carving out the future of gaming. Some of these environments are Web-based, whereas others have little dependence on the Web. They are all dependent on client software running on a particular platform. Nevertheless, they are worth checking out because they are a solid sign of the changing climate surrounding the commercial game community and how it addresses the Internet. First, let's take a look at the Internet game services that don't rely on Java technology.
Most of the non-Java based Internet game services don't actually develop their own games. They typically allow you to play existing commercial games having Internet support. The role of the service is mainly to provide a standard means to connect with other players and correlate playing the games.
The following are some of the more popular Internet game services that aren't based on Java:
Mpath Interactive has announced plans for a summer, 1996 release of a Web-based game service called Mplayer, which promises to "bring the excitement of real-time multiplayer gaming to the Internet's World Wide Web for the first time." Mplayer is pc-based and plans to offer games from well-known game publishers aimed at adult gamers. Mpath also plans to have contests, tournaments, and special events all oriented toward gaming and leisure interests.
The Mplayer service will be speech-enabled so that players will be able to share verbal dialog as they play. In addition, the service will provide a general chat area for post-game conversation and strategic planning. The Mpath Web site is located at http://www.mpath.com, and is shown in Figure 1.3.
The Cyber Warrior Network is an Internet game service currently focusing on a single game, Rubies of Eventide. Rubies of Eventide is a pc-based multiplayer 3-D fantasy adventure game that has been developed exclusively for Internet play via the Cyber Warrior Network. For more information about the Cyber Warrior Network and Rubies of Eventide, check out its Web site at http://www.cyberwar.com (see Figure 1.4).
Another pc-based gaming service, the ImagiNation Network, sports more than 40 multiplayer games and hundreds of chat rooms, bulletin boards, and tournaments. The ImagiNation Network even has an e-mail list and newsletter to keep its members informed. To find out more, go to its Web site at http://www.inngames.com (see Figure 1.5).
The Total Entertainment Network (TEN) is one of the more promising Internet game services, because of its connection with established commercial game publishers. Several major companies in the game industry have signed on with TEN, some of them exclusively. The list currently includes Apogee/3D Realms, Maxis, MicroProse, SimTex, Spectrum Holobyte, and SSI. For more information on the Total Entertainment Network, look at its Web site, which is located at http://www.ten.net (see Figure 1.6).
Outland is a Macintosh-based Internet gaming service offering multiplayer games such as Chess, Go, Backstab, Reversi, and the popular space strategy game, Spaceward Ho! Outland also includes chat rooms and the capability to play multiple games at once. For the latest scoop on Outland, visit its Web site at http://www.outland.com (see Figure 1.7).
Sim-Net is the only Internet gaming service mentioned here that supports both pcs and Macintoshes. Sim-Net includes a chat feature as well as organized tournaments. For more information about Sim-Net, check out its Web site at http://www.simnet1.com (see Fig-ure 1.8).
Along with the Internet game services that don't rely on the Java technology, there are already a few online games and services based on Java. These games are good examples of the excitement Java has already generated in an amazingly short amount of time. They are also interesting in how they each handle the details of integrating games into the Web page environment.
The following are some of these Java-based Web games and services:
Avalon is a multiplayer role-playing game that includes both human-controlled characters and imaginary computer-controlled creatures. Although the core gaming environment itself is not based on Java, there is a Java client that interacts with the central game server. Avalon is presented as an entire world that evolves as new players join and contribute their actions. The Avalon Web site, which is shown in Figure 1.9, is located at http://www.avalon-rpg.com.
The Internet MahJong Server (IMS) is an entirely Java-based game server that provides virtual gambling rooms for the popular Chinese tile game MahJong. The fact that it is entirely built on Java means that players using a variety of different types of computer systems can seamlessly play games together. IMS is located at http://www.real-time.com/MJ/mj.asp and is shown in Figure 1.10.
iChess is a multiplayer chess game written entirely in Java. It includes a chat window and a lot of freedom with regard to how a game is carried out. For example, you can play live with another player or you can connect and make a move when the other player is not connected. In the latter case, the game progresses while players make moves at their own leisure. To try out a game of iChess, check it out at http://www.ichess.com (see Figure 1.11).
Unearthed is a multiplayer fantasy world that enables different players to interact together in real time. It is written entirely in Java and demonstrates the usage of a high level of graphical content in Java. Although it is still in its early development stages, Unearthed is worth checking out. It is located at http://www.mit.edu/people/twm/unearthed and is shown in Figure 1.12.
ToChapter you learned about the current climate surrounding the Internet and the World Wide Web and how it impacts gaming. You found out some of the aspects of the Web that are appealing to game players, which are in turn causing a rush for game developers to move their games to the Web. This discussion gave you some insight into why the Web is so important to the future of games.
The second half of toChapter's lesson focused on some of the more popular Web sites that support online gaming. Some of them are strictly Internet-based and require platform-specific client applications, whereas others consist of full-blown Java games. These Web sites give you a good place to start when you are assessing the state of games on the Web. Tomorrow you move on to learning more specifics about how Java impacts Web games.
|Q||Are interactive commercial Web games poised to replace traditional games as we know them?|
|A||Maybe someChapter, but not in the immediate future. You can expect to see more games supporting the Internet as a networking medium for multiple players, but games based solely on the Web are still a ways off. This is mainly due to the fact that programming languages supporting Web-based games, such as Java, are still in their infancy. You learn a lot more about this in tomorrow's lesson.|
|Q||Are there any other obstacles slowing the evolution of the Web as a medium for gaming?|
|A||Yes, the other big obstacle facing Web games is the bandwidth limitation imposed by modem connections. Because most Web users connect to the Web over a relatively slow modem connection, there are very real limitations on how much game data can be sent during a game.|
|Q||Because Web games are online, and therefore readily available without any extra software, how do game companies make money from them?|
|A||The current trend is toward charging a monthly membership fee for belonging to an online game service. This membership typically entitles you to a certain number of hours and the option to play a variety of different games. It's not yet clear whether this arrangement will work as Web games get more established. I'm not sure how many game players like the idea of paying a monthly bill for a gaming service, even if it ends up averaging to be around the same cost of buying games outright.|
The Workshop section provides questions and exercises to help solidify the material you learned toChapter. Try to answer the questions and go over the exercises before moving on to tomorrow's lesson. You'll find the answers to the questions in appendix A, "Quiz Answers."