net game programming with directx 9 - think different · pdf file.net game programming with...

573
.NET Game Programming with DirectX 9.0 by Alexandre Santos Lobão and Ellen Hatton ISBN:1590590511 Apress © 2003 (696 pages) The authors of this text show how easy it can be to produce interesting multimedia games using Managed DirectX 9.0 and programming with Visual Basic .NET on Everett, the latest version of Microsoft's Visual Studio. Table of Contents .NET Game Programming with DirectX 9.0 Foreword Preface Introduction Chapter 1 - .Nettrix: GDI+ and Collision Detection Chapter 2 - .Netterpillars: Artificial Intelligence and Sprites Chapter 3 - Managed DirectX First Steps: Direct3D Basics and DirectX vs. GDI+ Chapter 4 - River Pla.Net: Tiled Game Fields, Scrolling, and DirectAudio Chapter 5 - River Pla.Net II: DirectInput and Writing Text to Screen Chapter 6 - Magic KindergarteN.: Adventure Games, ADO.NET, and DirectShow Chapter 7 - Magic KindergarteN. II: Animation Techniques and Speech API Chapter 8 - .Netterpillars II: Multiplayer Games and Directplay Chapter 9 - D-iNfEcT: Multithreading, Nonrectangular Windows, and Access to Nonmanaged Code Bonus Chapter Porting .Nettrix to Pocket PC Appendix A - The State of PC Gaming Appendix B - Motivations in Games Appendix C - How Do I Make Games? Appendix D - Guidelines for Developing Successful Games Index List of Figures List of Tables

Upload: lytram

Post on 23-Feb-2018

238 views

Category:

Documents


5 download

TRANSCRIPT

  • .NET Game Programming with DirectX 9.0

    by Alexandre Santos Lobo and EllenHatton

    ISBN:1590590511

    Apress 2003 (696 pages)

    The authors of this text show how easy it can be to produceinteresting multimedia games using Managed DirectX 9.0 andprogramming with Visual Basic .NET on Everett, the latestversion of Microsoft's Visual Studio.

    Table of Contents

    .NET Game Programming with DirectX 9.0

    Foreword

    Preface

    Introduction

    Chapter 1 - .Nettrix: GDI+ and Collision Detection

    Chapter 2 - .Netterpillars: Artificial Intelligence and Sprites

    Chapter 3 - Managed DirectX First Steps: Direct3D Basics and DirectX vs. GDI+

    Chapter 4 - River Pla.Net: Tiled Game Fields, Scrolling, and DirectAudio

    Chapter 5 - River Pla.Net II: DirectInput and Writing Text to Screen

    Chapter 6 - Magic KindergarteN.: Adventure Games, ADO.NET, and DirectShow

    Chapter 7 - Magic KindergarteN. II: Animation Techniques and Speech API

    Chapter 8 - .Netterpillars II: Multiplayer Games and Directplay

    Chapter 9 -D-iNfEcT: Multithreading, Nonrectangular Windows, and Access toNonmanaged Code

    Bonus Chapter Porting .Nettrix to Pocket PC

    Appendix A - The State of PC Gaming

    Appendix B - Motivations in Games

    Appendix C - How Do I Make Games?

    Appendix D - Guidelines for Developing Successful Games

    Index

    List of Figures

    List of Tables

  • .NET Game Programming with DirectX 9.0

    by Alexandre Santos Lobo and EllenHatton

    ISBN:1590590511

    Apress 2003 (696 pages)

    The authors of this text show how easy it can be to produceinteresting multimedia games using Managed DirectX 9.0 andprogramming with Visual Basic .NET on Everett, the latestversion of Microsoft's Visual Studio.

    Table of Contents

    .NET Game Programming with DirectX 9.0

    Foreword

    Preface

    Introduction

    Chapter 1 - .Nettrix: GDI+ and Collision Detection

    Chapter 2 - .Netterpillars: Artificial Intelligence and Sprites

    Chapter 3 - Managed DirectX First Steps: Direct3D Basics and DirectX vs. GDI+

    Chapter 4 - River Pla.Net: Tiled Game Fields, Scrolling, and DirectAudio

    Chapter 5 - River Pla.Net II: DirectInput and Writing Text to Screen

    Chapter 6 - Magic KindergarteN.: Adventure Games, ADO.NET, and DirectShow

    Chapter 7 - Magic KindergarteN. II: Animation Techniques and Speech API

    Chapter 8 - .Netterpillars II: Multiplayer Games and Directplay

    Chapter 9 -D-iNfEcT: Multithreading, Nonrectangular Windows, and Access toNonmanaged Code

    Bonus Chapter Porting .Nettrix to Pocket PC

    Appendix A - The State of PC Gaming

    Appendix B - Motivations in Games

    Appendix C - How Do I Make Games?

    Appendix D - Guidelines for Developing Successful Games

    Index

    List of Figures

    List of Tables

    Back Cover

    Presented in easy-to-understand language, .NET Game Programming with DirectX 9.0 is a must-have title for thosewho want to create out-of-the-ordinary but simple games, but have never had the time to expend reading hard-core game developers books. Lobao and Hatton show how easy it can be to produce interesting multimedia gamesusing Managed DirectX 9.0 and programming with Visual Basic .NET on Everett, the latest version of Microsoft'sVisual Studio. Although their focus is on simplicity, the authors are able to explore all basic concepts withinManaged DirectX 9.0: Direct3D, DirectSound, DirectMusic (using the COM interface), DirectInput (including force-feedback joysticks), DirectShow, and DirectPlay. There are also chapters covering other technologies that can beused for game programming: the Speech API to generate game characters' voices, multithreading, and GDI+ forsimple games. A bonus chapter shows how to port a simple game to Pocket PC. Sample games are presented overtwo chapters throughout the book. The first chapter presents the game with simple features, and the secondchapter extends the game while presenting new concepts. A library of game programming helper classes is alsocreated, step-by-step, in each chapter.

    About the Authors

    Alexandre Santos Lobo has been a non-professional game developer since 1981, when he got his first computer at12 years of age. He received a bachelor's degree in Computer Science in 1991, from the University of Braslia. Whenhe was attending the University, he helped to develop a graphics program and a computer graphics language(LAFITH - Hierarchical Animation Language for Three-dimensional Figures), which organizes objects in ahierarchical way and calculates the results of forces over the objects, giving them velocity and acceleration. Thislanguage was presented in many Brazilian conferences, and at the international conference, Compugraphics, inSesimbra, in 1991.In 2000, he published his first book, The Box of Pandora and Other Stories , with short stories.Although he has written many technical articles, this is his first technical book.

    Ellen Hatton is currently completing a computer science degree at Edinburgh University. She was exposed tocomputers at a very early age and has been fascinated with them ever since. Her first experience of computergames was playing Dread Dragon Doom, at which she quickly excelled, at the age of 5. She's been hooked ongames ever since.

  • .NET Game Programming with DirectX 9.0

    by Alexandre Santos Lobo and EllenHatton

    ISBN:1590590511

    Apress 2003 (696 pages)

    The authors of this text show how easy it can be to produceinteresting multimedia games using Managed DirectX 9.0 andprogramming with Visual Basic .NET on Everett, the latestversion of Microsoft's Visual Studio.

    Table of Contents

    .NET Game Programming with DirectX 9.0

    Foreword

    Preface

    Introduction

    Chapter 1 - .Nettrix: GDI+ and Collision Detection

    Chapter 2 - .Netterpillars: Artificial Intelligence and Sprites

    Chapter 3 - Managed DirectX First Steps: Direct3D Basics and DirectX vs. GDI+

    Chapter 4 - River Pla.Net: Tiled Game Fields, Scrolling, and DirectAudio

    Chapter 5 - River Pla.Net II: DirectInput and Writing Text to Screen

    Chapter 6 - Magic KindergarteN.: Adventure Games, ADO.NET, and DirectShow

    Chapter 7 - Magic KindergarteN. II: Animation Techniques and Speech API

    Chapter 8 - .Netterpillars II: Multiplayer Games and Directplay

    Chapter 9 -D-iNfEcT: Multithreading, Nonrectangular Windows, and Access toNonmanaged Code

    Bonus Chapter Porting .Nettrix to Pocket PC

    Appendix A - The State of PC Gaming

    Appendix B - Motivations in Games

    Appendix C - How Do I Make Games?

    Appendix D - Guidelines for Developing Successful Games

    Index

    List of Figures

    List of Tables

    .NET Game Programming with DirectX 9.0ALEXANDRE SANTOS LOBO AND

    ELLEN HATTON

    Copyright 2003 by Alexandre Santos Lobo and Ellen Hatton

    All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,electronic or mechanical, including photocopying, recording, or by any information storage or retrievalsystem, without the prior written permission of the copyright owner and the publisher.ISBN (pbk): 1-59059-051-1

    Printed and bound in the United States of America 12345678910

    Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrenceof a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademarkowner, with no intention of infringement of the trademark.

    Technical Reviewer: David Jung

    Editorial Directors: Dan Appleman, Gary Cornell, Simon Hayes, Karen Watterson, John Zukowski

    Managing Editor: Grace Wong

    Project Manager: Sofia Marchant

    Copy Editor: Ami Knox

    Production Manager: Kari Brooks

    Compositor: Diana Van Winkle, Van Winkle Design Group

    Artist and Cover Designer: Kurt Krames

    Indexer: Lynn Armstrong

    Manufacturing Manager: Tom Debolski

    Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 175 Fifth Avenue,New York, NY, 10010 and outside the United States by Springer-Verlag GmbH & Co. KG, Tiergartenstr.17, 69112 Heidelberg, Germany.

    In the United States, phone 1-800-SPRINGER, email , or visithttp://www.springer-ny.com.

    Outside the United States, fax +49 6221 345229, email , or visithttp://www.springer.de.

    For information on translations, please contact Apress directly at 2560 9th Street, Suite 219, Berkeley, CA94710.

    Phone 510-549-5930, fax: 510-549-5939, email , or visithttp://www.apress.com.

    The information in this book is distributed on an "as is" basis, without warranty. Although every precautionhas been taken in the preparation of this work, neither the author nor Apress shall have any liability to anyperson or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by

    http://www.springer-ny.comhttp://www.springer.dehttp://www.apress.com

  • .NET Game Programming with DirectX 9.0

    by Alexandre Santos Lobo and EllenHatton

    ISBN:1590590511

    Apress 2003 (696 pages)

    The authors of this text show how easy it can be to produceinteresting multimedia games using Managed DirectX 9.0 andprogramming with Visual Basic .NET on Everett, the latestversion of Microsoft's Visual Studio.

    Table of Contents

    .NET Game Programming with DirectX 9.0

    Foreword

    Preface

    Introduction

    Chapter 1 - .Nettrix: GDI+ and Collision Detection

    Chapter 2 - .Netterpillars: Artificial Intelligence and Sprites

    Chapter 3 - Managed DirectX First Steps: Direct3D Basics and DirectX vs. GDI+

    Chapter 4 - River Pla.Net: Tiled Game Fields, Scrolling, and DirectAudio

    Chapter 5 - River Pl