Reviewed:

Windows Game Programming for Dummies

Book Title

Windows Game Programming for Dummies

Author

Andre Lamothe

Publisher

IDG Books Worldwide 1998

Notes:

Great book for learning DirectX (cheap too)

"Windows Game Programming for Dummies" by Andre Lamothe is a book that will teach you how to program games for Windows with DirectX. This is Andre's first "for Dummies" book, but it remains true to Andre's style of writing and coding. This is the book that got me going with DirectX. It's a great book, but it isn't without its flaws... Read on to find out if this book is for you!

Who is this book for?

First of all, I have to tell you that this book ain't fer dummies (sorry I'm not politically correct). This book should have been called something like "Switching from DOS Game Programming to Windows Game Programming with DirectX 5". In fact, if you are an amateur game programmer (like myself) and have been using DOS, this book is probably the best way to switch over to Windows. The source code is all in C with a tiny dash of C++ so if you aren't very good with C/C++ then don't get this book until you are good at that language. Overall, if you're good with C programming you'll probably be OK with this book although it helps to have prior game programming experience.

What does this book cover?

"Windows Game Programming for Dummies" basically teaches you how to make simple 2D games with DirectX. The book starts you out with a basic overview of Windows programming in general which is very useful for people like me who are used to DOS. Once you learn that, you are introduced to DirectDraw. As you progress you will learn how to use DirectSound, DirectInput, and DirectSetup. There's no Direct3D coverage though which isn't surprising considering that including Direct3D would have made the book twice as long! The bulk of the book is spent creating a 2D sprite based graphics engine. The engine uses 8-bit color (256 color palettized) although higher color depths are touched on. You also learn how to use DirectInput for keyboard, joystick, and mouse input. You will learn how to use DirectSound for digitized sound effects, but there is no music coverage. There isn't that much coverage on game programming theory which may bother some of you, but I can honestly say that Andre packed as much as he could into this thin yellow book.

How's the source code?

First of all, if you don't know C you are going to be LOST! Learn C before attempting to read this book. That said, the source code with this book is very good. One thing I have always liked about books by Andre Lamothe is that he writes code in plain old C which is much simpler to read and understand than true C++ code. He also makes the code as simple as possible, and he puts comments in the code everywhere that they are needed. If you can't understand Andre's code then you need to either practice your programming skills or pursue another career. The only thing I don't like about this book's source code is the BOB engine that you will learn to make. I think it sucks so I wrote my own engine based on what I learned from the book. Overall the source code is excellent with lots of comments to help you understand what is going on. I did find a couple of inaccurate things in the code, but for the most part the code works great. The compiler you need is Microsoft Visual C++ 4.0 or better. I have used both MSVC++ 4.0 and 6.0 with very few problems. MSVC++ is a great compiler, and for Windows applications it is unbeatable!

The Bottom Line

"Windows Game Programming for Dummies" is the best book I have read for learning DirectX game programming. Andre covers all the bases of making a simple game, and his source code is superb as always. My biggest complaint with this book is that it is a "For Dummies" book. For one, the title is misleading because the book covers some non-dummy material. The other more glaring problem with the "For Dummies" format is that the book is too short. The book could have used some extra pages for more code listings and more game programming theory. I know that I rarely read books at my computer so it is useful to have a fair amount of the code in the book as well as the CD. Still, this book helped me learn DirectX programming which is no small feat. If you know C and want to learn DirectX game programming then this book is for you! It's well worth the small amount of money that the book costs.