- Paperback: 496 pages
- Publisher: Charles River Media; Pap/Cdr edition (19 Jan. 2005)
- Language: English
- ISBN-10: 1584503637
- ISBN-13: 978-1584503637
- Product Dimensions: 3.2 x 19 x 22.9 cm
- Average Customer Review: 3.7 out of 5 stars See all reviews (3 customer reviews)
- Amazon Bestsellers Rank: 1,430,737 in Books (See Top 100 in Books)
- See Complete Table of Contents
Programming Mutliplayer FPS Direct X (Game Development Series) Paperback – 19 Jan 2005
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Customers who viewed this item also viewed
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
If you are a seller for this product, would you like to suggest updates through seller support?
PART I THE ENGINE 1 1 Engine Design 2 Framework 3 Engine Control 4 Scripting 5 Rendering 6 Sound 7 Networking 8 Materials and Meshes 9 Objects 10 Scene Management PART II THE GAME 389 11 Foundations 12 Players 13 Weapons Appendix A: About the CD-ROM Appendix B: Competition
About the Author
Vaughan Young (Queensland, Australia) is an experienced C++ and DirectX programmer. His degree in IT is complemented by further studies in software development, focusing primarily on game development. Currently, he operates his own software development business, producing and managing software solutions. On the side he maintains his own Web site (www.coderedgames.com) dedicated to his passion for computer game development.
Top Customer Reviews
The book goes through the processes of creating a surprisingly good engine, most importantly it's very modular, and easy to integrate new components. Topics are covered which will serve you well for many other programming projects, such as finite state machines (for things other than AI), linked lists, resource management, and so on.
It's a good idea to be at least a little familiar with Direct3D before reading this book, as the 3D rendering side is pretty detailed, and goes into some really cool techniques like occlusion and octrees. A really handy trick this book teaches is how to use 3DS Max as a level editor.
I'd say this is a very good introduction to multiplayer, it covers DirectPlay pretty well (including critical sections, it's vital to learn about concurrency sooner or later) using the peer to peer model. Once you've got the hang of what's in the book, you can go on to implement a client-server model, client side prediction, lag compensation, and maybe even use sockets instead of DirectPlay.
Finally why I think this is the most important game programming book out there (or at least that I've ever read), it covers the importance of using an iterative/evolving design process. Believe me when I say that is an extremely important lesson to learn, and this is the first game programming book I've found that teaches it.
And to kind of reject what the other critic says this does not teach how to make an iterative game, okay it uses a .lib instead of building one .exe but .libs are only used at compile time, so it would you would still have to release a new .exe every time you think of adding a new feature (the way to get around this is to create a .dll which included at run time). I tried to get code examples for the DirectPlay for months and couldn't find anything but I would say that this is a good introduction into how it should look I guess, I dove straight into sockets, I lost myself pretty quickly and implementing sockets in this engine is awkward at best because you can't send structs through a socket only string messages.
As I said this is an okay book but I wouldn't suggest it to anyone who is jut starting out, maybe for someone who has a firm grasp on the C++ and some DX code, but then you might be disappointing by the lack of code coding as I was.
Most Helpful Customer Reviews on Amazon.com (beta) (May include reviews from Early Reviewer Rewards Program)
One caveat though, even though the book is fairly simple and not exactly taxing (a tribute to the author) it is certainly not a beginners book. You should already be fairly comfortable with C++ and DirectX 9 to get the most out of it and be prepared to study the source and MSDN documentation (a good habit to get into anyway).
The book covers most of the major parts of a FPS engine at a reasonable level, resulting in a well designed, modular engine that can be expanded on quite easily. The main value of the book, however, is the design of the engine which should help a lot in developing your own engine (since most books cover the therory in exhausting detail but ignore the overall engine design - if you're looking for detail, this may not be the book for you).
After reading this book, the following books may be useful:
1. Introduction to 3D Game Programming with DirectX 9.0 (excellent intro to DX9).
2. 3D Game Engine Architecture : Engineering Real-Time Applications with Wild Magic (nice and detailed - I recommend all David Eberly's books).
3. Real-Time Rendering (doesn't get better than this).
4. Game Programming Gems (buy all of them, now).
The book does have some drawbacks though. I feel that the actual game that is built in this book is embarrasingly bad. The networking system, rendering system, user interface, and everything else about it are bare-bones functional, but certainly not good enough that you'd want to encorporate them into your own game. I suppose that the thought is that you should first learn to build a Yugo before you learn to build a Ferrari, but personally I'd rather just learn to build the ferrari right off the bat :) Oh, and why must the graphics suck so badly? I realize that it doesn't necessarily impact the goal of learning the various topics, but seriously, how hard would it have been to at least provide a decent character model, or some decent textures and lighting and so forth?
One last thing. The book assumes a familiarity with C++ and to a lesser extent with Directx, so if you are brand new to either of those, the book will be pretty challenging to follow.