Beginning Game Programming, Third Edition
Other products by Course Technology PTR Ratting 3.5 Out of 5.0 Special Offer Total New 29 Use
|
 |
| List Price: |
$34.99 |
| Our Price: |
$18.00 |
| Price Save: |
$11.90 |
| |
 |
|
| Total Price: |
$18.00
at of 2010-09-06
|
|
| Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [amazon.com or endless.com, as applicable] at the time of purchase will apply to the purchase of this product.
|
Buy Low Price From Here Now "Beginning Game Programming, Third Edition" shows budding game developers how to take their game ideas from concept to reality. Requiring only a basic understanding of the C++ language, this unique guide covers all the skills needed to create 2D and 3D games using code written in DirectX. Each element of a game is taught step-by-step, from learning how to create a simple Windows program, to using the key DirectX components to render 2D and 3D, to adding sound to your game. Using the skills taught within each chapter, readers will develop their own game library, which they can build upon for future game projects. And this updated, new edition includes end-of-chapter quizzes and projects to help you practice your new skills! At the end of the book, newfound skills will be put to use as you create your own complete, fully functional game.
Technical Details
- ISBN13: 9781435454279
- Condition: New
- Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed
See more technical details
"Code examples are broken" 2010-06-15By
Nicholas DiMucci (New York)
The code examples have lots of errors which prevent compiling. I managed to fix them myself, but I don't want to be doing that as I read the book.
"Solid Book" 2010-04-03By
D. RobinsonAwesome book. It's so far exactly what I been looking for. I would purchase again. I would recommend to others.
At time of this writing I am on chapter 3 and have worked through all the projects for that chapter.
IMPORTANT!!! this is not a reference book, it's not exahaustive. You should know C/C++ before buying this book.
If you're like me a college student who spent several semester coding in c/c++ and are confident you know each of these languages
then you buy this book get, the basic tools and you play around with them.
Later you buy another book to get the "under the hood" details. Consider how you first learned a programming language did you read the book written by the creators of that language? No you read a intro book and later, you read a in nasty detail of the specifics of that language. Anyway
There are some really, really minor things that bothered me, and a few things I wish the book had
1) I wish that the answers to the projects were included on the CD. I also wish there were more projects, with a little more detail.
2) It's not in C, it's in C++
Dead giveaway, the bool keyword is not defined in C, only C++. Neither are the keywords true and false.
iostream is a C++ standard library, it would not work on a pure C compiler(in fact I'm kind of confused why he used the iostream library and not just string?)
These however are really minor/picky problems and the book is a great primer for those who know C/C++
"It works but, you have to know what you're doing" 2010-01-31By
Enmanuel Toribio (República Dominicana)
I must say... i havent completly read it. But anyway, the book is ok, the author talks not only about the subject but also give advices about working as a game programmer and in the end suggests a lot of books to continue learning.
The reason of the title of this review is because you have to actually have a solid base of c++ wich means that you must have the ability to read and understand code on your own even when the author explains it well because some examples can be a bit confusing if you don't.
"A good start point to DirectX programming" 2009-08-09By
Romoli Giacomo (Padua, Italy)
I just begin to read this book. I must confess that I buyed it for curiosity, but I found it a nice introduction to DirectX programming. It isn't the solution to became a skilled game programmer, but for me it's a step to begin programming under Win32. Until today I just programmed using plain DOS ambient (DJGPP), or Linux (GCC,TCC), without any evolved graphic library or something similar (writing on myself all low level graphic functions). Now it's time to explore this new world...
"Sloppy, careless and thoughtless" 2009-05-06By
J. Phillips (New York City, USA)
I'm taking the rare step of submitting a review of a book when I've only read the first three chapters. I think I have a fair point to make.
This is supposed to be a book for people who are confident in C/C++ but who have no Win32 or DirectX experience. Fair enough. But to be frank it's written in a very confusing style, full of sloppy carelessness and ambiguous sentences which will leave you scratching your head.
For instance, in describing the HINSTANCE parameter to WinMain on page 32, Harbour says:
"The hInstance parameter tells the program which instance is trying to run. For the first instance, you will want to initialize the program (covered later). But if the program is run multiple times in Windows, the general practice is to just kill the new instance (also covered later)."
I have no doubt that this sounds logical and makes sense to someone who is already well versed in how Windows programming works. But to the Windows beginner this just doesn't really make sense. Why would you want to "kill the new instance"? Fair enough, it says "also covered later" but this is the kind of idea that's going to confuse the beginner and interrupt the flow of learning. Why not just leave it all until later Jonathan, instead of confusing the reader with something that is just not going to make sense at this time?
At times Harbour says the most bizarre things which make you wonder if you really want to learn the subject from him or not, for instance:
"In my opinion....a game shouldn't run in a window, it should *always* (without exception) run fullscreen. Do you want players focusing on your game or on instant messages and e-mail?"
So, the guy has some pretty fixed ideas about what a game should and shouldn't be from the start. What exactly is wrong with a game that runs in a window? There are many small games that work well in small windows which serve as a welcome little break from whatever the user is doing on the desktop. What does Harbour have against such games? There is no reason at all why a game should have to take up the full screen. Sure, he's just expressing an opinion here, but it just seems like a pretty strange opinion to express so adamantly in a book the purpose of which is supposed to introduce the reader to the tools with which to express his or her own personal game ideas.
Sometimes the layout of the book is sloppy as if no proof reading went on. For instance, Harbour lists the parameters in GetMessage(). In the final list item which explains wMsgFilterMin and wMsgFilterMax, he adds "The GetMessage call is the most crucial line of code in the entire Windows program!" This sentence belongs after the list, not part of a list item. I know this sounds trivial but it's a lack of attention to detail like this that is liable to make a reader weary about the level of accuracy and proof reading that has gone into a text.
Another gripe comes in the review questions at the end of the 2nd chapter. Question 2 is "What does the hDC variable represent?" I hate to break it to you Jonathan but the hDC variable has not been mentioned in the book yet.
Mistakes like this are inexcusable in a programming text and to be honest I'm sick and tired of spending money on programming books which are full of such sloppy errors even into their second editions. Seriously, how hard is it to have someone (even the author) proof read a book thoroughly from start to finish before releasing it?
One of the reasons I bought this book was I thought that in addition to introducing me to DirectX it would help me become familiar with the basics of the Win32 API like WinMain(), seeing as how most tutorials online do a terrible job of explaining things. Alas, this is no different. For instance, his terrible explanation of the hInstance parameter of his "InitInstance" function on page 45:
"...is passed by WinMain with the program instance that it receives from Windows. InitInstance will check this with the global instance to see if the new instance needs to be killed (the usual procedure in Windows). When this happens, the main instance of the program is set as the foreground window. To the user, it will seem as if running the program again just brought the original instance forward."
If Harbour thinks this is an acceptable explanation to lay upon a beginner Windows programming then what can I say? I'm not stupid, am quite proficient in C and C++ and have no trouble with some pretty advanced concepts. But I know little about Windows programming. And explanations like this are just far too vague and confusing. Where in his "InitInstance" function does he "check this with the global instance"? The code for the function suggests no such action. What is the "global instance" and how does it differ from the hInstance passed to InitInstance? He doesn't say. He doesn't even hint. It's as if he doesn't really care if the reader understands or not.
His subsequent explanation of the "nCmdShow" parameter is just as vague ("common values for this parameter include....")
One of the hardest things about getting to grips with the Win32 API is absorbing and taking in all the various names. To this end, it helps to hint at *why* something like nCmdShow is named as it is. Just a single sentence would suffice! Is that so hard?
And more: he goes on to explain that the functions "ShowWindow()" and "UpdateWindow()" are used to display the newly created window. But after making the technically inaccurate statement that hWnd is "passed to these functions by the CreateWindow function" (it's not - CreateWindow *returns* the hWnd value and the programmer passes it to those functions), Harbour goes onto tell us that UpdateWindow() tells the new window to draw itself, without even mentioning ShowWindow()! Was this book written hastily in an afternoon and published the next day?
Pushing forward, it seems that the book's sloppy and inadequate explanations continue in virtually every section. Next, Harbour goes on to explain his "MyRegisterClass" function which is declared as "ATOM MyRegisterClass(HINSTANCE, LPTSTR)." Thinking that one of the first things he would surely do would be to inform the reader what the type "ATOM" is, I scanned ahead...and ahead....and to my surprise, there is NO mention of ATOM.
Then, he tells us that MyRegisterClass defines a new variable of type "WNDCLASS." Fine. Let's look at the code....oh look, it's actually defined as type WNDCLASSEX. Does Harbour think to explain the difference? No. Does he even care if this causes confusion to the reader? Apparently not.
Some programming authors have a knack of predicting exactly which questions the reader will ask and answering them just as they thought of them. Judging by this book, Jonathon Harbour is not one of them. This is without a shadow of a doubt one of the worst programming books I have read. I note with interest that the "most helpful favorable review" for this book is written by....the author himself, who awards himself a modest five stars. Hilarious.
Images Product
Read more Beginning Game Programming, Third Edition