Compras Nikon Bluetooth |
Windows programs, networking, multiplayer games all interested me. This book helped me understand all the above.
I like the amusing comments, cartoons and the way the book is styled. It keeps me interested and never bores me.
Overall a fantastic read and I personally, learned a lot without the pain, maybe not for the super-advanced programmer, but great if you havn't been doing C++ for 20 years.
I am currently about 2/3 of the way through the book and I have been typing out every program example... This has done wonders for my comprehension and understanding of the material. I would recommend this book for anyone who is new to programming and may not understand some of the more advanced concepts (such as operator overloading), but I think it would be good even for intermediate level as well... A great book all-around...
Great guide to both windows and game programming.
BUY THIS BOOK IF:
-If you have basic knowledge of at least one other programming language (preferably C/C++ or JAVA).
-If you want to begin programming games with DirectX but do not know where to start (this book only focuses on DirectX).
-If you like the theory of an example explained first, and THEN the fully commented and explained source code.
-If you want to learn the basics of Winsock.
-If you want to learn more about Windows programming (primarily without MFC).
-If you like having two complete games to work towards and loads of source code that actually compiles!
-If you like your books written in a very informal tone with plenty of humorous one-liners and the occational off-topic rant (which I finds makes the reading of this book extremely enjoyable and rarely dry).
Being a senior in college with basic VB & JAVA programming experience, this was exactly the book I was looking for. It helped me make the transition to VC++, learn more about Windows Programming, learn DirectX, learn Winsock, and learn Multiplayer Game Programming all in one shot! If you're looking for complex specifics on multiplayer gaming, this is NOT your book. If you're looking for an intro on the COMPLETE PACKAGE then buy this book NOW!
My favorite part about the book is that it teaches you everything you need to know to get started writing your own games. It even covers 3D, sound, and input. I know what you may be saying "I already have books on that stuff," but trust me, this guy makes the topics super easy to understand. In fact, I like this book for 3D, sound, and input better than all of my other DX books combined!
The writer also covers an introduction into MMORPG databases using SQL, server balancing, and much more.
5 Stars all the way!
Sample code is amazing! It all compiles, and even though it IS often duplicated, it is a very helpful approach to including code samples, because when he dulplicates code, he bolds changes in the code so you can sort of see the code being built as he walks you through it.
Intermediate C++ experience is reccomended. This is an API book, so you gotta know the basics before coming into it. Personally though, I like a book to explain things to me in detail. Even if I KNOW the material, review is always good, and I find myself nodding with familiarity when reading some of it. Barron's tone is very relaxed, and comical at times to help the read go quicker (it's pretty thick). In the end, you'll have created two online games, a peer-to-peer game, and a server-controlled game (for MMO games).
In Short: Easy read, and covers much more than Multiplayer Programming. All good stuff.
Since another reviewer has already gone on to say what is *wrong* with the book, let me hit this with a different angle and suggest what I would think would've have made this book (at its size) outstanding:
1. More chapters on pure Sockets code. Peer to Peer. Client/Server. Additions on support for NAT/Firewalled clients would be nice (maybe an advanced chapter). Less on "chat" clients and more on game-related network communications (ie The Tic-Tac-Toe example should have been a complete, working application w/source on the CD, instead of "alluded to" in the book.)
2. More information on TCP vs. UDP, why online games mostly use the latter. Code that examines these issues.
3. More problem solving with multiplayer issues. Code that deals with latency. Code that dynamically handles server dropping (ie assigning one of the clients to be the new server).
Mostly, I was looking for a lot more source code looking at complete, yet simple games using networking in multiple formats (real-time, turn-based, etc). Instead, I felt a rush from pratically no knowledge (basics of send/recv) to almost instantly dealing with MMORPG architecture (!!!) A little unbalanced, at best.
If you never programmed multi-player oriented, that book is for you, it is clearly explained, yet not simplistic either.
Definitively a good book.
The multiplayer concepts are made easy to follow and I had zero problems with any of it.
This is a very special read, buy it!
Chapter 1 - The History of Online Gaming
Chapter 2 - The Technology of Online Gaming
Chapter 3 - Introduction to Network Communications
Chapter 4 - Sockets Programming
Chapter 5 - Sockets Programming with C++
Chapter 6 - Introduction to Windows Programming
Chapter 7 - Practical Windows Programming
Chapter 8 - Introduction To Direct Play
Chapter 9 - Writing a Peer-to-Peer Application With DPlay
Chapter 10 - Writing a Client-Server Application With DPlay
Chapter 11 - Introduction To DirectX Graphics
Chapter 12 - Adding Direct 3D To Your Games
Chapter 13 - Inside Direct Input & Direct Audio
Chapter 14 - Space Pirates, Your First Complete Game
Chapter 15 - MMORPG Design & Implementation
Chapter 16 - Writing The RPGQuest Game Server
Chapter 17 - Writing The RPGQuest Game Client
I must say it is the most complete game development book I have ever read. The multiplayer development information starts off at the lowest level of connecting to another computer using sockets and works you all the way up to connecting games together over the internet to play with your friends.
With this book, I have updated my projects from school to include network support and 3d graphics. It has been invaluable to my development efforts.
If you don't have this book, or are looking for a source to get started with DX 8, you need to buy this one.
I also liked the parts about Direct Sound, Direct 3D, and Direct Input. The sections on those topics were medium-lengthed but to the point and provided lots of useful information. I really like how the author shows you each step to initializing the various Direct X modules with minimal overhead. Unlike other books that give complicated examples or even worse, incomplete examples, this book does not falter. Every example easy to follow and gets the job done.
I highly recommend this to any hobbyist or aspiring game developer.
The drawback of this book, was discovered later on(when I had a bit more experience with game-programming) looked at the SpacePirates and RPGQuest to get some ideas about how to set up and control DirectPlay.
First of all, he uses the server in RPGQuest to do a form of collision-detection :).
Second, the server is polling for packets without delay, which results in 98-99% CPU utilization.
Third, he talks a lot about that no matter what framerate, all players should be able to move around in the scene(s) at equally speeds. He allso give examples on how this should be done. The only problem, is that it doesn't work :).
The plus side of this book, was that he gave us 2 games with full source code, that compiled without errors.
Personally I think if you are a beginner at game-programming, this is not a bad buy. But, don't take all things in the book to seriously. Sometimes it's smart to make your own conclusions.
When implementing a multiplayer game you can use a client-server or peer to peer architecture. Peer to peer results in more connections. And you might look into using sockets or DirectPlay, but you'll need to buy a different book to really understand what is going on...oh and with mmporpg applications you'll have to worry about zones and server boundaries, but how to solve those problems is left as a exercise for the reader!
I also like the simplicity of the in-book examples. Take for example the chapter on DirectSound. Instead of bombarding you with complicated examples, they are broken into simple ones such as: loading a sound, playing a sound, playing multiple sounds, etc. The best part is that at the end of the book, the author brings all of the simple examples together and forms complete games out of them. I really like this approach.
Three thumbs up!
Everything I needed to know to get started was included. Topics such as packet queuing, multithreading, and synchronization had eluded me before. Luckily I bought this book and now understand how to implement them.
If you program in Windows, use DirectX, and want to learn how to make your games communicate over the Internet or LAN, I highly recommend this book.
I also liked the sections on 3D programming. They werent too long and gave me a good understanding of the material. I don't know why some reviewers say it should be called Windows programming. It does contain information on items other than network programming, but there are 12 chapters devoted to networking and only 5 to other information.
I highly recommend this book to anyone who wants to get started with multiplayer game development.
On the other hand, the author seemed to believe that the word multiplayer will describe the book's contents well. I don't think that's very fair, because you won't find any solutions to real problems on multiplayer game development. When you are looking for such stuff in this book, you will find importnant chapters like Network Synchronization, covered on one complete page!
All in all you might like the book if you want to learn some DirectX programming, but if you would like to learn language independent multiplayer game programming, there is not much this book can do for you.
This book covers everything I was looking for about DirectPlay. It teaches you peer-to-peer and client-server development. I very much liked the included game code.
Another good thing is the exclusion of Windows pop-ups when using DPlay. All of the DirectX SDK examples have annoying pop-ups that are not desired in full-screen applications. This book shows you how to avoid those pop-ups.
Now that I have read this book, I finally understand why Direct Play is being used more and more. It is so easy to use now with version 8.
I like the fact that most of the code is covered in multiple areas. Since I tend to jump around a lot when reading a book, it helps me from missing something.
I have seen some other people complain about lack of sophisticated content and do not agree with them. I found information on synchronization, packet-loss, UDP, and other topics. Some of the super difficult stuff is not covered, but what do you expect, it is not for someone who already knows about multiplayer development.
I really like the fact that the author gives you two working game examples to follow. I have already modified the SpacePirates code with many additions.
I recommend this book to anyone who needs help getting started with DirectPlay.
I was already trying to code some examples using the DirectX documentation as a reference and reading some articles from the Gamasutra's web site and others popular game development sites.
I think of books are way to save time (and money) by not reading tons of specifications and trying to code every idea without knowing if it will work or not.
I'm desappointed with this book, because the only thing it does is talking about Windows programming and DirectX. Multiplayer games are mentioned somewhere in the book, but I don't remember where.
I recommend this book to anyone that does not know how to program a game, and want to get something done with the DirectX API. Also it is a good introduction to DirectPlay since the documentation of the DirectX sdk is practically inexistent.
However, in general it does not explain nothing in deep: Sockets programming is a shame, do not try to learn about sockets with this book.
Network programming concept appears as late as in chapter 4 or 5. He tries to write a chat program in about 4 chapters, but I don't see the "multiplayer game" concept as late as in chapter 9.
The game synchronization techniques, scalability and bandwith saving techniques I was spected to see in the book are not covered. I spected to see some implementation on dead reckoning, time prediction, quadtrees for scalability, etc, something that helps me to get started faster but he don't talk about nothing of that. He stop as soon as he make a game works (ie "communicate" with other players).
Also he dedicated a whole chapter about sound programming and DirectInput which are useless at all. A chapter about Direct3D is dedicated...about to how to setup D3D and how to use it, not how 3D techniques can help to reduce bandwidth by not receiving messages from players that you don't see because there is a wall in front of you in the game :(
Instead of calling this book "Multiplayer Game Programming" I think I must be called "Introduction to Game Programming using DirectX".
My conclusion is that if you want to make a "real" multiplayer game, this book is not for you. :(
The mixture of levels of experience expected for this book is a little odd - I mean, most people have made a couple of games before they jump into multiplayer programming. However, if you're looking for a book to help you make your first a)windows program that uses b)DirectPlay or Winsock to have c) multiplayer functionality and don't know how to d) make a basic game engine, then this book is the book for you. o_O
Although I have a fair bit of programming experience, I'm new to C++ and even newer to client/server programming. I've been digging through page after page after page of code from open-source games and other assorted game projects, and mostly getting swamped. This book and the CD with it saved my sanity.
After an overview of the field, it starts out with the simplest communication examples, and then builds from there. By the time you get to where you're putting the code to practical use, you thoroughly understand what it is, what it's doing, and why.
Todd Barron's friendly, programmer-to-programmer style made it much more enjoyable than the dry-as-dust books that you have to soak in water for an hour before reading. I emailed the author with a few questions, and had an answer the next morning. The answer I needed, I should add.
If you want to not just learn but understand the essentials of writing a multiplayer game, this is the book to start with.
Pros:
Easy to read and understand
Has quite a bit of good information and history
Definately good as a reference book
Covers DPlay and Sockets
Covers D3D, which i believe is nice to have even though it doesnt pertain to the multiplayer end.
Great service, I emailed the author and he emailed back. Can be quite a useful thing
Cons:
The code is poorly documented in many spots. While it is explained afterward, it would be nice to have a lot more comments. (which is something that Lamothe does quite nicely in his books)
Not very much ACTUAL GAME SERVER type code.. I've practically read over the book already, and while I have a general idea of how I will get this going, I feel more like i'm adapting chat programs to make my game.
Not enough on sockets... The sockets information was just too vague to me.
The DirectPlay information seemed mostly like pasted information out of the SDK Documentation. Honestly, the reason I bought the book was because I didn't get what was in the documentation very well.
And lastly i'd like to see more information on actually obtaining and setting up your server for a MMORPG. Things like security, what type of connection to get and how to get it etc.
Well, the cons seem bigger than the pros, but its really not like that. Just be warned that there are only about 200 or 400 pages out of this 800 page book that really focus on the issue of writing your server. Really, i'd like to see a sequel that really delved into the advanced issues, and really layed out things like sockets.
OK well finally, i'm glad I bought this book. I enjoyed it, and still am. It's a good book definately, and the perks of it are nice. I just feel like I want more, and there is nowhere to get it as of now. Based on this book, I would buy a sequel if it was put out. If I had it to do again, i'd buy this book again. Enough said, if you want to program games, buy this book. It's one you need on your shelf, as well as "Tricks Of The Windows Programming Gurus", and your most MOST important resource, the DirectX SDK. Because most of these books out today are just people who read and interpret the samples from it, and just print em out in a book. I learned most of the stuff from the SDK.
This book is the first one I have ever read that covers tons of information about Direct Play and making games for the Internet. It's all there: Peer-to-peer, client/server, custom packets, packet queues, synchronization, etc. Even 3D is made amazingly simple to understand.
Before reading this book I didnt much like Direct Play. But after seeing how DirectX 8 uses a completely rewritten DPlay system, I am now an advocate of it. DPlay is amazing! It has almost everything you could ask for in a communication API and much more. On that note, I never would have realized how cool DPlay is if I hadnt read this book. The SDK documentation does not come even close to explaining it like this book does.
Now that I understand the core of Dplay, I am hoping that Advanced Multiplayer Game Programming will be released. One reason I cant wait is that the author answered my email questions very promptly. Other authors could learn from this guy what customer service should be like for all tech books.
Sure, I have read many articles posted on the Internet about this topic but none of them seemed very complete. This book starts you with entry level information and then takes you through the entire process. Nothing is left out, its great.
Take for example the sockets code. Instead of starting you out with a complete chat program, he shows you how to connect/send data/receive/etc. in simple little programs. Then, you are shown how to bring it all together. The same holds true for the Direct3D information. Everything starts out simple and then gets more complex.
Another item I see overlooked quite often by other authors/readers is the inclusion of an actual working game. This book includes two games that are fully working! I have read way too many game dev books that never deliver with a working game, this book does not suffer from this ailment.
Now, there is some information not covered, some of the super advanced items are not here. But heck, I wanted to know how to get started with Internet gaming, not how to tweak my existing engine. I hope the author comes out with another book, I can't wait.
Great book if you are interested in writing a game with Direct Play and DirectX 8. The sockets sections were good, but I prefer DPlay and this book covers it well.
Two thumbs up!
One of the things I like is how the author shows you the code for a program and then walks you through each piece line by line.
C++ is used but it is kept fairly simple to keep things understandable. One pitfall I find in other books is that they teach you some custom C++ class objects that the author uses. That type of code is not for me. This book does it properly by showing you the basics and building upon them until you get to the final chapters and write a game.
Highly recommended!
It is true, some of the code is duplicated throughout the book, but I would have been confused otherwise. I would rather have too much code than too little. The sections on Direct3D, DirectInput, and DirectSound are some of my favorites from any book as well. I have read other books dedicated to these subjects but none of them made the subject matter as clear as this book does. Sure, the book is about network communication, but graphics and sound are part of gaming too.
Did I mention the book includes a couple of working games as well? Its amazing how many gaming books fail to include working games; thankfully, this book does not let you down. I recommend this book for anyone who wants to learn how to incorporate multiplayer support into their games or projects.
1) A history of Multiplayer games is important but it should be shorter and I don't need reminiscing.
2) Its fine to have DirectPlay but skip the whole sockets thing if your not going to explain the important/relevant parts such as UDP.
3) The book has major fill. Redundant code listings fill a lot of the book. Having C and then C++ versions of the same code was a huge filler. If you want to provide that then put it on the CD.
4) I don't need a course on 3D graphics thanks. Thats another book.
5) Skip the C++ course also. The author is likely new to C++. A statement that C++ has shorter compile times is off the wall.
6) Visual C++ course could be left out.
7) Having DirectInput only and since most of the book talks DirectPlay maybe "for Windows" should be in the title?
Its a good book, I recommend it for anyone interested in multiplayer programming. And it goes through the building of a complete multiplayer game.
Its a good book, I recommend it for anyone interested in multiplayer programming. And it goes through the building of a complete multiplayer game.
I like it that the programs start out easy and add complexity as you progress through the book. Finally, there are Direct Play examples that don't use Windows interfaces! The coverage of the major DirectX 8 components alone makes the book worth it. One of my favorite aspects of the book is the inclusion of complete games. I can't count how many books I have read that talk all about game programming but don't actually include any complete game code examples.
I strongly recommend you add this one to your game development collection.
No people are all bad, just as none are all good.
Tecumseh, (Shawnee) to his nephew Spemica Lawba 1790
I have a box of telephone rings under my bed. Whenever I get lonely, I
open it up a little bit, and I get a phone call. One day I dropped the
box all over the floor. The phone wouldn't stop ringing. I had to get
it disconnected. So I got a new phone. I didn't have much money, so I
had to get an irregular. It doesn't have a five. I ran into a friend
of mine on the street the other day. He said why don't you give me a
call. I told him I can't call everybody I want to anymore, my phone
doesn't have a five. He asked how long had it been that way. I said I
didn't know -- my calendar doesn't have any sevens.
-- Steven Wright