Reviewed:

Teach Yourself Game Programming in 21 Days

Book Title Teach Yourself Game Programming in 21 Days
Author Andre Lamothe
Publisher Sams Publishing 1994
Notes: This is the book that got me started...

"Teach Yourself Game Programming in 21 Days" by Andre Lamothe is a difficult book to review because it is old by computer book standards, but it still has a lot of useful information. This was the first game programming book I ever bought, and it is the main reason that I am able to program games today.

Who is this book for?

This book is what I would call a beginner level game programming book. Note that I said beginner level GAME programmer and not beginner level programmer. In order to use this book, you need to know how to program pretty well in C or a similar language. I didn't know C when I got this book, but I was proficient in PASCAL which is very similar to C. If you only know BASIC or Visual Basic you may want to take a class in C programming before tackling this book.

What does this book cover?

Teach Yourself Game Programming in 21 Days covers almost all aspects of game programming for a DOS 16-bit environment. If you're unsure what 16-bit DOS is, some 16-bit DOS games are DUKE NUKEM 1 and 2, Wolfenstein 3D (I think), and almost all of the games on my site. You can also convert the book's code to DOS 32-bit with minimal modifications. Some DOS 32-bit games are DOOM, Quake (also has a Win version), Raptor, Jazz JackRabbit (I think), Duke Nukem 3D, and lots of other cool games. Like I said, you have to change the code a little and get a 32-bit DOS compiler like Watcom or DJGPP, but it's possible to make some good games using this book. It covers Mode13h graphics mode which is 320x200 with 256 colors. The book will teach you how to do a fair amount of 2D graphics, and it does a good job of covering input devices as well. It even has some good artificial intelligence techniques. However, the coverage for programming audio sucks to put it bluntly. It doesn't cover music at all, and the sound effects coverage is almost useless.

How's the source code?

First of all, you are going to have major problems finding a compiler that will compile this book's code without modification. Andre uses a DOS Microsoft compiler which can't be bought anymore. Microsoft Visual C++ versions above 4.0 don't come with DOS compilers so forget them if you want to use Andre's code. I bought Visual C++ 4.0 which game with both VC++ 4.0 and VC++ 1.52 which was good because VC++ 1.52 compiled Andre's code great! The only thing I had to change were the in-line assembler comments. If you have Watcom you should be able to make the code work with a few mods. I had no luck with Borland compilers so forget that! Anyway, if you can get the source code to compile it's some of the best code around for beginners. The code is very well commented and organized, and Andre doesn't sacrifice clarity in the code for extra speed optimizations. To me that's a good thing because the purpose is to learn, and simple code is much easier to understand that convoluted optimized code. Of all the game programming authors I have ever read, Andre Lamothe definitely writes the best code as far as readablity and understandability are concerned.

The Bottom Line

Teach Yourself Game Programming in 21 Days is an outdated book that will still be useful for beginning game programmers who know DOS programming with C. If you don't know much about programming, this book will only confuse you. Learn to program before you try to tackle this book. If you do know some C programming, this book will help you understand principles of game programming. Two months after buying this book I was almost done with my game NeverMore. Admittedly, I worked on that game every day for two months, but I knew nothing about game programming when I got this book. All I knew was how to do text and file manipulation programs, and I wasn't great at that. This book is great to learn simple game programming from, but you won't be able to make professional quality games with the knowledge gained from this book. However, if your goal is to just get started with game programming, this book will help you do that.

Back to Book Reviews Page