Archive for the ‘Book Reviews’ Category

Chris Crawford on Game Design

Monday, January 24th, 2005

Chris Crawford is one of the earliest pioneers of games and game design, and any book with his name on it is required reading for anybody professing to be interested in the subject of game design. Chris Crawford on Game Design, published by New Riders, gathers all of Crawford’s experiences through the decades in a single volume. The book is broken down into 100 lessons, including section with war stories and anecdotes that makes for light reading while still remaining educational. The book is perfectly aimed at game designers and those interested in game design, and still remains relevant to non-designers, providing the deep insights in to the games industry.

The early lessons in the book cover the basics of game design—defining terms, explaing what it means to play, and exploring the types of play that people engage in. These types of play are broken down further in to the elements that make up play—challenge, conflict, interactivity, and rules—with passages on play not needing to be exotic to be interesting. Crawford also covers some common mistakes such as obsession with cosmetics, deriving the conclusion that higher graphic quality is not always better.

There is a brief detour into some of the lessons we can learn from cinema in regards to graphic quality. Substance, rather than cosmetic appearance, can make for a more intense user experience, Crawford explains. Accretive design — the “me too” movement — is also railed against. I found myself nodding agreeably as I read through this section.

Throughout the book Crawford refers to various seminal games, and covers several of them (mostly his own—Balance of Power probably being his most well known) in detail, taking apart each game to see what made it interesting or appealing to different people. The chapter covers almost Crawford’s entire ludography—successes and failures exposed in all their gory innards, including a small piece of history on how each game came about.

A section on education for the budding game designer (and even some professional game designers) gives insight in to the areas one should pursue both at school and in life. Crawford emphasizes that degrees are important, especially in today’s economic climate, and that many companies won’t consider you without one, but he also drives home the importance of self-education. To be a competent games designer is to be a life-learner, he says. An extensive and very esoteric recommended reading list flows throughout the education lesson.

Towards the end of the book, Crawford turns to navel gazing. He examines what’s wrong with games and the game industry today, giving his view through “random sour observations”. He harps on the industry’s “Hollywood envy” and the sleaze and representational violence factor that is creeping in to a lot of modern games, along with the short-sightedness of decision makers.

There is also a chapter that is not so much a lesson, but one about the games that Crawford would like to build given enough time, money, and energy. He offers more than a dozen game ideas to anybody willing to implement them. At face value, some of the games are variations on a theme with a heavy leaning towards the strategy/wargame/balance of power style of play. But there are gems worth contemplating, including my two favorites: Spies, a game idea based on conversation, and Corporate Politics, a sort of “SimCorp” in which you start at the top and work your way down (down being how low can you sink with political back-stabbing before you’re ousted).

Crawford writes far too infrequently for me. I devoured this book with gusto and I look forward to his next one. This book belongs on the shelf of anyone who has even the remotest interest in what makes a good or bad game.

Game Programming Golden Rules

Sunday, January 23rd, 2005

Writing computer games is hard. Games today are complex projects that involve large teams of specialized artists and programmers. These teams are perpetually pushing technology beyond its boundaries and stretching their skills to the max. To alleviate these problems, Game Programming Golden Rules presents a series of nine “Golden Rules” that help define a methodology for creating a modern game. Each rule is written as a simple principle and covered from the perspective of how it works in the overal structure of a game project. The rules cover a variety of topics from embracing C++ and scripting, to the resource pipeline, finite state machines, and optimization. The order in which the rules are presented was carefully chosen, so that each rule presents a topic that is then put to use in later rules.

Many of the rules involve empowering the designers and artists to put their own content directly into the game, bypassing the need for a programmer’s involvement beyond the initial setup. This frees up the programmers’ time to concentraste on creating the systems that make the game, rather than focusing on the outpout of these systems. BY the end of the book, you will have deeper confidence and more profound understanding of the essential techniques of game programming and how the theory of these techniques interlocks. This is an excellent resource for the entire development team.

ABOUT THE AUTHOR

Martin Brownlow (Rancho Santa Margarita, CA) has been a professional video game programmer for 10 years, and has received numerous programming accolades and awards for his work on both MDK and Sacrifice. He also contributed to Game Programming Gems 3. He has worked for such companies as Virtuality Entertainment, Shiny Entertainment, Tremor Entertainment, and Visual Concepts. He currently works for Planet Moon Studios. His latest project, Armed & Dangerous, was released for Xbox and PC in December 2003.

The Indie Game Development Survival Guide

Tuesday, April 13th, 2004

theindiegamedevelopmentsurvivalguide1.gifBack when the world was young a lot of smart, young, upstart programmers created a new form of entertainment that has “grown up” to be a multi-billion dollar industry that now provides jobs to tens of thousands of people worldwide. In those halcyon days the “industry” was so small it was unable to support more than a few hundred lone-wolf developers and a rare few manufacturers of console hardware. You were either scraping a living putting the next version of Hunt the Wumpus for the likes of Commodore, Sinclair, Apple, or Acorn home computers, or working for one of the “big boys” with weird names such as Atari, Coleco, or Mattel.

The concept of a large third-party publisher was unknown until the likes of Activision and Imagic came along and changed the landscape forever. Almost every available ecological monetary niche for two decades has been filled by these large, powerhouse publishers. It is only in very recent years that the industry has become large enough to support more than a handful of completely independent development studios working on small-scale projects to make a profitable living.

It’s a sign of the times when a visit to Game Developers Conference in San Jose means that one can meet just as many lone wolf or independent developers as there are employees of the large development studios and publishing houses. There’s no better time to be considering going independent, either as a break-in or break-away.

Just at the right time a suitable book, The Indie Game Development Survival Guide (Charles River Media), is launched. In it, author David Michael has pulled together a lot of industry wisdom and knowledge in the 384 pages, covering a broad range of subjects that most solo developers won’t be entirely familiar with.

David Michael is co-owner of Samu Games, publisher of Paintball Net, a multi-player, first-person paintball game, and Artifact, a multi-player, real-time strategy game. Samu Games has been making independent games since 1996, and Michael regularly writes for GameDev.net with some articles appearing in the book Game Design Perspectives, also published by Charles River Media.

Michael attempts the not particularly easy task of informing and educating independent developers, both aspiring and currently practicing, on what it takes to be an indie, the risks and rewards that can be expected, and the long, hard road to profitable independent developer status. This man really has practiced the subject he is now preaching.

Indie Game Development defies immediate classification. It is certainly not a programming or art technique book—the twenty-eight chapters run through production, marketing, design, and management. It’s squarely aimed at programmers and artists looking to either break-in or break away.

In the opening chapters Michael attempts to define the nebulous “indie” label—a label that has a certain amount of cool cachet attached right now. Regardless of what the word means, there are a lot of developers currently labeling themselves indie/independent as they chase the vague dream of being the next PopCap or Gamehouse. The first few chapters just fill in detail for those who have to ask what this whole “indie thing” is all about.

The real meat of the book is when Michael starts covering project size, realistic goals given the inherent limitations of most independent developers and those common pitfalls to avoid like taking on a project that is just too ambitious or beyond the capabilities of the team, e.g. a massively multiplayer online role-playing game (MMORPG). We can’t all be the next multiple award winning Puzzle Pirates and reading the forums at the more popular independent developer websites, e.g. Garage Games and Dexterity Software you’d be led to believe that creating the next EverQuest -killer was currently being simultaneously undertaken by hundreds of small three-person development teams all across North America (the overly ambitious crowd seems to reside solely in North America; probably a result of the “build it big” gene that the American people possess in abundance).

Almost one-half of the book is given over to marketing and promotion of a product, this is “101” material for anybody who majored in marketing or sales, but for programmers it will seem like an alien culture waiting to be explored.

Michael is very big on making sure that a potential indie is realistic, stays focused, uses the best techniques available to them, and remains productive throughout the project cycle. Each chapter introduces a new concept that is likely unfamiliar to most programmers and artists—subjects such as planning, scheduling, and a design document. All kidding aside, Michael really pushes the notion that an independent is no longer “just a programmer” or “just an artist”. An independent developer has to wear many hats, and most of those hats have nothing to do with caffeine-fuelled, all-night coding sessions at the keyboard. Okay, some of them are, but an indie concentrating solely on programming or art to the detriment of all else will find that their new “killer game” just released into the wild is not turning out to be the raging success they were hoping for. Not unless they are extremely lucky.

Indie Game Development offers tips on “creative funding”—for example getting people to work for nothing, or bootstrapping a company into existence by performing consulting work, along with team compensation when the dollars do finally start to come in. Michael cleverly segues in to the differences between leadership and management and team management an area many lone wolf developers may not have had to deal with until they attempt their first game that requires outside resources such as art and music.

The tail end of the book is the usual collection of appendices with a single gem; the results of an indie developer survey that gives a good overview of how the current crop of indie developers function. The usefulness of some of the survey results should probably be taken with a pinch of salt; just because 75% of respondents don’t use any form of project management software or 37% don’t use any form of formal source control doesn’t mean all others should follow blindly along the same path. Many of the results are insightful though, so long as they are used as guidance and not gospel. The appendices are followed by a short bibliography that really could be more comprehensive. It was a nice start, especially as this book is aimed at people who won’t be very familiar with most of the resources available on marketing, scheduling, and project management. I am disappointed to see that many books that would have been enormously useful to an independent developer were omitted, namely books by Tim Sweeney, J. C. Levinson, Michael Gerber, and Herb Cohen.

A testament to how big indie game development is becoming can be found by looking at this year’s Independent Games Festival winners and the millions of dollars generated in the past twenty-four months by the likes of PopCap Games, Big Fish Games, Gamehouse, and Real Arcade.

As a developer tired of the multi-million dollar large project grind contemplating becoming a break-away independent developer or a nascent game programmer/artist/designer considering how to break-in you will need all the good advice you can find. This book goes a long way to offering the kind of help you’ll need to begin a career as an indie developer and escalate it beyond being a hobby into a sustainable business with real growth potential. The Indie Game Development Survival Guide is required reading for anybody even tenuously contemplating this area as a possible business venture.

THE VERDICT

The Indie Game Development Survival Guide

theindiegamedevelopmentsurvivalguide1.gifAuthor: David Michael
Publisher: Charles River Media
ISBN: 1-58450-214-2
Pages: 384

Rating

10 out 10

Pros

  1. Fcoused and to the point.
  2. Covers a lot of essential information in a single resource.
  3. Results from an indie survey included in an appendix.

Cons

  1. One person’s perspective on the indie game biz.
  2. Bibliography is useful but could have been better.
  3. Covers the bare essentials; further reading is required.

AI Game Development

Tuesday, April 6th, 2004

aigamedevelopmentcover1.gifArtificial intelligence for computer games has come a long way in the last 2½ decades since I started in the industry. In the earliest days the subject was just lumped in with “game play” and very little thought was given to improving enemy behavior beyond adding a few “if-then-else” conditional tests to the core of the game. Most behaviors in a game were predictable, non-learning, and relatively simplistic—making it easy to determine the “motivations” and qualifying conditions under which they would react to you. Rarely were the rules anything more complex than “walk towards player, fire when gun is ready.”

A lot of what was called “artificial intelligence” actually had little to do with the physics and mechanics of the game world, rarely operating under the same rules and limitations that the player did. Enemy AI would have unlimited ammunition and resources, move and turn faster than the player’s avatar, and always know where the player stood (even when hidden behind several meters of impenetrable wall). While the player would be limited to a firing rate determined by the weapon they had selected, rarely would the computer-controlled enemy be limited by anything other than a named constant somewhere in the source code that determined how fast they could fire—hardly fair and scarcely interesting for the most part. One of the many reasons that Sid Meier (Civilization), Chris Crawford (Balance of Power), and Peter Molyneux (Populous) so easily created genuinely interesting game play and computer opponents was that they hid the simplistic governing rules and variables—really making you think there was something more going on than what the reality was.

In AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors, author Alex Champandard provides a hugely interesting, non-academic look at the current state of the art in reactive, learning AI implementations as used in the game industry today. Whilst Champandard focuses primarily on the first-person shooter genre for his animats (a.k.a. bots), it shouldn’t be construed that this narrows the book’s subject matter; there is much to be gained for other AI practitioners from the numerous stated problems and solutions provided.

Champandard notes the difference between the top-down approach to game design, explicitly driven by the game designer, questioning the need for any kind of AI beyond simple scripting and path-finding—and the bottom-up, implicit approach as found in such games as Pizza Tycoon and SimCity. He briefly cites the combining of both approaches as found in Grand Theft Auto III and Black & White, where the AI is either over-ridden during cut-scenes or guided by the player, who in turn is guided by a designer-driven storyline.

Once the initial philosophizing over what intelligence is, whether we need AI in games, and its entertainment value and believability is covered in the two opening chapters, Champandard gets down to the meat of the problem. Chapter three defines the reactive behavior seen in many modern games: the planning and organization of AI components that control each animat within the world.

Each chapter is broken down into a simple statement and analysis of the problem, the research that has taken place in the stated problem domain, and finally development of a solution in the form of a modular C++ component that works within Champandard’s FEAR (Flexible Embodied Animat ’Rchitecture) framework (based on the Quake 2 source code). All of the chapters wrap up with possible ways to optimize the discovered solution once the initial experimentation and testing has taken place.

This simple approach provides a rich playground to experiment with a variety of AI problems, enabling the source code to concentrate purely on the puzzle being solved, without concern as to display technology or other factors such as receiving player input and designing interesting worlds. Many AI books have fallen into the trap of providing what many professional developers would consider to be “Mickey Mouse” solutions that lack real-world applicability, usually based on wholly contrived examples that do little more than illustrate the problem with a brittle resolution. Champandard provides robust, concrete solutions that can be used almost as-is by most developers/designers creating games today.

In any book on artificial intelligence, it is almost guaranteed there will be a chapter on pathfinding. One thing that Champandard does not do is dwell on twenty ways to skin the cat, but a good number of chapters cover movement through the world, detailing the difference between discrete (grid-based) and continuous (the “real world”) environments without going into too much detail on how to solve this one narrow problem.

What Champandard achieves is a fast-paced, interesting overview of the movement and navigation problem—in one chapter that segues, in the following chapter, into classical solutions before returning again to the area with this newfound knowledge. This style continues throughout the book, with the chapters covering target acquisition, weapon selection, use of environmental objects, strategic and tactical decision making, and so on.

Each chapter is short and to the point, and this interjectory manner really works, making each section memorable and easy to digest. While many chapters build on earlier ones, the book is written in the style of a cover-to-cover reading book; each chapter is self-contained enough that the reader can dip in to almost any area.

AI Game Development has an accompanying website where you can download the source code covered in each chapter. The website requires that you enter information from the book to verify purchase, giving me a bit of a flashback to games that require you enter a particular word from the specified page and paragraph of the user manual. It’s a novel approach (applied to books that have accompanying websites) that I’m sure we will be seeing a lot more of in the future as more books forego the included CD and instead present the source code and examples via the web. How long until books start appearing with 20+ digit CD keys? The web site appears to be regularly updated too, providing demos and extra material, such as forums and mailing list announcements not covered in the book.

Long gone are the days when A* pathfinding algorithms were considered state-of-the-art. Now programmers are dealing with complex single- and multi-agent systems that coordinate their group behaviors and seek out new opportunities to thwart the player beyond merely simple scripted behavior. AI Game Development provides one of the strongest and well-written books available on the subject; one which belongs on the desk of anyone implementing modern game AI, no matter the focus of the game.

VERDICT

AI Game Development

aigamedevelopmentcover1.gifAuthor: Alex J. Champandard
Publisher: New Riders Group
ISBN: 1-5927-3004-3
Pages: 720

Rating

10 out of 10

Pros

  1. A comprehensive learning AI resource.
  2. Useful desk reference for practicing professionals.
  3. Every problem and solution contains source code demonstrating the problem.

Cons

  1. Primarily deals with the first-person shooter problem domain.
  2. Doesn’t ship with a CD, data must be downloaded from the web.
  3. Only details “learning” & “reactive”, mostly single-unit AI.