Appendix . Resources for Further Study

The following resources will help the reader who wishes to continue his or her education in video-game development. Not merely a list of random resources, the Web sites and books listed are highly recommended by the author, from his personal collection.

Web Resources for Further Study

The casual developer will usually need quick solutions to programming problems, which means a good list of online resources both for the C# language and for XNA Game Studio. The following Web sites are educational, informative, and perhaps even funny and off topic, but all will be worth visiting.

Book Support Web Sites

The publisher’s Web site is at http://www.cengage.com. Book resources can be downloaded from http://www.cengage.com/downloads.

The author’s Web site also has resource files available at http://www.jharbour.com/forum. The main site is a Web log, and the forum is a discussion as well as a source for news and updates, and a repository of solutions and links to files such as the sources for this book.

Game-Development Sites

Here are some excellent-game development sites on the Web that I visit frequently, most of which are directly related to XNA Game Studio.

News, Reviews, and Downloads

Keeping up with all that is happening in the world of game development and beyond is a daunting task, to say the least. New things occur every minute all over the world. Hopefully, the next set of links will help you keep up to date with it all.

Industry

If you want to be in the business, you need to know the business. Reading magazines, viewing sites related to the industry, and visiting association meetings, and attending conferences will help you in this endeavor.

Humor

Here are some great sites to visit when you are looking for a break from coding.

Print Resources for Further Study

I’ve provided a short description for each of the books in this list because they are either books I have written (plug!) or that I highly recommend and have found useful, relaxing, funny, or essential on many an occasion. You will find this list of recommended books useful as references to the C# language and as complementary titles and references to subjects covered in this book.

Books by This Author

If you enjoyed this book and would like to look into other books written by me, here is a list of my programming books currently in print that are at least somewhat related to the topic at hand.

Advanced 2D Game Development

Jonathan S. Harbour; Course Technology PTR; ISBN 1598633422

Get ready to build a complete, professional-quality 2D game engine from start to finish! This is your comprehensive guide to 2D game development using DirectX in the C++ programming language. Each chapter of the book covers one major component of the game engine, including 2D and 3D rendering, DirectInput, FMOD audio, game math, multi-threading, Lua scripting, and more, and the game engine is built upon chapter by chapter. Through the creation of the game engine, you’ll learn step by step how to write solid code for multiple compilers, adding to the code as you work through each chapter. And every chapter includes a sample game that illustrates the new techniques being taught. Perfect for game-programming students and professionals alike, this book is your ultimate guide to awesome 2D game development.

Beginning Game Programming, 3rd Edition

Jonathan Harbour; Course Technology PTR; ISBN 1435454278

This book shows budding game developers how to take their game ideas from concept to reality. Requiring only a basic understanding of the C++ language, this unique guide covers all the skills needed to create 2D and 3D games using code written in DirectX. Each element of a game is taught step by step, from learning how to create a simple Windows program, to using the key DirectX components to render 2D and 3D, to adding sound to your game. Using the skills taught within each chapter, readers will develop their own game library, which they can build upon for future game projects. And this updated, new edition includes end-of-chapter quizzes and projects to help you practice your new skills! At the end of the book, you will put newfound skills to use as you create your own complete, fully functional game.

Beginning Java Game Programming, 2nd Edition

Jonathan S. Harbour; Course Technology PTR; ISBN 1598634763

Are you serious about learning how to create real, Java-based games for fun and sharing? Do you have a basic understanding of the Java programming language? If you’ve answered yes, then you are ready to get started building Web-based 2D games from scratch using the latest version of the Java Development Kit! This hands-on guide is perfect for beginner-level game programmers who want to quickly and easily learn how to create games using Java. Written in simple language, the book teaches each new skill using engaging tutorials, followed by end-of-chapter questions and exercises to help reinforce what you’ve just learned. Each chapter builds upon the previous ones, allowing you to repeat and practice the techniques covered. You’ll begin with the basics of writing a simple 2D game using vector graphics, move on to utilizing Java’s advanced 2D library to add animation and sound effects, and end by creating a professional, sprite-based game full of interesting artwork and details that you can share with others on your own Web site!

DarkBASIC Pro Game Programming, 2nd Edition

Jonathan S. Harbour and Joshua R. Smith; Course Technology PTR; ISBN 1598632876

Learn to write 2D and 3D games without any programming experience by harnessing the advanced 2D/3D graphics features of DarkBASIC Professional. This easy-to-use language handles the entire game engine for you, so you are free to focus on designing and playing your own games. Written for beginners with no programming experience, DarkBASIC Pro Game Programming, 2nd Edition is a welcome change of pace from traditional game-programming books. You won’t need to spend time figuring out how the game engine works, but only what the game is supposed to do. You will be able to create self-contained executable games with the graphics and sound files stored inside the EXE file. No DarkBASIC runtime library is needed; compiled programs are self-contained and require only that DirectX be installed. Finally, a book for complete beginners who want to learn to write games!

Game Programming All in One, 3rd Edition

Jonathan S. Harbour; Course Technology PTR; ISBN 1598632892

This book gives aspiring game programmers the skills they need to create professional-quality games. If you have a working knowledge of C and you are ready to expand your skills into the field of game programming, then get ready to begin your journey with this latest edition! It doesn’t cover the topic of programming in general, but rather the specifics of programming for games. Using the cross-platform Allegro game library, you’ll learn how to write complete games that will run on almost any operating system. Both Windows and Linux screenshots are displayed throughout. Using the techniques taught within this book and the tools included on the CD-ROM, you’ll be able to write standard Windows and DirectX programs without the cost of an expensive compiler.

Multi-Threaded Game Engine Design

Jonathan S. Harbour; Course Technology PTR; ISBN 1435454170

This book shows experienced game developers how to apply multi-thread techniques to game-programming technology to improve game performance. Using Direct3D and C++, a sample game engine is created step by step throughout the course of the book, and numerous examples illustrate the concepts presented. Detailed screenshots and well-documented source code help readers understand the techniques being presented throughout the book. Multi-threading is one of the hottest game-development topics today; this book shows students how to add advanced, cutting-edge techniques to their game-programming skill set.

Visual Basic Game Programming for Teens, 3rd Edition

Jonathan S. Harbour; Course Technology PTR; ISBN 1435458109

This book teaches teens and other beginners how to create their own 2D role-playing game (RPG) using the free-to-download and easy-to-use Visual Basic 2008 Express. The game is built step by step throughout the book as readers learn new skills and build upon them. This new edition features almost entirely new content from the previous edition. With it, readers will also learn game-tool creation, animation skills, and graphics programming.

Visual C# Game Programming for Teens

Jonathan S. Harbour; Course Technology PTR; ISBN 1435458486

This book teaches teens and other beginners how to create games using C# and Windows Forms (GDI+). A true beginner’s guide, this book covers each essential step for creating your own complete role-playing game (RPG), including a character-creation screen and a combat system. This book serves as a comprehensive introductory guide for readers who are new to programming or new to programming for games. The reader is shown how to load and draw bitmaps, create sprites, render a game world, keep track of inventory and character stats, and build tools, including a level editor, character editor, item editor, and monster editor. Every chapter contributes toward a growing game library that is used to improve and add new and more advanced features to the game. When the reader finishes with the book, he or she will have created a complete game.

Additional Books

These books were chosen for their support of DirectX 9 shaders (which can be used in an XNA project), as well as other topics of interest in game development. This list includes the “best of the best” books currently in this author’s own library.

AI Techniques for Game Programming

Mat Buckland; Course Technology PTR; ISBN 193184108X

This book explains the difficult topics of genetic algorithms and neural networks in plain English. Gone are the tortuous mathematic equations and abstract examples found in other books. Each chapter takes you through the theory a step at a time, clearly explaining how you can incorporate each technique into your own games.

Artificial Intelligence for Games, 2nd Edition

Ian Millington and John Funge; Morgan Kaufmann; ISBN 0123747317

Creating robust artificial intelligence is one of the greatest challenges for game developers, yet the commercial success of a game often depends on the quality of the AI. In this book, the authors bring extensive professional experience to the problem of improving the quality of AI in games. They describe numerous examples from real games and explore the underlying ideas through detailed case studies. They go further to introduce many techniques little used by developers today. The book’s associated Web site contains a library of C++ source code and demonstration programs, and a complete commercial source-code library of AI algorithms and techniques.

Best of Game Programming Gems

Mark DeLoura; Charles River Media; ISBN 1584505710

Welcome to a collection of the most valuable and timeless articles from the essential reference series for game developers. This book combines the greatest cutting-edge, ready-to-use techniques contributed by industry experts to volumes 1–6 of the Game Programming Gems series. Each article was carefully chosen by the editors and compiled into one best-of-the-best volume in an effort to share 49 timeless gems of game-programming wisdom with you and to save you time and effort with a plethora of reliable methods to add to your developer’s toolbox. The articles are organized into six sections covering the topics of general information, math and physics, artificial intelligence, graphics, networking, and audio. Whether you are new to game development or a practiced veteran, you’re sure to find inspiration and insight to make more entertaining and satisfying games.

Microsoft C# Programming for the Absolute Beginner

Andrew Harris; Course Technology PTR; ISBN 1931841160

If you are new to programming with C# and are looking for a solid introduction, this is the book for you. Developed by computer-science instructors, books in the For the Absolute Beginner series teach the principles of programming through simple game creation. You will acquire the skills that you need for more practical C# programming applications and will learn how these skills can be put to use in real-world scenarios. Best of all, by the time you finish this book you will be able to apply the basic principles you’ve learned to the next programming language you tackle.

Character Animation with Direct3D

Carl Granberg; Charles River Media; ISBN 1584505702

This is the book to get on 3D mesh animation techniques with Direct3D—currently the only up-to-date book (i.e., with working source-code examples) on the market. I highly recommend it! Just be forewarned: This is an extremely advanced book that should, at minimum, be read after one has read Granberg’s RTS book (or another intermediate DirectX book).

Character Development and Storytelling for Games

Lee Sheldon; Course Technology PTR; ISBN 1592003532

This book begins with a history of dramatic writing and entertainment in other media. It then segues to writing for games, revealing that while proven techniques in linear media can be translated to games, games offer many new challenges of their own such as interactivity, non-linearity, player input, and more. It then moves beyond linear techniques to introduce the elements of the craft of writing that are particularly unique to interactive media. It takes us from the relatively secure confines of single-player games to the vast open spaces of virtual worlds and examines player-created stories, and shows how even here writers on the development team are necessary to the process, and what they can do to aid it.

Data Structures and Algorithms for Game Developers

Allen Sherrod; Charles River Media; ISBN 1584504951

This book teaches the fundamentals of the data structures and algorithms used in game development. It provides programmers with a detailed reference to what data structures and algorithms are, and why they are so critical in game development. It teaches new game programmers, students, and aspiring game developers how to create data structures and write algorithms using C++. All key features of C++ are also covered, especially those related to game development. Additionally, a demo application is included in each chapter focusing on the data structure and/or algorithms presented in that chapter. The book covers many modern topics that game and graphics programmers must know to be successful, including geometry-management techniques as well as data structures and algorithms such as KD-Trees, Binary Space Partitioning Trees, Sphere Trees, etc. The code written in this book is not dependent on any specific hardware or operating system. Each chapter ends with questions, exercises, and challenges for the reader to complete in order to help them better understand and apply what they learn.

Emergence in Games

Penny Sweetser; Charles River Media; ISBN 1584505516

The future direction of game development is toward more flexible, realistic, and interactive game worlds. However, current methods of game design do not allow for anything other than pre-scripted player exchanges and static objects and environments. An emergent approach to game development involves the creation of a globally designed game system that provides rules and boundaries for player interactions, rather than prescribed paths. Emergence in Games provides a detailed foundation for applying the theory and practice of emergence in games to game design. Emergent narrative, characters and agents, and game worlds are covered and a hands-on tutorial and case study enable the reader to put the skills and ideas presented into practice.

Game Coding Complete, 3rd Edition

Mike McShaffry; Charles River Media; ISBN 1584506806

Welcome to the newest edition of the essential, hands-on guide to developing commercial-quality games. Written by a veteran game programmer, this book examines the entire game-development process and all the unique challenges associated with creating a game. In this excellent introduction to game architecture, you’ll explore all the major subsystems of modern game engines and learn professional techniques used in actual games. This third edition features expanded content and coverage of the latest and most exciting game-programming techniques including AI, multiprogramming, working with scripting languages such as Lua, and writing C# tools like your level editor. All the code and examples presented have been tested and used in commercial video games, and the book is full of invaluable best practices, professional tips and tricks, and cautionary advice.

Game Engine Architecture

Jason Gregory; A K Peters; ISBN 1568814135

A 2009 Game Developer Front Line Award finalist, this book covers both the theory and practice of game-engine software development, bringing together complete coverage of a wide range of topics. The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. Many of the examples are grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping-off point for those who wish to dig deeper into any particular aspect of the game-development process. Intended as the text for a college-level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.

Going to War: Creating Computer War Games

Jason Darby; Course Technology PTR; ISBN 1598635662

Do you want to learn how to create computer war games, but don’t know how to get started or don’t have any experience with game programming? Going to War: Creating Computer War Games shows you how to use the drag-and-drop game engine, Multimedia Fusion 2, to make your very own computer war games to play and share. After an introduction to the Multimedia Fusion 2 interface and the basics of how to use it, you’ll get started on the game that you’ll create throughout the course of the book. You’ll begin by making your game map, using a system of hexagon tiles to create the terrain and the different units you want to include in your game such as soldiers and tanks. Then you’ll learn how to set rules for player movement, different types of terrain, and combat. You’ll even find more advanced techniques such as how to implement officers, fortifications, and even a simple monetary system in your games. The book even discusses how to track and find bugs in your games and how to create an editor that allows you to easily apply data you’ve already created to new games. Everything you need to build your own war games is included with the book. By the time you’ve worked your way through it, you’ll have designed your very own working and playable war game.

Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach

Frank Luna; Jones & Bartlett Publishers; ISBN 1598220160

This is a comprehensive book on 3D graphics programming with Direct3D 9. It is not intended for beginners, however. You will need a solid grasp of C++ and at least a working knowledge of DirectX before this book will be beneficial to you. As an intermediate- to advanced-level book, it will teach you the most useful techniques used in game projects today such as 3D terrain, character animation, and shader programming.

Mathematics for 3D Game Programming and Computer Graphics, 2nd Edition

Eric Lengyel; Charles River Media; ISBN 1584502770

This completely updated second edition illustrates the mathematical concepts that a game programmer needs to develop a professional-quality 3D engine. Although the book is geared toward applications in game development, many of the topics appeal to general interests in 3D graphics. It starts at a fairly basic level in areas such as vector geometry and linear algebra, and then progresses to more advanced topics in 3D game programming such as illumination and visibility determination. Particular attention is given to derivations of key results, ensuring that the reader is not forced to endure gaps in the theory. The book assumes a working knowledge of trigonometry and calculus, but also includes sections that review the important tools used from these disciplines, such as trigonometric identities, differential equations, and Taylor series.

Mathematics for Game Developers

Christopher Tremblay; Course Technology PTR; ISBN 159200038X

This book explores the branches of mathematics from the game developer’s perspective, rejecting the abstract, theoretical approach in favor of demonstrating real, usable applications for each concept covered. Use of this book is not confined to users of a certain operating system or enthusiasts of particular game genres; the topics covered are universally applicable.

Programming an RTS Game with Direct3D

Carl Granberg; Charles River Media; ISBN 1584504986

The real-time strategy game developed in this book is an extraordinary example of the genre and a fantastic learning tool for any intermediate- to advanced-level DirectX programmer. The chapters on 3D terrain and animation are indispensable. Although the shader code is presented in HLSL 2.0 file format, the shader programs still compile and run, and can easily be copied into an FX file for 3.0 support.

Real-Time Rendering, 3rd Edition

Tomas Akenine-Moller, Eric Haines, and Naty Hoffman; A K Peters; ISBN 1568814240

Because software and hardware are constantly and rapidly evolving due to the insatiable need for more realistic and complex graphics, the book avoids getting too specific. To quote the authors, “The field is rapidly evolving, and so it is a moving target.” This lack of specificity doesn’t detract from the usefulness of the book, though. Instead, it works at a higher, more abstract level, describing approaches to rendering techniques using generic algorithms. It is up to the programmer to apply these methods to the specific program or system on which they are to be implemented. This book describes some very complex methods, and this book is not for the average computer-graphics creator. However, if you are working in an industry that depends on real-time rendered animation—like the gaming, medical, or military fields—or you are building the next-generation, real-time render engine, this book will offer insight and concepts you can use to build some impressive software.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.58.121.131