3D Game Programming All in One


Kenneth C. Finney

SERIES EDITOR: Andr LaMothe, CEO, Xtreme Games LLC

THOMSON
COURSE TECHNOLOGY
Professional Trade Reference

Copyright 2004 Premier Press, a division of Course Technology.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system without written permission from Course PTR, except for the inclusion of brief quotations in a review.

The Premier Press logo and related trade dress are trademarks of Premier Press and may not be used without written permission.

UltraEdit is a registered trademark of IDM Computer Solutions, Inc., Paint Shop Pro 8 is a trademark of Jasc Corporation, Inc. Audacity and QuArK 6.3 use are subject to the GNU General Public License. Chain Reaction and Reaction Engine SDK are trademarks of Monster Studios. UVMapper 0.25—copyright 1998-2002 Stephen L Cox, All rights reserved. ThinkTanks is a trademark of BraveTree Productions, LLC. Orbz is a trademark of Mind Vision Software. Marble Blast Gold is a trademark of GarageGames. MilkShape 3D is a trademark of chUmbaLum sOft.

All other trademarks are the property of their respective owners.

Important: Course PTR cannot provide software support. Please contact the appropriate software manufacturer's technical support line or Web site for assistance.

Course PTR and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer.

Information contained in this book has been obtained by Course PTR from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Course PTR, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information. Readers should be particularly aware of the fact that the Internet is an ever-changing entity. Some facts may have changed since this book went to press.

Educational facilities, companies, and organizations interested in multiple copies or licensing of this book should contact the publisher for quantity discount information. Training manuals, CD-ROMs, and portions of this book are also available individually or can be tailored for specific needs.

1-59200-136-X

Library of Congress Catalog Card Number: 2004090733

04 05 06 07 08 BH 10 9 8 7 6 5 4 3 2 1

Course PTR, a division of Course Technology
25 Thomson Place
Boston, MA 02210
http://www.courseptr.com

SVP, Course Professional, Trade, Reference Group:
Andy Shafran

Publisher:
Stacy L. Hiquet

Senior Marketing Manager:
Sarah O'Donnell

Marketing Manager:
Heather Hurley

Manager of Editorial Services:
Heather Talbot

Acquisitions Editor:
Mitzi Koontz

Associate Marketing Manager:
Kristin Eisenzopf

Series Editor:
Andr LaMothe

Developmental Editors:
Dave Astle and Kevin Hawkins

Project Editor:
Jenny Davidson

Technical Reviewers:
Michael Dawson and Les Pardew

Retail Market Coordinator:
Sarah Dubois

Copy Editor:
Laura Gabler

Interior Layout Tech:
Jill Flores

Cover Designer:
Steve Deschene

CD-ROM Producer:
Brandon Penticuff

Indexer:
Sharon Shock

Proofreaders:
Sandi Wilson and Sara Gullion

This book is dedicated to my wife, Tubetti, and my two sons, Rockid and Lincus, whose sacrifices and encouragement made it possible.
-CERDIP

Acknowledgments

I would like to thank Dave Wilkes for his encouragement to do this book, and the other guys at Wilkes Associates for just putting up with me, especially during the early days of its creation.

I also want to thank my editors, Mitzi Koontz, Laura Gabler, Mike Dawson, Les Pardew, Kevin Hawkins, and Dave Astle, and especially the ever-patient Jenny Davidson (she laughs at my jokes!). A big thank you to Andr LaMothe for pushing the idea, and making it happen.

Many thanks and a tip o' the hat go to those Four Guys in a Garage: Jeff Tunnell, Rick Overman, Mark Frohnmayer, and Tim Gift. These are the perpetrators of Torque, and the founders of GarageGames. An amazing crew. Thanks to Desmond Fletcher for his assistance (knowing and unknowing) with subjects as diverse as particles, terrain, and clouds. Many thanks go to Melv May, Harold Brown, Anthony Rosenbaum, Phil Carlisle, Dave Wyand, Matthew Fairfax, Pat Wilson, Ryan Parker, Simon Windmill, Kevin Ryan, Joe Maruschak, Joel Baxter, Justin Mette and the 21-6 gang, and Frank Bignone, for their many contributions to the Torque engine and its game development community. Hearty thanks to Nick Palmer for allowing me to use his music, which appears on the CD.

I also want to thank every player who came to Tubettiworld in those halcyon DF2 days and made it his or her virtual home. They made it a great place to play and socialize online. I would like to list them all, but obviously I can't. To the late John "Tufat" Tucker, the gentleman—I salute you, !S. Then there are, in no particular order: AceTW, his evil twin Malfunction, Strata, Spector, Roadkill, Midnight, Oz Mal, Deadbolt, Insomniac, Checkfire, Norway, Animal, Qdad, MickyD, Buster, Major Chip Hazard, Pirate, Kotch, C2, FF6, IRS Agent, and Kdawg—I mustn't neglect to mention Dr. Evil and the great work he and his gang are doing with the TXP stuff. Last, but certainly not least, Jim, The Nailer, the epitome of the Online Game Player, and an all around great guy. I hope that everything works out, Jim.

Along the way, there have been many others in various places that deserve some mention: KILLER and his gang, who do what cornered rats do best—fight back. Many other game developers can learn a thing or two about hard work from those guys. Onchas, Cowboy, Badger, and the rest of the "Allies"—keep up the good work. Same with you "Axis" players (except that your days are numbered!). Also a hearty !S to the Playnet forum denizens who opened a second front as soon as the war started (Teh?).

I'm sure I've forgotten to acknowledge someone, and I'll probably get e-mails to that effect, but that's the risk one embraces.

Regards,
CERDIP

About the Author

Kenneth C. Finney is the Principal Software Engineer at Wilkes Associates, Inc. in the Greater Toronto Area. He began programming in 1974 and was a recipient of the prestigious Conference Board of Canada ITX (Innovation in Technology Excellence) Award in 1997 for his work on InScan—a high-speed document scanning system. He was a consultant to the Department of National Defence in Canada in Armoured Fighting Vehicle systems design, and is an orange-qualified Nuclear Engineer designing NDE systems and techniques for Candu reactor stations. He is an associate professor at Seneca College at York University in Toronto, helping technical writers learn how to survive in a software development environment. Ken is the creator of the popular Tubettiland ‘Online Campaign’ Mod and the ‘QuicknDirty’ game management tools for Novalogic's Delta Force 2 game series. He is currently working on the new and unique Tubettiworld action/adventure game (http://www.tubettiworld.com) using the Torque Game Engine.

About the Series Editor

Andr LaMothe, CEO, Xtreme Games LLC, has been involved in the computing industry for more than 25 years. He wrote his first game for the TRS-80 and has been hooked ever since! His experience includes 2D/3D graphics, AI research at NASA, compiler design, robotics, virtual reality, and telecommunications. His books are top sellers in the game programming genre, and his experience is echoed in the Course Technology PTR Game Development series.

Letter from the Series Editor

In the past few years, game development has become a huge subject, covering so many areas of technology and expertise that learning all the various aspects of game development would be a huge undertaking that would easily take 5-10 years to master. One of my goals with the Premier Game Development series was to cover each and every area of game development in depth, in a highly technical manner. However, sometimes you just want to know "how" to do something; you're not really interested in every single detail. Along these lines, I experimented with a totally beginner book titled Game Programming All in One, in which the reader is assumed to know nothing about game development, not even how to program! The book you're holding is really a follow-up to that book, albeit on a slightly different path. Instead of teaching general game programming from the ground up, 3D Game Programming All in One teaches you how to make 3D games—period.

This book isn't so much about developing 3D engines, complex 3D math, or even physics, but how to create 3D games and what the high level major components of them are. As the author Kenneth Finney and I discussed and developed the book, we decided that the goal shouldn't be to exhaustively teach 3D game development—that would take 5,000 pages. Instead, the book should have the single goal—given a reader is familiar with C/C++, teach him how to make a 3D game as quickly as possible, leverage as much technology as possible, but still give the reader enough background information on the low-level aspects of 3D game development that if he did want to write everything from the rendered to the physics engine, he would have at least an idea of what they do.

3D Game Programming All in One is probably the only book you will find that will really live up to the hype of being able to teach you to create a 3D game. Let's face it, there are only a handful of people in the world that have the technical expertise (or the time) to write a commercial 3D engine, thus, this book saves you the time of that nightmare by leveraging one of the most advanced 3D engines available, the "Torque Engine"—even the name is cool. Ken uses this state-of-the-art 3D engine as a semi black box API to create 3D game examples in advancing levels of complexity. The book begins with basic 3D concepts, moves on to objects, models, large-scale worlds, and how all the elements of a 3D game fit together. Then Ken builds game demos that use these concepts, one added to another in a real-world example of developing an actual 3D game. By the end of the book, you will be able to create a number of 3D game types, from first-person shooters to exterior-based games with vehicles.

In conclusion, I highly recommend 3D Game Programming All in One to anyone who wants to learn how to build 3D games, but doesn't necessarily want to spend 5-10 years learning how to build a 3D game engine from the ground up! In no time you will be creating amazing games based on a state-of-the-art engine. Then, if you so desire, you can always delve deeper into 3D engine design with further studies.

Sincerely,

Andr LaMothe
Series Editor, Course Technology PTR Game Development series




3D Game Programming All in One
3D Game Programming All in One (Course Technology PTR Game Development Series)
ISBN: 159200136X
EAN: 2147483647
Year: 2006
Pages: 197

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net