🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

How does Quake's Net Code work?

Started by
1 comment, last by Edwin Park 22 years, 11 months ago
crap. i wrote a huge post and the submission crapped out. here i go again... but shorter. Anyone know a site where I can learn more about the Quake source code? I''ve downloaded the GPL''d code, and can''t understand the sparsely commented source. Or perhaps someone here can answer some questions on how Carmack wrote the net code? For instance, did he use blocking, nonblocking , or asynchronous sockets? Did he use threads? How does he handle Game Timing? (game speed, framerates, cpu speed, object movements, etc?) PS: I''m halfway through MPGP by Todd Barron. Not bad. I only wish it were more technical and focused more on network code involving nonblocking/asynchronous sockets and threading. Seeing lots of Direct Play code really irked me. A deeper analysis on what guys like Sweeney and Carmack use in their code would have been great. This should be feasible, since alot of source code is out there. (I hear you can get the Tribes source code for $150, which supposedly has great net code) I don''t want to design my net code only knowing just the very basics, only to poorly reinvent the wheel. If anyone can reccommend any other books that give insight into how games like Quake and Unreal are designed, I''d appreciate it! Thanks.
Advertisement
Hi Edwin,

Unfortunately, the Quake source code is the best place to look to see how they implemented that particular game. You are correct about the Tribes engine costing $150 through garagegames, but I am not sure the low-level code comes with it.

Sorry about not having more sockets information in the book, too much information too little time. If you read through the DPlay sections though you will find information about threading, sychronization, and other things. Most of the information is transferrable no matter which API you use. Once you understand the basics of network game coding, you should be able to apply it to any system/API.

Let me know if you have any questions, feel free to email me directly.

LostLogic
www.lostlogic.com
Author, Multiplayer Game Programming

LostLogicwww.GamerOutfit.comXBox 360 Community Games Reviews and NewsExisled - 2D/3D Shooter for XBox 360

The V12 engine from GarageGames comes with all source, including the network code. What they did was take out the Tribes 2 specific-code only and what is left is a fully-featured game engine.

Steve ''Sly'' Williams  Code Monkey  Krome Studios
Steve 'Sly' Williams  Monkey Wrangler  Krome Studios
turbo game development with Borland compilers

This topic is closed to new replies.

Advertisement