The combination of Visual Basic and DirectX should give readers the ability to design and program intricate and appealing simulation games. This volume covers game programming code in Visual Basic while giving hints and ideas for the use of Visual Basic.NET. Written to teach the skills and ideas behind game programming, it contains hands-on examples and a simulation game project that results in a complete application at the end of the book.
Wayne S. Freeze, Windows Game Programming with Visual Basic and DirectX (Que, 2002)
First and foremost, a warning. Freeze's book, despite its publication date, deals exclusively in Visual Basic 6. If you're using VB.NET, a lot of this stuff is going to cause you to wonder what on earth Freeze is on about. I strongly suggest reading Keith Sink's DirectX 8 and Visual Basic Development in conjunction with this, and asking a lot of questions on a lot of VB.NET tech support mailing lists. (Microsoft's documentation on how to go from VB6-VB.NET with DirectX is not nonexistent, but it is such that nonexistent would have been better.) Given that .NET had already been in prerelease for over a year by this book's publication, one would think that, at the very least, the publisher would have made it very plain somewhere on the cover that the book dealt in a technology that's not compatible with the next generation of the language. An unforgivable oversight, especially if you happen to spend the full retail price for a copy of this book.
That aside, Freeze's book is quite good in the way it introduces the reader to the new, and largely esoteric, combination of Visual Basic and DirectX (the latter technology was exclusively the realm of C++ programmers until 2001, when DX8 began to include VB wrappers). He's not afraid to use repetition to get his point across, and he does so in a laid-back atmosphere that's quite different from what one sees in most how-to programming manuals.
Freeze teaches the VB/DX intersection through the programming of a SimCity-style games called SwimMall, which is in and of itself at least worth a discounted copy of the book. Needless to say it's not a commercial-quality game, as one would expect from a single person programming such a thing while under the pressure of a book deadline. But the routines and ideas therein are just the thing to spark the imaginations of novice game programmers; no matter what genre a person is working in, there are certainly routines here that will help a programmer out in various ways. Much of this code is easily ported to any other type of game framework.
Very good stuff. Just remember the admonition in the first paragraph if you're working with .NET and haven't used VB before. (Actually, I recommend Sink in conjunction with this book anyway; the atmospheres of the two are a pleasant mesh, and when you can't find a niggling piece of information you need in one, the other is sure to have it.) *** ½