ESReality - Where Gaming Meets Reality
  • Site
  • Text
  • Media
  • Games
About | Contact | Guide | Filters
Users | Preferences | Search | FAQ
News | Forums | Columns
Journals | Articles | Polls | Wiki
Files | Galleries | Demos
Events | Coverage | Movies
ESR Shop | Betting Fixtures
Not Logged In | Login | Register
09:53 CDT - 852 users online

ESR Discord Channel
Live Streams
no live streams found
Scheduled Listings
more...
Other Q3 threads
  • Quake Strike v0.82 (1)
  • Quake 3 Arena different scoring arbitering system (3)
  • Blast from the Past - Q3/QL anniversary reqapartament "rat" (0)
  • Proper network settings for Quake3e in OSP (1)
  • Quake III Arena Turns 25 (8)
  • Spiterbot Version .50 RC9 (0)
  • ctctf5 and ctctf_ctf2 (10)
  • Quake3 Remake (51)
  • John Carmack plays Q3 (141)
  • Has anyone tried this OLED monitor? (14)
more...
Latest Threads
Latest Comments
  • News Announcing FPS Cup 03 – Quake 3 Defrag Tournament (3)
  • News QL LAN Stuttgart 2025 (13)
  • Image Rapha playing his group games (127)
  • News QuakeCon 2022 (162)
  • News Frazer "Fraze" Hockley has passed away (54)
more...
Latest Forum Threads
  • GG Best mouse in 2025 (5)
  • Q3 Quake3 Remake (51)
  • Q1 Elon Musk says he was among the best Quake players worldwide (123)
  • QL WHAT YEAR IS IT (8)
  • QL RECOVER DELETED ACCOUNT (0)
more...
Latest Journals
  • 2z faye (27) by stpbozin
  • we meat again (1159) by aggnog
  • Quake Live, the greatest esports game ever made? (5) by vr_and_games
  • Why this game sucks to hard? (29) by The_Sh33p
  • Mars died as his temple burned. No new gods of war exist. (57) by ShadyVoltaire
more...
Hot Topics
more...
ESR Virtual Betting
Lamur
E$ 238,131
  • E$ 176,304 Italy omek
  • E$ 129,238 Sweden fazz
  • E$ 61,723 shaftwhores only by [EXE]dann lithz
  • E$ 58,635 Colour: black nsx0r
  • E$ 57,658 United States of America nk121

  • Betting Leaderboard
  • Open Betting Fixtures

New Q3 thread
Forums > Quake 3 Forum
Quake III Source Code Review (6 comments)
( Forum: Q3)
Posted by fau @ 05:10 CDT, 1 July 2012 - iMsg
By Fabien Sanglard

http://fabiensanglard.net/quake3/index.php
7265 Hits
4%

<< prev Q3 thread || next Q3 thread >>


<< Comment #1 @ 14:05 CDT, 5 July 2012 >>
(Link, Reply)
By US-Pennsylvania judge717 
I read the network part a couple days ago.

If two people are playing on a server, playerA has 150ms ping and playerB has 25ms ping, does it take 150ms for playerA to notify the server of any location/health changes, then another 25ms for the server to notify playerB of those changes? Meaning any status changes from playerA take ~175ms to take effect on playerB's screen?

My point is that if someone with a 100ms+ ping plays against a low ping player, there is a disadvantage to both players?
<< Comment #2 @ 15:33 CDT, 5 July 2012 >>
(Link, Reply)
By Poland fau  - Reply to #1
No, the real changes take place on the server and this is what counts when evaluating game physics. So
When player A presses a key to dodge it takes 75ms before he actually moves (even though on his comp it looks like he moves instantly). Player B notices it only 12.5 ms after it happened on server so he can quickly react.
<< Comment #3 @ 13:00 CDT, 6 July 2012 >>
(Link, Reply)
By Canada FlashSoul  - Reply to #2
We can add that it's not 12.5 ms + 75 ms after A pressed it's key. It's 75 ms+"delay between packet reception and next frame calculation"+12.5 ms.

At 40 fps (QL's servers standard. It can vary on Q3. Just do 1000/sv_fps), you get a new frame every 25 ms. That's the server's "built-in" lag. So the information could be received by B between 87.5 ms and 112,5 ms.
You must also add :
- The delay between the keypress and the next packet sent by A. I think it is done every time a frame is rendered unless cl_maxpackets isn't the same as the framerate. I'm not sure how it's done in that case.
- The delay between the packet reception by B and his next frame rendition.
Edited by FlashSoul at 13:02 CDT, 6 July 2012
1%
<< Comment #5 @ 20:03 CDT, 6 July 2012 >>
(Link, Reply)
By Poland fau  - Reply to #3
- The delay between the keypress and the next packet sent by A. I think it is done every time a frame is rendered unless cl_maxpackets isn't the same as the framerate. I'm not sure how it's done in that case.
No it's done "snaps" value per second and no more than server fps. this isn't writeable cvar anymore since sv_fps got standarized in ql and every client is runing on snaps 40.
Edited by fau at 20:03 CDT, 6 July 2012
1%
<< Comment #4 @ 15:59 CDT, 6 July 2012 >>
(Link, Reply)
By United Kingdom AnthonyJ  - Reply to #1
To clarify what has already been said:
- the server notifies all clients of location/health changes
- clients can simply ask to move/fire, and the server will do what it is asked when it gets that information (assuming still valid)

So the person disadvantaged is only the high ping player because it takes a while for them to find out about everyone else's changes, and it takes a while for changes they try to make to be applied.

Health / damage / collisions is always done by the server, so there is no issue with delay of that coming from clients.

The other minor mistake you made is that ping is the time for a round trip (to server and back), so that is why the other two replies deal with ping/2
1%
<< Comment #6 @ 20:34 CDT, 13 July 2012 >>
(Link, Reply)
By US-Pennsylvania judge717  - Reply to #4
Ahh duh. Dumb overlook on my part on ping. I see what you are saying though. Thanks all for clarifying.

Q4max was badass. You are a legend.

Or if you already have an account:
 
Read the Posting Guidelines

Non-HTML tags: [b]bold[/b], [i]italics[/i], [u]underlined[/u]
[small]small[/small], [q]quoted[/q], [s]strikethrough[/s]
[url=www.url.com]link[/url] or type www.url.com
[flag=country] (list), [avatar=name] (list)
[map=mapname gamename] (list)
Conceived and created by Sujoy Roy (Legal Notices)
RSS Feed Information, Link Buttons and Banners