Game Programming By The Book
Bruce Von Stiers
Every once in a while a book title will catch my eye. When that happens I usually try to get a copy of the book and read it. Sometimes the book is a disappointment, other times I'm intrigued. The latter is the case of a book that I just finished looking at. The title of the book is Tricks Of The Windows Game Programming Gurus. The subtitle is Fundamentals of 2D and 3D Game Programming. The book was written by Andre LaMothe. It was published by Sams Publishing.
Who is Andre LaMothe and why is he qualified to write a book on game programming? It seems that Andre has over 22 years of programming experience under his belt. He has degrees in three different areas of science. And he is the founder and CEO of Xtreme Games LLC, supposedly the world's largest independent virtual game company. You might say that Andre earned the right to put out this book in more than one way.
The book starts out with an introduction in which Andre lists what he expects you to have learned after completing it. Things like DirectX Foundation, Artificial Intelligence, Physics modeling and Win32n programming will be covered.
There are four parts to the book, the last being a six-sectioned Appendix. Part 1 is titled Windows Programming Foundations. The second is called DirectX And 2D Fundamentals. The third part is titled Hardcore Game Programming. This part puts it all together for you.
The first chapter is called Journey Into The Abyss. It gives you a brief history of gaming; where it came from and where it is today. Then you move on into the how and why of programming a game. Learn about storyboards and design documents. You are given an example of a game (Freakout) and shown what coding elements were used to design it.
The second chapter takes you through the metamorphosis of Windows. Learn about multi-tasking and multi-threading. This chapter shows you how the "Hello World" (supposedly the world's simplest) program works. Chapter 3 goes into some advanced programming techniques. The fourth chapter tells about those cool things like drawing lines, defining timing sequences and working with the Graphics Device Interface (GDI).
In Part 2 Andre steps up the pace a little and discusses some programming ideas that you might not have been aware of. In Chapter 5 Andre covers DirectX and how it can be used to enhance a game. With the sixth chapter, you learn about DirectDraw. Chapter 7 takes you into some advanced drawing techniques and talks about bitmapped graphics.
Chapter 8 is all about vectors and 2D design. Here you'll learn about wireframe polygons. These frame things are essential to building your game. Andre also talks about Bob (short for Blitter Object) that's similar to a game sprite. You can learn how to set your game up for DirectInput usage or for Force Feedback in Chapter 9. This last one has been a good selling point for some gamers. Chapter 10 deals with sound for your game. Digital and MIDI music are covered here. Learn how important wave table synthesis is to your game soundtrack.
Part 3 goes through things like those nasty algorithms and data structures that are required in order for a game to run. Learn how to design for multiple players, both in split screen and taking turns modes. Chapter 12 deals with Artificial Intelligence. Learn how to determine the proper algorithms to use for AI. The chapter covers modeling both simple and complex game character behavior.
Chapter 13 takes you into the world of physics. This chapter covers items like gravity, friction, collisions and some fundamental physics laws. There again, this goes back to the old math formulas. In the section on acceleration there is a formula that looks like this: xt=x0+v0*t+1/2*a*t2. Looks kind of like an advanced algebra equation, doesn't it? And this is just to get some acceleration in a game!
The last chapter, 14, puts everything together for you. Andre takes you through the steps he used to create a small game. This game is an asteroid shoot-em up called Outpost. You will learn how he selected the backgrounds and used the various elements described in the book to design the game.
I almost forgot something. There is a CD-ROM that comes with the book. This disc is chock full of articles and online books on 3D. There is also an Introductory Edition of Microsoft Visual C++. The source code for all the examples in the book is found here as well. There are also some evaluation versions of some programming tools and a few games. And Andre has included some royalty-free stock media for you to play with.
If you are seriously considering developing a game, then this book should be on your "Must Read" list. It has all of the core information that Andre LaMothe feels that a game programmer should have to start out with.
You can find Tricks Of The Windows Game Programming Gurus in the Computer Programming or Gaming sections of your favorite bookseller. The book lists for $ 49.99.
You can check out other titles from Sams Publishing at their web site. It can be found at www.samspublishing.com.
Copyright © 2000 Bruce E. Von Stiers