Game Development

Vol. 1 No. 10 – February 2004

Game Development

Interviews

A Conversation with Will Harvey

In many ways online games are on the bleeding edge of software development. That puts Will Harvey, founder and executive vice president of Menlo Park-based There, right at the front of the pack. There, which just launched its product in October, is a virtual 3D world designed for online socializing.

A Conversation with Will Harvey

In many ways online games are on the bleeding edge of software development. That puts Will Harvey, founder and executive vice president of Menlo Park-based There, right at the front of the pack. There, which just launched its product in October, is a virtual 3D world designed for online socializing.

Articles

AI in Computer Games

If you've been following the game development scene, you've probably heard many remarks such as: "The main role of graphics in computer games will soon be over; artificial intelligence is the next big thing!" Although you should hardly buy into such statements, there is some truth in them. The quality of AI (artificial intelligence) is a high-ranking feature for game fans in making their purchase decisions and an area with incredible potential to increase players' immersion and fun.

AI in Computer Games
ALEXANDER NAREYEK, GUEST RESEARCHER, CARNEGIE MELLON UNIVERSITY

Smarter games are making for a better user experience. What does the future hold?

If you’ve been following the game development scene, you’ve probably heard many remarks such as: “The main role of graphics in computer games will soon be over; artificial intelligence is the next big thing!” Although you should hardly buy into such statements, there is some truth in them. The quality of AI (artificial intelligence) is a high-ranking feature for game fans in making their purchase decisions and an area with incredible potential to increase players’ immersion and fun.

If you’ve ever studied AI, however, you likely paint yourself a misleading picture of the AI methods used in games. Game AI has hardly anything to do with what is called artificial intelligence in academia. After a brief discussion of the role of AI in game development, I will provide an overview of the current state of the art, discuss the future of this game development area, and provide some links to further information.

by Alexander Nareyek

Fun and Games: Multi-Language Development

Computer games (or "electronic games" if you encompass those games played on console-class hardware) comprise one of the fastest-growing application markets in the world. Within the development community that creates these entertaining marvels, multi-language development is becoming more commonplace as games become more and more complex. Today, asking a development team to construct a database-enabled Web site with the requirement that it be written entirely in C++ would earn scornful looks and rolled eyes, but not long ago the idea that multiple languages were needed to accomplish a given task was scoffed at.

Fun and Games with Multi-Language Development


ANDREW M. PHELPS, ROCHESTER INSTITUTE OF TECHNOLOGYDAVID M. PARKS, ROCHESTER INSTITUTE OF TECHNOLOGY

Game development can teach us much about the common practice of combining multiple languages in a single project.

Computer games (or “electronic games” if you encompass those games played on console-class hardware) comprise one of the fastest-growing application markets in the world. Within the development community that creates these entertaining marvels, multi-language development is becoming more commonplace as games become more and more complex. Today, asking a development team to construct a database-enabled Web site with the requirement that it be written entirely in C++ would earn scornful looks and rolled eyes, but not long ago the idea that multiple languages were needed to accomplish a given task was scoffed at.

by Andrew M. Phelps, David M. Parks

Game Development: Harder Than You Think

The hardest part of making a game has always been the engineering. In times past, game engineering was mainly about low-level optimization - writing code that would run quickly on the target computer, leveraging clever little tricks whenever possible.

Game Development: Harder Than You Think
JONATHAN BLOW, GAME DEVELOPMENT CONSULTANT

Ten or twenty years ago it was all fun and games. Now it’s blood, sweat, and code.

The hardest part of making a game has always been the engineering. In times past, game engineering was mainly about low-level optimization—writing code that would run quickly on the target computer, leveraging clever little tricks whenever possible.

But in the past ten years, games have ballooned in complexity. Now the primary technical challenge is simply getting the code to work to produce an end result that bears some semblance to the desired functionality. To the extent that we optimize, we are usually concerned with high-level algorithmic choices. There’s such a wide variety of algorithms to know about, so much experience required to implement them in a useful way, and so much work overall that just needs to be done, that we have a perpetual shortage of qualified people in the industry.

by Jonathan Blow

Massively Multiplayer Middleware

Wish is a multiplayer, online, fantasy role-playing game being developed by Mutable Realms. It differs from similar online games in that it allows tens of thousands of players to participate in a single game world (instead of the few hundred players supported by other games). Allowing such a large number of players requires distributing the processing load over a number of machines and raises the problem of choosing an appropriate distribution technology.

Massively Multiplayer Middleware
MICHI HENNING, ZeroC

Building scaleable middleware for ultra-massive online games teaches a lesson we all can use: Big project, simple design.

Wish is a multiplayer, online, fantasy role-playing game being developed by Mutable Realms.1 It differs from similar online games in that it allows tens of thousands of players to participate in a single game world (instead of the few hundred players supported by other games). Allowing such a large number of players requires distributing the processing load over a number of machines and raises the problem of choosing an appropriate distribution technology.

DISTRIBUTION REQUIREMENTS

Mutable Realms approached ZeroC for the distribution requirements of Wish. ZeroC decided to develop a completely new middleware instead of using existing technology, such as CORBA (Common Object Request Broker Architecture).2 To understand the motivation for this choice, we need to examine a few of the requirements placed on middleware by games on the scale of Wish and other large-scale distributed applications.

by Michi Henning

People in Our Software

People are not well represented in today's software. With the exception of IM (instant messaging) clients, today's applications offer few clues that people are actually living beings. Static strings depict things associated with people like e-mail addresses, phone numbers, and home-page URLs. Applications also tend to show the same information about a person, no matter who is viewing it.

People in our Software
JOHN RICHARDS AND JIM CHRISTENSEN, IBM THOMAS J. WATSON RESEARCH CENTER

A person-centric approach could make software come alive, but at what cost?

People are not well represented in today’s software. With the exception of IM (instant messaging) clients, today’s applications offer few clues that people are actually living beings. Static strings depict things associated with people like e-mail addresses, phone numbers, and home-page URLs. Applications also tend to show the same information about a person, no matter who is viewing it.

This information does not change, at least not very rapidly. If your only exposure to people were through these strings, you would have little reason to believe that people actually move about in physical and virtual space and do things.

by John Richards, Jim Christensen

Sensible Authentication

The problem with securing assets and their functionality is that, by definition, you don't want to protect them from everybody. It makes no sense to protect assets from their owners, or from other authorized individuals (including the trusted personnel who maintain the security system). In effect, then, all security systems need to allow people in, even as they keep people out. Designing a security system that accurately identifies, authenticates, and authorizes trusted individuals is highly complex and filled with nuance, but critical to security.

Sensible Authentication
BRUCE SCHNEIER, COUNTERPANE INTERNET SECURITY

According to the author of Beyond Fear, it’s not enough to know who you are; you’ve got to prove it.

The problem with securing assets and their functionality is that, by definition, you don’t want to protect them from everybody. It makes no sense to protect assets from their owners, or from other authorized individuals (including the trusted personnel who maintain the security system). In effect, then, all security systems need to allow people in, even as they keep people out. Designing a security system that accurately identifies, authenticates, and authorizes trusted individuals is highly complex and filled with nuance, but critical to security.

Identification, authentication, and authorization. Here’s the shorthand guide:

by Bruce Schneier

The Scalability Problem

Back in the mid-1990s, I worked for a company that developed multimedia kiosk demos. Our biggest client was Intel, and we often created demos that appeared in new PCs on the end-caps of major computer retailers such as CompUSA. At that time, performance was in demand for all application classes from business to consumer. We created demos that showed, for example, how much faster a spreadsheet would recalculate (you had to do that manually back then) on a new processor as compared with the previous year's processor. The differences were immediately noticeable to even a casual observer - and it mattered. Having to wait only 10 seconds for something that previously took 20 or more was a major improvement and led many consumers and businesses to upgrade their PCs.

The Scalability Problem
DEAN MACRI, INTEL

The coexistence of high-end systems and value PCs can make life hell for game developers.

Back in the mid-1990s, I worked for a company that developed multimedia kiosk demos. Our biggest client was Intel, and we often created demos that appeared in new PCs on the end-caps of major computer retailers such as CompUSA. At that time, performance was in demand for all application classes from business to consumer. We created demos that showed, for example, how much faster a spreadsheet would recalculate (you had to do that manually back then) on a new processor as compared with the previous year’s processor. The differences were immediately noticeable to even a casual observer—and it mattered. Having to wait only 10 seconds for something that previously took 20 or more was a major improvement and led many consumers and businesses to upgrade their PCs.

Things have changed considerably since then, aside from talking about processor speeds in gigahertz rather than megahertz. Not every stand-alone application requires the computing power that a top-of-the-line processor presents today. As a result, the PC market has diverged into a wide range of market segments. From $400 “budget” PCs to $4,000 “hotrod” models, there’s something for everyone and one size certainly doesn’t fit all.

by Dean Macri

Curmudgeon

When Bad People Happen to Good Games

OK, so I admit it - not only am I a total closet gamer geek, I admit that I actually care enough to be bitter about it. Yep, that's right - this puts me in the "big-time nerd" category.

When Bad People Happen to Good Games
Josh Coates, Internet Archive

OK, so I admit it—not only am I a total closet gamer geek, I admit that I actually care enough to be bitter about it. Yep, that’s right—this puts me in the “big-time nerd” category.

But I think I have a lot of company, which sort of makes me feel better. In fact, at any given moment there are hundreds of thousands of people online playing games. Sure, some of them are playing very simple games like Yahoo! Checkers, and others are playing complicated realtime strategies like Blizzard’s Starcraft—but no matter what game they are playing, they are playing with other people. This is the real attraction of online games. No matter how good games get at so-called artificial intelligence, humans will always make more interesting teammates or opponents. That’s a good thing, but it’s also a bad thing. And this is where the bitterness comes in.

by Josh Coates