1433274730 3D Game Engine Programming (Game Development Series) - Game Programming - Books - Books - GameDev.net

Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!

Game Development Books

Featured Book

Top Selling Books

  • You cannot edit this book

3D Game Engine Programming (Game Development Series) ***--

3D Game Engine Programming (Game Development Series) By Stefan Zerbst, Oliver Duvel
Published June 2004
List Price: $59.99, Your Amazon.com Price: $59.99

Amazon.com Sales Rank: 1,519,495
Availability: Usually ships in 24 hours

Are you interested in learning how to write your own game engines? With "3D Game Engine Programming" you can do just that. You'll learn everything you need to know to build your own game engine as a tool that is kept strictly separate from any specific game project, making it a tool that you can use again and again for future projects. You won't have to give a second thought to your engine. Instead, you'll be able to concentrate on your game and the gameplay experience.

Similar Books:

Buy it now:



  • You cannot edit this book


I am fortunate enough to be lectured by Stefan Zerbst and all I can say is that he explains things really well, and knows what he is talking about ! I have also been fortunate enough to have seen screenies from the engine and level editor that you get to develop in this book. The screenies are amazing !

You get to develop a deathmath FPS style game by the end of the book !!

I have placed my order, having lots of material by stefan zerbst from gameversity ( ie, his first book ) I know what to expect, and I know this will be a gem !

I give it full marks !!
Very well done.
Deux - What's with this "reviewing book before you even own them" junk?...you did the same thing on amazon and its BS.

Unlike Deux here, i DO own the book and I can tell you now that it leaves ALOT to be desired. The sample code takes alot of work to get it to compile, and then when it does...it crashes. Code is left out of the book, topics are glazed over, tons of information is missing...and lest I forget my person favorite...in chapter 3 when he talks about his enumeration class for 1/4 of a page with none of the code. His explanation of the class breaks down to "I don't want to be botherd explaining this to you so you can just go try and figure it out from the broken source code on the CD, have a nice day!"

I don't mind authors expecting alot in terms of fore-knowledge with books like this one, but I REALLY object to being expected to read minds.

Anywho - there isn't alot (anything) in this book that you can't get from a more general text on C++ programming style / technique and a good book on DirectX. And you'll get more from those then this book, do yourself a favor and stay away.
I was really excited about this book when I first saw it advertisted on the course ptr site among other sites. I read the table of contents for the book and the whole description of the book and it sounded amazing!

One of the catching advertisements and overview the book had was that by the end of the book you will have created a 3D Deathmatch Multiplayer Shooter. First of all, I have had the book and the code has yet to run on my computer, or even compile for that matter and I had tried for hours. And for that reason, this book lost a lot of merit.

This book was practically just translated from the older book he wrote in german and shipped out to the USA just to get more money not caring about any quality or anything consumer related. A lot of the translating is off and a lot of the wording I could never understand. I know translating texts and books is no easy task but I'm sure they could of hired someone to help.

The other bad thing about this was that the engine developed was already developed the code was pretty much, "see how I do it, you do it this way too". He didn't explain a lot of things in which he should of like the enumeration section cause it was thrown upon you. There were many other disadvantages to the book, but it did have a couple good points.

The beginning introduction of the book was good with describing development and publishing of the game, but pass those first 20-30pages, the book just falls. I would sure hope a second edition of this book could be made sort of like "Jonathan Harbour" did with "Game Programming All In One". He took the general outlook of the first edition and re-created the book with the same mindset but with a different approach and much better code and examples.

In some way, 2 stars could be too many....
When I first saw this book as an "upcoming title" and read the description of the same, I was amazed!

So, I took a step forward and pre-ordered it.. Big Mistake..

It's around $40 actually (I haven't seen this book sold at it's supposedly "original price" of $60). Anyway, that's too much for this book.

What I found of help inside this book was... The first 30 pages (Introduction) and some stuff of the 4th chapter, which deals with calculations and some assembler code. Probably also the CAD tool, but not too much...

He even says "the complete code of this chapter is not written in the book, you can check the CD-ROM to see how is done". Unless you want to pay that much for some info on assembler and videogame's "business". Don't buy it... (Well... this also taught me to wait for books to be reviewed first and then buy them instead of rushing)
It comes as no surprise to me to discover that the below "reviewers" consist mostly of sparse users of Gamedev who ask question that could be categorised under the heading "Beginner" such as How much percentage of syntax in DirectX programming should I remember?. Just take a look at their profiles...

There is no denying that this book is aimed at the intermediate to advanced level programmer. I would say mostly at the advanced level. The author uses interface programmming techniques to seperate the engine from the applications that use it. He puts the engine network module, rendering module, sound and music module and user input module in to their own Windows DLL files and details how to connect them together with your applications.

The author uses DirectX 9 with programmable shaders for his rendering module, Direct Input for his user input module, Direct Sound / Music for his sound module and WinSock for his networking module. The point is that they are interchangable though so if you are more comfortable using, for example, OpenGL for rendering, then you can write and OpenGL rendering DLL that uses the same functions as defined by his interfaces. If you can write cross-platform code then you could make Linux .so (shared object) files that do the same thing.

You must know your chosen APIs inside out to progam an engine. If you don't know how to enumerate your rendering device's modes and feel that being told to look at the code on the CD is a hard task then you shouldn't be writing a game engine. This is not a DirectX book.

As for the books translation, anyone who understands the english language should be able to understand what is going on. Only a few times did I need to re-read some sentences to get what point was being made (because of say a word with a letter missing). The author has a straight style and interjects with some humour and, on the whole, is pretty enjoyable to read.
Anyone who buys this book will have to visit www.stephan.zfx.info/3dgep.html. This site addresses the issue of the compiling problem we're encountering in the first chapter with code,chapter 3. There are also a couple of fix-it downloads for later chapters.

On page 61, the 'caution' section should be taken seriously by anyone with Windows. I have XP Pro with VSC++6. Yet I had to mess with the 'export' code as the caution suggests. Using the workspace from the disc, success will come sooner if you remember to compile the dll first, and then the render library after the code is changed appropriately. These newly compiled dll and library files then need to be copypasted into the directory where VS can see them when you finally compile demo.exe.

The chapter 3 code will compile, after you've played with it, and the program will run - immediately crashing. It complains about a kernel/code error from Windows followed by a dll/load error.

If these programs will run, I may never know. I hope the authors will make revisions and provide all of it for free on their fix-it site.

There's still alot of room out here for anyone planning to write a game engine book based on DirectX or even OpenGL. I think this book has potential, too, enormously. But this edition just isn't it.
I think the book is quite good. I like the ideas (interfaces) discussed in this book. The author goes over a lot and even gives new 3D model format and explains it usage. I have never really been able to find a decent tutorial on MMX or 3DNow! Stuff for my computer but now, in this book I did. It has seemed to fill in a lot of how and questions that I’ve had before. It also gave me a lot more knowledge to play around with. As a hobby game programmer, I think this book rocks!
I consider myself an "experienced-beginner to intermediate level" game programming hobbiest. I have been teaching myself game programming from several books on DirectX programming. I started with DirectDraw and have moved to Direct3D and Shader programming. I have no affiliation with the author, publisher, or anyone else that would taint my view.

This book is one of the very few true INTERMEDIATE level game programming books. It does not deal with the simple how-to's of enumeration, texture modes, what is a view frustrum, etc... There are a ton of beginner books and articles on these individual topics.

What this book does extremely well (that I have not found anywhere else) is tie all of this beginner information together into a game engine while also addressing the "next level" of game programming questions such as device independence, using DLLs, assembler level optimizations, GPU bottlenecks, and implementing shaders. I found this to be perfect for the beginner-moving-to-intermediate.

While laying out the basics of game engine design the book provides a nice introduction to the more advanced topics that I found to be too complicated to dive into in books suchs as the "Game Programming Gems Series". (I am looking forward to revisiting that material armed with this introduction).

I couldn't give this book a high enough rating. I found it to be excellent. I find some of the reviews of the book humorous, because they are pointing out exactly what I found to be so appealing about this book....it is for intermediate, not beginner and not advanced programmers. There aren't many of those out there.
I agree entirely with tscott1213. Great book! The game programming market has been in desperate need of something like this for quite a while.

This book actually deals with issues such as using dlls, implementing shaders and assembly optimisations that most other books shy away from or gloss over before declaring that such topics are not within the book's scope.

By using dlls and the concept of interface classes, Stefan makes you think about portability issues. How many professioanl engines do you think cater for just Windows and DirectX? Not many. Most will support OpenGL and Linux too.

This book has made me feel like I have progressed to the next level of game programming. I would recommend it to anyone in search of more than the basics.
I initially dismissed this book based on reviews but purchased it after finding a copy at my local book store, it covers many aspects of Game engine design and structure in much more detail than anything I have read yet. It does not teach you DirectX as there are plenty of books out there already that do this.

Apart from the source code which will compile with a little bit of time and the updates of the website, and one or two issues that could be explained better the book gives an excellent foundation for a more professionally designed game engine.

One would assume that enumeration of Direct3D Devices would already be understood and implemented previously by the readers this book is obviously targeted at as this is beginner level Direct3D programming. It is the beautiful middle between the introductory stuff and the advanced techniques I have been looking for.

The only reason it doesn't get 5 stars is because the book with a little more time and thought could have been better maybe with one or two extra chapters for an introduction to the more advanced stuff. I don't consider myself a poor programmer but it helped me to look at the structure of an engine from a completely new perspective and I will not look back.

Boy is 3D Game Engine Programming a ponderous tome. Its 841-page length will virtually guarantee that you'll be reinforcing your bookshelf before you can bring it home. And the depth to which the book covers its subject guarantees that you won't be finishing it over a weekend. If you're looking for a book aimed at newbies, this ain't it. Around chapter four, most books are just hitting their stride, having dispensed with the typical chapter 1-3 introductions and pleasantries. In chapter four, 3D Game Engine Programming is covering Intel Streaming-SIMD processor extensions. This is definitely not the book for the feint of heart.

The bulk of the book covers the creation of ZFXEngine, a complete game- engine with support for 3D graphics, sound, networking, and input. The engine's designed around the Direct3D way of doing things, but there's not much in the graphics engine that's specifically locked into Direct3D. Since you’ll mostly be working above the "throw triangles on the screen" level, being fluent in openGL won't hinder you too much.

Only (heh, only) the first 440 pages of the book are concerned with the graphics engine itself, going from the basest triangle-arithmetic all the way to animating characters with bones. The next 1/4 or so of the book covers input (DirectPlay), networking (WinSock/Berkeley Sockets), and sound (DirectMusic). Following that, 3D Game Engine Programming goes briefly back into graphics territory with scene-management, BSP's and octrees, concluding with about 175 pages devoted to making a fairly extensive 3D level editor with the sexy name of PanBox-Edit.

And, having built all of that stuff into your game engine, if you can't make a reasonable 3D game, then you need to adjust your career path.

Seriously, 3D Game Engine Programming is undoubtedly the most complete coverage of game engine programming I've thus-far found. Game engines as they're released today are pretty wide-ranging things, with support for graphics, sound, input, and networking. 3D Game Engine Programming is the first book I've found that gives enough coverage to all those parts that I feel I could actually write a game from the contents of the book.

Also, as an additional "plus", the ZFXEngine is an ongoing open-source project. Unfortunately it's an ongoing open-source project in the author's home country of Germany. If you're one of those English-only types, you might have a difficult time wrapping your head around the latest release.

I'm baffled and suspicious of the unadulterated praise in a couple of reviews. The information in this book has been pretty good so far, I'll admit I haven't finished it yet, but I have to say I don't like all the side commentary. I don't care about the author's favorite band or how he spent most of his time in the German army confused about his role. I do think the book has substantial potential, but the style of writing seems like each chapter should start with "Dear Diary...".
This book really perquisite intermediate experience using C++ in windows programming and I can say for those who complained about the CD source code that you simply needed the code not the engine design.

I agree with those who said that this book targets 'INTERMEDIATE level game programming' and beginners will suffer some how to get all the concepts.

I give the book 4 stars not five because of the only mistake the author did in chapter 3 about the enumeration class, well the author could still don't get deep for a specific API but at least discuss the required functionality from this class so that the reader can code it himself without refer to the CD.

Finally, this book integrates very advanced topics together without getting detailed in such topics (like CLOD algorithms, scene management, camera movement controller and collision detection requires tons of pages to be explained) but this book put them under one umbrella and show the way for how they affect each other and except chapter 3, the book is great.
Superb book, fills a void in the book market that's been there for far too long.

I own a lot of books, and I mean a lot, none of them however have ever given me the info I really needed - how to design a truly abstract engine. This book fills that hole and explains it perfectly, what's more it taught me more than I even expected to get - it taught me assembler level optimizations using SSE, 3DNow and such.

If you're done with playing around with DirectX/OpenGL and want to finally put them to proper use and build that engine you've been dreaming off then this book is the one to go for, it really does teach you a lot.

Not all the source code being correct on the original CD was a shame but it was no real problem seeing as the site offers fixes to all that and it's certainly nothing so bad as to be worth deducting points from the book for. At the end of the day the source code and book are enough to give you a general idea of what needs to be done so any semi-competent programmer should be able to write their own information very easily from the information provided and that's what counts (to those who reviewed the book originally further down - try being more than copy and paste programmers and you might fight the book more useful).

It as has been stated here a book for intermediate developers not beginners but also as has been said here it outright excels in that area and leaves other books standing.

I totally recommend this for anyone who wants to know how to build a well optimized and well structured engine as it does the job perfectly.
This is a great book, i even did not understand part so i emailed the author and he has helped me alot, we had a nice chat about the overal thing. If you want to code a 3d engine this is the book to get, it is great.
Great book. Thoroughly recommend it for all those interested in engine creation.
This book is an excellent source for someone who has already delved into 3D Game Programming, and has a good understanding of the kind of math and calculus that goes into game programming.

This book is NOT for beginners.

This book doesn't deliver on it's promise to give you a working 3D action shooter called Pandora's Legacy. They lied on that one, and it doesn't look like they're sorry about that either.

Comments like "you should have known", and "you just don't know enough about directx or <insert various other aspects of programming here> are not going to help anyone either.

To all those who stumble and choke at various points through this book, I'd suggest signing on with a mailing list, or buying other books on the topics you're having trouble with. Zerbsts leaves a LOT of detail about what's going on behind the scenes out.

The disparation between the book and the CD is such that, if you didn't know what was going on, you'd have to have two instances of Visual C++ open, one with the books workspace, and one with your own workspace, then follow along in the book and rearrange the code according to the book, and also take heed of all of the little warnings and instructions in the book that tell you to do this or that for certain parts of the engine. Sometimes things aren't included in the book, but the CD shows you how to set up certain files so that they will work properly.

Having said this, this book DOESN'T claim to be an all-in-one type book. If you want to know some good programming techniques for a game engine that will give you a flexible, extensible (sort of) design base, this is it.

Instead of thinking about what this book isn't, one should think about what this book is. We already know that it isn't a great instruction book, it doesn't hold your hand, and often leaves you asking why. It is, however an excellent resource for the design of a game engine. It really shows you how an engine could be built, but not really how to build it.

I think the book would be more aptly named "3D Game Engine Design" than it's current title. That way, none of the programmers could whine about the fact that it doesn't really teach you how to program... it just shows you the code. You already have to know a LOT about all of the aspects of game programming before you get into this book.

It's not good, but it's not bad either.

I think the main thing that knocked it down from 4 stars for me was the fact that it seems like what many people are complaining about is the fact that they feel misled.
exellent book.

It doesnt really matter that it leaves some stuff out because you can just read the top quality code on the cd and figure it out.

This book doesn't spend time stating the obvious, it gets right down to business and every page requires close attention.

Dont rush through it, take your time and make sure you understand everything as you go along.
An excellent, excellent book, I purchased it over the holiday season and am 1/2 way through the CAD section (Chapter 14). It is a very intuitive book with a small introduction to assembly in there for optimisation purposes. I didn't even know that C++ could incorperate assembly into it until I read that chapter. There a quite a few people who don't seem to like the way that the source code isn't pre-compiled and you have to work (horrors) for it to run. I went ahead and compiled the end chapter as soon as I recieved the book and then thought that this is what I'm going to aim for in my next project. I have never understood the concept of matrices until I read this book, as well as OBBs and AABBs. It is an amazingly good book for anyone making the leap from 2D RPGs and Side-scrolling platformers to the 3D realm. There are, however, a few spelling errors (then again, who can't in a 800-page tombe) which occur only at the beginning and wane towards the middle section. The style of writing is playful and entertaining, something that is probably needed for the length of the thing.

All-in-all, 5 stars.