Saturday, October 10, 2009

Chris Crawford on Game Design

Chris Crawford on Game Design
By Chris Crawford
   
Publisher : New Riders Publishing
Pub Date : June 10, 2003
ISBN : 0-13-146099-4
Pages : 496

Chris Crawford on Game Design is all about the foundational skills behind the design and architecture of a game. Without these skills, designers and developers lack the understanding to work with the tools and techniques used in the industry today. Chris Crawford, the most highly sought after expert in this area, brings an intense opinion piece full of personality and flare like no other person in this industry can. He explains the foundational and fundamental concepts needed to get the most out of game development today. An exceptional precursor to the two books soon to be published by New Riders with author Andrew Rollings, this book teaches key lessons; including, what you can learn from the history of game play and historical games, necessity of challenge in game play, applying dimensions of conflict, understanding low and high interactivity designs, watching for the inclusion of creativity, and understanding the importance of storytelling. In addition, Chris brings you the wish list of games he'd like to build and tells you how to do it. Game developers and designers will kill for this information! 

Twenty years have passed since I wrote my first book, The Art of Computer Game Design. Much has transpired during that time: Games have grown up. Twenty years ago, one programmer working for less than a year could produce a top-quality game. Nowadays, a team of a dozen specialists labors for several years to give birth to a commercial product. A dozen narrow specialties have sprung up: game designer, level designer, sound effects designer, 3D programmer, AI programmer, music designer, writer, and more. Budgets for games have risen from about $25K in 1980 to several million dollars today—a hundredfold increase! And the hardware on which we work has improved by at least a thousandfold.

Yet games haven't become a thousandfold or even a hundredfold better. Today's games are unquestionably more impressive than the games of 1982, but the advances we have seen aren't commensurate with the progress of the hardware or the budgets. Indeed, some people who nostalgically play the old-time games aver that modern games are no more fun. Games are bigger, splashier, more impressive, but not much more fun, they claim.

LESSON 1
Game design is not at all the same as game programming.
 

De gustibus non est disputandem—you can't argue about taste. We'll never agree on just how much more fun the new games are. But we can agree that the games have not improved commensurately with the technology. Clearly, technological progress does not automatically make games more fun. There's something else at work here, something that can't be nailed down in program code. It's often called the fun factor, but I don't like the term—it suggests that fun is a standard component that can be stuffed into a game somewhere between the mouse input code and the 3D graphics engine. I prefer to think of it as simply good game design: a soft, fuzzy concept involving a great deal of expertise, some rules of thumb, and strong intuition.

Game design shares nothing with game programming; they are completely separate fields of endeavor. True, a game designer must understand programming just as a game programmer must know something of game design. Yet as these two fields have progressed, they have diverged; master game designers focus their energies on mental challenges utterly different from those that bedevil master game programmers. This book is about the problems of game design; it has no truck with technical problems, for which a plethora of books await the reader.

Since game design is so soft and fuzzy, this book cannot offer simple answers with the directness and clarity that a technical work could provide. Alas, we must struggle with vague theories instead of precise formulations; rough guidelines instead of polished specifications; abstract concepts instead of direct rules. In many cases we must accept mutually incompatible concepts, uncertain where the dividing line between them lies. It comes with the job.

LESSON 2
It's easier to learn from turkeys than from masterworks.
 

Fortunately, we have a vast array of experience on which to draw. In the last twenty years, some twenty thousand games have been published. Most of these were pretty lousy; some were good; and a handful were excellent. We can learn from all of these games. Indeed, the turkeys are the most instructive, because often a turkey fails for a single, easily identified reason. A thousand factors make a great game; it's impossible to evaluate them separately when they all sing together in perfect harmony. But when just one factor sings off-key, it stands out with terrible clarity.

My first book, The Art of Computer Game Design, was still being read and recommended twenty years after its publication; I intend for this book to be similarly long-lived. Therefore, I shall not be citing the current popular games. I shall limit my commentary to the great classics, milestones that should be available to any prospective designer. Occasionally, I will pick out some special turkey that beautifully illustrates a design blunder, but when I do so, I shall attempt to describe the game adequately.

Download the free chm ebook: Chris Crawford on Game Design

Tags: game


Monday, October 10, 2009

Free chm ebook download: Software Engineering and Computer Games

Software Engineering and Computer Games
By Rudy Rucker
   
Publisher : Addison Wesley
Pub Date : December 17, 2002
ISBN : 0-201-76791-0
Pages : 544 

"This book should be a requirement of anyone that wants to write games-period"-Andre Lamothe, author and CEO of Xtreme Games

Software Engineering and Computer Games was written with four broad goals:

  • To teach a lively style of object-oriented software engineering.

  • To show how to bring a complete program to the level of a commercial release.

  • To provide a "game engine" framework of linked classes for game development.

  • To help students create computer games that are interactive, rapidly executing, and visually beautiful.

It uses an object-oriented (OO) approach throughout, incorporating UML for OO analysis and design and discussing software patterns and how to make use of them in the design process.The book covers nine topics:

  • Basic software engineering principles and techniques

  • How to organize and complete a substantial software project.

  • Practical examples of object-oriented design and programming.

  • The design of computer games.

  • Simulating physics inside our computer-generated worlds.

  • Artificial life, or how to simulate live creatures inside a computer program.

  • How to use two and three-dimensional computer graphics.

  • Windows programming with the Microsoft Foundation Classes, or MFC.

  • How to develop a project using Microsoft Visual Studio (Either Version 6.0 or .NET)

Download the free chm ebook: Software Engineering and Computer Games

Tags: software, game


Friday, April 04, 2009

Free chm ebook download: Creating Games in C++: A Step-by-Step Guide

Title: Creating Games in C++: A Step-by-Step Guide

By David Conger, Ron Little
...............................................
Publisher: New Riders
Pub Date: February 21, 2006
Print ISBN-10: 0-7357-1434-7
Print ISBN-13: 978-0-7357-1434-2
Pages: 464

Do you love video games? Ever wondered if you could create one of your own, with all the bells and whistles? It's not as complicated as you'd think, and you don't need to be a math whiz or a programming genius to do it. In fact, everything you need to create your first game, "Invasion of the Slugwroths," is included in this book and CD-ROM. Author David Conger starts at square one, introducing the tools of the trade and all the basic concepts for getting started programming with C++, the language that powers most current commercial games. Plus, he's put a wealth of top-notch (and free) tools on the CD-ROM, including the Dev-C++ compiler, linker, and debugger--and his own LlamaWorks2D game engine. Step-by-step instructions and ample illustrations take you through game program structure, integrating sound and music into games, floating-point math, C++ arrays, and much more. Using the sample programs and the source code to run them, you can follow along as you learn. Bio: David Conger has been programming professionally for over 23 years. Along with countless custom business applications, he has written several PC and online games. Conger also worked on graphics firmware for military aircraft, and taught computer science at the university level for four years. Conger has written numerous books on C, C++, and other computer-related topics. He lives in western Washington State and has also published a collection of Indian folk tales.

Click to download the free ebook: Creating Games in C++: A Step-by-Step Guide.chm

Tags: game, cpp, ebook, chm