Author Topic: "Quake 2" vs Other Quakes's Netcodes!  (Read 10016 times)

Offline Lejionator

  • Full Member
  • ***
  • Posts: 126
  • I AM THE DESTROYER!
    • View Profile
    • My Quake Live Stats!
  • Rated:
"Quake 2" vs Other Quakes's Netcodes!
« on: December 23, 2012, 05:33:28 PM »
hi, folks!

I would like to know how works the quake's netcode. The explanation need not be as technically deep, but something that laymen can understand well. I an explanation of the q2's netcode vs other quakes and its advantages over each other. I remember that the q3's netcode is unlagged q3, as well as of the quakelive, and q1 is not based on tpc/ip. Or am I wrong? Please, this is all very important to me!

Thanks very much in advance, veterans!  :P
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
"Be water, my friend!" (c) Bruce Lee

Offline haunted

  • Irrepressibly Profuse Member
  • *
  • Posts: 10149
  • I am hollywood.
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #1 on: December 23, 2012, 08:16:20 PM »
the tick rate in q2 is 10hz, opposed to q3 being 30hz.. this relates with the delay it takes for inputs to be recognized, and the hert is a measurement of time basically since it equates to seconds^-1 or 1/seconds. So, the shorter one obviously takes longer. this is why you have to lead with rg in q2 a bit even on lan. it makes q2 less aim-based, although there is an art to aiming well in q2 prominently involving prediction. additionally, due to the lack of emphasis on aim in q2, as well as the movement/aerial physics in q2 which are more extensive than other quakes, this in turn puts a greater emphasis on movement in q2.
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline reaper

  • Opulent Member
  • *
  • Posts: 2872
  • Nice night for a walk, eh? - Nice night for a walk
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #2 on: December 23, 2012, 08:50:08 PM »
quake 2 also has the double jump and gaining speed from slopes which makes the movement better.

I don't know much about quake 2 netcode, but I imagine they're all UDP which is contained within the IP packet.  UDP doesn't guarantee transmissions, it just sends or recieves and the application handles what to do.  UDP is used because you want to send and receive the information right away without retransmitting it.

I've never really noticed a problem with it unless there's packet loss, and packet loss is the problem.  probably a lot of problems went away after people moved of dialup, and switched to r1q2
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
VaeVictus "reaper is a lying sack of shit and ragequit then had, probably slugs, come alias and beat me, wasnt even the same person playing OBVIOUSLY, accuracies basicly doubled, and strategy

Offline VaeVictis

  • i was -1 because you fucking suck
  • Brobdingnagian Member
  • *
  • Posts: 4498
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #3 on: December 23, 2012, 09:18:18 PM »
to dumb it down significantly

q2 and qw help you with movement, but not aim, so aim ahead of your target to compensate for delay (q1 even had delay in movement, not sure, never played netquake)

quake3 had some cool unlagged code that was much improved by cpma but takes some tweaking to work great, same goes quakelive

while quakelive is much better than q3 and takes less configuration than cpma, all 3 tend to make you aim BEHIND your target to land shots perfectly (you heard me), i usually use negative time nudge to push it more to even or where im used to aiming in q2 (though not as drastic)

quake4 is kind of like the q3 netcode... but just plays different, not sure what is so different about it, but it aint bad once you get used to it :)


with the older quakes, quake2 specifically, you dont get any bullshit shots... if a rail hits, its obvious to see it hit, in the later games you can get some rails that to your visuals go right through, but as far as the server is concerned can be hitting air... this makes some people happier, where they can actually see what is happening as far as the server is concerned
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline quadz

  • Loquaciously Multiloquent Member
  • ****
  • Posts: 5352
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #4 on: December 24, 2012, 12:37:46 AM »
There's an excellent series of articles delving into DOOM/Q1/Q2/Q3/DOOM3 architecture

The Q2 article doesn't cover netcode in depth:
http://fabiensanglard.net/quake2/index.php

However, Q1 netcode is similar to Q2 if you're looking for an overview:
http://fabiensanglard.net/quakeSource/quakeSourceNetWork.php

Q3 netcode changed quite a bit:
http://fabiensanglard.net/quake3/network.php


:rockon:
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
"He knew all the tricks, dramatic irony, metaphor, bathos, puns, parody, litotes and... satire. He was vicious."

Offline Jay Dolan

  • Swanky Member
  • *****
  • Posts: 644
    • View Profile
    • Quetoo.org
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #5 on: December 24, 2012, 11:18:27 AM »
Nice, quadz. I hadn't seen these before!

Offline Lejionator

  • Full Member
  • ***
  • Posts: 126
  • I AM THE DESTROYER!
    • View Profile
    • My Quake Live Stats!
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #6 on: January 20, 2013, 09:24:04 AM »
the tick rate in q2 is 10hz, opposed to q3 being 30hz.. this relates with the delay it takes for inputs to be recognized, and the hert is a measurement of time basically since it equates to seconds^-1 or 1/seconds. So, the shorter one obviously takes longer. this is why you have to lead with rg in q2 a bit even on lan...

You said that because of the default "low tickrate" of q2, everything in the q2 ambient takes a a bit delay, then I need always have, for example, to lead my railshots even in lan.
The tickrate is not configurable in q2, as in Counter-Strike? You mean q2 will always tickrate 10Hz unalterable. The snapshot is the  tickrate of q3, am I right?

...but I imagine they're all UDP which is contained within the IP packet.  UDP doesn't guarantee transmissions, it just sends or recieves and the application handles what to do.  UDP is used because you want to send and receive the information right away without retransmitting it.

I've never really noticed a problem with it unless there's packet loss, and packet loss is the problem.  probably a lot of problems went away after people moved of dialup, and switched to r1q2

So the default q2 netcode uses the system "send/receive UDP packets". I think the UDP system is old and is no longer used in moderns FPS games of today, right? If the netcode of r1q2 is different, so what is the system used by it?

q2 and qw help you with movement, but not aim, so aim ahead of your target to compensate for delay (q1 even had delay in movement, not sure, never played netquake)

quake3 had some cool unlagged code that was much improved by cpma but takes some tweaking to work great, same goes quakelive

while quakelive is much better than q3 and takes less configuration than cpma, all 3 tend to make you aim BEHIND your target to land shots perfectly (you heard me), i usually use negative time nudge to push it more to even or where im used to aiming in q2 (though not as drastic)...

The "unlagged code" emerged with default q3, right? Theoretically you do not need to aim ahead to hit, but RIGHT IN THE MODEL. But it is frustrating because sometimes you don't hit! I've had these experiences (I'm a hpb also in quakelive)! As theoretically "unllaged codes" works differently of UDP packets system?

There's an excellent series of articles delving into DOOM/Q1/Q2/Q3/DOOM3 architecture

The Q2 article doesn't cover netcode in depth:
http://fabiensanglard.net/quake2/index.php

However, Q1 netcode is similar to Q2 if you're looking for an overview:
http://fabiensanglard.net/quakeSource/quakeSourceNetWork.php

Q3 netcode changed quite a bit:
http://fabiensanglard.net/quake3/network.php

Thank you, Quadz! This was cool, but NOW I need translate it all!  :dohdohdoh:

Thank you for your attention, friends!  ;)
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus
"Be water, my friend!" (c) Bruce Lee

Offline VaeVictis

  • i was -1 because you fucking suck
  • Brobdingnagian Member
  • *
  • Posts: 4498
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #7 on: January 20, 2013, 01:24:21 PM »
most games still use UDP, very few use TCP instead

UDP has much less overhead, making it the better choice

when a UDP packet gets dropped, you basically just miss the data and skip a little, when a TCP packet gets dropped, the data is resent and so it can behave funky for real time applications
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline haunted

  • Irrepressibly Profuse Member
  • *
  • Posts: 10149
  • I am hollywood.
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #8 on: January 21, 2013, 09:30:08 AM »
the tick rate in q2 is 10hz, opposed to q3 being 30hz.. this relates with the delay it takes for inputs to be recognized, and the hert is a measurement of time basically since it equates to seconds^-1 or 1/seconds. So, the shorter one obviously takes longer. this is why you have to lead with rg in q2 a bit even on lan...

You said that because of the default "low tickrate" of q2, everything in the q2 ambient takes a a bit delay, then I need always have, for example, to lead my railshots even in lan.
The tickrate is not configurable in q2, as in Counter-Strike? You mean q2 will always tickrate 10Hz unalterable. The snapshot is the  tickrate of q3, am I right?

Q2's tickrate is 10hz, q3's 30hz, and relatively(relative to these games) newer games you can customize it. So no, you cannot configure it in quake 2. Unfortunately, due to how q2 was actually built, it would be a severe pain in the ass(impractical) to attempt to make it configurable client side.

But, QL for example, I think it's set on q3's 30hz by default yet can go up to 120, if I recall correectly.
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline Jay Dolan

  • Swanky Member
  • *****
  • Posts: 644
    • View Profile
    • Quetoo.org
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #9 on: January 21, 2013, 11:16:34 AM »
Not really. Quake2World's network protocol is still mostly based on Quake2, and I've added a configurable tick rate (default 30, but 10-120 are valid). It actually doesn't take that much work at all:

  • Update server's sleep loop
  • Add the tickrate to the svc_server_info / connect handshake
  • Fix a few odd occurrences in the game code where 100ms frames are assumed (most of the game code is good about explicitly asking for 100ms intervals)
  • Track the time at which key frames change per entity, because you can't simply interpolate from n-1 anymore (you'll end up with really fast, goofy looking player/flag animations)

I think I did all of that in one rainy Saturday.  :lolsign:

Offline haunted

  • Irrepressibly Profuse Member
  • *
  • Posts: 10149
  • I am hollywood.
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #10 on: January 21, 2013, 02:54:45 PM »
I was honestly just trying to recall what you told me jay, thanks for the clarification.
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

Offline Jay Dolan

  • Swanky Member
  • *****
  • Posts: 644
    • View Profile
    • Quetoo.org
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #11 on: January 24, 2013, 08:57:15 AM »
No worries. I just figured I'd chime in since, of the things I've wrestled with in making Quake2 a little more flexible, this was one of the easier ones.

R1CH was also working on a configurable Hz extension for Protocol 35 and OpenTDM. I know he had it working-ish, but I'm not sure he ever released it.

Offline haunted

  • Irrepressibly Profuse Member
  • *
  • Posts: 10149
  • I am hollywood.
    • View Profile
  • Rated:
Re: "Quake 2" vs Other Quakes's Netcodes!
« Reply #12 on: January 24, 2013, 04:43:14 PM »
Yeah I remember testing that for him.. DaHanG thought it was still fairly glitchy in comparison to Q4/QL(if QL was out at that time.. close).
  • Insightful
    Informative
    Funny
    Nice Job / Good Work
    Rock On
    Flawless Logic
    Well-Reasoned Argument and/or Conclusion
    Demonstrates Exceptional Knowlege of the Game
    Appears Not to Comprehend Game Fundamentals
    Frag of the Week
    Frag Hall of Fame
    Jump of the Week
    Jump Hall of Fame
    Best Solution
    Wins The Internet
    Whoosh! You done missed the joke thar Cletus!
    Obvious Troll Is Obvious
    DO YOU EVEN LIFT?
    DEMO OR STFU
    Offtopic
    Flamebait
    Redundant
    Factually Challenged
    Preposterously Irrational Arguments
    Blindingly Obvious Logical Fallacies
    Absurd Misconstrual of Scientific Principles or Evidence
    Amazing Conspiracy Theory Bro
    Racist Ignoramus

 

El Box de Shoutamente

Last 10 Shouts:

Costigan_Q2

November 11, 2024, 06:41:06 AM
"Stay cozy folks.

Everything is gonna be fine."

There'll be no excuses for having TDS after January 20th, there'll be no excuses AT ALL!!!
 

|iR|Focalor

November 06, 2024, 03:28:50 AM
 

RailWolf

November 05, 2024, 03:13:44 PM
Nice :)

Tom Servo

November 04, 2024, 05:05:24 PM
The Joe Rogan Experience episode 223 that dropped a couple hours ago with Musk, they're talking about Quake lol.

Costigan_Q2

November 04, 2024, 03:37:55 PM
Stay cozy folks.

Everything is gonna be fine.
 

|iR|Focalor

October 31, 2024, 08:56:37 PM

Costigan_Q2

October 17, 2024, 06:31:53 PM
Not activated your account yet?

Activate it now! join in the fun!

Tom Servo

October 11, 2024, 03:35:36 PM
HAHAHAHAHAHA
 

|iR|Focalor

October 10, 2024, 12:19:41 PM
I don't worship the devil. Jesus is Lord, friend. He died for your sins. He will forgive you if you just ask.
 

rikwad

October 09, 2024, 07:57:21 PM
Sorry, I couldn't resist my inner asshole.

Show 50 latest
Welcome, Guest. Please login or register.
November 22, 2024, 10:45:12 AM

Login with username, password and session length