Programming Role Playing Games with DirectX w/CD
Jim Adams


Compras Nikon
Bluetooth
1 Buyer Beware
This book is alright, i bought this book some time ago, but one thing is this. ITS NOT FOR NOOB. you need to know a good amount of C or C++. if not then this is not for you. now that i go back to it, its not so bad BUT!!! code is sloppy and not really that great, i suggest buying something else if you are a noob.
2 The best book I've found on this topic by far
I had a specific objective in mind when I bought this book. I'm in the process of writing a hobby level multi-user RPG for me and maybe up to a hundred or so other players (not many hundreds or thousands). I have a solid background in C++, less so in DirectX.

I've bought many books on game programing to help me with this process and to my surprise I've found this one simply amazing while most of the others I've found to be little more than expensive doorstops. :)

Like all the books of this nature, I read it in very much a "pick and choose" manner, focussing on chapters I liked and extracted code from the CD for places where it helped me. I found the material covered and, more importantly, the code representation of that material to be extremely helpful in my coding process.

I believe the tips and code the book provides (which all compile and provide very reasonable and practical applications for the ideas demonstrated) saved me (literally) hundreds of hours of research (not to mention trial and error) finding methods that work and work well and covered all of the core componenets I would want in a role-playing game. It covered multi-player over the internet, 2d and 3d rendering in directX, how to construct combat, spells, chat, and inventory systems and a variety of other items.

Naturally, I had to do a lot of customization to make the game do what I wanted it to do and I had to merge several of the ideas discussed into my own framework (for example the multi player network section is covered more or less stand alone where clearly other parts of the book need to be integrated with it to form a real game), but the result is I have a basic game up and running in a fraction of the time it would have otherwise taken, which no other book has ever really brought me.
3 Great book, despite some of these reviews!
It amazes me that people post reviews stating, "Don't buy this book," or "3 stars (but should be less in my opinion)," among many others, because the book doesn't have the quote un-quote "advanced" information they were looking for. According to one reviewer this "advanced" information he was looking for was "a non-Final Fantasy type combat system." This book TEACHES you the IDEAS behind how game programming works, with an emphasis and examples on ROLE PLAYING GAMES. What's the most popular type of role playing game? Final Fantasy type. If you are an "advanced" game programmer and this book didn't help you, then you should be able to use your own knowledge and program your OWN combat system. It seems like you were looking for a book that offered the solution (combat system) that you wanted to cut and paste into your "advanced and superior code." For those that want a book to help their imagination grow and problem solving nodes start firing away after seeing some real-life examples, this book is for you. If you want to buy a book that contains code you are just going to cut and paste into your own source, then you're right, this book is not "advanced" enough.
4 Finally a good one from Prima
Prima Press has the merit of being the first company to heavily invest only in publications of game-programming books.. I find that game-programming is one of the most fascinating and well, fun
area of programming and CS in general.. so any effort in this direction is welcome to me.. but I have seen too many titles from this publisher who were too superficial to do any good, or just plain rubbish. This title stands out for the professionality and competence of the author and for the level of detail and completeness of presentation. If you are a programmer with decent C/C++ skills, a curiosity about how games like Diablo work, and a LOT of patience and enthusiasm for game programming by all means get this book. It won't enable you to write the next episode of Diablo or Dungeon Siege but still if you work your way through it studying carefully the text and especially the code presented, in the end you will know enough to create a small
2D/3D adventure game on the diablo style.

Beware this book is thick and dense, and will take time to absorb but you cannot help it if you want to learn something interesting and enjoyable about game programming.
The second edition is coming out, probably updated to the latest
release of DirectX, so watch out for it!


5 Good Book, not for beginners
This book is very helpful, but this book is not intended for the absolute beginner. You should know at least the basics of either C or C++. Other than that, it does a fairly good job of laying down what you need to know, and how to go about doing it.
6 Not for advanced programmers!
I rate this book with 3 stars even though my own personal opinion of it is somewhat lower. As has been pointed out in previous reviews the books does cover a lot of ground and leaves you with a complete mini-game. That's why the book might be good for newbie programmers who are looking for an example of how to write a rpg. And that's what earns the book 3 stars in my review.

I just want to stress something that the other reviewers haven't mentioned - this book is *not* for experienced programmers who are working seriously on their own rpg already! It cannot be used as a reference on how to implement those things you haven't done yet because the book tries to cover so much that it only presents very specific solutions for all the topics. There is only *one* type of combat covered for example, and that's a FF7 style turn-based combat. If you're planning for something else this book will be useless for you on this subject. And the same can be said about all the other topics: item management, engine design, level management, automapping, AI etc. Each topic is quickly breezed over and then a specific solution is presented. Take it or leave it. In my case I didn't take any of them...

So in summary: Might be interesting for newbie rpg programmers who wants a guide through an example rpg. But any experienced programmer should leave this book alone!


7 Good, I think
Okay, about a year ago I read through the whole book, but didn't spend anytime coding. I thought to myself wow this is an excellent book it teaches you DirectX and how to make rpgs.

Now forward to about 2 months ago, I started to actually code up some of this stuff. I began coding some DirectX graphics. Wow, this was a very painful experience. The first thing I noticed was that the book's code was slightly different from the source code on the cd. The problem I found with this is that the author tells you in the book to use this code, but when you check the actual source code it's different. However, I'm not blaming the author here since he tells you in the book that it is a whirlwind tour of directx. So if you plan on picking this book up to learn directx, expect a lot of pain. You will have to spend lots of time going through the directx documentation learning about materials and other graphics concepts. The book simply doesn't do a good enough job on it. This book also tries to teach you how to use meshes and how to animate them in about 20 pages. Let me tell you, you will not learn how to animate meshes in 20 pages. The author tells you that you should look in his source code that he's commented very well. I did and I'll tell you what I found. I found that all the code he wrote to wrap up the directx api was equal to the amount of code he wrote to make the meshes work. To make the meshes work is about 3000+ lines of code. Plowing through this is ridiculous (now there's a book about meshes he's written). I think the original intent of the author was to have you use his code and for you not to program your own, but my objection to this is that you have to understand the theory behind it before you can even use the code. I know that I didn't know enough theory from his book to make meshes work. I'm sorry this is a giant rant, but this is the lessons I want to pass this on to you:
-Have the hardcore nature to read through lots and lots of code.
-Learn DirectX before you use this book since it is the foundation for this book.
-Know data structures such as linked lists since the author uses them frequently.
-Know Object Oriented Programming since all he uses is classes.
-Have a lot of time since this book will take years to master.
-Have lot of money since you will have to buy other books to supplement this.

Something I feel that is really misleading about this book is the user level beginner/intermediate. This is not a beginner book! As a computer science major soon to be a senior in college I still can't get through this book since I don't know enough, and I'm an A-B student.

Well, one of these days hopefully in about a year or so I will finally get to the actual rpg programming aspect of this book.


8 Jack of All Trades....
But Master of None. Still, this is one of the better books I've read in the Prima Tech series. It starts off with the game development theory, introduces programming concepts, gets nitty-gritty with the game core, and then offers some other advice.

I agree with what the other reviewers said. This book moves FAST. What other books in the series does in 5 paragraphs this book does in about two sentences.

What I didn't like was the fact that it really glossed over some of the advanced DirectX graphics stuff, like multitexturing. That shouldn't be too much of a problem though if you pick up another DirectX book, but it would have been nice had the author included it here.

If all you want to do is to make simple RPGs this book comes very close to being the all-in-one that you are looking for. However, game engines are rarely just bunch of written functions. If you truly want to get into heavy RPG programming, you'll need to learn Windows Programming to develop your own level design tools.

Each segment has enough detail for light work and simple projects, but if you want to get more in depth there are entire books written on those topics, and I highly recommend you get them, as well as OpenGL and OpenAL books.

After finishing this book, you'll gain the knowledge of RPG development, but to seriously use it for profit, you'll need the more advanced books that I hinted above.


9 Great book! For Windows Programming and RPGs
Great for learning Windows programming and starting to build your digital worlds.
10 Fan-freakin-tastic book! Great price to knowledge ratio!
It might be early to write my review. I am only 250 pages into the book (1/4). I already feel I have gotten my money's worth, so now is as good of time as any to comment.

If your trying to choose either an opengl or directx book, I strongly suggest that you buy this book and learn directx. I have been using opengl for a short while, mainly because it seemed easyer to use (even though I would have rather learned directx). That's not the case with this book. The author explains the material in a way that makes directx easyer to understand. Even some opengl issues that were unclear to me have been cleared up with this book.

Overall, the author does an incredible job of explaining the material. I am 250 pages through the book and understand every bit of code. I don't think I've ever been happier with a programming book. I can't put it down.


11 More sloppy and overrated
I just want to say that I am amazed at the shining reviews for this book. I guess Jim Adams really *does* have a few loyal friends.

The first thing you'll need to do upon buying his book is install the DirectX SDK off the CD. I should mention that the DirectX version is 8.0, and it may poop out half-way through the installation. If it doesn't, don't fret, you should be installing DirectX 8.1 from Microsoft's site anyway. Then, download the DX 8.1 updates from his less-than-impressive web site. Sound like a hassle yet? Read on.

As others have mentioned, the first few chapters are a complete waste, as Jim hops on his creative high-horse and gives tips on how to make a plot -- imagine this -- multi-layered and interesting. Gee. Thanks, Jim.

Then he goes into a superficial overview of C++. Why, I don't know. If you're a beginner at C++, his whirlwind tour isn't going to help you make sense of anything. If you're familiar with the language, he's only stating the obvious. But the part I found to be unbelievable (but sadly true) is that he spends a good deal of time talking about how GREAT classes are, then doesn't even bother to use them for the first 10 chapters of examples. He uses structures in his examples, contradicting his own advice, then applies pressure in Chapter 10 to use his GameCore for all your programming efforts.

He weaves snippets of code between concept overviews, which always end in him saying, "See, it's that simple." But very seldom does his code work as printed. You can expect your compiler to maul you with error messages when running his code, but after weeding out his sloppy mistakes (type mismatches, lack of header/library references, etc.), you may actually get a working program.

This book is the perfect example of an author undergoing an identity crisis: meaning, he couldn't quite identify his audience. Perhaps it's not all Adams' fault... the book should clearly identify the skill level for which it is intended. Regardless, there is no excuse for the number of errors, oversights, and assumptions made in this book -- nobody should have to read someone's work and discern what's accurate and what isn't.


12 Great book
This book is excellent to start learning graphics and directx and a nice transition into creating your own game.

Very nice intro to C++.

I am looking forward to the new book by Jim Adams.


13 Awesome book
I don't have many books about programming, but this one is awesome. You've got whirlwind tour to all aspect of directx before learning about rpgs. This book is a good one to start learning directx. Buy it!

Here is the TOC:
Chapter 1 - A World of Role-Playing
Chapter 2 - Exploring RPG Design Elements
Chapter 3 - Story-Writing Essentials
Chapter 4 - Starting with C++
Chapter 5 - Programming with Windows and Application Basics
Chapter 6 - Drawing with DirectX Graphics
Chapter 7 - Interacting with DirectInput
Chapter 8 - Playing Sound with DirectX Audio
Chapter 9 - Networking with DirectPlay
Chapter 10 - Creating the Game Core
Chapter 11 - Using 2-D Graphics
Chapter 12 - Creating 3-D Graphics Engines
Chapter 13 - Mixing 2-D and 3-D Graphics Engines
Chapter 14 - Implementing Scripts
Chapter 15 - Defining and Using Objects
Chapter 16 - Controlling Players and Characters
Chapter 17 - Working with Maps and Levels
Chapter 18 - Creating Combat Sequences

Chapter 19 - Getting Online with Multiplayer Gaming
Chapter 20 - Putting Together a Full Game
Chapter 21 - Marketing and Publishing your Game


14 A masterpiece
This is definitly the best game programming book focus on direct x,I have ever read.
What I have most appreciated is its perfect balance beetwen theory and practice.
Jim Adams explains the basic of Direct x 8.0 without scaring the reader with too many details...straight to the core, we must not forget that the graphic API is just a tool for a game programmer.
you must not be a direct x guru, to write a game.
It make also an extensive use of the the D3DX library.
Why should we waste time with a bloody theory if MS provide a so advanced library for the most important and common tasks?
Same consideration for the 2D and the 3D graphic engine.
Although they are probably the most advanced game engines now available on the market ,at a semi-professional level,no even one word is spent to inform the reader ,how a smart programmer the author is...just the content of each class and its use, nothing more , nothing less...just meat.
But the most valuable part of the book are the , say , "Tricks of ..." In other word all those technics that are a must for a game programmer.
For example ,there is one whole chapter dedicated to the use of the "scripts" or to "Data structure " etc.
No other game programming book , as far as I know, even mention so important topics.
Last a complete game is supplied.
Jim is a moderator of the GameDev.net, the most important comunity on the web for game programming.
He can rely upon a huge list of FAQ'S, so he knows what a beginner \ intermediate programmer really needs, better than a professional game programmer.
My favourite book for opengl is "Opengl game programming ", also a masterpiece, also written by GameDev.net moderators
15 Just Great!!
Every single thing you ever wanted to ask in game programming is there may i need to say more!!!
16 Best Game Programming Book I've Found Yet!
This is the best game programming book I have found yet, and I have a collection of them to say the least. Its a thick book, but its worth it. It goes into details most others leave out. Some have spoken down on the fact that it starts off with story-writing but, it is about programming role-playing games, and that is a pivotal part. =) Anyway - GREAT BOOK!
17 Great book, good buy for intelligent game programmers.
OK, first off, I have not been fond of Lamothe, or the PrimaTech series in the past. Everyone knows by now that you can get most of the information in the older ones straight out of the DX docs. I almost totally built my first 3d engine in this way, straight from reading through the DX docs and looking at the samples. Now, that is where I find this book shines. I had a few things that I needed some extra help on that are not well documented elsewhere, and I found it here. Advanced topics such as collision detection, skinned meshes, and more are all here.

I will admit, I will probably never read the entire book. It covers the standard n00b stuff that no one wants anymore. What it DOES provide is a valuable reference book and samples to look at when I run into a problem. It covers pretty much all aspects of game programming, and they can be applied easily towards other types of games. (I am actually using certain things from it for my FPS).

So here's the lowdown: Great book, some useless stuff, but there actually is USEFUL stuff. I'd buy it if I were you. Advanced topics are there, and the author does a good job with them. The other books you should look into are Multiplayer Game Programming (by Todd Barron), which is not bad, but could be more advanced, and I hear Isometric Game Programming (by Ernest Pazera) is good, and what I have seen seems good.

All I can say is, of all of the game programming books i've seen, this one is #1! All of the samples are excellent, and work. The final game, The Tower, is impressive for a game created for a book, although i'm sure expert programmers could improve it quite a bit.


18 Best I've read so far
The book delivers as promised. By the end of the book, you have a full working RPG mini-game that should help any developer get past the beginning stages. This book doesn't do everything for you. It puts you on the map. If a reader takes the time to understand the given code and READ the book, there will be gains to be had.

The author does go into some basic ideas at the front of the book, but I don't feel the technical material covered is enough to completely educate a pure novice and is too simple for an intermediate programmer. Although ineffective, I don't subtract from my review ratings for additional information.

I felt the author's technique was pretty well thought in this regard however. Someone reading the book finds the foothold where they first understand everything easily. This allows the author and reader to find the common stride needed for the reader to move forward.

There is some issues with the book code that had to be solved, but the author has a website with all the changes. The big problem is more Microsoft's fault rather than the author's. The book was released with DirectX 8.0 and the MS team decided to change a few things with DirectX 8.1. Not to worry, the author has updated his entire book code with an easily downloadable patch.

In Summary,
Best book I've read so far. From Graphics, Sound, Networking, Input and much more, this monster of a book will make you a better game programmer if the time is spent with it. (Beginner to Intermediate C++ knowledge required. A small trip through the DirectX SDK tutorials a plus.)


19 Great book for all game programmers.
This is a great book for anybody thinking about programming RPGs... And even if your not going to I would at least try to take a peak at the book and think about buying it.

First off the book assumes that the reader has a through knowledge of C programming and that you have some experience with coding. And has, like the rest of the series, quite a few pages devoted to C++... (The best thing with this book is you actually make a rpg game following the book and it's practices!)

The first part of the book covers what is role-playing, desiging role-playing games and some basic story-telling. The Jim covers basic programming with C++ as well as some engine architecture that is different from most other books - ex. Tricks from the Windows Game Programming Gurus. It introduces concepts like state managers, process managers and data packages - some great stuff for programming big games. The third part covers basic DirectGraphics concepts ("a whirlwind tour", according to the author). The code does the job really well and the concepts are well-explained.

After that the book covers information about DirectInput and DirectSound, the chapter on DirectInput includes information on programming joysticks, and other information in the book includes: wrappers for Direct3D, DirectSound and DirectInput, and followed by that, octrees and quadtrees, 2d tile engines, mixed 2d/3d engine, collison detection and so on.

The only problem I see is some of the real super newbies will see the book go at a fast rate... It has great explainations but he does move fast. And the author likes to leave out the obvious - so you have to pay attention in the beggining or you'll be turning pages back into the book to see whats up.

Basicaly, pick up this book if you are starting DirectX, pick up the book if you plan on crreating RPG games. The book is great, you'll have a working RPG game after going through the book, you will learn alot about DirectX and storytelling at that! 5 Stars.


20 buy it now!!
a must book, talk about every thing , the code is in C++ and easy to use it. he made a good core library helps you to make an rpg games with dxgraphics,Dinput,Daudio and the cool thing Directplay, the book use directx8. and the cool thing i think all love it is Make a simple game, he made a complete game using the rest of the book. Buy it now and buy Trics Of THE WINOWS GAME PROGRAMMING GURUS.IF U WANT TO MADE A COMPLETE GAMES FOR ALL KINDS. THANKES JIM,ANDRE'

...


21 Great book!!
I'm an experienced (6 years) C/C++ and windows programmer. Over the past two years I have been focusing on learning game development. This is the first time I have EVER reviewed a book.

What an amazing book! I read this book cover to cover over a weekend and am preparing to go through it again at the computer. It answers a lot of questions I've had concerning game development that weren't covered in other books.

Sometimes the author mentions things that there wasn't room for in the book (It is a huge book already), but guess what? It is all in fully commented code on the CD. That is not even mentioning the fact that the author has a web site where he is posting new ideas, updates, and other examples.

This book gives everything the "Programmer" needs to get a solid foundation to an RPG going. This includes developing tools and scripts to assist you in your game development.

I'm giving the book 5 stars because that is what it deserves. The book does include some rudimentary introductions to C++ and Windows programming that could have been left out (or just put on the CD), but that's for me, and I don't take away points for including information. This book is great for people who are having problems with 3D concepts such as Vectors, Matrix Math, Transformation Matrices, etc. This book by far teaches these better than any other source I've found.

Like I said, I can't wait to go through this book again!


22 The best out there so far.
This book is simply amazing considering what its competition is. Get this: all of the source code COMPILES, every single example!

The first 4 or 5 chapters are a waste. They cover things like "how to write stories" and basic C++ concepts. These subjects should be in their own book, plus it would take 150+ pages off the size of this monster.

The marketing hype on this book holds true, you can make a full "game" with this one! You still need to put the effort into turning it into a real one, but it's a very good start.

I give it 4 stars because the author's programs all run in a window instead of full-screen. The book should also be around 200 pages shorter.



Thursday, 20-Nov-2008 08:58:30 CST
Quote of the Day:


The tree of research must from time to time be refreshed with the blood

of bean counters.
-- Alan Kay

Intellect annuls Fate.
So far as a man thinks, he is free.
-- Ralph Waldo Emerson