Learn VB.NET Through Game Programming by Matt Tagliaferri is an interesting approach to teaching and learning VB.NET. The book starts out by assuming that the learner is a novice. The author takes the approach that people learn through doing things and explains that every time you program you will at the end know you could have done the job a better and different way. The point is to learn as you progress and that is the style the book uses to approach the subjects it wants to teach. The first application that you create in the book is not done in the best way, but the typical way a first time programmer would approach the solution. From there on out the books delves into the use of classes, object-oriented programming, polymorphism, network communications, DirectX, threading, object serialization, garbage collection, and structured error handling.
The best thing about the use of games to teach the subject matter is that they aren't large cumbersome projects yet they still show how all of the general concepts are best put to use. The book will take you through writing a simple die rolling game, reversi, net reversi, concentration, and many other interesting programs. The book has already paid for itself as I am using the concepts I learned here in two projects I am currently working on. The book does an excellent job of explaining Inheritance, Encapsulation, and Polymorphism.
The first program in the book is a die rolling program that teaches you properties, events, and methods. You define the die, determine where to draw it and how to move it. This program is written in non-oop and is used to compare to the second chapter where you right the die game over again by taking code segments from the first chapter to build classes including the die class and die panel class. The second chapter shows how to make code reusable. This was the chapter that I got the most use out of as it showed me in a much more understandable way what makes a good class and how to reuse the code.
The book also goes through network games, using DirectX 9, Structured Exception Handling, Garbage Collection, Object Serialization, and Threading. In order to create games some art work must be created and the book also covered POV-RAY, Moray, and BMPStitch.
- Interesting subject material
- Compact sample applications that use the code being taught in a complete manner
- Complete explanation and demonstration of basic OOP concepts
- Code snippets were not complete and you needed to have the samples open at times to follow the chapter
- With the necessity to have the code to get full value from the book it would have been nice to have the code included on a CD; I have a Wrox book that I can no longer get the downloaded code for and would hate to have that happen with a book where the downloaded code was necessary
In summary, this book is perfect for all types of people who want to learn to use VB.NET in a more OOP manner. Teachers can motivate younger students with the prospect of making games. The more serious crowd will find the short compact nature of most games a pleasure, while still seeing a complete program using the concepts they are learning in action. Myself I feel inspired to attempt to re-create NetTrek. For those of you who are sufficiently old you will remember that classic game.