New book on network game programming

Started by
7 comments, last by arrogantgod 23 years, 7 months ago
Hey everyone, I recently aquired a deal with a publisher and am writing a book about network game development. Currently it covers WinSock (UNIX version too) and DPlay. I cover how to write peer-peer games (i.e. Starcraft) and how to write a persistent world game (i.e. Everquest.) All of the code/information to use DirectDraw is included too. What I would like are any suggestions of things you would like to see in the book? Specific examples, topics, etc. I would appreciate any feedback. Thanks, AG P.S. These projects normally take about 9 months, so expect it in 2nd quarter 2001. (I will post info on website soon.)
Advertisement
I would really like to see how to work with sockets in DOS and learn the "THEORY" behind internet programming and not only the theory behind coding a multiplayer game.

-------------------------------
That's just my 200 bucks' worth!

..-=gLaDiAtOr=-..
If you do something different from a "Hey I put the Helpfiles onto a CD, added comments and shipped it as a book", you''ll be rising abov the average already.

Then I would love to see the different types of architecture :
peer to peer, client/server, but also consider the scale of the thing... from a 4 clients / server to a MMORPG server.

Where can we get info on your book ?
-----------------------------Sancte Isidore ora pro nobis !
Awesome man! I''m programming a client-server in WinSock and it''s giving me all hell, so I would love to see that. Also, pleaz make sure if you go through a sample program try and explain everything about you can think of step by step so anyone can easily understand it. I know you may have page restrictions but try to do your best. I hate textbook-style writing. Peace.

******************************
"I do not fear computers, I fear the lack of them"

- Isaac Asimov

Drew Sikora
Napali Networks, Inc.
******************************"I do not fear computers, I fear the lack of them" - Isaac AsimovDrew SikoraNapali Networks, Inc.
YES! That is the kind of book I have been waiting a long time for. For the book, please make sure it has working code examples written in visual C++ and all you have to do is just load them and click on compile and they emmediately compile and then run. And then I will be buying your book.

Also, if you need any reviewers of your book, I would be glad to help you out.


Things I would like to see.
1. Absolute beginer stuff for DP (assume they have an ok knowledge of C++, but next to no knowledge of visual c++).
2. Start off with simple windows programs that just connect 2 computers and they can type messages back and forth.
3. Then build upto more complex programs, and programs that run in full screen mode.
4. Have 2 different kinds of examples, like a Real Time Strategy example like as you mentioned StarCraft, and also a fps shooter example, and have ACTUAL WORKING game examples for these please. The games need not be real games with real features and such, but for a rts, it could basically be a small map where you select a bunch of objects and move them around the map, and they can just bump into the other players objects and bounce off of them. A rts example would show peer to peer, and the fps example would show client/server. The fps shooter would basically be a super simple 3D engine more simple then quake1 where you each player just runs around in a maze and there is object collision detection between the players.
5. Then get in to heavy complex stuff like a massively multiplayer game like Everquest.
6. Have lagg optimizations like using bazier curves to calculate where the player was inbetween the net updates in like a fps (there was an article about it here on GameDev). And have other things on how to reduce lagg and bandwidth usage in a game.
7. If all that isnt enough, then also include voice communications.


Possibility

Edited by - Possibility on August 28, 2000 4:49:30 PM
Thanks for the responses.

BTW, I do start off simple, i.e. two computers connecting and then disconnecting. I then move into the client sending a packet to the server. The next program allows both the client and server to talk back and forth, etc.

So, it does start off slow and only includes what needs to be known. I never have liked examples or books that try to explain something and only clutter it up with garbage.

Keep the comments coming!

-AG
Sounds like a great book from what you''ve said!

As I mentioned in another topic similar to this one, my main interest is the MMORPG client/server model, and getting that as efficient as possible. Even advice on whether TCP/IP or UDP makes more sense for that setting (for example, I''ve heard that if you use UDP and setup some mechanisim to resend lost packets it can be faster, however I have no idea how such a "repeater" would work!). Or code for reading/writing packets into buffers for the event where the entire chunk of data is split across multiple packets.

Also, ways of optimizing the network (I''m mainly concerend with Winsock for now, not so much DirectPlay). Like how one could implement multithreading into the network code (or if it would even be useful), and whether blocking or non-blocking sockets make more sense in a given situation (again my interest is an MMORPG client/server setting).

Finally, if you were feeling brave, anything covering decent ways to quickly encrypt your packet stream so you aren''t sending out vital info like passwords in easy-to-read form, while at the same time not slowing traffic to a crawl.

Any of those things I think would be a very useful area to cover!

Anthracks
One thing to keep in mind is that most people Arent making MMORPGs, and thus your book shouldnt be written just for it as others are suggesting, or you will lose a tremendous portion of your potential customers. I for one could care less about them, hehe.

Possibility
I know already DirectPlay, but I when I wanted to learn, I didn''t find any book about it but Inside DirectX. So you should write a book that starts from the very beggining so everybody would be able to learn with no foundations.
As somebody said before, the most important (maybe) are good and working examples. You can start with a simple chat with all the players and groups features. Finally the best would be example of simple programs to handle different situations (as real time strategy or fps, yes) as well as lobby connections. In Direct Play making the connection and sending messages from a computer to another one is not difficult, what it''s difficult is to handle all the information properly (for sending and receiving), that''s why real examples are very important. You could comment also about techniques used by real game programmers for reducing the data to transfer (dead reckoning and so), just with a few paragraphs and references you can open the eyes of a lot of people.
I don''t know about sockets, but I would really like, so it would be a good idea to add it too.

Where can I get information about the book?

Don''t hesitate to ask me if you want.

egarcia@ubisoft.es
Eduardo García SacristánProgrammer. UbiSoft Spainegarcia@ubisoft.es

This topic is closed to new replies.

Advertisement