TEAM LinG - Live, Informative, Non-cost and Genuine !
Software
Engineering
for Game
Developers
John P. Flynt
with Omar Salem
© 2005 by Thomson Course Technology PTR. 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 permis-
sion from Thomson Course Technology PTR, except for the inclusion of
brief quotations in a review.
The Premier Press and Thomson Course Technology PTR logo and
related trade dress are trademarks of Thomson Course Technology PTR
and may not be used without written permission.
SmartDraw is a trademark of SmartDraw.com, Inc. Windows, Microsoft
Project, Microsoft Word, Microsoft Excel, DirectX, and Microsoft Visual
Studio .NET are trademarks of Microsoft Corporation. FrameMaker and
Photoshop are trademarks of Adobe Systems Incorporated.
All other trademarks are the property of their respective owners.
Important: Thomson Course Technology PTR cannot provide software
support. Please contact the appropriate software manufacturer’s technical
support line or Web site for assistance.
Thomson Course Technology PTR and the author have attempted
throughout this book to distinguish proprietary trademarks from descrip-
tive terms by following the capitalization style used by the manufacturer.
Information contained in this book has been obtained by Thomson
Course Technology PTR from sources believed to be reliable. However,
because of the possibility of human or mechanical error by our sources,
Thomson Course Technology 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.
ISBN: 1-59200-155-6
Library of Congress Catalog Card Number: 2004106451
Printed in the United States of America
04 05 06 07 08 BH 10 9 8 7 6 5 4 3 2 1
Thomson Course Technology PTR, a division of
Thomson Course Technology
25 Thomson Place
Boston, MA 02210
http://www.courseptr.com
SVP, Thomson Course
Technology PTR:
Andy Shafran
Publisher:
Stacy L. Hiquet
Senior Marketing Manager:
Sarah O’Donnell
Marketing Manager:
Heather Hurley
Manager of Editorial Services:
Heather Talbot
Senior Acquisitions Editor:
Emi Smith
Senior Editor:
Mark Garvey
Associate Marketing Manager:
Kristin Eisenzopf
Series Editor:
André LaMothe
Marketing Coordinator:
Jordan Casey
Project/Copy Editor:
Karen A. Gill
Technical Reviewer:
John Hollis
PTR Editorial Services Coordinator:
Elizabeth Furbish
Interior Layout Tech:
Susan Honeywell
Cover Designer:
Mike Tanamachi
CD-ROM Producer:
Brandon Penticuff
Indexer:
Sharon Shock
Proofreader:
Kim Benbow
TEAM LinG - Live, Informative, Non-cost and Genuine !
This book is dedicated to its readers.
TEAM LinG - Live, Informative, Non-cost and Genuine !
Acknowledgments
Ben Vinson was the lead programmer for Ankh. He exerted an enormous effort, and
the game simply would not exist had he not been willing to make the effort he did.
Ben was instrumental in the software design and saw to development of the game
from beginning to end. He was by far the central and greatest contributor.
John Rose was the game designer for Ankh. John authored the game design document. He
also composed the music, wrote the user’s guide, created the installation package, and
was helpful in documenting CVS. He was at the center of the effort. (Thanks to Jayme
Catalano for keeping track of John.)
Carlos Villar worked as a development and maintenance programmer on Ankh. His work
on the design, sound, and AI was a strong contribution to the project’s success.
Paul Whitehead was the central figure in creation of the art for Ankh. He showed amaz-
ing drive as he developed the meshes and textures for the game. The game just would not
have happened had he not been a part of the team.
Adrian Flynt developed the character art to accompany Paul’s work.
Ben Schulz contributed voice talent.
John Hollis was the book’s technical reader. John brought to this effort a perspective con-
nected with the larger world of software engineering. John provided an essential element
in the development of the content.
Charlie Allbee offered important suggestions concerning audience needs.
iv
TEAM LinG - Live, Informative, Non-cost and Genuine !
Acknowledgments
v
Rob Johnson made suggestions about how to structure the text.
Iraj Eftekhari, Deb Mahon, and Tony Caggiano offered encouragement.
Amy Flynt checked the math.
Marcia Flynt helped with contracts and accounting. The book would not have been writ-
ten without her support.
Many people at Thomson, Premier, and Course Technology did their usual magic.
Karen Gill edited the text.
André LaMothe provided the example of how to write books about developing games.
Emi Smith guided the effort from its conception.
Stacy Hiquet made everything possible.
TEAM LinG - Live, Informative, Non-cost and Genuine !
About the Author
JOHN P. FLYNT, Ph.D., is a software developer who has worked extensively as a software
engineering process specialist. He is president of The ewowe Corporation (http://
www.ewowe.com), which specializes in interactive educational software and related prod-
ucts and services. His experience with game development began when he programmed a
game for education. He has taught game development and has worked with colleges and
universities to create game programs. His educational background includes degrees from
the University of Chicago and the University of Colorado. Along with his wife, Marcia,
and his children, Amy and Adrian, John lives in the foothills north of Boulder, Colorado.
OMAR SALEM lives in Denver, Colorado. Prior to becoming a game development teacher,
he was a member of the technical staff at Bell Labs/Lucent Technologies/Avaya, where he
worked for nearly 20 years. His emphasis is on both development and quality assurance
software engineering. He holds BS and MS degrees in computer science and mathemat-
ics. To date, Omar has seen 17 large-scale software systems to completion, and all prod-
ucts he has worked on have been successfully deployed.
vi
TEAM LinG - Live, Informative, Non-cost and Genuine !
About the Series Editor
ANDRÉ LAMOTHE, CEO of Xtreme Games LLC and the creator of the XGameStation, has
been involved in the computing industry for more than 27 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 Thomson Course Technology PTR Game Development books. You can contact André
at ceo@nurve.net and http://www.xgamestation.com.
vii
TEAM LinG - Live, Informative, Non-cost and Genuine !