Compras Nikon Bluetooth |
I had been hard pressed for a couple of weeks to find ANY information in or out of books on 2D game programming with directX. I was excited by this book, though mildly worried that it didn't say anywhere that it incorporated DirectX. I bought it anyway, and after an hour of looking through it discovered that the author avoided DirectX because of the "steep" learning curve.
I currently hate this book. Its a waste because, while two years ago before I even knew what a graphics library was, this kind of book would have interested me. I've already had experience in game design with pre-built engines and so I wanted to create my own engine and use it to finish a game. This book won't help me do that. At least not a high quality game. Its an interesting read for anyone completely new to games programming, but not for anyone aspiring to create even a high quality 2d game.
This book still gets three stars because it was really my fault for not knowing that it didn't use DirectX. Its well written, and covers its subject matter pretty well. I think that the author fails to realize that probably most programmers will understand the value of DirectX and will probably pass this book up for a similar one on DirectX.
I can say at this point that 2D game programming with DirectX is such a sought after subject for a book or online tutorial for me that I'd pay a hundred dollars for said book. Actually before writing this review I did see another Sam's book with the same name + "with DirectX" so I guess I'll be checking that out.
I do have this to say in closing. This will be the first time that Sam's has disappointed me. And only because I didn't spend enough time to discover the book's entire content. Also, I am 17 and I still feel that this book is too useless to be the kind of help I'd hoped it would be. I needs my DirectX and so I probably won't even start reading this book. However, I have nothing but praise for books like Sam's Teach Yourself C++ in 10 Minutes. If you want to learn C++ then check that delicious bit of literary goodness. That's all.
To start with, this book is not for complete newbies into the C++ language but it shouldn't be. I hate a game book that spends half of its pages teaching you how to program C++. If I wanted that, I'd go back to school and take another C++ course. It also doesn't throw all the theory and math on you like some gaming books out there that are better left for writing a PHD thesis. No, this one is easy enough to follow but also assumes you already have working knowledge of C++. It digs into building a game engine from the ground up, and uses all that knowledge to build gradually more fun and interesting 2D games. It really opened my eyes to many little new tricks I can use to build my own games like the sprite manager and animation. If you guys can't compile the games, I think you still need to have better knowledge of C++ before you tackle this one. I had no problems compiling all the programs using Microsoft Visual C++ 6.0, and although there was a problem or two (due to the fact that the book was written in 2002 and some windows functions used in the book have changed since MSVC++ 6.0), I still found a way to fix them and get them to work. Now why didn't I give it the 5 shining stars then?
Well, first of all it is a 2D book, and it does not use DirectX. So we can use it to build primitive games, but come on, how many companies out there don't use DirectX. Like for example, there is no maximize button in all the windows the book creates, because then the different resolutions can mess up the game. That's where directx comes to your help. Also the sound libraries used are very primitive. PlaySound is not useful in mixing 2 sounds at the same time, and there were some games in the book that sounded weird because of that.
The other thing I didn't like about the book was how the text had lots of bugs in it. Like the text does not actually map one to one to the code on the CDs. But if you are not picky and a little alert, it's not a big deal. Anyway, a couple of emails to the publisher and a 2nd edition will fix that.
My final pet peave was that in so many cases, I was begging that the author would go in detail about the subject, but he would say, "this is too complex, but what I'm providing you is very good". I want some of that complex stuff too. Like I wanna know how a scrolling background works (Many adventure games use it like "Broken Sword"). My knowledge is not complete without it.
But overall, I think the book taught me many new things I didn't know, and although I won't be able to go write a commercial game out there by just reading this book, I can really put that knowledge with the knowledge from more advanced books to use.
I hope Michael Morrison will consider writing a DirectX book version of the Game Programming book, with 3D graphics, and the more "complex" stuff which were missed in this one. Even if the book costs double this one, I'll be the first to buy it.
Currently tripping on "Declaration syntax error" in a resource file. Argh.
So if you prefer keeping track of pointers, extra classes, and the (to me) confusing C++ syntax (part of the "Game Engine" in this book), then get this book. If you prefer a book that covers the same content as this book, keeps the code in C, and also covers DirectX and is more comprehensive, get Lamothe's Game Programming Gurus book Volume 1 (Lamothe Volume 2 covers Direct3D and 3D math/physics as well).
In short, there is no need for a "Game Engine" as this book describes. It might make things "easier" in the long run (as I said I'm new to game programming), but the code (to me) is less readable. All you need for every game is to copy and paste Lamothe's basic game code, which is (for example)
LRESULT CALLBACK WinProc... etc // your Windows Procedure
int WINAPI WinMain... etc // your WinMain
{
GameInit(); // initialization function for your game
// enter main event loop using PeekMessage()
while(TRUE)
{
// is there a message in queue, if so get it
if (PeekMessage ...) etc...
{
} // end if
GameMain(); // your main game loop
} // end while
GameQuit(); // final cleanup and quit goes here
return(msg.wParam); return to Windows
} // end WinMain
// GAME CODE STARTS HERE //////////////////////////////////
That is basically all that is required. No need for a separate and complex "game engine." The code in Lamothe is much more readable. For example, see the "Outpost" game and source code at the end of Lamothe's book Volume 1. A much better game than anything in Morrison's book, its kept in one source file (except for the DirectX stuff), and the code is more understandable.
Phil Porvaznik
fundamentals of game programming. After studying this
text, if you want, you can then move on to algorithms,
data structures,3d-mathmatics and other game wizardry.
I highly recommend Sams Teach Yourself Game Programming
In 24 Hours.
If you're like me you read everything in the bookstore,
in the computer gaming section and end up purchasing
too many books.
Unfortunately, all books are not created equal. So, to
save you a little time and fustration, read the list
below for what I think are a few fundamental c++ and
game programming text currently on the market. I know
that "Stroudstrap" wrote C,C++ and parts of Unix, but
brilliant programmer does not always translate into
great author;(personal experience).
These are excellent books are for absolute beginners
and soon to be Gurus:
1. C++ How to Program (Fourth Edition)Author: Deitel
It's not a "fun read", but it covers all of the
fundamentals inside and out.
Do yourself a favor - Get it!
It covers everything. After reading this, you will not have a
need for Stroudstrap, (unless you want to "get fancy and show-
off".
2. Programming Windows (Fifth Edition) Author: Charles Petzold
Fundamentals again. Teaches how to write code for a
window,how to write bitmaps to the screen,blitting,
color palattes...
Everyone has it,it's an easy read, get it.
Rector is o.k., but he's talking about programming
for windows apps and using MFC (isn't that a fried
chicken franchise somewhere)? skim and read through
it several times,you'll see what I mean. "Corporate
will never understand the creative"!
3.Tricks of The Game Programming Gurus (Second Edition)
Author: Andre LaMothe
After completing cs101,cs202,cs303 of the above listed texts;
this book should "in a perfect world" culminate your learning
while matriculating through the virtual world of game
programming.
Game Programming Gurus covers all of the information in the
previous titles, but it covers "real world code". If you have
dreams of becoming the next "Great Programmer", you will use
all of the information in this book. Much unlike many of the
corporate college courses you've probably completed.
"Not that (it)'s anything wrong with 4 years".
This book covers algorithms,2d,3d,direct x,gdi,COM,sound,...
After reading,then (studying), these four texts I think that you
will have confidence and ablity to accomplish anything!
Yes indeed,
you'll be able to exclaim,
with a complete and popular domain,
without sounding insane,
"Yes! I Got Game".
Does it make a 2d and a 3d game engine or does it only talks about 2d game engines.
The society which scorns excellence in plumbing as a humble activity and
tolerates shoddiness in philosophy because it is an exalted activity will
have neither good plumbing nor good philosophy... neither its pipes nor
its theories will hold water.
It is only with the heart one can see clearly; what is essential is
invisible to the eye.
-- The Fox, 'The Little Prince"