Product Details
Windows Game Programming for Dummies, Second Edition

Windows Game Programming for Dummies, Second Edition
By André LaMothe, Andre Lamothe

List Price: $29.99
Price: $22.79 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

55 new or used available from $2.00

Average customer review:

Product Description

Get the scoop on DirectDraw, DirectInput physics modeling, and more!
The one book you need to begin building your own games
Game programming is a challenge - even if you're a veteran C/C++ programmer. This friendly guide by a legendary game developer delivers just what you need to get started on 2D games. Now revised to cover the latest DirectX and Windows releases, it shows you step by step how to tackle everything from graphics and sound to input and installation - even games marketing!
All this on the bonus CD-ROM
* Microsoft DirectX application programming interface SDK v. 8.1
* Paint Shop Pro evaluation version
* Examples, games, and source code from the book
* Plus bonus chapters
System Requirements: PC running Windows 9x/2000/Me/XP, Windows NT 4 or later; 64MB of RAM, 128MB recommended. See the About the CD Appendix for details and complete system requirements.


Product Details

  • Amazon Sales Rank: #262663 in Books
  • Published on: 2002-09-18
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 480 pages

Editorial Reviews

From the Back Cover
Get the scoop on DirectDraw, DirectInput physics modeling, and more!

The one book you need to begin building your own games

Game programming is a challenge – even if you’re a veteran C/C++ programmer. This friendly guide by a legendary game developer delivers just what you need to get started on 2D games. Now revised to cover the latest DirectX and Windows releases, it shows you step by step how to tackle everything from graphics and sound to input and installation – even games marketing!

All this on the bonus CD-ROM

  • Microsoft DirectX application programming interface SDK v. 8.1
  • Paint Shop Pro evaluation version
  • Examples, games, and source code from the book
  • Plus bonus chapters

System Requirements: PC running Windows 9x/2000/Me/XP, Windows NT 4 or later; 64MB of RAM, 128MB recommended. See the About the CD Appendix for details and complete system requirements.

About the Author
André LaMothe is CEO of Xtreme Games, a leading game developer, and the author of many bestselling game books, including The Black Art of 3D Game Programming.


Customer Reviews

A Great Book to get your feet on the ground!4
An idiot who slapped the 1 - star rating on this book is, in fact, a dummy. You CANNOT expect to write any game without having C or C++ down. Before buying this book, make sure that you are strong in using pointers and such 'advanced' things found in the C language. Some Windows programming is nice, however, Andre LaMothe is able to explain it nicely in the pages that are in the book, without going into explicit detail (which is a good and a bad thing). If you want to learn how to write games using your C language, then this book is a very good one. It explains Direct X fully, although, it doesn't go into explicit detail. On a final note, this game teaches a lot in the pages that it houses. It teaches basic Windows Programming, DirectX, as well as Physics and AI. Don't expect to get an extremely detailed tutorial on each concept taught in the book. If you need every detail found in Win32 Programming, then head off and purchase Windows 98 Programming by Schildt. If you want to learn DirectX (no D3D..) by going into explicit detail, Inside DirectX is the way to go. However, if you want a brief and somewhat detailed tutorial of both (including many, many other aspects of game programming), you'll find that this book provides you with everything you need to know. However, don't expect to write ANYTHING 3d. Right now, after reading that book, I am able to program my own Secret of Mana type game. How many people can say that after reading a 480 page book?

My 2nd Review of this book, it is that good.5
This book is for programmers with a fair grasp of C; you should understand macros, pre-compiler directives and a little bit of Windows programming (IMHO).

This book is NOT for people who do not have some programming knowledge (basic understanding of C is REQUIRED)

Also this book does NOT use MFC or C++ for a very good reason. MFC adds too much overhead to game programming and since MOST games using DirectX run in fullscreen mode - MFC is USELESS for DirectX programming. C++ can also add a large amount of complexity for someone trying to LEARN game programming. While I prefer C++ myself the author chose the right language to write the samples in (why worry about inheritance relationships/polymorphism/templates etc when you dont have to :).

Many 'evil' reviewers (heh how COULD you give this book a bad rating) stated that this book focuses on Windows programming too much. Believe me that is a GOOD thing. It is amazing how much code is required just to print the text "Hello, World!" in Windows. The book gives a great overview of the NECESSARY and FUNDAMENTAL workings of the Windows API. You MUST read those sections if you have never programmed in Windows. It does help.

What Andre Lamothe does with the Windows API is build a game shell that handles all the Windows implementation details (messages etc), freeing you to work on game specific details and DirectX. He explains the characteristics of fonts, bitmaps and how Windows handles output using GDI (which leads to why DirectX is faster for games...read the book you'll get it :)

Some people have given this book bad reviews because the code samples are not done in C++ or by using the VC++ 6.0 APP wizard etc. To those people I'd like to say that all the code in this book is EASILY portable to C++. That was part of the fun of this book for me: implementing his ideas into C++ (using ADTs etc, polymorphism woohoo). I challenge those reviewers to show me any SUCCESSFUL commercial game that uses DirectDraw/Direct3D and uses MFC. Can't find any? I suppose they are the same people who think the next great first-person shooter game should be written with Visual Basic...

Also using wizards to create and maintain your code is great but NOT while you are learning a language/API. Wizards and application frameworks (MFC) can hide implementation details which doesn't help you understand the code. I like to understand what I am coding before I let a tool (VC++) help me maintain my code.

When you finally reach the DirectX section you get a clear, focused discussion of the DirectX API. I have never read a book that explained DirectDraw so well. Never.

If you want more of a reference to DirectX just download the DirectX 6.1 SDK and use the documentation provided, or get Inside DirectX, by MSPress (surprisingly good book on DirectX 5)

C is NOT dead. C is a highly portable (though using DirectX negates that =P) language that has seen use in the most popular games, i.e. the Quake line of games.

To summarize,

This book WILL teach you how to use DirectDraw using C. While the book does teach you about DirectInput (great intro) and DirectSound, its main focus is on DirectDraw (how to use bitmaps to make sprites/animation, different special effects etc).

I do recommend that you at least know C before buying this book. You don't have to be an expert C programmer but at least feel comfortable with the language. Understanding how the Windows API works (namely messaging) is also recommended but NOT a requirement (Andre does a great job of helping you here). If you know C++ then you'll probably be tempted to convert his code, I know I was - but I learned a LOT about how to use DirectX from his C code.

If you want to understand DirectDraw (before going on to Direct3D (yikes)) then get this book...

This book does NOT cover advanced topics but this IS a dummies book after all...

For a good reference book, check out Inside DirectX; while not a tutorial it is a GREAT reference on some of the more advanced features of DirectX (especially DirectInput).

Buy his "tricks of the 3d programming gurus" instead3
Based on the amazon reviews, I purchased both this book and Andre's more recent tricks of the 3d programming gurus. His newer and much more detailed book covers everything in this book in more detail.

Both books are definitely excellent tools for learning the basics of game design. Game programming can be extremely difficult due to the real-time nature of the application. Because of this, a good game programmer knows how to write efficient code.

My suggestion to ANY aspiring game programmers is to learn C or C++. C++ is MUCH more difficult to learn due to the added complexities of Object Oriented Design. Get comfortable with dealing with data structures (such as arrays, linked lists, binary trees) because many times efficient code requires efficient management of data.

Once you have a grasp of the language, then move on to Andre's gurus book. The learning curve will be fairly steep at first as you try to understand windows programming, although you really only need to know how to design a basic shell to create a window and handle messages.

Andre's DirectX explanations are usefull, but VERY outdated. DirectX 8.0 marks a vast change in many areas as it seems to be becoming more openGL-like.

I would not suggest that anyone writing a game today use the older direct draw 2D methodology. Instead, you can utilize the added functionality of direct3D and get access to the 3D accelerator and still create a top-view or side-view game that appears 2D. What this means is that you're working in a 3D space (x,y and z coordinates) but placing all of your 3D objects on the x-y or x-z or y-z plane and using the third axis to view this 2D plane.

Get a hold of the DirectX 8.0 SDK from the msn website. Go over the documentation and look at and edit their sample programs until you understand the concepts you want to learn. They provide you with predrawn 3D meshes in their 3D donuts game, which also contains all of the source code.

I'm actually writing my first game now after a long time of researching to make sure I do it right. The game is a simple asteroids like top-down game except that I'm using 3D ships, asteroids and such. I first learned how to render my 3D ship in a window, then learned how to move (translate) it and also rotate it by reading the keyboard inputs. I then figured out how to render a background behind the ship. The next step was to learn how to use directShow to play an mp3 theme when the level started. The next steps will be to learn how to play a .wav file when say thrusting or firing, and then editing the lighting effects of the models and the entire scene.

If you break the project down into small steps, as described by Andre, the task because much less daunting.

One last thing, C++ is definitely going to become a HUGE asset to engine and game programmers. It's portability and modularity makes for easy partitioning of tasks and reusability. Even John Carmack (Doom, Quake)is debating learning C++ as the games are getting extremely complicated over time and reusability could save him a great deal of recoding.